/* rc-larson-longhorn-ranch-tillamook — design-a body styles
   Figma-Canvas-Counsel instrument-grade grammar (hairline frames, mono title
   bars, one saturated signature accent) warmed into a river-canyon ranch
   palette. BODY ONLY — the hero is injected by the assembler.
   Scoped to [data-design="a"]. Motion gate: transform / opacity only. */

[data-design="a"]{
  /* ── Token system (river-canyon ranch, instrument-grade) ── */
  --rl-canvas:        #F4F2EC;  /* warm paper-canvas page bg (never pure white) */
  --rl-paper:         #FCFAF5;  /* raised frame / card surface                  */
  --rl-ink:           #1A1B17;  /* primary text, warm near-black                */
  --rl-ink-2:         #41433B;  /* secondary text                              */
  --rl-muted:         #74766B;  /* mono meta, timestamps, ids                  */
  --rl-border:        #E2DFD4;  /* hairline                                    */
  --rl-border-strong: #1A1B17;  /* inkstroke / selected                        */
  --rl-accent:        #2E6E5B;  /* signature river-moss green (the one accent) */
  --rl-accent-soft:   #E6EFEA;  /* accent tint surface                         */
  --rl-river:         #2F6F8F;  /* the precise signal blue (Figma-blue cousin) */
  --rl-river-soft:    #E4EEF3;  /* river tint                                  */
  --rl-rust:          #B5612E;  /* sunset-rust, demand pill only               */
  --rl-rust-soft:     #F4E6DB;  /* rust tint                                   */

  --rl-font-display: "Inter", "Söhne", -apple-system, system-ui, sans-serif;
  --rl-font-body:    "Inter", "Söhne", -apple-system, system-ui, sans-serif;
  --rl-font-mono:    "JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace;

  --rl-r-frame: 10px;
  --rl-r-pill:  6px;
  --rl-rhythm:  clamp(56px, 9vw, 104px);   /* section vertical rhythm */
  --rl-pad-x:   clamp(20px, 5vw, 48px);    /* windowed-center side padding */
  --rl-maxw:    1240px;

  --rl-dur-snap:   140ms;
  --rl-dur-settle: 280ms;
  --rl-ease-snap:   cubic-bezier(0.2, 0.9, 0.15, 1);
  --rl-ease-settle: cubic-bezier(0.22, 1, 0.36, 1);

  color: var(--rl-ink);
  font-family: var(--rl-font-body);
  background: var(--rl-canvas);
  -webkit-font-smoothing: antialiased;
}

[data-design="a"].dq-design{ background: var(--rl-canvas); }
[data-design="a"].dq-design *{ box-sizing: border-box; }

/* ── Shared windowed-center column ── EVERY content wrapper uses this ── */
[data-design="a"] .rl-story__inner,
[data-design="a"] .rl-facts__inner,
[data-design="a"] .rl-stays__inner,
[data-design="a"] .rl-gallery__inner,
[data-design="a"] .rl-nearby__inner,
[data-design="a"] .rl-host__inner,
[data-design="a"] .rl-closing__inner{
  max-width: var(--rl-maxw);
  margin-inline: auto;
  padding-inline: var(--rl-pad-x);
}

[data-design="a"] .rl-mono{
  font-family: var(--rl-font-mono);
  font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--rl-muted); font-variant-numeric: tabular-nums;
}

[data-design="a"].dq-design h2{
  font-family: var(--rl-font-display);
  font-weight: 600; letter-spacing: -0.022em; line-height: 1.06;
  font-size: clamp(28px, 4.2vw, 46px); color: var(--rl-ink);
  margin: 10px 0 0; max-width: 22ch;
}
[data-design="a"].dq-design p{ margin: 0; }

