/* ============================================================
   Accurate Plumbing Solutions — design-a (Krone × premium-funnel)
   All selectors scoped to [data-design="a"].dq-design
   Slot: a | Design: krone | Trade: premium-funnel
   ============================================================ */

/* --- Token layer ------------------------------------------ */
[data-design="a"].dq-design,
[data-design="a"] .dq-design {
  /* Color */
  --design-a-primary:        #C8341F;
  --krone-paper:             #FAF7F0;
  --krone-ink:               #1A1815;
  --krone-ink-2:             #3A352E;
  --krone-muted:             #6E665B;
  --krone-rule:              rgba(26,24,21,0.12);
  --krone-vermillion:        #C8341F;
  --krone-vermillion-on:     #FAF7F0;
  --krone-stone:             #EAE5DA;
  --krone-critical:          #A02418;
  --krone-success:           #3B5F2E;

  /* Typography */
  --krone-display: 'GT Sectra','Tiempos Headline','Iowan Old Style',Charter,Georgia,serif;
  --krone-body:    'Sectra Fine','Tiempos Text','Iowan Old Style',Charter,Georgia,serif;
  --krone-spec:    'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;

  /* Spacing */
  --krone-tick:     4px;
  --krone-em:       8px;
  --krone-cap:      16px;
  --krone-leading:  24px;
  --krone-rule-sp:  40px;
  --krone-spread:   80px;

  /* Motion */
  --krone-cut:      120ms;
  --krone-settle:   280ms;
  --krone-register: 600ms;
  --krone-unfurl:   1200ms;
  --krone-tide:     22s;

  --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);

  /* Radius */
  --krone-radius-none:  0px;
  --krone-radius-stamp: 2px;
  --krone-radius-disc:  9999px;

  /* Elevation (hairlines only, no drop-shadow) */
  --krone-elev-flat:       none;
  --krone-elev-rule:       inset 0 -1px 0 var(--krone-ink);
  --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);

  background: var(--krone-paper);
  color: var(--krone-ink);
  font-family: var(--krone-body);
  font-size: 18px;
  line-height: 1.55;
}

/* --- Mobile horizontal-scroll guard ----------------------- */
[data-design="a"].dq-design,
[data-design="a"] .dq-design {
  max-width: 100%;
  overflow-x: clip;
}
[data-design="a"].dq-design * { min-width: 0; }
[data-design="a"].dq-design img,
[data-design="a"].dq-design svg:not([data-keep-size]) {
  max-width: 100%;
  height: auto;
}

/* ============================================================
   E1 — HEADER
   ============================================================ */
[data-design="a"] .rf-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--krone-paper);
  border-bottom: 1px solid var(--krone-ink);
  box-sizing: border-box;
}
[data-design="a"] .rf-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--krone-cap);
  padding: 16px clamp(20px,4vw,64px);
  position: relative;
  z-index: 2;
}

/* Logo with slow shimmer — quiet craft detail */
[data-design="a"] .rf-logo {
  text-decoration: none;
  color: var(--krone-ink);
  position: relative;
  overflow: hidden;
  display: inline-block;
}
[data-design="a"] .rf-logo__mark {
  font-family: var(--krone-display);
  font-size: clamp(17px,1.8vw,22px);
  letter-spacing: -0.01em;
  font-weight: 400;
  display: block;
}
/* Shimmer pass over logo wordmark ~11s cycle */
[data-design="a"] .rf-logo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 30%,
    rgba(250,247,240,0.55) 50%,
    transparent 70%
  );
  transform: translateX(-110%);
  animation: a-logo-shimmer 11s var(--krone-ease-tide) infinite;
  pointer-events: none;
}
@keyframes a-logo-shimmer {
  0%,35%  { transform: translateX(-110%); }
  55%     { transform: translateX(110%);  }
  100%    { transform: translateX(110%);  }
}

/* Progress indicator */
[data-design="a"] .rf-progress {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1;
  max-width: 220px;
}
[data-design="a"] .rf-progress__label {
  font-family: var(--krone-spec);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--krone-muted);
  white-space: nowrap;
}
[data-design="a"] .rf-progress__track {
  width: 100%;
  height: 2px;
  background: rgba(26,24,21,0.12);
  overflow: hidden;
  border-radius: 1px;
}
[data-design="a"] .rf-progress__fill {
  display: block;
  height: 100%;
  background: var(--krone-vermillion);
  transform: scaleX(var(--progress-frac, 0.2));
  transform-origin: left;
  transition: transform 480ms cubic-bezier(0.22,0.61,0.36,1);
}

