/* ═══════════════════════════════════════════════════════════════════════════
   Carsners Tree Farm — Design A (Lobby × Hipcamp-host)
   ALL selectors scoped under [data-design="a"].dq-design
   Keyframes prefixed a-
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── ROOT TOKENS ─────────────────────────────────────────────────────────── */
[data-design="a"] {
  --linen:       #F3EFE6;
  --linen-deep:  #E7E1CF;
  --ink:         #171411;
  --ink-soft:    #3D3830;
  --muted:       #7E7665;
  --rule:        #26221C;
  --terracotta:  #A64A2C;
  --olive:       #5A6534;
  --brass:       #A0823E;
  --ivory:       #F8F4E8;
  --critical:    #7C1812;

  /* Hipcamp identity accent */
  --design-a-primary: #A0823E;   /* brass — the book action */

  /* Typography */
  --font-display: "Söhne Schmal","Druk Wide Light",-apple-system,sans-serif;
  --font-room:    "GT Sectra Display","Migra","Bodoni 72",Didot,serif;
  --font-body:    "Söhne","Inter",system-ui,sans-serif;
  --font-data:    "Söhne Mono","JetBrains Mono",ui-monospace,monospace;

  /* Scale */
  --text-meta:   11px;
  --text-cap:    13px;
  --text-body:   16px;
  --text-deck:   22px;
  --text-room:   34px;
  --text-head:   44px;

  /* Motion */
  --dur-tick:    140ms;
  --dur-snap:    240ms;
  --dur-caption: 680ms;
  --dur-room:    1100ms;
  --dur-ambient: 36000ms;
  --ease-warm:   cubic-bezier(.16,1,.3,1);
  --ease-room:   cubic-bezier(.22,.61,.36,1);

  /* Radius */
  --radius-warm: 4px;
  --radius-key:  8px;

  /* Spacing */
  --space-quad:  4px;
  --space-em:    8px;
  --space-cue:  16px;
  --space-room: 32px;
  --space-floor:72px;
  --space-hall: 112px;

  box-sizing: border-box;
  color: var(--ink);
  background: var(--linen);
  font-family: var(--font-body);
}
[data-design="a"].dq-design *,
[data-design="a"].dq-design *::before,
[data-design="a"].dq-design *::after { box-sizing: border-box; }

/* ── MOBILE OVERFLOW DEFENSIVE (scoped strictly to .dq-design) ──────────── */
[data-design="a"].dq-design,
[data-design="a"] .dq-design    { max-width: 100%; overflow-x: clip; }
[data-design="a"].dq-design *   { min-width: 0; }
[data-design="a"].dq-design img,
[data-design="a"].dq-design svg:not([data-keep-size]) {
  max-width: 100%; height: auto;
}

