/* Red Leaf — Bookkeeping page styles (V1 / V2 / V3) */

.bk-page { background: var(--paper); padding-bottom: 0; }

.bk-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12px; text-transform: uppercase;
  letter-spacing: 0.12em; font-weight: 600;
  color: var(--red);
}
.bk-eyebrow::before {
  content: ''; width: 24px; height: 1px; background: var(--red);
}

/* Service mention pills used across variants */
.bk-also {
  display: inline-flex; flex-wrap: wrap; gap: 6px;
  font-size: 13px; color: var(--ink-3); align-items: center;
}
.bk-also-tag {
  padding: 4px 10px; border: 1px solid var(--line);
  border-radius: 999px; background: white;
  font-size: 12px; font-weight: 500; color: var(--ink-2);
}

/* Tool badges */
.bk-tool-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--line); border-radius: 999px;
  background: white; font-size: 13px; font-weight: 500;
  color: var(--ink-2);
}
.bk-tool-badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); }

/* ────────────────────────────────────────────────────────
   V1 — Editorial. Hero / Pillars / Deliverables checklist /
   Cadence timeline / Cleanup / Tools / FAQ / CTA
   ──────────────────────────────────────────────────────── */
.bkv1-hero {
  padding: 64px 0 80px;
}
.bkv1-hero-pills {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px;
}
.bkv1-hero-grid {
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: end;
}
.bkv1-h1 {
  font-family: var(--display);
  font-size: clamp(56px, 6.4vw, 96px);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.95;
  text-wrap: balance;
}
.bkv1-h1 .accent { color: var(--red); }
.bkv1-h1 .strike {
  position: relative; color: var(--ink-4);
}
.bkv1-h1 .strike::after {
  content: ''; position: absolute; left: -2%; right: -2%; top: 52%;
  height: 5px; background: var(--red); transform: rotate(-2deg);
}
.bkv1-sub {
  margin-top: 32px;
  font-size: 19px; line-height: 1.5; color: var(--ink-2); max-width: 480px;
}
.bkv1-cta {
  display: flex; gap: 12px; margin-top: 32px; flex-wrap: wrap;
}
.bkv1-hero-side {
  display: flex; flex-direction: column; gap: 14px;
  padding: 32px;
  background: white; border: 1px solid var(--line); border-radius: 16px;
}
.bkv1-hero-side h4 {
  font-family: var(--display); font-size: 14px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-3);
  margin-bottom: 6px;
}
.bkv1-hero-side ul { display: flex; flex-direction: column; gap: 10px; }
.bkv1-hero-side li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 15px; color: var(--ink-2); font-weight: 500;
}
.bkv1-hero-side li::before {
  content: '✓'; color: var(--red); font-weight: 800; flex-shrink: 0;
}

.bkv1-pillars {
  padding: 80px 0;
  border-top: 1px solid var(--line);
}
.bkv1-pillars-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  margin-top: 40px;
}
.bkv1-pillar {
  padding: 32px 28px; border: 1px solid var(--line); border-radius: 16px;
  background: white;
}
.bkv1-pillar-num {
  font-family: var(--display); font-size: 13px; font-weight: 700;
  color: var(--red); letter-spacing: 0.06em;
}
.bkv1-pillar-title {
  font-family: var(--display); font-size: 22px; font-weight: 800;
  letter-spacing: -0.02em; margin-top: 10px; line-height: 1.15;
}
.bkv1-pillar-desc {
  margin-top: 12px; font-size: 14.5px; color: var(--ink-3); line-height: 1.55;
}

