/* ═══════════════════════════════════════════════════════════════
   DESIGN-B — Bazalgette-Drainage remapped for Electrical
   All selectors scoped under [data-design="b"] .dq-design
   or [data-design="b"].dq-design
   Keyframes prefixed b-
   --design-b-primary exposed on [data-design="b"]
═══════════════════════════════════════════════════════════════ */

/* ── Tokens ── */
[data-design="b"] {
  --design-b-primary:    #1d2848;

  /* surface */
  --bz-vellum:   #f3ead4;
  --bz-iron:     #1c2528;
  --bz-indigo:   #1d2848;
  --bz-glaze:    #245c5e;
  --bz-brass:    #8b6a2f;
  --bz-brick:    #c4a062;
  --bz-rule:     #c8b88a;
  --bz-muted:    #6b6557;
  --bz-critical: #a82e1e;
  --bz-success:  #4a6b3a;

  /* spacing (6px base — Victorian engineering-plate rhythm) */
  --bz-course: 6px;
  --bz-row:    12px;
  --bz-band:   24px;
  --bz-bay:    48px;
  --bz-vault:  96px;
  --bz-nave:   144px;

  /* motion */
  --bz-ease-engine:  cubic-bezier(0.4, 0, 0.2, 1);
  --bz-ease-inscribe:cubic-bezier(0.65, 0, 0.35, 1);
  --bz-ease-settle:  cubic-bezier(0.16, 1, 0.3, 1);
  --bz-pulse:    4600ms;
  --bz-inscribe: 1400ms;
  --bz-settle:   280ms;
  --bz-fast:     140ms;

  /* radius */
  --bz-radius-0:          0px;
  --bz-radius-1:          2px;
  --bz-radius-cartouche:  4px;
}

/* ── Root article ── */
[data-design="b"].dq-design {
  background: var(--bz-vellum);
  color: var(--bz-iron);
  font-family: 'Source Serif Pro', 'Charter', Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

/* ═══════════════════════════════════════════════════════════════
   E1 — ANIMATED MINIMALIST HEADER
   logo + sweep atmospheric layer + hamburger only
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-header {
  position: sticky; top: 0; z-index: 40;
  background: var(--bz-vellum);
  border-bottom: 1px solid var(--bz-rule);
  overflow: hidden;
  isolation: isolate;
}
[data-design="b"] .b-header__sweep {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: linear-gradient(90deg,
    transparent 0%,
    color-mix(in oklab, var(--bz-brass), transparent 85%) 40%,
    color-mix(in oklab, var(--bz-glaze), transparent 75%) 50%,
    color-mix(in oklab, var(--bz-brass), transparent 85%) 60%,
    transparent 100%);
  background-size: 220% 100%;
  animation: b-header-sweep 26s linear infinite;
}
[data-design="b"] .b-header__crosshatch {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    repeating-linear-gradient(45deg,
      color-mix(in oklab, var(--bz-rule), transparent 72%) 0 1px,
      transparent 1px 11px),
    repeating-linear-gradient(-45deg,
      color-mix(in oklab, var(--bz-rule), transparent 78%) 0 1px,
      transparent 1px 14px);
  opacity: 0.4;
  animation: b-header-breathe 19s ease-in-out infinite;
}
[data-design="b"] .b-header__bar {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: space-between;
  max-width: 1200px; margin: 0 auto;
  padding: clamp(12px, 2vw, 20px) clamp(16px, 4vw, 40px);
  gap: 16px;
}
[data-design="b"] .b-logo { text-decoration: none; color: var(--bz-iron); }
[data-design="b"] .b-logo__mark {
  font-family: 'Cormorant SC', 'Trajan Pro', 'Cinzel', Georgia, serif;
  font-weight: 600; letter-spacing: 0.14em;
  font-size: clamp(16px, 2vw, 24px);
  text-transform: uppercase;
}
[data-design="b"] .b-hamburger {
  background: transparent; border: 1px solid var(--bz-rule);
  width: 44px; height: 44px; min-width: 44px;
  display: inline-flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 5px;
  cursor: pointer; border-radius: var(--bz-radius-1);
  transition: border-color var(--bz-fast) var(--bz-ease-settle);
  flex-shrink: 0;
}
[data-design="b"] .b-hamburger:hover,
[data-design="b"] .b-hamburger:focus-visible { border-color: var(--bz-glaze); outline: none; }
[data-design="b"] .b-hamburger__rule {
  display: block; width: 20px; height: 1px; background: var(--bz-iron);
}

/* Drawer */
[data-design="b"] .b-drawer[hidden] { display: none; }
[data-design="b"] .b-drawer {
  position: fixed; inset: 0; z-index: 60;
  background: color-mix(in oklab, var(--bz-iron), transparent 30%);
  display: flex; justify-content: flex-end;
}
[data-design="b"] .b-drawer__plate {
  background: var(--bz-vellum);
  width: min(420px, 88vw); height: 100%;
  padding: clamp(32px, 5vw, 48px) clamp(20px, 4vw, 32px);
  border-left: 1px solid var(--bz-rule);
  display: flex; flex-direction: column; gap: 20px;
  transform: translateX(8px);
  animation: b-drawer-in 320ms var(--bz-ease-settle) forwards;
  overflow-y: auto;
}
[data-design="b"] .b-drawer__eyebrow {
  font-family: 'Cormorant SC', Georgia, serif;
  text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 13px; color: var(--bz-muted);
}
[data-design="b"] .b-drawer__nav { display: flex; flex-direction: column; gap: 10px; }
[data-design="b"] .b-drawer__link {
  font-family: 'Cormorant SC', Georgia, serif;
  font-size: clamp(22px, 4vw, 28px); letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--bz-iron); text-decoration: none;
  display: flex; align-items: baseline; gap: 14px;
  padding-bottom: 8px; border-bottom: 1px solid var(--bz-rule);
}
[data-design="b"] .b-drawer__link:hover { color: var(--bz-indigo); border-bottom-color: var(--bz-glaze); }
[data-design="b"] .b-drawer__num {
  font-family: ui-monospace, monospace; font-size: 13px; color: var(--bz-brass); min-width: 26px;
}
[data-design="b"] .b-drawer__phone {
  display: inline-flex; align-items: center;
  font-family: 'Cormorant SC', Georgia, serif;
  font-size: 20px; letter-spacing: 0.1em;
  color: var(--bz-indigo); text-decoration: none;
  padding: 10px 0;
  border-bottom: 1px solid var(--bz-rule);
}
[data-design="b"] .b-drawer__phone:hover { color: var(--bz-glaze); }
[data-design="b"] .b-drawer__close {
  margin-top: auto; align-self: flex-start;
  background: transparent; border: 1px solid var(--bz-rule);
  padding: 10px 18px; cursor: pointer;
  font-family: 'Cormorant SC', Georgia, serif; letter-spacing: 0.14em;
  text-transform: uppercase; font-size: 13px; color: var(--bz-iron);
  min-height: 44px;
}
[data-design="b"] .b-drawer__close:hover { border-color: var(--bz-brass); }