/* ── HEADER (E1) ─────────────────────────────────────────────────────────── */
[data-design="a"] .a-header {
  position: sticky; top: 0; z-index: 40; isolation: isolate;
  background: color-mix(in oklab, var(--linen) 88%, transparent);
  backdrop-filter: saturate(1.1) blur(6px);
  border-bottom: 1px solid color-mix(in oklab, var(--rule) 22%, transparent);
}
[data-design="a"] .a-header__wash {
  position: absolute; inset: 0; pointer-events: none; z-index: -1; overflow: hidden;
}
[data-design="a"] .a-header__wash::before {
  content: ""; position: absolute; top: 0; bottom: 0; width: 42%;
  background: linear-gradient(100deg,
    transparent,
    color-mix(in oklab, var(--ivory) 70%, transparent),
    transparent);
  animation: a-header-sweep 31s var(--ease-warm) infinite;
}
[data-design="a"] .a-header__bar {
  max-width: 1280px; margin-inline: auto;
  padding: 14px clamp(14px, 4vw, 40px);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
[data-design="a"] .a-logo {
  display: inline-flex; align-items: center; gap: 10px;
  text-decoration: none; color: var(--ink);
}
[data-design="a"] .a-logo__dot {
  width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto;
  background: var(--brass);
  box-shadow: 0 0 0 0 color-mix(in oklab, var(--brass) 50%, transparent);
  animation: a-key-breath 24s var(--ease-warm) infinite;
}
[data-design="a"] .a-logo__mark {
  font-family: var(--font-display); font-weight: 300; letter-spacing: .02em;
  font-size: clamp(15px, 2.2vw, 19px); line-height: 1; white-space: nowrap;
  transition: font-size var(--dur-snap) var(--ease-warm),
              letter-spacing var(--dur-snap) var(--ease-warm);
}
[data-design="a"] .a-header[data-shrunk="true"] .a-logo__mark {
  font-size: clamp(13px, 1.6vw, 15px); letter-spacing: .06em;
}
[data-design="a"] .a-burger {
  appearance: none; border: 1px solid var(--rule); background: transparent;
  width: 42px; height: 42px; border-radius: var(--radius-warm); cursor: pointer;
  display: grid; place-content: center; gap: 4px; padding: 0;
  transition: border-color var(--dur-tick) var(--ease-warm);
}
[data-design="a"] .a-burger__line {
  display: block; width: 18px; height: 1.5px; background: var(--ink);
  transition: transform var(--dur-snap) var(--ease-warm),
              opacity var(--dur-snap) var(--ease-warm);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .a-burger:hover { border-color: var(--terracotta); }
}
[data-design="a"] .a-burger:focus-visible {
  outline: 3px solid var(--terracotta); outline-offset: 3px;
}
[data-design="a"] .a-burger[aria-expanded="true"] .a-burger__line:nth-child(1) {
  transform: translateY(5.5px) rotate(45deg);
}
[data-design="a"] .a-burger[aria-expanded="true"] .a-burger__line:nth-child(2) {
  opacity: 0;
}
[data-design="a"] .a-burger[aria-expanded="true"] .a-burger__line:nth-child(3) {
  transform: translateY(-5.5px) rotate(-45deg);
}

/* Drawer */
[data-design="a"] .a-drawer {
  position: fixed; inset: 0; z-index: 60; visibility: hidden;
}
[data-design="a"] .a-drawer[data-open="true"] { visibility: visible; }
[data-design="a"] .a-drawer__scrim {
  position: absolute; inset: 0; background: rgba(15,13,10,.5);
  opacity: 0; transition: opacity var(--dur-snap) var(--ease-warm);
}
[data-design="a"] .a-drawer[data-open="true"] .a-drawer__scrim { opacity: 1; }
[data-design="a"] .a-drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(480px, 86vw);
  background: var(--linen); border-left: 1px solid var(--rule);
  padding: clamp(20px, 6vw, 56px); display: flex; flex-direction: column; gap: 18px;
  transform: translateX(100%);
  transition: transform var(--dur-room) var(--ease-room);
  overflow-y: auto;
}
[data-design="a"] .a-drawer[data-open="true"] .a-drawer__panel {
  transform: translateX(0);
}
[data-design="a"] .a-drawer__close {
  align-self: flex-start; font-family: var(--font-room); font-style: italic;
  font-size: 16px; color: var(--ink-soft); background: none; border: 0; cursor: pointer;
  padding: 0; text-decoration: underline;
  text-decoration-color: var(--terracotta);
}
[data-design="a"] .a-navlink {
  display: block; font-family: var(--font-room); font-style: italic; font-size: 26px;
  color: var(--ink); text-decoration: none; padding: 8px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--rule) 16%, transparent);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .a-navlink:hover { color: var(--terracotta); }
}
[data-design="a"] .a-navlink--book {
  color: var(--brass); font-weight: 600; margin-top: 8px;
}

