/* marmot-house-old-growth-forest-sandy design-a — Benchmark design system
   All selectors scoped to [data-design="a"].dq-design or [data-design="a"]
   ──────────────────────────────────────────────────────────────────────── */

/* ── Token contract ─────────────────────────────────────────────────────── */
[data-design="a"],
[data-design="a"] {
  /* Survey-buff palette */
  --bm-paper:        #ECE3D0;
  --bm-sheet:        #F5EFE0;
  --bm-ink:          #2A2620;
  --bm-ink-soft:     #7A6F58;
  --bm-contour:      #8C5A2B;
  --bm-contour-soft: #B79068;
  --bm-hydro:        #3E6E84;
  --bm-blaze:        #C24A2C;
  --bm-woodland:     #6E8C4E;
  --bm-woodland-deep:#4E6A36;
  --bm-revision:     #A8497E;
  --bm-rule:         #D8CBAE;
  --bm-brass:        #B98C3E;
  --bm-tint-low:     #DCE0C2;
  --bm-tint-mid:     #E6DCB8;
  --bm-tint-high:    #EFE3C4;

  /* Type */
  --bm-font-display: "Saira Semi Condensed","Oswald","PT Sans Narrow",system-ui,sans-serif;
  --bm-font-body:    "Spectral","Source Serif 4","Iowan Old Style",Georgia,serif;
  --bm-font-mono:    "Space Mono","IBM Plex Mono",ui-monospace,Menlo,monospace;

  /* Scale */
  --bm-t-collar:  clamp(2.5rem, 7vw, 5.25rem);
  --bm-t-display: clamp(1.85rem, 4.5vw, 3rem);
  --bm-t-head:    clamp(1.4rem, 2.6vw, 2rem);
  --bm-t-lead:    clamp(1.125rem, 1.8vw, 1.375rem);
  --bm-t-body:    clamp(1rem, 1.1vw, 1.0625rem);
  --bm-t-cap:     0.8125rem;
  --bm-lh-body:   1.62;
  --bm-lh-tight:  1.06;
  --bm-track-cap: 0.16em;

  /* Spacing */
  --bm-tick:         4px;
  --bm-grade:        8px;
  --bm-gutter:       16px;
  --bm-contour-gap:  24px;
  --bm-inset:        32px;
  --bm-quad:         48px;
  --bm-traverse:     72px;
  --bm-section:      96px;

  /* Motion */
  --bm-quick:      180ms;
  --bm-settle:     420ms;
  --bm-draw:       900ms;
  --bm-ease-sight: cubic-bezier(.2,.85,.2,1);
  --bm-ease-out:   cubic-bezier(.16,.84,.44,1);
  --bm-ease-draw:  cubic-bezier(.4,0,.2,1);

  /* Radius */
  --bm-r-sheet: 3px;
  --bm-r-stamp: 2px;
  --bm-r-disk:  9999px;
  --bm-r-frame: 0;

  /* Elevation */
  --bm-elev-flat:     none;
  --bm-elev-ring:     0 0 0 1.5px var(--bm-rule);
  --bm-elev-ring-ink: 0 0 0 1.5px color-mix(in oklab, var(--bm-contour), transparent 55%);
  --bm-elev-disk:     inset 0 2px 4px rgba(40,30,12,.34),
                      inset 0 -1px 0 rgba(255,248,232,.5);
  --bm-focus:         0 0 0 3px color-mix(in oklab, var(--bm-blaze), transparent 64%);
}

/* Dark mode — read by headlamp */
@media (prefers-color-scheme: dark) {
  [data-design="a"],
  [data-design="a"] {
    --bm-paper:#15191C; --bm-sheet:#1D2329; --bm-ink:#ECE0C6; --bm-ink-soft:#9FB0A4;
    --bm-contour:#C99A5E; --bm-contour-soft:#7E6240; --bm-hydro:#6FA6C0;
    --bm-blaze:#E0714C; --bm-woodland:#94B06A; --bm-woodland-deep:#B9D08C;
    --bm-revision:#D274A6; --bm-rule:#3A4651; --bm-brass:#D6A856;
    --bm-tint-low:#1E2A22; --bm-tint-mid:#243027; --bm-tint-high:#28332B;
  }
}

