/* ================================================================
   Hoskins Construction, LLC — Design A
   Base design: Deltawerk (chart-paper cream + signal-blue, drafted).
   REMAPPED to slot "a": every selector scopes to [data-design="a"].
   Zero base-design-scoped selectors remain. Keyframes keep dw- prefix
   (class/keyframe names only — the SLOT is "a").
   Trade: construction. Photo substrate: low — line-work carries it.
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ---- Token system + design-a primary (read by the Reforge Bar) ---- */
[data-design="a"] {
  --design-a-primary: #0B3D91;

  --dw-paper:      #F2EDE2;
  --dw-paper-2:    #EAE3D3;
  --dw-ink:        #15171A;
  --dw-ink-2:      #3A3F46;
  --dw-rule:       #2A2F36;
  --dw-rule-soft:  #BFB7A4;
  --dw-signal:     #0B3D91;
  --dw-water:      #3E7DC9;
  --dw-pump:       #C8261C;
  --dw-sluice:     #2F7A3A;
  --dw-graphite:   #6B6F76;
  --dw-on-signal:  #F2EDE2;

  --dw-font-display: "Inter Tight", "GT America", "Helvetica Neue", -apple-system, system-ui, sans-serif;
  --dw-font-body:    "Inter Tight", "GT America", "Helvetica Neue", -apple-system, system-ui, sans-serif;
  --dw-font-mono:    "IBM Plex Mono", "JetBrains Mono", ui-monospace, Menlo, monospace;

  --dw-step-hair:  1px;
  --dw-step-pin:   4px;
  --dw-step-cell:  8px;
  --dw-step-row:   16px;
  --dw-step-bay:   24px;
  --dw-step-bank:  40px;
  --dw-step-span:  64px;
  --dw-step-flood: 112px;

  --dw-dur-tick:   120ms;
  --dw-dur-settle: 220ms;
  --dw-dur-prime:  720ms;
  --dw-dur-cycle:  18s;

  --dw-ease-settle:  cubic-bezier(0.32, 0.94, 0.4, 1);
  --dw-ease-prime:   cubic-bezier(0.65, 0.05, 0.36, 1);
  --dw-ease-isobath: cubic-bezier(0.45, 0, 0.55, 1);

  --dw-radius-hair: 1px;
  --dw-radius-pin:  2px;
  --dw-radius-bay:  6px;
  --dw-radius-full: 9999px;
}

/* ---- Base article ---- */
[data-design="a"].dq-design,
[data-design="a"] {
  background: var(--dw-paper);
  color: var(--dw-ink);
  font-family: var(--dw-font-body);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: tabular-nums;
}
[data-design="a"] *,
[data-design="a"] *::before,
[data-design="a"] *::after { box-sizing: border-box; }

[data-design="a"] h1,
[data-design="a"] h2,
[data-design="a"] h3 { margin: 0; }
[data-design="a"] p { margin: 0; }
[data-design="a"] a { color: inherit; }

[data-design="a"] .dw-eyebrow {
  margin: 0; font: 500 12px/1.2 var(--dw-font-mono);
  text-transform: uppercase; letter-spacing: 0.14em; color: var(--dw-ink-2);
}

/* ================================================================
   ELEMENT 1 — Animated minimalist header (isobath drift)
   ================================================================ */
[data-design="a"] .dw-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--dw-paper);
  border-bottom: 1px solid var(--dw-rule-soft);
}
[data-design="a"] .dw-header__bar {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--dw-step-row);
  padding: var(--dw-step-bay) clamp(16px, 4vw, 40px);
  max-width: 1440px; margin-inline: auto;
}
[data-design="a"] .dw-logo { text-decoration: none; color: var(--dw-ink); }
[data-design="a"] .dw-logo__mark {
  font: 600 18px/1 var(--dw-font-display);
  letter-spacing: 0.18em; text-transform: uppercase;
}
[data-design="a"] .dw-burger {
  width: 44px; height: 44px; display: grid; gap: 4px; align-content: center;
  padding: 12px; background: transparent; border: 1px solid var(--dw-rule);
  border-radius: var(--dw-radius-pin); cursor: pointer;
  transition: border-color var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="a"] .dw-burger:hover { border-color: var(--dw-signal); }
[data-design="a"] .dw-burger:focus-visible {
  outline: none; box-shadow: 0 0 0 2px var(--dw-paper), 0 0 0 4px var(--dw-signal);
}
[data-design="a"] .dw-burger__bar {
  display: block; height: 1px; background: var(--dw-ink);
  transition: transform var(--dw-dur-settle) var(--dw-ease-settle), opacity var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="a"] .dw-burger[aria-expanded="true"] .dw-burger__bar:nth-child(1) { transform: translateY(5px) rotate(45deg); }
[data-design="a"] .dw-burger[aria-expanded="true"] .dw-burger__bar:nth-child(2) { transform: scaleX(0); opacity: 0; }
[data-design="a"] .dw-burger[aria-expanded="true"] .dw-burger__bar:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

[data-design="a"] .dw-header__atmos {
  position: absolute; inset: auto 0 6px 0; height: 6px; overflow: hidden; pointer-events: none;
}
[data-design="a"] .dw-isobath { width: 100%; height: 100%; display: block; }
[data-design="a"] .dw-isobath__line {
  fill: none; stroke: var(--dw-water); stroke-width: 1; stroke-linecap: round;
  opacity: 0.55;
  animation: dw-isobath-drift 27s var(--dw-ease-isobath) infinite,
             dw-isobath-breathe 18s var(--dw-ease-isobath) infinite;
}
@keyframes dw-isobath-drift {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(-22px); }
  100% { transform: translateX(0); }
}
@keyframes dw-isobath-breathe {
  0%, 100% { opacity: 0.55; stroke-width: 1; }
  50%      { opacity: 0.95; stroke-width: 1.3; }
}