/* ── BOOK CTA "KEY" BUTTON (E2 + repeats) ────────────────────────────────── */
[data-design="a"] .a-key {
  --mx: 0px; --my: 0px;
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 28px; border-radius: var(--radius-key);
  font-family: var(--font-display); font-weight: 300; letter-spacing: .03em;
  font-size: clamp(14px, 2vw, 17px); text-decoration: none; color: var(--ink);
  background: var(--brass);
  box-shadow: 0 1px 0 var(--linen-deep), 0 1px 0 1px var(--brass);
  transform: translate(var(--mx), var(--my));
  transition: transform var(--dur-snap) var(--ease-warm),
              background var(--dur-snap) var(--ease-warm),
              box-shadow var(--dur-snap) var(--ease-warm);
  animation: a-key-pulse 4s var(--ease-warm) infinite;
}
[data-design="a"] .a-key__cue {
  position: absolute; left: 50%; top: calc(100% + 8px);
  transform: translateX(-50%);
  font-family: var(--font-data); font-size: 11px; letter-spacing: .04em;
  color: var(--muted); white-space: nowrap; opacity: 0;
  transition: opacity var(--dur-caption) var(--ease-warm);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .a-key:hover {
    background: color-mix(in oklab, var(--brass) 88%, var(--olive));
    animation-play-state: paused;
  }
  [data-design="a"] .a-key:hover .a-key__cue { opacity: 1; }
}
[data-design="a"] .a-key:focus-visible {
  outline: 3px solid var(--terracotta); outline-offset: 4px;
}
[data-design="a"] .a-key:focus-visible .a-key__cue { opacity: 1; }
[data-design="a"] .a-key:active {
  background: color-mix(in oklab, var(--brass) 80%, var(--ink));
  box-shadow: inset 0 2px 0 rgba(0,0,0,.10);
  transform: translate(var(--mx), calc(var(--my) + 1px));
}
[data-design="a"] .a-key--large {
  padding: 16px 40px; font-size: clamp(16px, 2.2vw, 20px);
}

/* ── SECTION 1: THE PLACE ────────────────────────────────────────────────── */
[data-design="a"] .a-place {
  padding: clamp(72px, 12vw, 128px) clamp(16px, 4vw, 40px);
  max-width: 1280px; margin-inline: auto;
}
[data-design="a"] .a-place__inner {
  display: grid; gap: clamp(48px, 8vw, 80px);
}
[data-design="a"] .a-place__kicker {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .14em; text-transform: uppercase; color: var(--muted);
  margin: 0 0 20px;
}
[data-design="a"] .a-place__title {
  font-family: var(--font-room); font-style: italic; font-weight: 400;
  font-size: clamp(32px, 6vw, 56px); line-height: 1.1;
  margin: 0 0 28px; max-width: 18ch;
}
[data-design="a"] .a-place__body {
  font-size: clamp(16px, 2vw, 18px); line-height: 1.7;
  color: var(--ink-soft); margin: 0 0 20px; max-width: 66ch;
}
[data-design="a"] .a-place__body--quote {
  font-family: var(--font-room); font-style: italic;
  color: var(--ink); font-size: clamp(17px, 2.2vw, 20px);
  border-left: 2px solid var(--brass); padding-left: 20px;
  margin-top: 32px;
}

/* Fact list */
[data-design="a"] .a-factlist {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 14px;
}
[data-design="a"] .a-factlist__item {
  display: flex; align-items: flex-start; gap: 12px;
  font-family: var(--font-data); font-size: clamp(12px, 1.6vw, 13px);
  letter-spacing: .04em; text-transform: uppercase; color: var(--ink-soft);
  opacity: 0; transform: translateY(10px);
  transition: opacity var(--dur-caption) var(--ease-warm),
              transform var(--dur-caption) var(--ease-warm);
}
[data-design="a"] .a-factlist__item[data-seen="true"] {
  opacity: 1; transform: none;
}
[data-design="a"] .a-factlist__icon {
  color: var(--brass); flex: 0 0 auto; line-height: 1.7;
}
@media (min-width: 769px) {
  [data-design="a"] .a-place__inner {
    grid-template-columns: 1.4fr 0.9fr; align-items: start;
  }
}

/* ── E6 POINTER — leaf-fall, immediately before #gallery ─────────────────── */
[data-design="a"] .a-pointer {
  display: flex; flex-direction: column; align-items: center;
  padding: clamp(32px, 6vw, 56px) 0 clamp(16px, 3vw, 32px);
  opacity: 1; /* never opacity:0 — gate-verifiable */
}
[data-design="a"] .a-pointer__canvas {
  display: block; overflow: visible;
}
[data-design="a"] .a-pointer__label {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
  margin: 10px 0 0;
}

