/* Bradley Concrete and Masonry — design-b — Frost Line (remapped [data-design="b"]) */

[data-design="b"] {
  --design-b-primary: #41708C;
  --fl-air: #E9EEF0;
  --fl-air-deep: #DAE2E4;
  --fl-ink: #212A2E;
  --fl-muted: #5D6B70;
  --fl-loam: #28211A;
  --fl-topsoil: #4A392A;
  --fl-subsoil: #63503A;
  --fl-gravel: #837C6F;
  --fl-frost: #41708C;
  --fl-frost-bright: #84B4CC;
  --fl-marker: #C2622F;
  --fl-critical: #963A28;
  --fl-success: #587050;

  --fl-t-caption: 0.833rem;
  --fl-t-body: clamp(1rem, 0.95rem + 0.25vw, 1.1875rem);
  --fl-t-sub: 1.2rem;
  --fl-t-h3: 1.44rem;
  --fl-t-h2: 1.728rem;
  --fl-t-h1: clamp(2.074rem, 1.5rem + 2.9vw, 3.58rem);
  --fl-t-display: clamp(2.49rem, 1.7rem + 4.2vw, 4.3rem);

  --fl-s-tick: 4px; --fl-s-tape: 8px; --fl-s-lift: 16px; --fl-s-course: 24px;
  --fl-s-stratum: 32px; --fl-s-cut: 48px; --fl-s-grade: 64px; --fl-s-trench: 96px;
  --fl-s-bearing: 128px;

  --fl-ease-sink: cubic-bezier(0.5, 0, 0.15, 1);
  --fl-ease-tamp: cubic-bezier(0.25, 0.9, 0.3, 1);

  --fl-r-none: 0; --fl-r-chamfer: 2px; --fl-r-pill: 999px;
  --fl-e-card: 0 0 0 1px var(--fl-ink);
  --fl-e-lift: 0 0 0 1px var(--fl-ink), 0 0 0 3px rgba(65, 112, 140, 0.25);

  background: var(--fl-air);
  color: var(--fl-ink);
  font-family: "Public Sans", system-ui, sans-serif;
}

/* ===== Header — the benchmark drift ===== */
[data-design="b"] .fl-header {
  position: sticky; top: 0; z-index: 40; background: var(--fl-air);
}
[data-design="b"] .fl-header__bar {
  max-width: 1320px; margin-inline: auto;
  padding: 14px clamp(20px, 5vw, 48px);
  display: flex; align-items: center; justify-content: space-between;
}
[data-design="b"] .fl-logo { text-decoration: none; }
[data-design="b"] .fl-logo__mark {
  font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: 1.3rem; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--fl-ink);
}
[data-design="b"] .fl-header__grade {
  position: relative; height: 16px; overflow: clip;
}
[data-design="b"] .fl-header__grade::before {
  content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px;
  background: var(--fl-ink);
}
[data-design="b"] .fl-header__bench {
  position: absolute; bottom: 1px; left: 0; width: 17px; height: 14px;
  transform: translateX(-30px);
  animation: fl-bench-drift 28s linear infinite;
  will-change: transform;
}
@keyframes fl-bench-drift {
  0%   { transform: translateX(-30px); }
  100% { transform: translateX(calc(100vw + 30px)); }
}
[data-design="b"] .fl-burger {
  display: grid; gap: 6px; padding: 14px 12px; min-width: 44px; min-height: 44px;
  background: none; border: 0; cursor: pointer; align-content: center;
}
[data-design="b"] .fl-burger__line {
  display: block; width: 24px; height: 2px; background: var(--fl-ink);
  transition: transform 140ms var(--fl-ease-tamp);
}
[data-design="b"] .fl-burger[aria-expanded="true"] .fl-burger__line:first-child {
  transform: translateY(4px) rotate(45deg);
}
[data-design="b"] .fl-burger[aria-expanded="true"] .fl-burger__line:last-child {
  transform: translateY(-4px) rotate(-45deg);
}
[data-design="b"] .fl-burger:focus-visible {
  outline: 2px solid var(--fl-frost-bright); outline-offset: 2px;
}
[data-design="b"] .fl-drawer {
  position: fixed; inset: 0; z-index: 50; display: flex; justify-content: flex-end;
  background: rgba(33, 42, 46, 0.4);
}
[data-design="b"] .fl-drawer[hidden] { display: none; }
[data-design="b"] .fl-drawer__panel {
  width: min(88vw, 380px); height: 100%;
  background: var(--fl-loam); border-left: 1px solid var(--fl-frost);
  padding: 96px 32px 32px; display: flex; flex-direction: column; gap: 8px;
  animation: fl-drawer-sink 260ms var(--fl-ease-tamp);
  overflow-y: auto;
}
@keyframes fl-drawer-sink {
  from { transform: translateY(-16px); opacity: 0.4; }
  to   { transform: translateY(0); opacity: 1; }
}
[data-design="b"] .fl-drawer__link,
[data-design="b"] .fl-drawer__phone,
[data-design="b"] .fl-drawer__funnel {
  font-family: "JetBrains Mono", monospace; text-transform: uppercase;
  letter-spacing: 0.12em; font-size: 1rem; color: var(--fl-air);
  text-decoration: none; padding: 12px 0; position: relative;
  min-height: 44px; display: flex; align-items: center;
}
[data-design="b"] .fl-drawer__link::after {
  content: ""; position: absolute; left: 0; bottom: 6px; width: 100%; height: 1px;
  background: var(--fl-frost-bright); transform: scaleX(0); transform-origin: left;
  transition: transform 200ms var(--fl-ease-sink);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .fl-drawer__link:hover::after { transform: scaleX(1); }
}
[data-design="b"] .fl-drawer__link:focus-visible::after { transform: scaleX(1); }
[data-design="b"] .fl-drawer__actions {
  margin-top: auto; display: grid; gap: 12px; padding-top: 24px;
  border-top: 1px solid var(--fl-frost);
}
[data-design="b"] .fl-drawer__funnel {
  background: var(--fl-frost); color: var(--fl-air); padding-inline: 16px;
  text-align: center; justify-content: center;
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .fl-header__bench { animation: none; transform: translateX(15vw); }
  [data-design="b"] .fl-drawer__panel { animation: none; }
}
@media (max-width: 560px) {
  [data-design="b"] .fl-logo__mark { font-size: 1.1rem; }
}

