/* ═══════════════════════════════════════════════════════════════════════
   Massiveforge · electrical-san-antonio · design-b (calibration)
   Site B — Dark-panel-first, amber-accent register
   All selectors scoped under [data-design="b"].dq-design or .dq-design[data-design="b"].dq-design
   Keyframes prefixed cal- (design vocab namespace, not scope)
   ZERO [data-design="b"].dq-design selectors — fully remapped to "b"
═══════════════════════════════════════════════════════════════════════ */

/* ── Token system (dark-first — Site B distinction from Site A) ────── */
[data-design="b"] {
  /* B-variant: night-panel face — powered up, dark aluminum */
  --face:       #0E1116;
  --face-deep:  #161A20;
  --face-mid:   #1C2028;
  --ink:        #E8EAE7;
  --ink-soft:   #B4B8BE;
  --muted:      #7A7E86;
  --rule:       #2A2F38;
  --rule-bright:#3C4250;

  /* Site B accent: amber-primary, signal-blue secondary */
  --phosphor:   #F0AE40;   /* amber readout — site B distinction */
  --amber:      #F0AE40;
  --signal-blue:#3F8FE5;
  --critical:   #E4493B;
  --seal:       #52C77F;

  /* Typography — IBM Plex family */
  --font-display:"IBM Plex Sans Condensed","Söhne Schmal","Helvetica Neue Condensed",sans-serif;
  --font-body:   "IBM Plex Sans","Söhne",system-ui,sans-serif;
  --font-mono:   "IBM Plex Mono","JetBrains Mono","Söhne Mono",ui-monospace,monospace;

  /* Spacing (instrument convention) */
  --space-tick:  2px;
  --space-step:  4px;
  --space-em:    8px;
  --space-cell:  16px;
  --space-bezel: 24px;
  --space-panel: 48px;
  --space-rack:  96px;
  --space-bay:  144px;

  /* Motion timing */
  --dur-snap:   100ms;
  --dur-damp:   320ms;
  --dur-trace:  720ms;
  --dur-sweep: 1200ms;
  --dur-drift: 3000ms;

  /* Easing */
  --ease-damp:  cubic-bezier(.4,.8,.4,1);
  --ease-snap:  cubic-bezier(.7,0,.84,0);
  --ease-trace: cubic-bezier(.22,1,.36,1);
  --ease-drift: cubic-bezier(.45,.05,.55,.95);

  /* Radius */
  --radius-zero:  0;
  --radius-pin:   2px;
  --radius-bezel: 4px;

  /* Elevation as bezel recess — NO drop shadows */
  --shadow-bezel: inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(0,0,0,.55);
  --shadow-press: inset 0 1px 0 rgba(0,0,0,.35);
  --shadow-rule:  0 1px 0 var(--rule);

  /* Layout */
  --content-max: 1200px;
  --gutter: clamp(16px, 5vw, 56px);

  background: var(--face);
  color: var(--ink-soft);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

/* Light-mode override — Site B stays dark always for visual distinction */
/* (No light-mode override — B is intentionally a dark-panel instrument) */

/* Mobile anti-leak guards */
.dq-design[data-design="b"],
[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;
}

/* ── Box sizing universal ─────────────────────────────────────────── */
[data-design="b"].dq-design * { box-sizing: border-box; }

/* ── Shared instrument primitives ────────────────────────────────── */
[data-design="b"] .cal-panel {
  background: var(--face-mid);
  border: 1px solid var(--rule-bright);
  border-radius: var(--radius-zero);
  padding: var(--space-bezel);
}

[data-design="b"] .cal-silk {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 12px;
  color: var(--muted);
  display: block;
}
[data-design="b"] .cal-silk--ch { color: var(--phosphor); }
[data-design="b"] .cal-muted { color: var(--muted); font-weight: 400; }

[data-design="b"] .cal-readout {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}
[data-design="b"] .cal-readout--live  { color: var(--phosphor); }
[data-design="b"] .cal-readout--sm    { font-size: 18px; }
[data-design="b"] .cal-readout__unit  { font-family: var(--font-mono); font-size: 12px; color: var(--muted); letter-spacing: .08em; }

[data-design="b"] .cal-cell {
  display: flex;
  flex-direction: column;
  gap: var(--space-step);
  padding: var(--space-cell);
  background: var(--face-deep);
  border: 1px solid var(--rule);
  border-radius: var(--radius-bezel);
  box-shadow: var(--shadow-bezel);
}

[data-design="b"] .cal-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  padding: 3px 9px;
  border-radius: var(--radius-pin);
  box-shadow: var(--shadow-bezel);
}
[data-design="b"] .cal-badge--spec  { color: var(--phosphor); border: 1px solid var(--phosphor); }
[data-design="b"] .cal-badge--warn  { color: var(--amber); border: 1px solid var(--amber); }
[data-design="b"] .cal-badge--armed { color: var(--signal-blue); border: 1px solid var(--signal-blue); }