/* ── GALLERY (E5 interactive + E4 ambient) ───────────────────────────────── */
[data-design="a"] .a-gallery {
  background: var(--ink); position: relative; overflow: hidden; isolation: isolate;
}
[data-design="a"] .a-gallery__inner {
  max-width: 1280px; margin-inline: auto;
  padding: clamp(72px, 10vw, 128px) clamp(16px, 4vw, 40px);
  display: flex; flex-direction: column; gap: clamp(80px, 14vw, 144px);
}
[data-design="a"] .a-gallery__frame {
  display: grid; gap: clamp(16px, 3vw, 28px);
  opacity: 0; transform: translateY(18px);
  transition: opacity 0.72s var(--ease-warm), transform 0.72s var(--ease-warm);
}
[data-design="a"] .a-gallery__frame[data-seen="true"] {
  opacity: 1; transform: none;
}
@media (min-width: 769px) {
  [data-design="a"] .a-gallery__frame {
    grid-template-columns: 1.6fr 0.8fr; align-items: center;
  }
  [data-design="a"] .a-gallery__frame--alt {
    grid-template-columns: 0.8fr 1.6fr;
  }
  [data-design="a"] .a-gallery__frame--alt .a-gallery__cap {
    order: -1;
  }
}
[data-design="a"] .a-gallery__photo {
  position: relative; overflow: hidden;
  aspect-ratio: 16/10;
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--ivory) 18%, transparent);
}
[data-design="a"] .a-gallery__photo img {
  width: 100%; height: 100%; object-fit: cover;
  /* parallax handled in JS via --parallax-y */
  transform: translateY(var(--parallax-y, 0px)) scale(1.08);
  transition: transform 0.1s linear;
  will-change: transform;
}
[data-design="a"] .a-gallery__cap {
  color: var(--ivory); padding: clamp(12px, 3vw, 24px) 0;
}
[data-design="a"] .a-gallery__cap-beat {
  display: block;
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--brass); margin-bottom: 12px;
}
[data-design="a"] .a-gallery__cap {
  font-size: clamp(14px, 2vw, 16px); line-height: 1.65;
  color: color-mix(in oklab, var(--ivory) 82%, transparent);
  max-width: 44ch;
}

/* Gallery CTA */
[data-design="a"] .a-gallery__cta-wrap {
  display: flex; justify-content: center;
  padding: clamp(0px, 2vw, 16px) clamp(16px, 4vw, 40px) clamp(72px, 10vw, 112px);
}

/* Wildlife ambient (E4) */
[data-design="a"] .a-wildlife {
  display: flex; align-items: flex-end; justify-content: center; gap: clamp(32px, 6vw, 72px);
  padding: clamp(24px, 4vw, 48px) 0;
  border-top: 1px solid color-mix(in oklab, var(--ivory) 12%, transparent);
}
[data-design="a"] .a-wildlife__mark {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  color: color-mix(in oklab, var(--ivory) 50%, transparent);
  /* ambient breath handled per-creature in JS */
}
[data-design="a"] .a-wildlife__name {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .1em; text-transform: uppercase;
}

/* ── STAYS PICKER (E5 — the interactive centerpiece) ────────────────────── */
[data-design="a"] .a-stays {
  position: relative; overflow: hidden; isolation: isolate;
  padding: clamp(72px, 12vw, 128px) clamp(16px, 4vw, 40px);
}
[data-design="a"] .a-stays__inner {
  max-width: 1280px; margin-inline: auto;
}
[data-design="a"] .a-stays__head {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: clamp(28px, 5vw, 56px);
}
[data-design="a"] .a-stays__dot {
  width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto;
  background: var(--terracotta);
  animation: a-dot-warm 12s var(--ease-warm) infinite;
}
[data-design="a"] .a-stays__title {
  font-family: var(--font-display); font-weight: 300; letter-spacing: .02em;
  font-size: clamp(28px, 5vw, 44px); margin: 0;
}
/* Tour lantern glow behind stays section */
[data-design="a"] .a-stays::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(38% 60% at 0% 40%,
    color-mix(in oklab, var(--brass) 18%, transparent), transparent 70%);
  animation: a-lantern-pan 18s ease-in-out infinite alternate;
}