/* ===== Hero — the open trench ===== */
[data-design="b"] .fl-hero {
  position: relative; overflow: hidden; min-height: 78vh;
  display: flex; align-items: flex-start;
  isolation: isolate;
}
[data-design="b"] .fl-hero__cut { position: absolute; inset: 0; z-index: 0; }
[data-design="b"] .fl-hero__section {
  width: 100%; height: 100%; display: block; max-width: 100%;
}
[data-design="b"] .fl-hero__haze {
  position: absolute; top: 6%; left: 0; height: 40%; width: 34%;
  background: linear-gradient(95deg, transparent,
    rgba(218, 226, 228, 0.85) 30%, rgba(255, 255, 255, 0.55) 50%,
    rgba(218, 226, 228, 0.85) 70%, transparent);
  transform: translateX(-120%);
  animation: fl-haze-drift 20s var(--fl-ease-sink) infinite;
  will-change: transform; pointer-events: none;
}
@keyframes fl-haze-drift {
  0%   { transform: translateX(-120%); }
  60%  { transform: translateX(340%); }
  100% { transform: translateX(340%); }
}
[data-design="b"] .fl-hero__content {
  position: relative; z-index: 2; width: 100%;
  max-width: 1320px; margin-inline: auto;
  padding: var(--fl-s-bearing) max(clamp(20px, 5vw, 48px), calc((100vw - 1320px) / 2 + 20px)) var(--fl-s-trench) max(clamp(20px, 5vw, 48px), calc((100vw - 1320px) / 2 + 20px));
}
[data-design="b"] .fl-hero__title {
  font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: var(--fl-t-h1, clamp(2.074rem, 1.5rem + 2.9vw, 3.58rem));
  line-height: 1.1; text-transform: uppercase; letter-spacing: 0.02em;
  color: var(--fl-ink); max-width: 16ch; margin: 0 0 16px;
  opacity: 1;
}
[data-design="b"] .fl-hero__subtitle {
  font-family: "Public Sans", system-ui, sans-serif;
  font-size: 1.1875rem; line-height: 1.6; color: var(--fl-ink);
  max-width: 52ch; margin: 0 0 12px; opacity: 1;
}
[data-design="b"] .fl-hero__proof {
  font-family: "JetBrains Mono", monospace; font-size: 0.875rem; line-height: 1.6;
  color: var(--fl-muted); margin: 0 0 32px; letter-spacing: 0.04em; opacity: 1;
}
[data-design="b"] .fl-hero__chip {
  display: inline-block; padding: 4px 12px; margin-left: 8px;
  border: 1px solid var(--fl-frost); border-radius: 999px;
  color: var(--fl-ink); font-size: 0.833rem; white-space: nowrap; opacity: 1;
}
[data-design="b"] .fl-hero__chip:empty { display: none; }
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .fl-hero__haze {
    animation: none; transform: translateX(90%); opacity: 0.6;
  }
}
@media (max-width: 560px) {
  [data-design="b"] .fl-hero { min-height: 90vh; }
  [data-design="b"] .fl-hero__content { padding-top: 72px; }
}

