/* ═══════════════════════════════════════════════════════════
   Deltawerk · Design B — On It Plumbing, Grants Pass OR
   All selectors scoped to [data-design="b"]
   Slot: --design-b-primary maps to --dw-signal
   ═══════════════════════════════════════════════════════════ */

/* ── Root tokens ── */
[data-design="b"] {
  --design-b-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: "GT America","Söhne","Inter Tight","Helvetica Neue",-apple-system,system-ui,sans-serif;
  --dw-font-body:    "GT America","Söhne","Inter Tight","Helvetica Neue",-apple-system,system-ui,sans-serif;
  --dw-font-mono:    "GT America Mono","JetBrains Mono","IBM Plex 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;

  font-family: var(--dw-font-body);
  background: var(--dw-paper);
  color: var(--dw-ink);
  font-variant-numeric: tabular-nums;
}

/* ── Base reset (scoped) ── */
[data-design="b"] *, [data-design="b"] *::before, [data-design="b"] *::after {
  box-sizing: border-box;
}
[data-design="b"] h1, [data-design="b"] h2, [data-design="b"] h3,
[data-design="b"] p, [data-design="b"] ul, [data-design="b"] ol,
[data-design="b"] dl, [data-design="b"] figure { margin: 0; }

/* ═══════════════════════════════════════════════════════════
   E1 — HEADER
   ═══════════════════════════════════════════════════════════ */
[data-design="b"] .dw-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--dw-paper);
  border-bottom: 1px solid var(--dw-rule-soft);
}
[data-design="b"] .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="b"] .dw-logo { text-decoration: none; color: var(--dw-ink); }
[data-design="b"] .dw-logo__mark {
  font: 600 18px/1 var(--dw-font-display);
  letter-spacing: 0.18em; text-transform: uppercase;
}
[data-design="b"] .dw-burger {
  width: 40px; height: 40px; display: grid; gap: 4px; align-content: center;
  padding: 10px; 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="b"] .dw-burger:hover { border-color: var(--dw-signal); }
[data-design="b"] .dw-burger:focus-visible {
  outline: none; box-shadow: 0 0 0 2px var(--dw-paper), 0 0 0 4px var(--dw-signal);
}
[data-design="b"] .dw-burger__bar {
  display: block; height: 1px; background: var(--dw-ink);
  transition: transform var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="b"] .dw-burger[aria-expanded="true"] .dw-burger__bar:nth-child(1) { transform: translateY(5px) rotate(45deg); }
