/* ════════════════════════════════════════════════════════════════
   Design A — Quarryworks × Clarks Construction
   All selectors scoped under [data-design="a"]. Keyframes prefixed qw-.
   quarryworks working code remapped to the design-a slot scope.
   ════════════════════════════════════════════════════════════════ */

/* ─── TOKENS (quarryworks color / type / spacing / motion / radius / shadow) ─── */
[data-design="a"] {
  /* color — terracotta + copper-oxide paired accents; carved-red scarce */
  --qw-limestone:     #E4DCC4;
  --qw-limestone-deep:#D4C8A7;
  --qw-slate:         #262528;
  --qw-slate-soft:    #454547;
  --qw-muted:         #7E7660;
  --qw-rule:          #1A191A;
  --qw-terracotta:    #A74628;
  --qw-copper-oxide:  #3A6B4F;
  --qw-carved-red:    #7A1E15;
  --qw-moss:          #3D5230;
  --qw-critical:      #5A140E;

  /* exposed primary token (contract) */
  --design-a-primary: var(--qw-terracotta);

  /* type */
  --qw-font-carved:  "Trajan Pro", "Cinzel", "Goudy Old Style", "Times New Roman", serif;
  --qw-font-display: "Founders Grotesk Condensed", "Oswald", "Arial Narrow", sans-serif;
  --qw-font-body:    "Sentinel Book", "Roboto Slab", "PT Serif", Georgia, serif;
  --qw-font-mark:    "Cinzel", "Times New Roman", serif;
  --qw-font-data:    "IBM Plex Mono", "JetBrains Mono", ui-monospace, monospace;

  --qw-text-dim:     12px;
  --qw-text-cap:     14px;
  --qw-text-body:    17px;
  --qw-text-deck:    26px;
  --qw-text-head:    clamp(30px, 5vw, 44px);
  --qw-text-banner:  clamp(48px, 9vw, 72px);
  --qw-text-monument:clamp(48px, 12vw, 120px);

  /* spacing */
  --qw-space-chisel: 2px;
  --qw-space-em:     8px;
  --qw-space-bed:    16px;
  --qw-space-course: 24px;
  --qw-space-pier:   56px;
  --qw-space-bay:    88px;
  --qw-space-quarry: clamp(64px, 12vw, 130px);

  /* motion */
  --qw-dur-tick:   160ms;
  --qw-dur-set:    420ms;
  --qw-dur-chisel: 680ms;
  --qw-dur-quarry: 1100ms;
  --qw-dur-cure:   2200ms;
  --qw-dur-dust:  32000ms;

  --qw-ease-set:    cubic-bezier(.65, .05, .36, 1);
  --qw-ease-chisel: cubic-bezier(.7, 0, .84, 0);
  --qw-ease-cure:   cubic-bezier(.45, .05, .55, .95);
  --qw-ease-ledger: cubic-bezier(.34, .04, .26, 1);

  /* radius — stone has corners */
  --qw-radius-zero: 0;
  --qw-radius-pin:  2px;

  /* shadow / elevation — no drop shadows */
  --qw-shadow-carved: inset 0 1px 0 rgba(0,0,0,.5), inset 0 -1px 0 rgba(255,255,255,.06);
  --qw-shadow-block:  2px 2px 0 var(--qw-limestone-deep), 4px 4px 0 var(--qw-rule);
  --qw-shadow-press:  inset 0 3px 0 rgba(0,0,0,.3);
  --qw-shadow-mark:   inset 0 0 0 2px var(--qw-carved-red);

  background: var(--qw-limestone);
  color: var(--qw-slate);
  font-family: var(--qw-font-body);
  font-size: var(--qw-text-body);
  line-height: 1.6;
}

@media (prefers-color-scheme: dark) {
  [data-design="a"] {
    --qw-limestone:     #0E0C08;
    --qw-limestone-deep:#181510;
    --qw-slate:         #E9E4D2;
    --qw-slate-soft:    #BFB89E;
    --qw-muted:         #857C62;
    --qw-rule:          #A89C7A;
    --qw-terracotta:    #CD6B45;
    --qw-copper-oxide:  #6E9D7F;
    --qw-carved-red:    #A33A2C;
    --qw-moss:          #789560;
    --qw-critical:      #A2271C;
    --design-a-primary: var(--qw-terracotta);
  }
}

[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,
[data-design="a"] p,
[data-design="a"] ul,
[data-design="a"] ol,
[data-design="a"] dl,
[data-design="a"] figure { margin: 0; }

[data-design="a"] .qw-eyebrow {
  font-family: var(--qw-font-display);
  font-size: var(--qw-text-dim);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--qw-muted);
  margin: 0 0 var(--qw-space-bed);
}
[data-design="a"] .qw-inline-link {
  color: var(--qw-slate);
  text-decoration: none;
  border-bottom: 1px solid var(--qw-terracotta);
  transition: border-color 200ms var(--qw-ease-set);
}
[data-design="a"] .qw-inline-link:hover { border-bottom-width: 2px; }
[data-design="a"] .qw-req { color: var(--qw-carved-red); font-style: normal; }


