/* Option B: Slow River. Nature-first minimalism: mist, moss, river slate, laterite. One arched window (hero only). */
.theme-b {
  --bg: #eef0ea; --bg-alt: #e2e6dc; --ink: #232d29; --ink-soft: #5c6660; --line: rgba(35,45,41,.14);
  --accent: #56683f; --accent-ink: #fff; --dark: #1f2a27; --on-dark: #eef0ea;
  --f-display: "Instrument Serif", Georgia, serif; --f-body: "Manrope", system-ui, sans-serif;
  --d-weight: 400; --d-track: -.005em; --d-lh: 1.02; --radius: 999px;
  --laterite: #b0553a;
}
.theme-b body, body.theme-b { font-weight: 400; font-size: 16.5px; }
.theme-b h1.display { font-size: clamp(3.3rem, 7.6vw, 7.2rem); }
.theme-b h2.display { font-size: clamp(2.4rem, 4.8vw, 4.3rem); }
.theme-b .display em { font-style: italic; color: var(--accent); }
.theme-b .eyebrow { color: var(--laterite); letter-spacing: .28em; }
.theme-b .logo-mark { letter-spacing: .02em; text-transform: none; font-size: 2.3rem; }
.theme-b .logo-by { letter-spacing: .26em; }
.theme-b .btn { letter-spacing: .14em; padding: 1.1em 2.4em; }
.theme-b .hero-split { background: var(--bg); }
.theme-b .hero-split .arch { border-radius: 999px 999px 0 0; }
.theme-b .hero-inset { position: absolute; right: calc(var(--gutter) - 50px); left: auto; bottom: 20px; width: clamp(150px, 15vw, 230px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 8px solid var(--bg); }
.theme-b .hero-inset img { width: 100%; height: 100%; object-fit: cover; }
.theme-b .hero-caption { position: absolute; right: calc(var(--gutter) - 34px); top: 30%; transform: rotate(90deg) translateX(50%); transform-origin: right top; font: 500 .66rem var(--f-body); letter-spacing: .3em; text-transform: uppercase; color: var(--ink-soft); white-space: nowrap; margin: 0; }
.theme-b .has-hero .site-head:not(.is-scrolled), .theme-b.page-index .site-head:not(.is-scrolled) { color: var(--ink); }
.theme-b.page-index .site-head:not(.is-scrolled) .btn-head { color: var(--ink); }
.theme-b .quick-book { border-radius: 999px; overflow: hidden; box-shadow: none; background: #fff; }
.theme-b .quick-book label:first-child { padding-left: 36px; }
.theme-b .quick-book .btn { border-radius: 999px; margin: 8px; }
.theme-b .teasers-split .t-media { border-radius: 18px; }
.theme-b .teasers-split h3.display { font-size: 2.1rem; margin-bottom: .35em; }
.theme-b .card-media, .theme-b .split-media, .theme-b .attr-media { border-radius: 24px; }
.theme-b .split-media, .theme-b .f-main, .theme-b .f-alt img { border-radius: 20px; overflow: hidden; }
.theme-b .card-media.tall, .theme-b .nearby-card img { border-radius: 18px; }
.theme-b .nearby-card .km { border-radius: 999px; }
.theme-b .nearby-card h3 { font-size: 1.5rem; }
.theme-b .facts { background: none; border: 0; gap: 14px; }
.theme-b .facts li { border-radius: 20px; background: #fff; }
.theme-b .facts strong { font-size: clamp(1.8rem, 2.8vw, 2.4rem); }
.theme-b .band-image .band-media::after { background: rgba(31,42,39,.45); }
.theme-b .quote blockquote p { font-style: italic; }
.theme-b .strip-item, .theme-b .m-item, .theme-b .g-item { border-radius: 18px; }
.theme-b .page-hero { margin: calc(var(--head-h) + 8px) var(--gutter) 0; border-radius: 28px; min-height: 64vh; }
.theme-b .page-hero.no-media { margin: 0; border-radius: 0; }
.theme-b .page-hero .ph-text { padding-left: clamp(24px, 5vw, 80px); padding-right: clamp(24px, 5vw, 80px); }
.theme-b.has-hero:not(.page-index) .site-head:not(.is-scrolled) { color: var(--ink); }
.theme-b .route { background: var(--accent); }
.theme-b .route .eyebrow { color: #f3d9c7; }
.theme-b .route-line li::before { background: var(--accent); }
.theme-b .route-line li.here::before { background: var(--laterite); border-color: var(--laterite); }
.theme-b .amen-grid li::before { border-radius: 50%; transform: translateY(-50%) scale(.55); background: var(--accent); }
.theme-b .bk-cal { border-radius: 28px; }
.theme-b .bk-day { border-radius: 50%; }
.theme-b .bk-day.is-range { border-radius: 0; }
.theme-b .art-cta { border-radius: 28px; }
.theme-b .art-media img { border-radius: 28px; }
.theme-b .mode { border-top: 0; background: #fff; padding: 28px; border-radius: 24px; }
.theme-b .map-wrap iframe { border-radius: 28px; }
.theme-b .site-foot { border-radius: 36px 36px 0 0; }
.theme-b .foot-title { font-style: italic; }
@media (max-width: 860px) {
  .theme-b .hero-inset { left: auto; right: calc(var(--gutter) + 10px); bottom: 20px; width: 120px; }
  .theme-b .hero-caption { display: none; }
  .theme-b .quick-book { border-radius: 28px; }
  .theme-b .quick-book label:first-child { padding-left: 24px; }
  .theme-b .page-hero { margin: calc(var(--head-h) + 4px) 12px 0; }
}