/* ═══════════════════════════════════════════════════════════════
   HERO — E3 backdrop + hero text + E2 phone CTA
   ONE animated layer; hero text opacity:1 at first paint
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-hero {
  position: relative;
  min-height: clamp(60vh, 75vh, 88vh);
  display: flex; align-items: center;
  overflow: hidden;
  background: var(--bz-iron); /* dark engineering-drawing ground */
  color: var(--bz-vellum);
  isolation: isolate;
}

/* E3: circuit-grid backdrop — ONE animated layer */
[data-design="b"] .b-hero__backdrop {
  position: absolute; inset: 0; z-index: 0;
  pointer-events: none;
  color: var(--bz-vellum);
}
[data-design="b"] .b-hero__circuit {
  width: 100%; height: 100%;
  display: block;
}
/* Phasor arm: slow continuous rotation — ambient, perceptible, not directional */
[data-design="b"] .b-phasor__arm {
  transform-origin: 0 0;
  animation: b-phasor-sweep 9s var(--bz-ease-engine) infinite;
}
[data-design="b"] .b-phasor circle:last-child {
  animation: b-phasor-sweep 9s var(--bz-ease-engine) infinite;
  transform-origin: 1100px 320px;
  /* the dot orbits with the arm */
}
/* Node pulses at grid intersections */
[data-design="b"] .b-node {
  opacity: 0;
  animation: b-node-pulse 5.2s ease-in-out infinite;
}
[data-design="b"] .b-node--1 { animation-delay: 0s; }
[data-design="b"] .b-node--2 { animation-delay: 1.6s; }
[data-design="b"] .b-node--3 { animation-delay: 3.2s; }
/* Voltage-rise column — slow breath on left edge */
[data-design="b"] .b-volt {
  animation: b-volt-rise 5s var(--bz-ease-engine) infinite;
}