/* ════════════════════════════════════════════════════════════════
   ELEMENT 1 — HEADER "The Carved Bar" (restructured: logo + rule + burger)
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--qw-limestone);
  border-bottom: 1px solid var(--qw-rule);
}
[data-design="a"] .qw-header__bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--qw-space-course);
  padding: var(--qw-space-course) clamp(16px, 4vw, 40px);
  max-width: 1280px; margin: 0 auto;
}
[data-design="a"] .qw-logo {
  text-decoration: none; color: var(--qw-slate);
  display: inline-flex; align-items: baseline;
}
[data-design="a"] .qw-logo__mark {
  font-family: var(--qw-font-carved);
  font-size: clamp(18px, 2.6vw, 28px);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-shadow: var(--qw-carved-depth, 0 1px 0 rgba(0,0,0,.18));
  transition: text-shadow 280ms var(--qw-ease-set);
}
[data-design="a"] .qw-header--deep .qw-logo__mark {
  --qw-carved-depth: 0 2px 0 rgba(0,0,0,.32), 0 -1px 0 rgba(255,255,255,.12);
}

/* hamburger */
[data-design="a"] .qw-burger {
  display: inline-flex; flex-direction: column; justify-content: center;
  gap: 5px;
  width: 48px; height: 48px;
  padding: 12px;
  background: transparent; border: 1px solid var(--qw-rule);
  border-radius: 0; cursor: pointer;
  flex: none;
}
[data-design="a"] .qw-burger span {
  display: block; height: 2px; width: 100%;
  background: var(--qw-slate);
  transition: transform 240ms var(--qw-ease-set), opacity 200ms var(--qw-ease-set);
}
[data-design="a"] .qw-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
[data-design="a"] .qw-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
[data-design="a"] .qw-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
[data-design="a"] .qw-burger:focus-visible { outline: 2px solid var(--qw-copper-oxide); outline-offset: 3px; }

/* atmospheric slate hairline rule (the one header animation layer) */
[data-design="a"] .qw-header__rule {
  height: 2px;
  background: var(--qw-rule);
  transform-origin: center center;
  animation: qw-rule-draw 32s var(--qw-ease-cure) infinite;
}
@keyframes qw-rule-draw {
  0%, 5%   { transform: scaleX(0); }
  45%, 55% { transform: scaleX(1); }
  95%, 100%{ transform: scaleX(0); }
}

/* drawer */
[data-design="a"] .qw-drawer {
  position: fixed; inset: 0; z-index: 60;
  background: color-mix(in oklab, var(--qw-slate) 92%, transparent);
  display: flex; justify-content: flex-end;
}
[data-design="a"] .qw-drawer[hidden] { display: none; }
[data-design="a"] .qw-drawer__inner {
  position: relative;
  background: var(--qw-limestone);
  border-left: 2px solid var(--qw-rule);
  width: min(380px, 86vw); height: 100%;
  padding: var(--qw-space-bay) var(--qw-space-pier) var(--qw-space-pier);
  display: flex; flex-direction: column; gap: var(--qw-space-em);
  overflow-y: auto;
}
[data-design="a"] .qw-drawer__close {
  position: absolute; top: var(--qw-space-course); right: var(--qw-space-course);
  width: 44px; height: 44px;
  background: transparent; border: 1px solid var(--qw-rule); border-radius: 0;
  font-size: 26px; line-height: 1; color: var(--qw-slate); cursor: pointer;
}
[data-design="a"] .qw-drawer__close:focus-visible { outline: 2px solid var(--qw-copper-oxide); outline-offset: 3px; }
[data-design="a"] .qw-drawer__inner > a[data-num] {
  font-family: var(--qw-font-display);
  font-size: 20px; letter-spacing: 0.04em; text-transform: uppercase; font-weight: 600;
  color: var(--qw-slate); text-decoration: none;
  padding: var(--qw-space-bed) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--qw-rule) 40%, transparent);
  display: flex; align-items: baseline; gap: var(--qw-space-bed);
  min-height: 44px;
  transition: color 200ms var(--qw-ease-set), padding-left 200ms var(--qw-ease-set);
}
[data-design="a"] .qw-drawer__inner > a[data-num]::before {
  content: attr(data-num);
  font-family: var(--qw-font-data); font-size: var(--qw-text-dim);
  color: var(--qw-muted); letter-spacing: 0.08em;
}
[data-design="a"] .qw-drawer__inner > a[data-num]:hover { color: var(--qw-terracotta); padding-left: var(--qw-space-em); }
[data-design="a"] .qw-drawer__contacts { margin-top: var(--qw-space-course); display: flex; flex-direction: column; gap: var(--qw-space-bed); }
[data-design="a"] .qw-drawer__phone {
  font-family: var(--qw-font-data); font-size: 20px; color: var(--qw-slate);
  text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; gap: var(--qw-space-bed);
}
[data-design="a"] .qw-drawer__phone-label {
  font-family: var(--qw-font-display); font-size: var(--qw-text-dim);
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--qw-muted);
  border: 1px solid var(--qw-rule); padding: 3px 8px;
}
[data-design="a"] .qw-drawer__email {
  font-family: var(--qw-font-data); font-size: var(--qw-text-cap);
  color: var(--qw-slate-soft); text-decoration: none;
  border-bottom: 1px solid var(--qw-terracotta); align-self: flex-start;
  word-break: break-word;
}


/* ════════════════════════════════════════════════════════════════
   HERO — themed-movement (one animated layer: structural-diagram draw-in)
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-hero {
  position: relative; isolation: isolate;
  background: var(--qw-limestone-deep);
  padding: var(--qw-space-quarry) clamp(16px, 4vw, 40px);
  overflow: hidden;
  min-height: clamp(460px, 72vh, 720px);
  display: flex; align-items: center;
}
/* the single animated substrate layer */
[data-design="a"] .qw-hero__backdrop {
  position: absolute; inset: 0; z-index: 0;
  pointer-events: none;
}
[data-design="a"] .qw-diagram {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  opacity: 0;
  animation: qw-diagram-in 1100ms var(--qw-ease-cure) 200ms forwards;
}
@keyframes qw-diagram-in { to { opacity: .42; } }