.bkv1-deliv {
  padding: 96px 0;
  background: var(--paper-2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.bkv1-deliv-head {
  max-width: 720px; margin-bottom: 48px;
}
.bkv1-deliv-h2 {
  font-family: var(--display);
  font-size: clamp(40px, 4.5vw, 60px); font-weight: 900;
  letter-spacing: -0.03em; line-height: 1; margin-top: 14px;
}
.bkv1-deliv-h2 .accent { color: var(--red); }
.bkv1-deliv-sub {
  margin-top: 24px; font-size: 17px; color: var(--ink-3);
  line-height: 1.55; max-width: 580px;
}
.bkv1-deliv-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 0;
  background: white; border: 1px solid var(--line); border-radius: 16px; overflow: hidden;
}
.bkv1-deliv-row {
  padding: 22px 28px;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  display: flex; align-items: flex-start; gap: 14px;
}
.bkv1-deliv-row:nth-child(2n) { border-right: none; }
.bkv1-deliv-row:nth-last-child(-n+2) { border-bottom: none; }
.bkv1-deliv-check {
  width: 22px; height: 22px; border-radius: 6px;
  background: var(--red); color: white;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 800;
  flex-shrink: 0; margin-top: 2px;
}
.bkv1-deliv-title {
  font-family: var(--display); font-size: 17px; font-weight: 700;
  letter-spacing: -0.012em; color: var(--ink); line-height: 1.2;
}
.bkv1-deliv-desc {
  margin-top: 6px; font-size: 14px; color: var(--ink-3); line-height: 1.5;
}

.bkv1-cadence {
  padding: 96px 0;
}
.bkv1-cadence-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 48px;
}
.bkv1-cadence-step {
  padding-top: 24px; border-top: 2px solid var(--ink); position: relative;
}
.bkv1-cadence-when {
  font-family: var(--display); font-size: 13px; font-weight: 700;
  color: var(--red); letter-spacing: 0.06em;
}
.bkv1-cadence-title {
  font-family: var(--display); font-size: 22px; font-weight: 800;
  letter-spacing: -0.02em; margin-top: 10px; line-height: 1.15;
}
.bkv1-cadence-desc {
  margin-top: 10px; font-size: 14.5px; color: var(--ink-3); line-height: 1.5;
}

.bkv1-cleanup {
  padding: 64px 0 96px;
}
.bkv1-cleanup-card {
  display: grid; grid-template-columns: 1fr 1.2fr;
  gap: 56px; align-items: center;
  background: var(--ink); color: white;
  border-radius: 24px; padding: 56px;
}
.bkv1-cleanup-card .bk-eyebrow { color: var(--red); }
.bkv1-cleanup-card .bk-eyebrow::before { background: var(--red); }
.bkv1-cleanup-card h2 {
  font-family: var(--display); font-size: 40px; font-weight: 900;
  letter-spacing: -0.03em; line-height: 1.05; margin-top: 14px; color: white;
}
.bkv1-cleanup-card h2 .accent { color: var(--red); }
.bkv1-cleanup-card p {
  font-size: 16px; line-height: 1.6; color: #C9C9C9;
}
.bkv1-cleanup-card p + p { margin-top: 14px; }
.bkv1-cleanup-card ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.bkv1-cleanup-card ul li {
  display: flex; gap: 10px; font-size: 15px; color: white; font-weight: 500;
}
.bkv1-cleanup-card ul li::before {
  content: '→'; color: var(--red); font-weight: 800;
}
.bkv1-cleanup-card .actions {
  display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap;
}

.bkv1-tools {
  padding: 64px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: center;
}
.bkv1-tools-row {
  display: flex; justify-content: center; gap: 12px; flex-wrap: wrap;
  margin-top: 24px;
}

.bkv1-pricing-teaser {
  padding: 96px 0;
  text-align: center;
}
.bkv1-pricing-teaser h2 {
  font-family: var(--display); font-size: clamp(36px, 4vw, 52px);
  font-weight: 900; letter-spacing: -0.03em; line-height: 1.05;
  margin-top: 14px; text-wrap: balance;
}
.bkv1-pricing-teaser h2 .accent { color: var(--red); }
.bkv1-pricing-teaser-row {
  display: flex; justify-content: center; gap: 16px;
  margin-top: 36px; flex-wrap: wrap;
  font-family: var(--display);
}
.bkv1-pricing-chip {
  padding: 16px 22px; background: white; border: 1px solid var(--line);
  border-radius: 12px;
  display: flex; flex-direction: column; gap: 4px; align-items: flex-start;
}
.bkv1-pricing-chip .price {
  font-size: 28px; font-weight: 900; color: var(--red);
  letter-spacing: -0.025em; line-height: 1;
}
.bkv1-pricing-chip .label {
  font-family: var(--body);
  font-size: 12px; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--ink-3); font-weight: 600;
}
.bkv1-pricing-link { margin-top: 32px; }