/* Hero content layer */
[data-design="b"] .b-hero__content {
  position: relative; z-index: 1;
  max-width: 1200px; margin: 0 auto; width: 100%;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 5vw, 56px);
  display: flex; flex-direction: column; gap: clamp(16px, 2.5vw, 24px);
  align-items: flex-start;
}
[data-design="b"] .b-hero__headline {
  font-family: 'Cormorant SC', 'Trajan Pro', 'Cinzel', Georgia, serif;
  font-size: clamp(28px, 4.5vw, 56px);
  line-height: 1.08; letter-spacing: 0.03em;
  font-weight: 600; color: var(--bz-vellum);
  margin: 0;
  opacity: 1; /* first paint — never 0 */
  max-width: 22ch;
}
[data-design="b"] .b-hero__subtitle {
  font-family: 'Roboto Slab', 'Rockwell', Georgia, serif;
  font-size: clamp(15px, 1.8vw, 20px);
  color: color-mix(in oklab, var(--bz-vellum), var(--bz-brick) 30%);
  margin: 0; letter-spacing: 0.04em;
  opacity: 1;
}
[data-design="b"] .b-hero__proof {
  font-family: ui-monospace, 'JetBrains Mono', monospace;
  font-size: clamp(12px, 1.2vw, 14px);
  color: color-mix(in oklab, var(--bz-vellum), transparent 25%);
  letter-spacing: 0.06em; margin: 0;
  opacity: 1;
}
[data-design="b"] .b-hero__hours {
  font-family: ui-monospace, monospace;
  font-size: 13px;
  color: color-mix(in oklab, var(--bz-vellum), transparent 35%);
  letter-spacing: 0.04em; margin: 0;
  opacity: 1;
}

/* ═══════════════════════════════════════════════════════════════
   E2 — ANIMATED PHONE CTA (hero-visible, ≥44×44px tap target)
   tel: link, display-formatted, electrical primary affordance
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-cta {
  position: relative; isolation: isolate;
  display: inline-flex; align-items: center; gap: 12px;
  padding: 16px 28px; min-height: 52px; min-width: 44px;
  border-radius: var(--bz-radius-cartouche);
  background: var(--bz-glaze); color: var(--bz-vellum);
  font-family: 'Cormorant SC', 'Trajan Pro', Georgia, serif;
  font-size: clamp(16px, 2vw, 20px); letter-spacing: 0.14em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; overflow: hidden;
  transition: transform 220ms var(--bz-ease-settle), background 200ms ease;
  will-change: transform;
}
[data-design="b"] .b-cta__inset {
  position: absolute; inset: 4px; pointer-events: none;
  border: 1px solid color-mix(in oklab, var(--bz-vellum), transparent 55%);
  border-radius: 2px;
  animation: b-cta-pulse var(--bz-pulse) var(--bz-ease-engine) infinite;
}
[data-design="b"] .b-cta__label { opacity: 1; }
[data-design="b"] .b-cta__arrow {
  display: inline-flex;
  transition: transform 220ms var(--bz-ease-settle);
}
[data-design="b"] .b-cta:hover .b-cta__arrow,
[data-design="b"] .b-cta:focus-visible .b-cta__arrow { transform: translateX(4px); }
[data-design="b"] .b-cta:hover,
[data-design="b"] .b-cta:focus-visible {
  background: color-mix(in oklab, var(--bz-glaze), black 12%);
}
[data-design="b"] .b-cta:focus-visible { outline: 2px solid var(--bz-brass); outline-offset: 4px; }
[data-design="b"] .b-cta:active { transform: translateY(2px) scale(0.99); }
[data-design="b"] .b-cta__ink {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at var(--ink-x, 50%) var(--ink-y, 50%),
    color-mix(in oklab, var(--bz-vellum), transparent 65%) 0%, transparent 60%);
  opacity: 0;
}
[data-design="b"] .b-cta.b-stamping .b-cta__ink {
  animation: b-cta-ink 480ms var(--bz-ease-settle) 1;
}

/* ═══════════════════════════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-services {
  max-width: 1200px; margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 5vw, 40px);
  display: flex; flex-direction: column; gap: clamp(32px, 4vw, 48px);
}

/* E4: Sectional plate for services */
[data-design="b"] .b-plate {
  border: 1px solid var(--bz-rule);
  background: var(--bz-vellum);
  padding: clamp(12px, 2vw, 24px);
  color: var(--bz-iron);
}
[data-design="b"] .b-sectional__svg { width: 100%; height: auto; display: block; }

