/* TaxOnCrypto — ledger worksheet theme */
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-var.woff2) format("woff2");font-weight:500 800;font-stretch:100% 125%;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/assets/fonts/public-sans-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/assets/fonts/public-sans-italic-var.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

:root{
  --paper:#F3F6F2;--sheet:#FFFFFF;--ink:#15213A;--ink-2:#45516A;--ink-3:#626C82;
  --green-950:#0A271E;--green-900:#0F3428;--green-800:#164535;--green-700:#1D5E46;--green-600:#26745A;--green-100:#E2EDE5;--green-50:#F0F6F1;
  --rule:#D6E2D9;--rule-2:#B4C9BB;--red:#B42318;--hl:#FFD84A;--amber:#F2A21E;
  --band-ink:#EEF4EF;--band-ink-2:#B2CABC;--band-rule:rgba(238,244,239,.16);
  --f-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-text:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1200px;--gutter:clamp(16px,4vw,32px);
  --r-s:6px;--r-m:10px;
  --shadow-sheet:0 1px 0 rgba(21,33,58,.05),0 30px 60px -32px rgba(4,25,17,.55);
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--f-text);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
[hidden]{display:none!important}
::selection{background:var(--hl);color:var(--ink)}
:focus-visible{outline:2px solid var(--green-700);outline-offset:2px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.num{font-variant-numeric:tabular-nums lining-nums}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 var(--r-s) 0;text-decoration:none;font-weight:600}
.skip:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- header ---------- */
.site-header{background:var(--paper);border-bottom:1px solid var(--rule);position:relative;z-index:20}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:1.14rem;letter-spacing:-.01em;white-space:nowrap}
.brand img{width:34px;height:34px;border-radius:9px}
.nav{display:flex;align-items:center;gap:30px}
.nav a{color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink);border-bottom-color:var(--rule-2)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--amber)}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:700;font-size:.95rem;padding:9px 14px;border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--sheet)}
.menu summary::-webkit-details-marker{display:none}
.menu summary .bars{width:16px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
.menu summary .bars::after{content:"";position:absolute;left:0;right:0;top:2px;border-top:2px solid currentColor}
.menu[open] summary{background:var(--ink);color:#fff;border-color:var(--ink)}
.menu nav{position:absolute;right:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 32px));background:var(--sheet);color:var(--ink);border:1px solid var(--rule-2);border-radius:var(--r-m);box-shadow:var(--shadow-sheet);padding:8px;display:flex;flex-direction:column}
.menu nav a{display:block;padding:12px 12px;border-radius:var(--r-s);text-decoration:none;font-weight:600}
.menu nav a:hover{background:var(--green-50)}
@media (max-width:820px){.nav{display:none}.menu{display:block}}
.site-header.on-band{background:var(--green-900);border-bottom-color:var(--band-rule)}
.on-band .brand{color:#fff}
.on-band .nav a{color:var(--band-ink-2)}
.on-band .nav a:hover{color:#fff;border-bottom-color:var(--band-rule)}
.on-band .menu summary{background:transparent;color:#fff;border-color:var(--band-rule)}
.on-band :focus-visible{outline-color:var(--hl)}

/* ---------- buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:var(--r-s);border:1px solid transparent;font-family:var(--f-display);font-weight:700;font-stretch:106%;font-size:1rem;letter-spacing:.005em;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn-primary{background:var(--green-700);color:#fff}
.btn-primary:hover{background:var(--green-800)}
.btn-quiet{background:transparent;color:var(--ink-2);border-color:var(--rule-2)}
.btn-quiet:hover{color:var(--ink);border-color:var(--ink-2)}
.btn-light{background:var(--hl);color:var(--ink)}
.btn-light:hover{background:#ffe27a}
.text-link{color:var(--green-700);font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.text-link:hover{text-decoration-thickness:2px}

/* ---------- hero band ---------- */
.band{background-color:var(--green-900);background-image:repeating-linear-gradient(180deg,transparent 0 47px,rgba(238,244,239,.045) 47px 48px);color:var(--band-ink)}
.hero{padding:56px 0 80px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,5vw,72px);align-items:start}
.hero-copy{position:sticky;top:40px;padding-top:12px}
.hero h1{font-family:var(--f-display);font-weight:800;font-stretch:118%;font-size:clamp(2.4rem,1.45rem + 2.4vw,3.45rem);line-height:1.03;letter-spacing:-.022em;color:#fff;text-wrap:balance}
.hero .sub{margin-top:22px;font-size:1.14rem;line-height:1.55;color:var(--band-ink);max-width:40ch}
.facts{margin-top:34px;border-top:1px solid var(--band-rule)}
.facts div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--band-rule);font-size:.95rem}
.facts dt{font-family:var(--f-display);font-weight:700;font-stretch:108%;color:var(--band-ink-2)}
.facts dd{color:var(--band-ink)}
.hero .more{display:inline-block;margin-top:26px;color:#fff;font-weight:650;text-decoration:underline;text-decoration-color:var(--hl);text-decoration-thickness:2px;text-underline-offset:5px}
.hero .more:hover{color:var(--hl)}
@media (max-width:1023px){.hero{padding:36px 0 56px}.hero .wrap{grid-template-columns:1fr}.hero-copy{position:static;padding-top:0}.hero h1{max-width:14ch}}
@media (max-width:700px){.hero .facts,.hero .more{display:none}.hero .sub{font-size:1.06rem}}

/* ---------- worksheet ---------- */
.ws{background:var(--sheet);color:var(--ink);border-radius:4px;box-shadow:var(--shadow-sheet);counter-reset:line;font-variant-numeric:tabular-nums lining-nums;scroll-margin-top:20px;overflow:hidden}
.ws-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;border-bottom:2px solid var(--ink)}
.ws-head>*{padding:14px 18px}
.ws-mark{border-right:1px solid var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.66rem;font-weight:700;color:var(--ink-2);letter-spacing:.01em}
.ws-mark img{width:30px;height:30px;border-radius:8px}
.ws-title{display:flex;flex-direction:column;justify-content:center}
.ws-title h2{font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:1.3rem;line-height:1.15;letter-spacing:-.01em}
.ws-title p{font-size:.82rem;color:var(--ink-2);margin-top:3px}
.ws-year{border-left:1px solid var(--ink);display:flex;align-items:center;font-family:var(--f-display);font-weight:800;font-stretch:125%;font-size:2.35rem;line-height:1;letter-spacing:-.03em}
.ws-year .o{color:transparent;-webkit-text-stroke:1.3px var(--ink)}
.ws-part{display:flex;align-items:stretch;border-bottom:1px solid var(--ink);min-height:34px}
.part-no{background:var(--ink);color:#fff;font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:.82rem;padding:0 12px;display:flex;align-items:center;white-space:nowrap}
.part-title{font-family:var(--f-display);font-weight:700;font-stretch:104%;font-size:.92rem;padding:6px 12px;display:flex;align-items:center}
.ws-lines{list-style:none}
.ws-line{counter-increment:line;display:grid;grid-template-columns:46px minmax(0,1fr) minmax(170px,236px);align-items:center;border-bottom:1px solid var(--rule);min-height:66px}
.ws-line::before{content:counter(line);align-self:stretch;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--rule);font-family:var(--f-display);font-weight:800;font-size:.9rem;color:var(--ink)}
.lbl{padding:10px 14px;min-width:0}
.lbl-row{display:flex;align-items:baseline;gap:8px}
.lbl label{font-weight:650;font-size:1rem;line-height:1.3}
.dots{flex:1;min-width:14px;border-bottom:2px dotted var(--rule-2);transform:translateY(-4px)}
.lbl small{display:block;color:var(--ink-3);font-size:.8rem;line-height:1.35;margin-top:2px}
.fld{padding:10px 16px 10px 0}
.ws select,.ws input{width:100%;height:46px;border:1px solid var(--rule-2);border-radius:var(--r-s);background-color:var(--green-50);color:var(--ink);font-size:1rem;padding:0 12px;transition:border-color .15s,background-color .15s}
.ws select{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%2315213A' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
.ws select:disabled{cursor:not-allowed;color:var(--ink-3)}
.ws input::placeholder{color:#8A93A6}
.ws select:hover,.ws input:hover{border-color:var(--ink-3)}
.ws select:focus-visible,.ws input:focus-visible{outline:2px solid var(--green-700);outline-offset:1px;border-color:var(--green-700);background-color:#fff}
.money{position:relative}
.money .cur{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);font-weight:600;pointer-events:none}
.money input{text-align:right;padding-left:30px;font-variant-numeric:tabular-nums}
.ws.is-wide-cur .money input{padding-left:40px}
.money input::-webkit-outer-spin-button,.money input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.money input[type=number]{-moz-appearance:textfield;appearance:textfield}
.ws-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 16px 22px 62px}
.ws-err{flex-basis:100%;color:var(--red);font-weight:600;font-size:.92rem;min-height:0}
.ws-err:empty{display:none}
.ws-results{border-top:2px solid var(--ink);animation:wsIn .35s ease both}
@keyframes wsIn{from{opacity:0}to{opacity:1}}
.ws-out .ws-line{grid-template-columns:46px minmax(0,1fr) auto;min-height:54px}
.out-label{padding:10px 14px;font-weight:600}
.ws-out output{padding:0 18px;font-weight:700;font-size:1.06rem;text-align:right;white-space:nowrap}
.ws-line.info .out-label,.ws-line.info output{color:var(--ink-2);font-weight:500}
.ws-line.is-neg output{color:var(--red)}
.ws-line.total{min-height:84px;border-bottom:1px solid var(--rule)}
.ws-line.total .out-label{font-family:var(--f-display);font-weight:800;font-stretch:106%;font-size:1.05rem}
.ws-line.total output{position:relative;z-index:0;margin-right:18px;padding:0 4px 1px;font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:1.85rem;letter-spacing:-.01em;border-bottom:4px double var(--ink)}
.ws-line.total output::before{content:"";position:absolute;z-index:-1;left:-8px;right:-8px;top:34%;bottom:3px;background:var(--hl);border-radius:3px 9px 4px 10px;transform:skewX(-10deg) scaleX(0);transform-origin:left center;transition:transform .6s cubic-bezier(.22,.7,.2,1) .12s}
.ws-line.total.is-marked output::before{transform:skewX(-10deg) scaleX(1)}
.ws-note{padding:16px 18px 22px 62px;color:var(--ink-2);font-size:.93rem;line-height:1.55}
.ws-foot{padding:12px 18px;border-top:1px solid var(--rule);background:var(--green-50);font-size:.8rem;color:var(--ink-2)}
.ws-foot a{color:var(--green-700);font-weight:600}
@media (max-width:600px){
  .ws-head{grid-template-columns:minmax(0,1fr) auto}
  .ws-mark{display:none}
  .ws-head>*{padding:12px 14px}
  .ws-year{font-size:1.55rem;padding:12px 12px!important}
  .ws-title h2{font-size:1.15rem}
  .ws-title p{font-size:.78rem}
  .ws-line{grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;min-height:0}
  .ws-line::before{grid-row:1/span 2}
  .lbl{padding:12px 12px 8px}
  .fld{grid-column:2;padding:0 12px 14px}
  .dots{display:none}
  .ws-actions{padding:16px 12px 20px 50px}
  .ws-actions .btn{flex:1 1 auto;padding:0 16px;white-space:nowrap}
  .ws-actions .btn-primary{flex-grow:2}
  .ws-out .ws-line{grid-template-columns:38px minmax(0,1fr) auto;grid-template-rows:auto}
  .ws-out .ws-line::before{grid-row:auto}
  .out-label{padding:10px 10px;font-size:.94rem}
  .ws-out output{padding:0 12px;font-size:1rem}
  .ws-line.total output{font-size:1.45rem;margin-right:12px}
  .ws-note{padding:14px 12px 18px 50px}
}
@media (prefers-reduced-motion:reduce){
  .ws-results{animation:none}
  .ws-line.total output::before{transition:none}
}

/* ---------- sections ---------- */
.section{padding:clamp(64px,8vw,104px) 0;border-top:1px solid var(--rule)}
.section-head{max-width:760px}
.section h2,.page-head h1{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:clamp(1.85rem,1.2rem + 2.2vw,2.75rem);line-height:1.06;letter-spacing:-.018em;text-wrap:balance}
.lead{margin-top:16px;font-size:1.14rem;line-height:1.6;color:var(--ink-2);max-width:62ch}

/* 2026 figures */
.figures{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.fig-col h3{font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:1.2rem;padding-bottom:12px;border-bottom:2px solid var(--ink);display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.fig-col h3 span{font-family:var(--f-text);font-weight:600;font-size:.82rem;color:var(--ink-3);font-stretch:100%}
.fig-col dl div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule)}
.fig-col dt{color:var(--ink-2);font-size:.95rem}
.fig-col dd{font-weight:700;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.fig-src{margin-top:14px;font-size:.84rem;color:var(--ink-3);line-height:1.5}
.fig-src a{color:var(--ink-2)}
@media (max-width:900px){.figures{grid-template-columns:1fr;gap:36px}}
.limits{margin-top:56px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;padding-top:28px;border-top:2px solid var(--ink)}
.limits h3{font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:1.25rem;line-height:1.2}
.limits ul{list-style:none;columns:2;column-gap:40px}
.limits li{break-inside:avoid;padding:0 0 14px 22px;position:relative;color:var(--ink-2);font-size:.97rem}
.limits li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--ink-2)}
@media (max-width:900px){.limits{grid-template-columns:1fr;gap:18px}.limits ul{columns:1}}

/* guides index */
.guide-index{margin-top:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 44px}
.guide-index h3{font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:1.08rem;padding-bottom:10px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.guide-index h3 span{font-family:var(--f-text);font-weight:600;font-size:.8rem;color:var(--ink-3);font-stretch:100%}
.guide-index ul{list-style:none}
.guide-index li{border-bottom:1px solid var(--rule)}
.guide-index li a{display:block;padding:11px 0;color:var(--ink);text-decoration:none;font-weight:550;line-height:1.4}
.guide-index li a:hover{color:var(--green-700);text-decoration:underline;text-underline-offset:3px}
.guide-index li.new a::after{content:"New";margin-left:8px;font-size:.72rem;font-weight:700;color:var(--green-700);background:var(--green-100);padding:2px 7px;border-radius:20px;vertical-align:2px}
@media (max-width:1023px){.guide-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.guide-index{grid-template-columns:1fr}}
.all-guides{margin-top:40px}

/* FAQ */
.faq{margin-top:36px;max-width:860px;border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:22px 48px 22px 0;font-family:var(--f-display);font-weight:700;font-stretch:104%;font-size:1.14rem;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:16px;height:2px;background:var(--ink);transition:transform .2s ease}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0deg)}
.faq summary:hover{color:var(--green-700)}
.faq .answer{padding:0 0 24px;color:var(--ink-2);max-width:68ch;font-size:1.03rem}
.faq .answer p+p{margin-top:.8em}
@media (prefers-reduced-motion:reduce){.faq summary::before,.faq summary::after{transition:none}}

