/* ═══════════════════════════════════════════════════════════════
   Quarryworks → Design-A · Tom Kemph Construction Inc.
   All selectors scoped to [data-design="a"] (no bare/global rules)
   design-id: quarryworks remapped → "a"  |  schema 0.6.0
   ═══════════════════════════════════════════════════════════════ */

/* ── TOKENS ─────────────────────────────────────────────────── */
:root {
  --design-a-primary:    #A74628;

  --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-font-carved:      "Cinzel", "Trajan Pro", "Goudy Old Style", serif;
  --qw-font-display:     "Druk Wide", "Founders Grotesk Condensed", sans-serif;
  --qw-font-body:        "PT Serif", "Roboto Slab", Georgia, serif;
  --qw-font-mark:        "Cinzel", serif;
  --qw-font-data:        "IBM Plex Mono", "JetBrains Mono", monospace;

  --qw-text-dim:         12px;
  --qw-text-cap:         14px;
  --qw-text-body:        17px;
  --qw-text-deck:        26px;
  --qw-text-head:        clamp(32px, 4.5vw, 44px);
  --qw-text-banner:      clamp(48px, 8vw, 72px);
  --qw-text-monument:    clamp(52px, 10vw, 120px);

  --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(96px, 14vw, 140px);

  --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);

  --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);
}

@media (prefers-color-scheme: dark) {
  :root {
    --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;
    --design-a-primary:    #CD6B45;
  }
}

/* ── BASE RESET (scoped) ─────────────────────────────────────── */
[data-design="a"].dq-design {
  font-family: var(--qw-font-body);
  font-size: var(--qw-text-body);
  line-height: 1.65;
  color: var(--qw-slate);
  background: var(--qw-limestone);
}

/* ─────────────────────────────────────────────────────────────
   E1 · HEADER — The Carved Bar
   ───────────────────────────────────────────────────────────── */
[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: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--qw-space-course);
  padding: var(--qw-space-course) clamp(var(--qw-space-course), 5vw, var(--qw-space-pier));
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
}

[data-design="a"] .qw-logo {
  text-decoration: none;
  color: var(--qw-slate);
  display: flex;
  align-items: baseline;
  gap: var(--qw-space-course);
  flex-wrap: wrap;
}

[data-design="a"] .qw-logo__mark {
  font-family: var(--qw-font-carved);
  font-size: clamp(16px, 2.2vw, 24px);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-shadow: var(--qw-carved-depth, 0 1px 0 rgba(0,0,0,.15));
  transition: text-shadow 280ms var(--qw-ease-set);
  white-space: nowrap;
}

[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);
}

[data-design="a"] .qw-logo__desc {
  font-family: var(--qw-font-data);
  font-size: var(--qw-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--qw-muted);
}

/* atmospheric layer in header bar (not nav, not phone) */
[data-design="a"] .qw-header__atm {
  width: 100%;
  height: 1px;
  background: var(--qw-muted);
  opacity: 0.18;
  animation: a-atm-pulse 8s var(--qw-ease-cure) infinite;
}

@keyframes a-atm-pulse {
  0%, 100% { opacity: 0.08; }
  50%       { opacity: 0.28; }
}

/* hamburger */
[data-design="a"] .qw-nav-toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  min-width: 44px;
  min-height: 44px;
  color: var(--qw-slate);
}

[data-design="a"] .qw-nav-toggle__bar {
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  transition: transform 240ms var(--qw-ease-set), opacity 240ms;
}

[data-design="a"] .qw-header__rule {
  height: 2px;
  background: var(--qw-rule);
  transform-origin: center center;
  animation: a-rule-draw 32s var(--qw-ease-cure) infinite;
}

@keyframes a-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: 200;
}

[data-design="a"] .qw-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(38,37,40,.55);
}

[data-design="a"] .qw-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(320px, 88vw);
  background: var(--qw-limestone);
  border-left: 2px solid var(--qw-rule);
  padding: var(--qw-space-pier) var(--qw-space-course) var(--qw-space-course);
  display: flex;
  flex-direction: column;
  gap: var(--qw-space-course);
  overflow-y: auto;
}

[data-design="a"] .qw-drawer__close {
  align-self: flex-end;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  min-width: 44px;
  min-height: 44px;
  color: var(--qw-slate);
  line-height: 1;
}

[data-design="a"] .qw-drawer__nav {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--qw-space-em);
}

