/* ═══════════════════════════════════════════════════════════
   Field Notes · design-a · The Garden Specialists LLC
   All selectors scoped under [data-design="a"].dq-design
   Keyframe prefix: fn-
   ═══════════════════════════════════════════════════════════ */

/* ── TOKEN ROOT ─────────────────────────────────────────── */
[data-design="a"] {
  --oat: #EFE9D9;
  --oat-deep: #E1D8C0;
  --ash: #2A2B2E;
  --ash-soft: #494A4E;
  --muted: #7B7565;
  --rule: #1B1C1F;
  --moss: #4A6233;
  --clay: #A86345;
  --signal-orange: #E2581F;
  --sky: #3F6080;
  --critical: #8A1E12;
  --font-display: "Söhne Schmal", "Druk Wide", "Helvetica Neue Condensed", Arial Narrow, sans-serif;
  --font-headline: "Söhne Breit", "GT America Extended", Arial, sans-serif;
  --font-body: "Tiempos Text", "Lyon Text", Georgia, serif;
  --font-hand: "Caveat", "Homemade Apple", cursive;
  --font-data: "Söhne Mono", "IBM Plex Mono", "Courier New", monospace;
  --space-quad: 4px;
  --space-em: 8px;
  --space-stride: 16px;
  --space-cairn: 24px;
  --space-bend: 48px;
  --space-mile: 88px;
  --space-trail: 144px;
  --dur-tick: 140ms;
  --dur-snap: 240ms;
  --dur-stride: 480ms;
  --dur-grain: 720ms;
  --dur-essay: 1400ms;
  --dur-ambient: 24000ms;
  --ease-stride: cubic-bezier(.22, 1, .36, 1);
  --ease-grain: cubic-bezier(.16, 1, .3, 1);
  --ease-pace: cubic-bezier(.45, .05, .55, .95);
  --ease-snap: cubic-bezier(.7, 0, .84, 0);
  --radius-zero: 0;
  --radius-bib: 2px;
  --radius-tag: 4px;
  --shadow-mat: 0 0 0 1px var(--rule);
  --shadow-card: 0 0 0 1px var(--rule), 0 1px 0 var(--oat-deep);
  --shadow-press: inset 0 2px 0 rgba(0,0,0,.08);
  --design-a-primary: var(--moss);
  background: var(--oat);
  color: var(--ash);
  font-family: var(--font-body);
  box-sizing: border-box;
}

[data-design="a"].dq-design *,
[data-design="a"].dq-design *::before,
[data-design="a"].dq-design *::after { box-sizing: border-box; }

/* Mobile no-scroll baseline */
[data-design="a"].dq-design { max-width: 100%; overflow-x: clip; }
[data-design="a"] .dq-design { max-width: 100%; overflow-x: clip; }
[data-design="a"].dq-design * { min-width: 0; }
[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; }
[data-design="a"] .dq-design img,
[data-design="a"] .dq-design svg:not([data-keep-size]) { max-width: 100%; height: auto; }


/* ── E1 · HEADER — Wind Band ────────────────────────────── */

[data-design="a"] .fn-header {
  position: sticky;
  top: 0;
  z-index: 60;
  isolation: isolate;
  background: var(--oat);
  border-bottom: 1px solid var(--rule);
  overflow: hidden;
}

[data-design="a"] .fn-header__weather {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* Wind wash: slow oat-deep drift — 31s ambient */
[data-design="a"] .fn-header__wash {
  position: absolute;
  inset: -40% -10%;
  background: radial-gradient(60% 120% at 20% 0%,
    color-mix(in oklab, var(--oat-deep), transparent 30%), transparent 70%);
  animation: fn-wind-wash 31s var(--ease-pace) infinite alternate;
}

/* Signal-orange hairline that drifts left→right on 24s */
[data-design="a"] .fn-header__hair {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  opacity: .7;
  background: linear-gradient(90deg, transparent, var(--signal-orange), transparent);
  background-size: 38% 100%;
  background-repeat: no-repeat;
  animation: fn-wind-hair 24s linear infinite;
}

@keyframes fn-wind-wash {
  from { transform: translate3d(-3%, 0, 0); }
  to   { transform: translate3d(4%, 0, 0); }
}
@keyframes fn-wind-hair {
  from { background-position: -40% 0; }
  to   { background-position: 140% 0; }
}

[data-design="a"] .fn-header__bar {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-cairn);
  max-width: 1280px;
  margin: 0 auto;
  padding: 18px clamp(16px, 5vw, 40px);
}

[data-design="a"] .fn-logo {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1;
  font-size: clamp(18px, 3.8vw, 28px);
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--ash);
  text-decoration: none;
}