[data-design="a"] .a-stays__stage {
  /* no extra wrapper — stays compact */
}
[data-design="a"] .a-stays__frame {
  display: grid; gap: 20px;
}
@media (min-width: 769px) {
  [data-design="a"] .a-stays__frame {
    grid-template-columns: 1.4fr 1fr; align-items: center;
    gap: clamp(24px, 4vw, 56px);
  }
}
[data-design="a"] .a-stays__photo {
  position: relative; aspect-ratio: 16/10; width: 100%;
  box-shadow: 0 0 0 1px var(--rule);
  background-size: cover; background-position: center;
  transition: opacity var(--dur-room) var(--ease-room);
}
[data-design="a"] .a-stays__photo[data-fading="true"] { opacity: 0; }
[data-design="a"] .a-stays__strip {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted); margin: 0 0 8px;
  transition: opacity var(--dur-caption) var(--ease-warm);
}
[data-design="a"] .a-stays__name {
  font-family: var(--font-room); font-style: italic; font-weight: 400;
  font-size: clamp(26px, 4vw, 38px); margin: 0 0 12px;
  transition: opacity var(--dur-caption) var(--ease-warm);
}
[data-design="a"] .a-stays__desc {
  font-size: clamp(15px, 2vw, 17px); line-height: 1.65; color: var(--ink-soft);
  margin: 0 0 16px;
  transition: opacity var(--dur-caption) var(--ease-warm);
}
[data-design="a"] .a-stays__amens {
  list-style: none; padding: 0; margin: 0 0 24px;
  display: grid; gap: 6px;
  transition: opacity var(--dur-caption) var(--ease-warm);
}
[data-design="a"] .a-stays__amens li {
  font-family: var(--font-data); font-size: 11px; letter-spacing: .05em;
  text-transform: uppercase; color: var(--muted);
}
[data-design="a"] .a-stays__caption[data-fading="true"] > * { opacity: 0; }
[data-design="a"] .a-stays__controls {
  display: flex; align-items: center; gap: 16px; margin-top: 24px;
}
[data-design="a"] .a-stays__nav {
  appearance: none; border: 1px solid var(--rule); background: var(--linen);
  color: var(--ink); width: 44px; height: 44px; border-radius: var(--radius-warm);
  cursor: pointer; font-size: 20px; line-height: 1;
  transition: border-color var(--dur-tick) var(--ease-warm);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .a-stays__nav:hover { border-color: var(--terracotta); }
}
[data-design="a"] .a-stays__nav:focus-visible {
  outline: 3px solid var(--terracotta); outline-offset: 3px;
}
[data-design="a"] .a-stays__dots {
  display: flex; gap: 10px; flex: 1; flex-wrap: wrap;
}
[data-design="a"] .a-stays__dots button {
  width: 10px; height: 10px; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1px solid var(--rule); background: transparent;
  transition: background var(--dur-tick) var(--ease-warm);
  min-width: 10px; /* overflow guard */
}
[data-design="a"] .a-stays__dots button[aria-selected="true"] {
  background: var(--brass); border-color: var(--brass);
}
[data-design="a"] .a-stays__book {
  display: inline-flex; /* override from .a-key */
}

