/* ================================================================
   Newton Construction — North Las Vegas, NV — Design A
   Base design: KRONE (Helmut-Krone editorial; paper-cream, ink-warm-
   black, ONE vermillion mark per moment). REMAPPED to slot "a":
   every selector scopes to [data-design="a"]. ZERO krone-scoped
   selectors remain. Class/keyframe names keep krone-/rf- vocabulary
   (the SLOT is "a"). Trade: construction. Photo substrate: low —
   blueprint line-work + typography carry the visual weight.
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,500;1,400&family=Inter:wght@400;500&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ---- Token system (krone, verbatim) + --design-a-primary ---- */
[data-design="a"] {
  --design-a-primary: #C8341F;

  --krone-paper:           #FAF7F0;
  --krone-ink:             #1A1815;
  --krone-ink-2:           #3A352E;
  --krone-muted:           #6E665B;
  --krone-rule-c:          rgba(26, 24, 21, 0.12);
  --krone-vermillion:      #C8341F;
  --krone-vermillion-on:   #FAF7F0;
  --krone-stone:           #EAE5DA;
  --krone-critical:        #A02418;
  --krone-success:         #3B5F2E;
  --krone-blueprint:       #2A3340;

  --krone-display: 'Spectral', 'GT Sectra', 'Iowan Old Style', Charter, Georgia, serif;
  --krone-body:    'Spectral', 'Tiempos Text', 'Iowan Old Style', Charter, Georgia, serif;
  --krone-spec:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --krone-mono:    'IBM Plex Mono', ui-monospace, Menlo, monospace;

  --krone-tick: 4px;
  --krone-em: 8px;
  --krone-cap: 16px;
  --krone-leading: 24px;
  --krone-rule: 40px;
  --krone-spread: 80px;
  --krone-gutter: 128px;
  --krone-overture: 200px;

  --krone-cut: 120ms;
  --krone-settle: 280ms;
  --krone-register: 600ms;
  --krone-unfurl: 1200ms;
  --krone-tide: 22s;
  --krone-drift: 18s;

  --krone-ease-cut:    cubic-bezier(0.85, 0, 0.15, 1);
  --krone-ease-settle: cubic-bezier(0.2, 0.8, 0.2, 1);
  --krone-ease-tide:   cubic-bezier(0.45, 0, 0.55, 1);

  --krone-radius-none: 0px;
  --krone-radius-stamp: 2px;
  --krone-radius-disc: 9999px;

  --krone-elev-frame:    0 0 0 1px var(--krone-ink);
  --krone-elev-frame-2:  0 0 0 2px var(--krone-ink);
  --krone-elev-vermillion: 0 0 0 2px var(--krone-vermillion);
}

/* ---- Base article ---- */
[data-design="a"].dq-design,
[data-design="a"] {
  background: var(--krone-paper);
  color: var(--krone-ink);
  font-family: var(--krone-body);
  font-size: 18px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
[data-design="a"] *,
[data-design="a"] *::before,
[data-design="a"] *::after { box-sizing: border-box; }
[data-design="a"] h1,
[data-design="a"] h2,
[data-design="a"] h3 { margin: 0; }
[data-design="a"] p { margin: 0; }
[data-design="a"] a { color: inherit; }
[data-design="a"] svg:not([data-keep-size]) { display: block; }

[data-design="a"] .rf-roster__kicker,
[data-design="a"] .rf-hero__eyebrow,
[data-design="a"] .rf-funnel__kicker,
[data-design="a"] .rf-credential__eyebrow {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted); margin: 0;
}

/* ================================================================
   ELEMENT 1 — Animated minimalist header (krone tide)
   ================================================================ */
