/* Source Serif 4: Google Fonts, SIL Open Font License or Apache 2.0; latin subset */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/source-serif-4-normal-400-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Public Sans: Google Fonts, SIL Open Font License or Apache 2.0; latin subset */
@font-face {
  font-family: 'Public Sans';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/public-sans-italic-400-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/public-sans-normal-400-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Reseller Taxes */
*,*::before,*::after{box-sizing:border-box}
:root{
  --bg:#f4f6f8; --ink:#13223a; --muted:#4b586b; --accent:#1e6b4e;
  --accent-ink:#18603f; --accent-soft:#e3f1e9; --tint:#edf0f4;
  --line:#d7dde5; --card:#ffffff;
  --maxw:66ch;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0a111e; --ink:#e7ebf2; --muted:#a2adbf; --accent:#55c18f;
    --accent-ink:#7fd4ab; --accent-soft:#10291f; --tint:#0d1626;
    --line:#223049; --card:#101a2b;
    color-scheme:dark;
  }
}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif; line-height:1.18; letter-spacing:-0.015em;
  text-transform:none; margin:0 0 .5em; font-weight:600}
h1{font-size:clamp(2rem,1.35rem + 2.4vw,3rem)}
h2{font-size:clamp(1.4rem,1.15rem + 1.1vw,1.85rem); margin-top:2.2em}
h3{font-size:1.15rem; margin-top:1.9em}
p,ul,ol,table{margin:0 0 1.1em}
a{color:var(--accent-ink); text-underline-offset:2px; text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent); outline-offset:2px; border-radius:2px}
img{max-width:100%; height:auto}
hr{border:0; border-top:1px solid var(--line); margin:2.5rem 0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.9em; background:var(--tint);
  padding:.12em .38em; border-radius:5px}
.wrap{max-width:1080px; margin:0 auto; padding:0 20px}
.prose{max-width:var(--maxw)}
.skip{position:absolute; left:-9999px; top:0; background:var(--accent); color:#fff;
  padding:.7rem 1rem; z-index:99; border-radius:0 0 5px 0}
.skip:focus{left:0}

/* header */
header.site{border-bottom:1px solid var(--line); background:var(--bg);
  position:sticky; top:0; z-index:20}
header.site .wrap{display:flex; align-items:center; gap:1.25rem;
  min-height:62px; flex-wrap:wrap}
.brand{font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif; font-weight:800; font-size:1.05rem; letter-spacing:-.02em;
  color:var(--ink); text-decoration:none; display:flex; align-items:center; gap:.55rem;
  margin-right:auto; padding:.4rem 0}
.brand .mk{width:22px; height:22px; flex:none}
nav.main{display:flex; gap:1.1rem; flex-wrap:wrap}
nav.main a{color:var(--muted); text-decoration:none; font-size:.94rem; padding:.4rem 0;
  border-bottom:2px solid transparent}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--accent)}

/* hero */
.hero{background:var(--bg);border-bottom:1px solid var(--line); --hero-fg:var(--ink);--hero-muted:var(--muted); padding:clamp(2.5rem,6vw,4.5rem) 0; color:var(--hero-fg)}
.hero h1{max-width:19ch; color:var(--hero-fg)}
.hero .lede{font-size:clamp(1.05rem,1rem + .4vw,1.28rem); max-width:56ch;
  color:var(--hero-muted); margin-bottom:1.6rem}
.kicker{font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.74rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent-ink); margin:0 0 .9rem; font-weight:600}
.hero .kicker{color:var(--hero-fg); opacity:.75}
.hero.underline h1{padding-bottom:.35em; border-bottom:6px solid var(--accent);
  display:inline-block; max-width:100%}
.hero.bar{padding-left:0}
.hero.bar .wrap{padding-left:34px}

/* buttons */
.btn{display:inline-block; background:var(--accent); color:#fff; padding:.72rem 1.25rem;
  border-radius:8px; text-decoration:none; font-weight:600; font-size:.97rem;
  border:1px solid transparent; cursor:pointer; font-family:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}
.btn:hover{filter:brightness(.93)}
.btn.ghost{background:transparent; color:var(--hero-fg); border-color:currentColor; opacity:.85}
.btn.ghost:hover{opacity:1; filter:none}
.btns{display:flex; gap:.7rem; flex-wrap:wrap}

/* layout */
main{padding:2.5rem 0 3.5rem}
.cols{display:grid; grid-template-columns:minmax(0,1fr); gap:2.5rem}
@media (min-width:900px){.cols{grid-template-columns:minmax(0,1fr) 270px; gap:3.5rem}}
.cards{display:grid; gap:1.1rem; grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  padding:0; list-style:none; margin:1.6rem 0}
.card{background:var(--card); border:1px solid var(--line); border-radius:8px;
  padding:1.15rem 1.2rem; display:flex; flex-direction:column; gap:.4rem}
.card h3{margin:0; font-size:1.05rem}
.card p{margin:0; color:var(--muted); font-size:.94rem}
.card a{text-decoration:none; color:var(--ink)}
.card a:hover{color:var(--accent-ink)}
.card .rt{font-size:.8rem; color:var(--muted); font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace}

/* prose furniture */
.prose h2{scroll-margin-top:80px}
.prose h3{scroll-margin-top:80px}
.prose li{margin-bottom:.4em}
.key{font-size:1.05rem; border-left:3px solid var(--accent); padding:.1rem 0 .1rem 1rem;
  margin:1.5rem 0; font-weight:500}
.note{background:var(--tint); border:1px solid var(--line); border-left:4px solid var(--accent);
  border-radius:0 8px 8px 0; padding:1rem 1.15rem; margin:1.6rem 0}