/* Drawer (sheet) — collapses to display:none when closed */
[data-design="a"] .dw-sheet {
  position: fixed; inset: 0 0 0 auto; width: min(440px, 100vw);
  background: var(--dw-paper);
  border-left: 1px solid var(--dw-rule);
  transform: translateX(100%);
  transition: transform var(--dw-dur-prime) var(--dw-ease-prime);
  z-index: 60;
  overflow-y: auto;
}
[data-design="a"] .dw-sheet[hidden] { display: none; }
[data-design="a"] .dw-sheet:not([hidden]) { transform: translateX(0); }
[data-design="a"] .dw-sheet__inner {
  padding: var(--dw-step-bank) var(--dw-step-bay);
  display: grid; gap: var(--dw-step-row);
}
[data-design="a"] .dw-sheet__eyebrow { margin-bottom: var(--dw-step-cell); }
[data-design="a"] .dw-nav { display: grid; gap: 0; }
[data-design="a"] .dw-nav a {
  display: block; padding: 14px 0;
  font: 500 22px/1.2 var(--dw-font-display);
  color: var(--dw-ink); text-decoration: none;
  border-bottom: 1px solid var(--dw-rule-soft);
  transition: color var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="a"] .dw-nav a:hover { color: var(--dw-signal); }
[data-design="a"] .dw-sheet__cta-row { display: grid; gap: var(--dw-step-row); margin-top: var(--dw-step-cell); }
[data-design="a"] .dw-cta--sheet { width: 100%; justify-content: center; }
[data-design="a"] .dw-sheet__phone {
  display: grid; gap: 4px; padding: 14px 16px; text-decoration: none;
  border: 1px solid var(--dw-rule); border-radius: var(--dw-radius-pin);
  color: var(--dw-ink);
}
[data-design="a"] .dw-sheet__phone:hover { border-color: var(--dw-signal); }
[data-design="a"] .dw-sheet__phone-num { font: 600 22px/1 var(--dw-font-display); letter-spacing: 0.01em; }
[data-design="a"] .dw-sheet__lic { font: 500 12px/1.4 var(--dw-font-mono); letter-spacing: 0.1em; color: var(--dw-ink-2); }

/* ================================================================
   ELEMENT 2 — Animated CTA (priming pump)
   ================================================================ */
[data-design="a"] .dw-cta {
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; gap: var(--dw-step-row);
  padding: 16px 28px; min-height: 44px;
  background: var(--dw-paper-2);
  color: var(--dw-ink);
  border: 1px solid var(--dw-rule);
  border-radius: var(--dw-radius-pin);
  text-decoration: none;
  font: 500 15px/1 var(--dw-font-display);
  letter-spacing: 0.06em; text-transform: uppercase;
  transition: color var(--dw-dur-settle) var(--dw-ease-settle),
              border-color var(--dw-dur-settle) var(--dw-ease-settle),
              transform var(--dw-dur-tick) var(--dw-ease-settle);
}
[data-design="a"] .dw-cta__primer {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(
    60deg,
    var(--dw-signal) 0%, var(--dw-signal) 40%,
    var(--dw-water) 55%, transparent 75%);
  transform: translate(-110%, 0);
  animation: dw-cta-prime 5.2s var(--dw-ease-prime) infinite;
}
[data-design="a"] .dw-cta__label { position: relative; z-index: 1; }
[data-design="a"] .dw-cta__arrow { display: inline-flex; transition: transform var(--dw-dur-settle) var(--dw-ease-settle); }
[data-design="a"] .dw-cta__stamp {
  position: absolute; right: 12px; bottom: 6px;
  font: 500 11px/1 var(--dw-font-mono);
  letter-spacing: 0.14em; color: var(--dw-on-signal);
  opacity: 0; transform: scale(0.92);
  pointer-events: none; z-index: 2;
}
[data-design="a"] .dw-cta:hover {
  color: var(--dw-on-signal); border-color: var(--dw-signal);
}
[data-design="a"] .dw-cta:hover .dw-cta__primer {
  animation: none; transform: translate(0, 0);
  transition: transform var(--dw-dur-prime) var(--dw-ease-prime);
}
[data-design="a"] .dw-cta:hover .dw-cta__arrow { transform: translateX(4px); }
[data-design="a"] .dw-cta:focus-visible {
  outline: none; box-shadow: 0 0 0 2px var(--dw-paper), 0 0 0 4px var(--dw-signal);
}
[data-design="a"] .dw-cta:active { transform: translateY(1px); }
[data-design="a"] .dw-cta.is-stamped .dw-cta__stamp {
  animation: dw-cta-stamp 600ms var(--dw-ease-settle) forwards;
}
@keyframes dw-cta-prime {
  0%   { transform: translate(-110%, 0); }
  55%  { transform: translate(0, 0); }
  70%  { transform: translate(0, 0); }
  100% { transform: translate(110%, 0); }
}
@keyframes dw-cta-stamp {
  0%   { opacity: 0; transform: scale(0.92); }
  30%  { opacity: 1; transform: scale(1.0); }
  100% { opacity: 0; transform: scale(1.0); }
}

/* ================================================================
   HERO — drafted elevation backdrop (Element 3 / unique hero)
   One animated layer, arrival-only draw-in then quiet breath.
   Hero TEXT opacity:1 at first paint (no observer gate).
   ================================================================ */
[data-design="a"] .dw-hero {
  position: relative; isolation: isolate; overflow: hidden;
  background: var(--dw-paper);
  border-bottom: 1px solid var(--dw-rule-soft);
  padding: clamp(64px, 9vw, 128px) clamp(16px, 4vw, 40px) clamp(56px, 7vw, 104px);
  min-height: 78vh;
  display: flex; align-items: center;
}
[data-design="a"] .dw-hero__backdrop {
  position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
}
/* STATIC low-chroma color field — the visible substrate floor.
   Intentionally NOT animated: hero.md permits a static tint/wash
   beneath, and mandates EXACTLY ONE animated layer (the drafted
   elevation draw-in below is that one layer). */
[data-design="a"] .dw-hero__field {
  position: absolute; inset: 0;
  background:
    radial-gradient(120% 90% at 78% 18%, rgba(62,125,201,0.22) 0%, rgba(62,125,201,0.07) 38%, transparent 66%),
    linear-gradient(160deg, var(--dw-paper) 0%, var(--dw-paper-2) 100%);
}
[data-design="a"] .dw-hero__plate {
  position: absolute; inset: 0; width: 100%; height: 100%;
  display: block;
}
[data-design="a"] .dw-hero__grid-stroke { stroke: var(--dw-rule-soft); }
[data-design="a"] .dw-hero__grid-fill { opacity: 0.42; }