[data-design="b"] .dw-burger[aria-expanded="true"] .dw-burger__bar:nth-child(2) { transform: scaleX(0); }
[data-design="b"] .dw-burger[aria-expanded="true"] .dw-burger__bar:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* Isobath atmospheric line */
[data-design="b"] .dw-header__atmos {
  position: absolute; inset: auto 0 6px 0; height: 6px; overflow: hidden; pointer-events: none;
}
[data-design="b"] .dw-isobath { width: 100%; height: 100%; display: block; }
[data-design="b"] .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 */
[data-design="b"] .dw-sheet {
  position: fixed; inset: 0 0 0 auto; width: min(480px, 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;
  display: flex; flex-direction: column;
}
[data-design="b"] .dw-sheet[hidden] { display: none; }
[data-design="b"] .dw-sheet:not([hidden]) { transform: translateX(0); display: flex; }
[data-design="b"] .dw-sheet__inner {
  padding: var(--dw-step-bank) var(--dw-step-bay);
  display: grid; gap: var(--dw-step-row); overflow-y: auto; flex: 1;
}
[data-design="b"] .dw-sheet__close {
  position: absolute; top: 16px; right: 16px;
  width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  background: transparent; border: 1px solid var(--dw-rule-soft);
  border-radius: var(--dw-radius-pin); cursor: pointer; font-size: 18px; color: var(--dw-ink);
  transition: border-color var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="b"] .dw-sheet__close:hover { border-color: var(--dw-signal); }
[data-design="b"] .dw-sheet__close:focus-visible {
  outline: none; box-shadow: 0 0 0 2px var(--dw-paper), 0 0 0 4px var(--dw-signal);
}
[data-design="b"] .dw-sheet__backdrop {
  position: fixed; inset: 0; z-index: -1; background: rgba(21,23,26,0.55);
}
[data-design="b"] .dw-nav { display: grid; gap: 0; margin-top: var(--dw-step-bank); }
[data-design="b"] .dw-nav a {
  display: block; padding: 14px 0;
  font: 500 20px/1.2 var(--dw-font-display);
  color: var(--dw-ink); text-decoration: none;
  border-bottom: 1px solid var(--dw-rule-soft);
}
[data-design="b"] .dw-nav a:hover { color: var(--dw-signal); }
[data-design="b"] .dw-sheet__ctas { display: grid; gap: var(--dw-step-cell); margin-top: var(--dw-step-bay); }
[data-design="b"] .dw-sheet__tel {
  display: block; padding: 16px 20px; background: var(--dw-signal); color: var(--dw-on-signal);
  text-decoration: none; font: 600 18px/1 var(--dw-font-display);
  border-radius: var(--dw-radius-pin); text-align: center;
}
[data-design="b"] .dw-sheet__funnel-link {
  display: block; padding: 14px 20px; background: transparent;
  border: 1px solid var(--dw-rule); color: var(--dw-ink);
  text-decoration: none; font: 500 15px/1 var(--dw-font-display);
  letter-spacing: 0.06em; text-transform: uppercase;
  border-radius: var(--dw-radius-pin); text-align: center;
}

/* ═══════════════════════════════════════════════════════════
   HERO — E3 animated backdrop + text structure
   ═══════════════════════════════════════════════════════════ */
[data-design="b"] .dw-hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 80vh; display: flex; align-items: center;
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  background: var(--dw-paper);
  border-bottom: 1px solid var(--dw-rule-soft);
}

/* E3 — ONE animated backdrop layer: copper-glow halo (sustained ambient) */
[data-design="b"] .dw-hero__backdrop {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
}
[data-design="b"] .dw-hero__halo {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 72% 56% at 68% 44%,
    rgba(62, 125, 201, 0.28) 0%,
    rgba(11, 61, 145, 0.18) 40%,
    transparent 72%);
  animation: dw-hero-halo-breathe 6s var(--dw-ease-isobath) infinite;
}
@keyframes dw-hero-halo-breathe {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.06); }
}
[data-design="b"] .dw-hero__grid {
  position: absolute; inset: 0; width: 100%; height: 100%;
  color: var(--dw-signal);
}
/* Needle sweep — gauge ambient motion */
[data-design="b"] .dw-gauge-needle {
  transform-origin: 660px 120px;
  animation: dw-needle-sweep 8s var(--dw-ease-isobath) infinite;
}
@keyframes dw-needle-sweep {
  0%   { transform: rotate(-20deg); opacity: 0.25; }
  45%  { transform: rotate(45deg);  opacity: 0.55; }
  55%  { transform: rotate(45deg);  opacity: 0.55; }
  100% { transform: rotate(-20deg); opacity: 0.25; }
}

/* Hero content — z-index above backdrop */
[data-design="b"] .dw-hero__content {
  position: relative; z-index: 1;
  display: grid; gap: var(--dw-step-row);
  max-width: min(640px, 62%);
}
[data-design="b"] .dw-hero__eyebrow {
  margin: 0; font: 500 12px/1 var(--dw-font-mono);
  text-transform: uppercase; letter-spacing: 0.14em; color: var(--dw-ink-2);
}
[data-design="b"] .dw-hero__headline {
  margin: 0;
  font: 600 clamp(36px, 6vw, 80px)/1.02 var(--dw-font-display);
  letter-spacing: -0.028em; color: var(--dw-ink);
  opacity: 1;
}
[data-design="b"] .dw-hero__subtitle {
  margin: 0;
  font: 400 clamp(17px, 2vw, 22px)/1.5 var(--dw-font-body);
  color: var(--dw-ink-2); max-width: 52ch;
  opacity: 1;
}
[data-design="b"] .dw-hero__proof {
  margin: 0;
  font: 400 13px/1.4 var(--dw-font-mono);
  letter-spacing: 0.06em; color: var(--dw-ink-2);
  opacity: 1;
}