/* Section shared */
[data-design="b"] .cal-section-inner {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: var(--space-rack) var(--gutter);
}
[data-design="b"] .cal-section-head {
  margin-bottom: var(--space-panel);
}
[data-design="b"] .cal-section-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(24px, 4vw, 40px);
  line-height: 1.1;
  color: var(--ink);
  margin: var(--space-em) 0 0;
  letter-spacing: .01em;
}

/* ── E1: Animated minimalist header ──────────────────────────────── */
[data-design="b"] .cal-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--face);
  border-bottom: 1px solid var(--rule-bright);
}

[data-design="b"] .cal-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-cell);
  max-width: var(--content-max);
  margin: 0 auto;
  padding: var(--space-cell) var(--gutter);
  min-height: 60px;
}

/* Atmospheric layer: amber phosphor blip tracing base rule — 20s cycle */
[data-design="b"] .cal-header__scope {
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  opacity: .85;
  background: linear-gradient(90deg,
    transparent 0 44%,
    var(--phosphor) 50%,
    transparent 56% 100%);
  background-size: 240% 100%;
  animation: cal-scope-sweep 20s linear infinite;
}
@keyframes cal-scope-sweep {
  from { background-position: 150% 0; }
  to   { background-position: -50% 0; }
}

[data-design="b"] .cal-logo {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .08em;
  color: var(--ink);
  text-decoration: none;
  line-height: 1.2;
  text-transform: uppercase;
}
[data-design="b"] .cal-logo__mark { display: block; }
[data-design="b"] .cal-logo__sub  {
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--phosphor);
}

/* Hamburger */
[data-design="b"] .cal-burger {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0 10px;
  cursor: pointer;
  background: var(--face-deep);
  border: 1px solid var(--rule-bright);
  border-radius: var(--radius-pin);
  transition: box-shadow var(--dur-snap) var(--ease-damp);
}
[data-design="b"] .cal-burger__line {
  display: block;
  height: 1.5px;
  width: 100%;
  background: var(--ink);
  transition: transform var(--dur-snap) var(--ease-snap);
}
[data-design="b"] .cal-burger[aria-expanded="true"] .cal-burger__line:first-child {
  transform: translateY(3.5px) rotate(45deg);
}
[data-design="b"] .cal-burger[aria-expanded="true"] .cal-burger__line:last-child {
  transform: translateY(-3px) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cal-burger:hover { box-shadow: var(--shadow-bezel); }
}
[data-design="b"] .cal-burger:focus-visible {
  outline: 2px solid var(--signal-blue);
  outline-offset: 2px;
}

/* Drawer — Service-Bulletin sheet */
[data-design="b"] .cal-drawer { position: fixed; inset: 0; z-index: 60; }
[data-design="b"] .cal-drawer[hidden] { display: none; }
[data-design="b"] .cal-drawer__scrim {
  position: absolute; inset: 0;
  background: rgba(4,5,8,.7);
  opacity: 0;
  transition: opacity 200ms var(--ease-trace);
}
[data-design="b"] .cal-drawer__sheet {
  position: absolute;
  top: 0; left: 0; right: 0; max-width: 100%;
  background: var(--face);
  border-bottom: 2px solid var(--rule-bright);
  box-shadow: 0 4px 32px rgba(0,0,0,.6);
  padding: var(--space-bezel) var(--gutter) var(--space-panel);
  display: flex;
  flex-direction: column;
  gap: var(--space-em);
  transform: translateY(-100%);
  transition: transform 260ms var(--ease-damp);
}
[data-design="b"] .cal-drawer.is-open .cal-drawer__scrim  { opacity: 1; }
[data-design="b"] .cal-drawer.is-open .cal-drawer__sheet  { transform: none; }

