/* ===========================================================================
   casa-di-beccaccino-bend — design-a (Fieldmark) — BODY styles
   Edwardian nature-diary grammar, rescoped to [data-design="a"]. Keyframes fm-*.
   Motion gate: only transform / opacity / clip-path / stroke-dashoffset / color
   animate. Hover transforms gated @media (hover:hover) and (pointer:fine).
   Every column is windowed-center (.fm-col: max-width + margin-inline:auto).
   =========================================================================== */

/* ---- Token system (Fieldmark) ---- */
[data-design="a"]{
  --fm-paper:#EFE6D2; --fm-leaf:#F7F1E1; --fm-ink:#2A2118; --fm-ink-soft:#6E5F47;
  --fm-rule:#D6C8A6; --fm-botanical:#5B6B39; --fm-specimen:#A23B1E;
  --fm-botanical-deep:#46582C; --fm-specimen-deep:#8C2F18;

  --fm-font-display:"Cochin","Hoefler Text","Libre Caslon Display","Big Caslon",Georgia,serif;
  --fm-font-body:"Iowan Old Style","Spectral","Palatino Linotype","Book Antiqua",Georgia,serif;
  --fm-font-hand:"Mansalva","Caveat","Segoe Script",cursive;
  --fm-font-tag:var(--fm-font-display);
  --fm-font-mono:"Courier Prime","Courier New",ui-monospace,monospace;

  --fm-hair:4px; --fm-rule-gap:8px; --fm-gutter:16px; --fm-card:24px;
  --fm-inset:32px; --fm-folio:48px; --fm-leaf-gap:72px; --fm-spread:96px;
  --fm-plate-gap:clamp(72px,12vh,128px);

  --fm-settle:cubic-bezier(0.22,0.61,0.36,1); --fm-press:cubic-bezier(0.3,0,0,1);

  --fm-r-tag:3px; --fm-r-hole:50%;
  --fm-lift-tipped:0 1px 0 rgba(255,255,255,0.5) inset, 0 10px 24px -12px rgba(42,33,24,0.32);
  --fm-lift-loupe:0 24px 60px -18px rgba(20,12,4,0.55);

  /* the body-life CTA-floor tokens, retinted to the diary in case any bare anchor slips through */
  --bl-cta-bg:linear-gradient(135deg,#A23B1E,#8C2F18);
  --bl-cta-ink:#F7F1E1;
}

/* ground the page in paper (scoped — never global per CHR-1) */
[data-design="a"].dq-design{
  background:var(--fm-paper); color:var(--fm-ink);
  font-family:var(--fm-font-body); font-size:1.0625rem; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
[data-design="a"].dq-design *{ box-sizing:border-box; }

/* ---- WINDOWED-CENTER column (HARD: max-width + margin-inline:auto on every wrapper) ---- */
[data-design="a"] .fm-col{
  max-width:1280px; margin-inline:auto;
  padding-inline:clamp(20px,5vw,48px);
}
[data-design="a"] .fm-section{ padding-block:var(--fm-spread); }

[data-design="a"] .fm-eyebrow{
  font-family:var(--fm-font-tag); font-variant:small-caps; letter-spacing:.14em;
  color:var(--fm-specimen); font-size:.9rem; margin:0 0 var(--fm-rule-gap);
}

/* ===================== ELEMENT 1 — HEADER ===================== */
[data-design="a"] .fm-header{ position:sticky; top:0; z-index:40;
  background:var(--fm-paper); border-bottom:1px solid var(--fm-rule); overflow:clip; }
[data-design="a"] .fm-header__wash{ position:absolute; inset:-40% -10% auto -10%; height:220%;
  pointer-events:none; opacity:.5;
  background:radial-gradient(60% 80% at 30% 40%, color-mix(in oklab, var(--fm-specimen) 14%, transparent), transparent 70%),
             radial-gradient(50% 70% at 75% 60%, color-mix(in oklab, var(--fm-botanical) 14%, transparent), transparent 70%);
  animation:fm-header-wash 26s ease-in-out infinite alternate; }
[data-design="a"] .fm-header__rule{ position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--fm-specimen); transform-origin:left;
  animation:fm-header-rule 22s ease-in-out infinite alternate; }
[data-design="a"] .fm-header__bar{ position:relative; z-index:1; display:flex; align-items:center;
  justify-content:space-between; gap:var(--fm-gutter); max-width:1280px; margin-inline:auto;
  padding:var(--fm-rule-gap) clamp(20px,5vw,48px); min-height:64px; }
[data-design="a"] .fm-logo{ font-family:var(--fm-font-display); font-size:1.4rem; letter-spacing:.01em;
  color:var(--fm-ink); text-decoration:none; }
[data-design="a"] .fm-burger{ display:grid; gap:5px; width:44px; height:44px; align-content:center;
  justify-items:end; background:none; border:0; cursor:pointer; padding:0; }
[data-design="a"] .fm-burger__line{ width:26px; height:1.5px; background:var(--fm-ink);
  transition:transform var(--fm-press) .16s; }
[data-design="a"] .fm-burger[aria-expanded="true"] .fm-burger__line:first-child{ transform:translateY(3.5px) rotate(8deg); }
[data-design="a"] .fm-burger[aria-expanded="true"] .fm-burger__line:last-child{ transform:translateY(-3px) rotate(-8deg); }
[data-design="a"] .fm-burger:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--fm-specimen); border-radius:var(--fm-r-tag); }