/* diagram primitives draw in (stroke-dashoffset → 0), then hold + quiet breath */
[data-design="a"] .qw-diag {
  fill: none;
  stroke: var(--qw-slate);
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1400;
  stroke-dashoffset: 1400;
  animation: qw-draw var(--d-dur, 1.1s) var(--qw-ease-cure) var(--d-delay, 0s) forwards;
}
@keyframes qw-draw { to { stroke-dashoffset: 0; } }
[data-design="a"] .qw-diag--grade { stroke-width: 2; stroke: var(--qw-slate); }
[data-design="a"] .qw-diag--wall  { stroke-width: 2; }
[data-design="a"] .qw-diag--hatch { stroke-width: 1; stroke: var(--qw-muted); stroke-dasharray: 60; stroke-dashoffset: 60; }
[data-design="a"] .qw-diag--dim   { stroke-width: 1; stroke: var(--qw-muted); }
[data-design="a"] .qw-diag--tick  { stroke-width: 1; stroke: var(--qw-muted); stroke-dasharray: 24; stroke-dashoffset: 24; }
[data-design="a"] .qw-diag--bar {
  fill: var(--qw-slate); stroke: none;
  stroke-dasharray: 0; stroke-dashoffset: 0;
  opacity: 0;
  animation: qw-node-in 500ms var(--qw-ease-set) var(--d-delay, 0s) forwards;
}
[data-design="a"] .qw-diag--node {
  fill: var(--qw-slate-soft); stroke: none;
  stroke-dasharray: 0; stroke-dashoffset: 0;
  opacity: 0;
  animation: qw-node-in 500ms var(--qw-ease-set) var(--d-delay, 0s) forwards;
}
[data-design="a"] .qw-diag--node-accent { fill: var(--qw-terracotta); }
@keyframes qw-node-in { to { opacity: 1; } }
[data-design="a"] .qw-diag__label {
  fill: var(--qw-muted);
  font-family: var(--qw-font-data); font-size: 13px; letter-spacing: 0.12em;
  opacity: 0;
  animation: qw-node-in 600ms var(--qw-ease-set) var(--d-delay, 0s) forwards;
}
[data-design="a"] .qw-diag__callout {
  fill: var(--qw-terracotta);
  font-family: var(--qw-font-mark); font-size: 18px; letter-spacing: 0.1em;
  opacity: 0;
  animation: qw-node-in 600ms var(--qw-ease-set) var(--d-delay, 0s) forwards;
}

/* hero text — opacity:1 at FIRST PAINT, never reveal-gated */
[data-design="a"] .qw-hero__content {
  position: relative; z-index: 1;
  max-width: 720px; margin: 0 auto; width: 100%;
}
[data-design="a"] .qw-hero__eyebrow {
  font-family: var(--qw-font-display);
  font-size: var(--qw-text-dim); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--qw-terracotta);
  margin: 0 0 var(--qw-space-course);
}
[data-design="a"] .qw-hero__headline {
  font-family: var(--qw-font-carved);
  font-size: var(--qw-text-banner);
  line-height: 1.02; letter-spacing: 0.02em; text-transform: uppercase;
  color: var(--qw-slate);
  text-shadow: 0 1px 0 rgba(0,0,0,.18);
  margin: 0 0 var(--qw-space-course);
  max-width: 16ch;
}
[data-design="a"] .qw-hero__subtitle {
  font-family: var(--qw-font-body);
  font-size: clamp(18px, 2.4vw, 22px); line-height: 1.5;
  color: var(--qw-slate);
  margin: 0 0 var(--qw-space-bed); max-width: 52ch;
}
[data-design="a"] .qw-hero__proof {
  font-family: var(--qw-font-data);
  font-size: var(--qw-text-cap); letter-spacing: 0.04em;
  color: var(--qw-slate-soft);
  margin: 0 0 var(--qw-space-pier); max-width: 56ch;
}


/* ════════════════════════════════════════════════════════════════
   ELEMENT 2 — CTA "The Bid Stone" (quarryworks working code, remapped)
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-cta {
  position: relative;
  display: inline-flex; align-items: center;
  min-height: 48px; padding: 16px 28px;
  font-family: var(--qw-font-display);
  font-weight: 600; font-size: var(--qw-text-cap);
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--qw-limestone);
  background: var(--qw-slate);
  border: none; border-radius: 0;
  text-decoration: none; cursor: pointer;
  box-shadow: var(--qw-shadow-block);
  transition: transform 160ms var(--qw-ease-set), box-shadow 240ms var(--qw-ease-set);
}
[data-design="a"] .qw-cta::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px;
  height: 1px; background: var(--qw-terracotta);
  transform-origin: left center; transform: scaleX(0);
  transition: transform 360ms var(--qw-ease-set);
}
[data-design="a"] .qw-cta:hover,
[data-design="a"] .qw-cta:focus-visible {
  box-shadow: 3px 3px 0 var(--qw-limestone-deep), 6px 6px 0 var(--qw-rule);
}
[data-design="a"] .qw-cta:hover::after,
[data-design="a"] .qw-cta:focus-visible::after { transform: scaleX(1); }
[data-design="a"] .qw-cta:focus-visible { outline: 2px solid var(--qw-copper-oxide); outline-offset: 6px; }
[data-design="a"] .qw-cta:active { transform: translate(3px, 3px); box-shadow: var(--qw-shadow-press); }
[data-design="a"] .qw-cta__mark {
  position: absolute; top: 6px; right: 6px;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--qw-carved-red); opacity: 0;
  transition: opacity 240ms var(--qw-ease-set);
}
[data-design="a"] .qw-cta:active .qw-cta__mark { opacity: 1; }

/* repeated CTA block */
[data-design="a"] .qw-cta-repeat {
  background: var(--qw-slate);
  padding: var(--qw-space-bay) clamp(16px, 4vw, 40px);
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: var(--qw-space-course);
}
[data-design="a"] .qw-cta-repeat__prompt {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-deck);
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--qw-limestone);
}
[data-design="a"] .qw-cta-repeat .qw-cta {
  background: var(--qw-limestone); color: var(--qw-slate);
  box-shadow: 2px 2px 0 var(--qw-slate-soft), 4px 4px 0 var(--qw-limestone);
}
[data-design="a"] .qw-cta-repeat .qw-cta:hover,
[data-design="a"] .qw-cta-repeat .qw-cta:focus-visible {
  box-shadow: 3px 3px 0 var(--qw-slate-soft), 6px 6px 0 var(--qw-limestone);
}


