/* ============================================================
   Design B — Drafted Wall for New Life Painters
   All selectors scoped to [data-design="b"]
   Token remapping: --design-b-primary exposed on root block
   ~1000 lines target
   ============================================================ */

/* ── Token block ───────────────────────────────────────────── */
[data-design="b"] {
  --design-b-primary: #0E5C8A;

  /* Colour tokens (drafted-wall remapped) */
  --dw-bg:          #F2EDE0;
  --dw-surface:     #FBF6E8;
  --dw-surface-2:   #E9E2CE;
  --dw-ink:         #1C1A17;
  --dw-ink-2:       #3A352D;
  --dw-muted:       #7A7268;
  --dw-border:      #C7BFAE;
  --dw-border-2:    #A89E89;
  --dw-accent:      #0E5C8A;
  --dw-accent-soft: #C8DCE8;
  --dw-accent-2:    #9A6E3C;
  --dw-critical:    #B53024;
  --dw-success:     #1F6B4A;
  --dw-warn:        #C19211;

  /* Typography */
  --dw-font-display: 'Charter','Iowan Old Style','Sitka Text',Cambria,Georgia,serif;
  --dw-font-body: -apple-system,BlinkMacSystemFont,'Söhne','Inter','Segoe UI',system-ui,sans-serif;
  --dw-font-spec: ui-monospace,'JetBrains Mono','IBM Plex Mono','Menlo','Consolas',monospace;

  /* Spacing */
  --dw-step:   4px;
  --dw-row:    8px;
  --dw-cut:   12px;
  --dw-cell:  16px;
  --dw-bay:   24px;
  --dw-pane:  32px;
  --dw-bay-2: 48px;
  --dw-wall:  80px;
  --dw-room: 120px;

  /* Motion */
  --dw-dur-tick:   140ms;
  --dw-dur-settle: 280ms;
  --dw-dur-draw:  4500ms;
  --dw-dur-edge: 14000ms;
  --dw-dur-grid: 28000ms;
  --dw-ease-draft:  cubic-bezier(0.22,0.61,0.36,1);
  --dw-ease-stamp:  cubic-bezier(0.6,-0.1,0.4,1.1);
  --dw-ease-edge:   cubic-bezier(0.45,0.05,0.55,0.95);

  /* Radius */
  --dw-radius-card:  2px;
  --dw-radius-panel: 4px;
  --dw-radius-stamp: 3px;
  --dw-radius-pill:  999px;

  /* Elevation */
  --dw-elev-flat:  none;
  --dw-elev-ring:  0 0 0 1px var(--dw-border);
  --dw-elev-stamp: 0 1px 0 var(--dw-border),0 6px 14px -8px rgba(28,26,23,0.18);

  background: var(--dw-bg);
  color: var(--dw-ink);
  font-family: var(--dw-font-body);
  font-size: clamp(16px,2vw,18px);
  line-height: 1.6;
}

/* ── Base resets inside scope ─────────────────────────────── */
[data-design="b"] *, [data-design="b"] *::before, [data-design="b"] *::after {
  box-sizing: border-box;
}
[data-design="b"] a { color: inherit; }
[data-design="b"] ul, [data-design="b"] ol { list-style: none; margin: 0; padding: 0; }
[data-design="b"] p { margin: 0 0 var(--dw-cell); }
[data-design="b"] p:last-child { margin-bottom: 0; }

/* ── Shared typography ────────────────────────────────────── */
[data-design="b"] .dw-eyebrow {
  font-family: var(--dw-font-spec);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dw-accent-2);
  margin: 0 0 var(--dw-cut);
}

/* ── E1 — Header ──────────────────────────────────────────── */
[data-design="b"] .dw-header {
  position: sticky; top: 0; z-index: 40;
  background: var(--dw-bg);
  border-bottom: 1px solid var(--dw-border);
  isolation: isolate;
}
[data-design="b"] .dw-header__grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(to right, var(--dw-border) 1px, transparent 1px),
    linear-gradient(to bottom, var(--dw-border) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.04;
  animation: dw-grid-pulse var(--dw-dur-grid) ease-in-out infinite;
}
@keyframes dw-grid-pulse {
  0%,100% { opacity:0.04; }
  50%     { opacity:0.10; }
}
[data-design="b"] .dw-header__crosshairs { position:absolute; inset:0; pointer-events:none; }
[data-design="b"] .dw-cross {
  position:absolute; width:14px; height:14px;
  background:
    linear-gradient(var(--dw-accent-2),var(--dw-accent-2)) center/100% 1px no-repeat,
    linear-gradient(var(--dw-accent-2),var(--dw-accent-2)) center/1px 100% no-repeat;
  opacity:0;
  animation: dw-cross-fade 31000ms ease-in-out infinite;
}
[data-design="b"] .dw-cross--tl { top:8px; left:8px; }
[data-design="b"] .dw-cross--tr { top:8px; right:8px; animation-delay:6000ms; }
@keyframes dw-cross-fade {
  0%,100% { opacity:0; }
  40%,60% { opacity:0.55; }
}
[data-design="b"] .dw-header__bar {
  position:relative; z-index:1;
  display:flex; align-items:center; justify-content:space-between;
  max-width:1200px; margin-inline:auto;
  padding: var(--dw-cut) var(--dw-pane);
  min-height:64px;
}
[data-design="b"] .dw-logo { text-decoration:none; color:var(--dw-ink); }
[data-design="b"] .dw-logo__mark {
  font-family: var(--dw-font-display);
  font-size:22px; letter-spacing:-0.005em; font-weight:500;
}
[data-design="b"] .dw-burger {
  display:inline-flex; flex-direction:column; gap:4px;
  background:transparent; border:1px solid var(--dw-border);
  padding:10px 12px; border-radius:var(--dw-radius-stamp);
  cursor:pointer; min-width:44px; min-height:44px; align-items:center; justify-content:center;
}
[data-design="b"] .dw-burger__weft {
  display:block; width:18px; height:1.5px; background:var(--dw-ink);
  transition:transform var(--dw-dur-settle) var(--dw-ease-draft);
}
[data-design="b"] .dw-burger:hover { border-color:var(--dw-ink); }
[data-design="b"] .dw-burger[aria-expanded="true"] .dw-burger__weft:nth-child(1) { transform:translateY(5.5px) rotate(45deg); }
[data-design="b"] .dw-burger[aria-expanded="true"] .dw-burger__weft:nth-child(2) { opacity:0; }
[data-design="b"] .dw-burger[aria-expanded="true"] .dw-burger__weft:nth-child(3) { transform:translateY(-5.5px) rotate(-45deg); }

