/* Optimize25 · bookkeeping section (bookkeeping*.html). GENERATED by site-src/port_true_figure.py from
   True Figure's style.css: classes prefixed bk-, colours moved to the Optimize25 greens. Hand overrides
   live in the second half of this file, after the generated rules. */
.bk { --tf-bg: var(--paper); --tf-bg-soft: var(--paper-2); --tf-bg-tint: #ECEFE6; --tf-ink: var(--ink); --tf-ink-soft: var(--ink-2); --tf-ink-faint: var(--ink-3); --tf-line: #DCE0D6; --tf-line-strong: var(--line-2); --tf-indigo: var(--green-ink); --tf-indigo-deep: #1F5230; --tf-indigo-soft: #E1EEE0; --tf-indigo-border: #C5DEC3; --tf-navy: var(--tile); --tf-navy-2: var(--tile-3); --tf-cyan: #2F7468; --tf-cyan-soft: #DCEDE8; --tf-green: #2F8A4B; --tf-green-soft: #E3F2E2; --tf-amber: var(--lime-ink); --tf-amber-soft: #EEF3DC; --tf-rose: #A4473A; --tf-rose-soft: #F7E9E4; --tf-red: #B4432F; --tf-display: var(--f-d); --tf-sans: var(--f-b); --tf-mono: var(--f-m); --tf-max: 1200px; --tf-r: var(--r-card); --tf-ease: var(--ease); --tf-sh-sm: 0 1px 2px rgba(6,15,12,.05), 0 2px 8px rgba(6,15,12,.05); --tf-sh-md: 0 2px 6px rgba(6,15,12,.05), 0 12px 32px rgba(6,15,12,.10); --tf-sh-lg: 0 4px 12px rgba(6,15,12,.06), 0 28px 70px rgba(6,15,12,.18); }
.bk section { padding: 72px 0; }
@media (max-width: 680px) { .bk section { padding: 52px 0; } }
.bk h1, .bk h2, .bk h3, .bk h4 { font-family: var(--f-d); font-weight: 600; line-height: 1.1; letter-spacing: -.025em; }

.bk-num { font-family:var(--tf-mono); font-variant-numeric:tabular-nums }
.bk-accent { color:var(--tf-indigo) }
.bk-center { text-align:center }
.bk-kicker { display:inline-flex; align-items:center; gap:9px; font-family:var(--tf-display); font-size:12.5px;
  letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--tf-indigo) }