.note p{margin:0 0 .5em} .note p:last-child{margin:0}
.note-t{font-weight:700; font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif; font-size:.95rem}
.note.warn{border-left-color:#9c2b23}
blockquote{margin:1.6rem 0; padding-left:1.2rem; border-left:3px solid var(--line);
  color:var(--muted); font-style:italic}
.tw{overflow-x:auto; margin:1.6rem 0; border:1px solid var(--line); border-radius:8px}
table{border-collapse:collapse; width:100%; font-size:.93rem; margin:0}
caption{text-align:left; padding:.8rem 1rem .2rem; color:var(--muted); font-size:.86rem}
th,td{padding:.62rem .85rem; text-align:left; border-bottom:1px solid var(--line);
  vertical-align:top}
th{background:var(--tint); font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif; font-size:.86rem; letter-spacing:.01em}
tbody tr:last-child td{border-bottom:0}
ol.steps{list-style:none; counter-reset:s; padding:0; margin:1.6rem 0}
ol.steps li{counter-increment:s; position:relative; padding-left:3rem; margin-bottom:1.2rem}
ol.steps li::before{content:counter(s); position:absolute; left:0; top:0;
  width:2rem; height:2rem; border-radius:8px; background:var(--accent); color:#fff;
  display:grid; place-items:center; font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif; font-weight:700; font-size:.9rem}
ol.steps strong{display:block; font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif; margin-bottom:.15rem}
ol.steps span{color:var(--muted)}
.faq details{border-bottom:1px solid var(--line); padding:.9rem 0}
.faq summary{cursor:pointer; font-weight:600; font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif; list-style:none;
  display:flex; justify-content:space-between; gap:1rem; align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; color:var(--accent-ink); font-weight:700; flex:none}
.faq details[open] summary::after{content:"\2013"}
.faq details>div{padding-top:.6rem; color:var(--muted)}
.faq details>div p:last-child{margin:0}

/* breadcrumbs, meta, toc */
.crumbs{font-size:.85rem; color:var(--muted); margin:0 0 1.2rem}
.crumbs a{color:var(--muted)}
.crumbs span{padding:0 .4rem}
.pmeta{font-size:.86rem; color:var(--muted); font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace;
  margin:0 0 1.8rem; display:flex; gap:1rem; flex-wrap:wrap}
.toc{background:var(--tint); border-radius:8px; padding:1rem 1.2rem; margin:0 0 2rem;
  border:1px solid var(--line)}
.toc p{margin:0 0 .5rem; font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif; font-weight:700; font-size:.9rem}
.toc ol{margin:0; padding-left:1.1rem; font-size:.93rem}
.toc li{margin-bottom:.28em}
aside.rail{font-size:.93rem}
aside.rail h2{font-size:.82rem; text-transform:uppercase; letter-spacing:.1em;
  color:var(--muted); margin:0 0 .8rem; font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-weight:600}
aside.rail ul{list-style:none; padding:0; margin:0 0 2rem}
aside.rail li{margin-bottom:.6rem; line-height:1.4}
aside.rail a{text-decoration:none; color:var(--ink)}
aside.rail a:hover{color:var(--accent-ink); text-decoration:underline}
.rail-box{background:var(--tint); border:1px solid var(--line); border-radius:8px;
  padding:1rem 1.1rem; margin-bottom:2rem}
.rail-box p{margin:0 0 .7rem; font-size:.9rem; color:var(--muted)}
.rail-box .btn{width:100%; text-align:center; font-size:.9rem; padding:.6rem 1rem}

/* tool */
.tool{background:var(--card); border:1px solid var(--line); border-radius:8px;
  padding:1.4rem; margin:2rem 0}
.tool .grid{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.tool label{display:block; font-size:.85rem; font-weight:600; margin-bottom:.3rem;
  font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif}
.tool .hint{font-weight:400; color:var(--muted); font-size:.78rem; display:block}
.tool input,.tool select{width:100%; padding:.6rem .7rem; border:1px solid var(--line);
  border-radius:5px; background:var(--bg); color:var(--ink); font-size:1rem;
  font-family:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}
.tool input:focus,.tool select:focus{border-color:var(--accent)}
.out{margin-top:1.4rem; border-top:1px solid var(--line); padding-top:1.2rem}
.stats{display:grid; gap:.9rem; grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
  margin:0 0 1rem; padding:0; list-style:none}
.stat{background:var(--tint); border-radius:5px; padding:.8rem .9rem}
.stat dt{font-size:.76rem; text-transform:uppercase; letter-spacing:.07em;
  color:var(--muted); margin-bottom:.25rem; font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace}
.stat dd{margin:0; font-size:1.5rem; font-weight:700; font-family:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif;
  letter-spacing:-.02em; line-height:1.1}
.stat dd small{font-size:.85rem; font-weight:400; color:var(--muted); display:block;
  letter-spacing:0; margin-top:.15rem}
.verdict{font-size:1rem; padding:.85rem 1rem; border-radius:5px; background:var(--accent-soft);
  color:var(--ink); margin:0}
.tool table{font-size:.88rem}

/* mention + footer */
.mention{border:1px solid var(--line); border-left:4px solid var(--accent);
  background:var(--tint); border-radius:0 8px 8px 0; padding:1rem 1.2rem; margin:2rem 0;
  font-size:.95rem}
.mention p{margin:0}
.mention .lbl{font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); display:block; margin-bottom:.35rem}
footer.site{border-top:1px solid var(--line); background:var(--tint);
  padding:2.5rem 0; margin-top:3rem; font-size:.9rem; color:var(--muted)}
footer.site .fgrid{display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
footer.site h2{font-size:.8rem; text-transform:uppercase; letter-spacing:.1em;
  margin:0 0 .7rem; font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; color:var(--ink); font-weight:600}
footer.site ul{list-style:none; padding:0; margin:0}
footer.site li{margin-bottom:.45rem}
footer.site a{color:var(--muted); text-decoration:none}
footer.site a:hover{color:var(--accent-ink); text-decoration:underline}
.colophon{border-top:1px solid var(--line); margin-top:2rem; padding-top:1.5rem;
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.85rem}
@media print{header.site,footer.site,aside.rail,.btns{display:none}}

header.site{position:static; border-bottom:0; padding-top:1.6rem}
header.site .wrap{align-items:flex-end; padding-bottom:.9rem;
  border-bottom:1px solid var(--line)}
.brand{flex-direction:column; align-items:flex-start; gap:.1rem; font-size:1.3rem}
.brand-tag{font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.66rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted); font-weight:500}
nav.main a{border-bottom:0; font-size:.9rem}
nav.main a[aria-current="page"]{text-decoration:underline; text-underline-offset:4px;
  text-decoration-thickness:2px; text-decoration-color:var(--accent)}


ul.cards.idx{display:block; border-top:2px solid var(--ink); margin-top:1.2rem;
  counter-reset:idx}
ul.cards.idx .card{display:grid; grid-template-columns:2.6rem minmax(0,1fr) auto;
  gap:0 1rem; align-items:baseline; background:transparent; border:0;
  border-bottom:1px solid var(--line); border-radius:0; padding:1.05rem .2rem}
ul.cards.idx .card::before{content:counter(idx,decimal-leading-zero); counter-increment:idx;
  font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.85rem; color:var(--muted)}
ul.cards.idx .card h3{font-size:1.08rem; grid-column:2}
ul.cards.idx .card p{grid-column:2; margin-top:.2rem}
ul.cards.idx .card .rt{grid-column:3; grid-row:1; text-align:right; white-space:nowrap}
@media (max-width:640px){
  ul.cards.idx .card{grid-template-columns:2.2rem minmax(0,1fr)}
  ul.cards.idx .card .rt{grid-column:2; grid-row:auto; text-align:left; margin-top:.35rem}
}

.tool .grid > div.wide{grid-column:1/-1}
.tool textarea{width:100%; padding:.65rem .75rem; border:1px solid var(--line);
  border-radius:var(--rs,6px); background:var(--bg); color:var(--ink);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.95rem;
  line-height:1.55; resize:vertical}
.tool textarea:focus{border-color:var(--accent)}

/* ============ Reseller Taxes: the plain-language tax desk ============ */
:root{
  --serif:"Source Serif 4",ui-serif,Georgia,Cambria,"Times New Roman",serif;
  --sans:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.4,0,.6,1);
  --ink-2:#2d3b51; --on-accent:#ffffff; --accent-hi:#175a41;
  --warn:#9c2b23; --warn-soft:#fbf1ef; --warn-line:#ecc9c3;
  --field:#ffffff; --field-line:#a7b1bf; --rule:#13223a;
  --foot:#13223a; --foot-ink:#dde4ee; --foot-muted:#a9b5c6; --foot-line:rgba(255,255,255,.14);
  --shadow:0 1px 1px rgba(19,34,58,.04),0 12px 32px -20px rgba(19,34,58,.35);
  --sheet-art:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 312'%3E%3Crect x='.5' y='.5' width='359' height='311' rx='12' fill='%23ffffff' stroke='%23d6dce5'/%3E%3Crect x='28' y='30' width='132' height='10' rx='3' fill='%2313223a'/%3E%3Crect x='28' y='49' width='84' height='6' rx='3' fill='%23d3dae3'/%3E%3Cpath d='M28 74h304' stroke='%2313223a' stroke-width='2'/%3E%3Crect x='28.5' y='93.5' width='13' height='13' rx='2.5' fill='none' stroke='%2398a4b5'/%3E%3Crect x='54' y='97' width='118' height='6' rx='3' fill='%23d3dae3'/%3E%3Crect x='274' y='97' width='58' height='6' rx='3' fill='%2398a4b5'/%3E%3Cpath d='M28 117h304' stroke='%23e2e7ee' stroke-dasharray='3 3'/%3E%3Crect x='28.5' y='127.5' width='13' height='13' rx='2.5' fill='none' stroke='%2398a4b5'/%3E%3Crect x='54' y='131' width='92' height='6' rx='3' fill='%23d3dae3'/%3E%3Crect x='292' y='131' width='40' height='6' rx='3' fill='%2398a4b5'/%3E%3Cpath d='M28 151h304' stroke='%23e2e7ee' stroke-dasharray='3 3'/%3E%3Crect x='28.5' y='161.5' width='13' height='13' rx='2.5' fill='none' stroke='%2398a4b5'/%3E%3Crect x='54' y='165' width='136' height='6' rx='3' fill='%23d3dae3'/%3E%3Crect x='280' y='165' width='52' height='6' rx='3' fill='%2398a4b5'/%3E%3Cpath d='M28 185h304' stroke='%23e2e7ee' stroke-dasharray='3 3'/%3E%3Crect x='28.5' y='195.5' width='13' height='13' rx='2.5' fill='none' stroke='%2398a4b5'/%3E%3Crect x='54' y='199' width='104' height='6' rx='3' fill='%23d3dae3'/%3E%3Crect x='286' y='199' width='46' height='6' rx='3' fill='%2398a4b5'/%3E%3Cpath d='M28 219h304' stroke='%23e2e7ee' stroke-dasharray='3 3'/%3E%3Cpath d='M28 236h304' stroke='%2313223a' stroke-width='1.2'/%3E%3Crect x='54' y='247' width='96' height='7' rx='3' fill='%2313223a'/%3E%3Crect x='270' y='247' width='62' height='7' rx='3' fill='%2313223a'/%3E%3Crect x='54' y='274' width='74' height='7' rx='3' fill='%2313223a'/%3E%3Crect x='252' y='272' width='80' height='10' rx='3' fill='%231e6b4e'/%3E%3Cpath d='M252 290.5h80M252 294.5h80' stroke='%231e6b4e' stroke-width='1.5'/%3E%3C/svg%3E"); --mk-tile:#13223a;
  --i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3.2 1.4h5.4v5.4M8.4 1.6 1.6 8.4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); --i-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8.2' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M10 9v5' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='6.1' r='1.15'/%3E%3C/svg%3E"); --i-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 1a9 9 0 1 0 0 18 9 9 0 0 0 0-18zM8.95 5h2.1v7.1h-2.1zM10 13.2a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1 0-2.6z'/%3E%3C/svg%3E"); --i-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5' fill='none' stroke='%237a8699' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme:dark){:root{
  --ink-2:#c7d0dc; --on-accent:#04150d; --accent-hi:#6fd0a2;
  --warn:#f09a8b; --warn-soft:#241619; --warn-line:#4a2a2c;
  --field:#0b1424; --field-line:#3b4c69; --rule:#aeb9ca;
  --foot:#060b15; --foot-ink:#d7deea; --foot-muted:#8f9bb0; --foot-line:rgba(255,255,255,.09);
  --shadow:0 0 0 1px rgba(255,255,255,.015),0 18px 40px -26px rgba(0,0,0,.9);
  --sheet-art:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 312'%3E%3Crect x='.5' y='.5' width='359' height='311' rx='12' fill='%23111b2d' stroke='%2326344d'/%3E%3Crect x='28' y='30' width='132' height='10' rx='3' fill='%23e6eaf1'/%3E%3Crect x='28' y='49' width='84' height='6' rx='3' fill='%232c3a53'/%3E%3Cpath d='M28 74h304' stroke='%23e6eaf1' stroke-width='2'/%3E%3Crect x='28.5' y='93.5' width='13' height='13' rx='2.5' fill='none' stroke='%2363728a'/%3E%3Crect x='54' y='97' width='118' height='6' rx='3' fill='%232c3a53'/%3E%3Crect x='274' y='97' width='58' height='6' rx='3' fill='%2363728a'/%3E%3Cpath d='M28 117h304' stroke='%2322304a' stroke-dasharray='3 3'/%3E%3Crect x='28.5' y='127.5' width='13' height='13' rx='2.5' fill='none' stroke='%2363728a'/%3E%3Crect x='54' y='131' width='92' height='6' rx='3' fill='%232c3a53'/%3E%3Crect x='292' y='131' width='40' height='6' rx='3' fill='%2363728a'/%3E%3Cpath d='M28 151h304' stroke='%2322304a' stroke-dasharray='3 3'/%3E%3Crect x='28.5' y='161.5' width='13' height='13' rx='2.5' fill='none' stroke='%2363728a'/%3E%3Crect x='54' y='165' width='136' height='6' rx='3' fill='%232c3a53'/%3E%3Crect x='280' y='165' width='52' height='6' rx='3' fill='%2363728a'/%3E%3Cpath d='M28 185h304' stroke='%2322304a' stroke-dasharray='3 3'/%3E%3Crect x='28.5' y='195.5' width='13' height='13' rx='2.5' fill='none' stroke='%2363728a'/%3E%3Crect x='54' y='199' width='104' height='6' rx='3' fill='%232c3a53'/%3E%3Crect x='286' y='199' width='46' height='6' rx='3' fill='%2363728a'/%3E%3Cpath d='M28 219h304' stroke='%2322304a' stroke-dasharray='3 3'/%3E%3Cpath d='M28 236h304' stroke='%23e6eaf1' stroke-width='1.2'/%3E%3Crect x='54' y='247' width='96' height='7' rx='3' fill='%23e6eaf1'/%3E%3Crect x='270' y='247' width='62' height='7' rx='3' fill='%23e6eaf1'/%3E%3Crect x='54' y='274' width='74' height='7' rx='3' fill='%23e6eaf1'/%3E%3Crect x='252' y='272' width='80' height='10' rx='3' fill='%2355c18f'/%3E%3Cpath d='M252 290.5h80M252 294.5h80' stroke='%2355c18f' stroke-width='1.5'/%3E%3C/svg%3E"); --mk-tile:#22385c;
}}