[data-design="a"] .rf-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--krone-paper);
  border-bottom: 1px solid var(--krone-ink);
}
[data-design="a"] .rf-header__bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--krone-cap);
  padding: 22px clamp(20px, 4vw, 64px);
  position: relative; z-index: 2;
  max-width: 1440px; margin-inline: auto;
}
[data-design="a"] .rf-logo { text-decoration: none; color: var(--krone-ink); }
[data-design="a"] .rf-logo__mark {
  font-family: var(--krone-display); font-size: clamp(20px, 2vw, 26px);
  letter-spacing: -0.01em; font-weight: 500;
}
[data-design="a"] .rf-burger {
  background: transparent; border: 1px solid var(--krone-ink);
  width: 44px; height: 44px; padding: 0; cursor: pointer;
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
[data-design="a"] .rf-burger:focus-visible { outline: none; box-shadow: var(--krone-elev-vermillion); }
[data-design="a"] .rf-burger__line {
  display: block; width: 20px; height: 1.5px; background: var(--krone-ink);
  transition: transform var(--krone-settle) var(--krone-ease-settle);
}
[data-design="a"] .rf-burger[aria-expanded="true"] .rf-burger__line:nth-child(1) { transform: translateY(3.25px) rotate(45deg); }
[data-design="a"] .rf-burger[aria-expanded="true"] .rf-burger__line:nth-child(2) { transform: translateY(-3.25px) rotate(-45deg); }
[data-design="a"] .rf-tide {
  position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  pointer-events: none; overflow: hidden; z-index: 1;
}
[data-design="a"] .rf-tide__rule {
  display: block; height: 100%; background: var(--krone-vermillion);
  transform-origin: left center;
  animation: krone-tide var(--krone-tide) cubic-bezier(0.45, 0, 0.55, 1) infinite;
}
@keyframes krone-tide {
  0%   { transform: scaleX(0); transform-origin: left center; }
  45%  { transform: scaleX(1); transform-origin: left center; }
  50%  { transform: scaleX(1); transform-origin: right center; }
  95%  { transform: scaleX(0); transform-origin: right center; }
  100% { transform: scaleX(0); transform-origin: right center; }
}
[data-design="a"] .rf-drawer {
  position: fixed; inset: 0; background: var(--krone-paper);
  z-index: 100; padding: 96px clamp(24px, 6vw, 96px);
  display: flex; flex-direction: column; justify-content: space-between;
  animation: krone-drawer-wipe var(--krone-register) var(--krone-ease-cut) both;
}
[data-design="a"] .rf-drawer[hidden] { display: none; }
@keyframes krone-drawer-wipe {
  0%   { clip-path: inset(0 100% 0 0); }
  100% { clip-path: inset(0 0 0 0); }
}
[data-design="a"] .rf-drawer__nav { display: flex; flex-direction: column; gap: var(--krone-leading); }
[data-design="a"] .rf-drawer__nav a {
  font-family: var(--krone-display); font-size: clamp(40px, 7vw, 84px);
  color: var(--krone-ink); text-decoration: none;
  line-height: 1.02; letter-spacing: -0.015em;
  position: relative; display: inline-block; width: max-content; max-width: 100%;
}
[data-design="a"] .rf-drawer__nav a::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: 4px;
  height: 3px; background: var(--krone-vermillion);
  transition: right var(--krone-register) var(--krone-ease-settle);
}
[data-design="a"] .rf-drawer__nav a:hover::after,
[data-design="a"] .rf-drawer__nav a:focus-visible::after { right: 0; }
[data-design="a"] .rf-drawer__foot { display: flex; flex-direction: column; gap: var(--krone-cap); }
[data-design="a"] .rf-drawer__phone { text-decoration: none; display: inline-flex; flex-direction: column; gap: 4px; width: max-content; }
[data-design="a"] .rf-drawer__phone-eyebrow {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted);
}
[data-design="a"] .rf-drawer__phone-num {
  font-family: var(--krone-display); font-size: clamp(28px, 4vw, 40px); color: var(--krone-ink);
}
[data-design="a"] .rf-drawer__meta {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted);
}

/* ================================================================
   HERO — 3 text + blueprint backdrop (Element 3) + CTA + chip
   ================================================================ */