/* drafted house outline + dims — draw in within ~2s, then settle */
[data-design="a"] .dw-bp,
[data-design="a"] .dw-dim {
  fill: none;
  stroke: var(--dw-signal);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1400;
  stroke-dashoffset: 1400;
  opacity: 0.62;
  animation: dw-bp-draw 1.9s var(--dw-ease-prime) forwards,
             dw-bp-breathe 9s var(--dw-ease-isobath) 2s infinite;
}
[data-design="a"] .dw-bp--roof    { animation-delay: 0s,   2.0s; }
[data-design="a"] .dw-bp--body    { animation-delay: 0.12s, 2.1s; }
[data-design="a"] .dw-bp--base    { animation-delay: 0.05s, 2.0s; }
[data-design="a"] .dw-bp--door    { animation-delay: 0.42s, 2.3s; }
[data-design="a"] .dw-bp--win     { animation-delay: 0.5s,  2.3s; stroke-dasharray: 360; stroke-dashoffset: 360; }
[data-design="a"] .dw-bp--chimney { animation-delay: 0.3s,  2.2s; }
[data-design="a"] .dw-dim {
  stroke: var(--dw-water); stroke-width: 1; opacity: 0.5;
  animation-delay: 0.7s, 2.6s;
}
[data-design="a"] .dw-dim-tick { stroke: var(--dw-water); stroke-width: 1; opacity: 0; animation: dw-bp-fade 0.5s var(--dw-ease-settle) 1.4s forwards; }
[data-design="a"] .dw-dim-cross { stroke: var(--dw-ink-2); stroke-width: 1; opacity: 0; animation: dw-bp-fade 0.5s var(--dw-ease-settle) 0.4s forwards; }
[data-design="a"] .dw-dim-label {
  fill: var(--dw-ink-2); font: 500 13px/1 var(--dw-font-mono); letter-spacing: 0.14em;
  text-anchor: middle; text-transform: uppercase;
  opacity: 0; animation: dw-bp-fade 0.6s var(--dw-ease-settle) 1.6s forwards;
}
[data-design="a"] .dw-dim-label--v { writing-mode: vertical-rl; }
@keyframes dw-bp-draw {
  to { stroke-dashoffset: 0; }
}
@keyframes dw-bp-fade {
  to { opacity: 0.55; }
}
@keyframes dw-bp-breathe {
  0%, 100% { opacity: 0.5; }
  50%      { opacity: 0.74; }
}
/* wash to keep headline crisp over the line-work */
[data-design="a"] .dw-hero__wash {
  position: absolute; inset: 0;
  background: linear-gradient(95deg, var(--dw-paper) 0%, rgba(242,237,226,0.86) 38%, rgba(242,237,226,0.18) 78%, transparent 100%);
}

[data-design="a"] .dw-hero__content {
  position: relative; z-index: 2;
  max-width: 1440px; width: 100%; margin-inline: auto;
  display: grid; gap: var(--dw-step-bay);
  max-width: min(720px, 92%);
  margin-left: clamp(0px, 4vw, 40px);
  /* opacity:1 at first paint — never observer-gated */
  opacity: 1;
}
[data-design="a"] .dw-hero__eyebrow { color: var(--dw-signal); }
[data-design="a"] .dw-hero__headline {
  font: 600 clamp(34px, 6.4vw, 80px)/1.0 var(--dw-font-display);
  letter-spacing: -0.028em; color: var(--dw-ink);
  display: grid; gap: var(--dw-step-row);
  text-wrap: balance;
}
[data-design="a"] .dw-hero__rule {
  display: block; width: 96px; height: 2px; background: var(--dw-signal);
  margin: 4px 0;
}
[data-design="a"] .dw-hero__headline-2 {
  font: 400 clamp(20px, 3vw, 34px)/1.12 var(--dw-font-display);
  letter-spacing: -0.018em; color: var(--dw-ink-2);
  max-width: 22ch;
}
[data-design="a"] .dw-hero__subtitle {
  font: 400 clamp(17px, 2vw, 22px)/1.5 var(--dw-font-body);
  color: var(--dw-ink); max-width: 54ch;
}
[data-design="a"] .dw-hero__proof {
  font: 500 13px/1.5 var(--dw-font-mono); letter-spacing: 0.06em;
  color: var(--dw-ink-2); text-transform: uppercase;
}
[data-design="a"] .dw-hero__actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--dw-step-row);
  margin-top: var(--dw-step-cell);
}
[data-design="a"] .dw-hero__chip {
  display: inline-flex; align-items: center; gap: var(--dw-step-cell);
  padding: 10px 16px; min-height: 44px;
  border: 1px solid var(--dw-rule-soft); border-radius: var(--dw-radius-pin);
  background: var(--dw-paper);
  font: 500 12px/1 var(--dw-font-mono); letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--dw-ink-2);
}
[data-design="a"] .dw-hero__chip-dot {
  width: 8px; height: 8px; border-radius: var(--dw-radius-full);
  background: var(--dw-sluice);
}

/* ================================================================
   ELEMENT 6 — Pointer (drafted dimension descent)
   ================================================================ */
[data-design="a"] .dw-pointer {
  display: flex; flex-direction: column; align-items: center; gap: var(--dw-step-row);
  padding: clamp(32px, 6vw, 72px) 16px clamp(40px, 7vw, 88px);
  background: var(--dw-paper);
}
[data-design="a"] .dw-pointer__hit {
  position: relative; display: inline-block; width: 2px; height: 96px;
  text-decoration: none; color: var(--dw-water);
}
[data-design="a"] .dw-pointer__pipe {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 0%, currentColor 100%);
  transform-origin: top center;
  animation: dw-pointer-fill 5s var(--dw-ease-isobath) infinite;
  opacity: 0.7;
}
[data-design="a"] .dw-pointer__drop {
  position: absolute; left: 50%; bottom: -4px;
  width: 8px; height: 8px; margin-left: -4px;
  background: currentColor;
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  transform: translateY(-72px) scale(0.4);
  opacity: 0;
  animation: dw-pointer-drip 5s var(--dw-ease-prime) infinite;
}
[data-design="a"] .dw-pointer__label {
  font: 500 12px/1 var(--dw-font-mono); letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--dw-ink-2);
}
@keyframes dw-pointer-fill {
  0%, 100% { transform: scaleY(0.4); opacity: 0.45; }
  60%      { transform: scaleY(1);   opacity: 0.85; }
}
@keyframes dw-pointer-drip {
  0%, 55%  { transform: translateY(-72px) scale(0.4); opacity: 0; }
  70%      { transform: translateY(-72px) scale(1);   opacity: 1; }
  92%      { transform: translateY(0)     scale(1);   opacity: 1; }
  100%     { transform: translateY(0)     scale(0.2); opacity: 0; }
}

