/* ==========================================================================
   Bunker Lab Golf — bunkerlabgolf.online
   Palette: black olive + pale yellow. Display face is Didot / Bodoni MT,
   body copy is Arial. Layout is a single long reading track with a sticky
   service rail on the right.
   ========================================================================== */

:root {
  --ink:        #23241f;   /* deepest olive-black, body text */
  --ink-soft:   #4c4e43;   /* secondary text */
  --olive:      #3b3c36;   /* black olive, the house colour */
  --olive-deep: #1b1c18;
  --olive-mid:  #5f6153;
  --pale:       #f0e79c;   /* pale yellow accent */
  --pale-wash:  #faf6d8;
  --pale-line:  #e2d894;
  --paper:      #fbfaf3;
  --paper-warm: #f4f1e2;
  --edge:       #d8d4bd;
  --edge-soft:  #e8e5d3;
  --white:      #ffffff;

  --display: Didot, "Bodoni MT", "Bodoni 72", "Didot LT STD", "Hoefler Text", Garamond, Georgia, serif;
  --body: Arial, "Helvetica Neue", Helvetica, sans-serif;

  --hold: 1240px;
  --gap: 56px;
  --rail: 304px;

  --lift: 0 1px 0 var(--edge-soft), 0 18px 44px -30px rgba(35, 36, 31, 0.55);
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

body.bkl-doc {
  margin: 0;
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.72;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}

body.bkl-locked { overflow: hidden; }

img { max-width: 100%; height: auto; display: block; }

a { color: var(--olive); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--olive-deep); }

h1, h2, h3, h4 {
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: -0.008em;
  color: var(--olive-deep);
  margin: 0 0 0.5em;
  line-height: 1.14;
}

h1 { font-size: clamp(2.35rem, 5.2vw, 3.55rem); }
h2 { font-size: clamp(1.6rem, 3.1vw, 2.2rem); }
h3 { font-size: 1.24rem; letter-spacing: 0; }
h4 { font-size: 1.02rem; letter-spacing: 0.02em; }

p { margin: 0 0 1.15em; }
ul, ol { margin: 0 0 1.2em; padding-left: 1.15em; }
li { margin-bottom: 0.42em; }

.bkl-hold { width: 100%; max-width: var(--hold); margin: 0 auto; padding: 0 28px; }

.bkl-jump {
  position: absolute; left: -9999px; top: 0; z-index: 90;
  background: var(--olive-deep); color: var(--pale);
  padding: 12px 20px; font-size: 0.9rem;
}
.bkl-jump:focus { left: 12px; top: 12px; }

:focus-visible { outline: 2px solid var(--olive); outline-offset: 3px; }

/* --------------------------------------------------------------- ticker */