/* Hamburger */
[data-design="a"] .rf-burger {
  background: transparent;
  border: 1px solid var(--krone-ink);
  width: 44px;
  height: 36px;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex-shrink: 0;
}
[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);
}

/* Tide rule */
[data-design="a"] .rf-tide {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  pointer-events: none;
  overflow: hidden;
}
[data-design="a"] .rf-tide__rule {
  display: block;
  height: 100%;
  background: var(--krone-vermillion);
  transform-origin: left center;
  animation: a-tide var(--krone-tide) var(--krone-ease-tide) infinite;
}
@keyframes a-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; }
}

/* Drawer — phone only */
[data-design="a"] .rf-drawer {
  position: fixed;
  inset: 0;
  background: var(--krone-paper);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: a-drawer-wipe var(--krone-register) var(--krone-ease-cut) both;
}
[data-design="a"] .rf-drawer[hidden] { display: none; }
@keyframes a-drawer-wipe {
  0%   { clip-path: inset(0 100% 0 0); }
  100% { clip-path: inset(0 0 0 0);    }
}
[data-design="a"] .rf-drawer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--krone-leading);
  text-align: center;
  padding: var(--krone-spread);
}
[data-design="a"] .rf-drawer__phone {
  font-family: var(--krone-display);
  font-size: clamp(32px,6vw,72px);
  color: var(--krone-ink);
  text-decoration: none;
  letter-spacing: -0.02em;
  line-height: 1;
}
[data-design="a"] .rf-drawer__license {
  font-family: var(--krone-spec);
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--krone-muted);
  margin: 0;
}
[data-design="a"] .rf-drawer__close {
  background: transparent;
  border: 1px solid var(--krone-ink);
  width: 44px; height: 44px;
  cursor: pointer;
  font-size: 20px;
  color: var(--krone-ink);
  margin-top: var(--krone-cap);
}

/* ============================================================
   HERO — Step 1 wrapper
   data-mf-role="hero"
   ============================================================ */
[data-design="a"] .rf-hero {
  position: relative;
  min-height: 90vh;
  background: var(--krone-paper);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px,8vh,96px) clamp(20px,6vw,96px) clamp(32px,5vh,64px);
  overflow: hidden;
  box-sizing: border-box;
}

/* Substrate: three slow hairlines that draw and breathe — ambient, perceptible */
[data-design="a"] .rf-hero__substrate {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
[data-design="a"] .rf-hero__sub-line {
  display: block;
  position: absolute;
  height: 1px;
  background: var(--krone-vermillion);
  opacity: 0.18;
  transform-origin: left center;
}
[data-design="a"] .rf-hero__sub-line--1 {
  top: 28%;
  left: 0; right: 0;
  animation: a-sub-draw1 8s var(--krone-ease-tide) infinite;
}
[data-design="a"] .rf-hero__sub-line--2 {
  top: 56%;
  left: 0; right: 0;
  animation: a-sub-draw2 12s var(--krone-ease-tide) 3s infinite;
}
[data-design="a"] .rf-hero__sub-line--3 {
  top: 78%;
  left: 0; right: 0;
  animation: a-sub-draw3 9s var(--krone-ease-tide) 6s infinite;
  opacity: 0.09;
}
@keyframes a-sub-draw1 {
  0%,100% { transform: scaleX(0.12); }
  50%     { transform: scaleX(0.72); }
}
@keyframes a-sub-draw2 {
  0%,100% { transform: scaleX(0.22); }
  50%     { transform: scaleX(0.58); }
}
@keyframes a-sub-draw3 {
  0%,100% { transform: scaleX(0.08); }
  50%     { transform: scaleX(0.45); }
}

[data-design="a"] .rf-hero__inner {
  position: relative;
  z-index: 10;
  max-width: 640px;
  width: 100%;
}

/* Value prop — opacity:1 at first paint, never gated */
[data-design="a"] .rf-hero__value-prop {
  font-family: var(--krone-display);
  font-size: clamp(28px,4.5vw,56px);
  letter-spacing: -0.018em;
  line-height: 1.08;
  color: var(--krone-ink);
  margin: 0 0 var(--krone-cap) 0;
  opacity: 1;
}

/* Reassurance line — opacity:1 at first paint */
[data-design="a"] .rf-hero__reassurance {
  font-family: var(--krone-spec);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--krone-muted);
  margin: 0 0 var(--krone-rule-sp) 0;
  opacity: 1;
}