[data-design="a"] .fn-burger {
  appearance: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--rule);
  background: transparent;
  border-radius: var(--radius-bib);
  cursor: pointer;
  display: grid;
  place-content: center;
  gap: 5px;
  transition: border-color var(--dur-snap) var(--ease-pace);
  flex-shrink: 0;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-burger:hover { border-color: var(--moss); }
}
[data-design="a"] .fn-burger:focus-visible {
  outline: 3px solid var(--moss);
  outline-offset: 3px;
}
[data-design="a"] .fn-burger__line {
  display: block;
  width: 20px;
  height: 1.5px;
  background: var(--ash);
  transition: transform var(--dur-snap) var(--ease-pace),
              opacity  var(--dur-snap) var(--ease-pace);
}
[data-design="a"] .fn-burger[aria-expanded="true"] .fn-burger__line:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
[data-design="a"] .fn-burger[aria-expanded="true"] .fn-burger__line:nth-child(2) {
  opacity: 0;
}
[data-design="a"] .fn-burger[aria-expanded="true"] .fn-burger__line:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Drawer */
[data-design="a"] .fn-drawer {
  position: fixed;
  inset: 0;
  z-index: 80;
}
[data-design="a"] .fn-drawer[hidden] { display: none; }

[data-design="a"] .fn-drawer__scrim {
  position: absolute;
  inset: 0;
  background: rgba(20, 17, 13, .5);
  opacity: 0;
  transition: opacity var(--dur-stride) var(--ease-stride);
}
[data-design="a"] .fn-drawer__sheet {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(86vw, 360px);
  background: var(--oat);
  border-left: 1px solid var(--rule);
  box-shadow: -1px 0 0 var(--oat-deep);
  padding: 88px clamp(20px, 6vw, 40px) 40px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transform: translateX(100%);
  transition: transform var(--dur-stride) var(--ease-stride);
}
[data-design="a"] .fn-drawer[data-open="true"] .fn-drawer__scrim { opacity: 1; }
[data-design="a"] .fn-drawer[data-open="true"] .fn-drawer__sheet  { transform: translateX(0); }

[data-design="a"] .fn-drawer__kicker {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--muted);
  margin: 0 0 6px;
}
[data-design="a"] .fn-drawer__sheet a,
[data-design="a"] .fn-drawer__link {
  font-family: var(--font-display);
  text-transform: uppercase;
  line-height: 1.1;
  font-size: clamp(26px, 7vw, 34px);
  font-weight: 700;
  letter-spacing: .01em;
  color: var(--ash);
  text-decoration: none;
  width: max-content;
  border-bottom: 1px solid transparent;
  transition: color var(--dur-snap) var(--ease-pace),
              border-color var(--dur-snap) var(--ease-pace);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-drawer__sheet a:hover { color: var(--moss); border-color: var(--signal-orange); }
}
[data-design="a"] .fn-drawer__phone {
  font-family: var(--font-data) !important;
  font-size: 16px !important;
  text-transform: none !important;
  color: var(--ash-soft) !important;
  margin-top: 12px;
}
[data-design="a"] .fn-drawer__sign {
  margin-top: auto;
  font-family: var(--font-hand);
  font-size: 24px;
  color: var(--clay);
}


/* ── E3 · HERO — Cover Photo / Ken-Burns Planted Row ────── */

/* RECOVERY FIX: hero section gets z-index:1 + isolation:isolate so the entire
   hero stacking context is anchored above normal-flow siblings and cannot be
   overlapped by any ambient/atmospheric layer from outside this section.
   The fn-hero__inner child escalates further to z-index:20 within this context. */
[data-design="a"] .fn-hero {
  position: relative;
  z-index: 1;           /* anchors entire hero context above sibling sections */
  isolation: isolate;   /* all child z-indexes are LOCAL — prevents external leak */
  overflow: hidden;
  background: var(--ash);
  min-height: clamp(420px, 72vh, 760px);
  display: flex;
  align-items: flex-end;
}

/* Real photo: Ken-Burns wind-drift — BACKDROP ONLY, z-index:0 — must stay BELOW
   fn-hero__inner (z-index:20). No stacking context promotion here. */
[data-design="a"] .fn-hero__photo {
  position: absolute;
  inset: -4% -6%;
  background-size: cover;
  background-position: center;
  background-color: var(--ash-soft);
  z-index: 0;           /* explicitly lowest — backdrop sits behind all text layers */
  will-change: transform;
  animation: fn-wind-drift 24s ease-in-out infinite alternate;
}
[data-design="a"] .fn-hero[data-inview="false"] .fn-hero__photo {
  animation-play-state: paused;
}

@keyframes fn-wind-drift {
  from { transform: translate3d(-5px, 0, 0) scale(1.04); }
  to   { transform: translate3d(5px, -2px, 0) scale(1.04); }
}

/* Grain / legibility gradient */
[data-design="a"] .fn-hero__grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top,
    rgba(20, 17, 13, .82),
    rgba(20, 17, 13, .14) 55%,
    transparent);
}

/* Planted-row mark overlay: 5 vertical stems + ground line
   Stems draw up via clip-path scaleY (NOT height) — motion gate clean */
