/* ============================================================
   myaccountingtools — blog article styles (shared)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Hanken+Grotesk:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap');

:root{
  --ink:oklch(0.24 0.02 245); --ink-soft:oklch(0.46 0.02 245); --ink-faint:oklch(0.62 0.015 245);
  --line:oklch(0.90 0.008 245); --line-soft:oklch(0.94 0.006 245);
  --bg:oklch(0.985 0.004 95); --surface:oklch(1 0 0); --surface-2:oklch(0.975 0.005 245);
  --accent:oklch(0.58 0.11 162); --accent-deep:oklch(0.46 0.095 162); --accent-soft:oklch(0.95 0.035 162);
  --accent-line:oklch(0.86 0.06 162); --accent-ink:oklch(0.34 0.07 162);
  --amber:oklch(0.62 0.11 70); --amber-soft:oklch(0.95 0.04 80); --amber-line:oklch(0.85 0.07 75); --amber-ink:oklch(0.42 0.09 60);
  --blue:oklch(0.58 0.11 245); --blue-soft:oklch(0.95 0.03 245); --blue-line:oklch(0.86 0.05 245); --blue-ink:oklch(0.38 0.08 245);
  --display:'Space Grotesk',sans-serif; --body:'Hanken Grotesk',sans-serif; --mono:'Geist Mono',ui-monospace,monospace;
  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-xl:32px;
  --shadow-sm:0 1px 2px oklch(0.24 0.02 245/0.04),0 1px 3px oklch(0.24 0.02 245/0.05);
  --shadow-md:0 4px 14px oklch(0.24 0.02 245/0.06),0 2px 6px oklch(0.24 0.02 245/0.04);
  --shadow-lg:0 18px 50px oklch(0.24 0.02 245/0.10),0 6px 18px oklch(0.24 0.02 245/0.06);
  --maxw:1200px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-0.02em;line-height:1.1;margin:0;text-wrap:balance;}
p{margin:0;text-wrap:pretty;}
a{color:inherit;text-decoration:none;}
.mono{font-family:var(--mono);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
@media(max-width:760px){.wrap{padding:0 20px;}body{font-size:16px;}}

.eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-ink);display:inline-flex;align-items:center;gap:9px;}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);}

.btn{font-family:var(--body);font-weight:600;font-size:16px;border:none;border-radius:999px;padding:14px 24px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:transform .15s,background .2s,box-shadow .2s,color .2s;white-space:nowrap;}
.btn-primary{background:var(--ink);color:var(--bg);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);}
.btn-accent{background:var(--accent-deep);color:#fff;}
.btn-accent:hover{transform:translateY(-1px);box-shadow:0 8px 22px oklch(0.46 0.095 162/0.35);}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--ink);background:var(--surface);}
.btn .arr{transition:transform .2s;} .btn:hover .arr{transform:translateX(3px);}

/* header / footer */
.site-head{position:sticky;top:0;z-index:50;background:oklch(0.985 0.004 95/0.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);}
.site-head .wrap{display:flex;align-items:center;gap:28px;height:70px;}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-0.02em;color:var(--ink);}
.brand .mark{width:30px;height:30px;border-radius:9px;background:var(--ink);display:grid;place-items:center;position:relative;flex:none;}
.brand .mark::before{content:"=";color:var(--accent);font-family:var(--mono);font-weight:600;font-size:17px;line-height:1;margin-top:-2px;}
.brand span{color:var(--accent-ink);}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto;}
.nav a{font-size:15px;font-weight:500;color:var(--ink-soft);padding:9px 14px;border-radius:999px;transition:color .15s,background .15s;}
.nav a:hover{color:var(--ink);background:var(--surface-2);}
.nav .nav-cta{margin-left:8px;}
@media(max-width:860px){.nav a:not(.nav-cta){display:none;}}