/* ── Base reset for the article wrapper ─────────────────────────────────── */
[data-design="a"] {
  box-sizing: border-box;
  background: var(--bm-paper);
  color: var(--bm-ink);
  font-family: var(--bm-font-body);
  font-size: var(--bm-t-body);
  line-height: var(--bm-lh-body);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

[data-design="a"].dq-design *, [data-design="a"].dq-design *::before, [data-design="a"].dq-design *::after {
  box-sizing: inherit;
}

/* ── Header ─────────────────────────────────────────────────────────────── */
[data-design="a"] .bm-header {
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in oklab, var(--bm-paper), transparent 6%);
  backdrop-filter: saturate(1.1) blur(6px);
  border-bottom: 1.5px solid var(--bm-rule);
}
[data-design="a"] .bm-header__bar {
  box-sizing: border-box; max-width: 1200px; margin: 0 auto;
  padding: var(--bm-gutter);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--bm-gutter);
}
[data-design="a"] .bm-logo {
  display: inline-flex; align-items: baseline; gap: var(--bm-grade);
  text-decoration: none; color: var(--bm-ink);
  opacity: 0; transform: translateY(6px);
  animation: bm-register var(--bm-settle) var(--bm-ease-out) .12s forwards;
}
[data-design="a"] .bm-logo__tri {
  color: var(--bm-blaze); font-size: .7em; transform: translateY(-.15em);
}
[data-design="a"] .bm-logo__mark {
  font-family: var(--bm-font-display); font-weight: 600;
  font-size: clamp(1rem, 2.4vw, 1.4rem); letter-spacing: .02em; line-height: 1;
}
[data-design="a"] .bm-header__contour {
  position: absolute; inset: auto 0 -1px 0; height: 40px;
  pointer-events: none; opacity: .55; mix-blend-mode: multiply;
}
[data-design="a"] .bm-header__line {
  stroke: var(--bm-contour); stroke-width: 1.4; transform-origin: center;
  animation: bm-contour-drift 26s ease-in-out infinite;
}
[data-design="a"] .bm-burger {
  background: none; border: 1.5px solid var(--bm-rule);
  border-radius: var(--bm-r-stamp); width: 44px; height: 44px;
  display: grid; gap: 4px; place-content: center;
  cursor: pointer; padding: 0;
  transition: border-color var(--bm-quick) var(--bm-ease-out);
  flex-shrink: 0;
}
[data-design="a"] .bm-burger span {
  display: block; width: 20px; height: 1.6px; background: var(--bm-ink);
  transition: transform var(--bm-quick) var(--bm-ease-sight), opacity var(--bm-quick) linear;
}
[data-design="a"] .bm-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.6px) rotate(45deg); }
[data-design="a"] .bm-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
[data-design="a"] .bm-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.6px) rotate(-45deg); }
[data-design="a"] .bm-burger:focus-visible { outline: none; box-shadow: var(--bm-focus); }