[data-design="a"] .fn-hero__row-marks {
  position: absolute;
  bottom: 120px;
  left: clamp(16px, 5vw, 40px);
  z-index: 2;
  pointer-events: none;
  display: flex;
  align-items: flex-end;
  gap: clamp(8px, 2vw, 20px);
}
[data-design="a"] .fn-hero__row {
  display: block;
  width: 2px;
  border-radius: 1px;
  background: var(--moss);
  opacity: .55;
  transform-origin: bottom center;
  transform: scaleY(0);
  animation: fn-row-sprout 1.4s var(--ease-grain) forwards;
}
[data-design="a"] .fn-hero__row--1 { height: 24px; animation-delay: .2s; }
[data-design="a"] .fn-hero__row--2 { height: 32px; animation-delay: .38s; }
[data-design="a"] .fn-hero__row--3 { height: 44px; animation-delay: .56s; }
[data-design="a"] .fn-hero__row--4 { height: 32px; animation-delay: .74s; }
[data-design="a"] .fn-hero__row--5 { height: 24px; animation-delay: .92s; }

@keyframes fn-row-sprout {
  from { transform: scaleY(0); }
  to   { transform: scaleY(1); }
}

/* Hero inner content — RECOVERY FIX: z-index escalated above ALL backdrop/photo/ambient
   layers (photo=0, grain=1, row-marks=2). Uses z-index:20 + isolation:isolate to form
   its own stacking context, ensuring the headline is the topmost paint element at
   320, 768, AND 1440px. elementFromPoint at headline center MUST return the headline
   node, not the photo backdrop. */
[data-design="a"] .fn-hero__inner {
  position: relative;
  z-index: 20;          /* hero text above photo(0) + grain(1) + row-marks(2) at all vp */
  isolation: isolate;   /* own stacking context — prevents any ancestor from squashing */
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(24px, 6vw, 64px) clamp(16px, 5vw, 40px);
  color: var(--oat);
}

[data-design="a"] .fn-hero__kicker,
[data-design="a"] .fn-hero__coords {
  font-family: var(--font-data);
  font-size: 12px;
  letter-spacing: .14em;
  margin: 0;
  color: color-mix(in oklab, var(--oat), transparent 18%);
}
[data-design="a"] .fn-hero__coords { margin-top: 8px; }

[data-design="a"] .fn-hero__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(44px, 10vw, 112px);
  line-height: .95;
  letter-spacing: -.01em;
  margin: .12em 0 0;
  max-width: 16ch;
  text-wrap: balance;
}

[data-design="a"] .fn-hero__deck {
  font-family: var(--font-body);
  font-size: clamp(17px, 2.4vw, 20px);
  line-height: 1.55;
  max-width: 46ch;
  margin: 14px 0 0;
  color: color-mix(in oklab, var(--oat), transparent 8%);
}

[data-design="a"] .fn-hero__trust {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .1em;
  color: color-mix(in oklab, var(--oat), transparent 28%);
  margin: 10px 0 0;
}

[data-design="a"] .fn-hero__field-tag {
  position: relative;
  display: inline-block;
  margin-top: 18px;
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--oat);
  background: var(--signal-orange);
  padding: 5px 10px;
  border-radius: var(--radius-tag);
}
[data-design="a"] .fn-hero__field-tag::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 0 0 color-mix(in oklab, var(--signal-orange), transparent 30%);
  animation: fn-field-pulse 4.5s ease-out infinite;
}
@keyframes fn-field-pulse {
  0%      { box-shadow: 0 0 0 0   color-mix(in oklab, var(--signal-orange), transparent 30%); }
  70%,100%{ box-shadow: 0 0 0 12px color-mix(in oklab, var(--signal-orange), transparent 100%); }
}


/* ── E2 · CTA — Field button with breath + signal underline */

[data-design="a"] .fn-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-headline);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--oat);
  background: var(--ash);
  padding: 14px 28px;
  border-radius: var(--radius-bib);
  box-shadow: var(--shadow-card);
  animation: fn-cta-breath 5s var(--ease-pace) infinite;
  transition: background var(--dur-snap) var(--ease-pace),
              transform  var(--dur-tick) var(--ease-pace);
  will-change: transform;
  margin-top: 20px;
}
@keyframes fn-cta-breath {
  0%,100% { transform: translateY(0) scale(1); }
  50%     { transform: translateY(-1px) scale(1.012); }
}

[data-design="a"] .fn-cta__arrow {
  display: inline-flex;
  color: var(--oat);
  transform: translateX(0);
  transition: transform var(--dur-snap) var(--ease-stride);
}

/* Signal-orange underline: scaleX from 0 on hover (transform only — motion gate clean) */
[data-design="a"] .fn-cta__field {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 8px;
  height: 1px;
  background: var(--signal-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-snap) var(--ease-stride);
}

@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-cta:hover,
  [data-design="a"] .fn-cta:focus-visible {
    background: color-mix(in oklab, var(--ash), var(--sky) 12%);
    outline: none;
  }
  [data-design="a"] .fn-cta:hover .fn-cta__field,
  [data-design="a"] .fn-cta:focus-visible .fn-cta__field { transform: scaleX(1); }
  [data-design="a"] .fn-cta:hover .fn-cta__arrow,
  [data-design="a"] .fn-cta:focus-visible .fn-cta__arrow { transform: translateX(4px); }
}

[data-design="a"] .fn-cta:focus-visible {
  box-shadow: var(--shadow-card),
              0 0 0 3px color-mix(in oklab, var(--moss), transparent 50%);
}
[data-design="a"] .fn-cta:active {
  box-shadow: var(--shadow-press);
  transform: translateY(1px) scale(.997);
  animation: none;
}
[data-design="a"] .fn-cta:active .fn-cta__field { height: 2px; }