/* ─────────────────────────────────────────────────────────────────────
   1. HEADER / NAV — hairline grid breath + hamburger drawer
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-header{
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in oklab, var(--rl-canvas) 90%, transparent);
  border-bottom: 1px solid var(--rl-border);
  backdrop-filter: saturate(135%) blur(10px);
}
[data-design="a"] .rl-header__grid{
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(to right, var(--rl-border) 1px, transparent 1px),
    linear-gradient(to bottom, var(--rl-border) 1px, transparent 1px);
  background-size: 32px 32px; opacity: 0.18;
  animation: rl-grid-breath 30s ease-in-out infinite;
}
[data-design="a"] .rl-header__bar{
  position: relative; display: flex; align-items: center; justify-content: space-between;
  height: 60px; max-width: var(--rl-maxw); margin-inline: auto;
  padding-inline: var(--rl-pad-x); gap: 12px;
}
[data-design="a"] .rl-logo{
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--rl-ink); text-decoration: none;
  font-family: var(--rl-font-display); font-weight: 600; font-size: 15px;
  letter-spacing: -0.01em; min-width: 0;
}
[data-design="a"] .rl-logo__mark{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-design="a"] .rl-logo__dot{
  width: 10px; height: 10px; border-radius: 9999px; flex: 0 0 auto;
  background: var(--rl-accent); box-shadow: 0 0 0 3px var(--rl-accent-soft);
}
[data-design="a"] .rl-burger{
  width: 44px; height: 44px; flex: 0 0 auto;
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  background: transparent; border: 1px solid var(--rl-border); border-radius: 8px; cursor: pointer;
  transition: border-color var(--rl-dur-snap) var(--rl-ease-snap),
              background-color var(--rl-dur-snap) var(--rl-ease-snap);
}
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .rl-burger:hover{ border-color: var(--rl-ink); background: var(--rl-accent-soft); }
}
[data-design="a"] .rl-burger:focus-visible{ outline: 2px solid var(--rl-accent); outline-offset: 2px; }
[data-design="a"] .rl-burger__line{ width: 18px; height: 1.5px; background: var(--rl-ink); border-radius: 1px; }

[data-design="a"] .rl-drawer{ position: fixed; inset: 0; pointer-events: none; z-index: 50; }
[data-design="a"] .rl-drawer[data-open="true"]{ pointer-events: auto; }
[data-design="a"] .rl-drawer__scrim{
  position: absolute; inset: 0; background: rgba(20,21,17,.34); backdrop-filter: blur(6px);
  opacity: 0; transition: opacity var(--rl-dur-settle) var(--rl-ease-settle);
}
[data-design="a"] .rl-drawer[data-open="true"] .rl-drawer__scrim{ opacity: 1; }
[data-design="a"] .rl-drawer__panel{
  position: absolute; top: 0; right: 0; height: 100%; width: min(360px, 92vw);
  background: var(--rl-paper); border-left: 1px solid var(--rl-border);
  transform: translateX(100%);
  transition: transform var(--rl-dur-settle) var(--rl-ease-settle);
  display: flex; flex-direction: column; padding-bottom: 24px;
}
[data-design="a"] .rl-drawer[data-open="true"] .rl-drawer__panel{ transform: translateX(0); }
[data-design="a"] .rl-drawer__head{
  display: flex; justify-content: space-between; align-items: center;
  padding: 18px 24px; border-bottom: 1px solid var(--rl-border);
}
[data-design="a"] .rl-drawer__x{
  width: 32px; height: 32px; border: 1px solid var(--rl-border); border-radius: 8px;
  background: transparent; color: var(--rl-ink); font-size: 20px; line-height: 1; cursor: pointer;
}
[data-design="a"] .rl-drawer__items{ display: flex; flex-direction: column; padding: 16px 12px; gap: 2px; }
[data-design="a"] .rl-drawer__items a{
  padding: 14px 16px; color: var(--rl-ink); text-decoration: none; font-size: 16px;
  border-radius: 8px; min-height: 44px; display: flex; align-items: center;
  transition: background-color var(--rl-dur-snap) var(--rl-ease-snap);
}
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .rl-drawer__items a:hover{ background: var(--rl-accent-soft); }
}
[data-design="a"] .rl-cta--drawer{ margin: 12px 24px 0; }

@keyframes rl-grid-breath{ 0%,100%{ opacity: 0.14; } 50%{ opacity: 0.30; } }

/* ─────────────────────────────────────────────────────────────────────
   STYLED CTA BUTTONS — never a bare link
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-cta{
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 22px; min-height: 48px; border-radius: 10px;
  background: var(--rl-accent); color: var(--rl-paper);
  text-decoration: none; font-family: var(--rl-font-display);
  font-weight: 500; font-size: clamp(15px, 1.6vw, 16px); letter-spacing: -0.005em; line-height: 1.1;
  border: 1px solid color-mix(in oklab, var(--rl-accent) 72%, var(--rl-ink) 28%);
  box-shadow: 0 6px 22px rgba(20,21,17,.16);
  position: relative; isolation: isolate;
  animation: rl-cta-breath 4600ms ease-in-out infinite;
  transition: transform var(--rl-dur-snap) var(--rl-ease-snap),
              background-color var(--rl-dur-snap) var(--rl-ease-snap),
              box-shadow var(--rl-dur-snap) var(--rl-ease-snap);
}
[data-design="a"] .rl-cta::before{
  content: ""; position: absolute; inset: 1px; border-radius: 9px;
  border-top: 1px solid rgba(255,255,255,.28); pointer-events: none;
}
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .rl-cta:hover{
    background: color-mix(in oklab, var(--rl-accent) 88%, var(--rl-ink) 12%);
    transform: translateY(-2px); box-shadow: 0 10px 28px rgba(46,110,91,.34);
  }
  [data-design="a"] .rl-cta:hover .rl-cta__arrow{ transform: translateX(3px); }
  [data-design="a"] .rl-cta:hover .rl-cta__arrow--down{ transform: translateY(3px); }
}
[data-design="a"] .rl-cta:active{ transform: translateY(0); }
[data-design="a"] .rl-cta:focus-visible{ outline: 2px solid var(--rl-river); outline-offset: 3px; }
[data-design="a"] .rl-cta__arrow{
  display: inline-flex; font-size: 1.05em; line-height: 1;
  transition: transform var(--rl-dur-snap) var(--rl-ease-snap);
}
[data-design="a"] .rl-cta--lg{ padding: 17px 32px; font-size: clamp(16px, 2vw, 19px); }
[data-design="a"] .rl-cta--ghost{
  background: transparent; color: var(--rl-accent); animation: none;
  border: 1px solid var(--rl-border); box-shadow: none;
}
[data-design="a"] .rl-cta--ghost::before{ display: none; }
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .rl-cta--ghost:hover{ background: var(--rl-accent-soft); transform: translateY(-2px); box-shadow: none; }
}
@keyframes rl-cta-breath{
  0%,100%{ box-shadow: 0 6px 22px rgba(20,21,17,.16); }
  50%    { box-shadow: 0 9px 30px rgba(46,110,91,.40); }
}

/* ─────────────────────────────────────────────────────────────────────
   POINTER (Element 6) — place-rooted descent beat (hero → content)
   Not a button. A hairline rule with a glow that creeps downward (golden-hour
   shadow-creep) + a slow descending dot. Transform/opacity only.
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-pointer{
  display: flex; justify-content: center;
  padding: clamp(20px, 4vw, 40px) 0 4px;
}
[data-design="a"] .rl-pointer__link{
  display: inline-flex; flex-direction: column; align-items: center; gap: 12px;
  text-decoration: none; color: var(--rl-muted);
}
[data-design="a"] .rl-pointer__label{ opacity: 0.85; }
[data-design="a"] .rl-pointer__rule{
  position: relative; width: 1px; height: 56px; overflow: hidden;
  background: var(--rl-border);
}
[data-design="a"] .rl-pointer__glow{
  position: absolute; left: 50%; top: 0; width: 3px; height: 18px;
  margin-left: -1.5px; border-radius: 2px;
  background: linear-gradient(to bottom, transparent, var(--rl-accent), transparent);
  transform: translateY(-20px);
  animation: rl-pointer-creep 3.6s ease-in-out infinite;
}
[data-design="a"] .rl-pointer__dot{
  width: 7px; height: 7px; border-radius: 9999px; background: var(--rl-accent);
  box-shadow: 0 0 0 4px var(--rl-accent-soft);
  animation: rl-pointer-sink 3.6s ease-in-out infinite;
}
@keyframes rl-pointer-creep{
  0%   { transform: translateY(-20px); opacity: 0; }
  35%  { opacity: 1; }
  100% { transform: translateY(56px); opacity: 0; }
}
@keyframes rl-pointer-sink{
  0%,100%{ transform: translateY(0); }
  50%    { transform: translateY(4px); }
}
@media (prefers-reduced-motion: reduce){
  [data-design="a"] .rl-pointer__glow{ animation: none; transform: translateY(20px); opacity: .8; }
  [data-design="a"] .rl-pointer__dot{ animation: none; }
}

/* ─────────────────────────────────────────────────────────────────────
   2. PLACE STORY — copy + handoff feature photo (parallax target)
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-story{ padding-block: var(--rl-rhythm); }
[data-design="a"] .rl-story__inner{
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: center;
}
[data-design="a"] .rl-story__copy{ display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
[data-design="a"] .rl-story__copy p{ font-size: clamp(16px, 1.7vw, 18px); line-height: 1.6; color: var(--rl-ink-2); max-width: 52ch; }
[data-design="a"] .rl-story__feature{
  margin: 0; border-radius: var(--rl-r-frame); overflow: hidden;
  border: 1px solid var(--rl-border); background: var(--rl-paper);
  position: relative; aspect-ratio: 4 / 3;
}
[data-design="a"] .rl-story__feature img{
  width: 100%; height: 100%; object-fit: cover; display: block;
}
[data-design="a"] .rl-story__feature figcaption{
  position: absolute; left: 14px; bottom: 12px; z-index: 2;
  background: color-mix(in oklab, var(--rl-paper) 86%, transparent);
  padding: 5px 9px; border-radius: 5px; border: 1px solid var(--rl-border);
  color: var(--rl-ink);
}

/* ─────────────────────────────────────────────────────────────────────
   3. KEY FACTS — Figma-frame grid
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-facts{ padding-block: var(--rl-rhythm); background: color-mix(in oklab, var(--rl-canvas) 50%, var(--rl-paper)); }
[data-design="a"] .rl-facts__head{ margin-bottom: 32px; }
[data-design="a"] .rl-facts__grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
[data-design="a"] .rl-frame{
  background: var(--rl-paper); border: 1px solid var(--rl-border);
  border-radius: var(--rl-r-frame); padding: 18px;
  display: flex; flex-direction: column; gap: 12px;
  transition: border-color var(--rl-dur-snap) var(--rl-ease-snap),
              transform var(--rl-dur-snap) var(--rl-ease-snap);
}
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .rl-frame:hover{ border-color: var(--rl-accent); transform: translateY(-2px); }
}
[data-design="a"] .rl-frame__title{
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
  padding-bottom: 10px; border-bottom: 1px dashed var(--rl-border);
}
[data-design="a"] .rl-frame__live{
  width: 8px; height: 8px; border-radius: 9999px; flex: 0 0 auto;
  background: var(--rl-accent); animation: rl-live-pulse 2600ms ease-in-out infinite;
}
[data-design="a"] .rl-frame__lead{ font-family: var(--rl-font-display); font-weight: 600; font-size: 16px; color: var(--rl-ink); letter-spacing: -0.01em; }
[data-design="a"] .rl-frame__body{ font-size: 14px; line-height: 1.55; color: var(--rl-ink-2); }
@keyframes rl-live-pulse{
  0%,100%{ box-shadow: 0 0 0 0 color-mix(in oklab, var(--rl-accent) 55%, transparent); }
  50%    { box-shadow: 0 0 0 6px color-mix(in oklab, var(--rl-accent) 0%, transparent); }
}

/* ─────────────────────────────────────────────────────────────────────
   4. STAYS SELECTOR (INT-1)
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-stays{ padding-block: var(--rl-rhythm); }
[data-design="a"] .rl-stays__head{ margin-bottom: 28px; }
[data-design="a"] .rl-stays__sub{ margin-top: 12px; color: var(--rl-muted); font-size: 16px; max-width: 52ch; }
[data-design="a"] .rl-stays__widget{
  border: 1px solid var(--rl-border); border-radius: var(--rl-r-frame);
  overflow: hidden; background: var(--rl-paper);
}
[data-design="a"] .rl-stays__tabs{
  display: flex; gap: 0; border-bottom: 1px solid var(--rl-border);
  background: color-mix(in oklab, var(--rl-canvas) 60%, var(--rl-paper));
}
[data-design="a"] .rl-tab{
  flex: 1 1 0; min-width: 0; cursor: pointer;
  display: flex; flex-direction: column; gap: 4px; align-items: flex-start;
  padding: 16px 20px; background: transparent; border: 0;
  border-bottom: 2px solid transparent; text-align: left; color: var(--rl-muted);
  transition: color var(--rl-dur-snap) var(--rl-ease-snap),
              background-color var(--rl-dur-snap) var(--rl-ease-snap),
              border-color var(--rl-dur-snap) var(--rl-ease-snap);
}
[data-design="a"] .rl-tab__name{ font-family: var(--rl-font-display); font-weight: 600; font-size: clamp(16px, 2vw, 19px); color: var(--rl-ink-2); letter-spacing: -0.01em; }
[data-design="a"] .rl-tab__meta{ color: var(--rl-muted); }
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .rl-tab:hover{ background: var(--rl-accent-soft); }
}
[data-design="a"] .rl-tab[aria-selected="true"]{
  background: var(--rl-paper); border-bottom-color: var(--rl-accent);
}
[data-design="a"] .rl-tab[aria-selected="true"] .rl-tab__name{ color: var(--rl-ink); }
[data-design="a"] .rl-tab:focus-visible{ outline: 2px solid var(--rl-river); outline-offset: -2px; }

[data-design="a"] .rl-stays__panels{ position: relative; }
[data-design="a"] .rl-panel{
  display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(20px, 3vw, 36px);
  padding: clamp(20px, 3vw, 36px); align-items: stretch;
}
[data-design="a"] .rl-panel[hidden]{ display: none; }
[data-design="a"] .rl-panel[data-stay-current]{ animation: rl-panel-in 320ms var(--rl-ease-settle) both; }
[data-design="a"] .rl-panel__media{
  border-radius: 8px; overflow: hidden; border: 1px solid var(--rl-border);
  aspect-ratio: 4 / 3; background: var(--rl-canvas);
}
[data-design="a"] .rl-panel__media img{ width: 100%; height: 100%; object-fit: cover; display: block; }
[data-design="a"] .rl-panel__copy{ display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
[data-design="a"] .rl-panel__desc{ font-size: clamp(15px, 1.6vw, 17px); line-height: 1.6; color: var(--rl-ink-2); }
[data-design="a"] .rl-amen{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; width: 100%; }
[data-design="a"] .rl-amen li{
  position: relative; padding-left: 18px; font-size: 14px; color: var(--rl-ink-2); line-height: 1.4;
}
[data-design="a"] .rl-amen li::before{
  content: ""; position: absolute; left: 0; top: 7px;
  width: 7px; height: 7px; border-radius: 9999px; background: var(--rl-accent);
}
[data-design="a"] .rl-pill{
  display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto;
  padding: 4px 10px; border-radius: var(--rl-r-pill);
  font-family: var(--rl-font-mono); font-size: 11px; letter-spacing: 0.02em; font-variant-numeric: tabular-nums;
  background: var(--rl-rust-soft); color: var(--rl-rust);
}
@keyframes rl-panel-in{ from{ opacity: 0; transform: translateY(6px); } to{ opacity: 1; transform: none; } }

/* ─────────────────────────────────────────────────────────────────────
   5. GALLERY
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-gallery{ padding-block: var(--rl-rhythm); background: color-mix(in oklab, var(--rl-canvas) 50%, var(--rl-paper)); }
[data-design="a"] .rl-gallery__head{ margin-bottom: 28px; }
[data-design="a"] .rl-gallery__grid{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; grid-auto-flow: dense;
}
[data-design="a"] .rl-shot{
  margin: 0; border-radius: var(--rl-r-frame); overflow: hidden;
  border: 1px solid var(--rl-border); background: var(--rl-paper);
  aspect-ratio: 4 / 3;
}
[data-design="a"] .rl-shot--wide{ grid-column: span 2; }
[data-design="a"] .rl-shot img{
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 420ms var(--rl-ease-settle);
}
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .rl-shot:hover img{ transform: scale(1.04); }
}

/* ─────────────────────────────────────────────────────────────────────
   6. WHAT'S NEARBY
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-nearby{ padding-block: var(--rl-rhythm); }
[data-design="a"] .rl-nearby__head{ margin-bottom: 28px; }
[data-design="a"] .rl-nearby__list{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
[data-design="a"] .rl-near{
  border: 1px solid var(--rl-border); border-radius: var(--rl-r-frame);
  padding: 22px; background: var(--rl-paper);
  display: flex; flex-direction: column; gap: 10px;
  transition: border-color var(--rl-dur-snap) var(--rl-ease-snap), transform var(--rl-dur-snap) var(--rl-ease-snap);
}
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .rl-near:hover{ border-color: var(--rl-river); transform: translateY(-2px); }
}
[data-design="a"] .rl-near h3{ margin: 4px 0 0; font-family: var(--rl-font-display); font-weight: 600; font-size: 19px; letter-spacing: -0.01em; color: var(--rl-ink); }
[data-design="a"] .rl-near p{ font-size: 14px; line-height: 1.55; color: var(--rl-ink-2); }

/* ─────────────────────────────────────────────────────────────────────
   7. HOST
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-host{ padding-block: var(--rl-rhythm); }
[data-design="a"] .rl-host__inner{ max-width: 760px; }
[data-design="a"] .rl-host p{ margin-top: 16px; font-size: clamp(16px, 1.8vw, 19px); line-height: 1.6; color: var(--rl-ink-2); }

/* ─────────────────────────────────────────────────────────────────────
   8. CLOSING
   ───────────────────────────────────────────────────────────────────── */