[data-design="a"] .qw-drawer__link {
  display: block;
  padding: var(--qw-space-em) 0;
  font-family: var(--qw-font-display);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--qw-slate);
  text-decoration: none;
  border-bottom: 1px solid var(--qw-limestone-deep);
  min-height: 44px;
}

[data-design="a"] .qw-drawer__ctas {
  display: flex;
  flex-direction: column;
  gap: var(--qw-space-bed);
  margin-top: auto;
}

[data-design="a"] .qw-drawer__phone {
  display: block;
  padding: 14px 0;
  font-family: var(--qw-font-data);
  font-size: 18px;
  color: var(--qw-slate);
  text-decoration: none;
  letter-spacing: 0.04em;
  min-height: 44px;
}

/* ─────────────────────────────────────────────────────────────
   HERO — Ken-Burns substrate (one animated layer) + text
   ───────────────────────────────────────────────────────────── */
[data-design="a"] .qw-hero {
  position: relative;
  min-height: 72vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--qw-slate);
}

/* ONE animated layer: Ken-Burns on real foundation photo */
[data-design="a"] .qw-hero__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
}

[data-design="a"] .qw-hero__kb-wrap {
  position: absolute;
  inset: -6%;
  overflow: hidden;
}

[data-design="a"] .qw-hero__kb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  animation: a-kb-drift 18s var(--qw-ease-cure) infinite alternate;
  transform-origin: center center;
}

/* sustained ambient Ken-Burns drift: slow zoom + gentle pan, no directional primitive */
@keyframes a-kb-drift {
  0%   { transform: scale(1.06) translate(-2%, 1%); }
  100% { transform: scale(1.12) translate(2%, -1%); }
}

/* limestone tint at ≥0.42 opacity — readable contrast + geological color */
[data-design="a"] .qw-hero__tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(38,37,40,.72) 0%,
    rgba(38,37,40,.52) 55%,
    rgba(38,37,40,.68) 100%
  );
}

/* dust motes — semi-transparent drift, quarryworks vocabulary */
[data-design="a"] .qw-dust {
  position: absolute;
  border-radius: 50%;
  background: rgba(228,220,196,.28);
  pointer-events: none;
}

[data-design="a"] .qw-dust--a {
  width: 3px; height: 3px;
  top: 30%; left: 18%;
  animation: a-dust-a var(--qw-dur-dust) linear infinite;
}

[data-design="a"] .qw-dust--b {
  width: 2px; height: 2px;
  top: 55%; left: 65%;
  animation: a-dust-b calc(var(--qw-dur-dust) * 1.3) linear infinite;
}

[data-design="a"] .qw-dust--c {
  width: 4px; height: 4px;
  top: 70%; left: 42%;
  animation: a-dust-c calc(var(--qw-dur-dust) * 0.8) linear infinite;
}

@keyframes a-dust-a {
  0%   { transform: translate(0,0) scale(1); opacity: .2; }
  40%  { transform: translate(28px,-18px) scale(1.2); opacity: .5; }
  100% { transform: translate(52px,-6px) scale(.8); opacity: .1; }
}

@keyframes a-dust-b {
  0%   { transform: translate(0,0); opacity: .15; }
  50%  { transform: translate(-20px,12px); opacity: .45; }
  100% { transform: translate(10px,24px); opacity: .1; }
}

@keyframes a-dust-c {
  0%   { transform: translate(0,0) scale(.9); opacity: .1; }
  35%  { transform: translate(16px,-22px) scale(1.1); opacity: .35; }
  100% { transform: translate(-12px,-8px) scale(.8); opacity: .05; }
}

/* hero text — all opacity:1 at first paint, no opacity animation */
[data-design="a"] .qw-hero__content {
  position: relative;
  z-index: 2;
  padding: clamp(64px, 10vh, 120px) clamp(var(--qw-space-course), 6vw, var(--qw-space-pier));
  max-width: 900px;
}

[data-design="a"] .qw-hero__stamp {
  font-family: var(--qw-font-data);
  font-size: var(--qw-text-dim);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--qw-terracotta);
  margin: 0 0 var(--qw-space-bed);
  opacity: 1;
}

[data-design="a"] .qw-hero__headline {
  font-family: var(--qw-font-carved);
  font-size: var(--qw-text-banner);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.06;
  color: var(--qw-limestone);
  text-shadow: 0 2px 4px rgba(0,0,0,.4);
  margin: 0 0 var(--qw-space-course);
  opacity: 1;
}