/* thanks span: display:none at rest — toggled by JS; NEVER opacity:0 */
[data-design="a"] .fn-cta__thanks {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  font-family: var(--font-hand);
  font-size: 22px;
  color: var(--clay);
  pointer-events: none;
  white-space: nowrap;
}
[data-design="a"] .fn-cta--work { margin-top: 0; }


/* ── E6 · POINTER — Planted-row SVG wayfinding ──────────── */

[data-design="a"] .fn-pointer {
  background: var(--oat);
  border-top: 1px solid color-mix(in oklab, var(--rule), transparent 60%);
  padding: clamp(24px, 4vw, 40px) clamp(16px, 5vw, 40px);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;           /* pointer MUST be opacity:1 — gate requirement */
  min-height: 88px;     /* bounding-box ≥ 8px guaranteed */
}

[data-design="a"] .fn-pointer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

[data-design="a"] .fn-pointer__row-svg {
  overflow: visible;
  max-width: 100%;
}

/* Each stem draws up via clip-path reveal (transform-based — gate clean) */
[data-design="a"] .fn-ptr-stem {
  clip-path: inset(100% 0 0 0);
  animation: fn-ptr-draw 0.9s var(--ease-grain) forwards;
}
[data-design="a"] .fn-ptr-stem--1 { animation-delay: 0.1s; }
[data-design="a"] .fn-ptr-stem--2 { animation-delay: 0.22s; }
[data-design="a"] .fn-ptr-stem--3 { animation-delay: 0.34s; }
[data-design="a"] .fn-ptr-stem--4 { animation-delay: 0.46s; }
[data-design="a"] .fn-ptr-stem--5 { animation-delay: 0.58s; }

@keyframes fn-ptr-draw {
  from { clip-path: inset(100% 0 0 0); }
  to   { clip-path: inset(0% 0 0 0); }
}

[data-design="a"] .fn-ptr-leaf {
  opacity: 0;
  transform: scale(0.92);
  animation: fn-ptr-leaf-in 0.5s var(--ease-stride) forwards;
}
[data-design="a"] .fn-ptr-leaf--1 { animation-delay: 0.9s; }
[data-design="a"] .fn-ptr-leaf--2 { animation-delay: 1.0s; }
[data-design="a"] .fn-ptr-leaf--3 { animation-delay: 1.1s; }
[data-design="a"] .fn-ptr-leaf--4 { animation-delay: 1.0s; }
[data-design="a"] .fn-ptr-leaf--5 { animation-delay: 0.9s; }

@keyframes fn-ptr-leaf-in {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 0.7; transform: scale(1); }
}

[data-design="a"] .fn-pointer__label {
  font-family: var(--font-hand);
  font-size: clamp(18px, 3.5vw, 26px);
  color: var(--clay);
  text-align: center;
  opacity: 1;
}


/* ── E5 · FUNNEL ─────────────────────────────────────────── */

[data-design="a"] #funnel {
  background: var(--oat-deep);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: clamp(64px, 9vw, 144px) clamp(16px, 5vw, 40px);
}

[data-design="a"] .fn-funnel__inner {
  max-width: 760px;
  margin: 0 auto;
}

[data-design="a"] .fn-funnel__kicker {
  font-family: var(--font-data);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--signal-orange);
  margin: 0 0 10px;
}

[data-design="a"] .fn-funnel__title {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.01em;
  font-size: clamp(34px, 7vw, 64px);
  color: var(--ash);
  margin: 0 0 32px;
}

/* Step visibility */
[data-design="a"] .fn-funnel__step[hidden] { display: none; }
[data-design="a"] .fn-funnel__step[data-active="false"] { display: none; }
[data-design="a"] .fn-funnel__step[data-active="true"]  { display: block; }

[data-design="a"] .fn-funnel__step-label {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--muted);
  margin: 0 0 8px;
}

[data-design="a"] .fn-funnel__step-q {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: clamp(20px, 4vw, 28px);
  color: var(--ash);
  margin: 0 0 20px;
}

/* Route options — large cards */
[data-design="a"] .fn-funnel__options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[data-design="a"] .fn-funnel__option {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  background: var(--oat);
  border: 1px solid var(--rule);
  border-radius: var(--radius-bib);
  cursor: pointer;
  text-align: left;
  box-shadow: var(--shadow-card);
  transition: border-color var(--dur-snap) var(--ease-pace),
              transform    var(--dur-tick) var(--ease-pace);
  min-height: 56px;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-funnel__option:hover {
    border-color: var(--moss);
    transform: translateY(-1px);
  }
}
[data-design="a"] .fn-funnel__option:active { transform: translateY(0); }
[data-design="a"] .fn-funnel__option:focus-visible {
  outline: 3px solid var(--moss);
  outline-offset: 2px;
}

[data-design="a"] .fn-option__icon {
  font-size: 24px;
  line-height: 1;
  flex-shrink: 0;
}
[data-design="a"] .fn-option__label {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: 17px;
  color: var(--ash);
  display: block;
  line-height: 1.2;
}
[data-design="a"] .fn-option__sub {
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--ash-soft);
  display: block;
  margin-top: 4px;
  line-height: 1.5;
}