/* ═══════════════════════════════════════════════════════════
   E2 — CTA (phone-CTA for plumber; primer animation)
   ═══════════════════════════════════════════════════════════ */
[data-design="b"] .dw-cta {
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; gap: var(--dw-step-row);
  padding: 16px 28px;
  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: 600 clamp(17px,2vw,22px)/1 var(--dw-font-display);
  letter-spacing: 0.06em;
  min-height: 56px;
  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="b"] .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="b"] .dw-cta__arrow { display: inline-flex; transition: transform var(--dw-dur-settle) var(--dw-ease-settle); }
[data-design="b"] .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);
  pointer-events: none;
}
[data-design="b"] .dw-cta:hover {
  color: var(--dw-on-signal); border-color: var(--dw-signal);
}
[data-design="b"] .dw-cta:hover .dw-cta__primer {
  animation: none; transform: translate(0,0);
  transition: transform var(--dw-dur-prime) var(--dw-ease-prime);
}
[data-design="b"] .dw-cta:hover .dw-cta__arrow { transform: translateX(4px); }
[data-design="b"] .dw-cta:focus-visible {
  outline: none; box-shadow: 0 0 0 2px var(--dw-paper), 0 0 0 4px var(--dw-signal);
}
[data-design="b"] .dw-cta:active { transform: translateY(1px); }
[data-design="b"] .dw-cta.is-stamped .dw-cta__stamp {
  display: block !important;
  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 CTA sizing */
[data-design="b"] .dw-hero__cta { align-self: start; margin-top: var(--dw-step-cell); }

/* Services CTA row */
[data-design="b"] .dw-services__cta-row { margin-top: var(--dw-step-bank); }
[data-design="b"] .dw-services__cta { font-size: 17px; }

/* ═══════════════════════════════════════════════════════════
   E6 — POINTER (immediate preceding sibling of #funnel)
   data-mf-role="pointer" · hydraulic-warm · height ≥12px
   ═══════════════════════════════════════════════════════════ */
[data-design="b"] .dw-pointer {
  display: flex; flex-direction: column; align-items: center;
  padding: clamp(40px, 8vw, 80px) 16px clamp(56px, 10vw, 96px);
  background: var(--dw-paper);
  min-height: 80px;
  opacity: 1;
}
[data-design="b"] .dw-pointer__hit {
  position: relative;
  display: inline-block;
  width: 2px; height: 96px;
  color: var(--dw-signal);
  min-height: 96px;
}
[data-design="b"] .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 ease-in-out infinite;
  opacity: 0.7;
}
[data-design="b"] .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 ease-in infinite;
}
@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; }
}
[data-design="b"] .dw-pointer__label {
  margin-top: var(--dw-step-bay);
  font: 500 12px/1 var(--dw-font-mono);
  text-transform: uppercase; letter-spacing: 0.18em; color: var(--dw-ink-2);
}

/* ═══════════════════════════════════════════════════════════
   E5 — FUNNEL (id="funnel" data-mf-role="funnel")
   ═══════════════════════════════════════════════════════════ */
[data-design="b"] .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="b"] .dw-funnel__head { display: grid; gap: var(--dw-step-row); max-width: 60ch; margin-bottom: var(--dw-step-span); }
[data-design="b"] .dw-funnel__title {
  margin: 0; font: 600 clamp(36px, 6vw, 64px)/1.02 var(--dw-font-display);
  letter-spacing: -0.026em; color: var(--dw-ink);
}
[data-design="b"] .dw-funnel__lede { margin: 0; font: 400 18px/1.5 var(--dw-font-body); color: var(--dw-ink-2); }
[data-design="b"] .dw-funnel {
  display: grid; grid-template-columns: 1fr min(440px, 36%); gap: clamp(24px, 4vw, 64px);
  align-items: stretch;
}
[data-design="b"] .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="b"] .dw-funnel__step { display: grid; gap: var(--dw-step-row); }
[data-design="b"] .dw-funnel__step[hidden] { display: none; }
[data-design="b"] .dw-funnel__step.is-active { animation: dw-step-in 320ms var(--dw-ease-settle) both; }
[data-design="b"] .dw-funnel__legend { margin: 0; font: 600 22px/1.2 var(--dw-font-display); letter-spacing: -0.018em; color: var(--dw-ink); }