/* ============================================================
   E6 — POINTER (Krone × premium-funnel)
   Sits above the funnel form.
   data-mf-role="pointer"
   Must be visually rendered: opacity > 0.5, height >= 8px
   ============================================================ */
[data-design="a"] .krone-pointer {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  font-family: var(--krone-spec);
  font-variant-numeric: tabular-nums;
  color: var(--krone-ink);
  opacity: 1;
  min-height: 44px;
}
[data-design="a"] .krone-pointer__counter {
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.75;
  white-space: nowrap;
}
[data-design="a"] .krone-pointer__counter-now {
  display: inline-block;
  min-width: 1ch;
  animation: a-pointer-tick 320ms ease-out;
}
@keyframes a-pointer-tick {
  0%   { transform: translateY(-6px); opacity: 0; }
  100% { transform: translateY(0);    opacity: 1; }
}
[data-design="a"] .krone-pointer__bar {
  position: relative;
  flex: 1;
  height: 2px;
  background: var(--krone-ink);
  opacity: 0.18;
  overflow: hidden;
}
[data-design="a"] .krone-pointer__bar-fill {
  position: absolute;
  inset: 0;
  width: 100%;
  transform: scaleX(var(--krone-pointer-progress, 0.20));
  transform-origin: left;
  background: var(--krone-vermillion);
  opacity: 1;
  transition: transform 480ms cubic-bezier(0.22,0.61,0.36,1);
}
[data-design="a"] .krone-pointer__chev {
  font-size: 20px;
  opacity: 0.65;
  display: inline-block;
  animation: a-pointer-chev 3.8s ease-in-out infinite;
}
@keyframes a-pointer-chev {
  0%,100% { transform: translateX(0);   opacity: 0.45; }
  50%     { transform: translateX(5px); opacity: 0.9;  }
}

/* ============================================================
   E5 — FUNNEL
   data-mf-role="funnel"
   id="funnel"
   ============================================================ */
[data-design="a"] .rf-funnel {
  position: relative;
}
[data-design="a"] .rf-funnel__stage {
  position: relative;
  min-height: 280px;
}
[data-design="a"] .rf-funnel__step {
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--krone-leading);
  max-width: 560px;
}
[data-design="a"] .rf-funnel__step[hidden] { display: none; }
[data-design="a"] .rf-funnel__step.is-active {
  animation: a-step-in 420ms var(--krone-ease-cut) both;
}
@keyframes a-step-in {
  0%   { opacity: 0; transform: translateX(20px); clip-path: inset(0 100% 0 0); }
  40%  { 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(22px,3.5vw,40px);
  letter-spacing: -0.015em;
  line-height: 1.05;
  color: var(--krone-ink);
  margin: 0;
  padding: 0;
  opacity: 1;
}
[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;
}
[data-design="a"] .rf-funnel__body a {
  color: var(--krone-vermillion);
}
[data-design="a"] .rf-funnel__kicker {
  font-family: var(--krone-spec);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--krone-muted);
  margin: 0;
}
[data-design="a"] .rf-funnel__options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Filed screen */
[data-design="a"] .rf-funnel__filed {
  font-family: var(--krone-display);
  font-size: clamp(32px,5vw,72px);
  letter-spacing: -0.02em;
  line-height: 0.97;
  margin: 0;
  position: relative;
  display: inline-block;
  opacity: 1;
}
[data-design="a"] .rf-funnel__filed::after {
  content: "";
  display: block;
  height: 3px;
  background: var(--krone-vermillion);
  margin-top: 12px;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left;
  animation: a-rule-in 600ms var(--krone-ease-cut) 200ms both;
}
@keyframes a-rule-in {
  0%   { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}

/* ============================================================
   Stamps (Krone buttons) — answer options + submit
   ============================================================ */
[data-design="a"] .rf-stamp {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--krone-cap);
  width: 100%;
  padding: 18px 22px;
  min-height: 60px; /* >= 56px tap target */
  cursor: pointer;
  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;
  box-sizing: border-box;
  position: relative;
  transition:
    box-shadow var(--krone-settle) var(--krone-ease-settle),
    background var(--krone-settle) var(--krone-ease-settle),
    transform 120ms var(--krone-ease-cut);
  /* stagger entrance */
  opacity: 1;
  transform: none;
}
[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: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);
}

/* Vermillion submit stamp */
[data-design="a"] .rf-stamp--vermillion {
  background: var(--krone-vermillion);
  color: var(--krone-vermillion-on);
  border-color: var(--krone-vermillion);
}
[data-design="a"] .rf-stamp--vermillion::after {
  background: var(--krone-paper);
}