/* ════════════════════════════════════════════════════════════════
   ELEMENT 6 — POINTER "dimension line" (quarryworks, remapped)
   MUST render visibly: wrapper opacity 1, bbox height >= 8px at all widths.
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-pointer {
  display: flex; justify-content: center;
  padding: clamp(40px, 8vw, 72px) 16px clamp(48px, 9vw, 88px);
  background: var(--qw-limestone);
  opacity: 1;                 /* never reveal-gated */
  color: var(--qw-muted);
}
[data-design="a"] .qw-pointer__assembly {
  display: inline-flex; flex-direction: column; align-items: center; gap: 8px;
}
[data-design="a"] .qw-pointer__tick {
  display: block; width: 18px; height: 1px;
  background: currentColor; opacity: 0.8;
}
[data-design="a"] .qw-pointer__rule {
  display: block; width: 1px; height: 56px;   /* static floor: always >= 8px */
  background: currentColor;
  transform-origin: top center;
  animation: qw-pointer-extend 5s var(--qw-ease-cure) infinite;
}
[data-design="a"] .qw-pointer__label {
  font-family: var(--qw-font-display);
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: currentColor;
  opacity: 0.45;                 /* baseline visible; pulses up — never 0 */
  animation: qw-pointer-stamp 5s var(--qw-ease-cure) infinite;
}
@keyframes qw-pointer-extend {
  0%, 100% { transform: scaleY(0.45); opacity: 0.5; }
  50%      { transform: scaleY(1);    opacity: 0.9; }
}
@keyframes qw-pointer-stamp {
  0%, 30%, 100% { opacity: 0.45; }
  50%, 70%      { opacity: 0.9; }
}