/* Chips (radio options) */
[data-design="b"] .dw-chips { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--dw-step-cell); }
[data-design="b"] .dw-chip { position: relative; display: block; cursor: pointer; }
[data-design="b"] .dw-chip input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
[data-design="b"] .dw-chip span {
  display: grid; gap: 2px; padding: 14px 16px;
  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);
}
[data-design="b"] .dw-chip span small { font: 400 12px/1.2 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.06em; }
[data-design="b"] .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="b"] .dw-chip input:focus-visible + span { box-shadow: 0 0 0 2px var(--dw-paper-2), 0 0 0 4px var(--dw-signal); }

/* Fields */
[data-design="b"] .dw-field { display: grid; gap: 6px; }
[data-design="b"] .dw-field__label { font: 500 14px/1.2 var(--dw-font-body); color: var(--dw-ink); }
[data-design="b"] .dw-field__label small { display: block; font: 400 12px/1.4 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.06em; margin-top: 2px; }
[data-design="b"] .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="b"] .dw-input:focus-visible { outline: none; border-color: var(--dw-signal); }
[data-design="b"] .dw-input--area { resize: vertical; min-height: 88px; font-family: var(--dw-font-body); }

/* Funnel nav */
[data-design="b"] .dw-funnel__nav {
  display: flex; gap: var(--dw-step-cell); justify-content: flex-end; align-items: center;
  margin-top: var(--dw-step-bay); padding-top: var(--dw-step-row); border-top: 1px solid var(--dw-rule-soft);
}
[data-design="b"] .dw-btn {
  padding: 12px 22px; 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);
  min-height: 44px;
}
[data-design="b"] .dw-btn--primary { background: var(--dw-signal); color: var(--dw-on-signal); border-color: var(--dw-signal); }
[data-design="b"] .dw-btn--primary:hover { background: color-mix(in oklab, var(--dw-signal), black 10%); }
[data-design="b"] .dw-btn--ghost { background: transparent; }
[data-design="b"] .dw-btn--ghost:hover { background: var(--dw-paper); }
[data-design="b"] .dw-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--dw-paper-2), 0 0 0 4px var(--dw-signal); }

/* Gauge / flowbars */
[data-design="b"] .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="b"] .dw-gauge {
  display: flex; align-items: baseline; gap: 10px;
  border-top: 1px solid var(--dw-rule); border-bottom: 1px solid var(--dw-rule);
  padding: var(--dw-step-bay) 0;
}
[data-design="b"] .dw-gauge__value {
  font: 600 clamp(56px, 9vw, 96px)/1 var(--dw-font-mono);
  letter-spacing: -0.02em; color: var(--dw-signal);
  font-variant-numeric: tabular-nums;
  transition: color var(--dw-dur-settle) var(--dw-ease-settle);
}
[data-design="b"] .dw-gauge__unit { font: 500 14px/1 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.18em; }
[data-design="b"] .dw-flowbars { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; height: 80px; align-items: end; }
[data-design="b"] .dw-flowbars__bar {
  height: 6%; 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="b"] .dw-funnel__small { margin: 0; font: 400 12px/1.4 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.06em; }
[data-design="b"] .dw-funnel__small--gauge { padding-top: var(--dw-step-cell); border-top: 1px solid var(--dw-rule-soft); }
[data-design="b"] .dw-gauge__tel {
  display: block; margin-top: var(--dw-step-cell);
  font: 500 15px/1 var(--dw-font-display); color: var(--dw-signal); text-decoration: none;
}
[data-design="b"] .dw-gauge__tel:hover { text-decoration: underline; }

/* Emergency tip */
[data-design="b"] .dw-funnel__emergency-tip {
  padding: var(--dw-step-row); background: var(--dw-paper);
  border: 1px solid var(--dw-pump); border-radius: var(--dw-radius-pin);
}
[data-design="b"] .dw-funnel__emergency-tip a { color: var(--dw-pump); }