[data-design="a"] .qw-hero__subtitle {
  font-family: var(--qw-font-body);
  font-size: clamp(16px, 2.2vw, 20px);
  line-height: 1.6;
  color: var(--qw-limestone-deep);
  margin: 0 0 var(--qw-space-bed);
  max-width: 58ch;
  opacity: 1;
}

[data-design="a"] .qw-hero__proof {
  font-family: var(--qw-font-data);
  font-size: var(--qw-text-dim);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--qw-muted);
  margin: 0 0 var(--qw-space-pier);
  opacity: 1;
}

[data-design="a"] .qw-hero__cta {
  margin-top: var(--qw-space-bed);
}

/* ─────────────────────────────────────────────────────────────
   E2 · CTA — The Bid Stone
   ───────────────────────────────────────────────────────────── */
[data-design="a"] .qw-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  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);
  min-height: 44px;
}

[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; }

/* ─────────────────────────────────────────────────────────────
   E6 · POINTER — dimension-line wayfinding
   Immediate preceding sibling of #funnel
   ───────────────────────────────────────────────────────────── */
[data-design="a"] .qw-pointer {
  display: flex;
  justify-content: center;
  padding: clamp(44px, 8vw, 80px) 16px clamp(56px, 10vw, 96px);
  background: var(--qw-limestone);
  color: var(--qw-slate);
}

[data-design="a"] .qw-pointer__hit {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: currentColor;
}

[data-design="a"] .qw-pointer__tick {
  display: block;
  width: 16px;
  height: 2px;
  background: currentColor;
  opacity: 0.7;
}

[data-design="a"] .qw-pointer__rule {
  display: block;
  width: 1px;
  height: 60px;
  background: currentColor;
  transform-origin: top center;
  animation: a-pointer-extend 5s ease-in-out infinite;
}

[data-design="a"] .qw-pointer__label {
  font-family: var(--qw-font-data);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0;
  animation: a-pointer-stamp 5s ease-in-out infinite;
}

@keyframes a-pointer-extend {
  0%, 100% { transform: scaleY(0.4); opacity: 0.4; }
  50%      { transform: scaleY(1);   opacity: 0.85; }
}

@keyframes a-pointer-stamp {
  0%, 30%, 100% { opacity: 0; }
  50%, 70%      { opacity: 0.85; }
}

/* ─────────────────────────────────────────────────────────────
   E5 · FUNNEL — The Set Request
   ───────────────────────────────────────────────────────────── */
[data-design="a"] .qw-funnel {
  background: var(--qw-limestone);
  padding: var(--qw-space-quarry) clamp(var(--qw-space-course), 6vw, var(--qw-space-pier));
  max-width: 880px;
  margin: 0 auto;
  box-sizing: border-box;
}

[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.06em;
  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.08em;
  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: 60ch;
}

[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 0 var(--qw-space-bed);
  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.06em;
  color: var(--qw-slate);
  padding: 0;
  margin: 0 0 var(--qw-space-course);
  display: block;
  width: 100%;
}

[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__choices--fields {
  display: block;
}

[data-design="a"] .qw-funnel__choice {
  display: flex;
  align-items: center;
  gap: var(--qw-space-course);
  padding: var(--qw-space-course);
  background: var(--qw-limestone);
  border: 1px solid var(--qw-rule);
  cursor: pointer;
  font-family: var(--qw-font-body);
  font-size: var(--qw-text-body);
  color: var(--qw-slate);
  transition: border-color 240ms var(--qw-ease-set);
  min-height: 44px;
}

[data-design="a"] .qw-funnel__choice:hover { border-color: var(--qw-terracotta); }
[data-design="a"] .qw-funnel__choice input { accent-color: var(--qw-terracotta); }
[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.06em;
  text-transform: uppercase;
  color: var(--qw-slate);
  margin-bottom: var(--qw-space-em);
}

[data-design="a"] .qw-funnel__field-input {
  width: 100%;
  padding: 10px 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);
  box-sizing: border-box;
  transition: border-color 120ms var(--qw-ease-set);
}

[data-design="a"] .qw-funnel__field-input:focus {
  outline: none;
  border-color: var(--qw-slate);
  border-width: 2px;
  padding: 9px 11px;
}

