.bc-page { max-width: 1120px; overflow-wrap: anywhere; letter-spacing: 0; line-height: 1.65; }
.bc-page h1, .bc-page h2, .bc-page h3, .bc-page h4 { color: var(--mk-navy); letter-spacing: 0; line-height: 1.4; }
.bc-page h1 { font-size: 2rem; margin-bottom: .75rem; }
.bc-page h2 { font-size: 1.5rem; margin-bottom: 1rem; }
.bc-page h3 { font-size: 1.125rem; margin-bottom: 1rem; }
.bc-page h4 { font-size: .875rem; margin: 0 0 .5rem; }
.bc-header { max-width: 760px; margin-bottom: 1.75rem; }
.bc-header > p:last-child { color: var(--mk-muted); }
.bc-page label, .bc-page select, .bc-page input { min-width: 0; max-width: 100%; }
.bc-page .bc-form { max-width: 720px; border-radius: 8px; box-shadow: none; }
.bc-page .bc-form input:not([type=hidden]):not([type=checkbox]), .bc-page .bc-form select, .bc-page .bc-form button { min-height: 44px; }
.bc-fields, .bc-grids { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.bc-section, .bc-summary { padding-block: 2rem; border-top: 1px solid var(--mk-line); margin-top: 1rem; }
.bc-section { scroll-margin-top: 7rem; }
.bc-summary-values { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 1.5rem; margin-block: 1.25rem; }
.bc-summary-values dt { font-size: .875rem; color: var(--mk-muted); font-weight: 500; margin-bottom: .35rem; }
.bc-summary-values dd { font-size: 1.0625rem; font-weight: 600; margin: 0; }
.bc-summary-values small { display: block; font-size: .875rem; font-weight: 400; color: var(--mk-muted); margin-top: .25rem; }
.bc-page .bc-note { font-size: .9375rem; color: var(--mk-muted); max-width: 80ch; margin-block: 1rem; }
.bc-jump { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; border-block: 1px solid var(--mk-line); padding-block: .5rem; }
.bc-jump a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; font-weight: 600; text-underline-offset: .3em; }
.bc-jump a:hover { text-decoration: underline; }
.bc-grids { margin-block: 1.5rem; }
.bc-grids > section { min-width: 0; }
.bc-sign-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(106px, auto)); border: 1px solid var(--mk-line); background: var(--mk-softer); }
.bc-sign { border: 1px solid var(--mk-line); padding: .625rem; min-width: 0; background: var(--mk-card); }
.bc-sign h4 { font-size: .875rem; color: var(--mk-muted); font-weight: 500; }
.bc-sign ul { list-style: none; margin: 0; padding: 0; font-size: .9375rem; line-height: 1.65; font-weight: 600; }
.bc-sign li { margin-bottom: .25rem; }
.bc-sign li:last-child { margin-bottom: 0; }
.bc-house-label { border-left: 3px solid var(--mk-blue); padding-left: .75rem; font-weight: 600; margin-bottom: 1.75rem; }
.bc-table { max-width: 100%; overflow-x: auto; border-block: 1px solid var(--mk-line); margin-bottom: 2rem; }
.bc-table table { min-width: 480px; overflow-wrap: normal; margin-bottom: 0; font-size: 1rem; --bs-table-bg: var(--mk-card); --bs-table-color: var(--mk-ink); --bs-table-border-color: var(--mk-line); }
.bc-table th, .bc-table td { vertical-align: top; padding: .8rem 1rem; }
.bc-table thead th { font-size: .875rem; background: var(--mk-softer); color: var(--mk-muted); font-weight: 600; }
.bc-table td { font-variant-numeric: tabular-nums; }
.bc-table td:nth-last-child(-n+2) { white-space: nowrap; }
.bc-cusps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; margin-block: 1.25rem 2rem; }
.bc-cusps p { border-bottom: 1px solid var(--mk-line); padding-bottom: .75rem; margin: 0; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.bc-cusps strong { font-size: .875rem; color: var(--mk-muted); font-weight: 500; }
.bc-qualification { max-width: 78ch; color: var(--mk-muted); font-size: .9375rem; line-height: 1.8; margin-bottom: 1.5rem; }
.bc-insight-card { max-width: 860px; padding: 1.75rem; margin-bottom: 1.25rem; border: 1px solid var(--mk-line); border-top: 3px solid var(--mk-violet); border-radius: 8px; background: var(--mk-card); box-shadow: 0 3px 12px rgba(23, 37, 84, .035); }
.bc-factor-label { font-size: .8125rem; color: var(--mk-muted); margin-bottom: .5rem; }
.bc-insight-card h3 { font-size: 1.25rem; margin-bottom: .75rem; }
.bc-interpretation { max-width: 65ch; font-size: 1.0625rem; line-height: 1.85; margin: 0 0 1.5rem; }
.bc-evidence { padding-top: 1rem; border-top: 1px solid var(--mk-line); font-size: .9375rem; color: var(--mk-muted); }
.bc-evidence h4 { font-size: .9375rem; }
.bc-evidence p { margin-bottom: .5rem; }
.bc-evidence .bc-source { font-size: .8125rem; margin-bottom: 0; line-height: 1.7; }
.bc-insight-state { max-width: 78ch; padding: 1.25rem 0 1.25rem 1rem; border-left: 3px solid var(--mk-line); margin: 0; }
.bc-page #bc-methodology { color: var(--mk-muted); font-size: .9375rem; max-width: 85ch; }
.bc-page #bc-methodology h2 { font-size: 1.125rem; }
.bc-page #life-insights-title { scroll-margin-top: 7rem; }
.bc-page :is(a, button, select, input, summary, [tabindex]):focus-visible { outline: 3px solid var(--mk-blue); outline-offset: 3px; }
@media (max-width: 991px) {
    .bc-grids { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
}
@media (max-width: 767px) {
    .bc-fields { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .bc-summary-values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .bc-summary-place { grid-column: 1 / -1; }
    .bc-cusps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bc-page h1 { font-size: 1.75rem; }
    .bc-page h2 { font-size: 1.25rem; }
    .bc-jump { gap: .25rem 1rem; }
    .bc-sign { padding: .375rem; }
    .bc-sign-grid { grid-template-rows: repeat(4, minmax(96px, auto)); }
    .bc-insight-card { padding: 1.25rem; }
    .bc-insight-card h3 { font-size: 1.125rem; }
    .bc-table th, .bc-table td { padding: .75rem .625rem; }
    .bc-section, .bc-summary { padding-block: 1.5rem; }
}