[data-design="a"] .rf-hero {
  position: relative; overflow: hidden;
  background: var(--krone-paper);
  border-bottom: 1px solid var(--krone-ink);
  min-height: clamp(560px, 78vh, 820px);
  display: flex; align-items: center;
}
[data-design="a"] .rf-hero__backdrop { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
[data-design="a"] .rf-hero__field {
  position: absolute; inset: 0;
  background:
    radial-gradient(120% 90% at 78% 18%, rgba(42, 51, 64, 0.12), transparent 60%),
    linear-gradient(180deg, var(--krone-stone) 0%, var(--krone-paper) 70%);
  animation: krone-field 14s ease-in-out infinite;
}
@keyframes krone-field {
  0%, 100% { opacity: 0.85; }
  50%      { opacity: 1; }
}
[data-design="a"] .rf-hero__plate {
  position: absolute; top: 0; right: 0; width: clamp(560px, 62vw, 1100px); height: 100%;
  opacity: 0.92;
}
[data-design="a"] .rf-hero__grid-stroke { stroke: rgba(42, 51, 64, 0.16); }
[data-design="a"] .rf-hero__grid-fill { opacity: 0.7; }
[data-design="a"] .rf-bp {
  fill: none; stroke: var(--krone-blueprint); stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 1400; stroke-dashoffset: 1400;
  animation: krone-draw 1.9s var(--krone-ease-cut) 0.15s forwards;
}
[data-design="a"] .rf-bp--body { animation-delay: 0.35s; }
[data-design="a"] .rf-bp--base { animation-delay: 0.5s; }
[data-design="a"] .rf-bp--door,
[data-design="a"] .rf-bp--win,
[data-design="a"] .rf-bp--chimney { stroke-width: 1.6; animation-delay: 0.7s; }
@keyframes krone-draw { to { stroke-dashoffset: 0; } }
[data-design="a"] .rf-dim {
  fill: none; stroke: var(--krone-vermillion); stroke-width: 1.2;
  stroke-dasharray: 900; stroke-dashoffset: 900;
  animation: krone-draw 1.4s var(--krone-ease-cut) 1.1s forwards;
}
[data-design="a"] .rf-dim-tick { stroke: var(--krone-vermillion); stroke-width: 1.2; opacity: 0; animation: krone-fade 0.6s ease 1.9s forwards; }
[data-design="a"] .rf-dim-cross { stroke: var(--krone-vermillion); stroke-width: 1.2; opacity: 0; animation: krone-fade 0.6s ease 2.1s forwards; }
@keyframes krone-fade { to { opacity: 0.85; } }
[data-design="a"] .rf-dim-label {
  font-family: var(--krone-mono); font-size: 13px; letter-spacing: 0.14em;
  fill: var(--krone-muted); text-anchor: middle;
  opacity: 0; animation: krone-fade 0.6s ease 2.1s forwards;
}
[data-design="a"] .rf-dim-label--v { transform: rotate(90deg); transform-origin: 944px 392px; }
/* Sustained ambient motion — the vermillion drafting-scan band sweep.
   ONE moving layer. Wide translucent band + crisp leading rule traverse
   the visible right plate continuously (~6.5s), perceptible at rest. */
[data-design="a"] .rf-hero__scan { will-change: transform; animation: krone-scan 6.5s cubic-bezier(0.45, 0, 0.55, 1) 2.2s infinite; }
[data-design="a"] .rf-scan-line { stroke: var(--krone-vermillion); stroke-width: 2.5; opacity: 0.7; }
[data-design="a"] .rf-scan-dot { fill: var(--krone-vermillion); opacity: 0.95; }
@keyframes krone-scan {
  0%   { transform: translateX(40px); }
  50%  { transform: translateX(900px); }
  100% { transform: translateX(40px); }
}
/* Wash keeps the headline legible at left, but stays light over the right
   plate so the moving blueprint + scan band read as visible structure. */
[data-design="a"] .rf-hero__wash {
  position: absolute; inset: 0;
  background: linear-gradient(95deg, var(--krone-paper) 16%, rgba(250, 247, 240, 0.74) 40%, rgba(250, 247, 240, 0.10) 60%, rgba(250, 247, 240, 0) 78%);
}
[data-design="a"] .rf-hero__content {
  position: relative; z-index: 1;
  width: 100%; max-width: 1440px; margin-inline: auto;
  padding: clamp(56px, 9vw, 132px) clamp(20px, 6vw, 96px);
  display: flex; flex-direction: column; gap: var(--krone-leading);
}
[data-design="a"] .rf-hero__headline {
  font-family: var(--krone-display);
  font-size: clamp(46px, 8vw, 116px); font-weight: 400;
  letter-spacing: -0.02em; line-height: 0.96;
  max-width: 15ch; opacity: 1;
}
[data-design="a"] .rf-hero__headline-2 { display: block; color: var(--krone-ink-2); }
[data-design="a"] .rf-hero__subtitle {
  font-family: var(--krone-display); font-size: clamp(20px, 2.4vw, 30px);
  line-height: 1.2; letter-spacing: -0.01em; max-width: 30ch; color: var(--krone-ink); opacity: 1;
}
[data-design="a"] .rf-hero__proof {
  font-family: var(--krone-spec); font-size: 14px; letter-spacing: 0.02em;
  color: var(--krone-muted); max-width: 60ch; opacity: 1;
}
[data-design="a"] .rf-hero__actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--krone-leading) var(--krone-rule);
  margin-top: var(--krone-cap);
}
[data-design="a"] .rf-hero__chip {
  display: inline-flex; align-items: center; gap: var(--krone-em);
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--krone-ink-2); padding: 8px 14px; box-shadow: var(--krone-elev-frame); background: var(--krone-paper);
  min-height: 44px;
}
[data-design="a"] .rf-hero__chip-dot {
  width: 8px; height: 8px; border-radius: var(--krone-radius-disc); background: var(--krone-vermillion); flex: none;
}

/* ================================================================
   ELEMENT 2 — Animated CTA (krone breath + chip-arrow + magnetic)
   ================================================================ */
[data-design="a"] .rf-cta {
  display: inline-flex; align-items: baseline; gap: var(--krone-cap);
  position: relative; padding: 4px 0 14px 0;
  font-family: var(--krone-display); font-size: clamp(36px, 6vw, 80px);
  color: var(--krone-ink); text-decoration: none;
  letter-spacing: -0.02em; line-height: 0.9;
  transition: transform var(--krone-settle) var(--krone-ease-settle);
  will-change: transform; min-height: 44px;
}
[data-design="a"] .rf-cta__label { position: relative; z-index: 1; }
[data-design="a"] .rf-cta__rule {
  position: absolute; left: 0; bottom: 6px; height: 4px; width: 60%;
  background: var(--krone-vermillion); transform-origin: left center;
  animation: krone-breath 5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  transition: width var(--krone-settle) var(--krone-ease-cut);
}
[data-design="a"] .rf-cta__chip {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; background: var(--krone-vermillion);
  color: var(--krone-vermillion-on); border-radius: var(--krone-radius-stamp);
  opacity: 0; transform: translateX(-12px);
  transition: opacity var(--krone-settle) var(--krone-ease-settle),
              transform var(--krone-settle) var(--krone-ease-settle);
}
@keyframes krone-breath {
  0%   { transform: scaleX(0.85); }
  50%  { transform: scaleX(1.1);  }
  100% { transform: scaleX(0.85); }
}
[data-design="a"] .rf-cta:hover .rf-cta__rule,
[data-design="a"] .rf-cta:focus-visible .rf-cta__rule { width: 100%; animation-play-state: paused; transform: scaleX(1); }
[data-design="a"] .rf-cta:hover .rf-cta__chip,
[data-design="a"] .rf-cta:focus-visible .rf-cta__chip { opacity: 1; transform: translateX(0); }
[data-design="a"] .rf-cta:active { transform: translateY(2px); }
[data-design="a"] .rf-cta:focus-visible { outline: none; }
[data-design="a"] .rf-cta:focus-visible .rf-cta__label::after {
  content: ""; position: absolute; inset: -8px -12px; border: 1.5px solid var(--krone-ink);
}
/* repeat + contact CTAs read a touch smaller (one vermillion-mark discipline holds via the breath) */
[data-design="a"] .rf-cta--repeat,
[data-design="a"] .rf-cta--contact { font-size: clamp(32px, 5vw, 60px); }