/* note strip */
.note-strip{padding:28px 0;border-top:1px solid var(--rule);font-size:.9rem;color:var(--ink-2)}
.note-strip p{max-width:90ch}
.note-strip a{color:var(--green-700);font-weight:600}

/* ---------- posts ---------- */
.post-head{padding:44px 0 34px;border-bottom:1px solid var(--rule)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:.86rem;color:var(--ink-3)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--rule-2)}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.page-head .crumbs+h1{margin-top:14px}
.post-cat{display:inline-block;margin-top:22px;font-weight:700;font-size:.9rem;color:var(--green-700);text-decoration:none;border-bottom:2px solid var(--green-100)}
.post-cat:hover{border-bottom-color:var(--green-700)}
.post-head h1{margin-top:12px;font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:clamp(2rem,1.3rem + 2.6vw,3.2rem);line-height:1.06;letter-spacing:-.018em;max-width:26ch;text-wrap:balance}
.post-meta{margin-top:18px;color:var(--ink-2);font-size:.94rem}
.post-meta strong{color:var(--ink);font-weight:650}
.post-layout{display:grid;grid-template-columns:230px minmax(0,740px);gap:clamp(40px,5vw,72px);padding-top:44px;padding-bottom:72px;align-items:start}
.toc{position:sticky;top:24px;font-size:.9rem;max-height:calc(100vh - 48px);overflow:auto}
.toc-title{font-family:var(--f-display);font-weight:800;font-size:.95rem;margin-bottom:12px}
.toc ol{list-style:none;border-left:2px solid var(--rule)}
.toc a{display:block;margin-left:-2px;padding:6px 0 6px 14px;border-left:2px solid transparent;color:var(--ink-2);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--ink)}
.toc a.is-active{color:var(--ink);border-left-color:var(--green-700);font-weight:600}
.toc-mobile{display:none;margin-bottom:28px;border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--sheet)}
.toc-mobile summary{cursor:pointer;padding:14px 16px;font-weight:700;list-style:none;display:flex;justify-content:space-between}
.toc-mobile summary::-webkit-details-marker{display:none}
.toc-mobile summary::after{content:"Show";font-weight:600;color:var(--green-700);font-size:.9rem}
.toc-mobile[open] summary::after{content:"Hide"}
.toc-mobile ol{padding:0 16px 14px 34px}
.toc-mobile li{padding:5px 0}
.toc-mobile a{color:var(--ink-2)}
@media (max-width:1023px){.post-layout{grid-template-columns:minmax(0,1fr)}.toc{display:none}.toc-mobile{display:block}}
@media (max-width:600px){.prose{font-size:1.0625rem;line-height:1.68}.prose table{font-size:.92rem}.prose th,.prose td{padding:9px 11px}.quick-answer{padding:16px 16px 18px}.quick-answer p{font-size:1.02rem}.post-head{padding:32px 0 26px}.cta-band{padding:22px 18px 24px}}