.bkv1-faq {
  padding: 96px 0;
  background: var(--paper-2);
  border-top: 1px solid var(--line);
}
.bkv1-faq-grid {
  display: grid; grid-template-columns: 320px 1fr; gap: 56px;
  align-items: start;
}
.bkv1-faq-side {
  position: sticky; top: 24px;
}
.bkv1-faq-side h2 {
  font-family: var(--display); font-size: clamp(32px, 3.5vw, 44px);
  font-weight: 900; letter-spacing: -0.03em; line-height: 1.05;
  margin-top: 14px;
}
.bkv1-faq-side h2 .accent { color: var(--red); }
.bkv1-faq-side p {
  margin-top: 18px; font-size: 15px; color: var(--ink-3); line-height: 1.55;
}
.bkv1-faq-list {
  display: flex; flex-direction: column; gap: 12px;
}
.bkv1-faq-item {
  background: white; border: 1px solid var(--line); border-radius: 12px;
  padding: 22px 26px;
}
.bkv1-faq-q {
  font-family: var(--display); font-size: 18px; font-weight: 700;
  letter-spacing: -0.012em;
}
.bkv1-faq-a {
  margin-top: 12px; font-size: 14.5px; color: var(--ink-3); line-height: 1.6;
}
.bkv1-faq-a strong { color: var(--ink); font-weight: 700; }

.bk-cta {
  padding: 32px 0 80px;
}
.bk-cta-card {
  background: var(--red); color: white;
  border-radius: 24px; padding: 64px 56px; text-align: center;
  max-width: 880px; margin: 0 auto;
}
.bk-cta-card h2 {
  font-family: var(--display); font-size: clamp(36px, 4.5vw, 56px);
  font-weight: 900; letter-spacing: -0.03em; line-height: 1.02; color: white;
}
.bk-cta-card p {
  margin: 16px auto 28px; max-width: 520px; font-size: 17px;
  line-height: 1.5; color: rgba(255,255,255,0.95);
}
.bk-cta-actions {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
}

/* ────────────────────────────────────────────────────────
   V2 — Dossier / service-spec.
   Numbered ledger, calendar grid cadence, sidecar cleanup.
   ──────────────────────────────────────────────────────── */
.bkv2-page { background: var(--paper); }

.bkv2-hero {
  padding: 56px 0 64px;
  border-bottom: 1px solid var(--line);
}
.bkv2-meta {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.16em;
  font-weight: 600; color: var(--ink-3);
  padding-bottom: 24px; border-bottom: 1px solid var(--line);
  margin-bottom: 48px;
}
.bkv2-meta .red { color: var(--red); }
.bkv2-hero-grid {
  display: grid; grid-template-columns: 1.1fr 1fr;
  gap: 64px; align-items: end;
}
.bkv2-h1 {
  font-family: var(--display);
  font-size: clamp(64px, 7vw, 104px); font-weight: 900;
  letter-spacing: -0.04em; line-height: 0.95;
  text-wrap: balance;
}
.bkv2-h1 .accent { color: var(--red); font-style: italic; font-weight: 800; }
.bkv2-deck {
  font-family: var(--display);
  font-size: 22px; font-weight: 500; line-height: 1.4;
  color: var(--ink-2); letter-spacing: -0.01em; text-wrap: pretty;
}
.bkv2-deck strong { color: var(--ink); font-weight: 700; }
.bkv2-deck-cta {
  margin-top: 28px; display: flex; gap: 12px; flex-wrap: wrap;
}