[data-design="a"] .bm-legend {
  position: fixed; inset: 0; z-index: 60;
  background: var(--bm-paper);
  padding: clamp(72px, 14vh, 140px) var(--bm-gutter) var(--bm-section);
  display: grid; align-content: start; gap: var(--bm-grade);
  opacity: 0; transform: translateY(-8px);
  transition: opacity var(--bm-settle) var(--bm-ease-out),
              transform var(--bm-settle) var(--bm-ease-out);
}
[data-design="a"] .bm-legend[data-open] { opacity: 1; transform: translateY(0); }
[data-design="a"] .bm-legend__cap {
  font-family: var(--bm-font-mono); font-size: var(--bm-t-cap);
  letter-spacing: var(--bm-track-cap); text-transform: uppercase;
  color: var(--bm-ink-soft);
  border-bottom: 1.5px solid var(--bm-rule); padding-bottom: var(--bm-grade); margin: 0;
}
[data-design="a"] .bm-bearing {
  font-family: var(--bm-font-mono); text-transform: uppercase; letter-spacing: .1em;
  font-size: var(--bm-t-lead); color: var(--bm-ink); text-decoration: none;
  padding: var(--bm-grade) 0; position: relative; width: max-content;
}
[data-design="a"] .bm-bearing::after {
  content: ""; position: absolute; left: 0; bottom: 6px; width: 100%; height: 1.5px;
  background: var(--bm-blaze); transform: scaleX(0); transform-origin: left;
  transition: transform var(--bm-quick) var(--bm-ease-draw);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .bm-bearing:hover::after { transform: scaleX(1); }
}
[data-design="a"] .bm-bearing:focus-visible { outline: none; box-shadow: var(--bm-focus); }