/* ================================================================
   ELEMENT 6 — Pointer (between hero & funnel; drafted descent)
   krone restraint: a hairline rule draws down + a level bubble
   settles + a spec-face label. Anchor, not a button. Visibly
   rendered (opacity:1, height well over 8px).
   ================================================================ */
[data-design="a"] .rf-pointer {
  position: relative; z-index: 1;
  display: flex; justify-content: center;
  padding: var(--krone-rule) 0 var(--krone-spread);
  background: var(--krone-paper); opacity: 1;
}
[data-design="a"] .rf-pointer__hit {
  display: inline-flex; flex-direction: column; align-items: center; gap: var(--krone-cap);
  text-decoration: none; min-height: 96px;
}
[data-design="a"] .rf-pointer__rule {
  display: block; width: 1.5px; height: 56px; background: var(--krone-ink-2);
  transform-origin: top center; transform: scaleY(0);
  animation: krone-pointer-draw 2.6s var(--krone-ease-tide) infinite;
}
[data-design="a"] .rf-pointer__bubble {
  width: 12px; height: 12px; border: 1.5px solid var(--krone-vermillion);
  border-radius: var(--krone-radius-disc); position: relative;
  animation: krone-pointer-bubble 3.4s ease-in-out infinite;
}
[data-design="a"] .rf-pointer__bubble::after {
  content: ""; position: absolute; inset: 3px; border-radius: var(--krone-radius-disc); background: var(--krone-vermillion);
}
[data-design="a"] .rf-pointer__label {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--krone-muted);
}
@keyframes krone-pointer-draw {
  0%   { transform: scaleY(0); }
  40%  { transform: scaleY(1); }
  80%  { transform: scaleY(1); }
  100% { transform: scaleY(0); }
}
@keyframes krone-pointer-bubble {
  0%, 100% { transform: translateY(-2px); }
  50%      { transform: translateY(2px); }
}

/* ================================================================
   ELEMENT 5 — The Bass-cut funnel (krone), construction 5-step
   ================================================================ */