/* ---- type ---- */
body{font-size:18px;line-height:1.65;color:var(--ink)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);font-weight:600}
h1{font-size:clamp(2.1rem,1.5rem + 2.1vw,3rem);line-height:1.08;letter-spacing:-.021em;font-weight:560}
h2{font-size:clamp(1.5rem,1.28rem + .75vw,1.9rem);line-height:1.2;letter-spacing:-.013em;margin:2.1em 0 .55em}
h3{font-size:1.24rem;line-height:1.3;letter-spacing:-.006em;margin:1.8em 0 .4em;font-weight:640}
p,ul,ol{margin:0 0 1.05em}
strong,b{font-weight:650}
a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:.2em;
  text-decoration-color:color-mix(in srgb,currentColor 42%,transparent)}
a:hover{text-decoration-color:currentColor;text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:3px}
::selection{background:var(--accent-soft)}
code{background:var(--tint);border:1px solid var(--line)}

/* citations: every link out to a source (IRS, the Code, a marketplace) carries a small source marker */
.prose a[href^="http"]:not([href*="flowlister.com"])::after{content:"";display:inline-block;width:.56em;height:.56em;margin:0 .06em 0 .22em;
  vertical-align:.34em;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;
  mask:var(--i-arrow) center/contain no-repeat}

