    :root{
      --text:#1a1a1a;
      --muted:#666;
      --accent:#111;
      --rule:#e6e6e6;
      --link:#0a66c2;
      --bg:#fff;
      --maxw: 1020px;
    }
    @media (prefers-color-scheme: dark){
      :root{
        --text:#f2f2f2;
        --muted:#bdbdbd;
        --accent:#fff;
        --rule:#2c2c2c;
        --bg:#0b0b0b;
        --link:#6aa9ff;
      }
    }
    html{ box-sizing:border-box; }
    *,*::before,*::after{ box-sizing:inherit; }
    body{
      margin:0;
      color:var(--text);
      background:var(--bg);
      font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Inter,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",sans-serif;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }
    .wrap{ max-width:var(--maxw); margin:40px auto 120px; padding:0 24px; }
    header{ margin:12px 0 28px; }
    h1{
      font-size:clamp(26px,4vw,42px);
      line-height:1.15;
      letter-spacing:.02em;
      font-weight:700;
      color:var(--accent);
      margin:0 0 8px;
      text-transform:uppercase;
    }
    .subtitle{ color:var(--muted); font-size:clamp(14px,1.7vw,16px); margin:0 0 6px; }
    hr{ border:0; height:1px; background:var(--rule); margin:18px 0 36px; }
    h2{ font-size:clamp(18px,2.4vw,24px); line-height:1.3; margin:34px 0 10px; font-weight:700; letter-spacing:.01em; }
    p{ margin:0 0 10px; text-align:justify; }
    p.lead{ font-size:18px; margin-bottom:16px; }
    .def-list,.dash-list{ margin:0 0 6px 0; padding:0; list-style:none; }
    .def-list li,.dash-list li{ margin:8px 0; padding-left:28px; position:relative; text-align:justify; }
    .def-list{ counter-reset:item; }
    .def-list li::before{ content:counter(item) ". "; counter-increment:item; position:absolute; left:0; color:var(--muted); font-weight:600; }
    .dash-list li::before{ content:"–"; position:absolute; left:0; color:var(--muted); font-weight:700; }
    a{ color:var(--link); text-decoration-thickness:.08em; text-underline-offset:2px; }
    .muted{ color:var(--muted); }
    @media print{
      .wrap{ margin:0; padding:0 6mm; }
      a{ color:#000; text-decoration:none; }
    }