:root{
    --ink:#132a2e;
    --paper:#f6f5f1;
    --panel:#ffffff;
    --line:#dcd9d0;
    --teal:#0f5e56;
    --teal-deep:#0a3d38;
    --amber:#c8722c;
    --muted:#6b6f6e;
    --tax-red:#a6432f;
    --net-green:#0f5e56;
    --radius:10px;
    font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);}
  body{line-height:1.5;}
  .wrap{max-width:920px;margin:0 auto;padding:0 20px;}

  /* ad slots */
  .ad-slot{
    max-width:920px;margin:18px auto;padding:10px;
    border:1px dashed var(--line);border-radius:8px;
    text-align:center;color:var(--muted);font-size:12px;
    letter-spacing:.04em;text-transform:uppercase;
  }

  header.site{padding:28px 0 6px;}
  .brand{display:flex;align-items:baseline;gap:10px;}
  .brand-mark{
    width:30px;height:30px;border-radius:7px;background:var(--teal-deep);
    display:inline-flex;align-items:center;justify-content:center;
    color:#fff;font-weight:700;font-size:14px;flex:0 0 auto;
  }
  h1{font-size:clamp(26px,4vw,34px);margin:14px 0 6px;letter-spacing:-0.01em;}
  .sub{color:var(--muted);font-size:15px;max-width:60ch;margin:0 0 22px;}

  .tool{
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    padding:24px;margin-bottom:8px;
  }

  .state-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
  .state-tab{
    border:1px solid var(--line);background:var(--paper);color:var(--ink);
    padding:13px 18px;border-radius:999px;font-size:15px;font-weight:600;
    cursor:pointer;transition:all .15s ease;
  }
  .state-tab.active{background:var(--teal-deep);border-color:var(--teal-deep);color:#fff;}
  .state-tab:hover:not(.active){border-color:var(--teal);}

  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:560px){.form-grid{grid-template-columns:1fr;}}

  .field label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em;}
  .field input,.field select{
    width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:8px;
    font-size:16px;background:#fff;color:var(--ink);font-variant-numeric:tabular-nums;
  }
  .field input:focus,.field select:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);}

  .calc-btn{
    margin-top:20px;width:100%;padding:14px;border:none;border-radius:8px;
    background:var(--teal-deep);color:#fff;font-size:16px;font-weight:700;
    cursor:pointer;letter-spacing:.01em;
  }
  .calc-btn:hover{background:var(--teal);}

  .results{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:none;}
  .results.show{display:block;}

  .headline{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:18px;}
  .headline .big{font-size:clamp(30px,5vw,42px);font-weight:800;color:var(--net-green);font-variant-numeric:tabular-nums;letter-spacing:-0.02em;}
  .headline .label{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;}
  .headline .period{font-size:14px;color:var(--muted);}

  .bar{height:34px;border-radius:6px;overflow:hidden;display:flex;margin-bottom:8px;border:1px solid var(--line);}
  .bar div{height:100%;}
  .bar .b-net{background:var(--net-green);}
  .bar .b-fed{background:var(--tax-red);}
  .bar .b-fica{background:#c99a4a;}
  .bar .b-state{background:#7a5a9e;}
  .bar-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:22px;}
  .bar-legend span{display:inline-flex;align-items:center;gap:6px;}
  .swatch{width:10px;height:10px;border-radius:2px;display:inline-block;}

  table.breakdown{width:100%;border-collapse:collapse;font-size:14.5px;}
  table.breakdown td{padding:9px 4px;border-bottom:1px solid var(--line);}
  table.breakdown td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;}
  table.breakdown tr.total td{border-top:2px solid var(--ink);border-bottom:none;font-weight:800;padding-top:12px;}

  .disclaimer{font-size:12.5px;color:var(--muted);margin-top:18px;line-height:1.5;}

  .state-note{
    background:#f0ede4;border-left:3px solid var(--amber);padding:10px 14px;
    font-size:13.5px;border-radius:0 6px 6px 0;margin-bottom:18px;color:var(--ink);
  }

  .info-section{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);}
  .info-section h2{font-size:19px;margin-bottom:10px;}
  .info-section p{font-size:14.5px;color:#3d4544;max-width:70ch;}

  .faq-item{margin-bottom:16px;}
  .faq-q{font-size:15px;font-weight:700;margin:0 0 4px;color:var(--ink);}
  .faq-a{font-size:14px;color:#3d4544;margin:0;line-height:1.6;}

  footer{text-align:center;color:var(--muted);font-size:12.5px;padding:34px 0 40px;}