/* ===== CTA — the Bearing Button ===== */
[data-design="b"] .fl-cta {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  min-height: 56px; padding: 16px 36px 19px; max-width: min(100%, 340px);
  font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: 1.0625rem; letter-spacing: 0.08em; text-transform: uppercase;
  text-decoration: none; color: var(--fl-air); background: var(--fl-frost);
  border: 0; cursor: pointer;
  transition: transform 140ms var(--fl-ease-tamp);
}
[data-design="b"] .fl-cta__footing {
  position: absolute; left: 0; bottom: 0; width: 100%; height: 3px;
  background: var(--fl-ink); opacity: 0.55;
  transform: scaleX(1); transform-origin: center;
  transition: transform 200ms var(--fl-ease-sink);
  animation: fl-footing-breath 5.5s ease-in-out infinite;
  will-change: opacity;
}
@keyframes fl-footing-breath {
  0%, 100% { opacity: 0.55; }
  50%      { opacity: 1; }
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .fl-cta:hover { transform: translateY(1px); }
  [data-design="b"] .fl-cta:hover .fl-cta__footing { transform: scaleX(1.12); }
}
[data-design="b"] .fl-cta:focus-visible {
  outline: 2px solid var(--fl-frost-bright); outline-offset: 3px;
}
[data-design="b"] .fl-cta:focus-visible .fl-cta__footing { transform: scaleX(1.12); }
[data-design="b"] .fl-cta:active { transform: translateY(2px); }
[data-design="b"] .fl-cta--repeat { margin: 40px auto 0; }
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .fl-cta__footing { animation: none; opacity: 0.8; }
}

/* ===== Pointer — the grade stake ===== */
[data-design="b"] .fl-pointer {
  display: grid; justify-items: center; gap: 12px;
  padding: var(--fl-s-cut) 0; background: var(--fl-air);
  opacity: 1;
}
[data-design="b"] .fl-pointer__line {
  position: relative; display: block; width: 1px; height: 88px;
  background: var(--fl-ink);
  transform: scaleY(0); transform-origin: top;
  transition: transform 640ms var(--fl-ease-sink);
  will-change: transform;
}
[data-design="b"] .fl-pointer.is-staked .fl-pointer__line { transform: scaleY(1); }
[data-design="b"] .fl-pointer__tick {
  position: absolute; left: -7px; width: 15px; height: 1px;
  background: var(--fl-marker); opacity: 0.25;
}
[data-design="b"] .fl-pointer__tick[data-tick="1"] { top: 22%; animation: fl-tick-read 5s ease-in-out infinite; }
[data-design="b"] .fl-pointer__tick[data-tick="2"] { top: 55%; animation: fl-tick-read 5s ease-in-out 0.5s infinite; }
[data-design="b"] .fl-pointer__tick[data-tick="3"] { top: 88%; animation: fl-tick-read 5s ease-in-out 1s infinite; }
@keyframes fl-tick-read {
  0%, 100% { opacity: 0.25; }
  18%, 36% { opacity: 1; }
  54%      { opacity: 0.25; }
}
[data-design="b"] .fl-pointer__label {
  font-family: "JetBrains Mono", monospace; font-size: 0.833rem;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--fl-muted);
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .fl-pointer__line { transform: scaleY(1); transition: none; }
  [data-design="b"] .fl-pointer__tick { animation: none; opacity: 0.7; }
}