[data-design="a"] .fm-index[hidden]{ display:none; }
[data-design="a"] .fm-index{ position:fixed; inset:0; z-index:60; }
[data-design="a"] .fm-index__backdrop{ position:absolute; inset:0;
  background:color-mix(in oklab, var(--fm-ink) 30%, transparent); opacity:0;
  transition:opacity .28s var(--fm-settle); }
[data-design="a"] .fm-index__sheet{ position:absolute; top:0; right:0; height:100%; width:min(86vw,22rem);
  background:var(--fm-leaf); border-left:1px solid var(--fm-rule); box-shadow:var(--fm-lift-tipped);
  padding:var(--fm-inset); display:flex; flex-direction:column; gap:var(--fm-folio);
  transform:translateX(100%); transition:transform .28s var(--fm-settle); }
[data-design="a"] .fm-index[data-open="true"] .fm-index__backdrop{ opacity:1; }
[data-design="a"] .fm-index[data-open="true"] .fm-index__sheet{ transform:translateX(0); }
[data-design="a"] .fm-index__head{ font-family:var(--fm-font-tag); font-variant:small-caps;
  letter-spacing:.12em; color:var(--fm-specimen); border-bottom:1px solid var(--fm-rule);
  padding-bottom:var(--fm-rule-gap); margin:0; }
[data-design="a"] .fm-index__links{ display:grid; gap:var(--fm-card);
  font-family:var(--fm-font-display); font-size:1.4rem; }
[data-design="a"] .fm-index__links a{ color:var(--fm-ink); text-decoration:none; }
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .fm-index__links a:hover{ color:var(--fm-specimen); } }
[data-design="a"] .fm-index__links a:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--fm-specimen); border-radius:var(--fm-r-tag); }
[data-design="a"] .fm-index__foot{ margin-top:auto; display:grid; gap:var(--fm-gutter); }

@keyframes fm-header-wash{ from{ transform:translate3d(-3%,0,0); } to{ transform:translate3d(3%,0,0); } }
@keyframes fm-header-rule{ 0%{ opacity:.35; transform:scaleX(.4); } 100%{ opacity:.8; transform:scaleX(1); } }

/* ===================== ELEMENT 2 — THE SEAL (CTA) ===================== */
[data-design="a"] .fm-seal{ position:relative; display:inline-flex; align-items:center;
  gap:var(--fm-rule-gap); padding:var(--fm-gutter) var(--fm-card); min-height:48px;
  font-family:var(--fm-font-tag); font-variant:small-caps; letter-spacing:.08em; font-size:1rem;
  color:var(--fm-specimen); background:var(--fm-leaf); border:1px solid var(--fm-specimen);
  border-radius:var(--fm-r-tag); text-decoration:none; box-shadow:var(--fm-lift-tipped);
  transition:transform .16s var(--fm-press), box-shadow .16s var(--fm-press); }