/* ================================================================
   ELEMENT 5 — Funnel (Deltawerk grammar, 5-step construction intake)
   ================================================================ */
[data-design="a"] .dw-interactive {
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  max-width: 1440px; margin-inline: auto;
  background: var(--dw-paper);
  border-top: 1px solid var(--dw-rule-soft);
}
[data-design="a"] .dw-funnel__head { display: grid; gap: var(--dw-step-row); max-width: 62ch; margin-bottom: var(--dw-step-span); }
[data-design="a"] .dw-funnel__title {
  margin: 0; font: 600 clamp(34px, 6vw, 64px)/1.02 var(--dw-font-display); letter-spacing: -0.026em; color: var(--dw-ink);
}
[data-design="a"] .dw-funnel__lede { margin: 0; font: 400 18px/1.55 var(--dw-font-body); color: var(--dw-ink-2); }

[data-design="a"] .dw-funnel {
  display: grid; grid-template-columns: 1fr min(420px, 36%); gap: clamp(24px, 4vw, 64px);
  align-items: stretch;
}
[data-design="a"] .dw-funnel__pane {
  background: var(--dw-paper-2);
  border: 1px solid var(--dw-rule);
  border-radius: var(--dw-radius-bay);
  padding: clamp(20px, 3vw, 40px);
}
[data-design="a"] .dw-funnel__step { display: grid; gap: var(--dw-step-row); }
[data-design="a"] .dw-funnel__step[hidden] { display: none; }
[data-design="a"] .dw-funnel__step.is-active { animation: dw-step-in 320ms var(--dw-ease-settle) both; }
[data-design="a"] .dw-funnel__legend { margin: 0; font: 600 22px/1.2 var(--dw-font-display); letter-spacing: -0.018em; color: var(--dw-ink); }
[data-design="a"] .dw-funnel__note { margin: 0; font: 400 14px/1.5 var(--dw-font-body); color: var(--dw-ink-2); }

[data-design="a"] .dw-chips { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--dw-step-cell); }
[data-design="a"] .dw-chip { position: relative; display: block; cursor: pointer; }
[data-design="a"] .dw-chip input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
[data-design="a"] .dw-chip span {
  display: grid; gap: 2px; padding: 14px 16px; min-height: 44px;
  background: var(--dw-paper); border: 1px solid var(--dw-rule); border-radius: var(--dw-radius-pin);
  font: 500 15px/1.2 var(--dw-font-body); color: var(--dw-ink);
  transition: border-color var(--dw-dur-settle) var(--dw-ease-settle), background var(--dw-dur-settle) var(--dw-ease-settle), box-shadow var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="a"] .dw-chip span small {
  font: 400 12px/1.2 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.04em;
}
[data-design="a"] .dw-chip:hover span { border-color: var(--dw-water); }
[data-design="a"] .dw-chip input:checked + span { border-color: var(--dw-signal); background: var(--dw-paper); box-shadow: inset 0 0 0 1px var(--dw-signal); }
[data-design="a"] .dw-chip input:focus-visible + span { box-shadow: 0 0 0 2px var(--dw-paper-2), 0 0 0 4px var(--dw-signal); }

[data-design="a"] .dw-field { display: grid; gap: 6px; }
[data-design="a"] .dw-field__label { font: 500 14px/1.2 var(--dw-font-body); color: var(--dw-ink); }
[data-design="a"] .dw-field__label small { display: block; font: 400 12px/1.4 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.04em; margin-top: 2px; }
[data-design="a"] .dw-input {
  width: 100%; padding: 12px 14px; background: var(--dw-paper);
  border: 1px solid var(--dw-rule); border-radius: var(--dw-radius-pin);
  font: 400 16px/1.3 var(--dw-font-body); color: var(--dw-ink);
  transition: border-color var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="a"] .dw-input:focus-visible { outline: none; border-color: var(--dw-signal); }
[data-design="a"] .dw-input--area { resize: vertical; min-height: 88px; font-family: var(--dw-font-body); }

[data-design="a"] .dw-funnel__nav {
  display: flex; gap: var(--dw-step-cell); justify-content: flex-end; align-items: center; flex-wrap: wrap;
  margin-top: var(--dw-step-bay); padding-top: var(--dw-step-row); border-top: 1px solid var(--dw-rule-soft);
}
[data-design="a"] .dw-btn {
  padding: 12px 22px; min-height: 44px; border-radius: var(--dw-radius-pin); cursor: pointer;
  font: 500 14px/1 var(--dw-font-display); letter-spacing: 0.06em; text-transform: uppercase;
  border: 1px solid var(--dw-rule); background: var(--dw-paper); color: var(--dw-ink);
  transition: background var(--dw-dur-settle) var(--dw-ease-settle), color var(--dw-dur-settle) var(--dw-ease-settle), border-color var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="a"] .dw-btn--primary { background: var(--dw-signal); color: var(--dw-on-signal); border-color: var(--dw-signal); }
[data-design="a"] .dw-btn--primary:hover { background: color-mix(in oklab, var(--dw-signal), black 12%); }
[data-design="a"] .dw-btn--ghost { background: transparent; }
[data-design="a"] .dw-btn--ghost:hover { background: var(--dw-paper); border-color: var(--dw-water); }
[data-design="a"] .dw-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--dw-paper-2), 0 0 0 4px var(--dw-signal); }