[data-design="a"] .rf-funnel {
  padding: var(--krone-spread) clamp(20px, 6vw, 96px);
  background: var(--krone-paper); position: relative;
  border-top: 1px solid var(--krone-ink); border-bottom: 1px solid var(--krone-ink);
  overflow: hidden; max-width: 100%;
}
[data-design="a"] .rf-funnel__head {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: var(--krone-spread); flex-wrap: wrap; gap: var(--krone-leading);
  max-width: 1100px; margin-inline: auto;
}
[data-design="a"] .rf-funnel__index {
  list-style: none; padding: 0; margin: 0; display: flex; gap: var(--krone-cap);
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  color: var(--krone-muted); flex-wrap: wrap;
}
[data-design="a"] .rf-funnel__index li { position: relative; padding-bottom: 4px; transition: color var(--krone-settle) var(--krone-ease-settle); }
[data-design="a"] .rf-funnel__index li::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px;
  background: var(--krone-vermillion); transition: right var(--krone-settle) var(--krone-ease-settle);
}
[data-design="a"] .rf-funnel__index li.is-active { color: var(--krone-ink); }
[data-design="a"] .rf-funnel__index li.is-active::after { right: 0; }
[data-design="a"] .rf-funnel__index li.is-done { color: var(--krone-ink-2); }
[data-design="a"] .rf-funnel__index li.is-done::after { right: 0; background: var(--krone-ink); }
[data-design="a"] .rf-funnel__stage { position: relative; min-height: 340px; max-width: 1100px; margin-inline: auto; }
[data-design="a"] .rf-funnel__step {
  border: 0; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: var(--krone-leading); max-width: 64ch;
}
[data-design="a"] .rf-funnel__step[hidden] { display: none; }
[data-design="a"] .rf-funnel__step.is-active { animation: krone-step-in 480ms var(--krone-ease-cut) both; }
@keyframes krone-step-in {
  0%   { opacity: 0; transform: translateX(24px); clip-path: inset(0 100% 0 0); }
  35%  { opacity: 1; transform: translateX(0);    clip-path: inset(0 0 0 0); }
  100% { opacity: 1; transform: none;             clip-path: inset(0 0 0 0); }
}
[data-design="a"] .rf-funnel__q {
  font-family: var(--krone-display); font-size: clamp(30px, 4.5vw, 56px);
  letter-spacing: -0.015em; line-height: 1.02; color: var(--krone-ink); margin: 0; padding: 0;
}
[data-design="a"] .rf-funnel__body {
  font-family: var(--krone-body); font-size: 18px; line-height: 1.5;
  color: var(--krone-ink-2); margin: 0; max-width: 55ch;
}
[data-design="a"] .rf-funnel__options { display: flex; flex-direction: column; gap: var(--krone-cap); }
[data-design="a"] .rf-stamp {
  display: inline-flex; align-items: center; justify-content: space-between; gap: var(--krone-cap);
  width: 100%; padding: 18px 22px; cursor: pointer; min-height: 44px;
  font-family: var(--krone-body); font-size: 18px; line-height: 1.2;
  color: var(--krone-ink); background: var(--krone-paper);
  border: 1px solid var(--krone-ink); border-radius: var(--krone-radius-none);
  text-align: left;
  transition: box-shadow var(--krone-settle) var(--krone-ease-settle),
              background var(--krone-settle) var(--krone-ease-settle),
              color var(--krone-settle) var(--krone-ease-settle),
              transform 120ms var(--krone-ease-cut);
  position: relative;
}
[data-design="a"] .rf-stamp::after {
  content: ""; position: absolute; right: 22px; top: 50%; width: 18px; height: 1.5px;
  background: var(--krone-ink); transform-origin: right center; transform: translateY(-50%) scaleX(0.4);
  transition: transform var(--krone-settle) var(--krone-ease-settle), background var(--krone-settle);
}
[data-design="a"] .rf-stamp:hover { box-shadow: var(--krone-elev-frame-2); }
[data-design="a"] .rf-stamp:hover::after { transform: translateY(-50%) scaleX(1); background: var(--krone-vermillion); }
[data-design="a"] .rf-stamp:active { transform: translateY(1px); }
[data-design="a"] .rf-stamp:focus-visible { outline: none; box-shadow: var(--krone-elev-vermillion); }
[data-design="a"] .rf-stamp.is-tapped { background: var(--krone-ink); color: var(--krone-paper); }
[data-design="a"] .rf-stamp.is-tapped::after { background: var(--krone-vermillion); }
[data-design="a"] .rf-stamp--ghost {
  width: max-content; background: var(--krone-paper); color: var(--krone-ink-2);
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 12px 18px; border: 1px solid var(--krone-rule-c);
}
[data-design="a"] .rf-stamp--ghost::after { display: none; }
[data-design="a"] .rf-stamp--ghost:hover { box-shadow: var(--krone-elev-frame); }
[data-design="a"] .rf-stamp--vermillion {
  background: var(--krone-vermillion); color: var(--krone-vermillion-on);
  border-color: var(--krone-vermillion); justify-content: center;
}
[data-design="a"] .rf-stamp--vermillion::after { display: none; }
[data-design="a"] .rf-stamp--vermillion:hover { filter: brightness(0.94); box-shadow: none; }
[data-design="a"] .rf-slip { display: flex; flex-direction: column; gap: 6px; }
[data-design="a"] .rf-slip span {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted); transition: color var(--krone-settle);
}
[data-design="a"] .rf-slip input,
[data-design="a"] .rf-slip textarea {
  background: transparent; border: 0; border-bottom: 1px solid var(--krone-ink);
  padding: 8px 0; font-family: var(--krone-body); font-size: 19px; color: var(--krone-ink);
  border-radius: 0; outline: none; width: 100%; resize: vertical;
  transition: border-color var(--krone-settle) var(--krone-ease-settle),
              border-width var(--krone-settle) var(--krone-ease-settle);
}
[data-design="a"] .rf-slip input:focus,
[data-design="a"] .rf-slip textarea:focus { border-bottom-width: 2px; border-color: var(--krone-vermillion); }
[data-design="a"] .rf-slip:focus-within span { color: var(--krone-vermillion); }
[data-design="a"] .rf-funnel__nav { margin-top: var(--krone-leading); }
[data-design="a"] .rf-funnel__filed {
  font-family: var(--krone-display); font-size: clamp(36px, 6vw, 72px);
  letter-spacing: -0.02em; line-height: 0.98; margin: 0; position: relative; display: inline-block;
}
[data-design="a"] .rf-funnel__filed::after {
  content: ""; display: block; height: 3px; background: var(--krone-vermillion);
  margin-top: 12px; width: 0; animation: krone-rule-in 600ms var(--krone-ease-cut) 200ms both;
}
@keyframes krone-rule-in { 0% { width: 0; } 100% { width: 100%; } }
[data-design="a"] .rf-spec { display: grid; grid-template-columns: minmax(0,auto) 1fr; gap: 8px var(--krone-leading); margin: 0; }
[data-design="a"] .rf-spec dt { font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--krone-muted); }
[data-design="a"] .rf-spec dd { margin: 0; font-family: var(--krone-body); color: var(--krone-ink); }
[data-design="a"] .rf-funnel__trust {
  max-width: 1100px; margin: var(--krone-spread) auto 0; padding-top: var(--krone-rule);
  border-top: 1px solid var(--krone-rule-c);
}
[data-design="a"] .rf-funnel__trust-line { font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--krone-muted); }
[data-design="a"] .rf-funnel__trust-sub { font-family: var(--krone-body); font-size: 16px; color: var(--krone-ink-2); margin-top: var(--krone-em); }
[data-design="a"] .rf-funnel__trust-sub a { color: var(--krone-vermillion); text-decoration: none; border-bottom: 1px solid var(--krone-rule-c); }

/* ================================================================
   ELEMENT 3-grammar reused — SERVICES (krone Roster)
   ================================================================ */