[data-design="b"] .cal-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-em);
}
[data-design="b"] .cal-drawer__id {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--muted);
}
[data-design="b"] .cal-drawer__esc {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .06em;
  color: var(--muted);
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

[data-design="b"] .cal-navlink {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--ink-soft);
  text-decoration: none;
  padding: var(--space-em) 0;
  border-bottom: 1px solid var(--rule);
  transition: color var(--dur-snap) var(--ease-damp);
  min-height: 44px;
  display: flex;
  align-items: center;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cal-navlink:hover { color: var(--phosphor); }
}

[data-design="b"] .cal-navlink--phone {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--space-cell) 0;
  border-bottom: none;
  color: var(--phosphor);
  margin-top: var(--space-em);
}
[data-design="b"] .cal-drawer__phone-label {
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--muted);
}
[data-design="b"] .cal-drawer__phone-num {
  font-family: var(--font-mono);
  font-size: 24px;
  color: var(--phosphor);
}

/* ── E3 / Hero: Front Panel — isolation:isolate, text above backdrop ── */
[data-design="b"] .cal-hero {
  position: relative;
  isolation: isolate;       /* HARD GATE: text container topmost */
  min-height: 65vh;
  display: flex;
  align-items: center;
  overflow: clip;
  border-bottom: 1px solid var(--rule-bright);
}

/* Backdrop — behind text via z-index -1, pointer-events none */
[data-design="b"] .cal-hero__backdrop {
  position: absolute;
  inset: 0;
  z-index: -1;               /* HARD GATE: below text layer */
  pointer-events: none;      /* HARD GATE: never intercepts clicks */
  overflow: hidden;
}

[data-design="b"] .cal-hero__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: .55;
}

/* Voltage-grid overlay — schematic lines on dark panel */
[data-design="b"] .cal-hero__vgrid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--rule) 1px, transparent 1px),
    linear-gradient(90deg, var(--rule) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .22;
  animation: cal-grid-pulse 6s var(--ease-drift) infinite;
}
@keyframes cal-grid-pulse {
  0%, 100% { opacity: .18; }
  50%       { opacity: .30; }
}

/* Text content layer — z-index above backdrop */
[data-design="b"] .cal-hero__content {
  position: relative;
  z-index: 2;               /* HARD GATE: topmost at headline center */
  max-width: var(--content-max);
  margin: 0 auto;
  width: 100%;
  padding: clamp(var(--space-rack), 12vh, var(--space-bay)) var(--gutter);
}

[data-design="b"] .cal-hero__silk-row {
  display: flex;
  align-items: center;
  gap: var(--space-cell);
  flex-wrap: wrap;
  margin-bottom: var(--space-cell);
}

[data-design="b"] .cal-hero__headline {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(28px, 5.5vw, 60px);
  line-height: 1.05;
  color: var(--ink);
  margin: 0 0 var(--space-cell);
  max-width: 22ch;
  letter-spacing: .005em;
  opacity: 1;               /* HARD GATE: visible at first paint */
}

[data-design="b"] .cal-hero__subtitle {
  font-family: var(--font-body);
  font-size: clamp(16px, 2vw, 20px);
  color: var(--ink-soft);
  margin: 0 0 var(--space-em);
  max-width: 52ch;
  line-height: 1.55;
  opacity: 1;               /* HARD GATE: visible at first paint */
}

[data-design="b"] .cal-hero__proof {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--muted);
  margin: 0 0 var(--space-panel);
  opacity: 1;               /* HARD GATE: visible at first paint */
}

/* ── E2: Animated CTA — phone call button ────────────────────────── */
/* amber-accent Site B variant (vs signal-blue breath in design template) */
[data-design="b"] .cal-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--space-em);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--ink);
  text-decoration: none;
  background: var(--face-deep);
  border: 1px solid var(--rule-bright);
  border-radius: var(--radius-pin);
  padding: 15px 24px;
  will-change: transform;
  animation: cal-cta-breath-b 4.4s var(--ease-drift) infinite;
  transition:
    transform var(--dur-snap) var(--ease-damp),
    box-shadow var(--dur-snap) var(--ease-damp);
  min-height: 44px;
  opacity: 1;               /* HARD GATE: visible at first paint */
}
/* amber breath — site B visual distinction */
@keyframes cal-cta-breath-b {
  0%,100% { box-shadow: 0 0 0 0 rgba(240,174,64,0); }
  50%      { box-shadow: 0 0 0 4px rgba(240,174,64,.25); }
}

