/* theme v2: tax */
/* shared mechanics only; every visual decision lives in the per-site file */
html body.tv2-tax .skip-link, html body.tv2-tax .skip { position:absolute !important; left:-9999px !important; top:auto; }
html body.tv2-tax .skip-link:focus, html body.tv2-tax .skip:focus { left:1rem !important; top:1rem !important; z-index:1000; background:#fff; color:#000; padding:.6rem 1rem; }
html body.tv2-tax *, html body.tv2-tax *::before, html body.tv2-tax *::after { box-sizing:border-box; }
html body.tv2-tax img, html body.tv2-tax svg { max-width:100%; }
html body.tv2-tax .tv2-wrap { width:min(100% - 2.5rem, var(--wrap, 72rem)); margin-inline:auto; }
html body.tv2-tax .tv2-post { display:block; padding:0; margin:0; }
html body.tv2-tax .tv2-post h1 { margin:0; text-wrap:balance; overflow-wrap:break-word; }
html body.tv2-tax .tv2-post h2 { text-wrap:balance; }
html body.tv2-tax .tv2-crumbs { display:flex; gap:.5rem; flex-wrap:wrap; font-size:.85rem; margin-bottom:1.25rem; }
html body.tv2-tax .tv2-crumbs a { text-decoration:none; }
html body.tv2-tax .tv2-lead-label { display:block; }
html body.tv2-tax .tv2-meta { display:flex; flex-wrap:wrap; gap:0; margin:1.5rem 0 0; padding:0; }
html body.tv2-tax .tv2-meta div { margin:0; }
html body.tv2-tax .tv2-meta dt, html body.tv2-tax .tv2-meta dd { margin:0; }
html body.tv2-tax .tv2-article { min-width:0; }
html body.tv2-tax .tv2-sec-body > *:first-child { margin-top:0; }
html body.tv2-tax .tv2-article ul, html body.tv2-tax .tv2-article ol { padding-left:1.25rem; }
html body.tv2-tax .tv2-article a { overflow-wrap:anywhere; }
html body.tv2-tax .tv2-sources .source-list li { margin:.4rem 0; }
html body.tv2-tax .tv2-more { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; }
html body.tv2-tax .tv2-h { display:inline; }
html body.tv2-tax .tv2-all { margin:1.75rem 0 0; }
html body.tv2-tax .latest-docket .docket-card:nth-child(n+6) { display:none !important; }
@media (max-width: 760px) {
  html body.tv2-tax .site-header .primary-nav, html body.tv2-tax .site-header .site-nav, html body.tv2-tax .masthead .topnav { display:flex !important; overflow-x:auto; flex-wrap:nowrap !important; white-space:nowrap; -webkit-overflow-scrolling:touch; scrollbar-width:none; max-width:100%; }
  html body.tv2-tax .site-header .primary-nav a, html body.tv2-tax .site-header .site-nav a, html body.tv2-tax .masthead .topnav a { flex:0 0 auto; }
}
/* neutralise the older shared homepage-polish hero decorations */
html body.tv2-tax .hero .container { display:block; grid-template-columns:none; }
html body.tv2-tax .hero .container::after, html body.tv2-tax .hero .container::before, html body.tv2-tax .hero .container:after { content:none !important; display:none !important; }
html body.tv2-tax .hero::before { content:none; }
html body.tv2-tax .hero .eyebrow { width:auto; height:auto; min-height:0; }
html body.tv2-tax .hero h1, html body.tv2-tax .hero .display { opacity:1; -webkit-text-fill-color:currentColor; }
html body.tv2-tax .hero::after, html body.tv2-tax .site-hero::after, html body.tv2-tax .hero-inner::after, html body.tv2-tax .hero-inner::before { content:none; }
html body.tv2-tax .hero .hero-grid { position:relative; }
html body.tv2-tax main :is(li:has(> .res-kind), .idx-item) { list-style:none; }
html body.tv2-tax main :is(li:has(> .res-kind), .idx-item) h3 { margin:.1rem 0 .3rem; }
html body.tv2-tax main :is(li:has(> .res-kind), .idx-item) p { margin:0; }
@media (max-width:760px){
  html body.tv2-tax .site-header .header-inner { flex-wrap:wrap; row-gap:.6rem; }
  html body.tv2-tax .site-header .header-inner > .primary-nav, html body.tv2-tax .site-header .header-inner > .site-nav { order:3; width:100%; gap:1.1rem; padding-bottom:.2rem; }
  html body.tv2-tax .site-header .brand-name { max-width:14rem; }
  html body.tv2-tax .pub-list li { grid-template-columns:1fr !important; gap:.4rem !important; }
}
html body.tv2-tax .tv2-kicker:empty{display:none}

/* Tax Justice: accounting ledger. ruled paper, slab heads, tabular rows */
html body.tv2-tax { --bg:#fbfaf6; --ink:#231a17; --muted:#5e524c; --burg:#6b1f24; --green:#2f5d4a; --rule:#d9cfc3; --wrap:74rem; background:var(--bg); color:var(--ink); font-family:'Atkinson Hyperlegible',system-ui,sans-serif; font-size:16.5px; }
html body.tv2-tax h1, html body.tv2-tax h2, html body.tv2-tax h3, html body.tv2-tax .display { font-family:'Roboto Slab',Georgia,serif; letter-spacing:-.01em; }
html body.tv2-tax a { color:var(--burg); }
html body.tv2-tax .site-header { background:#fff; border-top:8px solid var(--burg); border-bottom:2px solid var(--ink); position:static; }
html body.tv2-tax .site-header .brand-name { font-family:'Roboto Slab',serif; font-weight:700; font-style:normal; font-size:1.02rem; color:var(--ink); }
html body.tv2-tax .site-header .primary-nav a { font-family:'Roboto Mono',monospace; font-size:.8rem; color:var(--ink); text-transform:uppercase; }
html body.tv2-tax .site-header .header-cta { background:var(--green); border:0; border-radius:2px; color:#fff; }
html body.tv2-tax .hero { background:repeating-linear-gradient(#fbfaf6 0 31px,#e8dfd2 31px 32px) !important; padding:3.5rem 0 3.5rem; border-bottom:2px solid var(--ink); }
html body.tv2-tax .hero::before, html body.tv2-tax .hero::after { display:none !important; }
html body.tv2-tax .hero .container { display:grid !important; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:1rem 3rem; align-items:end; border-left:3px double var(--burg); padding-left:2rem; }
html body.tv2-tax .hero .eyebrow { grid-column:1 / -1; font-family:'Roboto Mono',monospace; text-transform:uppercase; font-size:.8rem; color:var(--burg); font-style:normal; margin:0; }
html body.tv2-tax .hero h1.display { grid-column:1; font-size:clamp(2.4rem,5vw,4.2rem); line-height:1.02; font-weight:800; margin:0; max-width:none; position:static !important; color:var(--ink); }
html body.tv2-tax .hero .lede { grid-column:2; margin:0; background:#fff; border:1px solid var(--rule); padding:1.2rem; font-size:1.05rem; position:static !important; max-width:none; }
html body.tv2-tax .hero .btns { grid-column:1 / -1; }
html body.tv2-tax .btn { background:var(--burg); border:0; border-radius:2px; color:#fff; font-family:'Roboto Slab',serif; }
html body.tv2-tax .btn-secondary { background:#fff; color:var(--burg); border:2px solid var(--burg); }
html body.tv2-tax .section h2 { font-weight:800; }
html body.tv2-tax .section-num { font-family:'Roboto Mono',monospace; font-size:.85rem; color:var(--green); font-style:normal; }
html body.tv2-tax .section-num::before { content:'Acct '; }
html body.tv2-tax .docket-grid { display:block; border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); background:#fff; counter-reset:led; }
html body.tv2-tax .docket-card { counter-increment:led; display:grid !important; grid-template-columns:4rem 13rem minmax(0,1fr) 9rem; gap:1rem; align-items:baseline; padding:.9rem 1rem !important; background:transparent !important; border:0 !important; border-bottom:1px solid var(--rule) !important; border-radius:0 !important; box-shadow:none !important; }
html body.tv2-tax .docket-card::before { content:counter(led, decimal-leading-zero); font-family:'Roboto Mono',monospace; color:var(--muted); }
html body.tv2-tax .docket-kicker { margin:0 !important; font-family:'Roboto Mono',monospace; font-size:.72rem; text-transform:uppercase; color:var(--green); }
html body.tv2-tax .docket-card h3 { margin:0; font-size:1.1rem; }
html body.tv2-tax .docket-card > p:not(.docket-kicker) { display:none; }
html body.tv2-tax .docket-link { text-align:right; font-family:'Roboto Mono',monospace; font-size:.78rem; }
html body.tv2-tax .tv2-all { text-align:right; } html body.tv2-tax .tv2-all a { font-family:'Roboto Mono',monospace; text-transform:uppercase; font-size:.85rem; }
html body.tv2-tax .site-footer { background:#efe9e0; border-top:2px solid var(--ink); }
@media (max-width:860px){ html body.tv2-tax .hero .container{grid-template-columns:1fr;padding-left:1rem} html body.tv2-tax .hero .lede{grid-column:1} html body.tv2-tax .docket-card{grid-template-columns:2.5rem minmax(0,1fr)} html body.tv2-tax .docket-kicker,html body.tv2-tax .docket-link{grid-column:2;text-align:left} html body.tv2-tax .docket-card h3{grid-column:2} }
/* post: ledger rows */
html body.tv2-tax .tv2-post .tv2-hero { border-bottom:2px solid var(--ink); padding:3rem 0 2.5rem; background:repeating-linear-gradient(#fbfaf6 0 31px,#ece4d8 31px 32px); }
html body.tv2-tax .tv2-post .tv2-crumbs { font-family:'Roboto Mono',monospace; font-size:.75rem; text-transform:uppercase; }
html body.tv2-tax .tv2-post .tv2-kicker { font-family:'Roboto Mono',monospace; text-transform:uppercase; color:var(--burg); font-size:.8rem; margin:0 0 .8rem; }
html body.tv2-tax .tv2-post h1 { font-size:clamp(2rem,4.6vw,3.6rem); font-weight:800; line-height:1.05; max-width:26ch; }
html body.tv2-tax .tv2-post .tv2-lead { background:#fff; border:1px solid var(--rule); border-left:6px solid var(--burg); padding:1rem 1.2rem; margin:1.5rem 0 0; max-width:48rem; font-size:1.08rem; }
html body.tv2-tax .tv2-lead-label { font-family:'Roboto Mono',monospace; font-size:.7rem; text-transform:uppercase; color:var(--burg); margin-bottom:.25rem; }
html body.tv2-tax .tv2-post .tv2-meta { margin-top:1.5rem; gap:0; border:1px solid var(--ink); background:#fff; width:max-content; max-width:100%; }
html body.tv2-tax .tv2-post .tv2-meta div { padding:.5rem 1rem; border-right:1px solid var(--rule); }
html body.tv2-tax .tv2-post .tv2-meta dt { font-family:'Roboto Mono',monospace; font-size:.65rem; text-transform:uppercase; color:var(--muted); }
html body.tv2-tax .tv2-post .tv2-grid { padding:2.5rem 0; }
html body.tv2-tax .tv2-article { border-top:2px solid var(--ink); }
html body.tv2-tax .tv2-sec { display:grid; grid-template-columns:17rem minmax(0,1fr); gap:2rem; padding:1.5rem 0; border-bottom:1px solid var(--rule); }
html body.tv2-tax .tv2-sec h2 { font-size:1.2rem; margin:0; line-height:1.25; }
html body.tv2-tax .tv2-n { display:block; font-family:'Roboto Mono',monospace; font-size:.72rem; color:var(--green); text-transform:uppercase; margin-bottom:.35rem; }
html body.tv2-tax .tv2-sec-body { max-width:44rem; line-height:1.7; }
html body.tv2-tax .tv2-sources { display:grid; grid-template-columns:17rem minmax(0,1fr); gap:2rem; padding:1.5rem 0; border-bottom:2px solid var(--ink); font-size:.92rem; }
html body.tv2-tax .tv2-sources h2 { font-size:1.2rem; margin:0; }
html body.tv2-tax .tv2-sources ul { list-style:none; padding:0; margin:0; } html body.tv2-tax .tv2-sources li { border-bottom:1px dotted var(--rule); padding:.4rem 0; }
html body.tv2-tax .tv2-more { padding:0 0 3.5rem; font-family:'Roboto Mono',monospace; font-size:.85rem; text-transform:uppercase; }
@media (max-width:760px){ html body.tv2-tax .tv2-sec,html body.tv2-tax .tv2-sources{grid-template-columns:1fr;gap:.6rem} html body.tv2-tax .tv2-post .tv2-meta{width:auto} }
/* index */
html body.tv2-tax.tv2-index main h1 { font-weight:800; font-size:clamp(2rem,4.4vw,3.4rem); }
html body.tv2-tax main .doc-banner { background:#fff; border:1px solid var(--rule); border-left:6px solid var(--burg); border-radius:0; }
html body.tv2-tax main :is(ul,ol):has(> li > .res-kind) { border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); background:#fff; padding:0; counter-reset:ix; }
html body.tv2-tax main :is(li:has(> .res-kind), .idx-item) { counter-increment:ix; display:grid; grid-template-columns:3rem 13rem 1fr; gap:1rem; padding:.85rem 1rem; border-bottom:1px solid var(--rule); }
html body.tv2-tax main :is(li:has(> .res-kind), .idx-item)::before { content:counter(ix, decimal-leading-zero); font-family:'Roboto Mono',monospace; color:var(--muted); }
html body.tv2-tax main :is(.res-kind, .idx-kind) { font-family:'Roboto Mono',monospace; font-size:.72rem; text-transform:uppercase; color:var(--green); }
html body.tv2-tax main :is(li:has(> .res-kind), .idx-item) h3 { font-size:1.05rem; }
@media (max-width:760px){ html body.tv2-tax main :is(li:has(> .res-kind), .idx-item) { grid-template-columns:2.5rem 1fr; } html body.tv2-tax main :is(li:has(> .res-kind), .idx-item) > div { grid-column:2; } }