/* ════════════════════════════════════════════════════════════════
   ELEMENT 5 — FUNNEL "The Set Request Funnel" (quarryworks, remapped)
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-funnel {
  background: var(--qw-limestone);
  padding: var(--qw-space-quarry) clamp(16px, 4vw, 40px);
  max-width: 880px; margin: 0 auto;
}
[data-design="a"] .qw-funnel__stamp,
[data-design="a"] .qw-funnel__step-num {
  font-family: var(--qw-font-display);
  font-size: var(--qw-text-dim); letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--qw-muted); margin: 0 0 var(--qw-space-bed);
}
[data-design="a"] .qw-funnel__title {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-head);
  text-transform: uppercase; letter-spacing: 0.06em;
  margin: 0 0 var(--qw-space-bed); color: var(--qw-slate);
  text-shadow: var(--qw-shadow-carved);
}
[data-design="a"] .qw-funnel__deck {
  font-family: var(--qw-font-body); font-size: var(--qw-text-body); line-height: 1.7;
  color: var(--qw-slate-soft); margin: 0 0 var(--qw-space-pier); max-width: 64ch;
}
[data-design="a"] .qw-funnel__progress {
  display: flex; gap: var(--qw-space-em); list-style: none; padding: 0;
  margin: 0 0 var(--qw-space-pier); flex-wrap: wrap;
  font-family: var(--qw-font-display); font-size: var(--qw-text-dim);
  letter-spacing: 0.06em; text-transform: uppercase;
}
[data-design="a"] .qw-funnel__progress li {
  padding: 4px 10px; border: 1px solid var(--qw-rule); color: var(--qw-muted);
}
[data-design="a"] .qw-funnel__progress li[aria-current="true"] { border-color: var(--qw-slate); color: var(--qw-slate); }
[data-design="a"] .qw-funnel__progress li.qw-funnel__progress-item--set { border-color: var(--qw-moss); color: var(--qw-moss); }

[data-design="a"] .qw-funnel__form { position: relative; }
[data-design="a"] .qw-funnel__step {
  background: var(--qw-limestone-deep);
  border: 2px solid var(--qw-slate);
  padding: var(--qw-space-course);
  margin: 0;
  position: relative;
  opacity: 0; transform: translateY(-16px);
  transition: opacity var(--qw-dur-set) var(--qw-ease-set),
              transform var(--qw-dur-set) var(--qw-ease-set);
}
[data-design="a"] .qw-funnel__step:not([hidden]):not(.qw-funnel__step--buried) {
  opacity: 1; transform: translateY(0);
}
[data-design="a"] .qw-funnel__step[hidden] {
  display: block; opacity: 0; transform: translateY(-16px);
  visibility: hidden; position: absolute; inset: 0; pointer-events: none;
}
[data-design="a"] .qw-funnel__step.qw-funnel__step--buried {
  opacity: 0; transform: translateY(8px); pointer-events: none;
}
[data-design="a"] .qw-funnel__legend {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-deck);
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--qw-slate);
  padding: 0; margin: 0 0 var(--qw-space-course);
}
[data-design="a"] .qw-funnel__choices { display: grid; gap: var(--qw-space-em); margin: 0 0 var(--qw-space-course); }
[data-design="a"] .qw-funnel__choice {
  display: flex; align-items: baseline; gap: var(--qw-space-course);
  padding: var(--qw-space-course);
  background: var(--qw-limestone); border: 1px solid var(--qw-rule);
  cursor: pointer; min-height: 44px;
  font-family: var(--qw-font-body); font-size: var(--qw-text-body); color: var(--qw-slate);
  transition: border-color 240ms var(--qw-ease-set);
}
[data-design="a"] .qw-funnel__choice:hover { border-color: var(--qw-terracotta); }
[data-design="a"] .qw-funnel__choice input { accent-color: var(--qw-terracotta); flex: none; }
[data-design="a"] .qw-funnel__choice:has(input:checked) { border-color: var(--qw-terracotta); }

[data-design="a"] .qw-funnel__field { display: block; margin: 0 0 var(--qw-space-course); }
[data-design="a"] .qw-funnel__field-label {
  display: block; font-family: var(--qw-font-display);
  font-size: var(--qw-text-dim); letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--qw-slate); margin-bottom: var(--qw-space-em);
}
[data-design="a"] .qw-funnel__field-input {
  width: 100%; padding: 12px;
  background: var(--qw-limestone); border: 1px solid var(--qw-rule); border-radius: 0;
  font-family: var(--qw-font-data); font-size: var(--qw-text-body); color: var(--qw-slate);
  transition: border-color 120ms var(--qw-ease-set);
}
[data-design="a"] textarea.qw-funnel__field-input { font-family: var(--qw-font-body); line-height: 1.6; resize: vertical; }
[data-design="a"] .qw-funnel__field-input:focus { outline: none; border-color: var(--qw-slate); border-width: 2px; padding: 11px; }
[data-design="a"] .qw-funnel__field-input[aria-invalid="true"] { border-color: var(--qw-carved-red); }
[data-design="a"] .qw-funnel__note {
  font-family: var(--qw-font-data); font-size: var(--qw-text-dim);
  color: var(--qw-muted); margin: 0 0 var(--qw-space-course);
}

[data-design="a"] .qw-funnel__nav { display: flex; flex-wrap: wrap; gap: var(--qw-space-bed); align-items: center; }
[data-design="a"] .qw-funnel__next,
[data-design="a"] .qw-funnel__submit {
  font-family: var(--qw-font-display); font-weight: 600; font-size: var(--qw-text-cap);
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--qw-limestone); background: var(--qw-slate);
  border: none; border-radius: 0;
  min-height: 48px; padding: 14px 28px; cursor: pointer;
  box-shadow: var(--qw-shadow-block);
  transition: transform 160ms var(--qw-ease-set), box-shadow 240ms var(--qw-ease-set);
}
[data-design="a"] .qw-funnel__back {
  font-family: var(--qw-font-display); font-weight: 600; font-size: var(--qw-text-cap);
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--qw-slate); background: var(--qw-limestone);
  border: 1px solid var(--qw-rule); border-radius: 0;
  min-height: 48px; padding: 14px 24px; cursor: pointer;
  transition: border-color 200ms var(--qw-ease-set);
}
[data-design="a"] .qw-funnel__back:hover { border-color: var(--qw-terracotta); }
[data-design="a"] .qw-funnel__next:hover,
[data-design="a"] .qw-funnel__submit:hover {
  box-shadow: 3px 3px 0 var(--qw-limestone-deep), 6px 6px 0 var(--qw-rule);
}
[data-design="a"] .qw-funnel__next:active,
[data-design="a"] .qw-funnel__submit:active { transform: translate(3px, 3px); box-shadow: var(--qw-shadow-press); }
[data-design="a"] .qw-funnel__next:focus-visible,
[data-design="a"] .qw-funnel__submit:focus-visible,
[data-design="a"] .qw-funnel__back:focus-visible { outline: 2px solid var(--qw-copper-oxide); outline-offset: 4px; }

[data-design="a"] .qw-funnel__confirm {
  background: var(--qw-limestone-deep);
  border: 2px solid var(--qw-carved-red);
  padding: var(--qw-space-course); margin-top: var(--qw-space-bed);
  position: relative;
}
[data-design="a"] .qw-funnel__confirm[hidden] { display: none; }
[data-design="a"] .qw-funnel__mark {
  position: absolute; top: var(--qw-space-bed); right: var(--qw-space-bed);
  width: 40px; height: 40px; border-radius: 50%;
  border: 2px solid var(--qw-carved-red);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--qw-font-mark); font-size: 12px; letter-spacing: 0.1em;
  color: var(--qw-carved-red); margin: 0; text-transform: uppercase;
}
[data-design="a"] .qw-funnel__stamp--accepted {
  color: var(--qw-carved-red); border: 1px solid var(--qw-carved-red);
  padding: 4px 10px; display: inline-block; margin: 0 0 var(--qw-space-bed);
}
[data-design="a"] .qw-funnel__confirm-title {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-deck);
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--qw-slate);
  margin: 0 0 var(--qw-space-bed);
}
[data-design="a"] .qw-funnel__confirm-body {
  font-family: var(--qw-font-body); font-size: var(--qw-text-body); line-height: 1.7;
  color: var(--qw-slate-soft); margin: 0 0 var(--qw-space-course); max-width: 60ch;
}
[data-design="a"] .qw-funnel__summary {
  display: grid; grid-template-columns: auto 1fr; gap: 6px var(--qw-space-course);
  font-family: var(--qw-font-data); font-size: var(--qw-text-dim);
}
[data-design="a"] .qw-funnel__summary dt { color: var(--qw-muted); text-transform: uppercase; letter-spacing: 0.06em; }
[data-design="a"] .qw-funnel__summary dd { margin: 0; color: var(--qw-slate); }

[data-design="a"] .qw-funnel__footer {
  max-width: 880px; margin: var(--qw-space-pier) auto 0;
  padding-top: var(--qw-space-course);
  border-top: 1px solid color-mix(in oklab, var(--qw-rule) 40%, transparent);
}
[data-design="a"] .qw-funnel__footer-line {
  font-family: var(--qw-font-data); font-size: var(--qw-text-cap); line-height: 1.7;
  color: var(--qw-muted); margin: 0 0 var(--qw-space-em); max-width: 70ch;
}


/* ════════════════════════════════════════════════════════════════
   ELEMENT 3 — "The Set Course" specimen plates (quarryworks, remapped)
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-course {
  background: var(--qw-limestone);
  padding: var(--qw-space-quarry) clamp(16px, 4vw, 40px);
  max-width: 1280px; margin: 0 auto;
}
[data-design="a"] .qw-course__head { margin-bottom: var(--qw-space-bay); max-width: 64ch; }
[data-design="a"] .qw-course__stamp {
  font-family: var(--qw-font-display); font-size: var(--qw-text-dim);
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--qw-muted);
  margin: 0 0 var(--qw-space-bed);
}
[data-design="a"] .qw-course__title {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-head);
  text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 var(--qw-space-bed);
  color: var(--qw-slate); text-shadow: 0 1px 0 rgba(0,0,0,.15);
}
[data-design="a"] .qw-course__deck {
  font-family: var(--qw-font-body); font-size: var(--qw-text-body); line-height: 1.7;
  color: var(--qw-slate-soft); margin: 0;
}
[data-design="a"] .qw-course__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--qw-space-pier); }
@media (min-width: 768px) { [data-design="a"] .qw-course__list { grid-template-columns: 1fr 1fr; } }
[data-design="a"] .qw-plate {
  background: var(--qw-limestone-deep);
  border: 1px solid var(--qw-rule);
  padding: var(--qw-space-course);
  position: relative; height: 100%;
  opacity: 0; transform: translateY(-16px);
  transition: opacity var(--qw-dur-set) var(--qw-ease-set),
              transform var(--qw-dur-set) var(--qw-ease-set);
}
[data-design="a"] .qw-plate--set { opacity: 1; transform: translateY(0); }
[data-design="a"] .qw-plate--set::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px; background: var(--qw-terracotta);
  animation: qw-mortar 1200ms var(--qw-ease-cure);
}
@keyframes qw-mortar { 0% { opacity: 0; } 20% { opacity: 1; } 100% { opacity: .6; } }
[data-design="a"] .qw-plate__num {
  font-family: var(--qw-font-display); font-size: var(--qw-text-dim);
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--qw-muted);
  display: block; margin-bottom: var(--qw-space-bed);
}
[data-design="a"] .qw-plate__title {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-deck);
  text-transform: uppercase; letter-spacing: 0.04em; margin: 0 0 var(--qw-space-bed); color: var(--qw-slate);
}
[data-design="a"] .qw-plate__body {
  font-family: var(--qw-font-body); font-size: var(--qw-text-body); line-height: 1.7;
  color: var(--qw-slate-soft); margin: 0 0 var(--qw-space-course);
}
[data-design="a"] .qw-plate__spec {
  display: grid; grid-template-columns: auto 1fr; gap: 4px var(--qw-space-bed);
  font-family: var(--qw-font-data); font-size: var(--qw-text-dim); margin: 0;
  padding-right: 44px;
}
[data-design="a"] .qw-plate__spec dt { color: var(--qw-muted); text-transform: uppercase; letter-spacing: 0.06em; }
[data-design="a"] .qw-plate__spec dd { margin: 0; color: var(--qw-slate); }
[data-design="a"] .qw-plate__mark {
  position: absolute; bottom: var(--qw-space-bed); right: var(--qw-space-bed);
  width: 32px; height: 32px; border-radius: 50%;
  border: 2px solid var(--qw-carved-red);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--qw-font-mark); font-size: 11px; letter-spacing: 0.08em;
  color: var(--qw-carved-red); text-transform: uppercase;
}


/* ════════════════════════════════════════════════════════════════
   ELEMENT 4 — "The Chisel Strike" monument + principles (Process)
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-strike {
  background: var(--qw-limestone-deep);
  padding: var(--qw-space-quarry) clamp(16px, 4vw, 40px);
  text-align: center; max-width: 1280px; margin: 0 auto;
}
[data-design="a"] .qw-strike__title {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-monument);
  text-transform: uppercase; letter-spacing: 0.06em;
  margin: 0 0 var(--qw-space-course); color: var(--qw-slate);
  line-height: 0.94; text-shadow: var(--qw-shadow-carved);
  opacity: 0; transform: translateY(12px);
  transition: opacity var(--qw-dur-quarry) var(--qw-ease-set),
              transform var(--qw-dur-quarry) var(--qw-ease-set);
}
[data-design="a"] .qw-strike__title.qw-strike__title--struck { opacity: 1; transform: translateY(0); }
[data-design="a"] .qw-strike__deck {
  font-family: var(--qw-font-body); font-size: var(--qw-text-body); line-height: 1.7;
  color: var(--qw-slate-soft); margin: 0 auto var(--qw-space-bay); max-width: 64ch;
}
[data-design="a"] .qw-strike__principles {
  display: grid; gap: var(--qw-space-pier);
  text-align: left; max-width: 1100px; margin: 0 auto;
}
@media (min-width: 768px) { [data-design="a"] .qw-strike__principles { grid-template-columns: repeat(3, 1fr); } }
[data-design="a"] .qw-principle { border-top: 2px solid var(--qw-rule); padding-top: var(--qw-space-course); }
[data-design="a"] .qw-principle__num {
  font-family: var(--qw-font-data); font-size: var(--qw-text-dim);
  letter-spacing: 0.1em; color: var(--qw-terracotta); display: block; margin-bottom: var(--qw-space-bed);
}
[data-design="a"] .qw-principle__head {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-deck);
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--qw-slate);
  margin: 0 0 var(--qw-space-bed);
}
[data-design="a"] .qw-principle__body {
  font-family: var(--qw-font-body); font-size: var(--qw-text-body); line-height: 1.7;
  color: var(--qw-slate-soft); margin: 0;
}


/* ════════════════════════════════════════════════════════════════
   ABOUT / QUARRY BOOK
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-about {
  background: var(--qw-limestone);
  padding: var(--qw-space-quarry) clamp(16px, 4vw, 40px);
  max-width: 1280px; margin: 0 auto;
  display: grid; gap: var(--qw-space-bay);
}
@media (min-width: 880px) { [data-design="a"] .qw-about { grid-template-columns: 1.6fr 1fr; align-items: start; } }
[data-design="a"] .qw-about__title {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-head);
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--qw-slate);
  margin: 0 0 var(--qw-space-course); text-shadow: 0 1px 0 rgba(0,0,0,.15);
}
[data-design="a"] .qw-about__body p {
  font-family: var(--qw-font-body); font-size: var(--qw-text-body); line-height: 1.7;
  color: var(--qw-slate-soft); margin: 0 0 var(--qw-space-course); max-width: 68ch;
}
[data-design="a"] .qw-about__ledger {
  background: var(--qw-limestone-deep); border: 1px solid var(--qw-rule);
  padding: var(--qw-space-course);
}
[data-design="a"] .qw-ledger__head {
  font-family: var(--qw-font-display); font-size: var(--qw-text-dim);
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--qw-muted);
  margin: 0 0 var(--qw-space-course);
}
[data-design="a"] .qw-ledger__list { display: grid; gap: var(--qw-space-bed); margin: 0; }
[data-design="a"] .qw-ledger__list > div {
  display: grid; grid-template-columns: auto 1fr; gap: var(--qw-space-bed);
  align-items: baseline; border-bottom: 1px solid color-mix(in oklab, var(--qw-rule) 35%, transparent);
  padding-bottom: var(--qw-space-em);
}
[data-design="a"] .qw-ledger__list dt {
  font-family: var(--qw-font-data); font-size: var(--qw-text-dim);
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--qw-muted);
}
[data-design="a"] .qw-ledger__list dd { margin: 0; font-family: var(--qw-font-body); font-size: var(--qw-text-cap); color: var(--qw-slate); }


/* ════════════════════════════════════════════════════════════════
   SERVICE AREA
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-area {
  background: var(--qw-limestone-deep);
  padding: var(--qw-space-quarry) clamp(16px, 4vw, 40px);
}
[data-design="a"] .qw-area__content { max-width: 1280px; margin: 0 auto; }
[data-design="a"] .qw-area__title {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-head);
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--qw-slate);
  margin: 0 0 var(--qw-space-bay); text-shadow: 0 1px 0 rgba(0,0,0,.15); max-width: 20ch;
}
[data-design="a"] .qw-area__grid { display: grid; gap: var(--qw-space-pier); }
@media (min-width: 768px) { [data-design="a"] .qw-area__grid { grid-template-columns: repeat(3, 1fr); } }
[data-design="a"] .qw-area__col-head {
  font-family: var(--qw-font-display); font-size: var(--qw-text-dim);
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--qw-muted);
  margin: 0 0 var(--qw-space-bed); border-bottom: 1px solid var(--qw-rule); padding-bottom: var(--qw-space-em);
}
[data-design="a"] .qw-area__list { list-style: none; padding: 0; margin: 0; }
[data-design="a"] .qw-area__list li {
  font-family: var(--qw-font-body); font-size: var(--qw-text-body); line-height: 1.8; color: var(--qw-slate);
}
[data-design="a"] .qw-area__phone {
  display: block; font-family: var(--qw-font-data); font-size: 20px; color: var(--qw-slate);
  text-decoration: none; border-bottom: 1px solid var(--qw-terracotta); margin-bottom: var(--qw-space-bed);
  min-height: 44px; padding-top: 4px; align-self: start;
}
[data-design="a"] .qw-area__email {
  font-family: var(--qw-font-data); font-size: var(--qw-text-cap); color: var(--qw-slate-soft);
  text-decoration: none; border-bottom: 1px solid var(--qw-terracotta); word-break: break-word;
}


/* ════════════════════════════════════════════════════════════════
   FOOTER / QUARRY IMPRINT
   ════════════════════════════════════════════════════════════════ */