.bkl-ticker {
  background: var(--olive-deep);
  color: var(--paper-warm);
  font-size: 0.78rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.bkl-ticker .bkl-hold {
  display: flex; flex-wrap: wrap; gap: 8px 34px;
  align-items: center; justify-content: center;
  min-height: 38px; padding-top: 7px; padding-bottom: 7px;
}
.bkl-ticker__item { white-space: nowrap; }
.bkl-ticker__item--fade { color: #a8a892; }
.bkl-ticker a { color: var(--pale); text-decoration: none; }
.bkl-ticker a:hover { color: var(--white); text-decoration: underline; }

/* --------------------------------------------------------------- masthead */

.bkl-mast {
  position: sticky; top: 0; z-index: 60;
  background: var(--paper);
  border-bottom: 1px solid var(--edge);
  transition: padding 0.24s ease, box-shadow 0.24s ease;
}
.bkl-mast.is-condensed { box-shadow: 0 10px 30px -26px rgba(27, 28, 24, 0.9); }

.bkl-mast__row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 26px; min-height: 84px; padding-top: 14px; padding-bottom: 14px;
  transition: min-height 0.24s ease;
}
.bkl-mast.is-condensed .bkl-mast__row { min-height: 64px; }

.bkl-sig { display: flex; align-items: center; gap: 13px; text-decoration: none; }
.bkl-sig__glyph {
  display: grid; place-items: center;
  width: 44px; height: 44px; flex: none;
  background: var(--olive); color: var(--pale);
  font-family: var(--display); font-size: 1.12rem; letter-spacing: 0.06em;
  border-radius: 2px;
}
.bkl-sig__stack { display: flex; flex-direction: column; }
.bkl-sig__word {
  font-family: var(--display); font-size: 1.42rem; color: var(--olive-deep);
  line-height: 1.06;
}
.bkl-sig__sub {
  font-size: 0.7rem; letter-spacing: 0.11em; text-transform: uppercase;
  color: var(--olive-mid); margin-top: 4px;
}

.bkl-sheet__list {
  display: flex; flex-wrap: wrap; gap: 4px 20px;
  list-style: none; margin: 0; padding: 0;
}
.bkl-sheet__list a {
  text-decoration: none; font-size: 0.855rem; letter-spacing: 0.03em;
  color: var(--ink-soft); padding: 6px 0; display: inline-block;
  border-bottom: 2px solid transparent;
}
.bkl-sheet__list a:hover { color: var(--olive-deep); border-bottom-color: var(--pale-line); }
.bkl-sheet__list .bkl-here > a { color: var(--olive-deep); border-bottom-color: var(--olive); }
.bkl-sheet__foot { display: none; }

.bkl-burger {
  display: none; align-items: center; gap: 9px;
  background: none; border: 1px solid var(--edge); border-radius: 2px;
  padding: 9px 14px; cursor: pointer; font-family: var(--body);
  font-size: 0.74rem; letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--olive-deep);
}
.bkl-burger__bar { display: block; width: 17px; height: 1px; background: var(--olive-deep); position: relative; }
.bkl-burger__bar + .bkl-burger__bar { margin-top: -1px; }
.bkl-burger__bar:first-child { transform: translateY(-3px); }
.bkl-burger__bar:nth-child(2) { transform: translateY(3px); }
.bkl-burger[aria-expanded="true"] .bkl-burger__bar:first-child { transform: rotate(20deg); }
.bkl-burger[aria-expanded="true"] .bkl-burger__bar:nth-child(2) { transform: rotate(-20deg) translateY(-1px); }

/* --------------------------------------------------------------- shell */

.bkl-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--rail);
  gap: var(--gap);
  align-items: start;
  padding-top: 46px;
  padding-bottom: 76px;
}

.bkl-track { min-width: 0; }
.bkl-track > section { margin-bottom: 58px; }
.bkl-track > section:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------- sticky rail */

.bkl-rail__stick { position: sticky; top: 116px; display: grid; gap: 18px; }

.bkl-card {
  background: var(--white);
  border: 1px solid var(--edge);
  border-top: 3px solid var(--olive);
  padding: 22px 20px 20px;
  box-shadow: var(--lift);
}
.bkl-card--quiet { background: var(--paper-warm); border-top-color: var(--pale-line); box-shadow: none; }
.bkl-card__kicker {
  font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--olive-mid); margin: 0 0 9px;
}
.bkl-card__head {
  font-family: var(--display); font-size: 1.12rem; line-height: 1.32;
  color: var(--olive-deep); margin: 0 0 14px;
}
.bkl-card__note {
  font-size: 0.85rem; color: var(--ink-soft); margin: 0 0 14px;
  padding-left: 11px; border-left: 2px solid var(--pale-line);
}
.bkl-card__dl { margin: 18px 0 0; font-size: 0.82rem; }
.bkl-card__dl dt {
  font-size: 0.65rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--olive-mid); margin-top: 11px;
}
.bkl-card__dl dt:first-child { margin-top: 0; }
.bkl-card__dl dd { margin: 2px 0 0; color: var(--ink); word-break: break-word; }

