:root {
  --ground: #F7FAF2;
  --ink: #282D22;
  --accent: #2AA626;
  --support: #C5DDCD;
  --surface: #FCFDFB;
  --green-ink: #15220F;
  --measure: 1320px;
  color-scheme: light;
  font-family: 'Scada', Arial, sans-serif;
  color: var(--ink);
  background: var(--ground);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; font-size: 19px; line-height: 1.6; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: background-color 150ms, text-decoration-thickness 150ms; }
a:hover { text-decoration-thickness: 3px; background-color: var(--support); }
a:focus-visible { outline: 3px solid var(--ink); outline-offset: 5px; background-color: var(--support); }
::selection { background: var(--support); color: var(--ink); }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: 'Stoke', Georgia, serif; font-weight: 400; }
h1 { font-size: clamp(42px, 4.25vw, 62px); line-height: 1.16; letter-spacing: -1.5px; }
h2 { font-size: clamp(30px, 2.8vw, 40px); line-height: 1.22; letter-spacing: -.8px; }
h3 { font-size: 23px; line-height: 1.35; }
p + p { margin-top: 22px; }
.bc157-shell { width: min(var(--measure), calc(100% - 112px)); margin-inline: auto; }
.bc157-skip { position: absolute; top: -90px; left: 24px; padding: 12px 18px; background: var(--surface); z-index: 10; }
.bc157-skip:focus { top: 12px; }
.bc157-directory { min-height: 128px; display: flex; align-items: center; justify-content: space-between; position: relative; gap: 42px; }
.bc157-wordmark { font-family: 'Stoke', Georgia, serif; font-size: 31px; line-height: 1.2; text-decoration: none; white-space: nowrap; position: relative; z-index: 1; background: var(--ground); padding: 10px 16px 10px 0; }
.bc157-wordmark:hover { background: var(--ground); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 4px; }
.bc157-joint-drawing { width: 53%; height: 106px; position: absolute; left: 24%; top: 10px; z-index: 0; }
.bc157-levels { display: grid; align-items: start; justify-items: start; width: 254px; gap: 3px; position: relative; padding-left: 12px; background: var(--ground); }
.bc157-levels a { display: flex; align-items: center; gap: 13px; font-size: 17px; line-height: 24px; text-decoration: none; border-bottom: 3px solid var(--ink); padding: 1px 9px 3px 0; transition: padding-left 150ms, background-color 150ms; }
.bc157-levels a:nth-child(1) { width: 100%; }
.bc157-levels a:nth-child(2) { width: 82%; }
.bc157-levels a:nth-child(3) { width: 66%; }
.bc157-levels a:hover { background: var(--support); padding-left: 7px; }
.bc157-levels [aria-current='page'] { border-bottom-color: var(--accent); border-bottom-width: 6px; }
.bc157-levels svg, .bc157-levels i { width: 18px; height: 18px; flex: 0 0 18px; }
.bc157-term { white-space: nowrap; }

/* The mineral face is the full-bleed ground. A cut, two-colour slab crosses it. */
.bc157-landing { position: relative; isolation: isolate; min-height: 690px; padding-block: 32px 78px; }
.bc157-phone-crop { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 66% 50%; }
.bc157-hero-reading { width: min(820px, 65%); background: var(--ground); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 50px), calc(100% - 38px) calc(100% - 50px), calc(100% - 38px) 100%, 0 100%); }
.bc157-home-title { font-size: clamp(43px, 4.3vw, 62px); line-height: 1.13; background: var(--accent); color: var(--green-ink); padding: 30px 54px 30px max(56px, calc((100vw - 1320px) / 2)); }
.bc157-intro-ground { padding: 24px 66px 34px max(56px, calc((100vw - 1320px) / 2)); }
.bc157-lead { max-width: 640px; font-size: 21px; line-height: 1.4; }
.bc157-service-note { margin-top: 25px; max-width: 650px; cursor: auto; }
.bc157-note-ink { display: flex; height: 10px; gap: 24px; margin-bottom: 15px; }
.bc157-note-ink::before { content: ''; width: 68px; background: var(--ink); }
.bc157-note-ink::after { content: ''; flex: 1; background: var(--ink); }
.bc157-service-note p { font-size: 17px; line-height: 1.44; }
.bc157-service-note strong { font-weight: 700; }
.bc157-mineral-sliver { position: absolute; right: max(56px, calc((100vw - 1320px) / 2)); bottom: -158px; width: 128px; height: 364px; object-fit: cover; object-position: 50% 60%; border-left: 10px solid var(--accent); box-shadow: 15px 18px 0 var(--support); z-index: 2; }