/* Right pane — honest specification log (NOT a price gauge) */
[data-design="a"] .dw-funnel__gauge {
  display: grid; align-content: start; gap: var(--dw-step-row);
  padding: clamp(20px, 3vw, 36px);
  background: var(--dw-paper-2); border: 1px solid var(--dw-rule); border-radius: var(--dw-radius-bay);
}
[data-design="a"] .dw-log {
  display: grid; gap: 0; margin: 0;
  border-top: 1px solid var(--dw-rule);
}
[data-design="a"] .dw-log__row {
  display: grid; grid-template-columns: 90px 1fr; gap: var(--dw-step-row);
  padding: 14px 0; border-bottom: 1px solid var(--dw-rule-soft);
  align-items: baseline;
}
[data-design="a"] .dw-log dt {
  margin: 0; font: 500 11px/1.2 var(--dw-font-mono); letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--dw-ink-2);
}
[data-design="a"] .dw-log dd {
  margin: 0; font: 500 16px/1.3 var(--dw-font-display); color: var(--dw-ink);
}
[data-design="a"] .dw-log dd[data-fresh="true"] { animation: dw-log-fresh 600ms var(--dw-ease-settle); color: var(--dw-signal); }
@keyframes dw-log-fresh {
  0%   { opacity: 0.2; transform: translateX(6px); }
  100% { opacity: 1; transform: translateX(0); }
}
[data-design="a"] .dw-flowbars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; height: 64px; align-items: end; }
[data-design="a"] .dw-flowbars__bar {
  height: 8%; background: linear-gradient(180deg, var(--dw-water), var(--dw-signal));
  border-radius: 1px;
  transition: height var(--dw-dur-prime) var(--dw-ease-prime);
}
[data-design="a"] .dw-funnel__small { margin: 0; font: 400 12px/1.5 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.04em; }
[data-design="a"] .dw-funnel__small--gauge { padding-top: var(--dw-step-cell); border-top: 1px solid var(--dw-rule-soft); }

[data-design="a"] .dw-stamp {
  display: inline-block; padding: 6px 14px;
  border: 1.5px solid var(--dw-sluice); color: var(--dw-sluice);
  font: 500 12px/1 var(--dw-font-mono); letter-spacing: 0.2em; text-transform: uppercase;
  transform: rotate(-2deg);
  animation: dw-stamp-in 380ms var(--dw-ease-settle) both;
}
[data-design="a"] .dw-spec { display: grid; grid-template-columns: 150px 1fr; gap: 8px 16px; margin: 0; font-family: var(--dw-font-mono); font-size: 13px; }
[data-design="a"] .dw-spec dt { color: var(--dw-ink-2); letter-spacing: 0.08em; text-transform: uppercase; font-size: 11px; padding-top: 2px; }
[data-design="a"] .dw-spec dd { color: var(--dw-ink); margin: 0; }

@keyframes dw-step-in {
  0%   { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes dw-stamp-in {
  0%   { opacity: 0; transform: rotate(-12deg) scale(0.7); }
  60%  { opacity: 1; transform: rotate(-2deg) scale(1.04); }
  100% { opacity: 1; transform: rotate(-2deg) scale(1.0); }
}

/* Below-funnel trust rail */
[data-design="a"] .dw-funnel__trust {
  margin-top: var(--dw-step-bank); padding-top: var(--dw-step-bay);
  border-top: 1px solid var(--dw-rule-soft);
  display: grid; gap: var(--dw-step-cell);
}
[data-design="a"] .dw-funnel__trust-line { font: 500 13px/1.5 var(--dw-font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--dw-ink); }
[data-design="a"] .dw-funnel__trust-sub { font: 400 15px/1.5 var(--dw-font-body); color: var(--dw-ink-2); }
[data-design="a"] .dw-funnel__trust-sub a { color: var(--dw-signal); text-decoration: none; border-bottom: 1px solid var(--dw-rule-soft); }
[data-design="a"] .dw-funnel__trust-sub a:hover { border-color: var(--dw-signal); }

/* ================================================================
   ELEMENT 3 (signature, mid-page) — Cadence band (manifold polyrhythm)
   ================================================================ */
[data-design="a"] .dw-ambient-a {
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  background: var(--dw-paper);
  border-top: 1px solid var(--dw-rule-soft);
  border-bottom: 1px solid var(--dw-rule-soft);
  max-width: 1440px; margin-inline: auto;
}
[data-design="a"] .dw-ambient-a__head {
  display: grid; gap: var(--dw-step-row); max-width: 62ch; margin-bottom: var(--dw-step-span);
}
[data-design="a"] .dw-ambient-a__title {
  margin: 0; font: 600 clamp(34px, 6vw, 64px)/1.0 var(--dw-font-display);
  letter-spacing: -0.028em; color: var(--dw-ink);
}
[data-design="a"] .dw-ambient-a__lede {
  margin: 0; font: 400 20px/1.5 var(--dw-font-body); color: var(--dw-ink-2);
}
[data-design="a"] .dw-manifold {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: clamp(8px, 1.5vw, 18px);
  margin-bottom: var(--dw-step-bank);
}
[data-design="a"] .dw-valve {
  position: relative; aspect-ratio: 1 / 6; min-height: 84px;
  background: var(--dw-paper-2);
  border: 1px solid var(--dw-rule); border-radius: var(--dw-radius-pin);
  overflow: hidden; display: flex; align-items: flex-end; justify-content: center;
}
[data-design="a"] .dw-valve__fill {
  position: absolute; inset: auto 0 0 0; height: 0%;
  background: linear-gradient(180deg, var(--dw-water) 0%, var(--dw-signal) 100%);
  animation: dw-valve-cycle var(--dw-cycle, 17s) var(--dw-ease-isobath) infinite;
  animation-play-state: paused;
}
[data-design="a"] .dw-ambient-a.is-active .dw-valve__fill { animation-play-state: running; }
[data-design="a"] .dw-valve__label {
  position: relative; padding: 4px;
  font: 500 11px/1 var(--dw-font-mono); color: var(--dw-ink-2);
  letter-spacing: 0.12em;
}
@keyframes dw-valve-cycle {
  0%   { height: 6%; }
  45%  { height: 92%; }
  55%  { height: 92%; }
  100% { height: 6%; }
}
[data-design="a"] .dw-manifold__legend {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--dw-step-row) var(--dw-step-bay);
  border-top: 1px solid var(--dw-rule);
  padding-top: var(--dw-step-bay);
}
[data-design="a"] .dw-manifold__legend li {
  display: grid; grid-template-columns: 36px 1fr; gap: var(--dw-step-cell);
  font: 400 15px/1.5 var(--dw-font-body); color: var(--dw-ink);
}
[data-design="a"] .dw-manifold__legend li::before {
  content: attr(data-index); font-family: var(--dw-font-mono);
  font-size: 12px; color: var(--dw-ink-2); letter-spacing: 0.1em; padding-top: 4px;
}

/* ================================================================
   SERVICES — Deltawerk numbered index (not a card grid)
   ================================================================ */
[data-design="a"] .dw-services {
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  max-width: 1440px; margin-inline: auto;
}
[data-design="a"] .dw-services__head { display: grid; gap: var(--dw-step-row); max-width: 62ch; margin-bottom: var(--dw-step-span); }
[data-design="a"] .dw-services__title { font: 600 clamp(34px, 6vw, 64px)/1.0 var(--dw-font-display); letter-spacing: -0.028em; }
[data-design="a"] .dw-services__lede { font: 400 20px/1.5 var(--dw-font-body); color: var(--dw-ink-2); }
[data-design="a"] .dw-index { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--dw-rule); }
[data-design="a"] .dw-index__row {
  display: grid; grid-template-columns: 56px 1fr auto; gap: var(--dw-step-row) var(--dw-step-bay);
  align-items: baseline;
  padding: var(--dw-step-bay) 0;
  border-bottom: 1px solid var(--dw-rule-soft);
  transition: background var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="a"] .dw-index__row:hover { background: var(--dw-paper-2); }