/* ── WHAT'S NEARBY ───────────────────────────────────────────────────────── */
[data-design="a"] .a-nearby {
  padding: clamp(72px, 12vw, 128px) clamp(16px, 4vw, 40px);
  background: var(--linen-deep);
}
[data-design="a"] .a-nearby__inner { max-width: 1280px; margin-inline: auto; }
[data-design="a"] .a-nearby__title {
  font-family: var(--font-display); font-weight: 300; letter-spacing: .02em;
  font-size: clamp(26px, 5vw, 42px); margin: 0 0 clamp(36px, 6vw, 56px);
}
[data-design="a"] .a-nearby__list {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: clamp(24px, 4vw, 36px);
}
@media (min-width: 640px) {
  [data-design="a"] .a-nearby__list { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  [data-design="a"] .a-nearby__list { grid-template-columns: repeat(3, 1fr); }
}
[data-design="a"] .a-nearby__item {
  display: flex; flex-direction: column; gap: 4px;
  padding-top: 16px;
  border-top: 1px solid color-mix(in oklab, var(--rule) 28%, transparent);
  opacity: 0; transform: translateY(12px);
  transition: opacity 0.65s var(--ease-warm), transform 0.65s var(--ease-warm);
}
[data-design="a"] .a-nearby__item[data-seen="true"] {
  opacity: 1; transform: none;
}
[data-design="a"] .a-nearby__dist {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .1em; text-transform: uppercase; color: var(--brass);
}
[data-design="a"] .a-nearby__place {
  font-family: var(--font-room); font-style: italic;
  font-size: clamp(18px, 2.4vw, 22px);
}
[data-design="a"] .a-nearby__detail {
  font-size: clamp(13px, 1.8vw, 15px); line-height: 1.6; color: var(--ink-soft);
}

/* ── THE HOST ────────────────────────────────────────────────────────────── */
[data-design="a"] .a-host {
  padding: clamp(72px, 12vw, 128px) clamp(16px, 4vw, 40px);
}
[data-design="a"] .a-host__inner {
  max-width: 1280px; margin-inline: auto;
  display: grid; gap: clamp(36px, 6vw, 64px);
  opacity: 0; transform: translateY(16px);
  transition: opacity 0.72s var(--ease-warm), transform 0.72s var(--ease-warm);
}
[data-design="a"] .a-host__inner[data-seen="true"] {
  opacity: 1; transform: none;
}
@media (min-width: 769px) {
  [data-design="a"] .a-host__inner {
    grid-template-columns: 1.2fr 1fr; align-items: start;
  }
}
[data-design="a"] .a-host__title {
  font-family: var(--font-room); font-style: italic; font-weight: 400;
  font-size: clamp(28px, 4vw, 42px); margin: 0 0 20px;
}
[data-design="a"] .a-host__bio {
  font-size: clamp(15px, 2vw, 17px); line-height: 1.7; color: var(--ink-soft);
  margin: 0 0 16px; max-width: 58ch;
}
[data-design="a"] .a-host__note {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--muted); margin: 0;
}
[data-design="a"] .a-host__proof {
  display: flex; flex-direction: column; gap: 28px;
}
[data-design="a"] .a-host__letter {
  margin: 0; padding: 20px;
  border: 1px solid color-mix(in oklab, var(--rule) 28%, transparent);
  border-radius: var(--radius-warm); background: var(--ivory);
}
[data-design="a"] .a-host__letter p {
  font-family: var(--font-room); font-style: italic;
  font-size: clamp(15px, 2vw, 17px); line-height: 1.6; margin: 0 0 12px;
}
[data-design="a"] .a-host__letter cite {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .07em; text-transform: uppercase; color: var(--muted);
  font-style: normal;
}

/* ── FINAL CTA SECTION ───────────────────────────────────────────────────── */
[data-design="a"] .a-book {
  background: var(--ink); color: var(--ivory);
  padding: clamp(72px, 12vw, 128px) clamp(16px, 4vw, 40px);
  text-align: center;
}
[data-design="a"] .a-book__inner {
  max-width: 760px; margin-inline: auto;
  display: flex; flex-direction: column; align-items: center; gap: 20px;
}
[data-design="a"] .a-book__kicker {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--brass); margin: 0;
}
[data-design="a"] .a-book__title {
  font-family: var(--font-room); font-style: italic; font-weight: 400;
  font-size: clamp(32px, 6vw, 56px); color: var(--ivory); margin: 0;
}
[data-design="a"] .a-book__body {
  font-size: clamp(15px, 2vw, 17px); line-height: 1.65;
  color: color-mix(in oklab, var(--ivory) 72%, transparent);
  max-width: 48ch; margin: 0;
}
[data-design="a"] .a-book .a-key {
  color: var(--ink); /* brass bg + ink text = readable */
}