/* Small route options */
[data-design="a"] .fn-funnel__options--sm {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
}
[data-design="a"] .fn-funnel__option--sm {
  flex: 1 1 clamp(120px, 40%, 200px);
  padding: 16px 20px;
  font-family: var(--font-headline);
  font-weight: 600;
  font-size: 15px;
  color: var(--ash);
  background: var(--oat);
  border: 1px solid var(--rule);
  border-radius: var(--radius-bib);
  cursor: pointer;
  text-align: center;
  box-shadow: var(--shadow-card);
  min-height: 56px;
  transition: border-color var(--dur-snap) var(--ease-pace),
              background   var(--dur-snap) var(--ease-pace),
              transform    var(--dur-tick) var(--ease-pace);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-funnel__option--sm:hover {
    border-color: var(--moss);
    transform: translateY(-1px);
  }
}
[data-design="a"] .fn-funnel__option--sm[data-selected="true"] {
  background: var(--moss);
  color: var(--oat);
  border-color: var(--moss);
}
[data-design="a"] .fn-funnel__option--sm:focus-visible {
  outline: 3px solid var(--moss);
  outline-offset: 2px;
}

/* Chip multi-select */
[data-design="a"] .fn-funnel__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
[data-design="a"] .fn-funnel__chip {
  font-family: var(--font-data);
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--ash);
  background: transparent;
  cursor: pointer;
  border: 1px solid var(--rule);
  border-radius: var(--radius-tag);
  padding: 10px 14px;
  min-height: 44px;
  transition: color var(--dur-snap) var(--ease-pace),
              border-color var(--dur-snap) var(--ease-pace),
              background   var(--dur-snap) var(--ease-pace);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-funnel__chip:hover { border-color: var(--moss); color: var(--moss); }
}
[data-design="a"] .fn-funnel__chip[aria-pressed="true"] {
  background: var(--moss);
  color: var(--oat);
  border-color: var(--moss);
}
[data-design="a"] .fn-funnel__chip:focus-visible {
  outline: 3px solid var(--moss);
  outline-offset: 2px;
}

/* Next / back buttons */
[data-design="a"] .fn-funnel__next {
  font-family: var(--font-headline);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--oat);
  background: var(--ash);
  border: 0;
  cursor: pointer;
  padding: 14px 28px;
  border-radius: var(--radius-bib);
  box-shadow: var(--shadow-card);
  min-height: 56px;
  transition: background var(--dur-snap) var(--ease-pace),
              transform  var(--dur-tick) var(--ease-pace);
  margin-top: 4px;
}
[data-design="a"] .fn-funnel__next:disabled {
  opacity: 1;
  background: color-mix(in oklab, var(--ash), transparent 55%);
  cursor: not-allowed;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-funnel__next:not(:disabled):hover { background: var(--moss); }
}
[data-design="a"] .fn-funnel__next:focus-visible {
  outline: 3px solid var(--moss);
  outline-offset: 3px;
}

[data-design="a"] .fn-funnel__back {
  font-family: var(--font-data);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--muted);
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 8px 0;
  margin-bottom: 14px;
  min-height: 44px;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-funnel__back:hover { color: var(--ash); }
}

/* Form fields */
[data-design="a"] .fn-funnel__form { margin-top: 8px; }
[data-design="a"] .fn-form__field { margin-bottom: 20px; }

[data-design="a"] .fn-form__label {
  display: block;
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}

[data-design="a"] .fn-form__input {
  width: 100%;
  font-family: var(--font-body);
  font-size: 17px;
  color: var(--ash);
  background: transparent;
  border: 0;
  border-bottom: 1.5px solid var(--ash);
  border-radius: 0;
  padding: 8px 2px;
  transition: border-color var(--dur-snap) var(--ease-pace);
  min-height: 44px;
}
[data-design="a"] .fn-form__input::placeholder { color: var(--muted); font-style: italic; }
[data-design="a"] .fn-form__input:focus {
  outline: none;
  border-bottom-color: var(--moss);
}
[data-design="a"] .fn-form__textarea {
  resize: vertical;
  min-height: 80px;
}

[data-design="a"] .fn-funnel__submit {
  font-family: var(--font-headline);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--oat);
  background: var(--moss);
  border: 0;
  cursor: pointer;
  padding: 16px 32px;
  border-radius: var(--radius-bib);
  box-shadow: var(--shadow-card);
  min-height: 56px;
  width: 100%;
  margin-top: 8px;
  transition: background var(--dur-snap) var(--ease-pace),
              transform  var(--dur-tick) var(--ease-pace);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-funnel__submit:hover { background: var(--ash); }
}
[data-design="a"] .fn-funnel__submit:active { transform: translateY(1px); }
[data-design="a"] .fn-funnel__submit:focus-visible {
  outline: 3px solid var(--moss);
  outline-offset: 3px;
}