[data-design="a"] .rf-roster { padding: var(--krone-spread) clamp(20px, 6vw, 96px); background: var(--krone-paper); max-width: 1440px; margin-inline: auto; }
[data-design="a"] .rf-roster__head { display: grid; grid-template-columns: 1fr 2fr; gap: var(--krone-rule); margin-bottom: var(--krone-spread); align-items: end; }
[data-design="a"] .rf-roster__title { font-family: var(--krone-display); font-size: clamp(36px, 5vw, 72px); letter-spacing: -0.015em; line-height: 1.02; margin: 0; }
[data-design="a"] .rf-roster__list { list-style: none; padding: 0; margin: 0; }
[data-design="a"] .rf-roster__row {
  display: grid; grid-template-columns: 80px minmax(0, 1.2fr) minmax(0, 1.6fr);
  gap: var(--krone-rule); align-items: baseline; padding: var(--krone-leading) 0;
  border-top: 1px solid var(--krone-ink); position: relative;
}
[data-design="a"] .rf-roster__row:last-child { border-bottom: 1px solid var(--krone-ink); }
[data-design="a"] .rf-roster__num {
  font-family: var(--krone-spec); font-size: 13px; letter-spacing: 0.08em; color: var(--krone-muted);
  display: inline-block; transform: translateY(8px); opacity: 0;
  transition: opacity var(--krone-register) var(--krone-ease-settle), transform var(--krone-register) var(--krone-ease-settle);
}
[data-design="a"] .rf-roster__name {
  font-family: var(--krone-display); font-size: clamp(22px, 2.4vw, 32px);
  letter-spacing: -0.01em; line-height: 1.15; opacity: 0; transform: translateX(24px);
  transition: opacity var(--krone-register) var(--krone-ease-settle) 80ms, transform var(--krone-register) var(--krone-ease-cut) 80ms;
  position: relative;
}
[data-design="a"] .rf-roster__dek {
  font-family: var(--krone-body); font-size: 17px; line-height: 1.5; font-style: italic; color: var(--krone-ink-2);
  opacity: 0; transform: translateY(8px);
  transition: opacity var(--krone-register) var(--krone-ease-settle) 200ms, transform var(--krone-register) var(--krone-ease-settle) 200ms;
}
[data-design="a"] .rf-roster__row.is-in .rf-roster__num,
[data-design="a"] .rf-roster__row.is-in .rf-roster__name,
[data-design="a"] .rf-roster__row.is-in .rf-roster__dek { opacity: 1; transform: none; }

/* ================================================================
   ELEMENT 4 — PROCESS (krone Considered Paragraph) + repeat CTA
   ================================================================ */
[data-design="a"] .rf-considered {
  padding: var(--krone-spread) clamp(20px, 6vw, 96px); background: var(--krone-stone);
  display: grid; grid-template-columns: 1fr; max-width: 100%;
}
[data-design="a"] .rf-considered__title {
  font-family: var(--krone-display); font-size: clamp(38px, 6vw, 88px);
  letter-spacing: -0.02em; line-height: 0.96; margin: 0 0 var(--krone-spread) 0; max-width: 14ch;
}
[data-design="a"] .rf-considered__body { position: relative; max-width: 60ch; margin-left: auto; }
[data-design="a"] .rf-considered__lede {
  font-family: var(--krone-display); font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.35; letter-spacing: -0.005em; color: var(--krone-ink); margin: 0;
  width: 100%; max-width: 100%;
  transition: max-width var(--krone-drift) cubic-bezier(0.45, 0, 0.55, 1);
}
[data-design="a"] .rf-considered__lede.is-tight { max-width: 94%; }
[data-design="a"] .rf-considered__lede.is-loose { max-width: 100%; }
[data-design="a"] .rf-considered__rule {
  display: block; position: relative; height: 2px; margin-top: var(--krone-rule);
  background: var(--krone-vermillion); width: 88px;
  animation: krone-drift var(--krone-drift) cubic-bezier(0.45, 0, 0.55, 1) infinite;
}
@keyframes krone-drift {
  0%   { transform: translateX(-3px); }
  50%  { transform: translateX(3px);  }
  100% { transform: translateX(-3px); }
}
[data-design="a"] .rf-considered__sign {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--krone-muted); margin: var(--krone-rule) 0 0 auto; max-width: 60ch;
}
[data-design="a"] .rf-considered__repeat {
  margin-top: var(--krone-spread); padding-top: var(--krone-rule);
  border-top: 1px solid var(--krone-rule-c); display: flex; flex-direction: column; gap: var(--krone-cap);
}
[data-design="a"] .rf-considered__repeat-prompt { font-family: var(--krone-display); font-size: clamp(22px, 2.4vw, 30px); color: var(--krone-ink); }

/* ================================================================
   PORTFOLIO (LOW-photo: honest typographic plan-set, no stock)
   ================================================================ */