[data-design="a"] .fm-seal--lg{ padding:var(--fm-card) var(--fm-inset); font-size:1.08rem; min-height:56px; }
[data-design="a"] .fm-seal__label{ position:relative; }
[data-design="a"] .fm-seal__label::after{ content:""; position:absolute; left:0; right:0; bottom:-3px;
  height:1.5px; background:var(--fm-specimen); transform:scaleX(0); transform-origin:left;
  transition:transform .28s var(--fm-settle); }
[data-design="a"] .fm-seal__mark{ display:inline-flex; animation:fm-seal-breath 5s ease-in-out infinite; }
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .fm-seal:hover{ transform:translateY(-1px); }
  [data-design="a"] .fm-seal:hover .fm-seal__label::after{ transform:scaleX(1); } }
[data-design="a"] .fm-seal:focus-visible{ outline:none;
  box-shadow:0 0 0 3px color-mix(in oklab, var(--fm-specimen) 35%, transparent); }
[data-design="a"] .fm-seal:active{ transform:translateY(1px) scale(.98); box-shadow:none; }
@keyframes fm-seal-breath{ 0%,100%{ transform:translate3d(0,0,0); opacity:.85; }
  50%{ transform:translate3d(1px,-1px,0); opacity:1; } }

/* ===================== THE PLACE — story + handoff feature photo ===================== */
[data-design="a"] .fm-story__grid{ display:grid; grid-template-columns:1.1fr .9fr;
  gap:clamp(32px,5vw,72px); align-items:start; }
[data-design="a"] .fm-story__title{ font-family:var(--fm-font-display); font-weight:500;
  font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.1; color:var(--fm-ink);
  margin:0 0 var(--fm-card); max-width:18ch; }
[data-design="a"] .fm-story__lede{ font-size:1.18rem; line-height:1.6; color:var(--fm-ink);
  max-width:60ch; margin:0 0 var(--fm-card); }
[data-design="a"] .fm-story__body{ color:var(--fm-ink-soft); max-width:62ch; margin:0 0 var(--fm-gutter); }
[data-design="a"] .fm-handnote{ font-family:var(--fm-font-hand); font-size:1.15rem; color:var(--fm-ink-soft); margin:0; }

[data-design="a"] .fm-feature{ position:relative; margin:0; background:var(--fm-leaf);
  padding:var(--fm-rule-gap); border:1px solid var(--fm-rule); box-shadow:var(--fm-lift-tipped); }
/* clipping frame for body-life parallax headroom (it sets --bl-py + scale on the img) */
[data-design="a"] .fm-feature{ overflow:hidden; }
[data-design="a"] .fm-feature__img{ display:block; width:100%; height:auto; aspect-ratio:4/3;
  object-fit:cover; }
[data-design="a"] .fm-feature__cap{ font-family:var(--fm-font-hand); font-size:1.05rem;
  color:var(--fm-ink); padding:var(--fm-gutter) var(--fm-rule-gap) var(--fm-rule-gap); }

/* ===================== KEY FACTS ===================== */
[data-design="a"] .fm-facts{ background:var(--fm-leaf); }
[data-design="a"] .fm-facts__title{ font-family:var(--fm-font-display); font-weight:500;
  font-size:clamp(1.6rem,3.5vw,2.2rem); color:var(--fm-ink); margin:0 0 var(--fm-folio); max-width:22ch; }
[data-design="a"] .fm-facts__grid{ display:grid; grid-template-columns:repeat(2,1fr);
  gap:var(--fm-rule-gap) var(--fm-folio); margin:0; }
[data-design="a"] .fm-fact{ display:grid; gap:4px; padding:var(--fm-gutter) 0;
  border-bottom:1px solid var(--fm-rule); }
[data-design="a"] .fm-fact dt{ font-family:var(--fm-font-mono); font-size:.78rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--fm-ink-soft); }
[data-design="a"] .fm-fact dd{ font-family:var(--fm-font-display); font-size:1.25rem; color:var(--fm-ink); margin:0; }