/* Drawer */
[data-design="b"] .dw-drawer[hidden] { display:none; }
[data-design="b"] .dw-drawer {
  position:fixed; inset:64px 0 0 0; z-index:39;
  background:var(--dw-surface);
  padding:var(--dw-wall) var(--dw-pane);
  animation:dw-drawer-in var(--dw-dur-settle) var(--dw-ease-draft);
  overflow-y:auto;
  display:flex; flex-direction:column; gap:var(--dw-wall);
}
[data-design="b"] .dw-drawer::before,
[data-design="b"] .dw-drawer::after {
  content:""; position:absolute; width:18px; height:18px;
  background:
    linear-gradient(var(--dw-accent-2),var(--dw-accent-2)) center/100% 1px no-repeat,
    linear-gradient(var(--dw-accent-2),var(--dw-accent-2)) center/1px 100% no-repeat;
}
[data-design="b"] .dw-drawer::before { top:18px; left:18px; }
[data-design="b"] .dw-drawer::after  { bottom:18px; right:18px; }
@keyframes dw-drawer-in {
  from { transform:translateY(-12px); opacity:0; }
  to   { transform:translateY(0); opacity:1; }
}
[data-design="b"] .dw-drawer__close {
  position:absolute; top:var(--dw-cut); right:var(--dw-pane);
  background:transparent; border:1px solid var(--dw-border);
  width:44px; height:44px; border-radius:var(--dw-radius-stamp);
  cursor:pointer; font-size:18px; color:var(--dw-ink);
  display:flex; align-items:center; justify-content:center;
}
[data-design="b"] .dw-drawer__list {
  padding:0; margin:0;
  max-width:640px; margin-inline:auto;
  display:flex; flex-direction:column; gap:var(--dw-bay);
  counter-reset:dw-mark;
}
[data-design="b"] .dw-drawer__list li {
  counter-increment:dw-mark;
  font-family:var(--dw-font-display);
  font-size:32px;
  border-bottom:1px solid var(--dw-border);
  padding-bottom:var(--dw-cut);
  position:relative;
}
[data-design="b"] .dw-drawer__list li::before {
  content:"0" counter(dw-mark);
  font-family:var(--dw-font-spec); font-size:11px;
  color:var(--dw-accent-2); letter-spacing:0.14em;
  position:absolute; top:8px; left:-42px;
}
[data-design="b"] .dw-drawer__list a {
  color:var(--dw-ink); text-decoration:none;
  transition:color var(--dw-dur-tick) var(--dw-ease-draft);
}
[data-design="b"] .dw-drawer__list a:hover { color:var(--dw-accent); }
[data-design="b"] .dw-drawer__actions {
  display:flex; flex-direction:column; gap:var(--dw-cut);
  max-width:320px; margin-inline:auto;
  align-self:center;
}
[data-design="b"] .dw-drawer__backdrop[hidden] { display:none; }
[data-design="b"] .dw-drawer__backdrop {
  position:fixed; inset:0; z-index:38;
  background:rgba(28,26,23,0.4);
}

/* ── Hero ─────────────────────────────────────────────────── */
[data-design="b"] .dw-hero {
  position:relative; overflow:hidden;
  min-height:clamp(540px,80vh,820px);
  display:flex; flex-direction:column; justify-content:center;
  background:var(--dw-bg);
}

/* Substrate layer: ONE animated layer (hero.md v0.2.1 compliant)
   Wet-edge color wash: arrives (draws in) then sustains ambient breathing motion */
[data-design="b"] .dw-hero__substrate {
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
}
[data-design="b"] .dw-hero__wash-field {
  position:absolute; inset:0;
  /* Two-stop gradient wash — blueprint cyan tint at low chroma (≤25% surface area rule) */
  background:
    linear-gradient(
      135deg,
      color-mix(in oklab, var(--dw-accent), var(--dw-bg) 82%) 0%,
      var(--dw-bg) 55%,
      color-mix(in oklab, var(--dw-accent-2), var(--dw-bg) 88%) 100%
    );
  /* Arrival: draws in from left over 2s, then sustains ambient shimmer */
  animation: dw-hero-wash-arrive 2s var(--dw-ease-draft) forwards,
             dw-hero-wash-ambient 8s var(--dw-ease-edge) 2s infinite;
}
@keyframes dw-hero-wash-arrive {
  0%   { opacity:0; transform:scaleX(0.6) translateX(-5%); }
  100% { opacity:1; transform:scaleX(1) translateX(0); }
}
@keyframes dw-hero-wash-ambient {
  0%,100% { opacity:0.72; }
  50%     { opacity:1; }
}