[data-design="a"] .qw-footer {
  background: var(--qw-slate);
  color: var(--qw-limestone);
  padding: var(--qw-space-bay) clamp(16px, 4vw, 40px) var(--qw-space-pier);
}
[data-design="a"] .qw-footer__grid {
  max-width: 1280px; margin: 0 auto;
  display: grid; gap: var(--qw-space-pier);
}
@media (min-width: 768px) { [data-design="a"] .qw-footer__grid { grid-template-columns: repeat(3, 1fr); } }
[data-design="a"] .qw-footer__firm {
  font-family: var(--qw-font-carved); font-size: var(--qw-text-deck);
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--qw-limestone);
  margin: 0 0 var(--qw-space-bed);
}
[data-design="a"] .qw-footer__tag,
[data-design="a"] .qw-footer__area {
  font-family: var(--qw-font-data); font-size: var(--qw-text-dim);
  letter-spacing: 0.04em; color: color-mix(in oklab, var(--qw-limestone) 70%, transparent);
  margin: 0 0 var(--qw-space-em);
}
[data-design="a"] .qw-footer__col-head {
  font-family: var(--qw-font-display); font-size: var(--qw-text-dim);
  letter-spacing: 0.12em; text-transform: uppercase;
  color: color-mix(in oklab, var(--qw-limestone) 65%, transparent);
  margin: 0 0 var(--qw-space-course);
}
[data-design="a"] .qw-footer__phone {
  display: block; font-family: var(--qw-font-data); font-size: 20px; color: var(--qw-limestone);
  text-decoration: none; margin-bottom: var(--qw-space-bed); min-height: 44px; padding-top: 4px;
}
[data-design="a"] .qw-footer__email {
  font-family: var(--qw-font-data); font-size: var(--qw-text-cap);
  color: color-mix(in oklab, var(--qw-limestone) 75%, transparent);
  text-decoration: none; border-bottom: 1px solid var(--qw-terracotta); word-break: break-word;
}
[data-design="a"] .qw-cta--footer { background: var(--qw-limestone); color: var(--qw-slate); box-shadow: 2px 2px 0 var(--qw-slate-soft); }
[data-design="a"] .qw-cta--footer:hover,
[data-design="a"] .qw-cta--footer:focus-visible { box-shadow: 3px 3px 0 var(--qw-slate-soft), 6px 6px 0 var(--qw-limestone); }
[data-design="a"] .qw-footer__imprint {
  max-width: 1280px; margin: var(--qw-space-bay) auto 0;
  padding-top: var(--qw-space-course);
  border-top: 1px solid color-mix(in oklab, var(--qw-limestone) 25%, transparent);
  display: flex; flex-wrap: wrap; gap: var(--qw-space-bed); justify-content: space-between;
}
[data-design="a"] .qw-footer__copy { font-family: var(--qw-font-body); font-size: var(--qw-text-cap); color: color-mix(in oklab, var(--qw-limestone) 80%, transparent); margin: 0; }
[data-design="a"] .qw-footer__mono { font-family: var(--qw-font-data); font-size: 11px; letter-spacing: 0.08em; color: color-mix(in oklab, var(--qw-limestone) 45%, transparent); margin: 0; }