/* ===================== ELEMENT 6 — POINTER ===================== */
[data-design="a"] .fm-pointer{ display:grid; justify-items:center; gap:var(--fm-rule-gap);
  padding:var(--fm-folio) var(--fm-gutter) var(--fm-inset); cursor:pointer;
  text-decoration:none; color:inherit; }
[data-design="a"] .fm-pointer__rule{ width:2px; height:96px; }
[data-design="a"] .fm-pointer__line{ stroke-dasharray:96; stroke-dashoffset:96;
  transition:stroke-dashoffset 1.4s var(--fm-settle); }
[data-design="a"] .fm-pointer.is-in .fm-pointer__line{ stroke-dashoffset:0; }
[data-design="a"] .fm-pointer__seed{ width:32px; height:auto; }
[data-design="a"] .fm-pointer.is-in .fm-pointer__seed{ animation:fm-pointer-drift 6s ease-in-out infinite; }
[data-design="a"] .fm-pointer__label{ font-family:var(--fm-font-hand); font-size:1.05rem;
  color:var(--fm-ink-soft); opacity:0; transition:opacity .28s var(--fm-settle) .6s; }
[data-design="a"] .fm-pointer.is-in .fm-pointer__label{ opacity:1; }
@keyframes fm-pointer-drift{
  0%{ transform:translate3d(0,-4px,0) rotate(-6deg); }
  50%{ transform:translate3d(3px,4px,0) rotate(6deg); }
  100%{ transform:translate3d(0,-4px,0) rotate(-6deg); } }

/* ===================== ELEMENT 5 — STAYS SELECTOR ===================== */
[data-design="a"] .fm-stays{ background:var(--fm-leaf); }
[data-design="a"] .fm-stays__title{ font-family:var(--fm-font-display); font-weight:500;
  font-size:clamp(1.8rem,4vw,2.6rem); color:var(--fm-ink); margin:0 0 var(--fm-rule-gap); max-width:20ch; }
[data-design="a"] .fm-stays__lede{ color:var(--fm-ink-soft); max-width:60ch; margin:0 0 var(--fm-folio); }
[data-design="a"] .fm-stays__stage{ display:grid; grid-template-columns:.8fr 1.2fr;
  gap:clamp(24px,3.5vw,48px); align-items:start; }
[data-design="a"] .fm-stays__list{ display:grid; gap:var(--fm-rule-gap); align-content:start; }
[data-design="a"] .fm-stay{ appearance:none; text-align:left; cursor:pointer; background:var(--fm-paper);
  border:1px solid var(--fm-rule); border-radius:var(--fm-r-tag); padding:var(--fm-gutter) var(--fm-card);
  min-height:72px; display:grid; gap:4px; color:var(--fm-ink); width:100%;
  transition:border-color .28s var(--fm-settle), box-shadow .28s var(--fm-settle), transform .16s var(--fm-press); }
[data-design="a"] .fm-stay__type{ font-family:var(--fm-font-mono); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--fm-specimen); }
[data-design="a"] .fm-stay__name{ font-family:var(--fm-font-display); font-size:1.5rem; line-height:1.05; color:var(--fm-ink); }
[data-design="a"] .fm-stay__meta{ font-family:var(--fm-font-mono); font-size:.74rem; letter-spacing:.04em;
  text-transform:uppercase; color:var(--fm-ink-soft); }
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .fm-stay:hover{ border-color:var(--fm-ink-soft); transform:translateY(-1px); } }
[data-design="a"] .fm-stay:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--fm-specimen); }
[data-design="a"] .fm-stay[aria-selected="true"]{ border-color:var(--fm-specimen);
  box-shadow:0 0 0 1px var(--fm-specimen), var(--fm-lift-tipped); }

[data-design="a"] .fm-stays__panel{ background:var(--fm-paper); border:1px solid var(--fm-rule);
  border-radius:var(--fm-r-tag); overflow:hidden; box-shadow:var(--fm-lift-tipped);
  display:flex; flex-direction:column; }
