/* Floors on Wheels — design-b — Jig & Fixture, remapped [data-design="b"] */

[data-design="b"] {
  --design-b-primary: #2A5A80;
  --jf-board: #2C3631;
  --jf-board-deep: #222B26;
  --jf-bone: #EDEAE0;
  --jf-chalk: #D8D4C6;
  --jf-muted: #96A099;
  --jf-steel: #B9BEC2;
  --jf-dykem: #2A5A80;
  --jf-signal: #E8622C;
  --jf-card: #F2EFE6;
  --jf-critical: #C24B2E;
  --jf-success: #4C7A5A;
  --jf-r-none: 0;
  --jf-r-chip: 2px;
  --jf-r-lever: 999px;
  --jf-e-lifted: 4px 6px 0 rgba(16, 20, 18, 0.5);
  background: var(--jf-board);
  color: var(--jf-bone);
  display: block;
}

/* ===== Header — Element 1 ===== */
[data-design="b"] .jf-header {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, #4A5257 0%, #3B4348 60%, #2F373B 100%);
  border-bottom: 2px solid #1C2225;
}
[data-design="b"] .jf-header__bar {
  position: relative; z-index: 2; display: flex; align-items: center;
  justify-content: space-between; max-width: 1320px; margin-inline: auto;
  padding: 12px clamp(20px, 5vw, 48px); min-height: 64px; box-sizing: border-box;
}
[data-design="b"] .jf-logo {
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.04em;
  font-size: clamp(1.1rem, 2.6vw, 1.45rem); line-height: 1.15;
  color: var(--jf-bone); text-decoration: none;
}
[data-design="b"] .jf-header__lamp {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
}
[data-design="b"] .jf-header__lamp::before {
  content: ""; position: absolute; top: -30%; bottom: -30%; left: -35%;
  width: 42%; opacity: 0.28;
  background: radial-gradient(ellipse 60% 120% at center,
    rgba(255, 241, 205, 0.7) 0%, transparent 70%);
  animation: jf-worklight 22s linear infinite alternate;
}
@keyframes jf-worklight {
  from { transform: translateX(0); }
  to   { transform: translateX(290%); }
}
[data-design="b"] .jf-hook {
  width: 48px; height: 48px; border: 0; background: transparent; cursor: pointer;
  position: relative; border-radius: var(--jf-r-chip);
}
[data-design="b"] .jf-hook__stem {
  position: absolute; left: 50%; top: 12px; width: 3px; height: 16px;
  margin-left: -1.5px; background: var(--jf-steel); display: block;
  transition: transform 260ms cubic-bezier(0.55, -0.05, 0.25, 1.18);
}
[data-design="b"] .jf-hook__curl {
  position: absolute; left: 50%; top: 26px; width: 18px; height: 10px;
  margin-left: -9px; display: block;
  border: 3px solid var(--jf-steel); border-top: 0;
  border-radius: 0 0 10px 10px; box-sizing: border-box;
  transition: transform 260ms cubic-bezier(0.55, -0.05, 0.25, 1.18);
}
[data-design="b"] .jf-hook:focus-visible {
  outline: 2px solid var(--jf-dykem); outline-offset: 2px;
}
[data-design="b"] .jf-hook[aria-expanded="true"] .jf-hook__stem { transform: rotate(45deg) translateY(4px); }
[data-design="b"] .jf-hook[aria-expanded="true"] .jf-hook__curl { transform: rotate(-180deg); }
[data-design="b"] .jf-panelwrap { position: fixed; inset: 0; z-index: 60; display: none; }
[data-design="b"] .jf-panelwrap.is-open,
[data-design="b"] .jf-panelwrap:not([hidden]) { display: block; }
[data-design="b"] .jf-panelwrap__scrim {
  position: absolute; inset: 0; background: rgba(16, 20, 18, 0.6);
  opacity: 0; transition: opacity 220ms ease-out;
}
[data-design="b"] .jf-panelwrap__panel {
  position: absolute; top: 0; left: 0; right: 0;
  background: var(--jf-board-deep); border-bottom: 3px solid var(--jf-signal);
  padding: 88px clamp(20px, 5vw, 48px) 32px; box-sizing: border-box;
  display: flex; flex-direction: column; gap: 4px;
  transform: translateY(-102%);
  transition: transform 260ms cubic-bezier(0.55, -0.05, 0.25, 1.18);
  max-height: 100%; overflow-y: auto;
}
[data-design="b"] .jf-panelwrap.is-open .jf-panelwrap__scrim { opacity: 1; }
[data-design="b"] .jf-panelwrap.is-open .jf-panelwrap__panel { transform: translateY(0); }
[data-design="b"] .jf-panelwrap__panel a {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em; font-size: 13px;
  color: var(--jf-bone); text-decoration: none; padding: 14px 8px;
  min-height: 44px; box-sizing: border-box;
  border-bottom: 1px solid rgba(216, 212, 198, 0.18);
}
[data-design="b"] .jf-panelwrap__phone {
  font-family: "Consolas", "Cascadia Mono", monospace;
  font-size: 17px; color: var(--jf-signal) !important;
  border-bottom: 0 !important; min-height: 56px;
  display: flex; align-items: center;
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .jf-header__lamp::before { animation: none; transform: translateX(145%); }
  [data-design="b"] .jf-panelwrap__panel,
  [data-design="b"] .jf-panelwrap__scrim,
  [data-design="b"] .jf-hook__stem,
  [data-design="b"] .jf-hook__curl { transition: none; }
}
@media (max-width: 380px) {
  [data-design="b"] .jf-logo { font-size: 1rem; }
}