/* ---- masthead ---- */
header.site{position:relative;background:var(--card);border-top:4px solid var(--rule);
  border-bottom:1px solid var(--line);padding:0}
header.site .wrap{min-height:78px;padding-top:0;padding-bottom:0;border-bottom:0;align-items:center;
  flex-wrap:nowrap;gap:2rem}
.brand{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:.75rem;row-gap:.1rem;
  font-family:var(--serif);font-weight:600;font-size:1.3rem;letter-spacing:-.014em;line-height:1.1;
  margin-right:auto;padding:.5rem 0;flex:none}
.brand .mk{grid-row:1/span 2;width:32px;height:32px}
.brand .mk rect{fill:var(--mk-tile)}
.brand-tag{grid-column:2;font-family:var(--sans);font-size:.64rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);line-height:1.2}
nav.main{gap:1.7rem;flex-wrap:nowrap;align-items:center}
nav.main a{font-family:var(--sans);font-size:.95rem;font-weight:500;color:var(--muted);text-decoration:none;
  min-height:44px;display:inline-flex;align-items:center;padding:0;border-bottom:2px solid transparent;
  border-top:2px solid transparent;white-space:nowrap}
nav.main a:hover{color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--ink);text-decoration:none;border-bottom-color:var(--accent)}
nav.main a:nth-last-child(2){border:1px solid var(--line);border-radius:7px;padding:0 .85rem;color:var(--ink);
  background:var(--card)}