[data-design="b"] .cal-cta__key {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--muted);
  background: var(--face);
  border: 1px solid var(--rule);
  border-radius: var(--radius-pin);
  padding: 2px 5px;
  box-shadow: var(--shadow-bezel);
  opacity: 1;               /* HARD GATE: never opacity:0 */
}

[data-design="b"] .cal-cta__label {
  opacity: 1;               /* HARD GATE: never opacity:0 */
}

/* Armed channel hairline — damps in on intent */
[data-design="b"] .cal-cta__arm {
  position: absolute;
  left: 10px; top: -1px;
  height: 2px;
  width: calc(100% - 20px);
  transform: scaleX(0);
  transform-origin: left;
  background: var(--phosphor);    /* amber arm — site B distinction */
  transition: transform var(--dur-damp) var(--ease-damp);
  opacity: 1;               /* HARD GATE */
}
[data-design="b"] .cal-cta:focus-visible .cal-cta__arm { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cal-cta:hover .cal-cta__arm { transform: scaleX(1); }
}
[data-design="b"] .cal-cta:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--face), 0 0 0 4px var(--phosphor);
}
[data-design="b"] .cal-cta:active {
  box-shadow: var(--shadow-press);
  transform: translateY(1px);
}
[data-design="b"] .cal-cta--inline {
  font-size: 14px;
  padding: 11px 18px;
}

/* ── E6: Pointer — copper trace wayfinding ───────────────────────── */
/* HARD GATE: visible, height >> 8px, pointer is LAST before #funnel   */
[data-design="b"] .cal-pointer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-panel) var(--gutter);
  min-height: 80px;         /* HARD GATE: bbox height > 8px */
  opacity: 1;               /* HARD GATE: wrapper opacity > 0.5 */
}

[data-design="b"] .cal-pointer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-cell);
  min-height: 56px;
}

[data-design="b"] .cal-pointer__svg {
  width: clamp(160px, 30vw, 280px);
  height: auto;
  min-height: 40px;
  overflow: visible;
}

/* Copper trace horizontal line — draws in */
[data-design="b"] .cal-ptr-h {
  stroke: var(--phosphor);
  stroke-dasharray: 160;
  stroke-dashoffset: 160;
  animation: cal-ptr-draw-h 1.4s var(--ease-trace) 0.3s forwards;
}
@keyframes cal-ptr-draw-h {
  to { stroke-dashoffset: 0; }
}

/* Vertical drop after horizontal */
[data-design="b"] .cal-ptr-v {
  stroke: var(--phosphor);
  stroke-dasharray: 30;
  stroke-dashoffset: 30;
  animation: cal-ptr-draw-v 0.6s var(--ease-trace) 1.6s forwards;
}
@keyframes cal-ptr-draw-v {
  to { stroke-dashoffset: 0; }
}

/* Junction pulse node */
[data-design="b"] .cal-ptr-node {
  fill: var(--phosphor);
  opacity: 0;
  animation: cal-ptr-node-in 0.4s var(--ease-trace) 1.5s forwards,
             cal-ptr-node-pulse 2.8s var(--ease-drift) 2s infinite;
}
@keyframes cal-ptr-node-in {
  to { opacity: 1; }
}
@keyframes cal-ptr-node-pulse {
  0%,100% { transform: scale(1); transform-box: fill-box; transform-origin: center; }
  50%      { transform: scale(1.35); transform-box: fill-box; transform-origin: center; }
}

[data-design="b"] .cal-pointer__label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--phosphor);
  text-transform: uppercase;
  opacity: 1;               /* HARD GATE */
}

/* ── E5: 5-Step Scheduling Funnel ────────────────────────────────── */
[data-design="b"] .cal-funnel-section {
  background: var(--face-deep);
  border-top: 1px solid var(--rule-bright);
  border-bottom: 1px solid var(--rule-bright);
}

[data-design="b"] .cal-funnel__panel {
  max-width: min(680px, calc(100% - 2 * var(--gutter)));
  margin: 0 auto;
  padding: var(--space-rack) var(--gutter);
  background: transparent;
  border: none;
}

[data-design="b"] .cal-funnel__silk-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-cell);
  padding-bottom: var(--space-cell);
  border-bottom: 1px solid var(--rule);
  margin-bottom: var(--space-panel);
}