/* Each broad reading crosses a narrow context lane. No cards or fitted tiles. */
.bc157-transverse { position: relative; }
.bc157-connection { position: relative; }
.bc157-crossing { display: grid; grid-template-columns: 194px minmax(0, 1fr); gap: 66px; position: relative; padding-block: 61px 76px; }
.bc157-crossing::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 10px; background: linear-gradient(to right, var(--ink) 0 87px, transparent 87px 117px, var(--ink) 117px 100%); }
.bc157-context { position: sticky; align-self: start; top: 30px; padding-right: 10px; font-size: 18px; line-height: 1.4; }
.bc157-context-number { font-family: 'Stoke', Georgia, serif; font-size: 96px; line-height: 1; display: block; margin: -12px 0 20px -6px; color: var(--green-ink); }
.bc157-context svg, .bc157-context i { width: 24px; height: 24px; margin-bottom: 15px; stroke-width: 1.6; }
.bc157-context::after { content: ''; display: block; width: 10px; height: 86px; background: var(--accent); margin-top: 27px; }
.bc157-essay { max-width: 856px; min-width: 0; }
.bc157-essay h2 { max-width: 780px; margin-bottom: 28px; }
.bc157-essay p { max-width: 748px; }
.bc157-first-connection .bc157-essay { padding-right: 70px; }
.bc157-first-connection .bc157-crossing { padding-top: 66px; }
.bc157-home-connection:nth-child(2) { background: var(--support); }
.bc157-home-connection:nth-child(2) .bc157-crossing { padding-top: 68px; }
.bc157-home-connection:nth-child(2) .bc157-crossing::before { height: 16px; background: linear-gradient(to right, var(--accent) 0 87px, transparent 87px 117px, var(--accent) 117px 100%); }
.bc157-home-connection:nth-child(3) .bc157-essay > p:first-of-type { border-left: 12px solid var(--accent); margin-left: -28px; padding-left: 16px; }
.bc157-final-joint { padding: 12px 0 60px; width: 240px; margin-left: 48%; }
.bc157-footer { background: var(--support); border-top: 16px solid var(--accent); padding: 44px 0 30px; }
.bc157-footer-inner { display: grid; grid-template-columns: 1fr 1.25fr; gap: 68px; }
.bc157-footer-note { max-width: 475px; font-size: 20px; line-height: 1.45; }
.bc157-footer-links { display: flex; flex-wrap: wrap; align-content: start; column-gap: 24px; row-gap: 13px; font-size: 18px; }
.bc157-copyright { padding-top: 35px; font-size: 16px; }

.bc157-crumbs { font-size: 16px; padding-top: 20px; margin-bottom: 28px; display: flex; align-items: center; flex-wrap: wrap; gap: 11px; }
.bc157-crumbs svg, .bc157-crumbs i { width: 19px; height: 19px; margin-right: 3px; }
.bc157-inner-heading { max-width: 1160px; padding-left: 28px; border-left: 12px solid var(--accent); }
.bc157-inner-lead { max-width: 740px; margin: 28px 0 40px 260px; font-size: 23px; line-height: 1.42; }
.bc157-photo-band { position: relative; margin: 0 0 50px; }
.bc157-photo-band img { width: 100%; height: 300px; object-fit: cover; background: var(--support); border-right: 16px solid var(--accent); }
.bc157-photo-band figcaption { position: relative; width: fit-content; max-width: min(720px, calc(100% - 260px)); margin: -28px 0 0 260px; padding: 16px 30px 12px 0; background: var(--ground); box-shadow: -20px 0 0 var(--ground); font-size: 16px; line-height: 1.45; }
.bc157-inner-prose { padding-top: 12px; }
.bc157-inner-prose .bc157-crossing { padding-bottom: 64px; }
.bc157-references { margin: 0 0 80px 260px; max-width: 900px; }
.bc157-references h2 { margin-bottom: 34px; }
.bc157-source { margin-top: 28px; padding-left: 24px; border-left: 8px solid var(--support); }
.bc157-source h3 { font-family: 'Scada', Arial, sans-serif; font-weight: 700; font-size: 21px; }
.bc157-source p { margin-top: 9px; font-size: 18px; max-width: 750px; }
.bc157-missing { min-height: 65vh; padding-block: 40px 90px; }
.bc157-missing h1 { max-width: 960px; margin-bottom: 28px; }
.bc157-missing p { max-width: 650px; }