/* Dispatch stamp / spec */
[data-design="b"] .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="b"] .dw-spec { display: grid; grid-template-columns: 160px 1fr; gap: 8px 16px; margin: 0; font-family: var(--dw-font-mono); font-size: 13px; }
[data-design="b"] .dw-spec dt { color: var(--dw-ink-2); letter-spacing: 0.08em; text-transform: uppercase; font-size: 11px; padding-top: 2px; }
[data-design="b"] .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); }
}

/* ═══════════════════════════════════════════════════════════
   E4 — AMBIENT-B (polder telemetry) — Services section
   ═══════════════════════════════════════════════════════════ */
[data-design="b"] .dw-ambient-b {
  position: relative; isolation: isolate; overflow: hidden;
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  background: var(--dw-paper);
  border-top: 1px solid var(--dw-rule-soft);
  max-width: 1440px; margin-inline: auto;
}
[data-design="b"] .dw-polder__grid {
  position: absolute; inset: 0; z-index: 0;
  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.45;
}
[data-design="b"] .dw-polder__cell {
  position: absolute;
  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.34; }
  100% { opacity: 0; }
}
[data-design="b"] .dw-polder__content {
  position: relative; z-index: 1;
  display: grid; gap: var(--dw-step-row);
  max-width: 880px;
}
[data-design="b"] .dw-polder__title { margin: 0; font: 600 clamp(40px, 6vw, 64px)/1.02 var(--dw-font-display); letter-spacing: -0.026em; color: var(--dw-ink); }
[data-design="b"] .dw-polder__lede { margin: 0; font: 400 18px/1.5 var(--dw-font-body); color: var(--dw-ink-2); max-width: 60ch; }

/* Service index rows */
[data-design="b"] .dw-service-index {
  list-style: none; padding: 0; margin: var(--dw-step-bank) 0 0;
  display: grid; gap: 0; border-top: 1px solid var(--dw-rule);
}
[data-design="b"] .dw-service-row {
  display: grid; grid-template-columns: 40px 1fr 1fr; gap: var(--dw-step-row);
  padding: var(--dw-step-row) 0;
  border-bottom: 1px solid var(--dw-rule-soft);
  font: 400 15px/1.4 var(--dw-font-body); color: var(--dw-ink); align-items: baseline;
}
[data-design="b"] .dw-service-row__num {
  font: 500 12px/1 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.1em;
}
[data-design="b"] .dw-service-row__name { font: 500 17px/1.3 var(--dw-font-display); color: var(--dw-ink); }
[data-design="b"] .dw-service-row__spec { font: 400 13px/1.4 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.04em; }

/* ═══════════════════════════════════════════════════════════
   SERVICE AREA
   ═══════════════════════════════════════════════════════════ */