.bkl-clock { list-style: none; margin: 0; padding: 0; font-size: 0.8rem; }
.bkl-clock li {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 6px 0; border-bottom: 1px dotted var(--edge); margin: 0;
}
.bkl-clock li:last-child { border-bottom: 0; }
.bkl-clock li span:first-child { color: var(--olive-mid); }
.bkl-clock li span:last-child { text-align: right; }

/* --------------------------------------------------------------- buttons */

.bkl-press {
  display: block; text-align: center; text-decoration: none;
  padding: 13px 18px; font-size: 0.85rem; letter-spacing: 0.06em;
  border-radius: 2px; transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.bkl-press + .bkl-press { margin-top: 9px; }
.bkl-press--solid { background: var(--olive); color: var(--pale); border: 1px solid var(--olive); }
.bkl-press--solid:hover { background: var(--olive-deep); color: var(--white); }
.bkl-press--line { background: transparent; color: var(--olive-deep); border: 1px solid var(--edge); }
.bkl-press--line:hover { border-color: var(--olive); background: var(--pale-wash); }

.bkl-inline-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; }
.bkl-inline-actions .bkl-press { display: inline-block; margin: 0; padding: 13px 24px; }

/* --------------------------------------------------------------- opener */

.bkl-open {
  border-top: 4px solid var(--olive-deep);
  padding-top: 26px;
}
.bkl-open__tag {
  display: inline-block;
  font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--olive-mid); margin-bottom: 16px;
}
.bkl-open h1 { margin-bottom: 0.32em; }
.bkl-open__lede {
  font-size: 1.16rem; line-height: 1.62; color: var(--ink-soft);
  max-width: 60ch;
}
.bkl-open__pull {
  margin: 30px 0 0; padding: 20px 24px;
  background: var(--pale-wash); border-left: 4px solid var(--pale-line);
  font-family: var(--display); font-size: 1.2rem; line-height: 1.4;
  color: var(--olive-deep);
}

/* --------------------------------------------------------------- prose */

.bkl-prose { max-width: 68ch; }
.bkl-prose h2 { margin-top: 1.5em; }
.bkl-prose h2:first-child { margin-top: 0; }
.bkl-prose h3 { margin-top: 1.7em; color: var(--olive); }

.bkl-rule {
  border: 0; height: 1px; background: var(--edge);
  margin: 44px 0;
}

.bkl-eyebrow {
  font-size: 0.7rem; letter-spacing: 0.17em; text-transform: uppercase;
  color: var(--olive-mid); margin: 0 0 12px;
  display: flex; align-items: center; gap: 12px;
}
.bkl-eyebrow::after { content: ""; flex: 1; height: 1px; background: var(--edge); }

blockquote.bkl-aside {
  margin: 30px 0; padding: 4px 0 4px 22px;
  border-left: 3px solid var(--olive);
  font-family: var(--display); font-size: 1.16rem; line-height: 1.46;
  color: var(--olive-deep);
}
blockquote.bkl-aside p:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------- ledger list */

.bkl-ledger { list-style: none; margin: 0 0 1.4em; padding: 0; counter-reset: bklstep; }
.bkl-ledger > li {
  position: relative; padding: 0 0 22px 54px; margin: 0;
  border-left: 1px solid var(--edge); margin-left: 15px;
}
.bkl-ledger > li:last-child { border-left-color: transparent; padding-bottom: 0; }
.bkl-ledger > li::before {
  counter-increment: bklstep; content: counter(bklstep, decimal-leading-zero);
  position: absolute; left: -16px; top: 0;
  width: 31px; height: 31px; display: grid; place-items: center;
  background: var(--paper); border: 1px solid var(--olive);
  font-family: var(--display); font-size: 0.82rem; color: var(--olive-deep);
  border-radius: 50%;
}
.bkl-ledger h3 { margin: 2px 0 6px; }
.bkl-ledger p:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------- panels */