/* Confirmation */
[data-design="a"] .fn-funnel__confirm[hidden] { display: none; }
[data-design="a"] .fn-confirm__hand {
  font-family: var(--font-hand);
  font-size: 36px;
  color: var(--clay);
  margin: 0 0 12px;
}
[data-design="a"] .fn-confirm__body {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--ash-soft);
  max-width: 52ch;
  margin: 0 0 10px;
}
[data-design="a"] .fn-confirm__phone {
  font-family: var(--font-data);
  font-size: 14px;
  color: var(--muted);
}
[data-design="a"] .fn-confirm__phone a {
  color: var(--moss);
  text-decoration: none;
}

/* Funnel trust block */
[data-design="a"] .fn-funnel__trust {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid color-mix(in oklab, var(--rule), transparent 60%);
}
[data-design="a"] .fn-funnel__trust-line {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--muted);
  margin: 0 0 4px;
  line-height: 1.6;
}


/* ── PORTFOLIO — Our Work ────────────────────────────────── */

[data-design="a"] .fn-work {
  background: var(--oat);
  padding: clamp(64px, 9vw, 144px) clamp(16px, 5vw, 40px);
}
[data-design="a"] .fn-work__inner { max-width: 1280px; margin: 0 auto; }

[data-design="a"] .fn-work__kicker {
  font-family: var(--font-data);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--signal-orange);
  margin: 0 0 10px;
}

[data-design="a"] .fn-work__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(34px, 7vw, 72px);
  line-height: 1.04;
  letter-spacing: -.01em;
  color: var(--ash);
  margin: 0 0 12px;
}

[data-design="a"] .fn-work__lede {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: var(--ash-soft);
  max-width: 62ch;
  margin: 0 0 48px;
}

[data-design="a"] .fn-work__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 460px), 1fr));
  gap: 32px;
}

/* Plate — photo card */
[data-design="a"] .fn-plate {
  border: 1px solid var(--rule);
  border-radius: var(--radius-bib);
  overflow: hidden;
  background: var(--oat-deep);
  box-shadow: var(--shadow-card);
}

[data-design="a"] .fn-plate__photo {
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;
  background-color: var(--ash-soft);
  animation: fn-wind-drift 24s ease-in-out infinite alternate;
}

[data-design="a"] .fn-plate__body {
  padding: 20px 24px 24px;
}

[data-design="a"] .fn-plate__coords {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--muted);
  margin: 0 0 8px;
}

[data-design="a"] .fn-plate__title {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: 19px;
  color: var(--ash);
  margin: 0 0 8px;
  line-height: 1.2;
}

[data-design="a"] .fn-plate__caption {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--ash-soft);
  margin: 0 0 12px;
}

[data-design="a"] .fn-plate__tag {
  display: inline-block;
  font-family: var(--font-data);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: var(--radius-tag);
}
[data-design="a"] .fn-plate__tag--field {
  background: var(--signal-orange);
  color: var(--oat);
}
[data-design="a"] .fn-plate__tag--season {
  background: var(--moss);
  color: var(--oat);
}
[data-design="a"] .fn-plate__tag--past {
  background: var(--ash-soft);
  color: var(--oat);
}

[data-design="a"] .fn-work__cta-row {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}


/* ── E4 · DAY ARC — Process section ─────────────────────── */

[data-design="a"] .fn-arc {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--oat-deep);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: clamp(64px, 9vw, 144px) clamp(16px, 5vw, 40px);
}

[data-design="a"] .fn-arc__sky {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

[data-design="a"] .fn-arc__horizon {
  position: absolute;
  left: 0;
  right: 0;
  top: 38%;
  height: 1.5px;
  opacity: .5;
  background: linear-gradient(90deg,
    transparent, var(--rule) 12%, var(--rule) 88%, transparent);
}

[data-design="a"] .fn-arc__sun {
  position: absolute;
  top: 38%;
  left: 0;
  width: clamp(120px, 22vw, 260px);
  height: clamp(120px, 22vw, 260px);
  margin: calc(-1 * clamp(60px, 11vw, 130px)) 0 0 calc(-1 * clamp(60px, 11vw, 130px));
  border-radius: 50%;
  will-change: transform, opacity;
  background: radial-gradient(circle,
    color-mix(in oklab, var(--clay), transparent 55%),
    color-mix(in oklab, var(--clay), transparent 82%) 45%,
    transparent 70%);
  animation: fn-day-arc 31s var(--ease-pace) infinite alternate;
}
[data-design="a"] .fn-arc[data-inview="false"] .fn-arc__sun {
  animation-play-state: paused;
}

@keyframes fn-day-arc {
  0%   { transform: translate(4vw, 30px)  scale(.85); opacity: .25; }
  50%  { transform: translate(48vw, -46px) scale(1);  opacity: .6; }
  100% { transform: translate(92vw, 26px)  scale(.85); opacity: .28; }
}

[data-design="a"] .fn-arc__inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
}

[data-design="a"] .fn-arc__kicker {
  font-family: var(--font-data);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 12px;
}

[data-design="a"] .fn-arc__title {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.01em;
  font-size: clamp(30px, 6vw, 64px);
  color: var(--ash);
  margin: 0 0 40px;
  max-width: 20ch;
}

[data-design="a"] .fn-arc__body {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--ash-soft);
}

[data-design="a"] .fn-process__steps {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap: 32px;
}