[data-design="b"] .dw-service-area {
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  background: var(--dw-paper-2);
  border-top: 1px solid var(--dw-rule-soft);
}
[data-design="b"] .dw-service-area__inner { max-width: 880px; display: grid; gap: var(--dw-step-row); }
[data-design="b"] .dw-section-title { margin: 0; font: 600 clamp(36px, 5vw, 56px)/1.02 var(--dw-font-display); letter-spacing: -0.026em; color: var(--dw-ink); }
[data-design="b"] .dw-area-list {
  list-style: none; padding: 0; margin: var(--dw-step-cell) 0 0;
  display: flex; flex-wrap: wrap; gap: var(--dw-step-row) var(--dw-step-bay);
}
[data-design="b"] .dw-area-list li {
  font: 500 16px/1 var(--dw-font-body); color: var(--dw-ink);
  padding: 8px 16px; border: 1px solid var(--dw-rule); border-radius: var(--dw-radius-pin);
  background: var(--dw-paper);
}
[data-design="b"] .dw-area__tel {
  display: inline-block; margin-top: var(--dw-step-row);
  font: 400 15px/1 var(--dw-font-mono); color: var(--dw-signal); text-decoration: none;
}
[data-design="b"] .dw-area__tel:hover { text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════
   ABOUT
   ═══════════════════════════════════════════════════════════ */
[data-design="b"] .dw-about {
  padding: var(--dw-step-flood) clamp(16px, 4vw, 40px);
  background: var(--dw-paper);
  border-top: 1px solid var(--dw-rule-soft);
}
[data-design="b"] .dw-about__inner {
  max-width: 880px; display: grid; gap: var(--dw-step-row);
}
[data-design="b"] .dw-about__body { display: grid; gap: var(--dw-step-row); max-width: 60ch; }
[data-design="b"] .dw-about__body p { font: 400 17px/1.6 var(--dw-font-body); color: var(--dw-ink); }
[data-design="b"] .dw-about__plate {
  margin-top: var(--dw-step-bank); padding: var(--dw-step-bay);
  background: var(--dw-paper-2); border: 1px solid var(--dw-rule); border-radius: var(--dw-radius-bay);
  max-width: 480px;
}
[data-design="b"] .dw-about__photo {
  margin-top: var(--dw-step-bank);
}
[data-design="b"] .dw-about__photo img {
  border-radius: var(--dw-radius-bay); border: 1px solid var(--dw-rule-soft);
  display: block;
}
[data-design="b"] .dw-about__photos-row {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--dw-step-row);
  margin-top: var(--dw-step-row);
}
[data-design="b"] .dw-about__photos-row img {
  border-radius: var(--dw-radius-bay); border: 1px solid var(--dw-rule-soft); display: block;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
[data-design="b"] .dw-footer {
  background: var(--dw-paper-2);
  border-top: 1px solid var(--dw-rule);
  padding: var(--dw-step-bank) clamp(16px, 4vw, 40px) var(--dw-step-row);
}
[data-design="b"] .dw-footer__row1 {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--dw-step-bank);
  max-width: 1440px; margin-inline: auto; padding-bottom: var(--dw-step-bank);
}
[data-design="b"] .dw-footer__firm { display: grid; gap: var(--dw-step-cell); align-content: start; }
[data-design="b"] .dw-footer__tagline { font: 400 13px/1.4 var(--dw-font-mono); color: var(--dw-ink-2); letter-spacing: 0.06em; }
[data-design="b"] .dw-footer__nav { display: grid; gap: var(--dw-step-cell); align-content: start; }
[data-design="b"] .dw-footer__nav a {
  font: 400 15px/1 var(--dw-font-body); color: var(--dw-ink); text-decoration: none;
}
[data-design="b"] .dw-footer__nav a:hover { color: var(--dw-signal); }
[data-design="b"] .dw-footer__contact { display: grid; gap: var(--dw-step-cell); align-content: start; }
[data-design="b"] .dw-footer__contact a { font: 400 15px/1 var(--dw-font-mono); color: var(--dw-signal); text-decoration: none; }
[data-design="b"] .dw-footer__contact a:hover { text-decoration: underline; }
[data-design="b"] .dw-footer__contact span { font: 400 13px/1.5 var(--dw-font-mono); color: var(--dw-ink-2); }
[data-design="b"] .dw-footer__rule { height: 1px; background: var(--dw-rule-soft); max-width: 1440px; margin-inline: auto; }
[data-design="b"] .dw-footer__row2 {
  display: flex; align-items: center; justify-content: space-between; gap: var(--dw-step-row);
  max-width: 1440px; margin-inline: auto; padding-top: var(--dw-step-row);
  font: 400 12px/1 var(--dw-font-mono); color: var(--dw-ink-2);
}
[data-design="b"] .dw-footer__live {
  width: 8px; height: 8px; border-radius: var(--dw-radius-full);
  background: var(--dw-signal); display: inline-block;
  animation: dw-pip-breathe 4s var(--dw-ease-isobath) infinite;
}
@keyframes dw-pip-breathe {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.4; }
}

/* Shared eyebrow */
[data-design="b"] .dw-eyebrow {
  margin: 0; font: 500 12px/1 var(--dw-font-mono);
  text-transform: uppercase; letter-spacing: 0.14em; color: var(--dw-ink-2);
}