[data-design="a"] .rl-closing{
  padding-block: clamp(64px, 11vw, 132px);
  background: linear-gradient(160deg, color-mix(in oklab, var(--rl-accent) 14%, var(--rl-canvas)), var(--rl-canvas));
  border-top: 1px solid var(--rl-border);
}
[data-design="a"] .rl-closing__inner{ display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
[data-design="a"] .rl-closing h2{ max-width: 18ch; }
[data-design="a"] .rl-closing p{ font-size: clamp(16px, 1.8vw, 19px); color: var(--rl-ink-2); max-width: 46ch; }
[data-design="a"] .rl-closing .rl-cta{ margin-top: 8px; }

/* ─────────────────────────────────────────────────────────────────────
   RESPONSIVE
   ───────────────────────────────────────────────────────────────────── */
@media (max-width: 1000px){
  [data-design="a"] .rl-facts__grid{ grid-template-columns: 1fr 1fr; }
  [data-design="a"] .rl-story__inner{ grid-template-columns: 1fr; }
  [data-design="a"] .rl-story__feature{ aspect-ratio: 16 / 10; order: -1; }
  [data-design="a"] .rl-panel{ grid-template-columns: 1fr; }
  [data-design="a"] .rl-nearby__list{ grid-template-columns: 1fr; }
  [data-design="a"] .rl-gallery__grid{ grid-template-columns: 1fr 1fr; }
  [data-design="a"] .rl-shot--wide{ grid-column: span 2; }
}
@media (max-width: 600px){
  [data-design="a"] .rl-facts__grid{ grid-template-columns: 1fr; }
  [data-design="a"] .rl-gallery__grid{ grid-template-columns: 1fr; }
  [data-design="a"] .rl-shot--wide{ grid-column: span 1; }
  [data-design="a"] .rl-amen{ grid-template-columns: 1fr; }
  [data-design="a"] .rl-stays__tabs{ flex-direction: column; }
  [data-design="a"] .rl-tab{ border-bottom: 1px solid var(--rl-border); border-left: 2px solid transparent; }
  [data-design="a"] .rl-tab[aria-selected="true"]{ border-bottom-color: var(--rl-border); border-left-color: var(--rl-accent); }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce){
  [data-design="a"] .rl-header__grid,
  [data-design="a"] .rl-frame__live,
  [data-design="a"] .rl-cta{ animation: none; }
  [data-design="a"] .rl-drawer__scrim,
  [data-design="a"] .rl-drawer__panel,
  [data-design="a"] .rl-panel[data-stay-current],
  [data-design="a"] .rl-shot img,
  [data-design="a"] .rl-cta__arrow{ transition: none; animation: none; }
}

/* ── Mobile overflow floor (mandatory append) ── */
[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{ max-width: 100%; height: auto; }

/* 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; }