/* Progress dots */
[data-design="b"] .cal-funnel__progress {
  display: flex;
  align-items: center;
  gap: var(--space-cell);
  margin-bottom: var(--space-bezel);
}
[data-design="b"] .cal-funnel__step-dots {
  display: flex;
  gap: var(--space-em);
}
[data-design="b"] .cal-funnel__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--rule-bright);
  transition: background var(--dur-damp) var(--ease-damp);
}
[data-design="b"] .cal-funnel__dot.is-active { background: var(--phosphor); }
[data-design="b"] .cal-funnel__step-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--muted);
}

/* Step fieldsets */
[data-design="b"] .cal-funnel__step {
  display: flex;
  flex-direction: column;
  gap: var(--space-bezel);
  animation: cal-step-in var(--dur-trace) var(--ease-trace) both;
}
[data-design="b"] .cal-funnel__step[hidden] { display: none; }
@keyframes cal-step-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}
[data-design="b"] .cal-funnel__step fieldset,
[data-design="b"] .cal-funnel__step { border: 0; margin: 0; padding: 0; }

[data-design="b"] .cal-funnel__step legend {
  padding: 0;
  margin-bottom: var(--space-cell);
  float: left;
  width: 100%;
}

/* Channel selector — same arm pattern as CTA */
[data-design="b"] .cal-chanrow {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-em);
  clear: both;
}
[data-design="b"] .cal-chan { position: relative; cursor: pointer; }
[data-design="b"] .cal-chan input {
  position: absolute;
  opacity: 0;
  inset: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
[data-design="b"] .cal-chan span {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 13px;
  color: var(--ink-soft);
  background: var(--face-deep);
  border: 1px solid var(--rule-bright);
  border-radius: var(--radius-pin);
  padding: 10px 14px;
  box-shadow: var(--shadow-bezel);
  min-height: 44px;
  transition: color var(--dur-snap) var(--ease-damp),
              box-shadow var(--dur-snap) var(--ease-damp);
  opacity: 1;               /* HARD GATE */
}
/* Armed channel — amber top hairline for site B */
[data-design="b"] .cal-chan input:checked + span {
  color: var(--phosphor);
  box-shadow: var(--shadow-bezel), inset 0 2px 0 var(--phosphor);
}
[data-design="b"] .cal-chan input:focus-visible + span {
  outline: 2px solid var(--phosphor);
  outline-offset: 2px;
}

/* Text input / textarea */
[data-design="b"] .cal-funnel__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-em);
}
[data-design="b"] .cal-input {
  font-family: var(--font-mono);
  font-size: 16px;
  color: var(--ink);
  background: var(--face-deep);
  border: 1px solid var(--rule-bright);
  border-radius: var(--radius-bezel);
  padding: var(--space-cell);
  box-shadow: var(--shadow-bezel);
  width: 100%;
  transition: border-color var(--dur-snap) var(--ease-damp),
              box-shadow var(--dur-snap) var(--ease-damp);
  min-height: 44px;
}
[data-design="b"] .cal-input:focus {
  outline: none;
  border-color: var(--phosphor);
  box-shadow: var(--shadow-bezel), 0 0 0 1px var(--phosphor);
}
[data-design="b"] .cal-input--area { min-height: 100px; resize: vertical; }
[data-design="b"] .cal-funnel__hint { font-family: var(--font-mono); font-size: 12px; color: var(--muted); margin: 0; }

/* Emergency tip */
[data-design="b"] .cal-funnel__emergency-tip { padding: var(--space-cell); background: var(--face-mid); border: 1px solid var(--rule-bright); }
[data-design="b"] .cal-funnel__emergency-tip[hidden] { display: none; }
[data-design="b"] .cal-funnel__emerg-copy { font-size: 14px; color: var(--ink-soft); margin: 0 0 var(--space-cell); }

/* Nav buttons */
[data-design="b"] .cal-funnel__nav {
  display: flex;
  gap: var(--space-cell);
  align-items: center;
  flex-wrap: wrap;
}
[data-design="b"] .cal-funnel__nav--submit { justify-content: space-between; }

