:root{
    --paper:#FCFCFB;
    --panel:#F4F4F1;
    --ink:#1B1C1E;
    --ink-soft:#43454A;
    --muted:#74777C;
    --rule:#E0E0DC;
    --accent:#8E2C36;
    --accent-soft:#B6636B;
    --serif:"Source Serif 4","Iowan Old Style","Charter",Georgia,serif;
    --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --paper:#141416;
      --panel:#1D1E21;
      --ink:#EBEBE8;
      --ink-soft:#BFC1C4;
      --muted:#8E9196;
      --rule:#2E2F33;
      --accent:#D9767F;
      --accent-soft:#B6636B;
    }
  }
  :root[data-theme="dark"]{
    --paper:#141416;--panel:#1D1E21;--ink:#EBEBE8;--ink-soft:#BFC1C4;
    --muted:#8E9196;--rule:#2E2F33;--accent:#D9767F;--accent-soft:#B6636B;
  }

  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:var(--serif);font-size:18px;line-height:1.7;
    font-optical-sizing:auto;-webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:860px;margin:0 auto;padding:0 28px}
  .narrow{max-width:66ch}

  /* hero */
  .hero{padding:76px 0 8px}
  .hero-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:46px;align-items:start}
  h1{
    font-family:var(--serif);font-weight:700;
    font-size:clamp(2.3rem,6vw,3.5rem);line-height:1.06;letter-spacing:-.018em;
    margin:0 0 20px;max-width:18ch;
  }
  .standfirst{font-size:1.14rem;line-height:1.62;color:var(--ink-soft);margin:0 0 18px}
  .byline{font-size:.96rem;color:var(--muted);line-height:1.6;margin:0}

  /* receipt panel */
  .stack{background:var(--panel);border:1px solid var(--rule);padding:22px 22px 18px}
  .stack h2{font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--muted);margin:0 0 4px}
  .stack .was{font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);margin:0 0 16px;line-height:1.5}
  .row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:4px 0;
       font-family:var(--sans);font-size:.9rem;font-variant-numeric:tabular-nums}
  .row span:first-child{color:var(--ink-soft)}
  .row span:last-child{font-weight:500}
  .row.total{border-top:2px solid var(--accent);margin-top:9px;padding-top:11px}
  .row.total span:first-child{color:var(--ink);font-weight:600}
  .row.total span:last-child{font-family:var(--serif);font-size:1.75rem;font-weight:700;line-height:1;letter-spacing:-.01em}
  .stack .note{font-family:var(--sans);font-size:.8rem;color:var(--muted);margin:14px 0 0;line-height:1.5}

  /* sections */
  section{padding:56px 0 0}
  section:last-of-type{padding-bottom:40px}
  h2.sec{font-weight:600;font-size:clamp(1.5rem,3.6vw,2.05rem);line-height:1.18;
         margin:0 0 18px;letter-spacing:-.012em}
  h3{font-size:1.05rem;font-weight:600;margin:32px 0 8px}
  p{margin:0 0 18px}
  .lead{font-size:1.1rem}
  ul{margin:0 0 18px;padding-left:1.15em}
  li{margin-bottom:10px}
  li::marker{color:var(--accent)}
  b,strong{font-weight:600}
  code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84em;
       background:rgba(142,44,54,.09);padding:1px 5px;border-radius:2px}

  .formula{border-left:2px solid var(--accent);padding:2px 0 2px 20px;margin:26px 0 28px;
           font-family:var(--sans);font-variant-numeric:tabular-nums}
  .formula div{font-size:.94rem;line-height:1.95}
  .formula .hint{color:var(--muted);font-size:.86rem;padding-top:6px}

  /* tables */
  .scroll{overflow-x:auto;margin:24px 0 28px;-webkit-overflow-scrolling:touch}
  table{border-collapse:collapse;width:100%;min-width:430px;font-family:var(--sans);font-size:.88rem;line-height:1.5}
  th{text-align:left;font-weight:600;font-size:.76rem;color:var(--muted);
     padding:0 16px 8px 0;border-bottom:2px solid var(--accent);white-space:nowrap}
  td{padding:9px 16px 9px 0;border-bottom:1px solid var(--rule);vertical-align:top}
  td:last-child,th:last-child{padding-right:0}
  .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
  tbody tr:last-child td{border-bottom:none}
  caption{caption-side:bottom;text-align:left;font-family:var(--sans);font-size:.83rem;
          color:var(--muted);padding-top:12px;line-height:1.55}

  /* defects */
  .defect{border-top:1px solid var(--rule);padding:26px 0 2px;display:grid;
          grid-template-columns:54px 1fr;gap:0 18px}
  .defect:first-of-type{border-top:2px solid var(--accent)}
  .defect .n{font-family:var(--sans);font-size:1.5rem;font-weight:700;color:var(--accent);
             line-height:1.3;font-variant-numeric:tabular-nums}
  .defect h3{margin:0 0 10px;font-size:1.15rem;line-height:1.35}
  .defect p{margin:0 0 13px;font-size:1rem}
  .tag{font-weight:600;color:var(--ink)}

  .callout{background:var(--panel);border-left:2px solid var(--accent);padding:22px 24px;margin:30px 0}
  .callout h3{margin:0 0 10px}
  .callout p:last-child{margin-bottom:0}

  footer{border-top:1px solid var(--rule);margin-top:44px;padding:28px 0 56px;
         font-family:var(--sans);font-size:.9rem;color:var(--muted);line-height:1.6}
  footer .name{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--ink);margin:0 0 6px}

  @media (max-width:700px){
    body{font-size:17px}
    .wrap{padding:0 20px}
    .hero{padding:44px 0 0}
    .hero-grid{grid-template-columns:1fr;gap:30px}
    .defect{grid-template-columns:1fr;gap:4px}
    .defect .n{font-size:1.1rem}
  }
