
  :root{
    --paper:#F5F6F3;
    --ink:#1D2A32;
    --stone:#66746D;
    --grid:#D3D8D2;
    --edge:#B22A23;
    --measure:34rem;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:Archivo,"Helvetica Neue",Arial,sans-serif;
    font-size:17px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:46rem;margin:0 auto;padding:2.25rem 1.5rem 5rem}
  a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
  a:hover{text-decoration-color:var(--edge)}
  :focus-visible{outline:2px solid var(--edge);outline-offset:2px}

  .mast{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
    padding-bottom:.9rem;border-bottom:1px solid var(--grid);margin-bottom:3rem}
  .mark{font-family:Newsreader,Georgia,serif;font-size:1.35rem;letter-spacing:-.01em}
  .mast p{margin:0;font-size:.9rem;color:var(--stone)}

  h1{font-family:Newsreader,Georgia,serif;font-weight:400;font-size:clamp(2.1rem,6vw,3.1rem);
    line-height:1.08;letter-spacing:-.02em;margin:0 0 .7rem;max-width:26rem}
  .lede{margin:0 0 2.5rem;max-width:var(--measure);color:var(--stone);font-size:1.05rem}

  .setup{display:grid;gap:1.25rem 1.75rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));
    margin-bottom:2.5rem}
  .field{display:flex;flex-direction:column;gap:.35rem}
  .field label{font-size:.86rem;color:var(--stone)}
  .field input,.field select{
    font:inherit;color:var(--ink);background:transparent;
    border:0;border-bottom:1.5px solid var(--ink);border-radius:0;
    padding:.3rem .1rem;width:100%;
  }
  .field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
    background-position:calc(100% - 9px) 55%,calc(100% - 4px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:1.2rem}
  .toggles{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin:-.75rem 0 2.75rem}
  .toggle{display:flex;align-items:center;gap:.5rem;font-size:.95rem}
  .toggle input{accent-color:var(--edge);width:1.05rem;height:1.05rem}

  .schedule{border-left:3px solid var(--edge);padding:.25rem 0 .25rem 1.5rem;margin:0 0 1.25rem}
  .row{display:flex;align-items:baseline;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--grid)}
  .row .name{flex:1 1 auto;min-width:0}
  .row .note{display:block;font-size:.8rem;color:var(--stone)}
  .row .amt{flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;min-width:6.5rem}
  .row .amt input{font:inherit;width:6.5rem;text-align:right;background:transparent;color:var(--ink);
    border:0;border-bottom:1px dashed var(--stone);padding:.1rem 0;font-variant-numeric:tabular-nums}
  .row.off{opacity:.42}
  .row.sum{border-bottom:0;padding-top:1.4rem;align-items:baseline}
  .row.sum .name{font-family:Newsreader,Georgia,serif;font-size:1.35rem}
  .row.sum .amt{font-family:Newsreader,Georgia,serif;font-size:clamp(2rem,7vw,2.9rem);
    line-height:1;letter-spacing:-.02em;min-width:8rem}
  .caveat{max-width:var(--measure);font-size:.86rem;color:var(--stone);margin:0 0 3.5rem}

  h2{font-family:Newsreader,Georgia,serif;font-weight:400;font-size:1.6rem;letter-spacing:-.01em;
    margin:0 0 .6rem}
  section{max-width:var(--measure);margin-bottom:2.75rem}
  section p{margin:0 0 .9rem}
  hr{border:0;border-top:1px solid var(--grid);margin:3.25rem 0}
  footer{max-width:var(--measure);font-size:.84rem;color:var(--stone)}
  footer p{margin:0 0 .6rem}
  @media (prefers-reduced-motion:no-preference){
    .row.sum .amt{transition:color .18s ease}
  }