[data-design="b"] .cal-funnel__next,
[data-design="b"] .cal-funnel__back {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 13px;
  border-radius: var(--radius-pin);
  padding: 11px 20px;
  cursor: pointer;
  min-height: 44px;
  transition: box-shadow var(--dur-snap) var(--ease-damp),
              transform var(--dur-snap) var(--ease-damp);
}
[data-design="b"] .cal-funnel__next {
  color: var(--face);
  background: var(--phosphor);
  border: 1px solid var(--phosphor);
}
[data-design="b"] .cal-funnel__back {
  color: var(--ink-soft);
  background: var(--face-deep);
  border: 1px solid var(--rule-bright);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cal-funnel__next:hover  { box-shadow: 0 0 0 2px var(--face), 0 0 0 4px var(--phosphor); }
  [data-design="b"] .cal-funnel__back:hover  { box-shadow: var(--shadow-bezel); }
}
[data-design="b"] .cal-funnel__next:active,
[data-design="b"] .cal-funnel__back:active  { transform: translateY(1px); }
[data-design="b"] .cal-funnel__next:focus-visible,
[data-design="b"] .cal-funnel__back:focus-visible {
  outline: 2px solid var(--phosphor);
  outline-offset: 2px;
}

[data-design="b"] .cal-funnel__submit {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 14px;
  color: var(--face);
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: var(--radius-pin);
  padding: 14px 28px;
  cursor: pointer;
  min-height: 44px;
  transition: box-shadow var(--dur-snap) var(--ease-damp),
              transform var(--dur-snap) var(--ease-damp);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cal-funnel__submit:hover { box-shadow: 0 0 0 2px var(--phosphor); }
}
[data-design="b"] .cal-funnel__submit:active { transform: translateY(1px); box-shadow: var(--shadow-press); }
[data-design="b"] .cal-funnel__submit:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--face), 0 0 0 4px var(--phosphor);
}

/* Ticket armed confirmation */
[data-design="b"] .cal-ticket {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-cell);
  border-top: 1px solid var(--rule);
  padding-top: var(--space-cell);
  animation: cal-ticket-arm var(--dur-trace) var(--ease-trace) both;
}
[data-design="b"] .cal-ticket[hidden] { display: none; }
@keyframes cal-ticket-arm {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}
[data-design="b"] .cal-ticket__spec {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--ink-soft);
}
[data-design="b"] .cal-ticket__follow {
  width: 100%;
  font-size: 14px;
  color: var(--ink-soft);
  margin: 0;
}
[data-design="b"] .cal-ticket__follow a { color: var(--phosphor); }

/* ── Services grid ───────────────────────────────────────────────── */
[data-design="b"] .cal-services { border-top: 1px solid var(--rule-bright); }
[data-design="b"] .cal-svc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--space-cell);
  margin-bottom: var(--space-panel);
}
[data-design="b"] .cal-svc-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-em);
  transition: border-color var(--dur-snap) var(--ease-damp);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cal-svc-card:hover { border-color: var(--phosphor); }
}
[data-design="b"] .cal-svc-card__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ink);
  margin: 0;
}
[data-design="b"] .cal-svc-card__spec {
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.55;
  margin: 0;
  flex: 1;
}
[data-design="b"] .cal-svc-card__cta {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--phosphor);
  text-decoration: none;
  margin-top: auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
[data-design="b"] .cal-svc-phone {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-cell);
  align-items: center;
  padding-top: var(--space-panel);
  border-top: 1px solid var(--rule);
}
[data-design="b"] .cal-svc-phone__copy {
  font-size: 16px;
  color: var(--ink-soft);
  margin: 0;
  max-width: 44ch;
}

/* ── E4: Ambient-B — oscilloscope scope ─────────────────────────── */
[data-design="b"] .cal-ambient-b {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: var(--space-panel);
  align-items: center;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: var(--space-rack) var(--gutter);
  border-top: 1px solid var(--rule-bright);
}
[data-design="b"] .cal-b__caption {
  max-width: 46ch;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.6;
  margin: var(--space-em) 0;
}
[data-design="b"] .cal-scope {
  background: var(--face-deep);
  border: 1px solid var(--rule-bright);
  border-radius: var(--radius-bezel);
  box-shadow: var(--shadow-bezel);
  padding: var(--space-cell);
}
[data-design="b"] .cal-scope__svg {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  display: block;
}
[data-design="b"] .cal-scope__grid line { stroke: var(--rule); stroke-width: .5; opacity: .6; }
[data-design="b"] .cal-scope__limit { stroke: var(--amber); stroke-width: 1; stroke-dasharray: 4 4; opacity: .7; }
[data-design="b"] .cal-scope__series { stroke: var(--ink-soft); stroke-width: 1.5; stroke-linejoin: round; }
/* amber phosphor beam — site B distinction (vs green in template) */
[data-design="b"] .cal-scope__beam {
  stroke: var(--phosphor);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 14 1400;
  filter: drop-shadow(0 0 4px var(--phosphor));
  animation: cal-scope-trace 14s linear infinite;
}
@keyframes cal-scope-trace {
  from { stroke-dashoffset: 1414; }
  to   { stroke-dashoffset: 0; }
}
[data-design="b"] .cal-ambient-b.is-paused .cal-scope__beam { animation-play-state: paused; }