[data-design="a"] .fm-stays__plate{ position:relative; margin:0; aspect-ratio:16/10; overflow:hidden;
  border-bottom:1px solid var(--fm-rule); }
[data-design="a"] .fm-stays__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .28s var(--fm-settle); }
[data-design="a"] .fm-stays__img.is-ready{ opacity:1; }
[data-design="a"] .fm-stays__tagno{ position:absolute; left:var(--fm-gutter); top:var(--fm-gutter); z-index:2;
  font-family:var(--fm-font-tag); font-variant:small-caps; letter-spacing:.12em; font-size:.78rem;
  color:var(--fm-specimen); background:var(--fm-leaf); border:1px solid var(--fm-rule);
  border-radius:var(--fm-r-tag); padding:3px 10px; }
[data-design="a"] .fm-stays__detail{ padding:var(--fm-card); display:grid; gap:var(--fm-rule-gap); }
[data-design="a"] .fm-stays__type{ font-family:var(--fm-font-mono); font-size:.74rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--fm-specimen); margin:0; }
[data-design="a"] .fm-stays__name{ font-family:var(--fm-font-display); font-size:clamp(1.6rem,3vw,2rem);
  line-height:1.05; color:var(--fm-ink); margin:0; }
[data-design="a"] .fm-stays__desc{ color:var(--fm-ink-soft); max-width:56ch; line-height:1.58; margin:0; }
[data-design="a"] .fm-stays__specs{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap;
  gap:var(--fm-rule-gap) var(--fm-card); }
[data-design="a"] .fm-stays__specs li{ font-family:var(--fm-font-mono); font-size:.8rem; color:var(--fm-ink);
  display:inline-flex; align-items:center; gap:7px; }
[data-design="a"] .fm-stays__specs li::before{ content:""; width:6px; height:6px; background:var(--fm-botanical);
  display:inline-block; transform:rotate(45deg); }
[data-design="a"] .fm-stays__book{ margin-top:var(--fm-rule-gap); justify-self:start; }
[data-design="a"] .fm-stays__hint{ font-family:var(--fm-font-mono); font-size:.74rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--fm-ink-soft); margin:var(--fm-folio) 0 0; text-align:center; }

/* ===================== GALLERY ===================== */
[data-design="a"] .fm-gallery__title{ font-family:var(--fm-font-display); font-weight:500;
  font-size:clamp(1.8rem,4.5vw,2.6rem); color:var(--fm-ink); margin:0 0 var(--fm-folio); max-width:22ch; }
[data-design="a"] .fm-gallery__seq{ list-style:none; margin:0; padding:0; display:grid; gap:var(--fm-plate-gap);
  max-width:62rem; margin-inline:auto; }
[data-design="a"] .fm-mount{ opacity:0; transform:translateY(22px) rotate(.5deg);
  transition:opacity .28s var(--fm-settle), transform .28s var(--fm-settle); }
[data-design="a"] .fm-mount.is-in{ opacity:1; transform:none; }
[data-design="a"] .fm-mount__fig{ margin:0; }
[data-design="a"] .fm-mount__open{ display:block; width:100%; padding:var(--fm-rule-gap);
  background:var(--fm-leaf); border:1px solid var(--fm-rule); cursor:zoom-in; box-shadow:var(--fm-lift-tipped); }
[data-design="a"] .fm-mount__img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
[data-design="a"] .fm-mount__open:focus-visible{ outline:none;
  box-shadow:0 0 0 3px color-mix(in oklab, var(--fm-specimen) 35%, transparent); }
[data-design="a"] .fm-mount__cap{ font-family:var(--fm-font-hand); font-size:1.05rem; line-height:1.55;
  color:var(--fm-ink); padding:var(--fm-gutter) var(--fm-rule-gap) 0; }
[data-design="a"] .fm-gallery__book{ margin-top:var(--fm-leaf-gap); }

/* ===================== ELEMENT 4 — FIELD-NOTES BAND ===================== */
[data-design="a"] .fm-grows{ position:relative; overflow:clip; }
[data-design="a"] .fm-grows__wash{ position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.45;
  background:radial-gradient(60% 70% at 78% 50%, color-mix(in oklab, var(--fm-botanical) 22%, transparent), transparent 72%);
  animation:fm-wash-bloom 20s ease-in-out infinite alternate; animation-play-state:paused; }
