:root {
      --ink: #17201d;
      --charcoal: #252d2b;
      --muted: #5f6c68;
      --soft: #e9efed;
      --line: #cfd8d5;
      --paper: #f5f7f6;
      --surface: #ffffff;
      --green: #086c5d;
      --green-dark: #064f45;
      --green-wash: #e4f1ed;
      --gold: #b57a17;
      --gold-dark: #78500c;
      --gold-wash: #fff4d8;
      --blue: #315c73;
      --blue-wash: #e8f0f4;
      --max: 1240px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: Inter, Arial, "Noto Sans", sans-serif;
      font-size: 16px;
      line-height: 1.65;
      letter-spacing: 0;
    }
    a { color: var(--green-dark); }
    a:focus-visible,
    summary:focus-visible {
      outline: 3px solid rgba(181, 122, 23, 0.55);
      outline-offset: 3px;
    }
    .page-shell { max-width: var(--max); margin: 0 auto; padding: 0 28px 84px; }
    .site-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      min-height: 86px;
      border-bottom: 1px solid var(--line);
    }
    .brand-lockup { display: flex; align-items: center; gap: 18px; min-width: 0; }
    .brand-home { display: flex; align-items: center; color: inherit; text-decoration: none; }
    .si-logo { width: 230px; height: auto; flex: 0 0 auto; }
    .product-tag {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding-left: 18px;
      border-left: 1px solid var(--line);
      color: var(--green-dark);
      font-size: 14px;
      font-weight: 800;
      white-space: nowrap;
    }
    .product-tag img { width: 26px; height: 24px; object-fit: contain; }
    .edition {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      text-align: right;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.7fr);
      gap: 56px;
      padding: 66px 0 50px;
      border-bottom: 4px solid var(--ink);
    }
    .eyebrow {
      margin: 0 0 10px;
      color: var(--green);
      font-size: 13px;
      font-weight: 800;
      text-transform: uppercase;
    }
    h1 {
      max-width: 820px;
      margin: 0;
      font-size: 54px;
      line-height: 1.08;
      font-weight: 800;
    }
    .lede {
      max-width: 810px;
      margin: 20px 0 0;
      color: var(--muted);
      font-size: 20px;
      line-height: 1.55;
    }
    .hero-meta {
      align-self: end;
      padding: 22px 0 3px 24px;
      border-left: 3px solid var(--gold);
    }
    .hero-meta dl { margin: 0; }
    .hero-meta div + div { margin-top: 15px; }
    .hero-meta dt {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
    }
    .hero-meta dd { margin: 2px 0 0; font-weight: 750; }


    .toc {
      position: sticky;
      top: 0;
      z-index: 10;
      display: flex;
      flex-wrap: wrap;
      gap: 6px 20px;
      padding: 15px 0;
      border-bottom: 1px solid var(--line);
      background: rgba(245, 247, 246, 0.97);
    }
    .toc a {
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
    }
    .toc a:hover { color: var(--green-dark); text-decoration: underline; }

    main section { padding: 46px 0 16px; scroll-margin-top: 58px; }
    main section + section { border-top: 1px solid var(--line); }
    h2 { margin: 0 0 15px; font-size: 31px; line-height: 1.22; }
    h3 { margin: 28px 0 8px; font-size: 20px; line-height: 1.35; }
    p { max-width: 920px; margin: 10px 0; }
    ul { max-width: 940px; padding-left: 22px; }
    li + li { margin-top: 7px; }
    code {
      font-family: "SFMono-Regular", Consolas, monospace;
      font-size: 0.92em;
    }

    .summary-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 12px;
      margin: 24px 0 28px;
    }
    .summary-item {
      min-height: 116px;
      padding: 17px;
      border: 1px solid var(--line);
      border-top: 4px solid var(--green);
      border-radius: 4px;
      background: var(--surface);
    }
    .summary-item strong { display: block; font-size: 28px; line-height: 1.1; }
    .summary-item span { display: block; margin-top: 8px; color: var(--muted); font-size: 13px; }

    .principles {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
      margin-top: 22px;
    }
    .principle {
      padding: 0 22px 0 0;
      border-right: 1px solid var(--line);
    }
    .principle:last-child { border-right: 0; }
    .principle b { display: block; margin-bottom: 5px; color: var(--green-dark); }
    .principle p { margin: 0; color: var(--muted); font-size: 14px; }

    .process {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 8px;
      margin-top: 25px;
    }
    .process div {
      min-height: 105px;
      padding: 14px;
      border-top: 3px solid var(--charcoal);
      background: var(--surface);
      color: var(--muted);
      font-size: 13px;
    }
    .process b { display: block; margin-bottom: 6px; color: var(--ink); }

    .split {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px;
      margin-top: 20px;
    }
    .band {
      padding: 20px;
      border-left: 4px solid var(--green);
      background: var(--green-wash);
    }
    .band.gold { border-left-color: var(--gold); background: var(--gold-wash); }
    .band.blue { border-left-color: var(--blue); background: var(--blue-wash); }
    .band h3 { margin-top: 0; }

    .table-wrap {
      width: 100%;
      margin-top: 20px;
      overflow-x: auto;
      border: 1px solid var(--line);
      background: var(--surface);
    }
    table { width: 100%; border-collapse: collapse; font-size: 14px; }
    th, td {
      padding: 13px 15px;
      border-bottom: 1px solid var(--line);
      text-align: left;
      vertical-align: top;
    }
    th { background: var(--soft); font-weight: 800; }
    tbody tr:last-child td { border-bottom: 0; }
    .weight { color: var(--green-dark); font-weight: 800; white-space: nowrap; }
    .nowrap { white-space: nowrap; }

    .formula {
      max-width: 1020px;
      margin: 18px 0;
      padding: 18px 20px;
      border-left: 4px solid var(--green);
      background: var(--green-wash);
      overflow-wrap: anywhere;
    }
    .formula code { color: var(--charcoal); }
    .formula-label {
      display: block;
      margin-bottom: 6px;
      color: var(--green-dark);
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
    }

    .weight-visual {
      display: grid;
      grid-template-columns: 3fr 1fr 1fr 3fr 1fr 1fr;
      min-height: 84px;
      margin: 24px 0;
      border: 1px solid var(--line);
      background: var(--surface);
    }
    .weight-visual div {
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-width: 0;
      padding: 10px;
      border-right: 1px solid rgba(255, 255, 255, 0.55);
      color: #fff;
      text-align: center;
    }
    .weight-visual div:last-child { border-right: 0; }
    .weight-visual strong { font-size: 18px; }
    .weight-visual span { margin-top: 2px; font-size: 11px; line-height: 1.25; overflow-wrap: anywhere; }
    .w-normalized { background: #086c5d; }
    .w-nonself { background: #315c73; }
    .w-h { background: #4d6961; }
    .w-d { background: #8b641e; }
    .w-lead { background: #3b5968; }
    .w-volume { background: #6f6150; }

    .definition-list {
      display: grid;
      grid-template-columns: 220px minmax(0, 1fr);
      max-width: 980px;
      margin-top: 20px;
      border-top: 1px solid var(--line);
    }
    .definition-list dt,
    .definition-list dd {
      margin: 0;
      padding: 15px 0;
      border-bottom: 1px solid var(--line);
    }
    .definition-list dt { padding-right: 22px; font-weight: 800; }
    .definition-list dd { color: var(--muted); }

    .callout {
      max-width: 1020px;
      margin: 22px 0;
      padding: 16px 18px;
      border-left: 4px solid var(--gold);
      background: var(--gold-wash);
    }
    .callout strong { color: var(--gold-dark); }

    .contact-strip {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
      margin-top: 24px;
      padding: 22px 24px;
      border: 1px solid var(--line);
      background: var(--surface);
    }
    .contact-strip p { margin: 0; }
    .contact-link {
      flex: 0 0 auto;
      padding: 10px 14px;
      border: 1px solid var(--green);
      color: var(--green-dark);
      font-weight: 800;
      text-decoration: none;
    }
    .contact-link:hover { background: var(--green-wash); }

    footer {
      margin-top: 56px;
      padding-top: 24px;
      border-top: 4px solid var(--ink);
      color: var(--muted);
      font-size: 13px;
    }
    footer strong { color: var(--ink); }

    @media (max-width: 980px) {
      .hero { grid-template-columns: 1fr; gap: 22px; }
      .hero-meta { align-self: start; max-width: 520px; }
      .summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .weight-visual { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .weight-visual div { min-height: 74px; }
    }

    @media (max-width: 680px) {
      .page-shell { padding: 0 14px 58px; }
      .site-header { align-items: flex-start; flex-direction: column; gap: 6px; padding: 16px 0; }
      .brand-lockup { width: 100%; justify-content: space-between; }
      .si-logo { width: 190px; }
      .product-tag { padding-left: 12px; font-size: 12px; }
      .edition { text-align: left; }
      .hero { padding: 42px 0 34px; }
      h1 { font-size: 38px; }
      .lede { font-size: 17px; }
      .toc { position: static; gap: 7px 14px; }
      main section { padding-top: 36px; }
      h2 { font-size: 26px; }
      .summary-grid, .principles, .process, .split { grid-template-columns: 1fr; }
      .principle { padding: 0 0 16px; border-right: 0; border-bottom: 1px solid var(--line); }
      .principle:last-child { border-bottom: 0; }
      .weight-visual { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .definition-list { grid-template-columns: 1fr; }
      .definition-list dt { padding-bottom: 2px; border-bottom: 0; }
      .definition-list dd { padding-top: 0; }
      .contact-strip { align-items: flex-start; flex-direction: column; }
      th, td { padding: 11px; }
    }

    @media print {
      body { background: #fff; }
      .page-shell { max-width: none; padding: 0; }
      .toc { display: none; }
      main section { break-inside: avoid; }
      .table-wrap { overflow: visible; }
      .weight-visual { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    }