.site-foot{background:var(--ink);color:oklch(0.82 0.01 245);padding:72px 0 36px;margin-top:60px;}
.site-foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.site-foot .brand{color:#fff;margin-bottom:16px;}
.site-foot .brand .mark{background:oklch(0.32 0.02 245);}
.foot-col h5{font-family:var(--mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:oklch(0.62 0.015 245);margin:0 0 16px;font-weight:500;}
.foot-col a{display:block;font-size:15px;padding:5px 0;color:oklch(0.82 0.01 245);transition:color .15s;}
.foot-col a:hover{color:#fff;}
.foot-bar{max-width:var(--maxw);margin:48px auto 0;padding:24px 32px 0;border-top:1px solid oklch(0.32 0.02 245);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:oklch(0.6 0.015 245);font-family:var(--mono);}
@media(max-width:760px){.site-foot .wrap{grid-template-columns:1fr 1fr;}}

/* ---- article ---- */
.art-hero{padding:48px 0 24px;}
.crumb{font-family:var(--mono);font-size:12.5px;color:var(--ink-faint);display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.crumb a:hover{color:var(--accent-ink);}
.art-meta{font-family:var(--mono);font-size:12px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;display:flex;gap:14px;margin-top:20px;flex-wrap:wrap;}
.art-meta .cat{color:var(--accent-ink);}
.art-hero h1{font-size:clamp(30px,4.4vw,48px);margin-top:14px;max-width:18ch;line-height:1.05;}
.art-sub{color:var(--ink-soft);font-size:19px;margin-top:18px;max-width:60ch;}

.art-wrap{max-width:760px;margin:0 auto;padding:0 32px;}
@media(max-width:760px){.art-wrap{padding:0 20px;}}
.art-body{padding:30px 0 40px;}
.art-body > p{font-size:17.5px;color:var(--ink-soft);margin:0 0 20px;line-height:1.68;}
.art-body > p.lead-label{color:var(--ink);font-weight:600;margin-bottom:8px;}
.art-body h2{font-size:27px;margin:46px 0 16px;letter-spacing:-0.02em;scroll-margin-top:86px;}
.art-body h2:first-child{margin-top:8px;}
.art-body a{color:var(--accent-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:2px;}
.art-body a[target]{text-decoration-style:dotted;}
.art-body a:hover{text-decoration-color:var(--accent-deep);}
.art-body ul{margin:0 0 22px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.art-body ul li{position:relative;padding-left:26px;font-size:16.5px;color:var(--ink-soft);line-height:1.6;}
.art-body ul li::before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:2px;background:var(--accent);}
.art-body ul li strong{color:var(--ink);}

/* tables */
.tbl-scroll{overflow-x:auto;margin:8px 0 28px;border:1px solid var(--line);border-radius:var(--r-md);}
.art-body table{width:100%;border-collapse:collapse;font-size:15px;min-width:440px;}
.art-body table th{background:var(--surface-2);font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);font-weight:500;}
.art-body table td{padding:12px 16px;border-bottom:1px solid var(--line-soft);color:var(--ink-soft);vertical-align:top;}
.art-body table tr:last-child td{border-bottom:none;}
.art-body table td:first-child{color:var(--ink);font-weight:500;}
.art-body table td strong{color:var(--ink);}

/* callouts */
.callout{border-radius:var(--r-md);padding:18px 20px;margin:8px 0 26px;border:1px solid var(--accent-line);background:var(--accent-soft);}
.callout .co-h{font-family:var(--display);font-weight:600;font-size:16px;color:var(--accent-ink);margin-bottom:6px;display:flex;align-items:center;gap:8px;}
.callout p{font-size:15.5px;color:var(--ink);line-height:1.6;margin:0;}
.callout p + p{margin-top:8px;}
.callout.warn{border-color:var(--amber-line);background:var(--amber-soft);}
.callout.warn .co-h{color:var(--amber-ink);}
.callout.info{border-color:var(--blue-line);background:var(--blue-soft);}
.callout.info .co-h{color:var(--blue-ink);}

/* CTA card */
.cta{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:28px 30px;margin:30px 0;display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.cta h3{font-size:21px;color:#fff;}
.cta p{color:oklch(0.82 0.01 245);font-size:15.5px;margin:0;}
.cta .btn{margin-top:4px;}

/* related / share */
.art-foot{border-top:1px solid var(--line);margin-top:36px;padding:30px 0 0;}
.tagline{font-family:var(--mono);font-size:12.5px;color:var(--ink-faint);line-height:1.6;}
.related{padding:10px 0 30px;}
.related h4{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;margin:0 0 18px;}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:600px){.rel-grid{grid-template-columns:1fr;}}
.rel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;transition:transform .15s,box-shadow .2s,border-color .2s;}
.rel-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-line);}
.rel-card .rc-cat{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);}
.rel-card h5{font-family:var(--display);font-size:16px;font-weight:600;margin:7px 0 0;line-height:1.25;}

/* reading progress */
.progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);width:0;z-index:60;transition:width .1s;}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
@media print{.site-head,.site-foot,.progress,.cta,.related,.crumb{display:none!important;}.art-wrap,.wrap{max-width:none;}}