[data-design="a"] .fm-grows.is-in .fm-grows__wash{ animation-play-state:running; }
[data-design="a"] .fm-grows__layout{ position:relative; z-index:1; display:grid; grid-template-columns:1fr;
  gap:var(--fm-folio); align-items:center; }
/* no max-width here — the grid cell constrains the measure; a max-width + left
   grid placement reads as "stranded left" to the centering gate. */
[data-design="a"] .fm-grows__inner{ width:100%; }
[data-design="a"] .fm-grows__body,
[data-design="a"] .fm-grows__title{ max-width:60ch; }
[data-design="a"] .fm-grows__title{ font-family:var(--fm-font-display); font-weight:500;
  font-size:clamp(1.6rem,4vw,2.2rem); color:var(--fm-ink); margin:0 0 var(--fm-gutter); max-width:20ch; }
[data-design="a"] .fm-grows__body{ color:var(--fm-ink); line-height:1.6; margin:0; }
[data-design="a"] .fm-grows__species{ list-style:none; margin:var(--fm-card) 0 0; padding:0; display:grid;
  gap:var(--fm-rule-gap); font-family:var(--fm-font-hand); font-size:1.1rem; color:var(--fm-ink-soft); }
[data-design="a"] .fm-grows__sprig{ width:clamp(120px,26vw,200px); max-width:100%; height:auto; justify-self:center; }
[data-design="a"] .fm-grows__sprig path{ stroke-dasharray:420; stroke-dashoffset:420;
  transition:stroke-dashoffset 2s var(--fm-settle); }
[data-design="a"] .fm-grows__sprig .fm-sprig__bud{ opacity:0; transition:opacity .28s var(--fm-settle) .9s; }
[data-design="a"] .fm-grows.is-in .fm-grows__sprig path{ stroke-dashoffset:0; }
[data-design="a"] .fm-grows.is-in .fm-grows__sprig .fm-sprig__bud{ opacity:1; }
[data-design="a"] .fm-grows.is-in .fm-grows__sprig{ transform-origin:100px 312px;
  animation:fm-sprig-stir 16s ease-in-out 2s infinite; }
@keyframes fm-sprig-stir{ 0%,100%{ transform:rotate(-1.2deg); } 50%{ transform:rotate(1.4deg); } }
@keyframes fm-wash-bloom{ from{ opacity:.28; transform:scale(.96); } to{ opacity:.5; transform:scale(1.04); } }
@media (min-width:768px){ [data-design="a"] .fm-grows__layout{ grid-template-columns:1.4fr .6fr; } }

/* ===================== WHAT'S NEARBY ===================== */
[data-design="a"] .fm-nearby__title{ font-family:var(--fm-font-display); font-weight:500;
  font-size:clamp(1.6rem,3.5vw,2.2rem); color:var(--fm-ink); margin:0 0 var(--fm-folio); max-width:22ch; }
[data-design="a"] .fm-nearby__list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--fm-rule);
  max-width:60rem; }
[data-design="a"] .fm-near{ display:grid; grid-template-columns:120px 1fr; gap:var(--fm-card);
  align-items:baseline; padding:var(--fm-card) 0; border-bottom:1px solid var(--fm-rule);
  opacity:0; transform:translateY(16px); transition:opacity .28s var(--fm-settle), transform .28s var(--fm-settle); }
[data-design="a"] .fm-near.is-in{ opacity:1; transform:none; }
[data-design="a"] .fm-near__dist{ font-family:var(--fm-font-mono); font-size:.82rem; letter-spacing:.04em;
  text-transform:uppercase; color:var(--fm-specimen); }
[data-design="a"] .fm-near__body h3{ font-family:var(--fm-font-display); font-weight:500; font-size:1.4rem;
  line-height:1.12; color:var(--fm-ink); margin:0 0 4px; }
