
    :root {
      --brand:#0b5cab;
      --brand-dark:#083d74;
      --ink:#0f172a;
      --muted:#475569;
      --line:#dbe3ef;
      --bg:#f4f8fc;
      --card:#ffffff;
      --soft:#f8fbff;
      --accent:#eaf3ff;
      --ok:#0b8a5b;
      --warn:#b45309;
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      font-family:Arial, Helvetica, sans-serif;
      color:var(--ink);
      background:var(--bg);
      line-height:1.75;
    }
    .wrap {
      max-width:1120px;
      margin:0 auto;
      padding:40px 20px 72px;
    }
    .hero {
      background:linear-gradient(135deg,#0b5cab 0%,#083d74 100%);
      color:#fff;
      border-radius:24px;
      padding:40px 34px;
      box-shadow:0 20px 50px rgba(11,92,171,.18);
    }
    .eyebrow {
      display:inline-block;
      font-size:13px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.08em;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.18);
      border-radius:999px;
      padding:8px 12px;
      margin-bottom:18px;
    }
    h1,h2,h3 { line-height:1.25; }
    h1 { font-size:40px; margin:0 0 14px; }
    h2 { font-size:30px; margin:0 0 14px; color:var(--brand-dark); scroll-margin-top:90px; }
    h3 { font-size:22px; margin:26px 0 12px; color:var(--brand); scroll-margin-top:90px; }
    p { margin:14px 0; font-size:17px; }
    .hero p { color:#e8f1fb; max-width:920px; margin-bottom:0; }
    .meta-grid {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:14px;
      margin-top:22px;
    }
    .meta-card {
      background:rgba(255,255,255,.11);
      border:1px solid rgba(255,255,255,.16);
      border-radius:16px;
      padding:16px 18px;
    }
    .meta-card strong { display:block; font-size:14px; text-transform:uppercase; letter-spacing:.05em; opacity:.88; margin-bottom:6px; }
    .section { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:30px 28px; margin-top:24px; box-shadow:0 8px 24px rgba(15,23,42,.04); }
    .toc { background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:22px 24px; }
    .toc-title { font-size:15px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--brand-dark); margin:0 0 10px; }
    .toc ul { margin:0; padding-left:20px; }
    .toc li { margin:8px 0; }
    .toc a { color:var(--brand); text-decoration:none; }
    .toc a:hover { text-decoration:underline; }
    a { color:var(--brand); text-decoration:underline; text-decoration-thickness:1.2px; text-underline-offset:2px; }
    .keypoints {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:16px;
      margin-top:18px;
    }
    .keypoint {
      background:var(--soft);
      border:1px solid var(--line);
      border-radius:16px;
      padding:18px;
    }
    .keypoint strong { display:block; color:var(--brand-dark); margin-bottom:6px; font-size:17px; }
    .note {
      border-left:4px solid var(--brand);
      background:var(--accent);
      padding:16px 18px;
      border-radius:0 14px 14px 0;
      margin:16px 0;
    }
    .warn { border-left-color:var(--warn); background:#fff7ed; }
    .img-card { margin:24px 0 6px; }
    .img-card img { width:100%; border-radius:18px; border:1px solid var(--line); display:block; background:#fff; }
    .img-card figcaption { color:var(--muted); font-size:14px; margin-top:10px; }
    ul.checklist { padding-left:22px; }
    ul.checklist li { margin:10px 0; }
    table { width:100%; border-collapse:collapse; margin-top:16px; font-size:15px; }
    th, td { border:1px solid var(--line); padding:12px 10px; vertical-align:top; }
    th { background:#edf5ff; color:var(--brand-dark); text-align:left; }
    .cta {
      margin-top:22px;
      padding:20px;
      background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%);
      border:1px solid #bfd6f5;
      border-radius:18px;
    }
    .cta strong { display:block; font-size:18px; color:var(--brand-dark); margin-bottom:8px; }
    .faq-item + .faq-item { margin-top:16px; padding-top:16px; border-top:1px solid var(--line); }
    .faq-item h3 { margin-top:0; margin-bottom:8px; font-size:20px; }
    .ref-list a { word-break:break-word; }
    .small { font-size:14px; color:var(--muted); }
    @media (max-width: 860px) {
      h1 { font-size:32px; }
      h2 { font-size:26px; }
      .meta-grid, .keypoints { grid-template-columns:1fr; }
      .section { padding:24px 18px; }
      table { display:block; overflow-x:auto; white-space:nowrap; }
    }
  