/* ===== CTA — Element 2 ===== */
[data-design="b"] .jf-cta {
  position: relative; display: inline-flex; align-items: center; gap: 14px;
  min-height: 56px; padding: 14px 28px 14px 18px; box-sizing: border-box;
  background: linear-gradient(180deg, #C8CDD1 0%, var(--jf-steel) 55%, #9AA0A5 100%);
  color: #1C2225; text-decoration: none;
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.08em; font-size: 16px;
  border: 1px solid #70777C; border-radius: var(--jf-r-chip);
  box-shadow: 3px 4px 0 rgba(16, 20, 18, 0.5);
  transition: transform 120ms cubic-bezier(0.4, 0, 0.6, 1);
}
[data-design="b"] .jf-cta__grip {
  width: 14px; height: 30px; border-radius: var(--jf-r-lever);
  background: linear-gradient(180deg, #F07B45, var(--jf-signal) 60%, #C24B2E);
  display: inline-block; transform-origin: 50% 88%;
  animation: jf-preload 5s ease-in-out infinite;
}
@keyframes jf-preload {
  0%, 100% { transform: rotate(0deg); }
  50%      { transform: rotate(-9deg); }
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .jf-cta:hover { transform: translate(-1px, -2px); }
  [data-design="b"] .jf-cta:hover .jf-cta__grip { animation-play-state: paused; transform: rotate(-14deg); }
}
[data-design="b"] .jf-cta:focus-visible {
  outline: 2px solid var(--jf-dykem); outline-offset: 3px;
}
[data-design="b"] .jf-cta:active { transform: translate(1px, 2px) scale(0.98); }
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .jf-cta__grip { animation: none; }
  [data-design="b"] .jf-cta { transition: none; }
}

/* ===== Hero — Element 3, Shadow Board ===== */
[data-design="b"] .jf-hero {
  position: relative; overflow: hidden; background: var(--jf-board);
  min-height: 70vh; display: flex; align-items: center;
  isolation: isolate;
}
[data-design="b"] .jf-board { position: absolute; inset: 0; z-index: 1; }
[data-design="b"] .jf-board__holes {
  position: absolute; inset: 0; opacity: 0.55;
  background-image: radial-gradient(circle at center,
    rgba(16, 20, 18, 0.95) 0 3px, rgba(216, 212, 198, 0.22) 3px 4px, transparent 5px);
  background-size: 44px 44px; background-position: 22px 22px;
}
[data-design="b"] .jf-outline {
  position: absolute; border: 2px dashed rgba(216, 212, 198, 0.5);
  border-radius: 8px; display: block;
}
[data-design="b"] .jf-outline--long  { right: 10%; top: 18%; width: 34px; height: 218px; }
[data-design="b"] .jf-outline--short { right: 18%; top: 24%; width: 30px; height: 150px; }
[data-design="b"] .jf-outline--ring  { right: 26%; top: 22%; width: 64px; height: 64px; border-radius: 999px; }
[data-design="b"] .jf-tool {
  position: absolute; right: calc(10% + 4px); top: calc(18% + 6px);
  width: 22px; height: 200px; border-radius: 7px;
  background: linear-gradient(180deg, #C8CDD1, #9AA0A5 70%, #83898E);
  box-shadow: 3px 4px 0 rgba(16, 20, 18, 0.5);
  animation: jf-tool-seat 340ms cubic-bezier(0.2, 0.9, 0.3, 1.05) both;
}
[data-design="b"] .jf-tool::after {
  content: ""; position: absolute; left: 50%; top: 8px; width: 12px; height: 44px;
  margin-left: -6px; border-radius: 999px;
  background: linear-gradient(180deg, #F07B45, #C24B2E);
}
@keyframes jf-tool-seat {
  from { opacity: 0; transform: translateY(-16px) rotate(-3deg) scale(0.985); }
  70%  { transform: translateY(2px) rotate(0.5deg) scale(1.005); }
  to   { opacity: 1; transform: translateY(0) rotate(0) scale(1); }
}
[data-design="b"] .jf-board__lamp {
  position: absolute; top: -25%; bottom: -25%; left: -40%; width: 46%;
  opacity: 0.32; pointer-events: none;
  background: radial-gradient(ellipse 55% 110% at center,
    rgba(255, 241, 205, 0.75) 0%, transparent 68%);
  animation: jf-hero-lamp 16s cubic-bezier(0.42, 0.05, 0.58, 0.95) infinite alternate;
}
@keyframes jf-hero-lamp {
  from { transform: translateX(0); }
  to   { transform: translateX(255%); }
}
[data-design="b"] .jf-hero__inner {
  position: relative; z-index: 2; width: 100%; max-width: 1320px;
  margin-inline: auto; padding: clamp(56px, 10vw, 96px) clamp(20px, 5vw, 48px);
  box-sizing: border-box; isolation: isolate;
}
[data-design="b"] .jf-hero__headline {
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.02em;
  font-size: clamp(2.1rem, 5.5vw, 3.8rem); line-height: 1.08;
  color: var(--jf-bone); margin: 0 0 16px; max-width: 20ch;
  text-wrap: balance; opacity: 1; position: relative; z-index: 3;
}
[data-design="b"] .jf-hero__subtitle {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(1.06rem, 2.2vw, 1.25rem); line-height: 1.55;
  color: var(--jf-bone); max-width: 52ch; margin: 0 0 20px; opacity: 1;
  position: relative; z-index: 3;
}
[data-design="b"] .jf-hero__proof {
  display: inline-block; border: 1px solid rgba(216, 212, 198, 0.5);
  border-left: 3px solid var(--jf-dykem); border-radius: var(--jf-r-chip);
  font-family: "Segoe UI", Arial, sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em; font-size: 13px;
  line-height: 1.55; color: var(--jf-muted); padding: 8px 14px;
  margin: 0 0 28px; opacity: 1; position: relative; z-index: 3;
}
[data-design="b"] .jf-hero__actions {
  display: flex; flex-wrap: wrap; gap: 16px; align-items: center;
  position: relative; z-index: 3;
}
[data-design="b"] .jf-hero__phone {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 56px; padding: 14px 24px; box-sizing: border-box;
  background: transparent; color: var(--jf-bone); text-decoration: none;
  border: 2px solid var(--jf-signal); border-radius: var(--jf-r-chip);
  font-family: "Consolas", "Cascadia Mono", monospace; font-size: 17px;
  opacity: 1;
}
[data-design="b"] .jf-hero__phone-word {
  font-family: "Segoe UI", Arial, sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em; font-size: 13px;
  color: var(--jf-signal);
}
[data-design="b"] .jf-hero__phone:focus-visible {
  outline: 2px solid var(--jf-dykem); outline-offset: 3px;
}
@media (max-width: 720px) {
  [data-design="b"] .jf-outline--ring,
  [data-design="b"] .jf-outline--short { opacity: 0.5; }
}
@media (max-width: 560px) {
  [data-design="b"] .jf-outline--long,
  [data-design="b"] .jf-tool { top: 6%; right: 6%; }
  [data-design="b"] .jf-outline--short,
  [data-design="b"] .jf-outline--ring { opacity: 0.35; }
  [data-design="b"] .jf-hero__actions { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .jf-board__lamp { animation: none; transform: translateX(128%); }
  [data-design="b"] .jf-tool { animation: none; opacity: 1; transform: none; }
}

/* ===== Pointer — Element 6 ===== */
[data-design="b"] .jf-pointer {
  position: relative; display: flex; flex-direction: column; align-items: center;
  padding: 40px 0 24px; min-height: 104px; box-sizing: border-box; opacity: 1;
}
[data-design="b"] .jf-pointer__outline,
[data-design="b"] .jf-pointer__chevron {
  width: 26px; height: 26px; box-sizing: border-box; display: block;
  border-right: 3px solid; border-bottom: 3px solid;
  transform: rotate(45deg);
}
[data-design="b"] .jf-pointer__outline {
  border-color: rgba(216, 212, 198, 0.45); border-style: dashed;
  position: absolute; top: 40px;
}
[data-design="b"] .jf-pointer__chevron {
  border-color: var(--jf-steel); position: relative; z-index: 2;
  animation: jf-reseat 6s cubic-bezier(0.2, 0.9, 0.3, 1.05) infinite;
}
@keyframes jf-reseat {
  0%, 78%, 100% { transform: rotate(45deg) translate(0, 0); }
  84%           { transform: rotate(45deg) translate(-7px, -7px); }
  93%           { transform: rotate(45deg) translate(1px, 1px); }
}
[data-design="b"] .jf-pointer__label {
  margin-top: 18px; max-width: 240px; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap;
  font-family: "Segoe UI", Arial, sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.12em; font-size: 12px;
  line-height: 1.55; color: var(--jf-muted);
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .jf-pointer__chevron { animation: none; }
}

/* ===== Fixture / Estimator — Element 5 ===== */
[data-design="b"] .jf-fixture {
  background: var(--jf-board);
  padding: clamp(56px, 10vw, 96px) 0;
  border-top: 3px solid var(--jf-signal);
}
[data-design="b"] .jf-fixture__inner {
  max-width: 880px; margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="b"] .jf-fixture__title {
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.02em;
  font-size: clamp(1.3rem, 2.8vw, 1.8rem); line-height: 1.2;
  color: var(--jf-bone); margin: 0 0 12px;
}
[data-design="b"] .jf-fixture__lede {
  font-family: "Segoe UI", Arial, sans-serif; font-size: 15px; line-height: 1.6;
  color: var(--jf-muted); max-width: 60ch; margin: 0 0 32px;
}

/* live range readout — the ticket-reprint register */
[data-design="b"] .jf-range {
  background: var(--jf-card); border-radius: var(--jf-r-chip);
  box-shadow: var(--jf-e-lifted); padding: 20px 24px; margin: 0 0 24px;
  display: flex; flex-direction: column; gap: 6px;
}
[data-design="b"] .jf-range__label {
  font-family: "Segoe UI", Arial, sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em; font-size: 12px;
  color: #5A6560;
}
[data-design="b"] .jf-range__value {
  font-family: "Consolas", "Cascadia Mono", monospace; font-size: clamp(1.3rem, 3.4vw, 1.9rem);
  line-height: 1.3; color: #1C2225; font-weight: 700;
}
[data-design="b"] .jf-range__note {
  font-family: "Segoe UI", Arial, sans-serif; font-size: 13px; color: #5A6560;
}

/* step-track indicator — quiet, no parallel machinery */
[data-design="b"] .jf-track {
  display: flex; gap: 8px; margin: 0 0 28px;
}
[data-design="b"] .jf-track__step {
  width: 28px; height: 28px; border-radius: var(--jf-r-lever);
  border: 1px dashed rgba(216, 212, 198, 0.4);
  display: grid; place-items: center;
  font-family: "Consolas", "Cascadia Mono", monospace; font-size: 11px;
  color: var(--jf-muted); transition: none;
}
[data-design="b"] .jf-track__step.is-current {
  border-style: solid; border-color: var(--jf-signal); color: var(--jf-card);
  background: var(--jf-signal);
}
[data-design="b"] .jf-track__step.is-done {
  border-style: solid; border-color: var(--jf-dykem); color: var(--jf-card);
  background: var(--jf-dykem);
}

[data-design="b"] .jf-step { border: 0; padding: 0; margin: 0 0 24px; }
[data-design="b"] .jf-step[hidden] { display: none !important; }
[data-design="b"] .jf-step__legend {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 19px; line-height: 1.5; color: var(--jf-bone); margin-bottom: 20px;
  display: block;
}
[data-design="b"] .jf-step__hint { display: block; font-size: 15px; color: var(--jf-muted); margin-top: 4px; }
[data-design="b"] .jf-step.is-current { animation: jf-step-in 260ms cubic-bezier(0.55, -0.05, 0.25, 1.18); }
@keyframes jf-step-in {
  from { opacity: 0; transform: translateY(10px) scale(0.985); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
[data-design="b"] .jf-clamp-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  position: relative;
}
@media (max-width: 720px) { [data-design="b"] .jf-clamp-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { [data-design="b"] .jf-clamp-grid--row { grid-template-columns: 1fr; } }
[data-design="b"] .jf-clamp--wide { grid-column: 1 / -1; }

/* THE TOGGLE CLAMP — tactile artifact, physics become the estimator's answer interaction */
[data-design="b"] .jf-clamp {
  position: relative; min-height: 104px; padding: 12px 12px 12px 44px;
  box-sizing: border-box; cursor: pointer; text-align: left;
  background: linear-gradient(180deg, #39443E, #2F3934);
  border: 1px solid rgba(216, 212, 198, 0.3); border-radius: var(--jf-r-chip);
  transition: transform 120ms cubic-bezier(0.4, 0, 0.6, 1);
}
[data-design="b"] .jf-clamp__lever {
  position: absolute; left: 18px; bottom: 16px; width: 8px; height: 52px;
  border-radius: var(--jf-r-lever);
  background: linear-gradient(180deg, #C8CDD1 55%, #9AA0A5);
  transform-origin: 50% calc(100% - 4px); transform: rotate(-40deg);
  transition: transform 260ms cubic-bezier(0.55, -0.05, 0.25, 1.18);
}
[data-design="b"] .jf-clamp__lever::before {
  content: ""; position: absolute; left: 50%; top: -2px; width: 14px; height: 22px;
  margin-left: -7px; border-radius: var(--jf-r-lever);
  background: linear-gradient(180deg, #B9BEC2, #9AA0A5);
  transition: background-color 120ms ease-out;
}
[data-design="b"] .jf-clamp__pad {
  position: absolute; left: 44px; top: 10px; width: 34px; height: 8px;
  background: var(--jf-steel); border-radius: var(--jf-r-chip);
  transform: translateY(0); opacity: 0.65;
  transition: transform 260ms cubic-bezier(0.55, -0.05, 0.25, 1.18), opacity 260ms ease-out;
}
[data-design="b"] .jf-clamp__label {
  display: inline-block; font-family: "Segoe UI", Arial, sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em; font-size: 13px;
  line-height: 1.5; color: var(--jf-bone); margin-top: 16px; max-width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .jf-clamp:hover .jf-clamp__lever { transform: rotate(-52deg); }
}
[data-design="b"] .jf-clamp:focus-visible {
  outline: 2px solid var(--jf-dykem); outline-offset: 3px;
}
[data-design="b"] .jf-clamp:active { transform: scale(0.98); }
[data-design="b"] .jf-clamp[aria-pressed="true"] { border-color: var(--jf-signal); }
[data-design="b"] .jf-clamp[aria-pressed="true"] .jf-clamp__lever { transform: rotate(64deg); }
[data-design="b"] .jf-clamp[aria-pressed="true"] .jf-clamp__lever::before {
  background: linear-gradient(180deg, #F07B45, var(--jf-signal));
}
[data-design="b"] .jf-clamp[aria-pressed="true"] .jf-clamp__pad {
  transform: translateY(6px); opacity: 1;
}
[data-design="b"] .jf-step__next {
  margin-top: 24px; min-height: 48px; padding: 12px 28px; cursor: pointer;
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.08em; font-size: 15px;
  background: var(--jf-dykem); color: var(--jf-card);
  border: 0; border-radius: var(--jf-r-chip);
  position: relative; z-index: 2;
}
[data-design="b"] .jf-step__next:disabled { opacity: 0.4; cursor: default; }
[data-design="b"] .jf-step__next:focus-visible {
  outline: 2px solid var(--jf-bone); outline-offset: 3px;
}
[data-design="b"] .jf-well { display: block; margin-bottom: 20px; }
[data-design="b"] .jf-well span {
  display: block; font-family: "Segoe UI", Arial, sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em; font-size: 13px;
  color: var(--jf-muted); margin-bottom: 4px;
}
[data-design="b"] .jf-well input {
  width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 12px;
  font-family: "Consolas", "Cascadia Mono", monospace; font-size: 16px;
  color: #1C2225; background: var(--jf-card);
  border: 1px solid #70777C; border-bottom: 2px solid var(--jf-dykem);
  border-radius: var(--jf-r-chip) var(--jf-r-chip) 0 0;
  box-shadow: inset 0 2px 3px rgba(16, 20, 18, 0.25);
}
[data-design="b"] .jf-well input:focus-visible {
  outline: 2px solid var(--jf-dykem); outline-offset: 2px;
}
[data-design="b"] .jf-summary {
  font-family: "Segoe UI", Arial, sans-serif; font-size: 14px; color: var(--jf-muted);
  margin: 0 0 20px; line-height: 1.6;
}
[data-design="b"] .jf-intake__phone {
  display: inline-flex; align-items: center; margin-left: 16px; min-height: 44px;
  font-family: "Consolas", "Cascadia Mono", monospace; font-size: 16px;
  color: var(--jf-signal);
}
[data-design="b"] .jf-intake__pass {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 19px; line-height: 1.6; color: #1C2225;
  background: var(--jf-card); border-radius: var(--jf-r-chip);
  box-shadow: 4px 6px 0 rgba(16, 20, 18, 0.5);
  padding: 24px; max-width: 60ch; position: relative;
}
[data-design="b"] .jf-intake__stamp {
  display: inline-block; margin-right: 12px; padding: 4px 10px;
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  letter-spacing: 0.1em; font-size: 14px; color: var(--jf-card);
  background: var(--jf-success); border-radius: var(--jf-r-chip);
  transform: rotate(-2deg);
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .jf-clamp,
  [data-design="b"] .jf-clamp__lever,
  [data-design="b"] .jf-clamp__lever::before,
  [data-design="b"] .jf-clamp__pad { transition: none; }
  [data-design="b"] .jf-step.is-current { animation: none; }
}

/* ===== Bench — Element 4 (process + dial indicator) ===== */
[data-design="b"] .jf-bench {
  background: var(--jf-board-deep);
  padding: clamp(56px, 10vw, 96px) 0;
  border-top: 1px solid rgba(216, 212, 198, 0.2);
}
[data-design="b"] .jf-bench__inner {
  max-width: 1320px; margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
  display: grid; grid-template-columns: 1fr 220px; gap: 40px; align-items: center;
}
@media (max-width: 720px) {
  [data-design="b"] .jf-bench__inner { grid-template-columns: 1fr; }
  [data-design="b"] .jf-gauge { margin-inline: auto; }
}
[data-design="b"] .jf-bench__title {
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.02em;
  font-size: clamp(1.3rem, 2.8vw, 1.8rem); line-height: 1.2;
  color: var(--jf-bone); margin: 0 0 32px;
}
[data-design="b"] .jf-bench__steps {
  margin: 0; padding: 0; list-style: none; counter-reset: jf-station;
  display: grid; gap: 20px; max-width: 66ch;
}
[data-design="b"] .jf-bench__steps li {
  counter-increment: jf-station; position: relative; padding-left: 64px;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 17px; line-height: 1.6; color: var(--jf-bone); min-height: 44px;
}
[data-design="b"] .jf-bench__steps li::before {
  content: "0" counter(jf-station);
  position: absolute; left: 0; top: 0; width: 44px; height: 44px;
  display: grid; place-items: center; box-sizing: border-box;
  border: 2px dashed rgba(216, 212, 198, 0.5); border-radius: var(--jf-r-chip);
  font-family: "Consolas", "Cascadia Mono", monospace; font-size: 15px;
  color: var(--jf-muted);
}
[data-design="b"] .jf-bench__steps strong {
  display: block; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; font-size: 13px; color: var(--jf-dykem);
}
[data-design="b"] .jf-gauge {
  position: relative; width: 200px; height: 200px; border-radius: 999px;
  background: radial-gradient(circle at 38% 32%, #F6F3EA, var(--jf-card) 55%, #D9D5C8);
  border: 6px solid var(--jf-steel); box-sizing: border-box;
  box-shadow: 4px 6px 0 rgba(16, 20, 18, 0.5);
}
[data-design="b"] .jf-gauge__tick {
  position: absolute; left: 50%; top: 8px; width: 2px; height: 14px;
  margin-left: -1px; background: #2C3631; transform-origin: 50% 86px;
}
[data-design="b"] .jf-gauge__tick--a { transform: rotate(-60deg); }
[data-design="b"] .jf-gauge__tick--b { transform: rotate(0deg); }
[data-design="b"] .jf-gauge__tick--c { transform: rotate(60deg); }
[data-design="b"] .jf-gauge__needle {
  position: absolute; left: 50%; top: 22px; width: 3px; height: 78px;
  margin-left: -1.5px; background: var(--jf-signal);
  transform-origin: 50% 72px;
  animation: jf-indicate 18s ease-in-out infinite;
}
@keyframes jf-indicate {
  0%, 100% { transform: rotate(-52deg); }
  50%      { transform: rotate(52deg); }
}
[data-design="b"] .jf-gauge__hub {
  position: absolute; left: 50%; top: 50%; width: 18px; height: 18px;
  margin: -9px 0 0 -9px; border-radius: 999px;
  background: var(--jf-steel); border: 3px solid #70777C; box-sizing: border-box;
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .jf-gauge__needle { animation: none; transform: rotate(0deg); }
}

/* ===== Materials Wall — Element 7 scroll choreography ===== */
[data-design="b"] .jf-wall {
  background: var(--jf-board);
  padding: clamp(56px, 10vw, 96px) 0; overflow: hidden;
}
[data-design="b"] .jf-wall__inner {
  max-width: 1320px; margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="b"] .jf-wall__title {
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.02em;
  font-size: clamp(1.3rem, 2.8vw, 1.8rem); line-height: 1.2;
  color: var(--jf-bone); margin: 0 0 40px;
}
[data-design="b"] .jf-wall__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
@media (max-width: 900px) { [data-design="b"] .jf-wall__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-design="b"] .jf-wall__grid { grid-template-columns: 1fr; } }
[data-design="b"] .jf-racked {
  position: relative; padding: 20px; box-sizing: border-box;
  border: 2px dashed rgba(216, 212, 198, 0.45); border-radius: var(--jf-r-chip);
  background: rgba(47, 57, 52, 0.6);
}
[data-design="b"] .jf-racked h3 {
  font-family: "Segoe UI", Arial, sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em; font-size: 14px;
  color: #7FB2D6;
  margin: 0 0 8px;
}
[data-design="b"] .jf-racked p {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 17px; line-height: 1.6; color: var(--jf-bone); margin: 0;
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    [data-design="b"] .jf-racked {
      animation: jf-rack linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 40%;
    }
    [data-design="b"] .jf-racked:nth-child(3n+2) { animation-range: entry 5% entry 47%; }
    [data-design="b"] .jf-racked:nth-child(3n)   { animation-range: entry 10% entry 54%; }
    [data-design="b"] .jf-hero .jf-board {
      animation: jf-lamp-off linear both;
      animation-timeline: scroll();
      animation-range: 0 80vh;
    }
  }
}
@keyframes jf-rack {
  from { opacity: 0; transform: translate(10px, -14px) rotate(1.5deg); }
  75%  { transform: translate(-1px, 1px) rotate(-0.3deg); }
  to   { opacity: 1; transform: translate(0, 0) rotate(0); }
}
@keyframes jf-lamp-off {
  from { opacity: 1;   transform: translateY(0); }
  to   { opacity: 0.5; transform: translateY(-5%); }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .jf-racked,
  [data-design="b"] .jf-hero .jf-board { animation: none; }
}

/* ===== Repeated CTA (end of materials) ===== */
[data-design="b"] .jf-cta-repeat {
  background: var(--jf-board-deep);
  padding: clamp(56px, 8vw, 80px) 0;
  border-top: 1px solid rgba(216, 212, 198, 0.15);
}
[data-design="b"] .jf-cta-repeat__inner {
  max-width: 1320px; margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px;
}
[data-design="b"] .jf-cta-repeat__copy {
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.02em;
  font-size: clamp(1.15rem, 2.4vw, 1.5rem); color: var(--jf-bone); margin: 0;
}

/* ===== Service Area / Contact ===== */
[data-design="b"] .jf-area {
  background: var(--jf-board);
  padding: clamp(56px, 10vw, 96px) 0;
  border-top: 1px solid rgba(216, 212, 198, 0.2);
}
[data-design="b"] .jf-area__inner {
  max-width: 1320px; margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="b"] .jf-area__title {
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.02em;
  font-size: clamp(1.3rem, 2.8vw, 1.8rem); line-height: 1.2;
  color: var(--jf-bone); margin: 0 0 20px;
}
[data-design="b"] .jf-area__copy {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 17px; line-height: 1.6; color: var(--jf-bone);
  max-width: 66ch; margin: 0 0 28px;
}
[data-design="b"] .jf-area__proof {
  display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 32px;
}
[data-design="b"] .jf-area__chip {
  display: inline-block; padding: 8px 14px; box-sizing: border-box;
  border: 1px solid rgba(216, 212, 198, 0.4); border-left: 3px solid var(--jf-dykem);
  border-radius: var(--jf-r-chip);
  font-family: "Segoe UI", Arial, sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em; font-size: 12px;
  color: var(--jf-muted);
}
[data-design="b"] .jf-area__phone {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 56px; padding: 14px 24px; box-sizing: border-box;
  background: transparent; color: var(--jf-bone); text-decoration: none;
  border: 2px solid var(--jf-signal); border-radius: var(--jf-r-chip);
  font-family: "Consolas", "Cascadia Mono", monospace; font-size: 17px;
}
[data-design="b"] .jf-area__phone:focus-visible {
  outline: 2px solid var(--jf-dykem); outline-offset: 3px;
}

/* ===== Footer ===== */
[data-design="b"] .jf-footer {
  background: var(--jf-board-deep);
  padding: clamp(40px, 6vw, 56px) 0;
  border-top: 3px solid var(--jf-signal);
}
[data-design="b"] .jf-footer__inner {
  max-width: 1320px; margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="b"] .jf-footer__name {
  font-family: "Bahnschrift SemiBold Condensed", "Bahnschrift", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: 0.04em; font-size: 1.1rem;
  color: var(--jf-bone); margin: 0 0 12px;
}
[data-design="b"] .jf-footer__phone {
  display: inline-block; font-family: "Consolas", "Cascadia Mono", monospace;
  font-size: 16px; color: var(--jf-signal); text-decoration: none; margin: 0 0 12px;
}
[data-design="b"] .jf-footer__area,
[data-design="b"] .jf-footer__copyright {
  font-family: "Segoe UI", Arial, sans-serif; font-size: 13px; color: var(--jf-muted);
  margin: 0 0 4px;
}

/* ===== EST-8: exactly one scope step visible at a time; controls never overlap chips ===== */
[data-design="b"] .jf-step[hidden] { display: none !important; visibility: hidden !important; }
[data-design="b"] .jf-step__next { margin-top: 24px; }
[data-design="b"] .jf-clamp-grid { margin-bottom: 0; }

/* ===== Mobile safety net (bottom, per 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;}

/* stranded-wrapper autofix (drain 2026-07-03): every fixed max-width column centers — gate content_uncentered_left_stranded */
[data-design="b"] .jf-hero__subtitle { margin-inline: auto; }
[data-design="b"] .jf-pointer__label { margin-inline: auto; }
[data-design="b"] .jf-fixture__lede { margin-inline: auto; }
[data-design="b"] .jf-intake__pass { margin-inline: auto; }
[data-design="b"] .jf-bench__steps { margin-inline: auto; }
[data-design="b"] .jf-area__copy { margin-inline: 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; }