/* Inscribe animation on scroll — lines start hidden */
[data-design="b"] .b-line {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
}
[data-design="b"] .b-callout { opacity: 0; }
[data-design="b"] .b-sectional.is-drawn .b-line {
  animation: b-inscribe var(--bz-inscribe) var(--bz-ease-inscribe) forwards;
}
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(2)  { animation-delay: 120ms; }
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(3)  { animation-delay: 240ms; }
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(4)  { animation-delay: 360ms; }
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(5)  { animation-delay: 480ms; }
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(6)  { animation-delay: 600ms; }
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(7)  { animation-delay: 720ms; }
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(8)  { animation-delay: 840ms; }
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(9)  { animation-delay: 960ms; }
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(10) { animation-delay: 1080ms; }
[data-design="b"] .b-sectional.is-drawn .b-line:nth-of-type(11) { animation-delay: 1200ms; }
[data-design="b"] .b-sectional.is-drawn .b-callout {
  animation: b-callout-pop 380ms var(--bz-ease-settle) forwards;
}
[data-design="b"] .b-sectional.is-drawn .b-callout:nth-of-type(1) { animation-delay: 1400ms; }
[data-design="b"] .b-sectional.is-drawn .b-callout:nth-of-type(2) { animation-delay: 1550ms; }
[data-design="b"] .b-sectional.is-drawn .b-callout:nth-of-type(3) { animation-delay: 1700ms; }

/* Services numbered list */
[data-design="b"] .b-services-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 0;
}
[data-design="b"] .b-service-row {
  display: flex; align-items: baseline; gap: clamp(12px, 2vw, 24px);
  padding: clamp(14px, 2vw, 18px) 0;
  border-bottom: 1px solid var(--bz-rule);
}
[data-design="b"] .b-service-num {
  font-family: ui-monospace, monospace; font-size: 13px;
  color: var(--bz-brass); min-width: 32px; flex-shrink: 0;
}
[data-design="b"] .b-service-body { display: flex; flex-direction: column; gap: 4px; }
[data-design="b"] .b-service-name {
  font-family: 'Roboto Slab', 'Rockwell', Georgia, serif;
  font-size: clamp(16px, 1.8vw, 20px); color: var(--bz-iron);
}
[data-design="b"] .b-service-desc {
  font-size: 15px; color: var(--bz-muted); line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════════
   SERVICE AREA
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-area {
  background: color-mix(in oklab, var(--bz-iron), var(--bz-vellum) 94%);
  padding: clamp(56px, 8vw, 96px) clamp(20px, 5vw, 40px);
}
[data-design="b"] .b-area > * { max-width: 1200px; margin-left: auto; margin-right: auto; }
[data-design="b"] .b-area-list {
  list-style: none; padding: 0; margin: 0 auto clamp(16px, 2vw, 24px);
  max-width: 1200px;
  display: flex; flex-wrap: wrap; gap: 10px 20px;
}
[data-design="b"] .b-area-list li {
  font-family: 'Roboto Slab', Georgia, serif;
  font-size: 15px; color: var(--bz-iron);
  padding: 6px 14px;
  border: 1px solid var(--bz-rule);
  border-radius: var(--bz-radius-1);
  background: var(--bz-vellum);
}
[data-design="b"] .b-area-note {
  max-width: 1200px; margin: 0 auto clamp(12px, 2vw, 20px);
  font-size: 15px; color: var(--bz-muted);
}

/* ═══════════════════════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-about {
  max-width: 1200px; margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 5vw, 40px);
  display: flex; flex-direction: column; gap: clamp(28px, 3vw, 40px);
}
[data-design="b"] .b-about__body {
  display: flex; flex-direction: column; gap: 16px;
  max-width: 70ch;
}
[data-design="b"] .b-about__body p { margin: 0; }
[data-design="b"] .b-trust-chips {
  display: flex; flex-wrap: wrap; gap: 10px;
}
[data-design="b"] .b-chip {
  font-family: ui-monospace, monospace; font-size: 12px;
  color: var(--bz-iron);
  padding: 6px 14px;
  border: 1px solid var(--bz-brass);
  border-radius: var(--bz-radius-1);
  background: color-mix(in oklab, var(--bz-brass), var(--bz-vellum) 90%);
  letter-spacing: 0.04em;
}

/* Process steps */
[data-design="b"] .b-process { display: flex; flex-direction: column; gap: 20px; }
[data-design="b"] .b-process__title {
  font-family: 'Cormorant SC', Georgia, serif;
  font-size: clamp(18px, 2vw, 24px); letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--bz-iron); margin: 0;
}
[data-design="b"] .b-process__steps {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 0;
}
[data-design="b"] .b-step {
  display: flex; gap: clamp(16px, 2.5vw, 28px); align-items: flex-start;
  padding: clamp(16px, 2vw, 22px) 0;
  border-bottom: 1px solid var(--bz-rule);
}
[data-design="b"] .b-step__num {
  font-family: ui-monospace, monospace; font-size: 20px;
  color: var(--bz-brass); min-width: 36px; flex-shrink: 0;
  line-height: 1.4;
}
[data-design="b"] .b-step__body { display: flex; flex-direction: column; gap: 6px; }
[data-design="b"] .b-step__body strong {
  font-family: 'Roboto Slab', Georgia, serif;
  font-size: 17px; font-weight: 600; color: var(--bz-iron);
}
[data-design="b"] .b-step__body p { margin: 0; font-size: 16px; color: var(--bz-muted); line-height: 1.55; }