/* ===== Funnel / Estimator — the Depth Gauge ===== */
[data-design="b"] .fl-funnel {
  background: var(--fl-loam); padding: var(--fl-s-trench) 0;
  border-top: 2px solid var(--fl-ink);
}
[data-design="b"] .fl-funnel__inner {
  max-width: 920px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="b"] .fl-funnel__title {
  font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: var(--fl-t-h2, 1.728rem); line-height: 1.3; text-transform: uppercase;
  letter-spacing: 0.03em; color: var(--fl-air); margin: 0 0 12px;
}
[data-design="b"] .fl-funnel__sub {
  font-family: "Public Sans", system-ui, sans-serif; font-size: 0.9375rem;
  line-height: 1.6; color: var(--fl-air); opacity: 0.85; max-width: 62ch;
  margin: 0 0 20px;
}
[data-design="b"] .fl-funnel__readout {
  font-family: "JetBrains Mono", monospace; font-size: 1.1rem;
  letter-spacing: 0.06em; color: var(--fl-frost-bright); margin: 0 0 40px;
  font-weight: 600;
}
[data-design="b"] .fl-funnel__shaft {
  display: grid; grid-template-columns: 1fr; gap: 32px;
}
@media (min-width: 720px) {
  [data-design="b"] .fl-funnel__shaft { grid-template-columns: 148px 1fr; }
}
[data-design="b"] .fl-gauge {
  position: relative; display: none; min-height: 420px;
}
@media (min-width: 720px) {
  [data-design="b"] .fl-gauge { display: block; }
}
[data-design="b"] .fl-gauge__rod {
  position: absolute; top: 8px; bottom: 8px; left: 10px; width: 2px;
  background: var(--fl-air); opacity: 0.55;
}
[data-design="b"] .fl-gauge__marker {
  position: absolute; top: 2px; left: 3px; width: 16px; height: 16px;
  background: var(--fl-marker);
  clip-path: polygon(0 0, 100% 0, 100% 55%, 50% 100%, 0 55%);
  transform: translateY(0);
  transition: transform 420ms var(--fl-ease-sink);
  will-change: transform;
}
[data-design="b"] .fl-gauge__stop {
  position: absolute; left: 28px;
  font-family: "JetBrains Mono", monospace; font-size: 0.72rem;
  letter-spacing: 0.08em; color: var(--fl-air); opacity: 0.45;
  transition: opacity 200ms var(--fl-ease-tamp), color 200ms var(--fl-ease-tamp);
}
[data-design="b"] .fl-gauge__stop.is-here {
  opacity: 1; color: var(--fl-frost-bright);
}
[data-design="b"] .fl-gauge__stop[data-stop="1"] { top: 0; }
[data-design="b"] .fl-gauge__stop[data-stop="2"] { top: 25%; }
[data-design="b"] .fl-gauge__stop[data-stop="3"] { top: 50%; }
[data-design="b"] .fl-gauge__stop[data-stop="4"] { top: 75%; }
[data-design="b"] .fl-gauge__stop[data-stop="5"] { bottom: 0; }
[data-design="b"] .fl-stratum {
  border: 0; padding: 0; margin: 0;
  opacity: 0; transform: translateY(14px);
  display: none;
}
[data-design="b"] .fl-stratum.is-current {
  display: block;
  opacity: 1; transform: translateY(0);
  transition: opacity 420ms var(--fl-ease-sink), transform 420ms var(--fl-ease-sink);
}
[data-design="b"] .fl-stratum[hidden] { display: none; }
[data-design="b"] .fl-stratum__q {
  font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: 1.44rem; line-height: 1.4; letter-spacing: 0.02em;
  color: var(--fl-air); margin: 0 0 24px; padding: 0;
}
[data-design="b"] .fl-stratum__note {
  font-family: "Public Sans", system-ui, sans-serif; font-size: 1rem;
  line-height: 1.6; color: var(--fl-air); margin: 0 0 16px; max-width: 65ch;
}
[data-design="b"] .fl-stratum__cards {
  display: grid; grid-template-columns: 1fr; gap: 12px;
  position: relative;
}
@media (min-width: 560px) {
  [data-design="b"] .fl-stratum__cards { grid-template-columns: 1fr 1fr; }
}
[data-design="b"] .fl-sample {
  position: relative; cursor: pointer; text-align: left;
  min-height: 56px; padding: 14px 18px;
  font-family: "Public Sans", system-ui, sans-serif; font-size: 1.0625rem;
  color: var(--fl-air); background: transparent;
  border: 1px solid rgba(233, 238, 240, 0.4);
  border-left: 4px solid var(--fl-subsoil);
  transition: border-color 140ms var(--fl-ease-tamp),
              background-color 140ms var(--fl-ease-tamp),
              transform 140ms var(--fl-ease-tamp);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .fl-sample:hover {
    border-color: var(--fl-frost-bright); background-color: rgba(65, 112, 140, 0.18);
  }
}
[data-design="b"] .fl-sample:focus-visible {
  outline: 2px solid var(--fl-frost-bright); outline-offset: 2px;
}
[data-design="b"] .fl-sample:active { transform: translateY(2px); }
[data-design="b"] .fl-sample.is-cored {
  border-color: var(--fl-frost-bright); border-left-color: var(--fl-marker);
  background-color: rgba(65, 112, 140, 0.3);
}
[data-design="b"] .fl-stratum__fields { display: grid; gap: 20px; margin-bottom: 32px; }
[data-design="b"] .fl-field { display: grid; gap: 6px; }
[data-design="b"] .fl-field__label {
  font-family: "JetBrains Mono", monospace; font-size: 0.833rem;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--fl-frost-bright);
}
[data-design="b"] .fl-field__input {
  font-family: "Public Sans", system-ui, sans-serif; font-size: 1.0625rem;
  padding: 12px 14px; min-height: 44px;
  background: rgba(233, 238, 240, 0.08); color: var(--fl-air);
  border: 1px solid rgba(233, 238, 240, 0.4); border-radius: 2px;
}
[data-design="b"] .fl-field__input:focus-visible {
  outline: 2px solid var(--fl-frost-bright); outline-offset: 1px;
}
[data-design="b"] .fl-funnel__submit { width: 100%; max-width: 100%; }
[data-design="b"] .fl-funnel__reassure {
  font-family: "JetBrains Mono", monospace; font-size: 0.833rem; line-height: 1.6;
  color: var(--fl-frost-bright); margin: 16px 0 0;
}
[data-design="b"] .fl-stratum--bearing .fl-stratum__q { color: var(--fl-frost-bright); }
[data-design="b"] .fl-funnel__phone { font-family: "JetBrains Mono", monospace; }
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .fl-gauge__marker { transition: none; }
  [data-design="b"] .fl-stratum.is-current { transition: none; }
}