[data-design="a"] .fn-process__step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

[data-design="a"] .fn-process__num {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--signal-orange);
  flex-shrink: 0;
  margin-top: 3px;
}

[data-design="a"] .fn-process__name {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: 16px;
  color: var(--ash);
  display: block;
  margin-bottom: 6px;
}

[data-design="a"] .fn-process__desc {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--ash-soft);
  margin: 0;
}


/* ── SERVICES ────────────────────────────────────────────── */

[data-design="a"] .fn-services {
  background: var(--oat);
  padding: clamp(64px, 9vw, 144px) clamp(16px, 5vw, 40px);
}
[data-design="a"] .fn-services__inner { max-width: 1280px; margin: 0 auto; }

[data-design="a"] .fn-services__kicker {
  font-family: var(--font-data);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 10px;
}

[data-design="a"] .fn-services__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(32px, 6vw, 64px);
  line-height: 1.04;
  color: var(--ash);
  margin: 0 0 12px;
}

[data-design="a"] .fn-services__lede {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: var(--ash-soft);
  max-width: 58ch;
  margin: 0 0 48px;
}

[data-design="a"] .fn-services__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 32px;
}

[data-design="a"] .fn-svc-group {
  border-top: 2px solid var(--moss);
  padding-top: 16px;
}

[data-design="a"] .fn-svc-group__head {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ash);
  margin: 0 0 16px;
}

[data-design="a"] .fn-svc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
[data-design="a"] .fn-svc-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--rule), transparent 70%);
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--ash);
  line-height: 1.4;
}
[data-design="a"] .fn-svc__name { flex: 1 1 auto; }
[data-design="a"] .fn-svc__rate {
  font-family: var(--font-data);
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
}

[data-design="a"] .fn-svc-list--plain {
  list-style: none;
  padding: 0;
  margin: 0;
}
[data-design="a"] .fn-svc-list--plain li {
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--ash-soft);
  padding: 6px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--rule), transparent 70%);
  line-height: 1.4;
}

[data-design="a"] .fn-svc__note {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 13px;
  color: var(--muted);
  margin: 12px 0 0;
  line-height: 1.55;
}


/* ── ABOUT ───────────────────────────────────────────────── */

[data-design="a"] .fn-about {
  background: var(--oat-deep);
  border-top: 1px solid var(--rule);
  padding: clamp(64px, 9vw, 144px) clamp(16px, 5vw, 40px);
}
[data-design="a"] .fn-about__inner { max-width: 1280px; margin: 0 auto; }

[data-design="a"] .fn-about__kicker {
  font-family: var(--font-data);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 10px;
}

[data-design="a"] .fn-about__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(32px, 6vw, 64px);
  line-height: 1.04;
  color: var(--ash);
  margin: 0 0 40px;
}

[data-design="a"] .fn-about__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

[data-design="a"] .fn-about__essay p,
[data-design="a"] .fn-about__essay {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--ash-soft);
  max-width: 62ch;
}
[data-design="a"] .fn-about__essay p { margin: 0 0 16px; }
[data-design="a"] .fn-about__essay strong { color: var(--ash); font-weight: 600; }

[data-design="a"] .fn-about__quote {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 19px;
  line-height: 1.6;
  color: var(--ash);
  border-left: 3px solid var(--moss);
  padding-left: 20px;
  margin: 20px 0;
}

[data-design="a"] .fn-spec-sheet {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 20px;
  font-family: var(--font-data);
  font-size: 12px;
  border-top: 1px solid var(--rule);
  padding-top: 12px;
}
[data-design="a"] .fn-spec-sheet dt {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--rule), transparent 70%);
  white-space: nowrap;
}
[data-design="a"] .fn-spec-sheet dd {
  color: var(--ash);
  margin: 0;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--rule), transparent 70%);
  line-height: 1.5;
}
[data-design="a"] .fn-about__crew-note {
  font-family: var(--font-hand);
  font-size: 20px;
  color: var(--clay);
  margin-top: 20px;
}


/* ── FOOTER ──────────────────────────────────────────────── */

[data-design="a"] .fn-footer {
  background: var(--ash);
  border-top: 1px solid var(--rule);
  padding: clamp(48px, 7vw, 96px) clamp(16px, 5vw, 40px);
  color: var(--oat);
}

[data-design="a"] .fn-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 48px;
}

[data-design="a"] .fn-footer__name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(20px, 3.5vw, 28px);
  text-transform: uppercase;
  letter-spacing: .01em;
  margin: 0 0 6px;
  color: var(--oat);
}
[data-design="a"] .fn-footer__tagline {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .1em;
  color: color-mix(in oklab, var(--oat), transparent 35%);
  margin: 0;
}

[data-design="a"] .fn-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
[data-design="a"] .fn-footer__phone,
[data-design="a"] .fn-footer__email,
[data-design="a"] .fn-footer__social {
  font-family: var(--font-data);
  font-size: 13px;
  letter-spacing: .06em;
  color: color-mix(in oklab, var(--oat), transparent 20%);
  text-decoration: none;
  display: inline-block;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .fn-footer__phone:hover,
  [data-design="a"] .fn-footer__email:hover,
  [data-design="a"] .fn-footer__social:hover { color: var(--signal-orange); }
}