.bkv2-spec {
  padding: 80px 0;
  border-bottom: 1px solid var(--line);
}
.bkv2-spec-head {
  display: grid; grid-template-columns: 200px 1fr; gap: 56px;
  align-items: end; margin-bottom: 48px;
}
.bkv2-spec-num {
  font-family: var(--display);
  font-size: 13px; font-weight: 700;
  color: var(--red); letter-spacing: 0.08em;
}
.bkv2-spec-h2 {
  font-family: var(--display);
  font-size: clamp(36px, 4vw, 52px); font-weight: 900;
  letter-spacing: -0.03em; line-height: 1; margin-top: 8px;
}
.bkv2-spec-h2 .accent { color: var(--red); }
.bkv2-spec-sub {
  font-size: 16px; color: var(--ink-3); line-height: 1.55;
  max-width: 460px;
}
.bkv2-ledger {
  border-top: 2px solid var(--ink);
}
.bkv2-ledger-row {
  display: grid;
  grid-template-columns: 60px 1fr 220px 80px;
  gap: 24px; align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}
.bkv2-ledger-num {
  font-family: var(--display);
  font-size: 13px; font-weight: 700; color: var(--red);
  letter-spacing: 0.05em;
}
.bkv2-ledger-title {
  font-family: var(--display);
  font-size: 19px; font-weight: 700; letter-spacing: -0.012em;
  color: var(--ink);
}
.bkv2-ledger-desc {
  font-size: 13.5px; color: var(--ink-3); line-height: 1.45;
}
.bkv2-ledger-when {
  font-size: 12px; color: var(--ink-3); text-transform: uppercase;
  letter-spacing: 0.08em; font-weight: 600; text-align: right;
}

.bkv2-cadence {
  padding: 80px 0;
  border-bottom: 1px solid var(--line);
}
.bkv2-calendar {
  display: grid; grid-template-columns: repeat(7, 1fr);
  gap: 8px; margin-top: 32px;
}
.bkv2-cal-day-label {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em;
  font-weight: 600; color: var(--ink-3); padding: 8px 0;
  text-align: center;
}
.bkv2-cal-day {
  aspect-ratio: 1; border: 1px solid var(--line);
  border-radius: 8px; padding: 8px;
  background: white;
  display: flex; flex-direction: column;
  font-size: 11px;
}
.bkv2-cal-day .day-num {
  font-family: var(--display); font-weight: 700;
  font-size: 13px; color: var(--ink-3);
}
.bkv2-cal-day.has-task {
  background: var(--paper-2); border-color: var(--ink-3);
}
.bkv2-cal-day.has-task .day-num { color: var(--ink); }
.bkv2-cal-day .task {
  margin-top: auto; font-size: 10px; line-height: 1.25;
  color: var(--red); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.04em;
}
.bkv2-cal-day.is-close {
  background: var(--ink); border-color: var(--ink);
}
.bkv2-cal-day.is-close .day-num { color: white; }
.bkv2-cal-day.is-close .task { color: var(--red); }

.bkv2-cadence-legend {
  margin-top: 32px;
  display: flex; flex-wrap: wrap; gap: 32px;
  font-size: 13px; color: var(--ink-3);
}
.bkv2-cadence-legend > div {
  display: flex; align-items: center; gap: 10px;
}
.bkv2-cadence-legend .swatch {
  width: 14px; height: 14px; border-radius: 4px; border: 1px solid var(--line);
}
.bkv2-cadence-legend .swatch.task { background: var(--paper-2); border-color: var(--ink-3); }
.bkv2-cadence-legend .swatch.close { background: var(--ink); border-color: var(--ink); }