/* ===== Section Ledger — process, no-photo strata treatment ===== */
[data-design="b"] .fl-ledger {
  position: relative; background: var(--fl-air-deep);
  padding: var(--fl-s-trench) 0;
  border-top: 1px solid var(--fl-ink);
}
[data-design="b"] .fl-ledger__inner {
  position: relative; max-width: 1320px; margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="b"] .fl-ledger__title {
  font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: var(--fl-t-h2, 1.728rem); line-height: 1.3; text-transform: uppercase;
  letter-spacing: 0.03em; color: var(--fl-ink); margin: 0 0 var(--fl-s-cut);
}
[data-design="b"] .fl-ledger__grid {
  display: grid; grid-template-columns: 1fr; gap: 40px; align-items: start;
}
@media (min-width: 840px) {
  [data-design="b"] .fl-ledger__grid { grid-template-columns: 320px 1fr; }
}
[data-design="b"] .fl-ledger__figure { margin: 0; }
[data-design="b"] .fl-ledger__figure svg {
  width: 100%; max-width: 100%; height: auto; display: block;
  outline: 1px solid var(--fl-ink);
}
[data-design="b"] .fl-ledger__isotherm {
  animation: fl-isotherm-swing 22s ease-in-out infinite;
  will-change: transform;
}
@keyframes fl-isotherm-swing {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-7px); }
}
[data-design="b"] .fl-ledger__caption {
  font-family: "JetBrains Mono", monospace; font-size: 0.833rem;
  line-height: 1.6; color: var(--fl-muted); margin-top: 8px;
}
[data-design="b"] .fl-ledger__entries { display: grid; gap: 24px; }
[data-design="b"] .fl-method {
  border-left: 4px solid var(--fl-subsoil); padding-left: 16px;
  opacity: 0; transform: translateY(8px);
  transition: opacity 420ms var(--fl-ease-tamp), transform 420ms var(--fl-ease-tamp);
}
[data-design="b"] .fl-method.is-read { opacity: 1; transform: translateY(0); }
[data-design="b"] .fl-method__depth {
  font-family: "JetBrains Mono", monospace; font-size: 0.833rem;
  letter-spacing: 0.08em; color: var(--fl-marker); margin: 0 0 4px;
}
[data-design="b"] .fl-method__text {
  font-family: "Public Sans", system-ui, sans-serif; font-size: 1.0625rem;
  line-height: 1.65; color: var(--fl-ink); margin: 0;
}
[data-design="b"] .fl-vial {
  position: relative; display: block; margin: 40px 0 0 auto;
  width: 88px; height: 44px; padding: 0; cursor: pointer;
  background: var(--fl-air); border: 1px solid var(--fl-ink);
  border-radius: 999px; overflow: hidden;
}
[data-design="b"] .fl-vial::before,
[data-design="b"] .fl-vial::after {
  content: ""; position: absolute; top: 8px; bottom: 8px; width: 1px;
  background: var(--fl-ink); opacity: 0.5;
}
[data-design="b"] .fl-vial::before { left: 36px; }
[data-design="b"] .fl-vial::after { right: 36px; }
[data-design="b"] .fl-vial__bubble {
  position: absolute; top: 10px; left: 50%; width: 22px; height: 22px;
  margin-left: -11px; border-radius: 50%;
  background: var(--fl-frost-bright); opacity: 0.85;
  transform: translateX(0);
  transition: transform 640ms var(--fl-ease-tamp);
}
[data-design="b"] .fl-vial.is-knocked .fl-vial__bubble { transform: translateX(-26px); }
[data-design="b"] .fl-vial:focus-visible {
  outline: 2px solid var(--fl-frost-bright); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .fl-ledger__isotherm { animation: none; }
  [data-design="b"] .fl-method { opacity: 1; transform: none; transition: none; }
  [data-design="b"] .fl-vial__bubble { transition: none; }
}