/* ═══════════════════════════════════════════════════════════
   REDUCED MOTION FALLBACKS
   ═══════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .dw-isobath__line { animation: none; opacity: 0.7; }
  [data-design="b"] .dw-sheet { transition: none; }
  [data-design="b"] .dw-hero__halo { animation: none; opacity: 0.8; }
  [data-design="b"] .dw-gauge-needle { animation: none; opacity: 0.4; transform: rotate(15deg); }
  [data-design="b"] .dw-cta__primer { animation: none; transform: translate(0, 0); opacity: 0.85; }
  [data-design="b"] .dw-cta.is-stamped .dw-cta__stamp { animation: none; opacity: 1; display: block !important; }
  [data-design="b"] .dw-cta:hover .dw-cta__primer { transition: none; }
  [data-design="b"] .dw-pointer__pipe { animation: none; opacity: 0.7; transform: scaleY(1); }
  [data-design="b"] .dw-pointer__drop { animation: none; opacity: 0.5; transform: translateY(0) scale(1); }
  [data-design="b"] .dw-funnel__step.is-active { animation: none; }
  [data-design="b"] .dw-stamp { animation: none; }
  [data-design="b"] .dw-flowbars__bar { transition: none; }
  [data-design="b"] .dw-gauge__value { transition: none; }
  [data-design="b"] .dw-footer__live { animation: none; }
  [data-design="b"] .dw-polder__cell { animation: none; opacity: 0.24; }
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — tablet / mobile
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  [data-design="b"] .dw-hero__content { max-width: 90%; }
  [data-design="b"] .dw-footer__row1 { grid-template-columns: 1fr 1fr; }
  [data-design="b"] .dw-footer__contact { grid-column: 1 / -1; }
}
@media (max-width: 880px) {
  [data-design="b"] .dw-funnel { grid-template-columns: 1fr; }
  [data-design="b"] .dw-chips { grid-template-columns: 1fr; }
  [data-design="b"] .dw-funnel__gauge { order: -1; }
  [data-design="b"] .dw-service-row { grid-template-columns: 40px 1fr; }
  [data-design="b"] .dw-service-row__spec { grid-column: 2; }
}
@media (max-width: 720px) {
  [data-design="b"] .dw-hero { min-height: 100svh; }
  [data-design="b"] .dw-hero__content { max-width: 100%; }
  [data-design="b"] .dw-footer__row1 { grid-template-columns: 1fr; }
  [data-design="b"] .dw-about__photos-row { grid-template-columns: 1fr; }
  [data-design="b"] .dw-spec { grid-template-columns: 120px 1fr; }
}
@media (max-width: 560px) {
  [data-design="b"] .dw-header__bar { padding: 16px; }
  [data-design="b"] .dw-logo__mark { font-size: 15px; letter-spacing: 0.16em; }
  [data-design="b"] .dw-sheet { width: 100vw; border-left: none; }
  [data-design="b"] .dw-hero { padding-top: 80px; }
  [data-design="b"] .dw-hero__headline { font-size: clamp(30px, 9vw, 52px); }
  [data-design="b"] .dw-chips { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 380px) {
  [data-design="b"] .dw-logo__mark { font-size: 13px; letter-spacing: 0.14em; }
  [data-design="b"] .dw-chips { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE ANTI-H-SCROLL GUARD
   Scoped per contract — NEVER bare [data-design] descendant
   ═══════════════════════════════════════════════════════════ */
[data-design="b"].dq-design,
[data-design="b"] .dq-design {
  max-width: 100%;
  overflow-x: clip;
}
[data-design="b"].dq-design * {
  min-width: 0;
}
[data-design="b"].dq-design img,
[data-design="b"].dq-design svg:not([data-keep-size]) {
  max-width: 100%;
  height: auto;
}

/* Phase-3.4 hero visibility floor (forge_assemble) */
[data-design="b"] [data-mf-role="hero"] :is(h1,h2,p,.headline,.subtitle,.proof,[class*="headline"],[class*="subtitle"],[class*="proof"]),
[data-design="b"] [data-mf-role="cta"] { opacity: 1 !important; }