[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;
  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);
  min-height: 44px;
}

[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 {
  outline: 2px solid var(--qw-copper-oxide);
  outline-offset: 4px;
}

/* confirmation panel */
[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],
[data-design="a"] .qw-funnel__confirm[style*="display:none"] { 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.16em;
  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;
}

[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.06em;
  color: var(--qw-slate);
  margin: var(--qw-space-bed) 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;
}

/* funnel trust block */
[data-design="a"] .qw-funnel__trust {
  margin-top: var(--qw-space-pier);
  border-top: 1px solid var(--qw-limestone-deep);
  padding-top: var(--qw-space-course);
}

[data-design="a"] .qw-funnel__trust-line {
  font-family: var(--qw-font-data);
  font-size: var(--qw-text-dim);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--qw-muted);
  margin: 0 0 var(--qw-space-em);
  line-height: 1.6;
}

[data-design="a"] .qw-funnel__trust-line a {
  color: var(--qw-terracotta);
  text-decoration: none;
}

/* ─────────────────────────────────────────────────────────────
   E3 · PORTFOLIO — The Set Course (mid-page ambient)
   ───────────────────────────────────────────────────────────── */
[data-design="a"] .qw-course {
  background: var(--qw-limestone);
  padding: var(--qw-space-quarry) clamp(var(--qw-space-course), 6vw, var(--qw-space-pier));
  box-sizing: border-box;
}

[data-design="a"] .qw-course__head { margin-bottom: var(--qw-space-bay); }

[data-design="a"] .qw-course__stamp {
  font-family: var(--qw-font-display);
  font-size: var(--qw-text-dim);
  letter-spacing: 0.06em;
  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.08em;
  margin: 0;
  color: var(--qw-slate);
  text-shadow: 0 1px 0 rgba(0,0,0,.15);
}

[data-design="a"] .qw-course__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: clamp(24px, 4vw, var(--qw-space-pier));
}

[data-design="a"] .qw-plate {
  background: var(--qw-limestone-deep);
  border: 1px solid var(--qw-rule);
  padding: var(--qw-space-course);
  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-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: a-mortar 1200ms var(--qw-ease-cure);
}

@keyframes a-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.06em;
  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.06em;
  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);
  max-width: 65ch;
}

[data-design="a"] .qw-plate__photo {
  width: 100%;
  height: auto;
  display: block;
  margin: var(--qw-space-course) 0;
  border: 1px solid var(--qw-limestone-deep);
}

[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;
}

[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.16em;
  color: var(--qw-carved-red);
  text-transform: uppercase;
}

[data-design="a"] .qw-course__repeat-cta {
  margin-top: var(--qw-space-bay);
  display: flex;
  justify-content: flex-start;
}

/* ─────────────────────────────────────────────────────────────
   E4 · SERVICES — The Chisel Strike (mid-page ambient)
   ───────────────────────────────────────────────────────────── */
[data-design="a"] .qw-strike {
  background: var(--qw-limestone-deep);
  padding: var(--qw-space-quarry) clamp(var(--qw-space-course), 6vw, var(--qw-space-pier));
  box-sizing: border-box;
}

[data-design="a"] .qw-strike__title {
  font-family: var(--qw-font-carved);
  font-size: var(--qw-text-monument);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 var(--qw-space-pier);
  color: var(--qw-slate);
  line-height: 0.92;
  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__title.qw-strike__title--struck::after {
  content: "";
  display: inline-block;
  width: 3px; height: 3px;
  background: var(--qw-limestone-deep);
  margin-left: 4px;
  animation: a-chip-fall 600ms var(--qw-ease-cure);
  vertical-align: baseline;
}

@keyframes a-chip-fall {
  0%   { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(8px); }
}

[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-pier) 0;
  max-width: 66ch;
}

[data-design="a"] .qw-services__grid {
  display: grid;
  gap: clamp(24px, 3vw, var(--qw-space-pier));
  margin-top: var(--qw-space-pier);
}

[data-design="a"] .qw-service-card {
  background: var(--qw-limestone);
  border: 1px solid var(--qw-rule);
  padding: var(--qw-space-course);
}

[data-design="a"] .qw-service-card__title {
  font-family: var(--qw-font-carved);
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--qw-slate);
  margin: 0 0 var(--qw-space-em);
}