.bk-kicker .bk-dot { width:7px; height:7px; border-radius:50%; background:var(--tf-green) }
.bk-hero-ctas { display:flex; gap:13px; margin-top:32px; flex-wrap:wrap }
.bk-hero-proof { display:flex; gap:8px 22px; margin-top:34px; flex-wrap:wrap }
.bk-proof-item { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:var(--tf-ink-soft) }
.bk-proof-item svg { color:var(--tf-green); flex:none }
@keyframes bk-fade {from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
.bk-m-kpis { display:grid; grid-template-columns:1fr 1fr 1fr; gap:11px }
.bk-mkpi { border:1px solid var(--tf-line); border-radius:11px; padding:12px 13px }
.bk-mkpi .bk-k { font-size:10.5px; font-weight:600; color:var(--tf-ink-faint); text-transform:uppercase; letter-spacing:.05em }
.bk-mkpi .bk-v { font-family:var(--tf-display); font-weight:700; font-size:18px; margin-top:5px }
.bk-mkpi .bk-t { font-size:11px; font-weight:600; margin-top:3px }
.bk-mkpi .bk-t.bk-up { color:var(--tf-green) }
.bk-mkpi .bk-t.bk-flat { color:var(--tf-ink-faint) }
.bk-m-chart { margin-top:14px; border:1px solid var(--tf-line); border-radius:11px; padding:14px 14px 6px }
.bk-m-chart .bk-ch-h { display:flex; justify-content:space-between; align-items:baseline; font-size:11.5px; font-weight:600; color:var(--tf-ink-faint) }
.bk-m-chart .bk-ch-h b { color:var(--tf-ink); font-size:12.5px }
.bk-bars { display:flex; align-items:flex-end; gap:8px; height:84px; margin-top:10px }
.bk-bars i { flex:1; border-radius:5px 5px 2px 2px; background:var(--tf-indigo-soft); position:relative; overflow:hidden }
.bk-bars i::after { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(180deg,var(--tf-indigo),#6D64F0); transform:translateY(100%); animation:bk-rise 1s var(--tf-ease) forwards }
.bk-bars i:nth-child(1) { height:42% }
.bk-bars i:nth-child(2) { height:58% }
.bk-bars i:nth-child(3) { height:50% }
.bk-bars i:nth-child(4) { height:72% }
.bk-bars i:nth-child(5) { height:64% }
.bk-bars i:nth-child(6) { height:88% }
.bk-bars i:nth-child(1)::after { animation-delay:.4s }
.bk-bars i:nth-child(2)::after { animation-delay:.5s }
.bk-bars i:nth-child(3)::after { animation-delay:.6s }
.bk-bars i:nth-child(4)::after { animation-delay:.7s }
.bk-bars i:nth-child(5)::after { animation-delay:.8s }
.bk-bars i:nth-child(6)::after { animation-delay:.9s }
@keyframes bk-rise {to{transform:translateY(0)}}
.bk-m-rows { margin-top:14px; display:grid; gap:7px }
.bk-mrow { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--tf-ink-soft) }
.bk-mrow svg { color:var(--tf-green); flex:none }
.bk-mrow .bk-num { margin-left:auto; font-size:12px; color:var(--tf-ink) }
@keyframes bk-floaty {0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.bk-sec-head { max-width:680px; margin-bottom:38px }
.bk-sec-head.bk-center { margin:0 auto 38px }
.bk-sec-head .bk-kicker { margin-bottom:14px }
.bk-sec-head h2 { font-size:clamp(28px,4vw,44px) }
.bk-sec-head p { color:var(--tf-ink-soft); font-size:17.5px; margin:16px 0 0 }
.bk-sec-head p b { color:var(--tf-ink); font-weight:600 }
.bk-grid { display:grid; gap:20px }
.bk-g2 { grid-template-columns:repeat(2,1fr) }
.bk-g3 { grid-template-columns:repeat(3,1fr) }
.bk-card { border:1px solid var(--tf-line); border-radius:var(--tf-r); background:var(--card); padding:28px; box-shadow:var(--tf-sh-sm);
  transition:transform .2s var(--tf-ease), box-shadow .2s var(--tf-ease), border-color .2s }
.bk-card.bk-hover:hover { transform:translateY(-5px); box-shadow:var(--tf-sh-md); border-color:var(--tf-indigo-border) }
.bk-card .bk-ic { width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; margin-bottom:18px }
.bk-card h3 { font-size:20px }
.bk-card p { color:var(--tf-ink-soft); font-size:14.5px; margin:10px 0 0 }
.bk-ic-indigo { background:var(--tf-indigo-soft);color:var(--tf-indigo) }
.bk-ic-green { background:var(--tf-green-soft);color:var(--tf-green) }
.bk-ic-cyan { background:var(--tf-cyan-soft);color:var(--tf-cyan) }
.bk-ic-rose { background:var(--tf-rose-soft);color:var(--tf-rose) }
.bk-ic-amber { background:var(--tf-amber-soft);color:var(--tf-amber) }
.bk-ic-navy { background:var(--tf-bg-tint);color:var(--tf-navy) }
.bk-problem { border-radius:var(--tf-r); border:1px solid var(--tf-line); padding:28px; box-shadow:var(--tf-sh-sm);
  transition:transform .2s var(--tf-ease), box-shadow .2s var(--tf-ease) }
.bk-problem.bk-hover:hover { transform:translateY(-5px); box-shadow:var(--tf-sh-md) }
.bk-problem.bk-p1 { background:var(--tf-rose-soft) }
.bk-problem.bk-p2 { background:var(--tf-amber-soft) }
.bk-problem.bk-p3 { background:var(--tf-cyan-soft) }
.bk-problem .bk-pic { width:44px;height:44px;border-radius:12px;background:var(--card);display:flex;align-items:center;justify-content:center;margin-bottom:16px }
.bk-problem.bk-p1 .bk-pic { color:var(--tf-rose) }
.bk-problem.bk-p2 .bk-pic { color:var(--tf-amber) }
.bk-problem.bk-p3 .bk-pic { color:var(--tf-cyan) }
.bk-problem h3 { font-size:20px }
.bk-problem p { color:var(--tf-ink-soft); font-size:14.5px; margin:10px 0 0 }
.bk-problem .bk-tag { margin-top:16px; padding-top:14px; border-top:1px solid rgba(6,15,12,.1); font-size:13px; font-weight:600; color:var(--tf-ink); display:flex; gap:8px; align-items:center }
.bk-problem .bk-tag svg { color:var(--tf-indigo); flex:none }
@keyframes bk-rowin {from{opacity:0; transform:translateX(-12px)}to{opacity:1; transform:none}}
.bk-ind h3 { font-size:18.5px; display:flex; align-items:center; gap:12px }
.bk-ind h3 .bk-em { width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none }
.bk-ind p { color:var(--tf-ink-soft); font-size:14px; margin:13px 0 0 }
.bk-ind .bk-spec { display:inline-block; margin-top:15px; font-size:11.5px; font-weight:600; padding:5px 12px; border-radius:999px }
.bk-ind.bk-featured { border-color:var(--tf-indigo-border); background:linear-gradient(180deg,#fff,var(--tf-indigo-soft) 170%) }
.bk-calc { border:1px solid var(--tf-line); border-radius:22px; background:var(--card); box-shadow:var(--tf-sh-md); overflow:hidden; display:grid; grid-template-columns:1.1fr .9fr }
.bk-calc .bk-c-left { padding:38px }
.bk-calc .bk-c-left h3 { font-size:22px }
.bk-calc .bk-c-left .bk-c-sub { color:var(--tf-ink-soft); font-size:14.5px; margin-top:8px }
.bk-c-field { margin-top:28px }
.bk-c-field label { display:flex; justify-content:space-between; align-items:baseline; font-weight:600; font-size:14.5px }
.bk-c-field label output { font-family:var(--tf-mono); font-weight:600; font-size:15px; color:var(--tf-indigo) }
.bk input[type=range] { -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:6px; margin-top:16px;
  background:linear-gradient(90deg,var(--tf-indigo) var(--fill,30%), var(--tf-bg-tint) var(--fill,30%)) }
.bk input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:26px; height:26px; border-radius:50%; background:var(--card);
  border:2.5px solid var(--tf-indigo); box-shadow:0 2px 8px rgba(6,15,12,.18); cursor:grab }
.bk input[type=range]::-moz-range-thumb { width:22px; height:22px; border-radius:50%; background:var(--card); border:2.5px solid var(--tf-indigo); cursor:grab }
.bk-range-marks { display:flex; justify-content:space-between; font-family:var(--tf-mono); font-size:11px; color:var(--tf-ink-faint); margin-top:9px }
.bk-calc .bk-c-right { background:linear-gradient(180deg,#0A1712,#11241B); color:#fff; padding:38px; display:flex; flex-direction:column }
.bk-c-right .bk-pl { font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#A6BAAE }
.bk-c-right .bk-pn { font-family:var(--tf-display); font-weight:700; font-size:28px; margin-top:9px }
.bk-c-right .bk-pp { font-family:var(--tf-display); font-weight:700; font-size:56px; letter-spacing:-.03em; margin-top:14px; line-height:1 }
.bk-c-right .bk-pp small { font-family:var(--tf-sans); font-size:14px; font-weight:500; color:#A6BAAE }
.bk-c-right .bk-pi { margin:22px 0 0; padding:0; list-style:none; display:grid; gap:8px; font-size:14px; color:#C9D6CD }
.bk-c-right .bk-pi li { display:flex; gap:10px; align-items:flex-start }
.bk-c-right .bk-pi li svg { flex:none; margin-top:3.5px; color:#7AD88A }
.bk-c-right .bk-ot { margin-top:18px; border-top:1px solid rgba(255,255,255,.14); padding-top:15px; font-size:13.5px; color:#C9D6CD; display:none }
.bk-c-right .bk-ot.bk-show { display:block }
.bk-c-right .bk-ot b { color:#fff }
.bk-c-right .bk-cn { font-size:12px; color:#A6BAAE; margin-top:13px }
.bk-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; counter-reset:s }
.bk-step { border:1px solid var(--tf-line); border-radius:var(--tf-r); padding:28px; background:var(--card); box-shadow:var(--tf-sh-sm); position:relative }
.bk-step .bk-sn { counter-increment:s; width:40px; height:40px; border-radius:12px; background:var(--tf-indigo-soft); color:var(--tf-indigo);
  display:flex; align-items:center; justify-content:center; font-family:var(--tf-display); font-weight:700; font-size:16px }
.bk-step .bk-sn::before { content:counter(s) }
.bk-step h3 { font-size:19px; margin-top:16px }
.bk-step p { color:var(--tf-ink-soft); font-size:14.5px; margin:9px 0 0 }
.bk-step .bk-tg { display:inline-block; font-size:12px; font-weight:600; color:var(--tf-indigo); margin-top:14px; background:var(--tf-indigo-soft); padding:5px 12px; border-radius:999px }
.bk-faq { max-width:780px; margin:0 auto; display:grid; gap:13px }
.bk-qa { border:1px solid var(--tf-line); border-radius:14px; background:var(--card); box-shadow:var(--tf-sh-sm); transition:border-color .2s, box-shadow .2s; overflow:hidden }
.bk-qa.bk-open { border-color:var(--tf-indigo-border); box-shadow:var(--tf-sh-md) }
.bk-qa button.bk-q { width:100%; text-align:left; border:none; background:none; padding:20px 22px; display:flex; align-items:center; gap:16px;
  font-family:var(--tf-display); font-size:16.5px; font-weight:700; color:var(--tf-ink); min-height:56px }
.bk-qa .bk-plus { flex:none; margin-left:auto; width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  background:var(--tf-indigo-soft); color:var(--tf-indigo); transition:transform .35s var(--tf-ease), background .3s, color .3s }
.bk-qa.bk-open .bk-plus { transform:rotate(45deg); background:var(--tf-indigo); color:#fff }
.bk-qa .bk-a { display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s var(--tf-ease) }
.bk-qa.bk-open .bk-a { grid-template-rows:1fr }
.bk-qa .bk-a-in { overflow:hidden }
.bk-qa .bk-ans { padding:0 22px 22px; color:var(--tf-ink-soft); font-size:15px; margin:0 }
.bk-qa .bk-ans b { color:var(--tf-ink); font-weight:600 }
.bk-cta-band { padding:40px 0 80px }
.bk-cta-card { background:linear-gradient(135deg,#0A1712,#10291D 55%,#2A6B3F 130%); color:#fff; border-radius:26px;
  padding:clamp(40px,6vw,76px) clamp(24px,5vw,68px); text-align:center; position:relative; overflow:hidden; box-shadow:0 40px 100px rgba(6,15,12,.4) }
.bk-cta-card .bk-orb { position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none }
.bk-cta-card .bk-o1 { width:380px;height:380px;background:rgba(122,216,138,.35); top:-140px; right:-90px }
.bk-cta-card .bk-o2 { width:300px;height:300px;background:rgba(132,176,53,.25); bottom:-120px; left:-70px }
.bk-cta-card h2 { font-size:clamp(30px,4.6vw,52px); color:#fff; position:relative; z-index:1 }
.bk-cta-card h2 em { font-style:normal; color:#7AD88A }
.bk-cta-card p { color:#C9D6CD; font-size:17px; max-width:54ch; margin:18px auto 0; position:relative; z-index:1 }
.bk-cta-card p b { color:#fff }
.bk-cta-card .bk-hero-ctas { justify-content:center; position:relative; z-index:1 }
.bk-cta-card .bk-micro { font-size:12.5px; color:#A6BAAE; margin-top:20px; position:relative; z-index:1 }
.bk-phead { padding:54px 0 10px; position:relative }
.bk-phead h1 { font-size:clamp(32px,5vw,52px); margin:14px 0 0 }
.bk-phead p { color:var(--tf-ink-soft); font-size:18px; max-width:60ch; margin:16px 0 0 }
.bk-crumbs { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color:var(--tf-ink-faint); padding:20px 0 0 }
.bk-crumbs a { color:var(--tf-ink-soft); text-decoration:none; font-weight:500; transition:color .14s }
.bk-crumbs a:hover { color:var(--tf-indigo) }
.bk-crumbs .bk-sep { opacity:.55 }
.bk-crumbs b { color:var(--tf-ink); font-weight:600 }
.bk-ihero { display:grid; grid-template-columns:1.04fr .96fr; gap:52px; align-items:center; padding:34px 0 26px }
.bk-ihero h1 { font-size:clamp(33px,4.6vw,50px); margin:16px 0 0 }
.bk-ihero p.bk-lede { font-size:17.5px; color:var(--tf-ink-soft); max-width:56ch; margin:18px 0 0 }
.bk-ihero p.bk-lede b { color:var(--tf-ink); font-weight:600 }
.bk-ipanel { background:var(--card); border:1px solid var(--tf-line); border-radius:18px; box-shadow:var(--tf-sh-lg); overflow:hidden }
.bk-ip-top { display:flex; align-items:center; gap:9px; padding:12px 17px; border-bottom:1px solid var(--tf-line); background:var(--tf-bg-soft);
  font-family:var(--tf-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--tf-ink-faint) }
.bk-ip-top .bk-dots { display:flex; gap:6px }
.bk-ip-top .bk-dots i { width:9px; height:9px; border-radius:50%; background:var(--tf-line-strong) }
.bk-ip-top .bk-live { margin-left:auto; display:flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; color:var(--tf-green);
  background:var(--tf-green-soft); border-radius:999px; padding:4px 11px; font-family:var(--tf-sans); letter-spacing:0; text-transform:none }
.bk-ip-top .bk-live i { width:6px; height:6px; border-radius:50%; background:var(--tf-green) }
.bk-ip-body { padding:16px 16px 18px }
.bk-recon { border:1px solid var(--tf-line); border-radius:16px; overflow:hidden; box-shadow:var(--tf-sh-md); background:var(--card) }
.bk-recon .bk-r-head { display:flex; align-items:center; gap:9px; padding:12px 18px; border-bottom:1px solid var(--tf-line); background:var(--tf-bg-soft);
  font-family:var(--tf-mono); font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--tf-ink-faint) }
.bk-recon .bk-r-head .bk-dots { display:flex; gap:6px }
.bk-recon .bk-r-head .bk-dots i { width:9px; height:9px; border-radius:50%; background:var(--tf-line-strong) }
.bk-rrow { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:12.5px 18px; border-bottom:1px solid var(--tf-bg-tint); font-size:14.5px }
.bk-rrow:last-child { border-bottom:none }
.bk-rrow .bk-lbl { color:var(--tf-ink-soft) }
.bk-rrow .bk-lbl b { color:var(--tf-ink); font-weight:600 }
.bk-rrow .bk-val { font-family:var(--tf-mono); font-size:14.5px; font-weight:600; white-space:nowrap }
.bk-rrow.bk-neg .bk-val { color:var(--tf-red) }
.bk-rrow.bk-pos .bk-val { color:var(--tf-green) }
.bk-rrow.bk-sum { background:var(--tf-bg-soft); font-weight:600 }
.bk-rnote { padding:12px 18px; font-size:12.5px; color:var(--tf-ink-faint); background:var(--tf-bg-soft); border-top:1px solid var(--tf-line) }
.bk-rnote b { color:var(--tf-ink-soft) }
.bk-chips { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px }
.bk-chip-p { font-family:var(--tf-display); font-weight:700; font-size:12.5px; padding:7px 14px; border-radius:999px;
  background:var(--tf-bg-tint); color:var(--tf-ink-soft); border:1px solid var(--tf-line) }
a.bk-card { text-decoration:none; color:inherit; display:block }
.bk-card .bk-more { margin-top:16px; font-size:13.5px; font-weight:600; color:var(--tf-indigo); display:flex; align-items:center; gap:6px }
.bk-card .bk-more svg { transition:transform .18s var(--tf-ease) }
a.bk-card:hover .bk-more svg { transform:translateX(3px) }
.bk-related { display:grid; grid-template-columns:1fr 1fr; gap:14px }
.bk-rlink { border:1px solid var(--tf-line); border-radius:14px; padding:17px 19px; text-decoration:none; background:var(--card); box-shadow:var(--tf-sh-sm);
  display:block; transition:transform .18s var(--tf-ease), box-shadow .18s var(--tf-ease), border-color .18s }
.bk-rlink:hover { transform:translateY(-3px); box-shadow:var(--tf-sh-md); border-color:var(--tf-indigo-border) }
.bk-rlink em { font-style:normal; display:block; font-size:11.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--tf-indigo) }
.bk-rlink b { display:block; color:var(--tf-ink); font-family:var(--tf-display); font-size:15.5px; margin-top:6px; line-height:1.35 }
.bk-rlink span { display:block; color:var(--tf-ink-soft); font-size:13px; margin-top:5px }
.bk-g-tag { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 12px; border-radius:999px; background:var(--tf-indigo-soft); color:var(--tf-indigo) }
.bk-g-min { font-size:12.5px; color:var(--tf-ink-faint); font-weight:500 }
.bk-article { max-width:770px; margin:0 auto }
.bk-a-head { padding:46px 0 6px }
.bk-a-head h1 { font-size:clamp(30px,4.4vw,44px); margin:18px 0 0 }
.bk-a-head .bk-dek { font-size:18px; color:var(--tf-ink-soft); margin:16px 0 0; max-width:58ch }
.bk-a-meta { display:flex; gap:7px 18px; flex-wrap:wrap; align-items:center; font-size:13.5px; color:var(--tf-ink-faint); margin-top:20px; padding-bottom:24px; border-bottom:1px solid var(--tf-line) }
.bk-a-meta b { color:var(--tf-ink-soft); font-weight:600 }
.bk-prose { font-size:16.5px }
.bk-prose h2 { font-size:clamp(22px,2.8vw,27px); margin:44px 0 0 }
.bk-prose h3 { font-size:19px; margin:30px 0 0 }
.bk-prose p { color:var(--tf-ink-soft); margin:15px 0 0; line-height:1.72 }
.bk-prose p b, .bk-prose li b { color:var(--tf-ink); font-weight:600 }
.bk-prose ul, .bk-prose ol { color:var(--tf-ink-soft); margin:14px 0 0; padding-left:24px; line-height:1.7 }
.bk-prose li { margin-top:8px }
.bk-prose li::marker { color:var(--tf-indigo); font-weight:600 }
.bk-prose .bk-recon { margin-top:24px }
.bk-callout { margin-top:26px; border:1px solid var(--tf-indigo-border); background:var(--tf-indigo-soft); border-radius:14px; padding:18px 21px; font-size:15px; color:var(--tf-ink); line-height:1.65 }
.bk-callout b { font-family:var(--tf-display); display:block; margin-bottom:5px }
.bk-callout.bk-warn { border-color:#D9E3B8; background:var(--tf-amber-soft) }
.bk-callout.bk-good { border-color:#C5DEC3; background:var(--tf-green-soft) }
.bk-seg { display:inline-flex; background:var(--tf-bg-tint); border:1px solid var(--tf-line); border-radius:12px; padding:4px; gap:4px; margin-top:14px }
.bk-seg button { border:none; background:transparent; font-family:var(--tf-display); font-weight:700; font-size:13.5px; color:var(--tf-ink-soft); padding:9px 16px; border-radius:9px; min-height:40px; transition:background .2s, color .2s }
.bk-seg button.bk-on { background:var(--card); color:var(--tf-indigo); box-shadow:var(--tf-sh-sm) }
.bk-checks { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px }
.bk-checks li { display:flex; gap:11px; align-items:flex-start; font-size:15px; color:var(--tf-ink-soft) }
.bk-checks li svg { flex:none; margin-top:4px; color:var(--tf-green) }
.bk-checks li b { color:var(--tf-ink); font-weight:600 }
@media (max-width:980px) {
  .bk-calc { grid-template-columns:1fr }
  .bk-g3, .bk-steps { grid-template-columns:1fr 1fr }
  .bk-ihero { grid-template-columns:1fr; gap:38px }
  .bk-ipanel { max-width:520px }
}
@media (max-width:680px) {
  .bk-g2, .bk-g3, .bk-steps { grid-template-columns:1fr }
  .bk-m-kpis { grid-template-columns:1fr 1fr }
  .bk-cta-card { border-radius:20px }
  .bk-related { grid-template-columns:1fr }
  .bk-rrow { padding:12px 14px }
  .bk-recon .bk-r-head, .bk-rnote { padding-left:14px; padding-right:14px }
}

/* ── HAND: everything below is hand-written (Optimize25 layout, media, header badge) ── */

/* "Bookkeeping by True Figure, part of Optimize25" line under the breadcrumbs */
.bk-by { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 9px; margin-top: 14px; padding: 6px 14px 6px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--card); font-size: 13.5px; color: var(--ink-2); }
.bk-by img { width: 22px; height: auto; }
.bk-by b { color: var(--ink); font-weight: 600; }
.bk-by i { font-style: normal; color: var(--ink-3); }
.bk-by a { color: var(--green-ink); font-weight: 600; text-underline-offset: 3px; }

/* hero: the worked-example panel sits over a photo or video */
.bk-ihero { align-items: start; }
.bk-ihero > div:first-child { padding-top: 6px; }
.bk-ihero h1 { font-size: clamp(36px, 4.8vw, 58px); line-height: 1.02; letter-spacing: -.035em; text-wrap: balance; }
.bk-vis { position: relative; padding-bottom: 150px; }
.bk-vis__m { aspect-ratio: 4 / 3; box-shadow: 0 40px 70px -44px rgba(6, 15, 12, .5); }
.bk-vis__m .vid-ctl { left: auto; right: 12px; top: 12px; bottom: auto; }
.bk-vis .bk-ipanel { position: absolute; left: -28px; right: 28px; bottom: 0; max-width: none; }
@media (max-width: 980px) {
  .bk-vis { padding-bottom: 0; max-width: 620px; }
  .bk-vis .bk-ipanel { position: relative; left: auto; right: auto; margin: -56px 14px 0; }
}
@media (max-width: 680px) { .bk-vis .bk-ipanel { margin: -40px 8px 0; } .bk-vis__m { aspect-ratio: 16 / 11; } }

/* guide header photo and calculator head */
.bk-figure { aspect-ratio: 16 / 8; margin: 0 0 8px; }
.bk-phead { display: grid; gap: 32px; align-items: center; }
@media (min-width: 980px) { .bk-phead { grid-template-columns: 1.15fr .85fr; gap: 52px; } }
.bk-phead__m { aspect-ratio: 4 / 3; }
.bk-a-head h1 { font-size: clamp(32px, 4.6vw, 50px); line-height: 1.04; letter-spacing: -.032em; }

/* worked-example tiles and FAQ in the Optimize25 look */
.bk-ipanel, .bk-recon { border-radius: var(--r-card); }
.bk-ip-top, .bk-recon .bk-r-head { font-family: var(--f-m); }
.bk-ip-top .bk-dots i, .bk-recon .bk-r-head .bk-dots i { background: var(--line-2); }
.bk-ip-top .bk-dots i:first-child, .bk-recon .bk-r-head .bk-dots i:first-child { background: var(--green); }
.bk-card, .bk-problem, .bk-rlink, .bk-qa, .bk-step { border-radius: var(--r-card); }
.bk-card .bk-ic, .bk-problem .bk-pic { border-radius: 13px; }
.bk-ic.bk-ic-navy { background: var(--tile); color: var(--mint); }
.bk-qa.bk-open .bk-plus { background: var(--tile); color: var(--mint); }
.bk-qa .bk-a { grid-template-rows: 0fr; }
.bk-qa.bk-open .bk-a { grid-template-rows: 1fr; }

/* call-to-action cards become app-icon tiles */
.bk-cta-card { background: radial-gradient(110% 80% at 0% 0%, #10291D 0%, rgba(16, 41, 29, 0) 58%), var(--tile); border-radius: var(--r-tile); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 40px 70px -40px rgba(6, 15, 12, .55); }
.bk-cta-card .bk-o1 { background: rgba(122, 216, 138, .22); }
.bk-cta-card .bk-o2 { background: rgba(132, 176, 53, .18); }
.bk-cta-card h2 em { color: var(--mint); }

/* landing page (bookkeeping.html) */
.bk-land .phero h1 { max-width: 15ch; font-size: clamp(42px, 5.4vw, 74px); }
.bk-land .bk-hero-ctas { margin-top: 30px; }
.bk-land .phero .jump { margin-top: 26px; }
a.bk-ind-card { color: inherit; text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s; }
a.bk-ind-card:hover { transform: translateY(-4px); border-color: var(--line-2); box-shadow: 0 26px 50px -34px rgba(6, 15, 12, .4); }
a.bk-ind-card .more { margin-top: auto; padding-top: 6px; font-size: 15px; }
.bk-svc { display: grid; gap: 18px; }
@media (min-width: 860px) { .bk-svc { grid-template-columns: 1fr 1fr; } }
.bk-svc__i { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: center; padding: 14px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); color: inherit; text-decoration: none; transition: border-color .2s, box-shadow .25s var(--ease); }
.bk-svc__i:hover { border-color: var(--line-2); box-shadow: 0 26px 50px -34px rgba(6, 15, 12, .4); }
.bk-svc__i .media { aspect-ratio: 1; border-radius: 14px; }
.bk-svc__i p { margin: 6px 0 8px; font-size: 15px; color: var(--ink-2); }
.bk-svc__i .more { font-size: 15px; }
@media (max-width: 520px) { .bk-svc__i { grid-template-columns: 96px 1fr; gap: 14px; } .bk-svc__i .media { aspect-ratio: 3 / 4; } }
.bk-cal { display: grid; gap: 14px; list-style: none; margin: 18px 0 0; padding: 0; }
@media (min-width: 680px) { .bk-cal { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .bk-cal { grid-template-columns: repeat(3, 1fr); } }
.bk-cal li { padding: 22px 24px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); }
.bk-cal span { font: 600 12px/1.2 var(--f-m); letter-spacing: .06em; text-transform: uppercase; color: var(--green-ink); }
.bk-cal b { display: block; margin-top: 8px; font: 600 19px/1.2 var(--f-d); }
.bk-cal p { margin-top: 6px; font-size: 15px; color: var(--ink-2); }
.bk-cal .bk-cal--key { background: radial-gradient(110% 80% at 0% 0%, #10291D 0%, rgba(16, 41, 29, 0) 58%), var(--tile); border-color: transparent; color: var(--on); }
.bk-cal--key span { color: var(--mint); }
.bk-cal--key b { color: #fff; }
.bk-cal--key p { color: var(--on-2); }
.bk-tiers { display: grid; gap: 16px; }
@media (min-width: 900px) { .bk-tiers { grid-template-columns: repeat(3, 1fr); } }
.bk-tier { padding: 28px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); }
.bk-tier__n { font: 600 22px/1.2 var(--f-d); }
.bk-tier__s { margin-top: 4px; font-size: 14.5px; color: var(--ink-3); }
.bk-tier__p { margin: 18px 0 20px; font: 600 46px/1 var(--f-d); letter-spacing: -.03em; }
.bk-tier__p small { font: 500 15px var(--f-b); letter-spacing: 0; color: var(--ink-3); }
.bk-tier--on { background: radial-gradient(110% 80% at 0% 0%, #10291D 0%, rgba(16, 41, 29, 0) 58%), var(--tile); border-color: transparent; color: #fff; }
.bk-tier--on .bk-tier__s, .bk-tier--on .bk-tier__p small { color: var(--on-2); }
.bk-tier--on .ticks li { color: var(--on); }
.bk-tier--on .ticks li::before { filter: brightness(2.6) saturate(.8); }
.bk-tiers__f { margin-top: 22px; font-size: 15px; color: var(--ink-2); }
.bk-tiers__f a { color: var(--green-ink); font-weight: 600; text-underline-offset: 3px; }
.bk-guides { display: grid; gap: 16px; }
@media (min-width: 980px) { .bk-guides { grid-template-columns: .8fr 1.2fr; } }
.bk-calc-card { display: flex; flex-direction: column; gap: 12px; padding: 32px; text-decoration: none; }
.bk-calc-card .h3 { color: #fff; }
.bk-calc-card p:not(.k) { color: var(--on-2); }
.bk-calc-card .more { margin-top: auto; }
.bk-land .bk-related { grid-template-columns: 1fr; }
@media (min-width: 680px) { .bk-land .bk-related { grid-template-columns: 1fr 1fr; } }

/* wide photo band on the industry pages */
.bk .bk-band-s { padding: 0 0 72px; }
.bk-band { min-height: 340px; aspect-ratio: 21 / 8; }
.bk-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(6, 15, 12, .86) 0%, rgba(6, 15, 12, .5) 42%, rgba(6, 15, 12, 0) 75%); }
.bk-band__t { position: absolute; z-index: 1; left: 0; bottom: 0; max-width: 470px; padding: clamp(24px, 4vw, 44px); color: #fff; }
.bk-band__t b { display: block; font: 600 clamp(24px, 2.8vw, 34px)/1.1 var(--f-d); letter-spacing: -.02em; }
.bk-band__t p { margin-top: 10px; color: var(--on); font-size: 16px; }
@media (max-width: 680px) { .bk .bk-band-s { padding-bottom: 52px; } .bk-band { aspect-ratio: 4 / 5; min-height: 0; } .bk-band::after { background: linear-gradient(0deg, rgba(6, 15, 12, .9) 0%, rgba(6, 15, 12, .4) 55%, rgba(6, 15, 12, 0) 80%); } }
@media (max-width: 560px) { .bk-by { font-size: 12.5px; } .bk-by i, .bk-by a { display: none; } }

/* small screens: let hero columns shrink, long buttons wrap, and beat inline grid widths from the source pages */
.bk-ihero > *, .bk-phead > * { min-width: 0; }
@media (max-width: 980px) { .bk .bk-steps[style] { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 680px) {
  .bk .bk-steps[style] { grid-template-columns: 1fr !important; }
  .bk .btn { white-space: normal; text-align: center; line-height: 1.2; padding-top: 10px; padding-bottom: 10px; }
}
.bk-tier__p--q { font-size: 24px; letter-spacing: -.01em; }