/* hover only for pointer-fine devices */
@media (hover: hover) and (pointer: fine) {
  [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--vermillion:hover {
    filter: brightness(0.93);
  }
}

/* ============================================================
   Slips (form inputs)
   ============================================================ */
[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 {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--krone-ink);
  padding: 10px 0;
  font-family: var(--krone-body);
  font-size: 19px;
  color: var(--krone-ink);
  border-radius: 0;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition:
    border-color var(--krone-settle) var(--krone-ease-settle),
    border-bottom-width var(--krone-settle) var(--krone-ease-settle);
}
[data-design="a"] .rf-slip input:focus {
  border-bottom-width: 2px;
  border-color: var(--krone-vermillion);
}
[data-design="a"] .rf-slip:focus-within span {
  color: var(--krone-vermillion);
}

/* Best-time fieldset */
[data-design="a"] .rf-slip__time {
  border: 0;
  padding: 0;
  margin: 0;
}
[data-design="a"] .rf-slip__time-label {
  font-family: var(--krone-spec);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--krone-muted);
  display: block;
  margin-bottom: 10px;
}
[data-design="a"] .rf-slip__time-options {
  display: flex;
  gap: var(--krone-cap);
  flex-wrap: wrap;
}
[data-design="a"] .rf-time-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--krone-body);
  font-size: 17px;
  color: var(--krone-ink);
  cursor: pointer;
  min-height: 44px;
}
[data-design="a"] .rf-time-opt input[type="radio"] {
  accent-color: var(--krone-vermillion);
  width: 18px;
  height: 18px;
  cursor: pointer;
}

/* ============================================================
   E4 — Reassurance bar
   ============================================================ */
[data-design="a"] .rf-reassurance {
  background: var(--krone-stone);
  border-top: 1px solid var(--krone-ink);
  border-bottom: 1px solid var(--krone-ink);
  overflow: hidden;
  padding: 0;
}
[data-design="a"] .rf-reassurance__track {
  overflow: hidden;
  padding: 14px 0;
}
[data-design="a"] .rf-reassurance__band {
  display: flex;
  align-items: center;
  gap: var(--krone-cap);
  white-space: nowrap;
  animation: a-reassurance-drift 28s linear infinite;
}
@keyframes a-reassurance-drift {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
[data-design="a"] .rf-reassurance__item {
  font-family: var(--krone-spec);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--krone-muted);
  flex-shrink: 0;
}
[data-design="a"] .rf-reassurance__sep {
  color: var(--krone-vermillion);
  opacity: 0.6;
  flex-shrink: 0;
}

/* Static fallback visible to screen readers */
[data-design="a"] .rf-reassurance__static {
  display: none;
}

/* ============================================================
   Footer
   ============================================================ */
[data-design="a"] .rf-footer {
  background: var(--krone-paper);
  padding: var(--krone-spread) clamp(20px,6vw,96px);
  border-top: 1px solid var(--krone-ink);
}
[data-design="a"] .rf-footer__inner {
  max-width: 680px;
}
[data-design="a"] .rf-footer__name {
  font-family: var(--krone-spec);
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--krone-ink);
  margin: 0 0 var(--krone-em) 0;
}
[data-design="a"] .rf-footer__name a {
  color: var(--krone-vermillion);
  text-decoration: none;
}
[data-design="a"] .rf-footer__address,
[data-design="a"] .rf-footer__license {
  font-family: var(--krone-spec);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--krone-muted);
  margin: 0 0 var(--krone-em) 0;
}
[data-design="a"] .rf-footer__disclaimer {
  font-family: var(--krone-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--krone-muted);
  margin: var(--krone-leading) 0 0 0;
  max-width: 60ch;
}

/* ============================================================
   Scroll-linked parallax — TRIAD-2 premium scroll motion
   Hero substrate lines accelerate on scroll (scroll-driven)
   ============================================================ */
[data-design="a"] .rf-hero__sub-line--1 { --sub-parallax: 0.15; }
[data-design="a"] .rf-hero__sub-line--2 { --sub-parallax: 0.25; }
[data-design="a"] .rf-hero__sub-line--3 { --sub-parallax: 0.35; }

/* ============================================================
   Stagger entrance for funnel buttons when step activates
   ============================================================ */