[data-design="b"] .dw-hero__grid-overlay {
  position:absolute; inset:0;
  background-image:
    linear-gradient(to right, var(--dw-border) 1px, transparent 1px),
    linear-gradient(to bottom, var(--dw-border) 1px, transparent 1px);
  background-size:48px 48px;
  opacity:0.06;
  animation:dw-grid-pulse var(--dw-dur-grid) ease-in-out infinite;
}

/* SVG spec lines — structural geometry that draws in */
[data-design="b"] .dw-hero__spec-lines {
  position:absolute; inset:0; width:100%; height:100%;
}
[data-design="b"] .dw-spec-line {
  stroke: var(--dw-border-2);
  stroke-width:1;
  fill:none;
  animation:dw-spec-line-draw 2.2s var(--dw-ease-edge) forwards;
}
[data-design="b"] .dw-spec-line--h1 { animation-delay:0.3s; }
[data-design="b"] .dw-spec-line--h2 { animation-delay:0.7s; }
[data-design="b"] .dw-spec-line--v1 { stroke-dasharray:480; stroke-dashoffset:480; animation-delay:0.5s; }
@keyframes dw-spec-line-draw {
  to { stroke-dashoffset:0; }
}
[data-design="b"] .dw-spec-cross { animation:dw-cross-arrive 0.8s var(--dw-ease-stamp) forwards; }
[data-design="b"] .dw-spec-cross--tl { animation-delay:1.4s; }
[data-design="b"] .dw-spec-cross--br { animation-delay:1.8s; }
@keyframes dw-cross-arrive {
  from { opacity:0; transform:scale(0.5); }
  to   { opacity:0.45; transform:scale(1); }
}
[data-design="b"] .dw-spec-cross line {
  stroke:var(--dw-accent-2); stroke-width:1; fill:none;
}

/* Hero inner layout */
[data-design="b"] .dw-hero__inner {
  position:relative; z-index:1;
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:var(--dw-pane);
  max-width:1200px; margin-inline:auto;
  padding:clamp(var(--dw-wall),10vw,var(--dw-room)) var(--dw-pane);
  align-items:center;
}

/* Hero text — opacity:1 at first paint, NEVER reveal-gated */
[data-design="b"] .dw-hero__text {
  display:flex; flex-direction:column; gap:var(--dw-cell);
}
[data-design="b"] .dw-hero__h1 {
  font-family:var(--dw-font-display);
  font-size:clamp(36px,5vw,56px);
  line-height:1.12;
  letter-spacing:-0.012em;
  color:var(--dw-ink);
  margin:0;
  max-width:18ch;
}
[data-design="b"] .dw-hero__subtitle {
  font-size:clamp(15px,1.8vw,19px);
  line-height:1.5;
  color:var(--dw-ink-2);
  max-width:38ch;
  margin:0;
}
[data-design="b"] .dw-hero__proof {
  font-family:var(--dw-font-spec);
  font-size:12px;
  letter-spacing:0.10em;
  color:var(--dw-muted);
  margin:0;
}
[data-design="b"] .dw-hero__cta { margin-top:var(--dw-cut); }

/* Hero spec panel (right column) */
[data-design="b"] .dw-hero__spec-panel {
  background:var(--dw-surface);
  border:1px solid var(--dw-border);
  border-radius:var(--dw-radius-panel);
  padding:var(--dw-bay);
  position:relative;
}
[data-design="b"] .dw-hero__spec-panel::before,
[data-design="b"] .dw-hero__spec-panel::after {
  content:""; position:absolute; width:14px; height:14px;
  background:
    linear-gradient(var(--dw-accent-2),var(--dw-accent-2)) center/100% 1px no-repeat,
    linear-gradient(var(--dw-accent-2),var(--dw-accent-2)) center/1px 100% no-repeat;
  opacity:0.55;
}
[data-design="b"] .dw-hero__spec-panel::before { top:8px; left:8px; }
[data-design="b"] .dw-hero__spec-panel::after  { bottom:8px; right:8px; }
[data-design="b"] .dw-hero__spec-head {
  display:flex; align-items:center; justify-content:space-between;
  padding-bottom:var(--dw-cut); border-bottom:1px solid var(--dw-border);
  margin-bottom:var(--dw-cell);
}
[data-design="b"] .dw-cert__title {
  font-family:var(--dw-font-spec); font-size:11px; letter-spacing:0.18em;
  color:var(--dw-ink); text-transform:uppercase;
}
[data-design="b"] .dw-hero__spec-dl {
  display:grid; grid-template-columns:auto 1fr; gap:var(--dw-row) var(--dw-cell);
  margin:0 0 var(--dw-cell);
}
[data-design="b"] .dw-hero__spec-dl dt {
  font-family:var(--dw-font-spec); font-size:10px; letter-spacing:0.14em;
  color:var(--dw-accent-2); text-transform:uppercase;
  padding-bottom:var(--dw-row); border-bottom:1px dashed var(--dw-border);
}
[data-design="b"] .dw-hero__spec-dl dd {
  font-family:var(--dw-font-spec); font-size:12px;
  color:var(--dw-ink);
  padding-bottom:var(--dw-row); border-bottom:1px dashed var(--dw-border);
  margin:0;
}
[data-design="b"] .dw-hero__spec-consult {
  border-top:1px solid var(--dw-border); padding-top:var(--dw-cut);
  margin-top:var(--dw-cut);
}
[data-design="b"] .dw-hero__spec-consult p {
  font-size:14px; line-height:1.5; color:var(--dw-ink-2); margin:var(--dw-row) 0 0;
}

