
    :root { --brand:#0b5cab; --brand-dark:#083d74; --ink:#0f172a; --muted:#475569; --line:#dbe3ef; --bg:#f4f8fc; --card:#ffffff; --soft:#f8fbff; --accent:#eaf3ff; --ok:#0b8a5b; --shadow:0 16px 40px rgba(15,23,42,.08); --radius:22px; --max:1120px; }
    * { box-sizing:border-box; } html { scroll-behavior:smooth; }
    body { margin:0; font-family:Arial, Helvetica, sans-serif; color:var(--ink); background:linear-gradient(180deg,#f6f9fd 0%,#eef4fb 100%); line-height:1.72; }
    a { color:var(--brand); text-decoration:none; } a:hover { text-decoration:underline; }
    .wrap { max-width:var(--max); margin:0 auto; padding:0 20px 72px; }
    .hero { margin:28px auto 24px; padding:42px; border-radius:32px; background:linear-gradient(135deg,#083d74 0%,#0b5cab 55%,#1d4ed8 100%); color:#fff; box-shadow:var(--shadow); position:relative; overflow:hidden; }
    .hero::after { content:""; position:absolute; right:-120px; top:-90px; width:340px; height:340px; background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 70%); }
    .eyebrow { font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.9; }
    h1 { font-size:40px; line-height:1.18; margin:14px 0 16px; max-width:900px; } .hero p { max-width:860px; margin:0; color:#eaf3ff; font-size:18px; }
    .meta-grid { margin-top:22px; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
    .meta-card { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); border-radius:18px; padding:14px 16px; }
    .meta-card strong { display:block; font-size:12px; letter-spacing:.08em; text-transform:uppercase; opacity:.9; margin-bottom:5px; }
    .missing { background:#fff7ed; border:1px solid #fed7aa; color:#7c2d12; border-radius:20px; padding:18px 20px; box-shadow:0 10px 28px rgba(124,45,18,.06); margin:6px 0 22px; }
    .missing h2 { color:#9a3412; margin:0 0 8px; font-size:22px; } .missing p { margin:0; }
    .toc,.section { background:var(--card); border:1px solid rgba(219,227,239,.9); border-radius:28px; box-shadow:var(--shadow); }
    .toc { padding:24px 26px; margin-bottom:26px; } .section { padding:34px 34px 30px; margin:0 0 26px; }
    h2 { font-size:32px; line-height:1.2; margin:0 0 14px; color:var(--brand-dark); } h3 { font-size:23px; line-height:1.35; margin:26px 0 10px; color:#0f2f57; }
    p { margin:0 0 16px; font-size:17px; } .lede { font-size:19px; color:#1e293b; }
    .toc ol { margin:0; padding-left:20px; } .toc li { margin:8px 0; color:var(--muted); }
    .callout { background:var(--soft); border-left:5px solid var(--brand); border-radius:18px; padding:18px; margin:18px 0 20px; }
    .grid-2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; margin:18px 0 6px; }
    .card { background:var(--soft); border:1px solid var(--line); border-radius:20px; padding:20px; } .card h3 { margin-top:0; }
    .spec-table,.check-table { width:100%; border-collapse:collapse; margin:16px 0 20px; font-size:15px; overflow:hidden; border-radius:16px; }
    .spec-table th,.spec-table td,.check-table th,.check-table td { border:1px solid var(--line); padding:12px; vertical-align:top; }
    .spec-table th,.check-table th { background:var(--accent); color:var(--brand-dark); text-align:left; } .check-table td:first-child { width:22%; font-weight:700; color:#0f2f57; }
    ul,ol { padding-left:22px; } li { margin:8px 0; }
    .figure { margin:24px 0 18px; } .figure img { width:100%; height:auto; display:block; border-radius:24px; border:1px solid var(--line); box-shadow:var(--shadow); background:#fff; } .figure figcaption { margin-top:10px; color:var(--muted); font-size:14px; }
    .cta { background:linear-gradient(135deg,#eaf3ff 0%,#f8fbff 100%); border:1px solid #bfdbfe; border-radius:24px; padding:24px; margin:24px 0 10px; }
    .btn-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; } .btn { display:inline-block; padding:12px 18px; border-radius:999px; font-weight:700; text-decoration:none; border:1px solid transparent; } .btn-primary { background:var(--brand); color:#fff; } .btn-secondary { background:#fff; color:var(--brand); border-color:#bfdbfe; }
    .faq { border-top:1px solid var(--line); margin-top:8px; padding-top:10px; } .faq-item { padding:14px 0; border-bottom:1px solid #e9eef6; } .faq-item h3 { margin:0 0 8px; font-size:20px; }
    .refs,.footer-note { font-size:14px; color:var(--muted); }
    @media (max-width:760px) { .hero { padding:30px 24px; border-radius:24px; } h1 { font-size:32px; } h2 { font-size:28px; } .section { padding:26px 20px 24px; border-radius:22px; } }
  