[data-design="a"] .rf-funnel__step.is-active .rf-funnel__options .rf-stamp {
  opacity: 0;
  transform: translateY(8px);
  animation: a-btn-enter 320ms var(--krone-ease-settle) forwards;
}
[data-design="a"] .rf-funnel__step.is-active .rf-funnel__options .rf-stamp:nth-child(1) { animation-delay:  80ms; }
[data-design="a"] .rf-funnel__step.is-active .rf-funnel__options .rf-stamp:nth-child(2) { animation-delay: 130ms; }
[data-design="a"] .rf-funnel__step.is-active .rf-funnel__options .rf-stamp:nth-child(3) { animation-delay: 180ms; }
[data-design="a"] .rf-funnel__step.is-active .rf-funnel__options .rf-stamp:nth-child(4) { animation-delay: 230ms; }
[data-design="a"] .rf-funnel__step.is-active .rf-funnel__options .rf-stamp:nth-child(5) { animation-delay: 280ms; }
[data-design="a"] .rf-funnel__step.is-active .rf-funnel__options .rf-stamp:nth-child(6) { animation-delay: 330ms; }
@keyframes a-btn-enter {
  0%   { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0);   }
}

/* Contact step: no options div, slip items stagger in
   NOTE: .rf-stamp--vermillion (the CTA) is excluded from opacity:0 stagger
   so data-mf-role="cta" is never opacity:0 (gate hard-fail prevention) */
[data-design="a"] .rf-funnel__step--contact.is-active .rf-slip,
[data-design="a"] .rf-funnel__step--contact.is-active .rf-slip__time {
  opacity: 0;
  animation: a-btn-enter 320ms var(--krone-ease-settle) forwards;
}
[data-design="a"] .rf-funnel__step--contact.is-active .rf-slip:nth-child(2)      { animation-delay:  90ms; }
[data-design="a"] .rf-funnel__step--contact.is-active .rf-slip:nth-child(3)      { animation-delay: 160ms; }
[data-design="a"] .rf-funnel__step--contact.is-active .rf-slip__time             { animation-delay: 220ms; }
[data-design="a"] .rf-funnel__step--contact.is-active .rf-stamp--vermillion      { animation-delay: 300ms; }

/* ============================================================
   Reduced motion — all animations off, all elements visible
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .rf-tide__rule { animation: none; transform: scaleX(0.5); transform-origin: left; }
  [data-design="a"] .rf-drawer     { animation: none; }
  [data-design="a"] .rf-logo::after { animation: none; }
  [data-design="a"] .rf-hero__sub-line { animation: none; transform: scaleX(0.4); }
  [data-design="a"] .krone-pointer__counter-now { animation: none; }
  [data-design="a"] .krone-pointer__chev { animation: none; opacity: 0.65; }
  [data-design="a"] .krone-pointer__bar-fill { transition: none; }
  [data-design="a"] .rf-progress__fill { transition: none; }
  [data-design="a"] .rf-funnel__step.is-active { animation: none; opacity: 1; }
  [data-design="a"] .rf-funnel__step.is-active .rf-funnel__options .rf-stamp { animation: none; opacity: 1; transform: none; }
  [data-design="a"] .rf-funnel__step--contact.is-active .rf-slip,
  [data-design="a"] .rf-funnel__step--contact.is-active .rf-slip__time { animation: none; opacity: 1; }
  [data-design="a"] .rf-funnel__filed::after { animation: none; transform: scaleX(1); }
  [data-design="a"] .rf-reassurance__band { animation: none; }
  [data-design="a"] .rf-burger__line { transition: none; }
  [data-design="a"] .rf-stamp,
  [data-design="a"] .rf-stamp::after { transition: none; }
  [data-design="a"] .rf-slip input { transition: none; }
  [data-design="a"] .rf-slip span  { transition: none; }
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 560px) {
  [data-design="a"] .rf-header__bar { padding: 14px 20px; }
  [data-design="a"] .rf-progress   { max-width: 120px; }
  [data-design="a"] .rf-hero {
    padding: 40px 20px 32px;
    min-height: 80vh;
  }
  [data-design="a"] .rf-funnel__q { font-size: clamp(22px,7vw,32px); }
  [data-design="a"] .rf-stamp     { padding: 16px 18px; font-size: 17px; min-height: 60px; }
  [data-design="a"] .rf-drawer    { padding: 60px 20px; }
  [data-design="a"] .rf-footer    { padding: var(--krone-rule-sp) 20px; }
}
@media (max-width: 380px) {
  [data-design="a"] .rf-hero { padding: 32px 16px 24px; }
  [data-design="a"] .rf-stamp { font-size: 16px; min-height: 58px; }
}

/* 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; }