/* ═══════════════════════════════════════════════════════════════
   INLINE CTAs (mid-page phone links)
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-inline-cta { padding: clamp(12px, 2vw, 20px) 0; }
[data-design="b"] .b-link-cta {
  font-family: 'Cormorant SC', Georgia, serif;
  font-size: clamp(16px, 1.8vw, 20px); letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--bz-indigo); text-decoration: none;
  border-bottom: 1px solid var(--bz-rule);
  padding-bottom: 2px;
  transition: border-color 200ms, color 200ms;
  display: inline-flex; min-height: 44px; align-items: center;
}
[data-design="b"] .b-link-cta:hover { color: var(--bz-glaze); border-bottom-color: var(--bz-glaze); }

/* ═══════════════════════════════════════════════════════════════
   SECTION HEADERS (shared)
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-section-head {
  display: flex; flex-direction: column; gap: 10px; max-width: 64ch;
}
[data-design="b"] .b-eyebrow {
  font-family: 'Cormorant SC', Georgia, serif;
  text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 13px; color: var(--bz-brass);
}
[data-design="b"] .b-section-title {
  font-family: 'Cormorant SC', 'Trajan Pro', Georgia, serif;
  font-size: clamp(28px, 3.8vw, 48px);
  letter-spacing: 0.04em; line-height: 1.05;
  color: var(--bz-iron); margin: 0;
}
[data-design="b"] .b-section-lede {
  font-size: 17px; line-height: 1.55; color: var(--bz-iron); margin: 0;
}

/* ═══════════════════════════════════════════════════════════════
   E6 — POINTER
   voltage-rise copper-fill column + drip drop
   Placed immediately before #funnel — adjacency contract satisfied
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-pointer {
  display: flex; justify-content: center;
  padding: clamp(40px, 8vw, 80px) 16px clamp(56px, 10vw, 96px);
  background: var(--bz-vellum);
}
[data-design="b"] .b-pointer__hit {
  position: relative; display: inline-block;
  width: 2px; height: 96px;
  text-decoration: none;
  color: var(--bz-glaze);
}
[data-design="b"] .b-pointer__pipe {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 0%, currentColor 100%);
  transform-origin: top center;
  animation: b-pointer-fill 5s ease-in-out infinite;
  opacity: 0.75;
}
[data-design="b"] .b-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: b-pointer-drip 5s ease-in infinite;
}

/* ═══════════════════════════════════════════════════════════════
   E5 — FUNNEL (5-step scheduling intake)
   id="funnel" + data-mf-role="funnel"
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-ticket {
  max-width: 880px; margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 5vw, 40px);
  display: flex; flex-direction: column; gap: 28px;
  background: var(--bz-vellum);
}
[data-design="b"] .b-ticket__head { display: flex; flex-direction: column; gap: 10px; }
[data-design="b"] .b-ticket__title {
  font-family: 'Cormorant SC', 'Trajan Pro', Georgia, serif;
  font-size: clamp(28px, 3.6vw, 44px); letter-spacing: 0.04em;
  color: var(--bz-iron); margin: 0;
}
[data-design="b"] .b-ticket__lede {
  font-size: 17px; line-height: 1.55; color: var(--bz-iron); margin: 0;
}

/* Progress pips */
[data-design="b"] .b-ticket__progress {
  list-style: none; display: flex; gap: 10px; padding: 0; margin: 0;
  border-bottom: 1px solid var(--bz-rule); padding-bottom: 14px;
  flex-wrap: wrap;
}
[data-design="b"] .b-pip {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: ui-monospace, monospace; font-size: 12px;
  width: 32px; height: 32px; min-width: 32px;
  border: 1px solid var(--bz-rule); border-radius: 2px;
  color: var(--bz-muted); background: var(--bz-vellum);
  transition: border-color 200ms, color 200ms, background 200ms;
}
[data-design="b"] .b-pip.is-active { border-color: var(--bz-glaze); color: var(--bz-iron); }
[data-design="b"] .b-pip.is-done   { background: var(--bz-indigo); color: var(--bz-vellum); border-color: var(--bz-indigo); }