nav.main a:nth-last-child(2):hover{border-color:var(--accent);color:var(--accent-ink)}
nav.main a:nth-last-child(2)[aria-current="page"]{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}

/* ---- hero: letterhead, lede, one action, and the worksheet the whole site explains ---- */
.hero{position:relative;background:var(--bg);border-bottom:1px solid var(--line);
  padding:clamp(2.4rem,6vw,5.4rem) 0 clamp(2.6rem,5.5vw,5rem)}
.hero .wrap{position:relative}
.hero .kicker{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--sans);font-size:.72rem;
  font-weight:700;letter-spacing:.14em;color:var(--ink);opacity:1;background:var(--card);
  border:1px solid var(--line);border-radius:999px;padding:.42rem .8rem .42rem .65rem;margin:0 0 1.5rem}
.hero .kicker::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--accent)}
.hero h1{font-size:clamp(2.45rem,1.3rem + 3.7vw,4.3rem);line-height:1.03;letter-spacing:-.028em;
  font-weight:520;max-width:14ch;margin:0 0 .42em}
.hero .lede{font-size:clamp(1.1rem,1rem + .42vw,1.33rem);line-height:1.52;color:var(--ink-2);
  max-width:44ch;margin:0 0 1.9rem}
@media (min-width:1000px){
  .hero .wrap::after{content:"";position:absolute;right:20px;top:50%;width:360px;height:312px;
    transform:translateY(-50%);background:var(--sheet-art) center/contain no-repeat;
    filter:drop-shadow(0 18px 30px rgba(19,34,58,.10))}
  .hero .wrap > *{max-width:600px}
}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:.75rem 1.3rem;
  background:var(--accent);color:var(--on-accent);border:1px solid transparent;border-radius:7px;
  font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:-.005em;text-decoration:none;
  box-shadow:0 1px 0 rgba(8,20,14,.14);transition:background-color .32s var(--ease)}
.btn::after{content:"\2192" / "";font-weight:500}
.btn:hover{filter:none;background:var(--accent-hi)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none;opacity:1}
.btn.ghost::after{content:none}
.btn.ghost:hover{border-color:var(--ink)}

/* ---- layout ---- */
main{padding:clamp(1.75rem,4.5vw,3.25rem) 0 4.5rem}
.prose li{margin-bottom:.45em}
.prose ul,.prose ol{padding-left:1.35rem}
.prose ul.cards{padding-left:0}
.prose li::marker{color:var(--muted)}
.prose ol li::marker{font-family:var(--serif);font-weight:600}

/* the document: articles, the about page and the 404 sit on a sheet */
.p-article article.prose,.p-about main .prose,.p-404 main .prose{background:var(--card);border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow);max-width:none;
  padding:clamp(1.5rem,4vw,3.4rem) clamp(1.25rem,4.4vw,3.6rem) clamp(2rem,4vw,3.4rem)}
.p-about main .prose,.p-404 main .prose{max-width:calc(var(--maxw) + 7.2rem);margin:0 auto}

/* crumbs, kicker, meta, lede */
.crumbs{font-size:.84rem;color:var(--muted);margin:0 0 1.7rem}
.crumbs a{color:var(--muted)}
.crumbs span{padding:0 .5rem;opacity:.55}
.kicker{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.14em;color:var(--accent-ink);margin:0 0 .85rem}
main h1{max-width:21ch}
.pmeta{font-family:var(--sans);font-size:.88rem;color:var(--muted);gap:0;margin:.2rem 0 1.5rem;
  font-variant-numeric:tabular-nums}
.pmeta span::before{content:"\00B7" / "";padding:0 .55rem}
.lede{font-size:clamp(1.12rem,1.04rem + .32vw,1.3rem);line-height:1.55;color:var(--ink-2);margin:0 0 1.9rem}