/* ── E6 — Pointer ─────────────────────────────────────────── */
[data-design="b"] .dw-pointer {
  display:flex; justify-content:center;
  padding:clamp(40px,8vw,80px) 16px clamp(56px,10vw,96px);
  background:var(--dw-bg);
  opacity:1; /* MUST be visibly rendered — never opacity:0 */
}
[data-design="b"] .dw-pointer__hit {
  position:relative; display:inline-flex; flex-direction:column;
  align-items:center; gap:8px;
  text-decoration:none; color:var(--dw-ink);
  min-height:80px; /* ensures bbox height ≥ 8px */
}
[data-design="b"] .dw-pointer__tick {
  display:block; width:16px; height:1px; background:currentColor; opacity:0.7;
}
[data-design="b"] .dw-pointer__rule {
  display:block; width:1px; height:56px; background:currentColor;
  transform-origin:top center;
  animation:dw-pointer-extend 5s ease-in-out infinite;
}
[data-design="b"] .dw-pointer__label {
  font-family:var(--dw-font-spec); font-size:11px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--dw-accent-2);
  opacity:0;
  animation:dw-pointer-stamp 5s ease-in-out infinite;
}
@keyframes dw-pointer-extend {
  0%,100% { transform:scaleY(0.4); opacity:0.4; }
  50%     { transform:scaleY(1);   opacity:0.85; }
}
@keyframes dw-pointer-stamp {
  0%,30%,100% { opacity:0; }
  50%,70%     { opacity:0.85; }
}

/* ── E5 — Specify funnel ──────────────────────────────────── */
[data-design="b"] .dw-specify {
  padding:var(--dw-room) var(--dw-pane);
  background:var(--dw-bg);
  border-top:1px solid var(--dw-border);
}
[data-design="b"] .dw-specify__header {
  max-width:720px; margin:0 auto var(--dw-bay-2);
}
[data-design="b"] .dw-specify__title {
  font-family:var(--dw-font-display); font-size:clamp(28px,4vw,38px);
  letter-spacing:-0.012em; line-height:1.15;
  margin:0 0 var(--dw-cell); color:var(--dw-ink);
}
[data-design="b"] .dw-specify__lead {
  font-size:17px; line-height:1.55; color:var(--dw-ink-2); margin:0; max-width:56ch;
}
[data-design="b"] .dw-specify__grid {
  display:grid; grid-template-columns:1.2fr 1fr;
  gap:var(--dw-pane);
  max-width:1200px; margin-inline:auto;
  align-items:start;
}
[data-design="b"] .dw-step {
  border:0; padding:0; margin:0 0 var(--dw-bay-2); position:relative;
  opacity:0.35; transition:opacity var(--dw-dur-settle) var(--dw-ease-draft);
}
[data-design="b"] .dw-step[data-state="active"],
[data-design="b"] .dw-step[data-state="done"] { opacity:1; }
[data-design="b"] .dw-step legend {
  font-family:var(--dw-font-display); font-size:22px; color:var(--dw-ink);
  margin-bottom:var(--dw-cell); padding:0; float:unset;
}
[data-design="b"] .dw-step__num {
  font-family:var(--dw-font-spec); font-size:11px; letter-spacing:0.14em;
  color:var(--dw-accent-2); margin-right:var(--dw-cut);
}
[data-design="b"] .dw-step__opts {
  display:flex; flex-wrap:wrap; gap:var(--dw-row);
}
[data-design="b"] .dw-step__opts--fields {
  flex-direction:column; gap:var(--dw-bay);
}
[data-design="b"] .dw-step__opts label {
  position:relative; display:inline-flex; align-items:center;
  padding:10px var(--dw-cell); min-height:44px; min-width:44px;
  border:1px solid var(--dw-border); border-radius:var(--dw-radius-stamp);
  background:var(--dw-surface);
  font-family:var(--dw-font-spec); font-size:12px;
  letter-spacing:0.10em; text-transform:uppercase; color:var(--dw-ink);
  cursor:pointer;
  transition:border-color var(--dw-dur-tick) var(--dw-ease-draft),
             background var(--dw-dur-tick) var(--dw-ease-draft);
}
[data-design="b"] .dw-step__opts label:hover { border-color:var(--dw-ink); }
[data-design="b"] .dw-step__opts input[type="radio"] {
  position:absolute; opacity:0; pointer-events:none; width:1px; height:1px;
}
[data-design="b"] .dw-step__opts label:has(input:checked) {
  background:var(--dw-accent-soft);
  border-color:var(--dw-accent);
  color:var(--dw-accent);
}
[data-design="b"] .dw-field {
  display:flex; flex-direction:column; gap:var(--dw-row); width:100%;
}
[data-design="b"] .dw-field__label {
  font-family:var(--dw-font-spec); font-size:11px; letter-spacing:0.14em;
  color:var(--dw-accent-2); text-transform:uppercase;
}
[data-design="b"] .dw-field input,
[data-design="b"] .dw-field textarea {
  background:transparent; border:0; border-bottom:1px solid var(--dw-ink);
  padding:8px 0; font-family:var(--dw-font-spec); font-size:16px;
  color:var(--dw-ink); outline:none;
  transition:border-color var(--dw-dur-tick) var(--dw-ease-draft);
  min-height:44px; width:100%; resize:vertical;
}
[data-design="b"] .dw-field input:focus,
[data-design="b"] .dw-field textarea:focus {
  border-bottom-color:var(--dw-accent); border-bottom-width:2px;
}