/* Form + folios */
[data-design="b"] .b-ticket__form {
  border: 1px solid var(--bz-rule);
  padding: clamp(20px, 3vw, 36px);
  background: var(--bz-vellum);
}
[data-design="b"] .b-folio { border: 0; padding: 0; margin: 0; }
[data-design="b"] .b-folio[hidden] { display: none; }
[data-design="b"] .b-folio.is-active {
  animation: b-folio-in 320ms var(--bz-ease-settle) forwards;
}
[data-design="b"] .b-folio__legend {
  font-family: 'Cormorant SC', Georgia, serif; text-transform: uppercase;
  letter-spacing: 0.14em; font-size: clamp(16px, 1.8vw, 19px);
  color: var(--bz-iron); margin-bottom: 18px; padding: 0;
  display: block;
}
[data-design="b"] .b-folio__choices {
  display: grid; gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
[data-design="b"] .b-contact-pref { grid-template-columns: repeat(3, 1fr); }
[data-design="b"] .b-choice {
  display: flex; align-items: center; gap: 12px;
  border: 1px solid var(--bz-rule); padding: 14px 16px;
  min-height: 52px;
  cursor: pointer; background: var(--bz-vellum);
  font-family: 'Source Serif Pro', Georgia, serif; font-size: 16px;
  color: var(--bz-iron);
  transition: border-color 80ms ease, background 80ms ease;
  border-radius: var(--bz-radius-1);
}
[data-design="b"] .b-choice input { accent-color: var(--bz-glaze); }
[data-design="b"] .b-choice:hover { border-color: var(--bz-glaze); }
[data-design="b"] .b-choice:has(input:checked) {
  border-color: var(--bz-glaze);
  background: color-mix(in oklab, var(--bz-glaze), var(--bz-vellum) 90%);
}

/* Fields */
[data-design="b"] .b-field {
  display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px;
}
[data-design="b"] .b-field[hidden] { display: none; }
[data-design="b"] .b-field__label {
  font-family: 'Cormorant SC', Georgia, serif; text-transform: uppercase;
  letter-spacing: 0.14em; font-size: 12px; color: var(--bz-muted);
}
[data-design="b"] .b-field input,
[data-design="b"] .b-field textarea {
  border: 0; border-bottom: 1px solid var(--bz-rule);
  background: transparent; padding: 8px 0;
  font-size: 17px; font-family: 'Source Serif Pro', Georgia, serif;
  color: var(--bz-iron); outline: none;
  transition: border-color 200ms;
  width: 100%; resize: vertical;
}
[data-design="b"] .b-field input:focus,
[data-design="b"] .b-field textarea:focus {
  border-bottom: 2px solid var(--bz-glaze);
}

/* Emergency note */
[data-design="b"] .b-emergency-cta {
  margin-top: 14px;
  font-family: 'Source Serif Pro', Georgia, serif;
  font-size: 16px; color: var(--bz-iron);
  line-height: 1.55;
}
[data-design="b"] .b-emergency-cta a { color: var(--bz-glaze); }

/* Summary */
[data-design="b"] .b-summary {
  font-family: 'Source Serif Pro', Georgia, serif; font-size: 16px;
  border-left: 2px solid var(--bz-brass); padding: 8px 16px;
  color: var(--bz-iron); margin-bottom: 8px;
}
[data-design="b"] .b-summary dl {
  margin: 0; display: grid; grid-template-columns: 140px 1fr; gap: 6px 16px;
}
[data-design="b"] .b-summary dt {
  font-family: 'Cormorant SC', Georgia, serif; text-transform: uppercase;
  letter-spacing: 0.12em; font-size: 12px; color: var(--bz-muted);
}
[data-design="b"] .b-summary dd { margin: 0; }

/* Navigation */
[data-design="b"] .b-ticket__nav { display: flex; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
[data-design="b"] .b-stamp {
  font-family: 'Cormorant SC', Georgia, serif; text-transform: uppercase;
  letter-spacing: 0.14em; font-size: 13px;
  padding: 12px 22px; min-height: 44px; min-width: 44px;
  cursor: pointer; border-radius: var(--bz-radius-1);
  transition: background 160ms ease, transform 80ms ease;
}
[data-design="b"] .b-stamp[hidden] { display: none; }
[data-design="b"] .b-stamp--primary {
  background: var(--bz-indigo); color: var(--bz-vellum); border: 1px solid var(--bz-indigo);
}
[data-design="b"] .b-stamp--primary:hover { background: color-mix(in oklab, var(--bz-indigo), black 10%); }
[data-design="b"] .b-stamp--primary:active { transform: translateY(1px); }
[data-design="b"] .b-stamp--secondary {
  background: var(--bz-vellum); color: var(--bz-iron); border: 1px solid var(--bz-rule);
}
[data-design="b"] .b-stamp--secondary:hover { border-color: var(--bz-brass); }

/* Receipt */
[data-design="b"] .b-ticket__receipt[hidden] { display: none; }
[data-design="b"] .b-ticket__receipt {
  border: 1px solid var(--bz-brass); padding: clamp(20px, 3vw, 36px);
  background: var(--bz-vellum); text-align: center;
  animation: b-receipt-stamp 460ms var(--bz-ease-settle) forwards;
}
[data-design="b"] .b-cartouche-final {
  display: inline-flex; flex-direction: column; gap: 6px;
  padding: 16px 32px; border: 1.5px solid var(--bz-brass);
  background: color-mix(in oklab, var(--bz-brass), var(--bz-vellum) 90%);
  border-radius: 3px;
}
[data-design="b"] .b-cartouche-final__eyebrow {
  font-family: 'Cormorant SC', Georgia, serif; text-transform: uppercase;
  letter-spacing: 0.2em; font-size: 13px; color: var(--bz-brass);
}
[data-design="b"] .b-cartouche-final__no {
  font-family: ui-monospace, monospace; font-size: 14px; color: var(--bz-iron);
}
[data-design="b"] .b-ticket__thanks {
  font-family: 'Source Serif Pro', Georgia, serif; font-size: 17px;
  color: var(--bz-iron); margin-top: 20px; line-height: 1.55;
}
[data-design="b"] .b-ticket__thanks a { color: var(--bz-glaze); }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
[data-design="b"] .b-footer {
  background: var(--bz-iron); color: var(--bz-vellum);
  padding: clamp(40px, 6vw, 72px) clamp(20px, 5vw, 40px) clamp(20px, 3vw, 32px);
}
[data-design="b"] .b-footer__inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(24px, 3vw, 40px);
  padding-bottom: clamp(24px, 3vw, 40px);
  border-bottom: 1px solid color-mix(in oklab, var(--bz-vellum), transparent 75%);
}
[data-design="b"] .b-footer__col { display: flex; flex-direction: column; gap: 8px; }
[data-design="b"] .b-footer .b-logo__mark { color: var(--bz-vellum); font-size: 16px; }
[data-design="b"] .b-footer__desc {
  font-size: 14px; color: color-mix(in oklab, var(--bz-vellum), transparent 30%);
  line-height: 1.5;
}
[data-design="b"] .b-footer__label {
  font-family: 'Cormorant SC', Georgia, serif;
  text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 11px; color: var(--bz-brass); margin-bottom: 4px;
}
[data-design="b"] .b-footer__phone {
  font-family: 'Roboto Slab', Georgia, serif;
  font-size: 18px; color: var(--bz-vellum); text-decoration: none;
  letter-spacing: 0.02em; min-height: 44px; display: inline-flex; align-items: center;
}
[data-design="b"] .b-footer__phone:hover { color: var(--bz-brick); }
[data-design="b"] .b-footer__hours,
[data-design="b"] .b-footer__cred,
[data-design="b"] .b-footer__area {
  font-size: 14px; color: color-mix(in oklab, var(--bz-vellum), transparent 25%);
  line-height: 1.55;
}
[data-design="b"] .b-footer__base {
  max-width: 1200px; margin: clamp(16px, 2vw, 24px) auto 0;
}
[data-design="b"] .b-footer__copy {
  font-family: ui-monospace, monospace; font-size: 12px;
  color: color-mix(in oklab, var(--bz-vellum), transparent 45%);
  letter-spacing: 0.04em;
}

/* ═══════════════════════════════════════════════════════════════
   KEYFRAMES (all prefixed b-)
═══════════════════════════════════════════════════════════════ */
@keyframes b-header-sweep {
  from { background-position: -110% 0; }
  to   { background-position: 110% 0; }
}
@keyframes b-header-breathe {
  0%, 100% { opacity: 0.28; }
  50%      { opacity: 0.48; }
}
@keyframes b-drawer-in {
  from { transform: translateX(40px); opacity: 0; }
  to   { transform: translateX(0);    opacity: 1; }
}
@keyframes b-phasor-sweep {
  0%   { transform: rotate(0deg);   }
  100% { transform: rotate(360deg); }
}
@keyframes b-node-pulse {
  0%, 100% { opacity: 0;    transform: scale(0.6); }
  40%      { opacity: 0.75; transform: scale(1.3); }
  60%      { opacity: 0.55; transform: scale(1);   }
}
@keyframes b-volt-rise {
  0%, 100% { opacity: 0;    transform: scaleY(0.2); }
  35%      { opacity: 0.35; transform: scaleY(1);   }
  70%      { opacity: 0.18; transform: scaleY(0.7); }
}
@keyframes b-cta-pulse {
  0%, 100% { transform: scale(1);     opacity: 0.75; }
  50%      { transform: scale(1.012); opacity: 1;    }
}
@keyframes b-cta-ink {
  0%   { opacity: 0.8; transform: scale(0.4); }
  100% { opacity: 0;   transform: scale(2.2); }
}
@keyframes b-pointer-fill {
  0%, 100% { transform: scaleY(0.4); opacity: 0.45; }
  60%      { transform: scaleY(1);   opacity: 0.9;  }
}
@keyframes b-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; }
}
@keyframes b-inscribe {
  to { stroke-dashoffset: 0; }
}
@keyframes b-callout-pop {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0);   }
}
@keyframes b-folio-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0);   }
}
@keyframes b-receipt-stamp {
  0%   { opacity: 0; transform: scale(0.96); }
  60%  { opacity: 1; transform: scale(1.01); }
  100% { opacity: 1; transform: scale(1);    }
}