/* ── FOOTER ──────────────────────────────────────────────────────────────── */
[data-design="a"] .a-footer {
  background: var(--ink);
  border-top: 1px solid color-mix(in oklab, var(--ivory) 12%, transparent);
  padding: clamp(36px, 6vw, 64px) clamp(16px, 4vw, 40px);
}
[data-design="a"] .a-footer__inner {
  max-width: 1280px; margin-inline: auto;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  text-align: center;
}
[data-design="a"] .a-footer__name {
  font-family: var(--font-room); font-style: italic;
  font-size: clamp(20px, 3vw, 26px); color: var(--ivory); margin: 0;
}
[data-design="a"] .a-footer__loc {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0;
}
[data-design="a"] .a-footer__link {
  font-family: var(--font-data); font-size: var(--text-meta);
  letter-spacing: .06em; text-transform: uppercase; text-decoration: none;
  color: var(--brass);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .a-footer__link:hover { color: var(--ivory); }
}
[data-design="a"] .a-footer__copy {
  font-family: var(--font-data); font-size: var(--text-meta);
  color: color-mix(in oklab, var(--muted) 60%, transparent); margin: 0;
}

/* ── KEYFRAMES (prefixed a-) ─────────────────────────────────────────────── */
@keyframes a-header-sweep {
  0%   { transform: translateX(-60%); }
  100% { transform: translateX(320%); }
}
@keyframes a-key-breath {
  0%,100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--brass) 50%, transparent); }
  50%     { box-shadow: 0 0 0 5px color-mix(in oklab, var(--brass) 0%, transparent); }
}
@keyframes a-key-pulse {
  0%,100% {
    box-shadow: 0 1px 0 var(--linen-deep), 0 1px 0 1px var(--brass);
  }
  50% {
    box-shadow: 0 1px 0 var(--linen-deep),
                0 0 0 3px color-mix(in oklab, var(--brass) 32%, transparent);
  }
}
@keyframes a-dot-warm {
  0%,100% { background: var(--terracotta); }
  50%     { background: var(--olive); }
}
@keyframes a-lantern-pan {
  0%   { transform: translateX(-8%); }
  100% { transform: translateX(120%); }
}
/* Slip-in entrance for revealed elements — transform + opacity only */
@keyframes a-slip-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}

/* ── REDUCED MOTION ──────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .a-header__wash::before,
  [data-design="a"] .a-logo__dot,
  [data-design="a"] .a-stays::before,
  [data-design="a"] .a-stays__dot { animation: none; }

  [data-design="a"] .a-drawer__panel,
  [data-design="a"] .a-drawer__scrim { transition: none; }

  [data-design="a"] .a-key { animation: none; transform: none; }
  [data-design="a"] .a-key__cue { transition: none; }

  [data-design="a"] .a-gallery__frame,
  [data-design="a"] .a-factlist__item,
  [data-design="a"] .a-nearby__item,
  [data-design="a"] .a-host__inner {
    opacity: 1; transform: none; transition: none;
  }
  [data-design="a"] .a-gallery__photo img {
    transform: none; transition: none;
  }
  [data-design="a"] .a-stays__photo,
  [data-design="a"] .a-stays__strip,
  [data-design="a"] .a-stays__name,
  [data-design="a"] .a-stays__desc,
  [data-design="a"] .a-stays__amens { transition: none; }
}

/* ── RESPONSIVE ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  [data-design="a"] .a-header__bar { padding-block: 11px; }
  [data-design="a"] .a-gallery__frame--alt .a-gallery__cap { order: 0; }
}
@media (max-width: 560px) {
  [data-design="a"] .a-logo__mark { font-size: 15px; }
  [data-design="a"] .a-drawer__panel { width: 100vw; }
  [data-design="a"] .a-key { width: 100%; padding-block: 14px; }
  [data-design="a"] .a-stays__photo { aspect-ratio: 4/3; }
  [data-design="a"] .a-gallery__photo { aspect-ratio: 4/3; }
}
@media (max-width: 390px) {
  [data-design="a"] .a-header__bar { padding-inline: 14px; gap: 10px; }
  [data-design="a"] .a-place__title { font-size: 28px; }
  [data-design="a"] .a-stays__controls { gap: 10px; }
}
@media (max-width: 320px) {
  [data-design="a"] .a-logo__mark { font-size: 14px; letter-spacing: .01em; }
  [data-design="a"] .a-burger { width: 38px; height: 38px; }
  [data-design="a"] .a-place,
  [data-design="a"] .a-stays__inner,
  [data-design="a"] .a-gallery__inner,
  [data-design="a"] .a-nearby__inner,
  [data-design="a"] .a-host__inner { padding-inline: 14px; }
}

/* 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; }