.bkl-slab {
  background: var(--white); border: 1px solid var(--edge);
  padding: 26px 26px 22px; box-shadow: var(--lift);
}
.bkl-slab + .bkl-slab { margin-top: 16px; }
.bkl-slab h3 { margin-top: 0; }
.bkl-slab p:last-child, .bkl-slab ul:last-child { margin-bottom: 0; }

.bkl-slab--dark {
  background: var(--olive-deep); border-color: var(--olive-deep); color: var(--paper-warm);
}
.bkl-slab--dark h2, .bkl-slab--dark h3 { color: var(--pale); }
.bkl-slab--dark a { color: var(--pale); }

.bkl-pairs { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(228px, 1fr)); }
.bkl-pairs > .bkl-slab + .bkl-slab { margin-top: 0; }

.bkl-figure {
  display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin: 26px 0; padding: 0; list-style: none;
}
.bkl-figure li {
  margin: 0; padding: 16px 16px 14px;
  background: var(--paper-warm); border-bottom: 3px solid var(--pale-line);
}
.bkl-figure b {
  display: block; font-family: var(--display); font-weight: 400;
  font-size: 1.78rem; color: var(--olive-deep); line-height: 1.1;
}
.bkl-figure span {
  display: block; margin-top: 6px; font-size: 0.78rem;
  letter-spacing: 0.06em; color: var(--ink-soft);
}

/* --------------------------------------------------------------- tables */

.bkl-sheetwrap { overflow-x: auto; margin: 0 0 1.4em; }
table.bkl-grid { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 420px; }
table.bkl-grid caption {
  text-align: left; font-size: 0.7rem; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--olive-mid); padding-bottom: 10px;
}
table.bkl-grid th, table.bkl-grid td {
  text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--edge-soft);
  vertical-align: top;
}
table.bkl-grid thead th {
  background: var(--olive-deep); color: var(--pale);
  font-size: 0.72rem; letter-spacing: 0.11em; text-transform: uppercase; font-weight: normal;
  border-bottom: 0;
}
table.bkl-grid tbody tr:nth-child(even) { background: var(--paper-warm); }

/* --------------------------------------------------------------- price rows */

.bkl-tier {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 26px; align-items: start;
  padding: 22px 0; border-bottom: 1px solid var(--edge);
}
.bkl-tier:first-of-type { border-top: 1px solid var(--edge); }
.bkl-tier h3 { margin: 0 0 6px; }
.bkl-tier p { margin: 0 0 8px; color: var(--ink-soft); font-size: 0.94rem; }
.bkl-tier ul { margin: 0; font-size: 0.9rem; color: var(--ink-soft); }
.bkl-tier__cost {
  font-family: var(--display); font-size: 1.72rem; color: var(--olive-deep);
  white-space: nowrap; text-align: right;
}
.bkl-tier__cost small { display: block; font-family: var(--body); font-size: 0.7rem;
  letter-spacing: 0.11em; text-transform: uppercase; color: var(--olive-mid); margin-top: 4px; }

/* --------------------------------------------------------------- questions */

.bkl-ask { border-top: 1px solid var(--edge); margin: 0 0 1.4em; }
.bkl-ask__q {
  width: 100%; text-align: left; background: none; border: 0;
  border-bottom: 1px solid var(--edge);
  padding: 18px 40px 18px 0; cursor: pointer; position: relative;
  font-family: var(--display); font-size: 1.1rem; color: var(--olive-deep);
  line-height: 1.34;
}
.bkl-ask__q:hover { color: var(--olive); }
.bkl-ask__q::after {
  content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
  font-family: var(--body); font-size: 1.2rem; color: var(--olive-mid);
}
.bkl-ask__q[aria-expanded="true"]::after { content: "\2212"; }
.bkl-ask__a {
  padding: 4px 0 20px; border-bottom: 1px solid var(--edge);
  color: var(--ink-soft); font-size: 0.96rem;
}
.bkl-ask__a p:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------- people */