[data-design="a"] .rf-portfolio { padding: var(--krone-spread) clamp(20px, 6vw, 96px); background: var(--krone-paper); max-width: 1440px; margin-inline: auto; }
[data-design="a"] .rf-portfolio__head { max-width: 60ch; margin-bottom: var(--krone-spread); display: flex; flex-direction: column; gap: var(--krone-cap); }
[data-design="a"] .rf-portfolio__title { font-family: var(--krone-display); font-size: clamp(36px, 5vw, 72px); letter-spacing: -0.015em; line-height: 1.02; }
[data-design="a"] .rf-portfolio__lede { font-family: var(--krone-body); font-size: 18px; line-height: 1.55; color: var(--krone-ink-2); }
[data-design="a"] .rf-plan-set { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--krone-rule); }
[data-design="a"] .rf-plan-set__sheet {
  position: relative; padding: var(--krone-rule); min-height: 200px;
  background: var(--krone-stone); box-shadow: var(--krone-elev-frame);
  display: flex; flex-direction: column; justify-content: flex-end; gap: var(--krone-em);
  background-image: repeating-linear-gradient(0deg, transparent 0 23px, rgba(42,51,64,0.07) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(42,51,64,0.07) 23px 24px);
}
[data-design="a"] .rf-plan-set__tag { font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--krone-vermillion); }
[data-design="a"] .rf-plan-set__line { font-family: var(--krone-display); font-size: clamp(20px, 2.4vw, 26px); letter-spacing: -0.01em; line-height: 1.1; }
[data-design="a"] .rf-plan-set__corner { position: absolute; top: 0; right: 0; width: 28px; height: 28px; border-left: 1px solid var(--krone-ink); border-bottom: 1px solid var(--krone-ink); }

/* ================================================================
   ABOUT — firm + license credential
   ================================================================ */
[data-design="a"] .rf-about { padding: var(--krone-spread) clamp(20px, 6vw, 96px); background: var(--krone-paper); max-width: 1440px; margin-inline: auto; }
[data-design="a"] .rf-about__head { margin-bottom: var(--krone-rule); }
[data-design="a"] .rf-about__title { font-family: var(--krone-display); font-size: clamp(36px, 5vw, 72px); letter-spacing: -0.015em; line-height: 1.02; }
[data-design="a"] .rf-about__body { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--krone-spread); align-items: start; }
[data-design="a"] .rf-about__text { display: flex; flex-direction: column; gap: var(--krone-leading); font-size: 18px; line-height: 1.6; color: var(--krone-ink); max-width: 60ch; }
[data-design="a"] .rf-credential { padding: var(--krone-rule); box-shadow: var(--krone-elev-frame); background: var(--krone-stone); display: flex; flex-direction: column; gap: var(--krone-em); }
[data-design="a"] .rf-credential__number { font-family: var(--krone-display); font-size: clamp(28px, 3vw, 40px); letter-spacing: -0.01em; }
[data-design="a"] .rf-credential__state { font-family: var(--krone-body); font-size: 16px; color: var(--krone-ink-2); }
[data-design="a"] .rf-credential__verify { font-family: var(--krone-spec); font-size: 13px; letter-spacing: 0.04em; color: var(--krone-vermillion); text-decoration: none; border-bottom: 1px solid var(--krone-rule-c); width: max-content; margin-top: var(--krone-em); }

/* ================================================================
   CONTACT
   ================================================================ */
[data-design="a"] .rf-contact { padding: var(--krone-spread) clamp(20px, 6vw, 96px); background: var(--krone-stone); border-top: 1px solid var(--krone-ink); }
[data-design="a"] .rf-contact__inner { max-width: 1100px; margin-inline: auto; display: flex; flex-direction: column; gap: var(--krone-spread); }
[data-design="a"] .rf-contact__head { display: flex; flex-direction: column; gap: var(--krone-cap); }
[data-design="a"] .rf-contact__title { font-family: var(--krone-display); font-size: clamp(36px, 5vw, 72px); letter-spacing: -0.015em; line-height: 1.02; }
[data-design="a"] .rf-contact__lede { font-family: var(--krone-body); font-size: 18px; color: var(--krone-ink-2); max-width: 50ch; }
[data-design="a"] .rf-contact__rows { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--krone-rule); border-top: 1px solid var(--krone-ink); padding-top: var(--krone-rule); }
[data-design="a"] .rf-contact__row { text-decoration: none; display: flex; flex-direction: column; gap: 6px; min-height: 44px; }
[data-design="a"] .rf-contact__val { font-family: var(--krone-display); font-size: clamp(20px, 2.2vw, 28px); letter-spacing: -0.01em; line-height: 1.15; color: var(--krone-ink); }
[data-design="a"] a.rf-contact__row:hover .rf-contact__val { color: var(--krone-vermillion); }

/* ================================================================
   FOOTER
   ================================================================ */