[data-design="a"] .fn-footer__legal {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  border-top: 1px solid color-mix(in oklab, var(--oat), transparent 70%);
  padding-top: 20px;
}
[data-design="a"] .fn-footer__legal p {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: .08em;
  color: color-mix(in oklab, var(--oat), transparent 45%);
  margin: 0;
}

[data-design="a"] .fn-footer__sign {
  grid-column: 1 / -1;
  font-family: var(--font-hand);
  font-size: 22px;
  color: var(--clay);
  margin: 0;
}


/* ── SCROLL-DRIVEN PARALLAX (TRIAD-2) ────────────────────── */
/* Genuine scroll-linked motion on the hero → funnel transition:
   plates and process steps translate on scroll via IntersectionObserver
   with translateY reveal — supplemented by scroll-timeline where supported. */

[data-design="a"] .fn-plate {
  opacity: 1;
  transform: translateY(0);
  transition: transform var(--dur-essay) var(--ease-grain),
              opacity   var(--dur-essay) var(--ease-grain);
}
[data-design="a"] .fn-plate[data-scroll="pending"] {
  transform: translateY(32px);
  opacity: 1;
}
[data-design="a"] .fn-plate[data-scroll="visible"] {
  transform: translateY(0);
  opacity: 1;
}

[data-design="a"] .fn-process__step {
  opacity: 1;
  transform: translateY(0);
  transition: transform var(--dur-essay) var(--ease-grain),
              opacity   var(--dur-essay) var(--ease-grain);
}
[data-design="a"] .fn-process__step[data-scroll="pending"] {
  transform: translateY(24px);
  opacity: 1;
}
[data-design="a"] .fn-process__step[data-scroll="visible"] {
  transform: translateY(0);
  opacity: 1;
}


/* ── RESPONSIVE ─────────────────────────────────────────── */

@media (max-width: 1024px) {
  [data-design="a"] .fn-about__cols { grid-template-columns: 1fr; }
  [data-design="a"] .fn-footer__inner { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  [data-design="a"] .fn-header__bar { padding: 16px clamp(16px, 5vw, 40px); }
  [data-design="a"] .fn-hero { min-height: clamp(380px, 56vh, 560px); }
  [data-design="a"] .fn-hero__coords { line-height: 1.6; }
  [data-design="a"] .fn-work__grid { grid-template-columns: 1fr; }
  [data-design="a"] .fn-arc .fn-arc__horizon,
  [data-design="a"] .fn-arc .fn-arc__sun { top: 30%; }
}

@media (max-width: 560px) {
  [data-design="a"] .fn-funnel__options--sm { flex-direction: column; }
  [data-design="a"] .fn-funnel__option--sm  { flex: 1 1 100%; }
  [data-design="a"] .fn-services__grid { grid-template-columns: 1fr; }
  [data-design="a"] .fn-process__steps { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  [data-design="a"] .fn-header__bar { padding: 14px 16px; }
  [data-design="a"] .fn-logo { font-size: 16px; }
  [data-design="a"] .fn-hero { min-height: 46vh; }
  [data-design="a"] .fn-hero__title { font-size: clamp(36px, 14vw, 56px); }
  [data-design="a"] .fn-cta { width: 100%; justify-content: center; font-size: 15px; }
  [data-design="a"] .fn-pointer__row-svg { max-width: 280px; }
}

@media (max-width: 320px) {
  [data-design="a"] .fn-drawer__sheet { width: 100vw; }
  [data-design="a"] .fn-hero__deck { font-size: 16px; }
  [data-design="a"] .fn-arc__title { font-size: clamp(26px, 9vw, 36px); }
}


/* ── REDUCED MOTION ─────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .fn-header__wash,
  [data-design="a"] .fn-header__hair { animation: none; }
  [data-design="a"] .fn-drawer__scrim,
  [data-design="a"] .fn-drawer__sheet { transition: none; }
  [data-design="a"] .fn-hero__photo {
    animation: none;
    transform: scale(1.04);
  }
  [data-design="a"] .fn-hero__row { animation: none; transform: scaleY(1); }
  [data-design="a"] .fn-hero__field-tag::after { animation: none; }
  [data-design="a"] .fn-cta { animation: none; }
  [data-design="a"] .fn-cta__field,
  [data-design="a"] .fn-cta__arrow { transition: none; }
  [data-design="a"] .fn-ptr-stem {
    animation: none;
    clip-path: inset(0% 0 0 0);
  }
  [data-design="a"] .fn-ptr-leaf {
    animation: none;
    opacity: .7;
    transform: scale(1);
  }
  [data-design="a"] .fn-arc__sun {
    animation: none;
    transform: translate(48vw, -46px) scale(1);
    opacity: .5;
  }
  [data-design="a"] .fn-plate__photo { animation: none; }
  [data-design="a"] .fn-plate[data-scroll="pending"],
  [data-design="a"] .fn-process__step[data-scroll="pending"] {
    transform: translateY(0);
  }
  [data-design="a"] .fn-plate,
  [data-design="a"] .fn-process__step { transition: none; }
}

/* 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; }