/* ═══════════════════════════════════════════════════════════════
   PREFERS-REDUCED-MOTION
═══════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .b-header__sweep,
  [data-design="b"] .b-header__crosshatch { animation: none; opacity: 0.34; }
  [data-design="b"] .b-drawer__plate      { animation: none; transform: none; }
  [data-design="b"] .b-phasor__arm        { animation: none; }
  [data-design="b"] .b-node               { animation: none; opacity: 0.5; }
  [data-design="b"] .b-volt               { animation: none; opacity: 0.2; }
  [data-design="b"] .b-cta__inset         { animation: none; }
  [data-design="b"] .b-cta__arrow         { transition: none; }
  [data-design="b"] .b-cta.b-stamping .b-cta__ink { animation: none; opacity: 0; }
  [data-design="b"] .b-pointer__pipe,
  [data-design="b"] .b-pointer__drop      { animation: none; opacity: 0.5; }
  [data-design="b"] .b-line               { stroke-dashoffset: 0; animation: none !important; }
  [data-design="b"] .b-callout            { opacity: 1; animation: none !important; }
  [data-design="b"] .b-folio.is-active,
  [data-design="b"] .b-ticket__receipt    { animation: none; }
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  [data-design="b"] .b-hero { min-height: 100svh; }
  [data-design="b"] .b-contact-pref { grid-template-columns: 1fr 1fr; }
  [data-design="b"] .b-summary dl   { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  [data-design="b"] .b-logo__mark    { font-size: 15px; letter-spacing: 0.10em; }
  [data-design="b"] .b-folio__choices { grid-template-columns: 1fr; }
  [data-design="b"] .b-contact-pref  { grid-template-columns: 1fr; }
  [data-design="b"] .b-ticket__form  { padding: 16px; }
}

/* ═══════════════════════════════════════════════════════════════
   CHROME ISOLATION — mobile no h-scroll (HARD CONTRACT)
═══════════════════════════════════════════════════════════════ */
[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; }