/* contents, numbered to match the sections below */
.toc{background:var(--tint);border:1px solid var(--line);border-radius:10px;padding:1.05rem 1.3rem 1.15rem;margin:0 0 2.3rem}
.toc p{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin:0 0 .5rem}
.toc ol{list-style:none;padding:0;margin:0;counter-reset:toc;font-size:.98rem}
.toc li{counter-increment:toc;display:grid;grid-template-columns:1.8rem minmax(0,1fr);margin:0;padding:.24rem 0;line-height:1.45}
.toc li::before{content:counter(toc);font-family:var(--serif);font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--accent-ink);text-decoration:underline}
.prose{counter-reset:tbl}
.p-article .prose{counter-reset:sec tbl}
.p-article .prose h2:not(#keep-reading){counter-increment:sec;position:relative}
.p-article .prose h2:not(#keep-reading)::before{content:counter(sec);font-size:.62em;font-weight:600;
  color:var(--accent-ink);font-variant-numeric:tabular-nums;margin-right:.6em;vertical-align:.18em}
@media (min-width:1100px){
  .p-article .prose h2:not(#keep-reading)::before{position:absolute;right:100%;top:.42em;margin-right:.9rem;vertical-align:0}
}

/* key rule */
.key{font-family:var(--serif);font-size:1.26rem;line-height:1.45;font-weight:500;letter-spacing:-.008em;color:var(--ink);
  border:0;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;
  padding:.95rem 1.25rem 1rem 1.3rem;margin:1.9rem 0}

/* notes: an info mark, and the not-advice warning with a filled alert mark */
.note{position:relative;background:var(--tint);border:1px solid var(--line);border-radius:10px;
  padding:1rem 1.2rem 1.05rem 3.05rem;margin:1.8rem 0}
.note::before{content:"";position:absolute;left:1.1rem;top:1.12rem;width:1.15rem;height:1.15rem;background:var(--accent-ink);
  -webkit-mask:var(--i-info) center/contain no-repeat;mask:var(--i-info) center/contain no-repeat}
.note-t{font-family:var(--sans);font-weight:700;font-size:1rem;color:var(--ink);margin:0 0 .3rem}
.note p:not(.note-t){font-size:.97rem;line-height:1.6;color:var(--ink-2)}
.note.warn{background:var(--warn-soft);border-color:var(--warn-line)}
.note.warn::before{background:var(--warn);-webkit-mask-image:var(--i-alert);mask-image:var(--i-alert)}

blockquote{font-family:var(--serif);font-style:normal;font-size:1.2rem;line-height:1.5;color:var(--ink);
  border-left:2px solid var(--rule);padding:.1rem 0 .1rem 1.2rem;margin:1.8rem 0}

/* steps: numbered boxes on a thin spine */
ol.steps{counter-reset:s;margin:1.8rem 0 2rem;padding:0}
ol.steps li{position:relative;padding:0 0 1.3rem 3.3rem;margin:0}
ol.steps li::before{content:counter(s);width:2.15rem;height:2.15rem;border-radius:7px;background:var(--card);
  color:var(--ink);border:1.5px solid var(--rule);font-family:var(--serif);font-weight:600;font-size:1rem;
  font-variant-numeric:tabular-nums}
ol.steps li::after{content:"";position:absolute;left:1.07rem;top:2.45rem;bottom:.25rem;width:1px;background:var(--line)}
ol.steps li:last-child{padding-bottom:0}
ol.steps li:last-child::after{content:none}
ol.steps strong{font-family:var(--sans);font-size:1.03rem;font-weight:700;color:var(--ink);margin:.22rem 0 .2rem;line-height:1.4}
ol.steps span{color:var(--ink-2);display:block}

/* tables: numbered, ruled like a printed schedule, scroll inside their frame on small screens */
.tw{counter-increment:tbl;border:0;border-radius:0;margin:2rem 0;overflow-x:auto;
  background:linear-gradient(90deg,var(--card) 30%,transparent) left/2.5rem 100% no-repeat local,
    linear-gradient(-90deg,var(--card) 30%,transparent) right/2.5rem 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,rgba(19,34,58,.14),transparent) left/.8rem 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,rgba(19,34,58,.14),transparent) right/.8rem 100% no-repeat scroll,var(--card)}
.p-tool .prose>.tw,.p-home .prose>.tw{border:1px solid var(--line);border-radius:10px;padding:0 .9rem}
table{font-size:.95rem;font-variant-numeric:tabular-nums}
caption{font-family:var(--sans);font-size:.82rem;font-weight:500;color:var(--muted);text-align:left;padding:0 0 .7rem}
.prose caption::before{content:"Table " counter(tbl);font-weight:700;color:var(--ink);margin-right:.6rem;
  padding-right:.6rem;border-right:1px solid var(--line)}
th{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
  background:transparent;border-top:2px solid var(--rule);border-bottom:1px solid var(--rule);padding:.7rem .9rem;white-space:nowrap}
td{padding:.78rem .9rem;border-bottom:1px solid var(--line);line-height:1.5}
td:first-child{font-weight:600;color:var(--ink)}
tbody tr:last-child td{border-bottom:1px solid var(--rule)}

/* faq */
.faq{margin:2.2rem 0 2rem;border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--line);padding:0}
.faq summary{font-family:var(--serif);font-weight:600;font-size:1.1rem;line-height:1.38;padding:1rem 0;min-height:48px;
  align-items:center;color:var(--ink);list-style:none}
.faq summary::after{content:"";flex:none;width:1.65rem;height:1.65rem;border:1px solid var(--line);border-radius:50%;
  color:var(--accent-ink);background:linear-gradient(currentColor,currentColor) center/.62rem 1.5px no-repeat,
  linear-gradient(currentColor,currentColor) center/1.5px .62rem no-repeat}
.faq details[open] summary::after{background:linear-gradient(currentColor,currentColor) center/.62rem 1.5px no-repeat;
  border-color:var(--accent)}
.faq summary:hover::after{border-color:var(--accent)}
.faq details>div{padding:0 2.6rem 1.15rem 0;color:var(--ink-2);font-size:1rem}

/* disclosure: labelled, bordered, honest */
.mention{background:var(--tint);border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem 1.05rem;
  font-size:.95rem;line-height:1.6;color:var(--ink-2);margin:2.4rem 0}
.mention .lbl{display:flex;align-items:center;gap:.45rem;font-family:var(--sans);font-size:.68rem;font-weight:700;
  letter-spacing:.14em;color:var(--ink);margin-bottom:.35rem}
.mention .lbl::before{content:"";width:.95rem;height:.95rem;background:var(--muted);
  -webkit-mask:var(--i-info) center/contain no-repeat;mask:var(--i-info) center/contain no-repeat}

/* related and home index */
#keep-reading{font-size:1.25rem;margin-top:2.4em}
#keep-reading::before{content:none}
.card{position:relative}
.card h3 a::after{content:"";position:absolute;inset:0}
.card h3 a:focus-visible{outline:none}
.card:has(a:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.p-article ul.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin:1rem 0 0}
.p-article .card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem 1.1rem;
  transition:border-color .32s var(--ease)}
.p-article .card:hover{border-color:var(--accent)}
.p-article .card h3{font-size:1.06rem;line-height:1.3}
.p-article .card p{font-size:.9rem;line-height:1.5}