[data-design="a"] .dw-index__num { font: 500 13px/1 var(--dw-font-mono); color: var(--dw-water); letter-spacing: 0.1em; padding-top: 6px; }
[data-design="a"] .dw-index__title { display: grid; gap: 6px; }
[data-design="a"] .dw-index__name { font: 600 clamp(20px, 2.6vw, 28px)/1.15 var(--dw-font-display); letter-spacing: -0.018em; color: var(--dw-ink); }
[data-design="a"] .dw-index__desc { font: 400 16px/1.55 var(--dw-font-body); color: var(--dw-ink-2); max-width: 56ch; }
[data-design="a"] .dw-index__spec { font: 500 12px/1.4 var(--dw-font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--dw-ink-2); text-align: right; }

/* ================================================================
   ELEMENT 4 — Polder telemetry grid (Process)
   ================================================================ */
[data-design="a"] .dw-ambient-b {
  position: relative; isolation: isolate; overflow: hidden;
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  background: var(--dw-paper);
  max-width: 1440px; margin-inline: auto;
}
[data-design="a"] .dw-polder__grid {
  position: absolute; inset: 0; z-index: 0;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(6, 1fr);
  background-image:
    linear-gradient(to right, var(--dw-rule-soft) 1px, transparent 1px),
    linear-gradient(to bottom, var(--dw-rule-soft) 1px, transparent 1px);
  background-size: calc(100% / 12) 100%, 100% calc(100% / 6);
  opacity: 0.5;
}
[data-design="a"] .dw-polder__cell {
  background: var(--dw-signal);
  opacity: 0;
  animation: dw-polder-ping 1.6s var(--dw-ease-prime) forwards;
}
@keyframes dw-polder-ping {
  0%   { opacity: 0; }
  18%  { opacity: 0.30; }
  100% { opacity: 0; }
}
[data-design="a"] .dw-polder__content {
  position: relative; z-index: 1;
  display: grid; gap: var(--dw-step-row);
  max-width: 920px;
}
[data-design="a"] .dw-polder__title {
  margin: 0; font: 600 clamp(34px, 6vw, 64px)/1.02 var(--dw-font-display);
  letter-spacing: -0.026em; color: var(--dw-ink);
}
[data-design="a"] .dw-polder__lede {
  margin: 0; font: 400 18px/1.55 var(--dw-font-body); color: var(--dw-ink-2); max-width: 62ch;
}
[data-design="a"] .dw-process {
  list-style: none; margin: var(--dw-step-bank) 0 0; padding: 0;
  display: grid; gap: 0;
  border-top: 1px solid var(--dw-rule);
}
[data-design="a"] .dw-process__phase {
  display: grid; grid-template-columns: 56px 1fr; gap: var(--dw-step-bay);
  padding: var(--dw-step-bay) 0;
  border-bottom: 1px solid var(--dw-rule-soft);
}
[data-design="a"] .dw-process__idx { font: 500 13px/1 var(--dw-font-mono); color: var(--dw-water); letter-spacing: 0.1em; padding-top: 6px; }
[data-design="a"] .dw-process__text { display: grid; gap: 6px; }
[data-design="a"] .dw-process__text h3 { font: 600 22px/1.2 var(--dw-font-display); letter-spacing: -0.018em; color: var(--dw-ink); }
[data-design="a"] .dw-process__text p { font: 400 16px/1.6 var(--dw-font-body); color: var(--dw-ink-2); max-width: 60ch; }
[data-design="a"] .dw-process__repeat {
  margin-top: var(--dw-step-bank); padding-top: var(--dw-step-bay);
  border-top: 1px solid var(--dw-rule-soft);
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--dw-step-row);
}
[data-design="a"] .dw-process__repeat-prompt { font: 500 18px/1.3 var(--dw-font-display); color: var(--dw-ink); }

/* ================================================================
   PORTFOLIO — low-photo typographic treatment (plan-set sheets)
   ================================================================ */