/* ── Keyframes ───────────────────────────────────────────────────────────── */
@keyframes bm-register { to { opacity: 1; transform: translateY(0); } }
@keyframes bm-contour-drift { 0%,100% { transform: translateX(0); } 50% { transform: translateX(-14px); } }
@keyframes bm-cta-breath { 0%,100% { transform: scale(1); opacity: .5; } 50% { transform: scale(1.08); opacity: .12; } }
@keyframes bm-traverse-draw { 0% { stroke-dashoffset: 96; } 55%,100% { stroke-dashoffset: 0; } }
@keyframes bm-traverse-tick { 0%,45% { opacity: 0; } 70%,100% { opacity: 1; } }
@keyframes bm-inset-register { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bm-contour-shimmer { 0%,100% { stroke-width: 2.4; } 50% { stroke-width: 2.9; } }

/* ── Reduced motion ──────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .bm-header__line { animation: none; }
  [data-design="a"] .bm-logo { animation: none; opacity: 1; transform: none; }
  [data-design="a"] .bm-legend { transition: none; }
  [data-design="a"] .bm-cta__ring { animation: none; opacity: .4; }
  [data-design="a"] .bm-cta__needle,
  [data-design="a"] .bm-cta { transition: none; }
  [data-design="a"] .bm-pointer__line { animation: none; stroke-dashoffset: 0; }
  [data-design="a"] .bm-pointer__tick { animation: none; opacity: 1; }
  [data-design="a"] .bm-profile__fill,
  [data-design="a"] .bm-profile__line,
  [data-design="a"] .bm-profile__marks text { transition: none; }
  [data-design="a"] .bm-profile[data-live] .bm-profile__line { animation: none; }
  [data-design="a"] .bm-survey__crosshair,
  [data-design="a"] .bm-mark { transition: none; }
  [data-design="a"] .bm-survey__inset[data-swap] { animation: none; }
}

@media (max-width: 560px) {
  [data-design="a"] .bm-header__bar { padding: var(--bm-grade) var(--bm-gutter); }
}

/* ── Common components ───────────────────────────────────────────────────── */
[data-design="a"] .bm-cap {
  font-family: var(--bm-font-mono); text-transform: uppercase;
  letter-spacing: var(--bm-track-cap); font-size: var(--bm-t-cap);
  color: var(--bm-ink-soft); margin: 0;
}

[data-design="a"] .bm-stamp {
  font-family: var(--bm-font-mono); font-size: var(--bm-t-cap);
  letter-spacing: .08em; text-transform: uppercase; color: var(--bm-ink-soft);
  border: 1px solid var(--bm-rule); border-radius: var(--bm-r-stamp);
  padding: 6px 10px; display: inline-block;
}

/* ── CTA — the brass benchmark disk ─────────────────────────────────────── */
[data-design="a"] .bm-cta {
  position: relative; display: inline-grid; justify-items: center;
  align-content: center; gap: 2px;
  width: clamp(132px, 34vw, 156px); aspect-ratio: 1;
  border-radius: var(--bm-r-disk); box-sizing: border-box; padding: var(--bm-gutter);
  background: radial-gradient(circle at 38% 32%, color-mix(in oklab, var(--bm-brass), white 22%), var(--bm-brass) 72%);
  color: #20180c; text-decoration: none;
  box-shadow: var(--bm-elev-disk);
  border: 2px solid color-mix(in oklab, var(--bm-brass), black 26%);
  transition: transform var(--bm-quick) var(--bm-ease-sight); will-change: transform;
}
[data-design="a"] .bm-cta__tri { color: var(--bm-blaze); font-size: 1rem; line-height: 1; }
[data-design="a"] .bm-cta__label {
  font-family: var(--bm-font-display); font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em; font-size: .9rem;
  text-align: center; line-height: 1.05;
}
[data-design="a"] .bm-cta__ext { font-family: var(--bm-font-mono); font-size: .75rem; opacity: .7; }
[data-design="a"] .bm-cta__ring {
  position: absolute; inset: -6px; border-radius: var(--bm-r-disk);
  border: 1.5px solid color-mix(in oklab, var(--bm-brass), black 10%);
  opacity: .5; animation: bm-cta-breath 5s var(--bm-ease-out) infinite;
}
[data-design="a"] .bm-cta__needle {
  position: absolute; top: 50%; left: 50%; width: 2px; height: 30%;
  background: var(--bm-blaze); transform-origin: 50% 100%;
  transform: translate(-50%, -100%) rotate(var(--bm-bearing, 0deg));
  transition: transform var(--bm-quick) var(--bm-ease-sight);
  border-radius: 2px; opacity: .85;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .bm-cta:hover { transform: translateY(-3px); }
}
[data-design="a"] .bm-cta:active { transform: translateY(0) scale(.97); }
[data-design="a"] .bm-cta:focus-visible { outline: none; box-shadow: var(--bm-elev-disk), var(--bm-focus); }

/* Inline/small CTA variant */
[data-design="a"] .bm-cta--sm {
  width: auto; aspect-ratio: auto; border-radius: var(--bm-r-stamp);
  flex-direction: row; grid-auto-flow: column; gap: var(--bm-grade);
  padding: 12px 20px; background: var(--bm-ink);
  color: var(--bm-paper); box-shadow: none; border: none;
}
[data-design="a"] .bm-cta--sm .bm-cta__tri { color: var(--bm-blaze); }
[data-design="a"] .bm-cta--sm .bm-cta__label { color: var(--bm-paper); }

/* ── The Land (place story + elevation profile) ──────────────────────────── */
[data-design="a"] .bm-land {
  box-sizing: border-box; max-width: 1200px; margin: 0 auto;
  padding: var(--bm-traverse) var(--bm-gutter);
  display: grid; gap: var(--bm-quad);
}
[data-design="a"] .bm-land__title {
  font-family: var(--bm-font-display); font-weight: 600;
  font-size: var(--bm-t-display); line-height: var(--bm-lh-tight);
  margin: var(--bm-grade) 0 var(--bm-gutter);
}
[data-design="a"] .bm-land__body {
  font-family: var(--bm-font-body); font-size: var(--bm-t-body);
  line-height: var(--bm-lh-body); color: var(--bm-ink); max-width: 60ch;
}
[data-design="a"] .bm-land__body p { margin: 0; }

[data-design="a"] .bm-profile {
  margin: 0; position: relative; aspect-ratio: 5 / 2; width: 100%;
  border: 1.5px solid var(--bm-rule); border-radius: var(--bm-r-sheet);
  overflow: hidden; background: var(--bm-sheet);
}
[data-design="a"] .bm-profile__svg { display: block; }
[data-design="a"] .bm-profile__fill {
  fill: var(--bm-tint-mid); transform-origin: bottom;
  transform: scaleY(0);
  transition: transform var(--bm-draw) var(--bm-ease-out) .2s;
}
[data-design="a"] .bm-profile__line {
  stroke: var(--bm-contour); stroke-width: 2.4; stroke-linejoin: round;
  stroke-dasharray: 920; stroke-dashoffset: 920;
  transition: stroke-dashoffset var(--bm-draw) var(--bm-ease-draw);
}
[data-design="a"] .bm-profile__marks text {
  fill: var(--bm-blaze); opacity: 0;
  transition: opacity var(--bm-settle) var(--bm-ease-out) .7s;
}
[data-design="a"] .bm-profile[data-drawn] .bm-profile__fill { transform: scaleY(1); }
[data-design="a"] .bm-profile[data-drawn] .bm-profile__line { stroke-dashoffset: 0; }
[data-design="a"] .bm-profile[data-drawn] .bm-profile__marks text { opacity: 1; }
[data-design="a"] .bm-profile[data-live] .bm-profile__line { animation: bm-contour-shimmer 16s ease-in-out infinite; }
[data-design="a"] .bm-profile__facts {
  position: absolute; inset: auto 0 0 0; display: flex; flex-wrap: wrap;
  gap: var(--bm-gutter); padding: var(--bm-grade) var(--bm-gutter);
  font-family: var(--bm-font-mono); font-size: var(--bm-t-cap);
  color: var(--bm-ink-soft);
  background: color-mix(in oklab, var(--bm-sheet), transparent 12%);
  border-top: 1px solid var(--bm-rule);
}
[data-design="a"] .bm-profile__facts b { color: var(--bm-ink); }

@media (min-width: 768px) {
  [data-design="a"] .bm-land {
    grid-template-columns: 1fr 1.1fr; align-items: center;
    padding: var(--bm-section) var(--bm-quad);
  }
}

/* ── Key facts grid ──────────────────────────────────────────────────────── */
[data-design="a"] .bm-facts-section {
  box-sizing: border-box; max-width: 1200px; margin: 0 auto;
  padding: 0 var(--bm-gutter) var(--bm-traverse);
}
[data-design="a"] .bm-facts-grid {
  display: grid; gap: var(--bm-gutter);
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
[data-design="a"] .bm-fact-card {
  background: var(--bm-sheet); border: 1.5px solid var(--bm-rule);
  border-radius: var(--bm-r-sheet); padding: var(--bm-gutter);
  display: grid; gap: var(--bm-tick); box-shadow: var(--bm-elev-ring);
}
[data-design="a"] .bm-fact-card__icon {
  font-size: 1.5rem; line-height: 1; color: var(--bm-contour);
}
[data-design="a"] .bm-fact-card__label {
  font-family: var(--bm-font-mono); font-size: var(--bm-t-cap);
  text-transform: uppercase; letter-spacing: .1em; color: var(--bm-ink-soft);
  margin-top: var(--bm-grade);
}
[data-design="a"] .bm-fact-card__value {
  font-family: var(--bm-font-body); font-size: var(--bm-t-body);
  color: var(--bm-ink); font-weight: 600;
}

/* ── Traverse pointer ────────────────────────────────────────────────────── */
[data-design="a"] .bm-pointer {
  display: grid; justify-items: center; gap: 6px;
  margin: var(--bm-quad) auto; width: max-content; cursor: pointer;
}
[data-design="a"] .bm-pointer__svg { display: block; }
[data-design="a"] .bm-pointer__line {
  stroke: var(--bm-contour); stroke-width: 1.6;
  stroke-dasharray: 96; stroke-dashoffset: 96;
  animation: bm-traverse-draw 5s var(--bm-ease-draw) infinite;
}
[data-design="a"] .bm-pointer__tick {
  stroke: var(--bm-blaze); stroke-width: 1.8; stroke-linecap: round;
  opacity: 0; animation: bm-traverse-tick 5s var(--bm-ease-out) infinite;
}
[data-design="a"] .bm-pointer__bm { fill: var(--bm-blaze); }
[data-design="a"] .bm-pointer__label {
  font-family: var(--bm-font-mono); text-transform: uppercase;
  letter-spacing: .14em; font-size: var(--bm-t-cap); color: var(--bm-ink);
}
[data-design="a"] .bm-pointer__bearing {
  font-family: var(--bm-font-mono); font-size: 11px;
  letter-spacing: .08em; color: var(--bm-ink-soft);
}

/* ── The Survey — Stays selector ─────────────────────────────────────────── */
[data-design="a"] .bm-survey {
  box-sizing: border-box; max-width: 1200px; margin: 0 auto;
  padding: var(--bm-traverse) var(--bm-gutter);
}
[data-design="a"] .bm-survey__title {
  font-family: var(--bm-font-display); font-weight: 600;
  font-size: var(--bm-t-display); line-height: var(--bm-lh-tight);
  margin: var(--bm-grade) 0 var(--bm-quad);
}
[data-design="a"] .bm-survey__grid { display: grid; gap: var(--bm-quad); }
[data-design="a"] .bm-survey__map {
  position: relative; aspect-ratio: 4 / 3; width: 100%;
  border: 1.5px solid var(--bm-rule); border-radius: var(--bm-r-sheet);
  background: var(--bm-tint-low); overflow: hidden; box-shadow: var(--bm-elev-ring);
}
[data-design="a"] .bm-survey__contours {
  position: absolute; inset: 0; width: 100%; height: 100%; opacity: .5;
}
[data-design="a"] .bm-survey__contours path {
  stroke: var(--bm-contour-soft); stroke-width: 1.2; fill: none;
}
[data-design="a"] .bm-survey__crosshair {
  position: absolute; width: 40px; height: 40px; left: 0; top: 0;
  transform: translate(calc(var(--bm-cx, 50%) - 50%), calc(var(--bm-cy, 50%) - 50%));
  transition: transform var(--bm-quick) var(--bm-ease-sight); pointer-events: none;
}
[data-design="a"] .bm-survey__crosshair circle,
[data-design="a"] .bm-survey__crosshair line {
  stroke: var(--bm-blaze); stroke-width: 1.4;
}
[data-design="a"] .bm-mark {
  position: absolute; width: 30px; height: 30px;
  transform: translate(-50%, -50%) scale(.95);
  background: none; border: 0; padding: 0; cursor: pointer; color: var(--bm-ink);
  display: grid; place-content: center;
  transition: transform var(--bm-quick) var(--bm-ease-sight);
}
[data-design="a"] .bm-mark::before {
  content: "▲"; font-size: 18px; line-height: 1;
  color: var(--bm-contour);
  transition: color var(--bm-quick) linear;
}
[data-design="a"] .bm-mark__tag {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  font-family: var(--bm-font-mono); font-size: 10px; white-space: nowrap;
  color: var(--bm-ink-soft);
}
[data-design="a"] .bm-mark[aria-checked="true"] { transform: translate(-50%, -50%) scale(1.15); }
[data-design="a"] .bm-mark[aria-checked="true"]::before { color: var(--bm-blaze); }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .bm-mark:hover { transform: translate(-50%, -50%) scale(1.12); }
}
[data-design="a"] .bm-mark:focus-visible { outline: none; box-shadow: var(--bm-focus); border-radius: var(--bm-r-disk); }

[data-design="a"] .bm-survey__inset {
  box-sizing: border-box; background: var(--bm-sheet);
  border: 1.5px solid var(--bm-rule); border-radius: var(--bm-r-sheet);
  padding: var(--bm-inset);
  box-shadow: inset 0 0 0 4px color-mix(in oklab, var(--bm-ink), transparent 92%);
}
[data-design="a"] .bm-survey__inset[data-swap] {
  animation: bm-inset-register var(--bm-settle) var(--bm-ease-out);
}
[data-design="a"] .bm-survey__coord {
  font-family: var(--bm-font-mono); font-size: var(--bm-t-cap);
  letter-spacing: .08em; color: var(--bm-ink-soft); display: block;
}
[data-design="a"] .bm-survey__name {
  font-family: var(--bm-font-display); font-weight: 600;
  font-size: var(--bm-t-head); margin: var(--bm-tick) 0 var(--bm-grade);
}
[data-design="a"] .bm-survey__meta {
  font-family: var(--bm-font-mono); font-size: var(--bm-t-cap);
  color: var(--bm-ink-soft); text-transform: uppercase; letter-spacing: .06em;
  margin: 0 0 var(--bm-gutter);
}
[data-design="a"] .bm-survey__terrain {
  font-family: var(--bm-font-body); line-height: var(--bm-lh-body);
  margin: 0 0 var(--bm-gutter);
}
[data-design="a"] .bm-survey__incl {
  list-style: none; padding: 0; margin: 0 0 var(--bm-contour-gap);
  display: grid; gap: 6px;
}
[data-design="a"] .bm-survey__incl li {
  font-family: var(--bm-font-body); font-size: var(--bm-t-cap);
  padding-left: 18px; position: relative;
}
[data-design="a"] .bm-survey__incl li::before {
  content: "✓"; position: absolute; left: 0;
  color: var(--bm-woodland-deep); font-weight: 700;
}
[data-design="a"] .bm-survey__photo-wrap {
  margin-bottom: var(--bm-gutter);
}
[data-design="a"] .bm-survey__photo {
  width: 100%; aspect-ratio: 16/9; object-fit: cover;
  border-radius: var(--bm-r-sheet); border: 1px solid var(--bm-rule);
  display: block;
}

@media (min-width: 768px) {
  [data-design="a"] .bm-survey__grid {
    grid-template-columns: 1.2fr 1fr; align-items: start;
  }
}

/* ── Gallery ─────────────────────────────────────────────────────────────── */
[data-design="a"] .bm-gallery-section {
  box-sizing: border-box; max-width: 1200px; margin: 0 auto;
  padding: var(--bm-traverse) var(--bm-gutter);
  background: var(--bm-sheet);
}
[data-design="a"] .bm-gallery__title {
  font-family: var(--bm-font-display); font-weight: 600;
  font-size: var(--bm-t-display); line-height: var(--bm-lh-tight);
  margin: var(--bm-grade) 0 var(--bm-quad);
}
[data-design="a"] .bm-gallery__grid {
  display: grid; gap: var(--bm-gutter);
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
[data-design="a"] .bm-gallery__item {
  margin: 0; overflow: hidden;
  border-radius: var(--bm-r-sheet); box-shadow: var(--bm-elev-ring);
  aspect-ratio: 4/3; background: var(--bm-tint-mid);
}
[data-design="a"] .bm-gallery__item img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform var(--bm-settle) var(--bm-ease-out);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .bm-gallery__item:hover img { transform: scale(1.03); }
}

/* ── What's Nearby ───────────────────────────────────────────────────────── */
[data-design="a"] .bm-nearby-section {
  box-sizing: border-box; max-width: 1200px; margin: 0 auto;
  padding: var(--bm-traverse) var(--bm-gutter);
}
[data-design="a"] .bm-nearby__title {
  font-family: var(--bm-font-display); font-weight: 600;
  font-size: var(--bm-t-display); line-height: var(--bm-lh-tight);
  margin: var(--bm-grade) 0 var(--bm-quad);
}
[data-design="a"] .bm-nearby__grid {
  display: grid; gap: var(--bm-gutter);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
[data-design="a"] .bm-nearby__item {
  background: var(--bm-sheet); border: 1.5px solid var(--bm-rule);
  border-radius: var(--bm-r-sheet); padding: var(--bm-inset);
  display: grid; gap: var(--bm-grade); align-content: start;
}
[data-design="a"] .bm-nearby__item h3 {
  font-family: var(--bm-font-display); font-size: var(--bm-t-head);
  font-weight: 600; margin: 0; line-height: var(--bm-lh-tight);
  color: var(--bm-contour);
}
[data-design="a"] .bm-nearby__item p {
  font-family: var(--bm-font-body); font-size: var(--bm-t-body);
  line-height: var(--bm-lh-body); color: var(--bm-ink); margin: 0;
}

/* ── Host section ────────────────────────────────────────────────────────── */
[data-design="a"] .bm-host-section {
  background: var(--bm-tint-low);
  border-top: 1.5px solid var(--bm-rule);
  border-bottom: 1.5px solid var(--bm-rule);
}
[data-design="a"] .bm-host__inner {
  box-sizing: border-box; max-width: 1200px; margin: 0 auto;
  padding: var(--bm-traverse) var(--bm-gutter);
}
[data-design="a"] .bm-host__name {
  font-family: var(--bm-font-display); font-weight: 600;
  font-size: var(--bm-t-head); line-height: var(--bm-lh-tight);
  margin: var(--bm-grade) 0 var(--bm-gutter);
}
[data-design="a"] .bm-host__bio {
  font-family: var(--bm-font-body); font-size: var(--bm-t-body);
  line-height: var(--bm-lh-body); max-width: 64ch;
  color: var(--bm-ink); margin: 0 0 var(--bm-quad);
}
[data-design="a"] .bm-host__reviews {
  display: grid; gap: var(--bm-gutter);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
[data-design="a"] .bm-review-sheet {
  background: var(--bm-sheet); border: 1.5px solid var(--bm-rule);
  border-radius: var(--bm-r-sheet); padding: var(--bm-gutter);
  margin: 0; box-shadow: var(--bm-elev-ring);
}
[data-design="a"] .bm-review-sheet p {
  font-family: var(--bm-font-body); font-size: var(--bm-t-body);
  line-height: var(--bm-lh-body); color: var(--bm-ink);
  margin: 0 0 var(--bm-grade); font-style: italic;
}
[data-design="a"] .bm-review-sheet footer {
  font-family: var(--bm-font-mono); font-size: var(--bm-t-cap);
  color: var(--bm-ink-soft); letter-spacing: .04em;
}
[data-design="a"] .bm-review-sheet footer::before {
  content: "✓ Confirmed · ▲  ";
  color: var(--bm-blaze);
}

/* ── Booking CTA section ─────────────────────────────────────────────────── */
[data-design="a"] .bm-book-section {
  border-top: 1.5px solid var(--bm-rule);
}
[data-design="a"] .bm-book__inner {
  box-sizing: border-box; max-width: 1200px; margin: 0 auto;
  padding: var(--bm-section) var(--bm-gutter);
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--bm-quad);
}
[data-design="a"] .bm-book__title {
  font-family: var(--bm-font-display); font-weight: 600;
  font-size: var(--bm-t-display); line-height: var(--bm-lh-tight);
  margin: var(--bm-grade) 0 0;
}
[data-design="a"] .bm-book__sub {
  font-family: var(--bm-font-body); font-size: var(--bm-t-lead);
  line-height: var(--bm-lh-body); color: var(--bm-ink-soft);
  max-width: 56ch; margin: 0;
}

/* ── Footer marginalia ───────────────────────────────────────────────────── */
[data-design="a"] .bm-footer {
  border-top: 1.5px solid var(--bm-rule);
  background: var(--bm-sheet);
}
[data-design="a"] .bm-footer__inner {
  box-sizing: border-box; max-width: 1200px; margin: 0 auto;
  padding: var(--bm-quad) var(--bm-gutter);
  display: flex; flex-wrap: wrap; gap: var(--bm-gutter);
  font-family: var(--bm-font-mono); font-size: var(--bm-t-cap);
  color: var(--bm-ink-soft); letter-spacing: .06em;
}
[data-design="a"] .bm-footer__sep { opacity: .4; }

/* Phase-3.4 hero visibility floor (forge_assemble) */
[data-design="a"] [data-mf-role="hero"] :is(h1,h2,p,.headline,.subtitle,.proof,[class*="headline"],[class*="subtitle"],[class*="proof"]),
[data-design="a"] [data-mf-role="cta"] { opacity: 1 !important; }