/* ── Service Area ────────────────────────────────────────────────── */
[data-design="b"] .cal-area { border-top: 1px solid var(--rule-bright); }
[data-design="b"] .cal-area__body {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: var(--space-panel);
  align-items: start;
}
[data-design="b"] .cal-area__copy {
  font-size: 16px;
  color: var(--ink-soft);
  line-height: 1.6;
  margin: 0 0 var(--space-panel);
  max-width: 48ch;
}
[data-design="b"] .cal-area__list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-panel);
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--ink);
  display: flex;
  flex-direction: column;
  gap: var(--space-em);
}
[data-design="b"] .cal-area__list li::before {
  content: "▸ ";
  color: var(--phosphor);
}
[data-design="b"] .cal-area__map {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
[data-design="b"] .cal-area__map-inner { width: 100%; }
[data-design="b"] .cal-area__svg { width: 100%; height: auto; }
[data-design="b"] .cal-area__zone { stroke: var(--rule-bright); stroke-width: 1; fill: var(--face-mid); }
[data-design="b"] .cal-area__grid-h,
[data-design="b"] .cal-area__grid-v { stroke: var(--rule); stroke-width: .5; opacity: .6; }
[data-design="b"] .cal-area__dot { fill: var(--phosphor); animation: cal-area-pulse 3s var(--ease-drift) infinite; }
[data-design="b"] .cal-area__ring {
  stroke: var(--phosphor);
  stroke-width: 1;
  fill: none;
  opacity: .4;
  animation: cal-area-ring 3s var(--ease-drift) infinite;
}
@keyframes cal-area-pulse {
  0%,100% { transform: scale(1);    transform-box: fill-box; transform-origin: center; opacity: 1; }
  50%      { transform: scale(1.2);  transform-box: fill-box; transform-origin: center; opacity: .8; }
}
@keyframes cal-area-ring {
  0%,100% { transform: scale(1);   transform-box: fill-box; transform-origin: center; opacity: .4; }
  50%      { transform: scale(1.6); transform-box: fill-box; transform-origin: center; opacity: .1; }
}
[data-design="b"] .cal-area__label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .12em;
  fill: var(--muted);
  text-transform: uppercase;
}

/* ── About / Spec sheet ──────────────────────────────────────────── */
[data-design="b"] .cal-about { border-top: 1px solid var(--rule-bright); }
[data-design="b"] .cal-about__body {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
  gap: var(--space-panel);
  align-items: start;
}
[data-design="b"] .cal-about__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-cell);
  font-size: 16px;
  color: var(--ink-soft);
  line-height: 1.65;
  max-width: 56ch;
}
[data-design="b"] .cal-about__copy p { margin: 0; }

[data-design="b"] .cal-about__spec { padding: var(--space-bezel); }
[data-design="b"] .cal-spec-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: var(--space-cell) 0 0;
}
[data-design="b"] .cal-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-cell);
  padding: var(--space-em) 0;
  border-bottom: 1px solid var(--rule);
  flex-wrap: wrap;
}
[data-design="b"] .cal-spec-row dt { min-width: 140px; }
[data-design="b"] .cal-spec-row dd {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--phosphor);
  text-align: right;
}

