:root{
  --bg:#fbfaf7;--bg2:#f1efe8;--accent:#1e3a5f;--text:#1b1f27;--muted:#5d6470;--paper:#1b1f27;--paper-ink:#f4f2ec;--band:#8c6d2c;--band-ink:#fffaf0;--on-accent:#ffffff;
  --ser:'Pagella','Palatino Linotype','Book Antiqua',Georgia,serif;--sans:'InterText','Inter',system-ui,sans-serif;
  --line:color-mix(in srgb,var(--text) 13%,transparent);--radius:4px;--pane:color-mix(in srgb,var(--bg) 40%,#fff);
}
body{font:400 15.5px/1.75 var(--sans);background:var(--bg);color:var(--text)}
h1,h2,h3,h4{font-family:var(--ser);font-weight:400;letter-spacing:-.005em;line-height:1.15}
.small{font-size:13px;color:var(--muted)}
.btn{font:500 14px/1 var(--sans);padding:14px 20px;border-radius:4px}
.btn.sm{padding:10px 14px;font-size:13px}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn.ghost:hover{background:var(--accent);color:var(--on-accent)}
.num{font-variant-numeric:tabular-nums lining-nums}

/* reading progress + header */
.rd{position:fixed;top:0;left:0;right:0;height:3px;z-index:300;pointer-events:none}
.rd b{display:block;height:100%;width:0;background:var(--band)}
.th{position:sticky;top:0;z-index:200;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.tw{max-width:1400px;margin:0 auto;padding:0 32px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:14px}
.seal{width:44px;height:44px;border:1.5px solid var(--accent);border-radius:50%;display:grid;place-items:center;font:400 15px var(--ser);color:var(--accent);letter-spacing:-.02em;box-shadow:inset 0 0 0 3px var(--bg),inset 0 0 0 4px color-mix(in srgb,var(--accent) 40%,transparent)}
.seal i{font-style:italic;color:var(--band);margin:0 1px}
.logo .lt{display:flex;flex-direction:column;line-height:1.15}
.logo .lt b{font:400 19px var(--ser)}
.logo .lt small{font-size:11.5px;color:var(--muted);letter-spacing:.02em}
.links{display:flex;gap:26px}
.links a{font-size:14px;color:var(--muted)}
.links a:hover,.links a.on{color:var(--accent)}
.links a.on:after{background:var(--band)}
.tr{display:flex;align-items:center;gap:10px}

/* ---------- document layout: TOC | content | margin ---------- */
.doc{max-width:1400px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:250px minmax(0,740px) 1fr;gap:56px}
.toc{position:sticky;top:104px;align-self:start;padding-top:48px;max-height:calc(100vh - 120px);overflow:auto}
.toc .tl{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.toc ol{list-style:none;border-left:1px solid var(--line)}
.toc a{display:flex;gap:10px;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:13.5px;color:var(--muted);line-height:1.35;transition:color .2s,border-color .2s}
.toc a span{font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--muted) 70%,transparent);min-width:24px}
.toc a:hover{color:var(--text)}
.toc a.on{color:var(--accent);border-left-color:var(--accent);font-weight:500}
.toc a.on span{color:var(--band)}
.toc .meta{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.toc .meta b{display:block;color:var(--text);font-weight:500}
.tocm{display:none}
.content{padding:48px 0 60px;min-width:0}
.content>header{padding-bottom:34px;margin-bottom:10px;border-bottom:3px double var(--line)}
.dk{font:600 11.5px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--band)}
.content h1{font-size:clamp(38px,4.4vw,58px);margin:14px 0 18px}
.content h1 em{font-style:italic;color:var(--accent)}
.lede{font:400 21px/1.55 var(--ser);color:color-mix(in srgb,var(--text) 82%,var(--bg))}
.byl{display:flex;gap:26px;flex-wrap:wrap;margin-top:22px;font-size:13px;color:var(--muted)}
.byl b{color:var(--text);font-weight:500}
.content h2{font-size:30px;margin:58px 0 16px;padding-top:12px;scroll-margin-top:96px;display:flex;gap:16px;align-items:baseline}
.content h2:before{content:attr(data-n);font:500 13px var(--sans);color:var(--band);letter-spacing:.06em;min-width:34px}
.content h3{font-size:21px;margin:30px 0 8px}
.content p{margin:0 0 16px}
.content ul.ls{margin:0 0 18px 20px}
.content ul.ls li{margin:6px 0}
.content a.ln{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent)}
sup.fn a{color:var(--band);font-size:11px;font-weight:600;margin-left:2px}
.fns{margin-top:50px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.fns ol{margin-left:18px}
.fns li{margin:4px 0}
.pull{margin:30px 0;padding:6px 0 6px 26px;border-left:3px solid var(--band);font:italic 400 24px/1.4 var(--ser);color:var(--accent)}
.pull cite{display:block;font:400 13px var(--sans);font-style:normal;color:var(--muted);margin-top:8px}

/* margin notes (right column) */
.mg{padding-top:48px;position:relative}
.note{position:sticky;top:104px;font-size:13px;color:var(--muted);border-top:2px solid var(--text);padding-top:14px}
.note h4{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text);margin-bottom:10px}
.nd{list-style:none;display:grid;gap:10px}
.nd li{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:10px 12px;background:var(--pane);border:1px solid var(--line);border-left:3px solid var(--c,var(--accent))}
.nd b{font:500 15px var(--sans);color:var(--text)}
.nd span{font-size:13px;color:var(--text);line-height:1.35}
.nd small{display:block;color:var(--muted);font-size:11.5px}
.note .btn{width:100%;margin-top:16px;text-align:center;justify-content:center}
.c-gst{--c:#1e3a5f}.c-it{--c:#8c6d2c}.c-tds{--c:#0f766e}.c-pay{--c:#7c3aed}

/* exhibits: tables, figures, calculators */
.ex{margin:26px 0 30px;border:1px solid var(--line);background:var(--pane)}
.ex>.exh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--bg2)}
.exh b{font:600 11.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.exh span{font-size:12.5px;color:var(--muted)}
.ex>.exb{padding:20px 22px}
.tb{width:100%;border-collapse:collapse;font-size:14.5px}
.tb th{font:600 11.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 0;border-bottom:1px solid var(--text)}
.tb td{padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tb td:not(:first-child),.tb th:not(:first-child){text-align:right;padding-left:14px}
.tb tr.tt td{border-top:1px solid var(--text);border-bottom:3px double var(--text);font-weight:600;font-size:15.5px}
.tb td small{display:block;font-size:12.5px;color:var(--muted)}
.svc{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.svc a{padding:18px 18px 18px 0;border-bottom:1px solid var(--line);display:block}
.svc a:nth-child(odd){border-right:1px solid var(--line)}
.svc a:nth-child(even){padding-left:18px}
.svc b{display:block;font:400 19px var(--ser);color:var(--accent)}
.svc span{font-size:13.5px;color:var(--muted)}
.svc a:hover b{text-decoration:underline;text-underline-offset:3px}
.kp{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:26px 0;background:var(--pane)}
.kp div{padding:18px;border-right:1px solid var(--line)}
.kp div:last-child{border:0}
.kp b{display:block;font:400 34px/1 var(--ser);color:var(--accent)}
.kp span{font-size:12.5px;color:var(--muted)}
.team{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.pp{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:18px;border:1px solid var(--line);background:var(--pane)}
.pp .mono{width:64px;height:64px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font:400 24px var(--ser)}
.pp b{font:400 19px var(--ser)}.pp small{display:block;font-size:12.5px;color:var(--band);font-weight:500}.pp p{font-size:13.5px;color:var(--muted);margin:6px 0 0}

/* forms inside exhibits */
.fg{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.fg label{display:flex;flex-direction:column;gap:6px;font:500 12.5px var(--sans);color:var(--muted)}
.fg label.full{grid-column:1/-1}
.fg input,.fg select{font:400 15px var(--sans);padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--text)}
.fg input:focus,.fg select:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}
.fg .chk{flex-direction:row;align-items:center;gap:10px;color:var(--text);font-weight:400;font-size:14px}
.fg .chk input{width:18px;height:18px;accent-color:var(--accent)}
.fset{grid-column:1/-1;border:1px dashed var(--line);padding:14px 16px 16px;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.fset legend{font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 6px}
.cmp2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 6px}
.rg{border:1px solid var(--line);padding:16px 18px;background:var(--bg);position:relative}
.rg.win{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.rg.win:after{content:'Lower tax';position:absolute;top:-10px;right:12px;background:var(--accent);color:var(--on-accent);font:600 10.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px}
.rg small{font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rg b{display:block;font:400 34px/1.1 var(--ser);margin:6px 0 10px}
.rg .bar{height:6px;background:var(--bg2)}
.rg .bar i{display:block;height:100%;background:var(--accent);transition:width .4s}
#cO .bar i{background:var(--band)}
.vd{font:400 19px/1.45 var(--ser);margin:16px 0 4px;color:var(--accent)}
.vd b{font-weight:400;border-bottom:2px solid var(--band)}
.seg2{display:flex;border:1px solid var(--line)}
.seg2 button{flex:1;border:0;background:var(--bg);padding:10px 6px;font:500 13.5px var(--sans);cursor:pointer;color:var(--muted)}
.seg2 button+button{border-left:1px solid var(--line)}
.seg2 button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
.gout{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:18px}
.gout div{padding:14px 16px;border-right:1px solid var(--line)}
.gout div:last-child{border:0;background:color-mix(in srgb,var(--accent) 6%,transparent)}
.gout small{display:block;font-size:12px;color:var(--muted)}
.gout b{font:400 24px var(--ser)}
.gsplit{display:grid;grid-template-columns:1fr auto;gap:4px 20px;font-size:14px;margin-top:12px;color:var(--muted)}
.gsplit b{color:var(--text);font-weight:500;text-align:right}

/* calendar */
.calh{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.calh h3{margin:0;font-size:24px}
.calh button{width:38px;height:38px;border:1px solid var(--line);background:var(--bg);cursor:pointer;font-size:18px;color:var(--text)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.chips button{border:1px solid var(--line);background:var(--bg);padding:7px 12px;font:500 13px var(--sans);cursor:pointer;color:var(--muted)}
.chips button[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}
.calg{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.calg span{min-height:58px;padding:6px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;position:relative;background:var(--bg)}
.calg .dh{min-height:auto;font:600 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg2)}
.calg .td{background:color-mix(in srgb,var(--band) 12%,var(--bg));font-weight:600}
.calg .has{font-weight:600}
.calg i{position:absolute;left:8px;bottom:7px;display:flex;gap:3px}
.calg u{width:8px;height:8px;border-radius:50%;background:var(--c);text-decoration:none;display:block}
.calL{list-style:none;margin-top:18px}
.calL li{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);border-left:3px solid var(--c);padding-left:14px}
.calL li.past{opacity:.5}
.calL .dt{text-align:center;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.calL .dt b{display:block;font:400 26px/1 var(--ser);color:var(--text)}
.calL .tx b{font-weight:500;font-size:15px}
.calL .tx small{display:block;font-size:12.5px;color:var(--muted)}
.calL .dl{font:600 12.5px var(--sans);color:var(--accent);white-space:nowrap}
.calL .none{border-left-color:var(--line);color:var(--muted)}
.lgnd{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:12px}
.lgnd span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:6px}

/* quote + contact */
.qopt{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qopt label{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);background:var(--bg);cursor:pointer;font-size:14px}
.qopt label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg))}
.qopt input{accent-color:var(--accent);width:17px;height:17px}
.qsum{margin-top:18px}
.qsum ul{list-style:none;font-size:14px}
.qsum li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dotted var(--line);color:var(--muted)}
.qsum li b{color:var(--text);font-weight:500}
.qsum .tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px}
.qsum .tot b{font:400 36px var(--ser);color:var(--accent)}
.docl{list-style:none;display:grid;gap:6px;margin-top:12px}
.docl label{display:flex;gap:10px;align-items:center;font-size:14.5px;padding:8px 0;border-bottom:1px dotted var(--line);cursor:pointer}
.docl input{accent-color:var(--accent);width:17px;height:17px}
.docl label:has(input:checked){color:var(--muted);text-decoration:line-through}
.slots{display:flex;gap:6px;flex-wrap:wrap}
.slots button{border:1px solid var(--line);background:var(--bg);padding:10px 14px;font:500 13.5px var(--sans);cursor:pointer;color:var(--text)}
.slots button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.k-form{grid-template-columns:1fr 1fr}
.k-form input,.k-form select,.k-form textarea{border:1px solid var(--line);border-radius:3px;padding:11px 12px;background:var(--bg);font:400 15px var(--sans);color:var(--text)}
.k-form label{letter-spacing:0;color:var(--muted);font-size:12.5px;gap:6px}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{font:400 18px var(--ser)}

/* footer */
.df{border-top:3px double var(--line);margin-top:20px}
.dfw{max-width:1400px;margin:0 auto;padding:30px 32px 40px}
.end{text-align:center;font:italic 400 15px var(--ser);color:var(--muted);margin-bottom:30px}
.dg{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:24px;border-top:1px solid var(--line)}
.dg h4{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--band);margin-bottom:10px}
.dg p{font-size:14px;color:var(--muted)}
.dg a:hover{color:var(--accent)}
.disc{font-size:12px;color:var(--muted);margin-top:28px;max-width:80ch}