[data-design="a"] .fm-near__body p{ color:var(--fm-ink-soft); max-width:60ch; line-height:1.55; margin:0; }

/* ===================== THE HOST ===================== */
[data-design="a"] .fm-host__layout{ display:grid; grid-template-columns:auto 1fr; gap:clamp(24px,4vw,56px);
  align-items:center; opacity:0; transform:translateY(16px);
  transition:opacity .28s var(--fm-settle), transform .28s var(--fm-settle); }
[data-design="a"] .fm-host__layout.is-in{ opacity:1; transform:none; }
[data-design="a"] .fm-host__plate{ width:clamp(96px,12vw,150px); height:clamp(96px,12vw,150px);
  border:1px solid var(--fm-rule); background:var(--fm-leaf); display:grid; place-content:center;
  box-shadow:var(--fm-lift-tipped); }
[data-design="a"] .fm-host__plate span{ font-family:var(--fm-font-display); font-size:clamp(40px,6vw,68px);
  color:var(--fm-specimen); }
[data-design="a"] .fm-host__title{ font-family:var(--fm-font-display); font-weight:500;
  font-size:clamp(1.6rem,3.5vw,2.2rem); color:var(--fm-ink); margin:0 0 var(--fm-gutter); }
[data-design="a"] .fm-host__bio{ color:var(--fm-ink-soft); max-width:60ch; line-height:1.6; margin:0 0 var(--fm-rule-gap); }
[data-design="a"] .fm-host__sig{ font-family:var(--fm-font-mono); font-size:.8rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--fm-ink-soft); margin:0; }

/* ===================== CLOSING — BOOK ===================== */
[data-design="a"] .fm-book{ background:var(--fm-leaf); border-top:1px solid var(--fm-rule); text-align:center; }
[data-design="a"] .fm-book__inner{ display:grid; gap:var(--fm-card); justify-items:center;
  opacity:0; transform:translateY(16px); transition:opacity .28s var(--fm-settle), transform .28s var(--fm-settle); }
[data-design="a"] .fm-book__inner.is-in{ opacity:1; transform:none; }
[data-design="a"] .fm-book__inner .fm-eyebrow{ margin:0; }
[data-design="a"] .fm-book__title{ font-family:var(--fm-font-display); font-weight:500;
  font-size:clamp(1.9rem,4.5vw,2.8rem); line-height:1.06; color:var(--fm-ink); max-width:18ch; margin:0; }
[data-design="a"] .fm-book__lede{ color:var(--fm-ink-soft); max-width:46ch; line-height:1.6; margin:0; }
[data-design="a"] .fm-book__note{ font-family:var(--fm-font-mono); font-size:.78rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--fm-ink-soft); margin:0; }

/* ===================== FOOTER ===================== */
[data-design="a"] .fm-footer{ background:var(--fm-paper); border-top:1px solid var(--fm-rule);
  padding-block:var(--fm-leaf-gap); }
[data-design="a"] .fm-footer__inner{ display:flex; flex-wrap:wrap; gap:var(--fm-gutter) var(--fm-folio);
  align-items:center; justify-content:space-between; }
[data-design="a"] .fm-footer__name{ font-family:var(--fm-font-display); font-size:1.4rem; color:var(--fm-ink); }
[data-design="a"] .fm-footer__coords{ font-family:var(--fm-font-mono); font-size:.78rem; letter-spacing:.04em;
  color:var(--fm-ink-soft); }
[data-design="a"] .fm-footer__book{ font-family:var(--fm-font-tag); font-variant:small-caps; letter-spacing:.06em;
  font-size:.95rem; color:var(--fm-specimen); text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  border-bottom:1px solid transparent; transition:border-color .28s var(--fm-settle); }
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .fm-footer__book:hover{ border-bottom-color:var(--fm-specimen); } }
[data-design="a"] .fm-footer__book:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--fm-specimen); border-radius:var(--fm-r-tag); }

/* ===================== THE LOUPE (lightbox) ===================== */
[data-design="a"] .fm-loupe[hidden]{ display:none; }
[data-design="a"] .fm-loupe{ position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:var(--fm-inset); }
[data-design="a"] .fm-loupe__backdrop{ position:absolute; inset:0;
  background:color-mix(in oklab, var(--fm-ink) 72%, transparent); }