.bkl-people { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.bkl-people > li {
  margin: 0; padding: 22px 24px;
  background: var(--white); border: 1px solid var(--edge);
  display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 18px; align-items: start;
}
.bkl-people__mark {
  width: 62px; height: 62px; display: grid; place-items: center;
  background: var(--pale-wash); border: 1px solid var(--pale-line);
  font-family: var(--display); font-size: 1.3rem; color: var(--olive-deep);
}
.bkl-people h3 { margin: 0 0 2px; }
.bkl-people__role {
  font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--olive-mid); margin: 0 0 10px;
}
.bkl-people p:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------- voices */

.bkl-voices { display: grid; gap: 18px; }
.bkl-voice {
  background: var(--white); border: 1px solid var(--edge);
  border-left: 4px solid var(--pale-line); padding: 22px 24px;
}
.bkl-voice blockquote { margin: 0 0 14px; font-size: 1rem; line-height: 1.68; }
.bkl-voice figcaption { font-size: 0.8rem; color: var(--olive-mid); }
.bkl-voice figcaption b { color: var(--olive-deep); font-weight: bold; }
.bkl-voice__meta {
  display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px;
  font-size: 0.72rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--olive-mid);
}

/* --------------------------------------------------------------- article index */

.bkl-stack { list-style: none; margin: 0; padding: 0; }
.bkl-stack > li {
  margin: 0; padding: 24px 0; border-bottom: 1px solid var(--edge);
}
.bkl-stack > li:first-child { border-top: 1px solid var(--edge); }
.bkl-stack h3 { margin: 0 0 6px; font-family: var(--display); font-size: 1.32rem; }
.bkl-stack h3 a { text-decoration: none; }
.bkl-stack h3 a:hover { text-decoration: underline; }
.bkl-stack p { margin: 0 0 8px; color: var(--ink-soft); font-size: 0.95rem; }
.bkl-stack__tag {
  font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--olive-mid);
}

.bkl-crumb {
  font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--olive-mid); margin: 0 0 14px;
}
.bkl-crumb a { color: var(--olive-mid); }

.bkl-byline {
  font-size: 0.8rem; color: var(--olive-mid);
  padding-bottom: 22px; border-bottom: 1px solid var(--edge); margin-bottom: 28px;
}

.bkl-next {
  margin-top: 40px; padding: 22px 24px;
  background: var(--paper-warm); border: 1px dashed var(--edge);
}
.bkl-next h2 { font-size: 1.2rem; margin-bottom: 0.4em; }
.bkl-next p:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------- article view */

.bkl-track > article { max-width: 72ch; }
.bkl-track > article h1 { margin-bottom: 0.36em; }
.bkl-track > article > .bkl-prose > p:first-of-type {
  font-size: 1.09rem; line-height: 1.66; color: var(--ink-soft);
}
.bkl-track > article .bkl-prose h2 {
  font-size: clamp(1.42rem, 2.5vw, 1.78rem); margin-top: 1.7em;
}
.bkl-track > article .bkl-prose table.bkl-grid { font-size: 0.86rem; }
.bkl-track > article .bkl-slab { margin: 30px 0; }

.bkl-next a { color: var(--olive-deep); }

/* Quiet pages (404, thank-you) drop the heavy opening rule. */
.bkl-quiet-page .bkl-open { border-top-color: var(--pale-line); }
.bkl-quiet-page .bkl-open h1 { font-size: clamp(2.1rem, 4.4vw, 3rem); }

/* --------------------------------------------------------------- forms */