/* ===== Scroll choreography — below the weather (Element 7) ===== */
[data-design="b"] .fl-handoff { background: var(--fl-air); overflow: hidden; }
[data-design="b"] .fl-handoff__band { position: relative; }
[data-design="b"] .fl-handoff__band--topsoil {
  background: var(--fl-topsoil); min-height: 56px;
}
[data-design="b"] .fl-handoff__band--subsoil {
  background: var(--fl-subsoil); min-height: 56px;
}
[data-design="b"] .fl-handoff__band--bearing {
  background: var(--fl-loam);
}
[data-design="b"] .fl-handoff__callout {
  font-family: "JetBrains Mono", monospace; font-size: 0.833rem;
  letter-spacing: 0.1em; color: var(--fl-air); opacity: 0.85; margin: 0;
  padding: 18px clamp(20px, 5vw, 48px);
  max-width: 1320px; margin-inline: auto;
}
[data-design="b"] .fl-handoff__inner {
  max-width: 1320px; margin-inline: auto;
  padding: var(--fl-s-cut) clamp(20px, 5vw, 48px) var(--fl-s-trench);
}
[data-design="b"] .fl-handoff__title {
  font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: var(--fl-t-h2, 1.728rem); line-height: 1.3; text-transform: uppercase;
  letter-spacing: 0.03em; color: var(--fl-air); margin: 0 0 16px;
}
[data-design="b"] .fl-handoff__body {
  font-family: "Public Sans", system-ui, sans-serif; font-size: 1.1875rem;
  line-height: 1.65; color: var(--fl-air); max-width: 65ch; margin: 0;
}
@supports (animation-timeline: view()) {
  [data-design="b"] .fl-handoff__band--topsoil {
    animation: fl-strata-arrive linear both;
    animation-timeline: view(); animation-range: entry 0% entry 60%;
  }
  [data-design="b"] .fl-handoff__band--subsoil {
    animation: fl-strata-arrive linear both;
    animation-timeline: view(); animation-range: entry 10% entry 75%;
  }
  [data-design="b"] .fl-handoff__band--bearing {
    animation: fl-strata-arrive linear both;
    animation-timeline: view(); animation-range: entry 20% entry 90%;
  }
  [data-design="b"] .fl-handoff__callout {
    animation: fl-callout-tick linear both;
    animation-timeline: view(); animation-range: entry 25% entry 80%;
  }
  @keyframes fl-strata-arrive {
    from { transform: translateY(36px); opacity: 0.55; }
    to   { transform: translateY(0); opacity: 1; }
  }
  @keyframes fl-callout-tick {
    from { transform: translateX(-16px); opacity: 0; }
    to   { transform: translateX(0); opacity: 0.85; }
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .fl-handoff__band,
  [data-design="b"] .fl-handoff__callout {
    animation: none; transform: none; opacity: 1;
  }
}

/* ===== About / footer ===== */
[data-design="b"] .fl-about {
  background: var(--fl-air); padding: var(--fl-s-trench) 0; border-top: 1px solid var(--fl-ink);
}
[data-design="b"] .fl-about__inner {
  max-width: 920px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="b"] .fl-about__title {
  font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: var(--fl-t-h2, 1.728rem); text-transform: uppercase; letter-spacing: 0.03em;
  color: var(--fl-ink); margin: 0 0 16px;
}
[data-design="b"] .fl-about__body {
  font-family: "Public Sans", system-ui, sans-serif; font-size: 1.0625rem;
  line-height: 1.65; color: var(--fl-ink); max-width: 65ch; margin: 0 0 32px;
}
[data-design="b"] .fl-about__actions {
  display: flex; flex-wrap: wrap; gap: 16px; align-items: center;
}
[data-design="b"] .fl-chip {
  display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px;
  font-family: "JetBrains Mono", monospace; font-size: 0.9375rem; letter-spacing: 0.04em;
  color: var(--fl-ink); background: var(--fl-air-deep); border: 1px solid var(--fl-ink);
  text-decoration: none; transition: border-color 140ms var(--fl-ease-tamp), background-color 140ms var(--fl-ease-tamp);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .fl-chip:hover { border-color: var(--fl-frost); background-color: var(--fl-air); }
}
[data-design="b"] .fl-chip:focus-visible {
  outline: 2px solid var(--fl-frost-bright); outline-offset: 2px;
}

[data-design="b"] .fl-footer {
  background: var(--fl-loam); padding: var(--fl-s-cut) 0; border-top: 1px solid var(--fl-frost);
}
[data-design="b"] .fl-footer__inner {
  max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="b"] .fl-footer__firm {
  font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: 1.2rem; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--fl-air); margin: 0 0 8px;
}
[data-design="b"] .fl-footer__meta {
  font-family: "JetBrains Mono", monospace; font-size: 0.833rem;
  color: var(--fl-air); opacity: 0.75; margin: 0 0 8px;
}
[data-design="b"] .fl-footer__phone {
  font-family: "JetBrains Mono", monospace; font-size: 0.9375rem;
  color: var(--fl-frost-bright); text-decoration: none; display: inline-block; margin-bottom: 16px;
}
[data-design="b"] .fl-footer__phone:focus-visible {
  outline: 2px solid var(--fl-frost-bright); outline-offset: 2px;
}
[data-design="b"] .fl-footer__copy {
  font-family: "JetBrains Mono", monospace; font-size: 0.75rem;
  color: var(--fl-air); opacity: 0.5; margin: 0;
}

/* ===== Windowed-center defaults for all wrappers ===== */
[data-design="b"] .fl-header__bar,
[data-design="b"] .fl-hero__content,
[data-design="b"] .fl-funnel__inner,
[data-design="b"] .fl-ledger__inner,
[data-design="b"] .fl-handoff__callout,
[data-design="b"] .fl-handoff__inner,
[data-design="b"] .fl-about__inner,
[data-design="b"] .fl-footer__inner {
  margin-inline: auto;
}

/* ===== MANDATORY mobile-safety + motion-gate append (bottom of file) ===== */
[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"] .fl-hero__subtitle { margin-inline: auto; }
[data-design="b"] .fl-funnel__sub { margin-inline: auto; }
[data-design="b"] .fl-stratum__note { margin-inline: auto; }
[data-design="b"] .fl-handoff__body { margin-inline: auto; }
[data-design="b"] .fl-about__body { 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; }