@media (min-width: 1650px) {
  .bc157-hero-reading { width: calc(50% + 100px); }
  .bc157-home-title, .bc157-intro-ground { padding-right: 80px; }
}
@media (max-width: 1100px) {
  .bc157-shell { width: calc(100% - 64px); }
  .bc157-wordmark { font-size: 26px; }
  .bc157-joint-drawing { left: 20%; width: 57%; }
  .bc157-levels { width: 205px; }
  .bc157-hero-reading { width: 74%; }
  .bc157-home-title { padding-left: 32px; padding-right: 40px; }
  .bc157-intro-ground { padding-left: 32px; padding-right: 54px; }
  .bc157-lead { font-size: 20px; }
  .bc157-mineral-sliver { display: none; }
  .bc157-crossing { grid-template-columns: 150px minmax(0, 1fr); gap: 38px; }
  .bc157-context { font-size: 17px; }
  .bc157-context-number { font-size: 76px; }
  .bc157-first-connection .bc157-essay { padding-right: 0; }
  .bc157-inner-lead, .bc157-references { margin-left: 188px; }
  .bc157-photo-band figcaption { margin-left: 188px; max-width: calc(100% - 188px); }
}
@media (max-width: 760px) {
  body { font-size: 18px; line-height: 1.55; }
  .bc157-shell { width: calc(100% - 40px); }
  h1 { font-size: 36px; line-height: 1.1; letter-spacing: -.9px; }
  h2 { font-size: 29px; line-height: 1.26; }
  .bc157-directory { min-height: 0; height: 82px; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 9px; padding-top: 13px; }
  .bc157-wordmark { font-size: clamp(20px, 5.9vw, 23px); padding: 0; }
  .bc157-joint-drawing { display: none; }
  .bc157-levels { width: 100%; padding: 0; display: flex; gap: 21px; background: transparent; }
  .bc157-levels a, .bc157-levels a:nth-child(n) { width: auto; font-size: 16px; line-height: 20px; padding: 0 0 3px; border-bottom: 2px solid var(--ink); }
  .bc157-levels a:hover { padding-left: 0; }
  .bc157-levels svg, .bc157-levels i { display: none; }
  .bc157-levels [aria-current='page'] { border-bottom-width: 3px; }
  .bc157-landing { min-height: 0; padding: 0 0 28px; display: flex; flex-direction: column; background: var(--ground); }
  .bc157-hero-reading { width: 100%; clip-path: none; }
  .bc157-home-title { padding: 20px 20px 23px; font-size: 36px; line-height: 1.1; letter-spacing: -.9px; border-right: 20px solid var(--ground); }
  .bc157-intro-ground { padding: 19px 20px 0; }
  .bc157-lead { font-size: 18px; line-height: 1.35; }
  .bc157-service-note { margin-top: 20px; }
  .bc157-service-note p { font-size: 16px; line-height: 1.38; }
  .bc157-note-ink { height: 9px; margin-bottom: 13px; gap: 20px; }
  .bc157-note-ink::before { width: 52px; }
  .bc157-phone-crop { position: relative; z-index: 0; inset: auto; width: calc(100% - 40px); height: 104px; margin: 23px 20px 0; object-position: 50% 56%; border-right: 10px solid var(--accent); }
  .bc157-crossing { display: block; padding-block: 27px 44px; }
  .bc157-crossing::before { height: 8px; background: linear-gradient(to right, var(--ink) 0 43px, transparent 43px 65px, var(--ink) 65px 100%); }
  .bc157-context { position: static; padding: 0; margin-bottom: 26px; max-width: 440px; font-size: 17px; display: grid; grid-template-columns: 54px 1fr; gap: 9px 18px; }
  .bc157-context::after { display: none; }
  .bc157-context-number { grid-row: 1 / 3; font-size: 44px; margin: 0; }
  .bc157-context svg, .bc157-context i { width: 20px; height: 20px; margin: 0; }
  .bc157-context p { grid-column: 2; }
  .bc157-essay h2 { margin-bottom: 22px; }
  .bc157-first-connection .bc157-crossing { padding-top: 28px; }
  .bc157-home-connection:nth-child(2) .bc157-crossing { padding-top: 34px; }
  .bc157-home-connection:nth-child(2) .bc157-crossing::before { height: 10px; background: linear-gradient(to right, var(--accent) 0 43px, transparent 43px 65px, var(--accent) 65px 100%); }
  .bc157-home-connection:nth-child(3) .bc157-essay > p:first-of-type { border-left-width: 8px; margin-left: 0; padding-left: 16px; }
  .bc157-final-joint { width: 170px; margin-left: 28%; padding-bottom: 34px; }
  .bc157-footer { padding-top: 30px; }
  .bc157-footer-inner { display: block; }
  .bc157-footer-note { font-size: 19px; }
  .bc157-footer-links { margin-top: 27px; gap: 12px 22px; font-size: 17px; }
  .bc157-copyright { font-size: 16px; padding-top: 27px; }
  .bc157-crumbs { padding-top: 22px; margin-bottom: 23px; gap: 8px; }
  .bc157-inner-heading { font-size: 34px; line-height: 1.16; padding-left: 16px; border-left-width: 8px; }
  .bc157-inner-lead { margin: 24px 0 28px; font-size: 20px; }
  .bc157-photo-band { margin: 0 0 34px; }
  .bc157-photo-band img { height: 170px; border-right-width: 10px; }
  .bc157-photo-band figcaption { margin: -17px 20px 0; max-width: calc(100% - 40px); padding: 12px 0 0; box-shadow: -10px 0 0 var(--ground), 10px 0 0 var(--ground); }
  .bc157-inner-prose { padding-top: 13px; }
  .bc157-inner-prose .bc157-crossing { padding-bottom: 43px; }
  .bc157-references { margin: 0 0 55px; }
  .bc157-source { padding-left: 18px; }
  .bc157-source h3 { font-size: 20px; }
  .bc157-source p { font-size: 18px; }
  .bc157-missing { padding-top: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