/* Certificate panel */
[data-design="b"] .dw-cert {
  position:sticky; top:96px;
  background:var(--dw-surface);
  border:1px solid var(--dw-border);
  border-radius:var(--dw-radius-panel);
  padding:var(--dw-bay);
  position:relative;
}
[data-design="b"] .dw-cert::before,
[data-design="b"] .dw-cert::after {
  content:""; position:absolute; width:14px; height:14px;
  background:
    linear-gradient(var(--dw-accent-2),var(--dw-accent-2)) center/100% 1px no-repeat,
    linear-gradient(var(--dw-accent-2),var(--dw-accent-2)) center/1px 100% no-repeat;
  opacity:0.55;
}
[data-design="b"] .dw-cert::before  { top:8px; left:8px; }
[data-design="b"] .dw-cert::after   { bottom:8px; right:8px; }
[data-design="b"] .dw-cert__head {
  display:flex; align-items:center; justify-content:space-between;
  padding-bottom:var(--dw-cell); border-bottom:1px solid var(--dw-border);
  margin-bottom:var(--dw-cell);
}
[data-design="b"] .dw-sticker {
  font-family:var(--dw-font-spec); font-size:10px; letter-spacing:0.14em;
  padding:3px 8px; border-radius:var(--dw-radius-pill); text-transform:uppercase;
}
[data-design="b"] .dw-sticker--draft {
  color:var(--dw-accent-2); border:1px solid var(--dw-accent-2); background:transparent;
}
[data-design="b"] .dw-sticker--issued {
  color:var(--dw-success); border:1px solid var(--dw-success);
  background:color-mix(in oklab,var(--dw-success),transparent 90%);
}
[data-design="b"] .dw-cert__lines {
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:var(--dw-cut);
}
[data-design="b"] .dw-cert__lines li {
  display:grid; grid-template-columns:86px 1fr;
  align-items:baseline; gap:var(--dw-cell);
  font-family:var(--dw-font-spec); font-size:13px;
  border-bottom:1px dashed var(--dw-border); padding-bottom:var(--dw-row);
}
[data-design="b"] .dw-cert__lbl { color:var(--dw-accent-2); letter-spacing:0.14em; }
[data-design="b"] .dw-cert__val { color:var(--dw-ink); position:relative; min-height:1.2em; }
[data-design="b"] .dw-cert__val[data-set="true"]::before {
  content:"✓"; position:absolute; left:-22px; top:0;
  color:var(--dw-accent); font-size:14px;
  animation:dw-check-stamp 200ms var(--dw-ease-stamp);
}
@keyframes dw-check-stamp {
  0%   { transform:scale(0.4); opacity:0; }
  60%  { transform:scale(1.18); opacity:1; }
  100% { transform:scale(1); opacity:1; }
}
[data-design="b"] .dw-cert__val.dw-val--swap {
  animation:dw-cert-swap 280ms var(--dw-ease-draft);
}
@keyframes dw-cert-swap {
  0%   { opacity:0.2; transform:translateY(-2px); }
  100% { opacity:1; transform:translateY(0); }
}
[data-design="b"] .dw-cert__foot {
  margin-top:var(--dw-bay); padding-top:var(--dw-cell);
  border-top:1px solid var(--dw-border);
  display:flex; flex-direction:column; gap:var(--dw-cell);
}
[data-design="b"] .dw-cert__sig {
  font-family:var(--dw-font-spec); font-size:11px;
  letter-spacing:0.10em; color:var(--dw-muted); text-transform:uppercase;
}
[data-design="b"] [data-dw-witness][hidden] { display:none !important; }
[data-design="b"] [data-dw-witness] {
  animation:dw-witness-in 320ms var(--dw-ease-stamp);
  align-self:flex-start;
}
@keyframes dw-witness-in {
  0%   { opacity:0; transform:translateY(6px) scale(0.96); }
  60%  { transform:translateY(0) scale(1.02); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}

/* Funnel footer */
[data-design="b"] .dw-funnel__footer {
  max-width:720px; margin:var(--dw-wall) auto 0;
  display:flex; flex-direction:column; gap:var(--dw-cut);
  padding-top:var(--dw-bay); border-top:1px solid var(--dw-border);
}
[data-design="b"] .dw-funnel__meta {
  font-family:var(--dw-font-spec); font-size:12px; letter-spacing:0.08em;
  color:var(--dw-muted); margin:0;
}
[data-design="b"] .dw-funnel__phone {
  color:var(--dw-accent); text-decoration:underline; text-underline-offset:3px;
}

/* ── E2 — Stamp (CTA) ─────────────────────────────────────── */
[data-design="b"] .dw-stamp {
  position:relative; display:inline-flex; align-items:center; gap:var(--dw-cut);
  padding:14px 22px; min-height:44px;
  font-family:var(--dw-font-spec); font-size:12px; letter-spacing:0.14em;
  text-transform:uppercase; text-decoration:none;
  border-radius:var(--dw-radius-stamp);
  cursor:pointer; border:none;
  transition:transform var(--dw-dur-tick) var(--dw-ease-draft),
             background-color var(--dw-dur-tick) var(--dw-ease-draft),
             box-shadow var(--dw-dur-tick) var(--dw-ease-draft);
  will-change:transform;
}
[data-design="b"] .dw-stamp--primary {
  background:var(--dw-accent); color:var(--dw-bg);
  box-shadow:inset 0 0 0 1.5px var(--dw-accent),
             inset 0 0 0 4px var(--dw-bg),
             inset 0 0 0 5px var(--dw-accent);
}
[data-design="b"] .dw-stamp--secondary {
  background:var(--dw-surface); color:var(--dw-ink);
  border:1px solid var(--dw-border);
}
[data-design="b"] .dw-stamp__ring {
  position:absolute; inset:3px;
  border:1px solid currentColor; border-radius:2px;
  pointer-events:none;
  animation:dw-stamp-breath var(--dw-dur-draw) ease-in-out infinite;
}
@keyframes dw-stamp-breath {
  0%,100% { transform:scale(1.0); opacity:0.85; }
  50%     { transform:scale(1.025); opacity:1; }
}
[data-design="b"] .dw-stamp__label { position:relative; z-index:1; }
[data-design="b"] .dw-stamp__arrow {
  position:relative; z-index:1; display:inline-flex;
  transition:transform var(--dw-dur-settle) var(--dw-ease-draft);
}
[data-design="b"] .dw-stamp:hover .dw-stamp__arrow { transform:translateX(4px); }
[data-design="b"] .dw-stamp--primary:hover {
  box-shadow:inset 0 0 0 2px var(--dw-accent),
             inset 0 0 0 4px var(--dw-bg),
             inset 0 0 0 5px var(--dw-accent);
}
[data-design="b"] .dw-stamp:focus-visible {
  outline:none;
  box-shadow:
    inset 0 0 0 1.5px var(--dw-accent),inset 0 0 0 4px var(--dw-bg),inset 0 0 0 5px var(--dw-accent),
    0 0 0 3px color-mix(in oklab,var(--dw-accent),transparent 60%);
}
[data-design="b"] .dw-stamp:active { transform:translateY(2px); }

/* ── E3 — Drawdown strip (Services) ─────────────────────── */
[data-design="b"] .dw-drawdown {
  padding:var(--dw-wall) var(--dw-pane);
  background:var(--dw-bg);
  border-top:1px solid var(--dw-border);
  border-bottom:1px solid var(--dw-border);
}
[data-design="b"] .dw-drawdown__header {
  max-width:720px; margin:0 auto var(--dw-bay-2); text-align:left;
}
[data-design="b"] .dw-drawdown__title {
  font-family:var(--dw-font-display); font-size:clamp(26px,3.5vw,34px); line-height:1.15;
  letter-spacing:-0.012em; color:var(--dw-ink); margin:0 0 var(--dw-cell);
}
[data-design="b"] .dw-drawdown__lead {
  font-size:17px; line-height:1.55; color:var(--dw-ink-2); margin:0; max-width:56ch;
}
[data-design="b"] .dw-drawdown__strip {
  list-style:none; padding:0; margin:0;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:var(--dw-cell);
  max-width:1200px; margin-inline:auto;
}
[data-design="b"] .dw-drawdown__card {
  --card-hue: var(--dw-ink);
  position:relative;
  background:var(--dw-surface);
  border:1px solid var(--dw-border);
  border-radius:var(--dw-radius-card);
  padding:0; overflow:hidden;
  aspect-ratio:3/4;
  display:flex; flex-direction:column;
}
[data-design="b"] .dw-drawdown__card::before {
  content:"";
  flex:1 1 70%;
  background:var(--card-hue);
  animation:dw-drawdown-cure 15000ms var(--dw-ease-edge) infinite;
}
[data-design="b"] .dw-drawdown__card:nth-child(1)::before { animation-delay:0ms; }
[data-design="b"] .dw-drawdown__card:nth-child(2)::before { animation-delay:1600ms; }
[data-design="b"] .dw-drawdown__card:nth-child(3)::before { animation-delay:3200ms; }
[data-design="b"] .dw-drawdown__card:nth-child(4)::before { animation-delay:4800ms; }
[data-design="b"] .dw-drawdown__card:nth-child(5)::before { animation-delay:6400ms; }
[data-design="b"] .dw-drawdown__card:nth-child(6)::before { animation-delay:8000ms; }
@keyframes dw-drawdown-cure {
  0%   { opacity:0.18; }
  60%  { opacity:1; }
  78%  { opacity:1; }
  100% { opacity:0.18; }
}
[data-design="b"] .dw-card__name {
  display:block; padding:var(--dw-cut) var(--dw-cut) 2px;
  font-family:var(--dw-font-body); font-size:13px; font-weight:500;
  color:var(--dw-ink); background:var(--dw-surface);
  border-top:1px solid var(--dw-border);
}
[data-design="b"] .dw-card__spec {
  display:block; padding:2px var(--dw-cut) var(--dw-cut);
  font-family:var(--dw-font-spec); font-size:10px;
  letter-spacing:0.10em; text-transform:uppercase;
  color:var(--dw-muted); background:var(--dw-surface);
}
[data-design="b"] .dw-drawdown[data-paused="true"] .dw-drawdown__card::before {
  animation-play-state:paused;
}

/* ── E4 — Wet-edge / Process ──────────────────────────────── */
[data-design="b"] .dw-wet {
  padding:var(--dw-room) var(--dw-pane);
  background:var(--dw-surface);
}
[data-design="b"] .dw-wet__inner { max-width:880px; margin:0 auto; }
[data-design="b"] .dw-wet__title {
  font-family:var(--dw-font-display); font-size:clamp(28px,4vw,44px);
  letter-spacing:-0.012em; line-height:1.15;
  color:var(--dw-ink); margin:0 0 var(--dw-cell); max-width:22ch;
}
[data-design="b"] .dw-wet__rule {
  position:relative; height:1px; width:100%;
  background:var(--dw-border); margin:var(--dw-bay-2) 0; overflow:hidden;
}
[data-design="b"] .dw-wet__edge {
  position:absolute; left:0; top:0; height:100%;
  background:var(--dw-accent); width:100%;
  transform:scaleX(0); transform-origin:left center;
  animation:dw-wet-edge 26000ms var(--dw-ease-edge) infinite;
}
@keyframes dw-wet-edge {
  0%   { transform:scaleX(0); transform-origin:left center; }
  54%  { transform:scaleX(1); transform-origin:left center; }
  62%  { transform:scaleX(1); transform-origin:right center; }
  85%  { transform:scaleX(0); transform-origin:right center; }
  100% { transform:scaleX(0); transform-origin:left center; }
}
[data-design="b"] .dw-wet[data-paused="true"] .dw-wet__edge { animation-play-state:paused; }
[data-design="b"] .dw-wet__body {
  font-size:17px; line-height:1.6; color:var(--dw-ink-2);
  column-count:2; column-gap:var(--dw-pane);
  margin-bottom:var(--dw-bay-2);
}
[data-design="b"] .dw-wet__body :first-child { margin-top:0; }
[data-design="b"] .dw-wet__body p { break-inside:avoid; margin:0 0 var(--dw-cell); }

/* Process phase track */
[data-design="b"] .dw-process__track {
  display:flex; flex-wrap:wrap; gap:var(--dw-cell);
  list-style:none; padding:0; margin:0;
  border-top:1px solid var(--dw-border); padding-top:var(--dw-bay);
}
[data-design="b"] .dw-process__phase {
  display:flex; flex-direction:column; gap:4px;
  flex:1 1 140px; padding:var(--dw-cut);
  border:1px solid var(--dw-border); border-radius:var(--dw-radius-panel);
  background:var(--dw-bg);
}
[data-design="b"] .dw-process__num {
  font-family:var(--dw-font-spec); font-size:11px; letter-spacing:0.14em;
  color:var(--dw-accent-2);
}
[data-design="b"] .dw-process__name {
  font-family:var(--dw-font-display); font-size:18px; color:var(--dw-ink);
}
[data-design="b"] .dw-process__spec {
  font-family:var(--dw-font-spec); font-size:10px; letter-spacing:0.08em;
  color:var(--dw-muted); text-transform:uppercase; line-height:1.4;
}

/* ── About ────────────────────────────────────────────────── */
[data-design="b"] .dw-about {
  padding:var(--dw-wall) var(--dw-pane);
  background:var(--dw-bg);
  border-top:1px solid var(--dw-border);
}
[data-design="b"] .dw-about__inner { max-width:880px; margin:0 auto; }
[data-design="b"] .dw-about__title {
  font-family:var(--dw-font-display); font-size:clamp(26px,3.5vw,38px);
  letter-spacing:-0.012em; line-height:1.15;
  color:var(--dw-ink); margin:0 0 var(--dw-bay);
}
[data-design="b"] .dw-about__body {
  font-size:17px; line-height:1.65; color:var(--dw-ink-2);
  column-count:2; column-gap:var(--dw-pane); margin-bottom:var(--dw-bay);
}
[data-design="b"] .dw-about__body p { break-inside:avoid; margin:0 0 var(--dw-cell); }
[data-design="b"] .dw-about__creds {
  display:grid; grid-template-columns:auto 1fr; gap:var(--dw-row) var(--dw-pane);
  max-width:480px;
}
[data-design="b"] .dw-about__creds dt {
  font-family:var(--dw-font-spec); font-size:10px; letter-spacing:0.14em;
  color:var(--dw-accent-2); text-transform:uppercase;
}
[data-design="b"] .dw-about__creds dd {
  font-family:var(--dw-font-spec); font-size:13px; color:var(--dw-ink); margin:0;
}

/* ── Repeated CTA ─────────────────────────────────────────── */
[data-design="b"] .dw-repeat-cta {
  padding:var(--dw-wall) var(--dw-pane);
  background:var(--dw-surface-2);
  border-top:1px solid var(--dw-border);
  border-bottom:1px solid var(--dw-border);
}
[data-design="b"] .dw-repeat-cta__inner {
  max-width:880px; margin:0 auto;
  display:flex; flex-direction:column; gap:var(--dw-cell);
}
[data-design="b"] .dw-repeat-cta__line {
  font-size:17px; line-height:1.55; color:var(--dw-ink-2); margin:0; max-width:52ch;
}

/* ── Footer ───────────────────────────────────────────────── */
[data-design="b"] .dw-footer {
  background:var(--dw-surface-2);
  border-top:1px solid var(--dw-border-2);
  padding:var(--dw-wall) var(--dw-pane) var(--dw-bay);
}
[data-design="b"] .dw-footer__inner {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:var(--dw-pane);
  max-width:1200px; margin-inline:auto;
  margin-bottom:var(--dw-bay);
}
[data-design="b"] .dw-footer__col { display:flex; flex-direction:column; gap:var(--dw-row); }
[data-design="b"] .dw-footer__firm {
  font-family:var(--dw-font-display); font-size:20px; color:var(--dw-ink); margin:0;
}
[data-design="b"] .dw-footer__cred {
  font-family:var(--dw-font-spec); font-size:11px; letter-spacing:0.08em;
  color:var(--dw-muted); margin:0;
}
[data-design="b"] .dw-footer__list {
  display:flex; flex-direction:column; gap:var(--dw-row);
}
[data-design="b"] .dw-footer__list li {
  font-family:var(--dw-font-spec); font-size:12px; letter-spacing:0.08em;
  color:var(--dw-muted); text-transform:uppercase;
}
[data-design="b"] .dw-footer__phone,
[data-design="b"] .dw-footer__email {
  font-family:var(--dw-font-spec); font-size:13px;
  color:var(--dw-accent); text-decoration:underline; text-underline-offset:3px;
}
[data-design="b"] .dw-footer__cta { margin-top:var(--dw-cut); }
[data-design="b"] .dw-footer__base {
  max-width:1200px; margin-inline:auto;
  padding-top:var(--dw-cell); border-top:1px solid var(--dw-border);
  text-align:right;
}
[data-design="b"] .dw-footer__copy {
  font-family:var(--dw-font-spec); font-size:11px; letter-spacing:0.08em;
  color:var(--dw-muted);
}

/* ── prefers-reduced-motion fallbacks ────────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .dw-header__grid,
  [data-design="b"] .dw-cross { animation:none; opacity:0.07; }
  [data-design="b"] .dw-drawer { animation:none; }
  [data-design="b"] .dw-hero__wash-field { animation:none; opacity:0.88; transform:none; }
  [data-design="b"] .dw-hero__grid-overlay { animation:none; }
  [data-design="b"] .dw-spec-line { animation:none; stroke-dashoffset:0; }
  [data-design="b"] .dw-spec-cross { animation:none; opacity:0.45; }
  [data-design="b"] .dw-pointer__rule,
  [data-design="b"] .dw-pointer__label { animation:none; opacity:0.7; }
  [data-design="b"] .dw-stamp__ring { animation:none; }
  [data-design="b"] .dw-stamp { transition:none; }
  [data-design="b"] .dw-stamp:active { animation:none; }
  [data-design="b"] .dw-drawdown__card::before { animation:none; opacity:1; }
  [data-design="b"] .dw-wet__edge { animation:none; transform:scaleX(0.4); transform-origin:left center; }
  [data-design="b"] .dw-step { transition:none; }
  [data-design="b"] .dw-cert__val[data-set="true"]::before { animation:none; }
  [data-design="b"] .dw-cert__val.dw-val--swap { animation:none; }
  [data-design="b"] [data-dw-witness] { animation:none; }
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width:1080px) {
  [data-design="b"] .dw-drawdown__strip { grid-template-columns:repeat(3,1fr); }
  [data-design="b"] .dw-footer__inner { grid-template-columns:1fr 1fr; }
}
@media (max-width:880px) {
  [data-design="b"] .dw-hero__inner { grid-template-columns:1fr; }
  [data-design="b"] .dw-hero__spec-panel { display:none; } /* panel stacks below on small screens */
  [data-design="b"] .dw-specify__grid { grid-template-columns:1fr; }
  [data-design="b"] .dw-cert { position:static; }
  [data-design="b"] .dw-wet__body { column-count:1; }
  [data-design="b"] .dw-about__body { column-count:1; }
}
@media (max-width:640px) {
  [data-design="b"] .dw-drawdown__strip { grid-template-columns:repeat(2,1fr); gap:var(--dw-cut); }
  [data-design="b"] .dw-drawdown { padding:var(--dw-bay-2) var(--dw-cell); }
  [data-design="b"] .dw-drawdown__title { font-size:26px; }
  [data-design="b"] .dw-footer__inner { grid-template-columns:1fr; }
  [data-design="b"] .dw-drawer__list li { font-size:24px; }
  [data-design="b"] .dw-drawer__list li::before { left:-32px; font-size:10px; }
}
@media (max-width:560px) {
  [data-design="b"] .dw-header__bar { padding:var(--dw-cut) var(--dw-cell); }
  [data-design="b"] .dw-logo__mark { font-size:18px; }
  [data-design="b"] .dw-hero__inner { padding:var(--dw-bay-2) var(--dw-cell); }
  [data-design="b"] .dw-specify { padding:var(--dw-wall) var(--dw-cell); }
  [data-design="b"] .dw-specify__title { font-size:26px; }
  [data-design="b"] .dw-cert { padding:var(--dw-cell); }
  [data-design="b"] .dw-cert__lines li { grid-template-columns:72px 1fr; }
  [data-design="b"] .dw-wet { padding:var(--dw-wall) var(--dw-cell); }
  [data-design="b"] .dw-wet__title { font-size:28px; }
  [data-design="b"] .dw-about { padding:var(--dw-wall) var(--dw-cell); }
  [data-design="b"] .dw-repeat-cta { padding:var(--dw-bay-2) var(--dw-cell); }
  [data-design="b"] .dw-footer { padding:var(--dw-bay-2) var(--dw-cell) var(--dw-bay); }
}
@media (max-width:380px) {
  [data-design="b"] .dw-drawer { padding:var(--dw-pane) var(--dw-cell); }
}

/* ── Mobile overflow guards (hard contract) ───────────────── */
[data-design="b"].dq-design,
[data-design="b"] .dq-design { max-width:100%; overflow-x:clip; }
[data-design="b"] * { min-width:0; }
[data-design="b"] img,
[data-design="b"] 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; }