.prose{font-size:1.125rem;line-height:1.72;color:var(--ink);min-width:0}
.prose>*+*{margin-top:1.15em}
.prose h2{font-family:var(--f-display);font-weight:800;font-stretch:106%;font-size:clamp(1.45rem,1.2rem + 1vw,1.8rem);line-height:1.18;letter-spacing:-.012em;margin-top:2.2em;scroll-margin-top:24px}
.prose h3{font-family:var(--f-display);font-weight:700;font-stretch:102%;font-size:1.22rem;line-height:1.3;margin-top:1.8em;scroll-margin-top:24px}
.prose h2+*,.prose h3+*{margin-top:.6em}
.prose a{color:var(--green-700);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose a:hover{text-decoration-thickness:2px}
.prose strong,.prose b{font-weight:700}
.prose ul,.prose ol{padding-left:1.35em}
.prose li+li{margin-top:.5em}
.prose li::marker{color:var(--ink-3)}
.prose code{font-size:.92em;background:var(--green-50);padding:1px 5px;border-radius:4px}
.table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r-s);background:var(--sheet);-webkit-overflow-scrolling:touch}
.prose table{width:100%;border-collapse:collapse;font-size:.97rem;line-height:1.5;font-variant-numeric:tabular-nums}
.prose th{font-family:var(--f-display);font-weight:700;text-align:left;background:var(--green-50);border-bottom:2px solid var(--ink);white-space:nowrap}
.prose th,.prose td{padding:11px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
.prose tbody tr:last-child td{border-bottom:none}
.prose .callout{background:var(--sheet);border:1px solid var(--rule);border-left:4px solid var(--green-700);border-radius:0 var(--r-s) var(--r-s) 0;padding:16px 20px;font-size:1.04rem}
.prose .callout.warn{border-left-color:var(--red)}
.quick-answer{background:var(--sheet);border:1px solid var(--rule-2);border-radius:var(--r-s);padding:20px 22px 22px;box-shadow:0 18px 36px -30px rgba(4,25,17,.5)}
.qa-label{display:block;font-family:var(--f-display);font-weight:800;font-stretch:106%;font-size:.98rem;color:var(--green-700);margin-bottom:6px}
.quick-answer p{font-size:1.08rem;line-height:1.65}
.quick-answer p+p{margin-top:.6em}
.prose .ws{margin:2em 0;font-size:1rem;line-height:1.6}
.prose .ws ol{padding-left:0}
.prose .ws li+li{margin-top:0}
.prose .ws p,.prose .ws small{margin-top:0}
.prose .ws h2{margin:0;font-size:1.3rem}
.prose h3.faq-q{padding-top:1.1em;border-top:1px solid var(--rule)}
.prose h2+h3.faq-q{border-top:2px solid var(--ink);margin-top:.9em}
.sources{font-size:.98rem}
.sources li{color:var(--ink-2)}
.cta-band{margin-top:2.6em;border-radius:var(--r-s);padding:26px 26px 28px;color:var(--band-ink);background-image:none}
.prose a.btn{text-decoration:none}
.prose a.btn-primary{color:#fff}
.prose a.btn-light{color:var(--ink)}
.cta-band .cta-k{font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:1.4rem;line-height:1.2;color:#fff}
.cta-band p{margin-top:8px;color:var(--band-ink);font-size:1.02rem}
.cta-band .btn{margin-top:18px}
.post-disclaimer{margin-top:2.4em;padding-top:18px;border-top:1px solid var(--rule);font-size:.88rem;line-height:1.6;color:var(--ink-3)}
.post-disclaimer a{color:var(--ink-2)}
.related{padding:56px 0 72px;border-top:1px solid var(--rule);background:var(--sheet)}
.related h2{font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:1.5rem}
.rel-list{list-style:none;margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;border-top:2px solid var(--ink)}
.rel-list li{border-bottom:1px solid var(--rule)}
.rel-list a{display:block;padding:16px 0;text-decoration:none;color:var(--ink)}
.rel-list .k{display:block;font-size:.82rem;font-weight:700;color:var(--green-700);margin-bottom:3px}
.rel-list .t{font-weight:650;font-size:1.05rem;line-height:1.35}
.rel-list a:hover .t{text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){.rel-list{grid-template-columns:1fr}}

/* ---------- guides hub ---------- */
.page-head{padding:56px 0 40px}
.page-head .lead{margin-top:18px}
.hub-tools{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;margin-top:30px;padding:18px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.filter{display:flex;align-items:center;gap:12px;flex:1 1 320px;max-width:460px}
.filter label{font-weight:700;white-space:nowrap}
.filter input{width:100%;height:46px;border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--sheet);padding:0 14px;font-size:1rem}
.filter input:focus-visible{outline:2px solid var(--green-700);outline-offset:1px;border-color:var(--green-700)}
.hub-jump{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.92rem}
@media (max-width:600px){.filter{flex-direction:column;align-items:stretch;gap:8px}}
.nowrap{white-space:nowrap}
.hub-jump a{color:var(--ink-2);font-weight:600;text-decoration:none}
.hub-jump a:hover{color:var(--ink);text-decoration:underline}
.hub-count{font-size:.9rem;color:var(--ink-3);margin-top:14px}
.hub-group{padding:44px 0 8px;scroll-margin-top:16px}
.hub-group h2{font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:1.6rem;line-height:1.15}
.hub-group>p{color:var(--ink-2);margin-top:6px;max-width:70ch}
.hub-list{list-style:none;margin-top:18px;border-top:2px solid var(--ink)}
.hub-row{border-bottom:1px solid var(--rule)}
.hub-row a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 32px;padding:18px 0;text-decoration:none;color:var(--ink)}
.hub-row .t{font-family:var(--f-display);font-weight:700;font-stretch:102%;font-size:1.14rem;line-height:1.3}
.hub-row .d{grid-column:1;color:var(--ink-2);font-size:.97rem;line-height:1.5;max-width:75ch}
.hub-row .m{grid-column:2;grid-row:1/span 2;text-align:right;font-size:.86rem;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.hub-row .m b{display:block;color:var(--ink-2);font-weight:600}
.hub-row a:hover .t{color:var(--green-700);text-decoration:underline;text-underline-offset:3px}
.hub-row.new .t::after{content:"New";margin-left:10px;font-family:var(--f-text);font-size:.72rem;font-weight:700;color:var(--green-700);background:var(--green-100);padding:2px 8px;border-radius:20px;vertical-align:3px}
.hub-body{padding-bottom:88px}
.hub-empty{padding:28px 0;color:var(--ink-2)}
@media (max-width:640px){.hub-row a{grid-template-columns:1fr}.hub-row .m{grid-column:1;grid-row:auto;text-align:left}.hub-row .m b{display:inline;margin-right:8px}}

/* ---------- simple pages ---------- */
.page-body{padding-top:8px;padding-bottom:88px}
.page-body .prose{max-width:740px}
.page-body .prose>:first-child{margin-top:0}
.contact-card{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding:22px 24px;background:var(--sheet);border:1px solid var(--rule-2);border-radius:var(--r-s)}
.contact-card .addr{font-family:var(--f-display);font-weight:800;font-stretch:106%;font-size:clamp(1.15rem,1rem + 1vw,1.5rem);word-break:break-all}
.copy-status{font-size:.9rem;color:var(--green-700);font-weight:600;min-height:1.2em}
.notfound{padding-top:72px;padding-bottom:96px}
.notfound .big{font-family:var(--f-display);font-weight:800;font-stretch:125%;font-size:clamp(5rem,3rem + 10vw,10rem);line-height:.9;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px var(--ink)}
.notfound h1{margin-top:18px;font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:clamp(1.8rem,1.3rem + 2vw,2.6rem);line-height:1.1}
.notfound .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* ---------- footer ---------- */
.site-footer{background:var(--green-950);color:var(--band-ink-2);padding:64px 0 28px;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:36px}
.site-footer .brand{color:#fff}
.foot-about{margin-top:14px;max-width:36ch;line-height:1.6}
.foot-col h2{font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:.98rem;color:#fff;margin-bottom:12px}
.foot-col ul{list-style:none}
.foot-col li{padding:5px 0}
.site-footer a{color:var(--band-ink);text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.foot-mail{display:inline-block;margin-top:14px;color:#fff!important;font-weight:650;border-bottom:2px solid var(--hl)}
.foot-legal{margin-top:48px;padding-top:20px;border-top:1px solid var(--band-rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:.84rem}
.site-footer :focus-visible{outline-color:var(--hl)}
@media (max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-grid>div:first-child{grid-column:1/-1}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

@media print{
  .site-header,.site-footer,.toc,.toc-mobile,.cta-band,.related,.ws-actions{display:none!important}
  body{background:#fff}
  .post-layout{display:block;padding:0}
  .prose{font-size:11pt}
}