/* ════════════════════════════════════════════════════════════════
   RESPONSIVE — hero text scaling, drawer full-bleed on small
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 560px) {
  [data-design="a"] .qw-funnel { padding: var(--qw-space-bay) var(--qw-space-bed); }
  [data-design="a"] .qw-funnel__step { padding: var(--qw-space-bed); }
  [data-design="a"] .qw-hero__headline { font-size: clamp(34px, 11vw, 52px); }
  [data-design="a"] .qw-drawer__inner { width: 100vw; border-left: none; padding: var(--qw-space-bay) var(--qw-space-course) var(--qw-space-course); }
}


/* ════════════════════════════════════════════════════════════════
   REDUCED MOTION — fallback on every signature interaction
   ════════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .qw-header__rule { animation: none; transform: scaleX(1); opacity: .5; }
  [data-design="a"] .qw-logo__mark { transition: none; }
  [data-design="a"] .qw-burger span { transition: none; }

  /* hero backdrop: settled, visible, no animation */
  [data-design="a"] .qw-diagram { animation: none; opacity: .42; }
  [data-design="a"] .qw-diag { animation: none; stroke-dashoffset: 0; }
  [data-design="a"] .qw-diag--bar,
  [data-design="a"] .qw-diag--node,
  [data-design="a"] .qw-diag__label,
  [data-design="a"] .qw-diag__callout { animation: none; opacity: 1; }

  /* pointer: hold visible (rule keeps its 56px height; opacity floor) */
  [data-design="a"] .qw-pointer__rule { animation: none; transform: none; opacity: 0.7; }
  [data-design="a"] .qw-pointer__label { animation: none; opacity: 0.7; }

  /* CTA */
  [data-design="a"] .qw-cta, [data-design="a"] .qw-cta::after, [data-design="a"] .qw-cta__mark { transition: none; }

  /* plates / strike / funnel steps: appear without transform */
  [data-design="a"] .qw-plate { transition: opacity 200ms linear; transform: none; opacity: 1; }
  [data-design="a"] .qw-plate--set::after { animation: none; opacity: .6; }
  [data-design="a"] .qw-strike__title { transition: none; opacity: 1; transform: none; }
  [data-design="a"] .qw-funnel__step { transition: opacity 200ms linear; transform: none; }
  [data-design="a"] .qw-funnel__step[hidden] { transform: none; }
}


/* ─── MOBILE / OVERFLOW GUARD (MANDATORY BLOCK — keep at bottom) ─── */
[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; }