.bkl-form { display: grid; gap: 16px; }
.bkl-form__row { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.bkl-form label { display: block; }
.bkl-form__tag {
  display: block; font-size: 0.72rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--olive-mid); margin-bottom: 6px;
}
.bkl-form input, .bkl-form select, .bkl-form textarea {
  width: 100%; padding: 11px 13px; font-family: var(--body); font-size: 0.95rem;
  color: var(--ink); background: var(--white);
  border: 1px solid var(--edge); border-radius: 2px;
}
.bkl-form input:focus, .bkl-form select:focus, .bkl-form textarea:focus {
  border-color: var(--olive); outline: none; box-shadow: 0 0 0 3px rgba(240, 231, 156, 0.55);
}
.bkl-form .is-wrong { border-color: #9a3a2c; background: #fdf3f0; }
.bkl-form textarea { min-height: 132px; resize: vertical; }
.bkl-form__flag {
  background: #fdf3f0; border-left: 3px solid #9a3a2c;
  padding: 11px 14px; font-size: 0.87rem; color: #6f2a20;
}
.bkl-form__fine { font-size: 0.8rem; color: var(--olive-mid); margin: 0; }
.bkl-form button {
  justify-self: start; background: var(--olive); color: var(--pale);
  border: 1px solid var(--olive); padding: 13px 30px; cursor: pointer;
  font-family: var(--body); font-size: 0.86rem; letter-spacing: 0.07em; border-radius: 2px;
}
.bkl-form button:hover { background: var(--olive-deep); color: var(--white); }

/* --------------------------------------------------------------- closer */

.bkl-closer {
  background: var(--olive-deep); color: var(--paper-warm);
  padding: 34px 32px; margin-top: 8px;
}
.bkl-closer h2 { color: var(--pale); margin-bottom: 0.4em; }
.bkl-closer p { color: #cdcbb8; max-width: 56ch; }
.bkl-closer .bkl-press--solid { background: var(--pale); color: var(--olive-deep); border-color: var(--pale); }
.bkl-closer .bkl-press--solid:hover { background: var(--white); border-color: var(--white); }
.bkl-closer .bkl-press--line { color: var(--pale); border-color: #55574a; }
.bkl-closer .bkl-press--line:hover { border-color: var(--pale); background: transparent; }

/* --------------------------------------------------------------- colophon */

.bkl-colophon { background: var(--olive); color: var(--paper-warm); padding-top: 52px; }
.bkl-colophon__grid {
  display: grid; gap: 38px;
  grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
  padding-bottom: 42px;
}
.bkl-colophon__word {
  font-family: var(--display); font-size: 1.62rem; color: var(--pale); margin: 0 0 12px;
}
.bkl-colophon__lede p { font-size: 0.92rem; color: #d5d3c0; }
.bkl-colophon__seal {
  font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: #a5a692;
}
.bkl-colophon__col h2 {
  font-family: var(--body); font-size: 0.72rem; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--pale); margin-bottom: 14px;
}
.bkl-colophon__col ul { list-style: none; margin: 0; padding: 0; }
.bkl-colophon__col li { margin-bottom: 7px; }
.bkl-colophon a { color: #e6e4d2; text-decoration: none; font-size: 0.9rem; }
.bkl-colophon a:hover { color: var(--pale); text-decoration: underline; }
.bkl-colophon address { font-style: normal; font-size: 0.9rem; color: #d5d3c0; margin-bottom: 12px; }
.bkl-colophon__col p { font-size: 0.9rem; color: #d5d3c0; }

.bkl-colophon__rule { border-top: 1px solid #55574a; }
.bkl-colophon__rule-row {
  display: flex; flex-wrap: wrap; gap: 8px 26px; justify-content: space-between;
  padding-top: 18px; padding-bottom: 22px;
}
.bkl-colophon__rule-row p { margin: 0; font-size: 0.76rem; color: #a5a692; }

/* --------------------------------------------------------------- thumb bar */

.bkl-thumbbar { display: none; }

/* --------------------------------------------------------------- reveal */

.js-on [data-lift] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.js-on [data-lift].is-lifted { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .js-on [data-lift] { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------- breakpoints */

@media (max-width: 1180px) {
  :root { --gap: 40px; --rail: 272px; }
  .bkl-sheet__list { gap: 4px 14px; }
  .bkl-sheet__list a { font-size: 0.8rem; }
}

@media (max-width: 1000px) {
  .bkl-burger { display: inline-flex; }

  .bkl-sheet {
    position: fixed; left: 0; right: 0; top: 0;
    max-height: 100vh; overflow-y: auto;
    background: var(--paper); border-bottom: 1px solid var(--edge);
    padding: 96px 28px 40px;
    transform: translateY(-102%);
    transition: transform 0.32s cubic-bezier(0.4, 0.02, 0.2, 1);
    z-index: 55;
  }
  .bkl-sheet.is-dropped { transform: translateY(0); box-shadow: 0 30px 60px -40px rgba(27, 28, 24, 0.9); }
  .bkl-sheet__list { flex-direction: column; gap: 0; }
  .bkl-sheet__list li { border-bottom: 1px solid var(--edge-soft); }
  .bkl-sheet__list a {
    display: block; padding: 14px 0; font-family: var(--display);
    font-size: 1.24rem; letter-spacing: 0; border-bottom: 0; color: var(--olive-deep);
  }
  .bkl-sheet__foot { display: block; margin: 24px 0 0; }
  .bkl-sheet__foot a {
    display: block; text-align: center; background: var(--olive); color: var(--pale);
    padding: 14px; text-decoration: none; font-size: 0.86rem; letter-spacing: 0.06em;
  }

  .bkl-shell { grid-template-columns: minmax(0, 1fr); gap: 46px; padding-bottom: 56px; }
  .bkl-rail__stick { position: static; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }

  .bkl-thumbbar {
    display: grid; grid-template-columns: 1fr 1fr;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
    border-top: 1px solid var(--olive-deep);
  }
  .bkl-thumbbar a {
    text-align: center; padding: 14px 8px; text-decoration: none;
    font-size: 0.83rem; letter-spacing: 0.06em;
    background: var(--paper); color: var(--olive-deep);
  }
  .bkl-thumbbar__go { background: var(--olive-deep); color: var(--pale); }
  .bkl-colophon { padding-bottom: 54px; }
}

@media (max-width: 720px) {
  body.bkl-doc { font-size: 16px; }
  .bkl-hold { padding: 0 20px; }
  .bkl-ticker .bkl-hold { justify-content: flex-start; gap: 6px 18px; font-size: 0.7rem; }
  .bkl-sig__glyph { width: 38px; height: 38px; font-size: 1rem; }
  .bkl-sig__word { font-size: 1.2rem; }
  .bkl-sig__sub { font-size: 0.63rem; letter-spacing: 0.08em; }
  .bkl-shell { padding-top: 32px; }
  .bkl-track > section { margin-bottom: 44px; }
  .bkl-open__pull { padding: 16px 18px; font-size: 1.06rem; }
  .bkl-tier { grid-template-columns: minmax(0, 1fr); }
  .bkl-tier__cost { text-align: left; }
  .bkl-tier__cost small { margin-top: 2px; }
  .bkl-people > li { grid-template-columns: minmax(0, 1fr); }
  .bkl-people__mark { width: 52px; height: 52px; font-size: 1.1rem; }
  .bkl-slab, .bkl-voice, .bkl-closer { padding-left: 20px; padding-right: 20px; }
  .bkl-colophon__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .bkl-ledger > li { padding-left: 44px; }
}

@media (max-width: 420px) {
  .bkl-burger__label { display: none; }
  .bkl-figure { grid-template-columns: minmax(0, 1fr); }
}

@media print {
  .bkl-ticker, .bkl-mast, .bkl-rail, .bkl-thumbbar, .bkl-closer { display: none; }
  .bkl-shell { display: block; }
  body.bkl-doc { background: #fff; font-size: 12pt; }
}