#guides{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);margin:2.2em 0 .3em}
ul.cards.idx{border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow);
  margin:1.3rem 0 2.4rem;overflow:hidden}
ul.cards.idx .card{grid-template-columns:3.4rem minmax(0,1fr) auto;gap:.2rem 1.25rem;padding:1.3rem 1.8rem 1.35rem 1.4rem;
  border-bottom:1px solid var(--line);transition:background-color .32s var(--ease)}
ul.cards.idx .card:last-child{border-bottom:0}
ul.cards.idx .card::before{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--muted);
  font-variant-numeric:tabular-nums;align-self:start;padding-top:.12rem}
ul.cards.idx .card h3{font-size:clamp(1.14rem,1.05rem + .35vw,1.34rem);line-height:1.3;font-weight:600}
ul.cards.idx .card p{font-size:.98rem;line-height:1.55;color:var(--muted);max-width:62ch}
ul.cards.idx .card .rt{font-family:var(--sans);font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums;
  align-self:start;padding-top:.3rem}
ul.cards.idx .card:hover{background:var(--tint)}
ul.cards.idx .card:hover h3 a{color:var(--accent-ink)}

/* the rail: sits on the desk beside the sheet */
aside.rail{font-size:.95rem}
@media (min-width:900px){aside.rail{position:sticky;top:1.5rem;align-self:start}}
.rail-box{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px;
  padding:1.1rem 1.15rem 1.2rem;box-shadow:var(--shadow);margin-bottom:2rem}
.rail-box p{font-size:.95rem;line-height:1.5;color:var(--ink-2);margin:0 0 .9rem}
.rail-box .btn{width:100%;justify-content:center;font-size:.95rem;min-height:44px;padding:.55rem 1rem;color:var(--on-accent)}
.rail-box .btn:hover{text-decoration:none}
aside.rail h2{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--muted);margin:0 0 .5rem}
aside.rail ul{border-top:1px solid var(--line)}
aside.rail li{margin:0;border-bottom:1px solid var(--line)}
aside.rail li a{display:block;padding:.68rem 0;font-size:.97rem;line-height:1.35;color:var(--ink)}
aside.rail li a:hover{color:var(--accent-ink);text-decoration:none}

/* ---- the estimator: a form with line numbers, worked down to a double-ruled total ---- */
.tool{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--rule);border-radius:12px;
  padding:0;margin:2rem 0 2.4rem;box-shadow:var(--shadow);overflow:hidden}
.tool .grid{display:block;counter-reset:ln;padding:.35rem 0}
.tool .grid>div{counter-increment:ln;position:relative;display:grid;align-items:center;gap:.15rem 1rem;
  grid-template-columns:1.9rem minmax(0,1fr) minmax(9rem,12.5rem);padding:.78rem 1.4rem .78rem 1.15rem;
  border-bottom:1px dashed var(--line)}