[data-design="a"] .fm-loupe__fig{ position:relative; margin:0; max-width:min(92vw,60rem); max-height:88vh;
  background:var(--fm-leaf); padding:var(--fm-gutter); border:1px solid var(--fm-rule); box-shadow:var(--fm-lift-loupe);
  transform:scale(.96); opacity:0; transition:transform .28s var(--fm-settle), opacity .28s var(--fm-settle); }
[data-design="a"] .fm-loupe[data-open="true"] .fm-loupe__fig{ transform:scale(1); opacity:1; }
[data-design="a"] .fm-loupe__img{ display:block; max-width:100%; max-height:72vh; object-fit:contain; }
[data-design="a"] .fm-loupe__cap{ font-family:var(--fm-font-hand); font-size:1.05rem; color:var(--fm-ink);
  padding-top:var(--fm-gutter); max-width:60ch; }
[data-design="a"] .fm-loupe__close{ position:absolute; top:-14px; right:-14px; width:44px; height:44px;
  border-radius:var(--fm-r-hole); border:1px solid var(--fm-rule); background:var(--fm-leaf);
  color:var(--fm-specimen); font-size:1.4rem; cursor:pointer; box-shadow:var(--fm-lift-tipped); }
[data-design="a"] .fm-loupe__close:focus-visible{ outline:none;
  box-shadow:0 0 0 3px color-mix(in oklab, var(--fm-specimen) 40%, transparent); }

/* ===================== RESPONSIVE ===================== */
@media (max-width:900px){
  [data-design="a"] .fm-story__grid{ grid-template-columns:1fr; }
  [data-design="a"] .fm-facts__grid{ grid-template-columns:1fr; }
  [data-design="a"] .fm-stays__stage{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  [data-design="a"] .fm-section{ padding-block:var(--fm-leaf-gap); }
  [data-design="a"] .fm-near{ grid-template-columns:1fr; gap:6px; }
  [data-design="a"] .fm-host__layout{ grid-template-columns:1fr; justify-items:start; }
  [data-design="a"] .fm-mount__img{ aspect-ratio:4/5; }
}

/* ===================== REDUCED MOTION ===================== */
@media (prefers-reduced-motion:reduce){
  [data-design="a"] .fm-header__wash{ animation:none; }
  [data-design="a"] .fm-header__rule{ animation:none; opacity:.7; transform:scaleX(1); }
  [data-design="a"] .fm-index__sheet,
  [data-design="a"] .fm-index__backdrop,
  [data-design="a"] .fm-burger__line{ transition:none; }
  [data-design="a"] .fm-seal__mark{ animation:none; }
  [data-design="a"] .fm-seal,
  [data-design="a"] .fm-seal__label::after{ transition:none; }
  [data-design="a"] .fm-pointer__line{ transition:none; stroke-dashoffset:0; }
  [data-design="a"] .fm-pointer.is-in .fm-pointer__seed{ animation:none; }
  [data-design="a"] .fm-pointer__label{ transition:none; opacity:1; }
  [data-design="a"] .fm-mount{ transition:none; opacity:1; transform:none; }
  [data-design="a"] .fm-near,
  [data-design="a"] .fm-host__layout,
  [data-design="a"] .fm-book__inner{ transition:none; opacity:1; transform:none; }
  [data-design="a"] .fm-grows__sprig path{ transition:none; stroke-dashoffset:0; }
  [data-design="a"] .fm-grows__sprig .fm-sprig__bud{ transition:none; opacity:1; }
  [data-design="a"] .fm-grows.is-in .fm-grows__sprig{ animation:none; }
  [data-design="a"] .fm-grows__wash{ animation:none; }
  [data-design="a"] .fm-stays__img{ transition:none; }
  [data-design="a"] .fm-loupe__fig{ transition:none; transform:none; opacity:1; }
}

/* ===================== MOBILE NO-H-SCROLL FLOOR (mandated tail) ===================== */
[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; }