.bkv2-side {
  padding: 80px 0;
  border-bottom: 1px solid var(--line);
}
.bkv2-side-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.bkv2-side-card {
  padding: 36px 32px;
  border: 1px solid var(--line); border-radius: 16px;
  background: white;
}
.bkv2-side-card.is-dark {
  background: var(--ink); color: white; border-color: var(--ink);
}
.bkv2-side-card.is-dark .bk-eyebrow { color: var(--red); }
.bkv2-side-card.is-dark .bk-eyebrow::before { background: var(--red); }
.bkv2-side-card h3 {
  font-family: var(--display); font-size: 28px; font-weight: 800;
  letter-spacing: -0.02em; line-height: 1.05; margin-top: 14px;
}
.bkv2-side-card.is-dark h3 { color: white; }
.bkv2-side-card h3 .accent { color: var(--red); }
.bkv2-side-card p {
  margin-top: 14px; font-size: 15px; line-height: 1.55; color: var(--ink-3);
}
.bkv2-side-card.is-dark p { color: #C9C9C9; }
.bkv2-side-card ul {
  margin-top: 18px; display: flex; flex-direction: column; gap: 8px;
}
.bkv2-side-card ul li {
  font-size: 14px; display: flex; gap: 10px;
  color: var(--ink-2); font-weight: 500;
}
.bkv2-side-card.is-dark ul li { color: white; }
.bkv2-side-card ul li::before { content: '→'; color: var(--red); font-weight: 800; }
.bkv2-side-card .actions { margin-top: 24px; display: flex; gap: 10px; flex-wrap: wrap; }

.bkv2-faq {
  padding: 80px 0;
}
.bkv2-faq-head {
  display: grid; grid-template-columns: 200px 1fr; gap: 56px; align-items: end; margin-bottom: 32px;
}
.bkv2-faq-h2 {
  font-family: var(--display); font-size: clamp(36px, 4vw, 52px);
  font-weight: 900; letter-spacing: -0.03em; line-height: 1; margin-top: 8px;
}
.bkv2-faq-h2 .accent { color: var(--red); }
.bkv2-faq-list {
  border-top: 1px solid var(--line);
}
.bkv2-faq-row {
  display: grid; grid-template-columns: 200px 1fr 24px;
  gap: 24px; align-items: start;
  padding: 28px 0; border-bottom: 1px solid var(--line);
}
.bkv2-faq-row .num {
  font-family: var(--display); font-size: 13px; font-weight: 700;
  color: var(--red); letter-spacing: 0.06em;
}
.bkv2-faq-row .q {
  font-family: var(--display); font-size: 19px; font-weight: 800;
  letter-spacing: -0.015em; margin-bottom: 10px;
}
.bkv2-faq-row .a {
  font-size: 15px; line-height: 1.6; color: var(--ink-3);
}
.bkv2-faq-row .a strong { color: var(--ink); }

/* ────────────────────────────────────────────────────────
   V3 — Conversational letter. Q&A with founder voice.
   ──────────────────────────────────────────────────────── */
.bkv3-page { background: var(--paper); }

.bkv3-hero {
  padding: 80px 0 64px;
  max-width: 920px; margin: 0 auto;
}
.bkv3-greeting {
  font-family: var(--display);
  font-size: clamp(48px, 5.6vw, 80px); font-weight: 900;
  letter-spacing: -0.035em; line-height: 1.05;
  text-wrap: balance;
  padding-bottom: 0.08em;
}
.bkv3-greeting .accent { color: var(--red); font-style: italic; font-weight: 800; }
.bkv3-greeting .underline { position: relative; display: inline-block; }
.bkv3-greeting .underline::after {
  content: ''; position: absolute; bottom: 0.05em; left: -0.04em; right: -0.04em;
  height: 0.18em; background: var(--red); opacity: 0.25; z-index: -1;
}
/* spec bump above .hifi p reset */
.bkv3-page .bkv3-sub {
  margin-top: 28px; font-size: 19px; line-height: 1.55;
  color: var(--ink-2); max-width: 620px;
}
.bkv3-cta {
  margin-top: 28px; display: flex; gap: 12px; flex-wrap: wrap;
}

.bkv3-qa {
  padding: 64px 0 32px;
  max-width: 760px; margin: 0 auto;
}
.bkv3-qa-block {
  padding: 32px 0;
  border-top: 1px solid var(--line);
}
.bkv3-qa-block:last-child { border-bottom: 1px solid var(--line); }
.bkv3-qa-q {
  font-family: var(--display);
  font-size: 28px; font-weight: 800; letter-spacing: -0.02em;
  line-height: 1.15; color: var(--ink);
  text-wrap: balance;
}
.bkv3-qa-q::before {
  content: 'Q. '; color: var(--red);
}
.bkv3-qa-a {
  margin-top: 20px;
}
.bkv3-qa-a p {
  font-size: 17px; line-height: 1.7; color: var(--ink-2); text-wrap: pretty;
}
.bkv3-qa-a p + p { margin-top: 16px; }
.bkv3-qa-a p strong { color: var(--ink); font-weight: 700; }
.bkv3-qa-a p .red { color: var(--red); font-weight: 600; }
.bkv3-qa-a ul {
  margin-top: 16px;
  list-style: none; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.bkv3-qa-a ul li {
  display: flex; gap: 12px; align-items: flex-start;
  font-size: 16px; color: var(--ink-2); line-height: 1.5;
}
.bkv3-qa-a ul li::before {
  content: '✓'; color: var(--red); font-weight: 800; flex-shrink: 0;
  font-family: var(--display); margin-top: 2px;
}

.bkv3-pull {
  padding: 64px 0;
  max-width: 920px; margin: 0 auto;
}
.bkv3-pull-quote {
  font-family: var(--display);
  font-size: clamp(32px, 3.6vw, 48px); font-weight: 700;
  letter-spacing: -0.025em; line-height: 1.1;
  color: var(--ink); text-wrap: balance;
}
.bkv3-pull-quote .accent { color: var(--red); font-style: italic; }

.bkv3-includes {
  padding: 32px 0 64px;
  max-width: 920px; margin: 0 auto;
}
.bkv3-includes-head {
  font-family: var(--display);
  font-size: 13px; text-transform: uppercase;
  letter-spacing: 0.14em; font-weight: 700; color: var(--red);
  margin-bottom: 20px;
}
.bkv3-includes-list {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 14px 32px;
  border-top: 2px solid var(--ink);
  padding-top: 24px;
}
.bkv3-include {
  display: flex; gap: 12px; align-items: flex-start;
  font-size: 15.5px; line-height: 1.45;
  padding: 4px 0;
}
.bkv3-include .key {
  font-family: var(--display); font-weight: 800; letter-spacing: -0.01em;
  color: var(--ink); flex-shrink: 0; min-width: 28px;
}
.bkv3-include .key.red { color: var(--red); }
.bkv3-include .desc { color: var(--ink-2); }

.bkv3-signoff {
  padding: 64px 0 80px;
  max-width: 920px; margin: 0 auto;
  display: flex; align-items: center; gap: 20px;
  border-top: 1px solid var(--line);
}
.bkv3-signoff-mark {
  font-family: var(--display); font-style: italic;
  font-size: 36px; font-weight: 700; color: var(--red);
  letter-spacing: -0.02em;
}
.bkv3-signoff-meta {
  font-size: 13px; color: var(--ink-3); line-height: 1.4;
}
.bkv3-signoff-meta strong { display: block; color: var(--ink); font-size: 14px; }

.bkv3-cta-card {
  padding: 0 0 80px;
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1024px) {
  .bkv1-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .bkv1-pillars-grid { grid-template-columns: 1fr; }
  .bkv1-deliv-grid { grid-template-columns: 1fr; }
  .bkv1-cadence-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .bkv1-cleanup-card { grid-template-columns: 1fr; gap: 32px; padding: 40px 32px; }
  .bkv1-faq-grid { grid-template-columns: 1fr; gap: 24px; }
  .bkv2-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .bkv2-spec-head, .bkv2-faq-head { grid-template-columns: 1fr; gap: 16px; align-items: start; }
  .bkv2-side-grid { grid-template-columns: 1fr; }
  .bkv2-faq-row { grid-template-columns: 1fr 24px; gap: 12px; }
  .bkv3-includes-list { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .bkv1-cadence-grid { grid-template-columns: 1fr; }
  .bkv2-ledger-row { grid-template-columns: 1fr; gap: 4px; padding: 14px 0; }
  .bkv2-calendar { grid-template-columns: repeat(7, 1fr); gap: 4px; font-size: 11px; }
  .bkv1-cleanup-card { padding: 28px 20px; }
}