@media(max-width:1280px){.doc{grid-template-columns:220px minmax(0,1fr);gap:44px}.mg{grid-column:2;padding-top:0}.note{position:static}.nd{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){
 .links{display:none}.burger{display:block}
 .links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:6px 20px 14px}
 .links.open a{padding:13px 0;font-size:16px;border-bottom:1px solid var(--line)}
 .doc{grid-template-columns:1fr;padding:0 16px;gap:0}
 .toc{display:none}
 .tocm{display:block;position:sticky;top:64px;z-index:100;margin:0 -16px;padding:10px 16px;background:color-mix(in srgb,var(--bg) 95%,transparent);border-bottom:1px solid var(--line)}
 .tocm select{width:100%;font:500 14px var(--sans);padding:11px 12px;border:1px solid var(--line);background:var(--pane);color:var(--text)}
 .mg{grid-column:auto;padding:0 0 30px}
 .tw{padding:0 16px;height:64px}
 .logo .lt small{display:none}.logo .lt b{font-size:17px}.seal{width:38px;height:38px;font-size:13px}
 .tr .btn{display:none}
 .content{padding:28px 0 40px}
 .content h1{font-size:36px}.lede{font-size:18px}
 .content h2{font-size:25px;margin-top:44px}
 .kp{grid-template-columns:1fr 1fr}.kp div:nth-child(2){border-right:0}.kp div:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .svc,.team,.fg,.fset,.cmp2,.qopt,.k-form{grid-template-columns:1fr}
 .svc a:nth-child(odd){border-right:0}.svc a:nth-child(even){padding-left:0}
 .gout{grid-template-columns:1fr}.gout div{border-right:0;border-bottom:1px solid var(--line)}
 .ex>.exb{padding:16px}
 .tb{font-size:13.5px}
 .calg span{min-height:44px;padding:4px 5px;font-size:12px}.calg i{left:5px;bottom:5px}.calg u{width:6px;height:6px}
 .nd{grid-template-columns:1fr}
 .dg{grid-template-columns:1fr}
 .dfw{padding:24px 16px 32px}
}
.ns-dark{--pane:color-mix(in srgb,var(--bg) 85%,#fff)}
.seal{white-space:nowrap;font-size:13px;letter-spacing:-.04em}
.seal{display:flex;justify-content:center;align-items:center;gap:0}