[data-design="a"] .rf-footer { background: var(--krone-paper); border-top: 1px solid var(--krone-ink); padding: var(--krone-spread) clamp(20px, 6vw, 96px) var(--krone-rule); }
[data-design="a"] .rf-footer__row--top { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: var(--krone-rule); max-width: 1440px; margin-inline: auto; }
[data-design="a"] .rf-footer__name { font-family: var(--krone-display); font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -0.01em; }
[data-design="a"] .rf-footer__tag { font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--krone-muted); margin-top: var(--krone-em); }
[data-design="a"] .rf-footer__nav { display: flex; flex-direction: column; gap: var(--krone-em); }
[data-design="a"] .rf-footer__nav a { font-family: var(--krone-spec); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--krone-ink-2); text-decoration: none; width: max-content; }
[data-design="a"] .rf-footer__nav a:hover { color: var(--krone-vermillion); }
[data-design="a"] .rf-footer__meta { display: flex; flex-direction: column; gap: var(--krone-em); font-family: var(--krone-spec); font-size: 13px; letter-spacing: 0.04em; color: var(--krone-ink-2); }
[data-design="a"] .rf-footer__meta a { text-decoration: none; }
[data-design="a"] .rf-footer__addr { color: var(--krone-muted); }
[data-design="a"] .rf-footer__row--base { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--krone-cap); max-width: 1440px; margin: var(--krone-spread) auto 0; padding-top: var(--krone-rule); border-top: 1px solid var(--krone-ink); }
[data-design="a"] .rf-footer__legal,
[data-design="a"] .rf-footer__copy { font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--krone-muted); }
[data-design="a"] .rf-footer__dash { color: var(--krone-vermillion); }

/* ================================================================
   Reduced motion — pause/settle every animation; never break
   ================================================================ */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .rf-tide__rule { animation: none; transform: scaleX(0.5); transform-origin: left center; }
  [data-design="a"] .rf-drawer { animation: none; }
  [data-design="a"] .rf-drawer__nav a::after,
  [data-design="a"] .rf-burger__line { transition: none; }
  [data-design="a"] .rf-hero__field { animation: none; opacity: 1; }
  [data-design="a"] .rf-bp,
  [data-design="a"] .rf-dim { animation: none; stroke-dashoffset: 0; }
  [data-design="a"] .rf-dim-tick,
  [data-design="a"] .rf-dim-cross,
  [data-design="a"] .rf-dim-label { animation: none; opacity: 0.85; }
  /* keep a gentle, non-distracting drift so the hero is not a dead screenshot */
  [data-design="a"] .rf-hero__scan { animation-duration: 16s; }
  [data-design="a"] .rf-cta { transition: none; }
  [data-design="a"] .rf-cta__rule { animation: none; transform: scaleX(1); width: 80%; }
  [data-design="a"] .rf-cta__chip { transition: none; opacity: 1; transform: none; }
  [data-design="a"] .rf-pointer__rule { animation: none; transform: scaleY(1); }
  [data-design="a"] .rf-pointer__bubble { animation: none; }
  [data-design="a"] .rf-funnel__step.is-active { animation: none; opacity: 1; }
  [data-design="a"] .rf-stamp,
  [data-design="a"] .rf-stamp::after,
  [data-design="a"] .rf-funnel__index li::after,
  [data-design="a"] .rf-slip input,
  [data-design="a"] .rf-slip textarea,
  [data-design="a"] .rf-slip span { transition: none; }
  [data-design="a"] .rf-funnel__filed::after { animation: none; width: 100%; }
  [data-design="a"] .rf-roster__num,
  [data-design="a"] .rf-roster__name,
  [data-design="a"] .rf-roster__dek { transition: none; opacity: 1; transform: none; }
  [data-design="a"] .rf-considered__lede { transition: none; max-width: 100%; }
  [data-design="a"] .rf-considered__rule { animation: none; }
}

/* ================================================================
   Responsive
   ================================================================ */
@media (max-width: 900px) {
  [data-design="a"] .rf-about__body { grid-template-columns: 1fr; gap: var(--krone-rule); }
  [data-design="a"] .rf-footer__row--top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  [data-design="a"] .rf-roster__head { grid-template-columns: 1fr; gap: var(--krone-leading); }
  [data-design="a"] .rf-roster__row { grid-template-columns: 48px 1fr; gap: var(--krone-cap); row-gap: var(--krone-em); }
  [data-design="a"] .rf-roster__dek { grid-column: 2 / 3; }
  [data-design="a"] .rf-considered__body,
  [data-design="a"] .rf-considered__sign { margin-left: 0; }
  [data-design="a"] .rf-funnel__head { flex-direction: column; align-items: flex-start; }
  [data-design="a"] .rf-hero__plate { width: 100%; opacity: 0.5; }
  [data-design="a"] .rf-hero__wash { background: linear-gradient(180deg, rgba(250,247,240,0.55) 0%, rgba(250,247,240,0.86) 70%); }
  [data-design="a"] .rf-footer__row--top { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  [data-design="a"] .rf-header__bar { padding: 16px 20px; }
  [data-design="a"] .rf-drawer { padding: 80px 20px; }
}
@media (max-width: 380px) {
  [data-design="a"] .rf-roster,
  [data-design="a"] .rf-considered,
  [data-design="a"] .rf-funnel,
  [data-design="a"] .rf-portfolio,
  [data-design="a"] .rf-about,
  [data-design="a"] .rf-contact { padding-left: 16px; padding-right: 16px; }
  [data-design="a"] .rf-stamp { padding: 14px 18px; font-size: 17px; }
  [data-design="a"] .rf-funnel__q { font-size: clamp(26px, 7vw, 36px); }
}

/* ================================================================
   MOBILE SAFETY (mandatory append — last in file)
   ================================================================ */
[data-design="a"].dq-design,
[data-design="a"] .dq-design { max-width: 100%; overflow-x: clip; }
[data-design="a"] * { min-width: 0; }
[data-design="a"] img,
[data-design="a"] svg:not([data-keep-size]) { 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; }