.tool .grid>div:last-child{border-bottom:0}
.tool .grid>div::before{content:counter(ln);width:1.7rem;height:1.7rem;display:grid;place-items:center;
  border:1px solid var(--rule);border-radius:4px;font:700 .78rem/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.tool label{font-family:var(--sans);font-size:1rem;font-weight:650;color:var(--ink);margin:0;line-height:1.35}
.tool .hint{font-size:.85rem;line-height:1.4;color:var(--muted);font-weight:400;margin-top:.12rem}
.tool input,.tool select{height:48px;border:1.5px solid var(--field-line);border-radius:6px;background:var(--field);
  color:var(--ink);font-family:var(--sans);font-size:1.1rem;font-weight:500;font-variant-numeric:tabular-nums;
  text-align:right;padding:.5rem .85rem .5rem 1.9rem;transition:border-color .32s var(--ease)}
.tool input:hover{border-color:var(--rule)}
.tool input:focus,.tool select:focus{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:0}
.tool .grid>div:is(:has(#gross),:has(#refunds),:has(#cogs),:has(#fees),:has(#ship),:has(#supplies),:has(#other),:has(#rate),:has(#wages))::after{
  content:"$" / "";position:absolute;left:calc(100% - 1.4rem - 12.5rem + .8rem);top:50%;transform:translateY(-50%);
  font:500 1.05rem/1 var(--sans);color:var(--muted);pointer-events:none}
.tool .grid>div:is(:has(#setaside),:has(#state),:has([id^="miles"])) input{padding-left:.85rem;padding-right:2.3rem}
.tool .grid>div:is(:has(#setaside),:has(#state),:has([id^="miles"]))::after{position:absolute;right:2.25rem;top:50%;
  transform:translateY(-50%);font:500 1.05rem/1 var(--sans);color:var(--muted);pointer-events:none}
.tool .grid>div:is(:has(#setaside),:has(#state))::after{content:"%" / ""}
.tool .grid>div:has([id^="miles"])::after{content:"mi" / "";font-size:.92rem}
.tool select{-webkit-appearance:none;appearance:none;cursor:pointer;text-align:right;text-align-last:right;
  padding:.5rem 2.4rem .5rem .85rem;background:var(--field) var(--i-chev) right .9rem center/.75rem no-repeat}
.out{margin:0;border-top:1px solid var(--rule);padding:1.4rem 1.4rem 1.5rem;background:var(--tint)}
.out>p:only-child{margin:0;color:var(--muted)}
.stats{display:block;margin:0 0 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:.15rem 1.15rem}
.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.2rem 1rem;background:none;
  border-radius:0;padding:.85rem 0 .9rem;border-bottom:1px solid var(--line)}
.stat:last-child{border-bottom:0}
.stat dt{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.11em;color:var(--muted);margin:0}
.stat dd{font-family:var(--serif);font-size:1.5rem;font-weight:600;text-align:right;
  font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.012em;line-height:1.1;color:var(--ink)}
.stat dd small{font-family:var(--sans);font-size:.78rem;line-height:1.35;color:var(--muted);margin-top:.25rem;letter-spacing:0}
.stat:first-child{padding:1.05rem 0 1.1rem}
.stat:first-child dt{font-size:.76rem;color:var(--ink)}
.stat:first-child dd{font-size:clamp(2.1rem,1.7rem + 1.3vw,2.7rem);letter-spacing:-.02em;color:var(--accent-ink)}
.tool .tw{counter-increment:none;margin:0 0 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:.2rem 1.15rem .55rem}
.tool caption{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.85rem 0 .45rem}
.tool caption::before{content:none}
.tool table{font-size:.97rem}
.tool td{padding:.56rem 0;border-bottom:1px dotted var(--field-line);font-weight:400;color:var(--ink-2)}
.tool td:first-child{font-weight:400;color:var(--ink-2)}
.tool td:last-child{text-align:right;white-space:nowrap;padding-left:1rem}
.tool tr:has(strong) td{border-top:1px solid var(--rule);color:var(--ink)}
.tool tbody tr:last-child td{border-bottom:0}
.tool .tw tbody tr:has(strong):not(:has(~ tr strong)) td{border-bottom:3px double var(--rule)}
.tool .tw tbody tr:has(strong):not(:has(~ tr strong)) td:last-child{color:var(--accent-ink)}
.verdict{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;
  padding:.9rem 1.1rem;font-size:.98rem;line-height:1.55;color:var(--ink)}
noscript .note-t{font-family:var(--sans)}

/* ---- footer: the navy base of the page ---- */
footer.site{background:var(--foot);color:var(--foot-muted);border-top:0;margin-top:0;padding:3.2rem 0 2.2rem;font-size:.92rem}
footer.site .fgrid{gap:2.2rem}
footer.site h2{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.14em;color:#fff;margin:0 0 .8rem}
footer.site .fgrid>div:first-child h2{font-family:var(--serif);font-size:1.3rem;font-weight:600;letter-spacing:-.012em;
  text-transform:none;margin-bottom:.5rem}
footer.site p{color:var(--foot-muted);max-width:34ch}
footer.site a{color:var(--foot-ink)}
footer.site a:hover{color:#fff}
footer.site li{margin-bottom:.5rem}
footer.site :focus-visible{outline-color:#8fe0b8}
.colophon{border-top:1px solid var(--foot-line);margin-top:2.4rem;padding-top:1.3rem;font-size:.8rem;color:var(--foot-muted)}

/* ---- motion: color only, and only when welcome ---- */
@media (prefers-reduced-motion:no-preference){
  a,nav.main a,.faq summary::after{transition:color .32s var(--ease),border-color .32s var(--ease),text-decoration-color .32s var(--ease)}
}

/* ---- small screens ---- */
@media (max-width:900px){
  .cols{gap:2rem}
  aside.rail{max-width:var(--maxw)}
}
@media (max-width:760px){
  header.site .wrap{min-height:56px;gap:.9rem;padding-right:0}
  .brand{font-size:1.06rem;column-gap:.55rem}
  .brand .mk{width:26px;height:26px;grid-row:auto}
  .brand-tag{display:none}
  nav.main{flex:1;min-width:0;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;gap:1.1rem;
    padding:0 20px 0 4px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);
    mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}
  nav.main::-webkit-scrollbar{display:none}
  nav.main a{flex:none;scroll-snap-align:start;min-height:44px;display:flex;align-items:center;padding:0;font-size:.93rem}
  nav.main a:nth-last-child(2){border:0;border-bottom:2px solid transparent;border-top:2px solid transparent;border-radius:0;
    background:none;padding:0;color:var(--accent-ink);font-weight:600;box-shadow:none}
  nav.main a:nth-last-child(2)[aria-current="page"]{border-bottom-color:var(--accent)}
  .hero .kicker{margin-bottom:1.1rem}
  .p-article article.prose,.p-about main .prose,.p-404 main .prose{margin:0 -20px;border-radius:0;border-left:0;border-right:0;
    border-top:0;box-shadow:none;padding:1.6rem 20px 2rem}
  .p-article main,.p-about main,.p-404 main{padding-top:0}
  ul.cards.idx{border-radius:10px}
  ul.cards.idx .card{grid-template-columns:2.2rem minmax(0,1fr);padding:1.1rem 1.1rem 1.15rem .95rem;gap:.15rem .8rem}
  ul.cards.idx .card .rt{grid-column:2;grid-row:auto;padding-top:.2rem}
  .faq details>div{padding-right:0}
}
@media (max-width:600px){
  .tool{margin-left:-6px;margin-right:-6px}
  .tool .grid>div{grid-template-columns:1.9rem minmax(0,1fr);padding:.9rem 1rem .95rem .85rem;column-gap:.75rem}
  .tool .grid>div :is(input,select){grid-column:1/-1;margin-top:.55rem}
  .tool .grid>div:is(:has(#gross),:has(#refunds),:has(#cogs),:has(#fees),:has(#ship),:has(#supplies),:has(#other),:has(#rate),:has(#wages))::after{
    left:1.65rem;top:auto;bottom:calc(.95rem + 24px);transform:translateY(50%)}
  .tool .grid>div:is(:has(#setaside),:has(#state),:has([id^="miles"]))::after{right:1.85rem;top:auto;bottom:calc(.95rem + 24px);transform:translateY(50%)}
  .out{padding:1.1rem .9rem 1.2rem}
  .stats{padding:.1rem .9rem}
  .tool .tw{padding:.1rem .85rem .45rem}
}

@media print{
  body{background:#fff}
  .p-article article.prose,.p-about main .prose,.p-404 main .prose,.tool{border:0;box-shadow:none;padding:0}
  .hero .wrap::after{content:none}
  .prose a[href^="http"]:not([href*="flowlister.com"])::after{content:" (" attr(href) ")";width:auto;height:auto;background:none;-webkit-mask:none;mask:none;
    font-size:.8em;vertical-align:baseline}
}