/* ── Footer — Serial Plate ───────────────────────────────────────── */
[data-design="b"] .cal-footer {
  background: var(--face-deep);
  border-top: 2px solid var(--rule-bright);
  padding: var(--space-panel) var(--gutter);
}
[data-design="b"] .cal-footer__inner {
  max-width: var(--content-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--space-panel);
  align-items: start;
}
[data-design="b"] .cal-footer__brand .cal-logo__mark {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink);
}
[data-design="b"] .cal-footer__tagline {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--muted);
  margin: var(--space-em) 0 0;
  line-height: 1.5;
  max-width: 38ch;
}
[data-design="b"] .cal-footer__phone {
  font-family: var(--font-mono);
  font-size: 22px;
  color: var(--phosphor);
  text-decoration: none;
  display: block;
  margin-bottom: var(--space-em);
}
[data-design="b"] .cal-footer__hours {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--muted);
  margin: 0;
  line-height: 1.55;
}
[data-design="b"] .cal-footer__build {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--muted);
  margin-bottom: var(--space-cell);
}
[data-design="b"] .cal-footer__barcode {
  height: 18px;
  background: repeating-linear-gradient(
    90deg,
    var(--muted) 0px, var(--muted) 1.5px,
    transparent 1.5px, transparent 4px,
    var(--muted) 4px, var(--muted) 5px,
    transparent 5px, transparent 9px
  );
  opacity: .4;
  max-width: 160px;
}

/* ── Scroll-linked hero parallax (TRIAD-2 — genuine scroll motion) ── */
/* Implemented in script.js via scroll event; CSS vars receive the offset */
[data-design="b"] .cal-hero__backdrop {
  will-change: transform;
}

/* ── Reduced-motion fallbacks ─────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .cal-header__scope      { animation: none; background-position: 8% 0; }
  [data-design="b"] .cal-drawer__sheet,
  [data-design="b"] .cal-drawer__scrim      { transition: none; }
  [data-design="b"] .cal-cta                { animation: none; }
  [data-design="b"] .cal-cta,
  [data-design="b"] .cal-cta__arm           { transition: none; }
  [data-design="b"] .cal-ptr-h,
  [data-design="b"] .cal-ptr-v,
  [data-design="b"] .cal-ptr-node           { animation: none; opacity: 1; stroke-dashoffset: 0; }
  [data-design="b"] .cal-scope__beam        { animation: none; opacity: 0; }
  [data-design="b"] .cal-area__dot,
  [data-design="b"] .cal-area__ring         { animation: none; }
  [data-design="b"] .cal-hero__vgrid        { animation: none; opacity: .22; }
  [data-design="b"] .cal-funnel__step       { animation: none; }
  [data-design="b"] .cal-ticket             { animation: none; }
  [data-design="b"] .cal-funnel__dot        { transition: none; }
  [data-design="b"] .cal-input              { transition: none; }
  [data-design="b"] .cal-svc-card           { transition: none; }
  [data-design="b"] .cal-spec-row           { transition: none; }
}

/* ── Mobile responsive — all scoped to .dq-design ─────────────────── */
[data-design="b"].dq-design { max-width: 100%; overflow-x: clip; }

@media (max-width: 768px) {
  [data-design="b"] .cal-ambient-b          { grid-template-columns: 1fr; gap: var(--space-bezel); }
  [data-design="b"] .cal-area__body         { grid-template-columns: 1fr; }
  [data-design="b"] .cal-about__body        { grid-template-columns: 1fr; }
  [data-design="b"] .cal-footer__inner      { grid-template-columns: 1fr; gap: var(--space-bezel); }
}

@media (max-width: 560px) {
  [data-design="b"] .cal-hero { min-height: 80vh; }
  [data-design="b"] .cal-hero__headline { font-size: clamp(24px, 7vw, 36px); max-width: 100%; }
  [data-design="b"] .cal-svc-grid { grid-template-columns: 1fr; }
  [data-design="b"] .cal-funnel__nav { flex-direction: column; align-items: stretch; }
  [data-design="b"] .cal-funnel__next,
  [data-design="b"] .cal-funnel__back,
  [data-design="b"] .cal-funnel__submit { width: 100%; text-align: center; justify-content: center; }
}

@media (max-width: 390px) {
  [data-design="b"] .cal-header__bar { padding-left: 14px; padding-right: 14px; }
  [data-design="b"] .cal-logo { font-size: 13px; }
  [data-design="b"] .cal-cta  { width: 100%; justify-content: center; }
  [data-design="b"] .cal-spec-row { flex-direction: column; gap: var(--space-step); }
  [data-design="b"] .cal-spec-row dd { text-align: left; }
}

@media (max-width: 320px) {
  [data-design="b"] .cal-header__bar { padding-left: 12px; padding-right: 12px; }
  [data-design="b"] .cal-hero__content { padding-left: 12px; padding-right: 12px; }
}

/* 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; }