[data-design="a"] .dw-portfolio {
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  max-width: 1440px; margin-inline: auto;
  border-top: 1px solid var(--dw-rule-soft);
}
[data-design="a"] .dw-portfolio__head { display: grid; gap: var(--dw-step-row); max-width: 62ch; margin-bottom: var(--dw-step-span); }
[data-design="a"] .dw-portfolio__title { font: 600 clamp(34px, 6vw, 64px)/1.0 var(--dw-font-display); letter-spacing: -0.028em; }
[data-design="a"] .dw-portfolio__lede { font: 400 18px/1.55 var(--dw-font-body); color: var(--dw-ink-2); }
[data-design="a"] .dw-plan-set {
  list-style: none; margin: 0 0 var(--dw-step-bank); padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--dw-step-bay);
}
[data-design="a"] .dw-plan-set__sheet {
  position: relative; overflow: hidden;
  display: grid; gap: var(--dw-step-cell); align-content: end;
  min-height: 220px; padding: var(--dw-step-bay);
  background:
    linear-gradient(160deg, var(--dw-paper-2) 0%, var(--dw-paper) 100%);
  border: 1px solid var(--dw-rule);
  border-radius: var(--dw-radius-bay);
  background-image:
    linear-gradient(to right, var(--dw-rule-soft) 1px, transparent 1px),
    linear-gradient(to bottom, var(--dw-rule-soft) 1px, transparent 1px),
    linear-gradient(160deg, var(--dw-paper-2) 0%, var(--dw-paper) 100%);
  background-size: 32px 32px, 32px 32px, 100% 100%;
}
[data-design="a"] .dw-plan-set__tag {
  font: 500 12px/1 var(--dw-font-mono); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--dw-signal);
}
[data-design="a"] .dw-plan-set__line { font: 600 22px/1.2 var(--dw-font-display); letter-spacing: -0.018em; color: var(--dw-ink); }
[data-design="a"] .dw-plan-set__corner {
  position: absolute; top: 16px; right: 16px; width: 28px; height: 28px;
  border-top: 1px solid var(--dw-water); border-right: 1px solid var(--dw-water); opacity: 0.6;
}
[data-design="a"] .dw-portfolio__note {
  display: grid; gap: var(--dw-step-cell);
  padding: var(--dw-step-bay);
  border: 1px dashed var(--dw-rule-soft); border-radius: var(--dw-radius-bay);
  font: 400 14px/1.6 var(--dw-font-body); color: var(--dw-ink-2);
  background: var(--dw-paper);
}

/* ================================================================
   ABOUT — the firm
   ================================================================ */
[data-design="a"] .dw-about {
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  max-width: 1440px; margin-inline: auto;
  border-top: 1px solid var(--dw-rule-soft);
}
[data-design="a"] .dw-about__head { margin-bottom: var(--dw-step-span); display: grid; gap: var(--dw-step-row); }
[data-design="a"] .dw-about__title { font: 600 clamp(34px, 6vw, 64px)/1.0 var(--dw-font-display); letter-spacing: -0.028em; }
[data-design="a"] .dw-about__body {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(24px, 5vw, 80px); align-items: start;
}
[data-design="a"] .dw-about__text { display: grid; gap: var(--dw-step-row); }
[data-design="a"] .dw-about__text p { font: 400 18px/1.65 var(--dw-font-body); color: var(--dw-ink); max-width: 62ch; }
[data-design="a"] .dw-about__missing { font: 400 12px/1.5 var(--dw-font-mono) !important; color: var(--dw-graphite) !important; letter-spacing: 0.02em; }
[data-design="a"] .dw-credential {
  display: grid; gap: var(--dw-step-cell);
  padding: var(--dw-step-bank);
  background: var(--dw-paper-2); border: 1px solid var(--dw-rule); border-radius: var(--dw-radius-bay);
  border-top: 2px solid var(--dw-signal);
}
[data-design="a"] .dw-credential__number { font: 600 clamp(28px, 4vw, 40px)/1 var(--dw-font-mono); letter-spacing: 0.02em; color: var(--dw-signal); }
[data-design="a"] .dw-credential__state { font: 400 14px/1.5 var(--dw-font-body); color: var(--dw-ink-2); }
[data-design="a"] .dw-credential__verify { font: 500 13px/1 var(--dw-font-mono); letter-spacing: 0.06em; color: var(--dw-ink); text-decoration: none; border-bottom: 1px solid var(--dw-rule-soft); justify-self: start; padding-bottom: 2px; margin-top: var(--dw-step-cell); }
[data-design="a"] .dw-credential__verify:hover { color: var(--dw-signal); border-color: var(--dw-signal); }

/* ================================================================
   SERVICE AREA
   ================================================================ */
[data-design="a"] .dw-area {
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  max-width: 1440px; margin-inline: auto;
  border-top: 1px solid var(--dw-rule-soft);
}
[data-design="a"] .dw-area__head { margin-bottom: var(--dw-step-bank); display: grid; gap: var(--dw-step-row); }
[data-design="a"] .dw-area__title { font: 600 clamp(34px, 6vw, 64px)/1.0 var(--dw-font-display); letter-spacing: -0.028em; }
[data-design="a"] .dw-area__body { display: grid; gap: var(--dw-step-row); max-width: 62ch; }
[data-design="a"] .dw-area__lead { font: 400 clamp(18px, 2.4vw, 22px)/1.5 var(--dw-font-body); color: var(--dw-ink); }
[data-design="a"] .dw-area__note { font: 400 16px/1.55 var(--dw-font-body); color: var(--dw-ink-2); }

/* ================================================================
   CONTACT
   ================================================================ */
[data-design="a"] .dw-contact {
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  background: var(--dw-paper-2);
  border-top: 1px solid var(--dw-rule);
}
[data-design="a"] .dw-contact__inner { max-width: 1100px; margin-inline: auto; display: grid; gap: var(--dw-step-bank); }
[data-design="a"] .dw-contact__head { display: grid; gap: var(--dw-step-row); max-width: 56ch; }
[data-design="a"] .dw-contact__title { font: 600 clamp(34px, 6vw, 64px)/1.02 var(--dw-font-display); letter-spacing: -0.026em; }
[data-design="a"] .dw-contact__lede { font: 400 18px/1.55 var(--dw-font-body); color: var(--dw-ink-2); }
[data-design="a"] .dw-contact__rows {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--dw-step-bay);
}
[data-design="a"] .dw-contact__row {
  display: grid; gap: var(--dw-step-cell); padding: var(--dw-step-bay);
  background: var(--dw-paper); border: 1px solid var(--dw-rule); border-radius: var(--dw-radius-bay);
  text-decoration: none; color: var(--dw-ink);
  transition: border-color var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="a"] a.dw-contact__row:hover { border-color: var(--dw-signal); }