[data-design="a"] .qw-service-card__body {
  font-family: var(--qw-font-data);
  font-size: var(--qw-text-dim);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--qw-muted);
  line-height: 1.7;
  margin: 0;
}

/* ─────────────────────────────────────────────────────────────
   ABOUT
   ───────────────────────────────────────────────────────────── */
[data-design="a"] .qw-about {
  background: var(--qw-limestone);
  padding: var(--qw-space-quarry) clamp(var(--qw-space-course), 6vw, var(--qw-space-pier));
  box-sizing: border-box;
}

[data-design="a"] .qw-about__inner {
  max-width: 900px;
}

[data-design="a"] .qw-about__head { margin-bottom: var(--qw-space-bay); }

[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: 65ch;
}

[data-design="a"] .qw-about__spec {
  margin-top: var(--qw-space-pier);
}

/* ─────────────────────────────────────────────────────────────
   FOOTER
   ───────────────────────────────────────────────────────────── */
[data-design="a"] .qw-footer {
  background: var(--qw-slate);
  padding: var(--qw-space-bay) clamp(var(--qw-space-course), 6vw, var(--qw-space-pier));
  box-sizing: border-box;
}

[data-design="a"] .qw-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  gap: var(--qw-space-pier);
}

[data-design="a"] .qw-footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--qw-space-em);
}

[data-design="a"] .qw-footer__name {
  color: var(--qw-limestone);
}

[data-design="a"] .qw-footer__contact {
  display: flex;
  flex-direction: column;
  gap: var(--qw-space-bed);
}

[data-design="a"] .qw-footer__phone,
[data-design="a"] .qw-footer__email {
  font-family: var(--qw-font-data);
  font-size: 16px;
  letter-spacing: 0.06em;
  color: var(--qw-limestone-deep);
  text-decoration: none;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

[data-design="a"] .qw-footer__legal {
  border-top: 1px solid var(--qw-slate-soft);
  padding-top: var(--qw-space-course);
}

[data-design="a"] .qw-footer__legal p {
  font-family: var(--qw-font-data);
  font-size: var(--qw-text-dim);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--qw-muted);
  margin: 0 0 var(--qw-space-em);
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════════════
   REDUCED MOTION
   ═══════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .qw-hero__kb-img { animation: none; transform: scale(1.08); }
  [data-design="a"] .qw-dust--a,
  [data-design="a"] .qw-dust--b,
  [data-design="a"] .qw-dust--c { animation: none; opacity: 0; }
  [data-design="a"] .qw-header__rule { animation: none; transform: scaleX(1); opacity: .4; }
  [data-design="a"] .qw-header__atm { animation: none; opacity: .18; }
  [data-design="a"] .qw-logo__mark { transition: none; }
  [data-design="a"] .qw-pointer__rule,
  [data-design="a"] .qw-pointer__label { animation: none; opacity: 0.7; }
  [data-design="a"] .qw-plate { transition: opacity 200ms linear; transform: none; }
  [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-strike__title.qw-strike__title--struck::after { animation: none; opacity: 0; }
  [data-design="a"] .qw-funnel__step { transition: opacity 200ms linear; transform: none; }
  [data-design="a"] .qw-funnel__step[hidden] { transform: none; }
  [data-design="a"] .qw-cta,
  [data-design="a"] .qw-cta::after,
  [data-design="a"] .qw-cta__mark { transition: none; }
  [data-design="a"] .qw-funnel__next,
  [data-design="a"] .qw-funnel__submit { transition: none; }
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE (no h-scroll; all scoped)
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 640px) {
  [data-design="a"] .qw-services__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 768px) {
  [data-design="a"] .qw-course__list { grid-template-columns: 1fr 1fr; }
  [data-design="a"] .qw-footer__inner { grid-template-columns: 1fr 1fr; }
  [data-design="a"] .qw-footer__legal { grid-column: 1 / -1; }
}

/* ── Mobile overflow lock (scoped, chrome-kit safe) ─────────── */
[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;
}

@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__content {
    padding-left: var(--qw-space-course);
    padding-right: var(--qw-space-course);
  }
  [data-design="a"] .qw-logo__desc { display: none; }
  [data-design="a"] .qw-course,
  [data-design="a"] .qw-strike,
  [data-design="a"] .qw-about,
  [data-design="a"] .qw-footer {
    padding-left: var(--qw-space-course);
    padding-right: var(--qw-space-course);
  }
}

/* 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; }
