.bh-tour { --blue: #a5c9ce; --copper: #d6a18d; --green: #b7c8a5; --muted: #c2b9b8; background: #1b191c; }
.bh-tour .tour-opening { padding-top: 35px; background-image: url('../assets/banner.jpg'); background-color: #242023; background-size: 1500px auto; }
.bh-tour .opening-copy { text-align: center; }
.bh-tour h1 { margin: 0; font-size: 4.3rem; }
.bh-tour .opening-line { font-size: 1.6rem; margin: 10px 0 14px; }
.bh-tour .opening-intro { max-width: 720px; margin: 0 auto; font-size: 1rem; line-height: 1.7; }
.bh-tour .hero-scene { height: 260px; }
.bh-tour .opening-footer { padding-block: 0 24px; }
.bh-tour .chapter-nav .wrap { display: flex; overflow-x: auto; scrollbar-width: thin; }
.bh-tour .chapter-nav a { flex: 1 0 auto; padding-inline: 12px; }
.bh-tour .chapter { padding-block: 60px; }
.bh-tour #horizons { padding-top: 40px; }
.bh-tour h2 { font-size: 2.4rem; line-height: 1.2; max-width: 930px; }
.bh-tour .chapter-layout { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 65px; align-items: center; }
.bh-tour .chapter-heading { margin-bottom: 28px; }
.bh-tour .chapter-copy p { margin-bottom: 18px; line-height: 1.75; }
.bh-tour .chapter-copy strong { color: var(--ink); font-weight: 550; }
.bh-tour .chapter-copy em { color: var(--ink); }
.bh-tour .chapter-next { margin-top: 28px; gap: 18px; font-size: .875rem; }
.bh-tour .chapter-next svg { flex-shrink: 0; }
.bh-tour .technical-note { margin-top: 27px; }
.bh-tour .technical-note summary { font-size: .875rem; }
.bh-tour .technical-note > div { font-size: .9375rem; }
.bh-tour .technical-note .source-ref { margin-bottom: 10px; }
.outside-comparison { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.25rem), 1fr)); gap: 28px; padding-block: 24px; }
.outside-comparison > div { border-top: 1px solid var(--line); padding-top: 20px; }
.comparison-symbol { display: block; color: var(--blue); margin-bottom: 15px; }
.comparison-symbol svg.lucide { width: 28px; height: 28px; }
.outside-comparison .small-label { margin: 0 0 12px; }
.bh-tour .outside-comparison h3 { font-family: Georgia, serif; font-size: 1.4rem; font-weight: 400; line-height: 1.4; margin: 0; }
.outside-comparison p:last-child { font-size: .8125rem; color: var(--muted); margin: 12px 0 0; }
.comparison-lead { font-family: Georgia, serif; color: var(--silver); font-size: 1.25rem; margin: 0 0 16px; }
.remaining-comparison > div { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 20px; align-items: start; padding-block: 22px; border-top: 1px solid var(--line); }
.remaining-comparison svg { color: var(--blue); margin-top: 5px; }
.remaining-comparison p:not(.comparison-lead):not(.comparison-bottom) { margin: 0; }
.remaining-comparison strong, .remaining-comparison span, .depth-story strong, .depth-story p > span { display: block; }
.remaining-comparison strong, .depth-story strong { font-size: 1rem; font-weight: 550; }
.remaining-comparison span, .depth-story p > span { font-size: .875rem; color: var(--muted); margin-top: 7px; line-height: 1.6; }
.comparison-bottom { padding-top: 17px; border-top: 1px solid var(--line); margin: 0; color: var(--blue); font-size: .9375rem; }
.depth-story > div { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 22px; position: relative; padding: 0 0 28px; }
.depth-story > div:not(:nth-child(3))::after { content: ''; position: absolute; top: 17px; bottom: 0; left: 7px; border-left: 1px dashed #c2b9b865; }
.depth-story p { margin: 0; }
.depth-mark { display: block; width: 15px; height: 15px; margin-top: 6px; border: 1px solid var(--blue); background: #a5c9ce; border-radius: 50%; }
.depth-story > div:nth-child(2) .depth-mark { background: transparent; border-style: dashed; }
.depth-story > div:nth-child(3) .depth-mark { background: transparent; border-color: var(--copper); }
.depth-story .figure-note { margin-top: 0; max-width: 380px; }
.boundary-copy { max-width: 860px; color: #d0c8c6; }
.boundary-comparison { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 25px; align-items: center; margin: 35px 0 0; padding-block: 30px; border-block: 1px solid var(--line); }
.boundary-comparison > div { text-align: center; }
.boundary-comparison .small-label { color: var(--blue); }
.bh-tour .boundary-comparison h3 { margin: 12px 0; font: 400 1.75rem/1.3 Georgia, serif; }
.boundary-comparison p { font-size: .9375rem; color: var(--muted); margin-bottom: 0; }
.plain-takeaway { font: 400 1.65rem/1.45 Georgia, serif; color: var(--copper); margin-bottom: 12px; }
.no-inheritance ul { list-style: none; padding: 0; margin: 0; }
.no-inheritance li { display: flex; align-items: center; gap: 17px; padding-block: 18px; border-top: 1px solid var(--line); font-size: .9rem; }
.no-inheritance li svg { color: var(--copper); }
.argument-recap > p:not(.kicker):not(.figure-note) { max-width: 830px; font-size: 1.05rem; color: var(--muted); margin-top: 25px; }
.bh-tour .argument-recap h2 { max-width: 930px; font-size: 2rem; line-height: 1.35; }
.bh-tour .paper-entry { grid-template-columns: 82px minmax(0,1fr); }
.bh-tour .paper-entry h3 { font-size: 1.05rem; line-height: 1.45; }
.bh-tour .paper-entry h3 a:hover { color: var(--blue); }
.paper-links { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 15px; }
.paper-links a { display: inline-flex; align-items: center; gap: 7px; color: var(--blue); font-size: .8125rem; padding-block: 6px; }
.paper-links a:hover { text-decoration: underline; }
.bh-tour .paper-entry .paper-source-sections { font-size: .75rem; margin-top: 12px; }
.tour-connection { background: #252125; padding-block: 38px; border-block: 1px solid var(--line); }
.tour-connection a { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.tour-connection a > span:first-child { font: 400 2rem/1.2 Georgia, serif; }
.tour-connection a > span:last-child { display: flex; align-items: center; gap: 14px; font-size: .875rem; color: var(--muted); }
.bh-tour .tour-footer a { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .bh-tour .chapter-layout { gap: 32px; }
  .outside-comparison { gap: 16px; }
}
@media (max-width: 650px) {
  .bh-tour .tour-nav a:first-child { display: none; }
  .bh-tour .tour-nav { font-size: .75rem; gap: 0; }
  .bh-tour .tour-nav a { max-width: 90px; line-height: 1.4; }
  .bh-tour .tour-nav svg { display: none; }
  .bh-tour .tour-opening { padding-top: 25px; }
  .bh-tour h1 { font-size: 2.9rem; }
  .bh-tour .opening-line { font-size: 1.2rem; margin: 10px 0 13px; }
  .bh-tour .opening-intro { font-size: .9375rem; line-height: 1.65; }
  .bh-tour .hero-scene { height: 180px; }
  .bh-tour .opening-footer { padding-bottom: 20px; }
  .bh-tour .opening-footer > span { display: none; }
  .bh-tour .chapter-nav .wrap { width: calc(100% - 8px); }
  .bh-tour .chapter-nav a { font-size: .6875rem; min-height: 59px; padding: 10px 2px; }
  .bh-tour .chapter-nav a span { font-size: .6875rem; }
  .bh-tour .chapter { padding-block: 40px; }
  .bh-tour #horizons { padding-top: 30px; }
  .bh-tour .chapter-heading { margin-bottom: 24px; }
  .bh-tour h2 { font-size: 1.85rem; }
  .bh-tour .chapter-layout { grid-template-columns: 1fr; gap: 18px; }
  .bh-tour .chapter-copy p { font-size: 1rem; }
  .outside-comparison { gap: 22px; padding-block: 15px; }
  .bh-tour .outside-comparison h3 { font-size: 1.25rem; }
  .depth-story { padding-top: 12px; }
  .boundary-comparison { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr)); gap: 20px; margin-top: 25px; padding-block: 23px; }
  .bh-tour .boundary-comparison h3 { font-size: 1.22rem; }
  .boundary-comparison p { font-size: .8125rem; }
  .boundary-comparison .small-label { font-size: .6875rem; }
  .plain-takeaway { font-size: 1.4rem; }
  .bh-tour .argument-recap h2 { font-size: 1.65rem; }
  .bh-tour .paper-entry { grid-template-columns: 1fr; gap: 10px; }
  .paper-links { gap: 16px; }
  .tour-connection a { flex-direction: column; align-items: start; gap: 15px; }
  .tour-connection a > span:last-child { align-items: start; }
  .bh-tour .tour-footer a:last-child { font-size: .75rem; }
}
@media (max-width: 360px) {
  .bh-tour .hero-scene { height: 145px; }
  .bh-tour .opening-line { font-size: 1.125rem; }
  .bh-tour h2 { font-size: 1.7rem; }
}