[data-design="a"] .dw-contact__val { font: 600 clamp(18px, 2.2vw, 24px)/1.1 var(--dw-font-display); letter-spacing: 0.01em; }
[data-design="a"] .dw-contact__cta { justify-self: start; }

/* ================================================================
   FOOTER — Deltawerk two-row
   ================================================================ */
[data-design="a"] .dw-footer {
  background: var(--dw-paper);
  border-top: 1px solid var(--dw-rule);
  padding: var(--dw-step-bank) clamp(16px, 4vw, 40px) var(--dw-step-bay);
}
[data-design="a"] .dw-footer__row { max-width: 1440px; margin-inline: auto; }
[data-design="a"] .dw-footer__row--top {
  display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: var(--dw-step-bank);
  padding-bottom: var(--dw-step-bay);
}
[data-design="a"] .dw-footer__name { font: 600 18px/1.2 var(--dw-font-display); letter-spacing: 0.04em; text-transform: uppercase; color: var(--dw-ink); }
[data-design="a"] .dw-footer__tag { font: 400 14px/1.5 var(--dw-font-body); color: var(--dw-ink-2); margin-top: 6px; }
[data-design="a"] .dw-footer__nav { display: grid; gap: var(--dw-step-cell); align-content: start; }
[data-design="a"] .dw-footer__nav a { font: 400 14px/1.4 var(--dw-font-mono); letter-spacing: 0.04em; color: var(--dw-ink-2); text-decoration: none; }
[data-design="a"] .dw-footer__nav a:hover { color: var(--dw-signal); }
[data-design="a"] .dw-footer__meta { display: grid; gap: var(--dw-step-cell); align-content: start; }
[data-design="a"] .dw-footer__lic { font: 500 14px/1.4 var(--dw-font-mono); letter-spacing: 0.08em; color: var(--dw-ink); }
[data-design="a"] .dw-footer__phone, [data-design="a"] .dw-footer__email { font: 400 14px/1.4 var(--dw-font-mono); color: var(--dw-ink-2); text-decoration: none; }
[data-design="a"] .dw-footer__phone:hover, [data-design="a"] .dw-footer__email:hover { color: var(--dw-signal); }
[data-design="a"] .dw-footer__row--base {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--dw-step-row);
  border-top: 1px solid var(--dw-rule-soft);
  padding-top: var(--dw-step-row);
}
[data-design="a"] .dw-footer__legal, [data-design="a"] .dw-footer__copy {
  font: 400 12px/1.5 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.04em;
  display: inline-flex; align-items: center; gap: var(--dw-step-cell);
}
[data-design="a"] .dw-footer__dot { width: 6px; height: 6px; border-radius: var(--dw-radius-full); background: var(--dw-signal); display: inline-block; }
[data-design="a"] .dw-footer__disclaimer {
  max-width: 1440px; margin: var(--dw-step-row) auto 0;
  font: 400 11px/1.5 var(--dw-font-mono); color: var(--dw-graphite); letter-spacing: 0.02em;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 880px) {
  [data-design="a"] .dw-funnel { grid-template-columns: 1fr; }
  [data-design="a"] .dw-about__body { grid-template-columns: 1fr; }
  [data-design="a"] .dw-footer__row--top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  [data-design="a"] .dw-chips { grid-template-columns: 1fr; }
  [data-design="a"] .dw-index__row { grid-template-columns: 40px 1fr; }
  [data-design="a"] .dw-index__spec { grid-column: 2; text-align: left; }
  [data-design="a"] .dw-manifold { grid-template-columns: repeat(7, 1fr); gap: 6px; }
  [data-design="a"] .dw-valve { min-height: 64px; }
  [data-design="a"] .dw-hero__content { margin-left: 0; }
}
@media (max-width: 560px) {
  [data-design="a"] .dw-header__bar { padding: 16px; }
  [data-design="a"] .dw-logo__mark { font-size: 15px; letter-spacing: 0.14em; }
  [data-design="a"] .dw-sheet { width: 100vw; border-left: none; }
  [data-design="a"] .dw-footer__row--top { grid-template-columns: 1fr; gap: var(--dw-step-bay); }
}
@media (max-width: 380px) {
  [data-design="a"] .dw-logo__mark { font-size: 13px; letter-spacing: 0.12em; }
  [data-design="a"] .dw-manifold { gap: 4px; }
  [data-design="a"] .dw-hero__headline { font-size: 30px; }
}

/* ================================================================
   REDUCED MOTION — every signature interaction has a fallback
   ================================================================ */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .dw-isobath__line { animation: none; opacity: 0.7; }
  [data-design="a"] .dw-sheet { transition: none; }
  [data-design="a"] .dw-cta__primer { animation: none; transform: translate(0, 0); opacity: 0.85; }
  [data-design="a"] .dw-cta.is-stamped .dw-cta__stamp { animation: none; opacity: 1; }
  [data-design="a"] .dw-cta:hover .dw-cta__primer { transition: none; }
  [data-design="a"] .dw-bp,
  [data-design="a"] .dw-dim { animation: none; stroke-dashoffset: 0; opacity: 0.6; }
  [data-design="a"] .dw-dim-tick,
  [data-design="a"] .dw-dim-cross,
  [data-design="a"] .dw-dim-label { animation: none; opacity: 0.55; }
  [data-design="a"] .dw-pointer__pipe,
  [data-design="a"] .dw-pointer__drop { animation: none; opacity: 0.5; }
  [data-design="a"] .dw-valve__fill { animation: none; height: 62%; }
  [data-design="a"] .dw-polder__cell { animation: none; opacity: 0.22; }
  [data-design="a"] .dw-funnel__step.is-active { animation: none; }
  [data-design="a"] .dw-stamp { animation: none; }
  [data-design="a"] .dw-flowbars__bar { transition: none; }
  [data-design="a"] .dw-log dd[data-fresh="true"] { animation: none; }
}

/* ================================================================
   MOBILE HARD-CONTRACT (append at BOTTOM — required verbatim block)
   ================================================================ */
[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; }

/* forge fix: hide vestigial confirmation stamp inside hero (gate flags opacity:0 hero text) */
[data-design="a"] [data-mf-role="hero"] .dw-cta__stamp { display: none !important; }
