/* Lifeworks Plumbing — design-b ("lineman", remapped) */

[data-design="b"] {
  --design-b-primary: #D97A3E;
  --pb-night: #101B22;
  --pb-squall: #172530;
  --pb-rainlight: #EAE6DC;
  --pb-slicker: #93A2AB;
  --pb-lamp: #D97A3E;
  --pb-lamp-glow: #F0A868;
  --pb-arc: #4FB6C7;
  --pb-critical: #C25B4B;
  --pb-success: #7E9C6C;

  --lnm-night: var(--pb-night);
  --lnm-squall: var(--pb-squall);
  --lnm-rainlight: var(--pb-rainlight);
  --lnm-slicker: var(--pb-slicker);
  --lnm-lamp: var(--pb-lamp);
  --lnm-lamp-glow: var(--pb-lamp-glow);
  --lnm-arc: var(--pb-arc);
  --lnm-critical: var(--pb-critical);
  --lnm-success: var(--pb-success);

  --lnm-gauge: 4px;
  --lnm-cleat: 8px;
  --lnm-rung: 16px;
  --lnm-crossarm: 24px;
  --lnm-climb: 40px;
  --lnm-span: 80px;
  --lnm-span-m: 56px;
  --lnm-easement: 128px;

  --lnm-latch: 150ms;
  --lnm-settle: 280ms;
  --lnm-reach: 520ms;
  --lnm-ease-reach: cubic-bezier(0.3, 0, 0.2, 1);
  --lnm-ease-latch: cubic-bezier(0.6, 0, 0.3, 1.15);
  --lnm-ease-breath: cubic-bezier(0.45, 0, 0.55, 1);

  --lnm-r-plate: 3px;
  --lnm-r-insulator: 999px;

  --lnm-e1: 0 1px 0 rgba(0,0,0,0.35);
  --lnm-e2: 0 12px 32px rgba(0,0,0,0.4);

  isolation: isolate;
  background: var(--pb-night);
  color: var(--pb-rainlight);
  font-family: 'Public Sans', 'Segoe UI', system-ui, sans-serif;
}

/* ===== Header — Element 1 ===== */
[data-design="b"].lnm-header,
[data-design="b"] .lnm-header { position: sticky; top: 0; z-index: 40;
  background: var(--lnm-night); }
[data-design="b"] .lnm-header__bar { max-width: 1320px; margin-inline: auto;
  padding: 16px clamp(20px, 5vw, 48px); display: flex; align-items: center;
  justify-content: space-between; position: relative; z-index: 2; }
[data-design="b"] .lnm-logo { text-decoration: none; }
[data-design="b"] .lnm-logo__mark { font-family: 'Archivo','Arial Black',sans-serif;
  font-weight: 800; font-size: clamp(1.05rem, 4.6vw, 1.4rem); color: var(--lnm-rainlight);
  letter-spacing: 0.02em; text-transform: uppercase; display: inline-block;
  max-width: 60vw; overflow-wrap: normal; }
[data-design="b"] .lnm-header__span { position: absolute; inset: auto 0 0 0;
  height: 14px; pointer-events: none; overflow: hidden; }
[data-design="b"] .lnm-header__wire { position: absolute; left: 12px; right: 12px;
  bottom: 6px; height: 1px; background: var(--lnm-arc); opacity: 0.4; }
[data-design="b"] .lnm-header__pole { position: absolute; bottom: 2px; width: 2px;
  height: 10px; background: var(--lnm-slicker); opacity: 0.6; }
[data-design="b"] .lnm-header__pole--l { left: 10px; }
[data-design="b"] .lnm-header__pole--r { right: 10px; }
[data-design="b"] .lnm-header__gleam { position: absolute; bottom: 4px; left: 0;
  width: 72px; height: 5px; border-radius: var(--lnm-r-insulator);
  background: radial-gradient(closest-side, var(--lnm-lamp-glow), transparent);
  opacity: 0.8; transform: translateX(-80px);
  animation: lnm-header-gust 26s linear infinite; }
@keyframes lnm-header-gust {
  0%   { transform: translateX(-80px); }
  100% { transform: translateX(calc(100vw + 80px)); }
}
[data-design="b"] .lnm-burger { width: 44px; height: 44px; display: grid;
  place-content: center; gap: 5px; background: transparent; border: 0; cursor: pointer; }
[data-design="b"] .lnm-burger__rung { width: 22px; height: 2px;
  background: var(--lnm-rainlight); transition: transform var(--lnm-latch) var(--lnm-ease-latch),
  opacity var(--lnm-latch) var(--lnm-ease-latch); }
[data-design="b"] .lnm-burger[aria-expanded="true"] .lnm-burger__rung:nth-child(1)
  { transform: translateY(7px) rotate(45deg); }
[data-design="b"] .lnm-burger[aria-expanded="true"] .lnm-burger__rung:nth-child(2)
  { opacity: 0; }
[data-design="b"] .lnm-burger[aria-expanded="true"] .lnm-burger__rung:nth-child(3)
  { transform: translateY(-7px) rotate(-45deg); }
[data-design="b"] .lnm-burger:focus-visible { outline: 2px solid var(--lnm-arc);
  outline-offset: 2px; }
[data-design="b"] .lnm-drawer { position: fixed; inset: 0; z-index: 39;
  background: rgba(16, 27, 34, 0.96); display: grid; place-items: center; }
[data-design="b"] .lnm-drawer[hidden] { display: none; }
[data-design="b"] .lnm-drawer__sheet { background: var(--lnm-squall);
  border-radius: var(--lnm-r-plate); box-shadow: var(--lnm-e2);
  padding: var(--lnm-crossarm); width: min(420px, calc(100vw - 40px));
  max-height: 80vh; overflow-y: auto; display: grid; gap: var(--lnm-cleat);
  transform: translateY(-12px) scale(0.98); opacity: 0;
  transition: transform var(--lnm-settle) var(--lnm-ease-latch),
              opacity var(--lnm-settle) var(--lnm-ease-latch); }
[data-design="b"] .lnm-drawer.is-open .lnm-drawer__sheet
  { transform: translateY(0) scale(1); opacity: 1; }
[data-design="b"] .lnm-drawer__link { display: block; padding: 12px 16px;
  min-height: 44px; color: var(--lnm-rainlight); text-decoration: none;
  font-family: 'Archivo', sans-serif; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.06em; border-left: 2px solid transparent;
  transition: border-color var(--lnm-latch) linear, transform var(--lnm-latch) var(--lnm-ease-latch); }
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .lnm-drawer__link:hover { border-left-color: var(--lnm-arc);
    transform: translateX(4px); }
}
[data-design="b"] .lnm-drawer__link:focus-visible { outline: 2px solid var(--lnm-arc);
  outline-offset: 2px; transform: translateX(4px); }
[data-design="b"] .lnm-drawer__phone { display: block; margin-top: var(--lnm-rung);
  padding: 14px 16px; min-height: 44px; text-align: center; text-decoration: none;
  background: var(--lnm-lamp); color: var(--lnm-night);
  font-family: 'Overpass Mono', monospace; font-weight: 700; font-size: 1.05rem;
  border-radius: var(--lnm-r-plate); white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis; }
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .lnm-header__gleam { animation: none;
    transform: translateX(30vw); }
  [data-design="b"] .lnm-drawer__sheet { transition: none; }
  [data-design="b"] .lnm-burger__rung { transition: none; }
}
@media (max-width: 380px) {
  [data-design="b"] .lnm-logo__mark { font-size: 1rem; max-width: 56vw; }
}

/* ===== Hero — Element 3 backdrop + hero text + Element 2 CTA ===== */
[data-design="b"] .lnm-hero { position: relative; min-height: 72vh;
  display: flex; align-items: center; background: var(--lnm-night);
  overflow: hidden; isolation: isolate; }
[data-design="b"] .lnm-hero__scape { position: absolute; inset: 0;
  width: 100%; height: 100%; max-width: 100%; z-index: 0; }
[data-design="b"] .lnm-hero__content { position: relative; z-index: 5;
  width: 100%; max-width: 1320px; margin-inline: auto;
  padding: var(--lnm-easement) clamp(20px, 5vw, 48px) var(--lnm-span);
  color: var(--lnm-rainlight); }
[data-design="b"] .lnm-hero__content > * { max-width: 34ch; opacity: 1; }

[data-design="b"] .pb-hero__proof { font-family: 'Overpass Mono', monospace;
  font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--lnm-slicker); margin: 0 0 var(--lnm-rung); opacity: 1; }
[data-design="b"] .pb-hero__headline { font-family: 'Archivo','Arial Black',sans-serif;
  font-weight: 800; font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.08;
  color: var(--lnm-rainlight); margin: 0 0 var(--lnm-rung); opacity: 1; }
[data-design="b"] .pb-hero__subtitle { font-family: 'Public Sans', sans-serif;
  font-weight: 400; font-size: clamp(1rem, 2.6vw, 1.2rem); line-height: 1.6;
  color: var(--lnm-rainlight); margin: 0 0 var(--lnm-climb); opacity: 1; }
[data-design="b"] .pb-hero__cta { margin-top: var(--lnm-cleat); opacity: 1; }

/* the relight choreography — each window blooms on, holds, and re-cycles */
[data-design="b"] .lnm-win { opacity: 0.1;
  animation: lnm-relight 16s var(--lnm-ease-breath) infinite; }
[data-design="b"] .lnm-horizon {
  animation: lnm-horizon-breath 16s var(--lnm-ease-breath) infinite; }
@keyframes lnm-relight {
  0%       { opacity: 0.1; }
  8%       { opacity: 0.95; }
  62%      { opacity: 0.82; }
  78%      { opacity: 0.28; }
  100%     { opacity: 0.1; }
}
@keyframes lnm-horizon-breath {
  0%, 100% { opacity: 0.05; }
  55%      { opacity: 0.16; }
}
[data-design="b"] .lnm-win:nth-of-type(2)  { animation-delay: 0.7s; }
[data-design="b"] .lnm-win:nth-of-type(3)  { animation-delay: 1.5s; }
[data-design="b"] .lnm-win:nth-of-type(4)  { animation-delay: 2.2s; }
[data-design="b"] .lnm-win:nth-of-type(5)  { animation-delay: 3.1s; }
[data-design="b"] .lnm-win:nth-of-type(6)  { animation-delay: 3.9s; }
[data-design="b"] .lnm-win:nth-of-type(7)  { animation-delay: 4.6s; }
[data-design="b"] .lnm-win:nth-of-type(8)  { animation-delay: 5.4s; }
[data-design="b"] .lnm-win:nth-of-type(9)  { animation-delay: 6.3s; }
[data-design="b"] .lnm-win:nth-of-type(10) { animation-delay: 7.0s; }
[data-design="b"] .lnm-win:nth-of-type(11) { animation-delay: 7.8s; }
[data-design="b"] .lnm-win:nth-of-type(12) { animation-delay: 8.7s; }
[data-design="b"] .lnm-win:nth-of-type(13) { animation-delay: 9.5s; }
[data-design="b"] .lnm-win:nth-of-type(14) { animation-delay: 10.2s; }
[data-design="b"] .lnm-win:nth-of-type(15) { animation-delay: 11.0s; }
[data-design="b"] .lnm-win:nth-of-type(16) { animation-delay: 11.9s; }
[data-design="b"] .lnm-win:nth-of-type(17) { animation-delay: 12.6s; }
[data-design="b"] .lnm-win:nth-of-type(18) { animation-delay: 13.4s; }
[data-design="b"] .lnm-win:nth-of-type(19) { animation-delay: 14.1s; }
[data-design="b"] .lnm-win:nth-of-type(20) { animation-delay: 14.9s; }
[data-design="b"] .lnm-hero.is-offscreen .lnm-win,
[data-design="b"] .lnm-hero.is-offscreen .lnm-horizon
  { animation-play-state: paused; }

/* pressure-flow drops along the copper main — plumber-specific micro-motion,
   compositor-only (transform + opacity), rides the isometric run */
[data-design="b"] .pb-drop { opacity: 0;
  animation: pb-flow 4.5s var(--lnm-ease-reach) infinite; }
[data-design="b"] .pb-flow .pb-drop:nth-child(1) { animation-delay: 0s; }
[data-design="b"] .pb-flow .pb-drop:nth-child(2) { animation-delay: 1.5s; }
[data-design="b"] .pb-flow .pb-drop:nth-child(3) { animation-delay: 3s; }
@keyframes pb-flow {
  0%   { opacity: 0; transform: translateY(-4px) scale(0.9); }
  15%  { opacity: 1; transform: translateY(0) scale(1); }
  85%  { opacity: 1; }
  100% { opacity: 0; transform: translateY(4px) scale(0.9); }
}

@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .lnm-win { animation: none; opacity: 0.85; }
  [data-design="b"] .lnm-horizon { animation: none; opacity: 0.12; }
  [data-design="b"] .pb-drop { animation: none; opacity: 0.9; }
}
@media (max-width: 560px) {
  [data-design="b"] .lnm-hero { min-height: 88vh; }
  [data-design="b"] .lnm-hero__content { padding-top: var(--lnm-span); }
}

/* Element 2 — the CTA / porch light, phone-CTA for plumber */
[data-design="b"] .lnm-cta,
.lnm-cta[data-design="b"] { position: relative; display: inline-flex;
  align-items: center; justify-content: center; min-height: 56px;
  padding: 16px 32px; background: var(--lnm-lamp); color: var(--lnm-night);
  border-radius: var(--lnm-r-plate); text-decoration: none; isolation: isolate;
  font-family: 'Archivo','Arial Black',sans-serif; font-weight: 700;
  font-size: clamp(1rem, 3.6vw, 1.125rem); letter-spacing: 0.02em;
  white-space: nowrap; transition: transform var(--lnm-latch) var(--lnm-ease-latch); }
.lnm-cta[data-design="b"] .lnm-cta__glow { position: absolute; inset: -14px;
  z-index: -1; border-radius: var(--lnm-r-insulator);
  background: radial-gradient(closest-side, rgba(240,168,104,0.55), transparent 70%);
  opacity: 0.35; animation: lnm-cta-breath 5s var(--lnm-ease-breath) infinite;
  pointer-events: none; }
@keyframes lnm-cta-breath {
  0%, 100% { opacity: 0.3; }
  50%      { opacity: 0.75; }
}
@media (hover: hover) and (pointer: fine) {
  .lnm-cta[data-design="b"]:hover { transform: translateY(-1px); }
  .lnm-cta[data-design="b"]:hover .lnm-cta__glow { opacity: 0.85;
    animation-play-state: paused; }
}
.lnm-cta[data-design="b"]:focus-visible { outline: 2px solid var(--lnm-arc);
  outline-offset: 3px; }
.lnm-cta[data-design="b"]:active { transform: scale(0.97); }
@media (prefers-reduced-motion: reduce) {
  .lnm-cta[data-design="b"] .lnm-cta__glow { animation: none; opacity: 0.5; }
  .lnm-cta[data-design="b"] { transition: none; }
}

/* ===== Services — plumber-specific section using the Board card ===== */
[data-design="b"] .pb-services { position: relative; background: var(--lnm-night);
  padding: var(--lnm-span) clamp(20px, 5vw, 48px); }
[data-design="b"] .pb-services__title { max-width: 1320px; margin: 0 auto var(--lnm-climb);
  font-family: 'Archivo', sans-serif; font-weight: 700; color: var(--lnm-rainlight);
  font-size: clamp(1.5rem, 4vw, 2.4rem); }
[data-design="b"] .pb-services__grid { max-width: 1320px; margin: 0 auto var(--lnm-climb);
  display: grid; gap: var(--lnm-crossarm);
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
[data-design="b"] .pb-service { min-height: 64px; display: flex; align-items: center; }
[data-design="b"] .pb-service__name { font-family: 'Public Sans', sans-serif;
  font-weight: 600; font-size: 1rem; line-height: 1.5; color: var(--lnm-rainlight); }
[data-design="b"] .pb-inline-phone { display: inline-block; max-width: 1320px;
  margin: 0 auto; color: var(--lnm-lamp); text-decoration: none;
  font-family: 'Overpass Mono', monospace; font-weight: 700; font-size: 0.95rem;
  min-height: 44px; display: flex; align-items: center; }
[data-design="b"] .pb-inline-phone:focus-visible { outline: 2px solid var(--lnm-arc);
  outline-offset: 2px; }

/* ===== Service Area — Element 4 Restored Map ===== */
[data-design="b"] .lnm-map { position: relative; background: var(--lnm-night);
  padding: var(--lnm-span) clamp(20px, 5vw, 48px); }
[data-design="b"] .lnm-map__title { max-width: 1320px; margin: 0 auto var(--lnm-climb);
  font-family: 'Archivo', sans-serif; font-weight: 700; color: var(--lnm-rainlight);
  font-size: clamp(1.5rem, 4vw, 2.4rem); white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis; }
[data-design="b"] .lnm-map__board { max-width: 1320px; margin-inline: auto;
  list-style: none; padding: 0; display: grid; gap: var(--lnm-crossarm);
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
[data-design="b"] .lnm-zone { position: relative; overflow: hidden;
  background: var(--lnm-squall); border-radius: var(--lnm-r-plate);
  box-shadow: var(--lnm-e1); padding: 20px 16px; min-height: 64px;
  color: var(--lnm-slicker); font-family: 'Public Sans', sans-serif; font-weight: 600;
  transition: color var(--lnm-settle) var(--lnm-ease-reach); }
[data-design="b"] .lnm-zone::before { content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(217,122,62,0.22), rgba(217,122,62,0.06));
  clip-path: inset(0 100% 0 0); opacity: 0;
  transition: clip-path var(--lnm-reach) var(--lnm-ease-reach),
              opacity var(--lnm-settle) linear; }
[data-design="b"] .lnm-zone.is-lit { color: var(--lnm-rainlight); }
[data-design="b"] .lnm-zone.is-lit::before { clip-path: inset(0 0 0 0); opacity: 1; }
[data-design="b"] .lnm-map__glow { position: absolute; inset: auto 0 0 0;
  height: 160px; pointer-events: none;
  background: radial-gradient(60% 100% at 50% 100%, rgba(217,122,62,0.12), transparent);
  opacity: 0; }
[data-design="b"] .lnm-map.is-restored .lnm-map__glow
  { animation: lnm-map-breath 12s var(--lnm-ease-breath) infinite; }
@keyframes lnm-map-breath {
  0%, 100% { opacity: 0.25; }
  50%      { opacity: 0.7; }
}
[data-design="b"] .pb-map__note { max-width: 1320px; margin: var(--lnm-crossarm) auto 0;
  color: var(--lnm-slicker); font-size: 0.9rem; }
/* the micro-toy: one small house whose window toggles */
[data-design="b"] .lnm-zone--home { display: grid; place-items: center;
  cursor: pointer; color: var(--lnm-slicker); min-height: 64px; min-width: 44px; }
[data-design="b"] .lnm-zone--home .lnm-zone__winlight { opacity: 0;
  color: var(--lnm-lamp); transition: opacity var(--lnm-latch) linear; }
[data-design="b"] .lnm-zone--home.is-home-lit { color: var(--lnm-rainlight); }
[data-design="b"] .lnm-zone--home.is-home-lit .lnm-zone__winlight { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .lnm-zone::before { transition: none; }
  [data-design="b"] .lnm-zone.is-lit::before { clip-path: inset(0 0 0 0); opacity: 1; }
  [data-design="b"] .lnm-map.is-restored .lnm-map__glow { animation: none; opacity: 0.4; }
}

/* ===== About ===== */
[data-design="b"] .pb-about { background: var(--lnm-night);
  padding: var(--lnm-span) clamp(20px, 5vw, 48px); }
[data-design="b"] .pb-about__title { max-width: 1320px; margin: 0 auto var(--lnm-climb);
  font-family: 'Archivo', sans-serif; font-weight: 700; color: var(--lnm-rainlight);
  font-size: clamp(1.5rem, 4vw, 2.4rem); }
[data-design="b"] .pb-about__card { max-width: 1320px; margin: 0 auto; padding: var(--lnm-crossarm); }
[data-design="b"] .pb-about__body { font-size: 1rem; line-height: 1.65; color: var(--lnm-rainlight);
  max-width: 75ch; margin: 0 0 var(--lnm-crossarm); }
[data-design="b"] .pb-about__badges { display: flex; flex-wrap: wrap; gap: var(--lnm-cleat); }
[data-design="b"] .lnm-badge { display: inline-flex; align-items: center;
  font-family: 'Overpass Mono', monospace; font-size: 0.8rem; letter-spacing: 0.04em;
  color: var(--lnm-rainlight); border: 1px solid var(--lnm-slicker); opacity: 0.9;
  border-radius: var(--lnm-r-plate); padding: 6px 12px; }

/* ===== Handoff — Element 7 scroll choreography ===== */
[data-design="b"] .lnm-handoff { position: relative; overflow: hidden;
  background: var(--lnm-night); padding: var(--lnm-span) clamp(20px, 5vw, 48px);
  min-height: 40vh; display: grid; align-content: end; }
[data-design="b"] .lnm-handoff__storm { position: absolute; inset: 0 0 40% 0;
  background:
    radial-gradient(70% 90% at 20% 20%, rgba(147,157,171,0.28), transparent 70%),
    radial-gradient(60% 80% at 70% 10%, rgba(147,157,171,0.22), transparent 70%);
  transform: translateY(-34%); opacity: 0.15; }
[data-design="b"] .lnm-handoff__lamps { position: relative; display: flex;
  justify-content: space-between; max-width: 1320px; width: 100%;
  margin: 0 auto var(--lnm-crossarm); }
[data-design="b"] .lnm-lamp-post { position: relative; width: 2px; height: 64px;
  background: var(--lnm-slicker); opacity: 0.7; }
[data-design="b"] .lnm-lamp-glowcap { position: absolute; top: -8px; left: 50%;
  width: 22px; height: 22px; margin-left: -11px; border-radius: var(--lnm-r-insulator);
  background: radial-gradient(closest-side, var(--lnm-lamp-glow), transparent 72%);
  opacity: 1; }
[data-design="b"] .lnm-handoff__title { position: relative; max-width: 1320px;
  margin: 0 auto; width: 100%; font-family: 'Archivo', sans-serif; font-weight: 700;
  color: var(--lnm-rainlight); font-size: clamp(1.4rem, 3.6vw, 2.2rem);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@supports (animation-timeline: view()) {
  [data-design="b"] .lnm-handoff__storm {
    animation: lnm-lift linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 60%; }
  @keyframes lnm-lift {
    from { transform: translateY(0);    opacity: 0.85; }
    to   { transform: translateY(-34%); opacity: 0.15; }
  }
  [data-design="b"] .lnm-lamp-glowcap {
    animation: lnm-lamp-on linear both;
    animation-timeline: view(); }
  [data-design="b"] .lnm-lamp-post:nth-child(1) .lnm-lamp-glowcap
    { animation-range: entry 10% entry 40%; }
  [data-design="b"] .lnm-lamp-post:nth-child(2) .lnm-lamp-glowcap
    { animation-range: entry 20% entry 55%; }
  [data-design="b"] .lnm-lamp-post:nth-child(3) .lnm-lamp-glowcap
    { animation-range: entry 30% entry 70%; }
  [data-design="b"] .lnm-lamp-post:nth-child(4) .lnm-lamp-glowcap
    { animation-range: entry 40% entry 85%; }
  [data-design="b"] .lnm-lamp-post:nth-child(5) .lnm-lamp-glowcap
    { animation-range: entry 50% exit 0%; }
  @keyframes lnm-lamp-on {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .lnm-handoff__storm { animation: none !important;
    transform: translateY(-34%); opacity: 0.15; }
  [data-design="b"] .lnm-lamp-glowcap { animation: none !important; opacity: 1; }
}

/* ===== Pointer — Element 6 (riser run) ===== */
[data-design="b"] .lnm-pointer,
.lnm-pointer[data-design="b"] { position: relative; display: grid;
  justify-items: center; gap: 10px; padding: var(--lnm-climb) 0;
  background: var(--lnm-night); opacity: 1; }
.lnm-pointer[data-design="b"] .lnm-pointer__wire { position: absolute;
  top: var(--lnm-climb); bottom: calc(var(--lnm-climb) + 28px); width: 1px;
  background: var(--lnm-arc); opacity: 0.35; }
.lnm-pointer[data-design="b"] .lnm-pointer__node { width: 10px; height: 10px;
  border-radius: var(--lnm-r-insulator); background: var(--lnm-lamp);
  opacity: 0.15; animation: lnm-pointer-rise 5s var(--lnm-ease-breath) infinite;
  position: relative; z-index: 1; }
.lnm-pointer[data-design="b"] .lnm-pointer__node:nth-of-type(2) { animation-delay: 0.5s; }
.lnm-pointer[data-design="b"] .lnm-pointer__node:nth-of-type(3) { animation-delay: 1.0s; }
.lnm-pointer[data-design="b"] .lnm-pointer__node:nth-of-type(4) { animation-delay: 1.5s; }
@keyframes lnm-pointer-rise {
  0%        { opacity: 0.15; }
  14%       { opacity: 1; }
  46%       { opacity: 0.55; }
  70%, 100% { opacity: 0.15; }
}
.lnm-pointer[data-design="b"] .lnm-pointer__label { margin-top: 4px;
  font-family: 'Overpass Mono', monospace; font-size: 0.8rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--lnm-slicker); max-width: 16ch;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .lnm-pointer[data-design="b"] .lnm-pointer__node { animation: none; opacity: 0.7; }
}

/* ===== Funnel — Element 5 (Hot Stick) ===== */
[data-design="b"] .lnm-schedule { background: var(--lnm-night);
  padding: var(--lnm-span) clamp(20px, 5vw, 48px); }
[data-design="b"] .lnm-schedule__title { max-width: 720px; margin: 0 auto var(--lnm-climb);
  font-family: 'Archivo', sans-serif; font-weight: 700; color: var(--lnm-rainlight);
  font-size: clamp(1.5rem, 4vw, 2.4rem); }
[data-design="b"] .lnm-funnel { max-width: 720px; margin-inline: auto;
  background: var(--lnm-squall); border-radius: var(--lnm-r-plate);
  box-shadow: var(--lnm-e2); padding: clamp(20px, 4vw, 40px); }
[data-design="b"] .lnm-funnel__rail { display: flex; align-items: center;
  gap: var(--lnm-cleat); margin-bottom: var(--lnm-climb); }
[data-design="b"] .lnm-funnel__pip { width: 12px; height: 12px;
  border-radius: var(--lnm-r-insulator); background: var(--lnm-night);
  border: 2px solid var(--lnm-slicker); transition: transform var(--lnm-latch) var(--lnm-ease-latch); }
[data-design="b"] .lnm-funnel__pip.is-live { background: var(--lnm-lamp);
  border-color: var(--lnm-lamp); transform: scale(1.15); }
[data-design="b"] .lnm-funnel__tie { flex: 1; height: 1px;
  background: var(--lnm-slicker); opacity: 0.35; }
[data-design="b"] .lnm-step { border: 0; margin: 0; padding: 0; }
[data-design="b"] .lnm-step:not(.is-active) { display: none; }
[data-design="b"] .lnm-step.is-active { display: block;
  animation: lnm-step-in var(--lnm-settle) var(--lnm-ease-reach) both; }
@keyframes lnm-step-in {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: translateX(0); }
}
[data-design="b"] .lnm-step__q { font-family: 'Archivo', sans-serif;
  font-weight: 700; font-size: clamp(1.15rem, 3.4vw, 1.5rem);
  color: var(--lnm-rainlight); margin-bottom: var(--lnm-crossarm); padding: 0; }
[data-design="b"] .lnm-step__options { display: grid; gap: var(--lnm-rung);
  border-left: 2px solid var(--lnm-slicker); padding-left: var(--lnm-crossarm); }
@media (min-width: 768px) {
  [data-design="b"] .lnm-step__options.lnm-step__options--wide
    { grid-template-columns: 1fr 1fr; }
}
[data-design="b"] .lnm-opt { position: relative; display: flex; align-items: center;
  gap: var(--lnm-rung); min-height: 56px; padding: 14px 18px; text-align: left;
  background: var(--lnm-night); color: var(--lnm-rainlight); cursor: pointer;
  border: 1px solid rgba(147,162,171,0.4); border-radius: var(--lnm-r-plate);
  font-family: 'Public Sans', sans-serif; font-weight: 600; font-size: 1rem;
  opacity: 1;
  transition: border-color var(--lnm-latch) linear,
              transform var(--lnm-latch) var(--lnm-ease-latch); }
[data-design="b"] .lnm-opt__stick { position: absolute; left: -26px; top: 50%;
  width: 26px; height: 4px; margin-top: -2px; border-radius: var(--lnm-r-insulator);
  background: linear-gradient(90deg, var(--lnm-arc) 0 70%, var(--lnm-lamp) 70%);
  clip-path: inset(0 100% 0 0); }
[data-design="b"] .lnm-opt.is-reaching .lnm-opt__stick
  { animation: lnm-reach var(--lnm-reach) var(--lnm-ease-reach) forwards; }
@keyframes lnm-reach {
  from { clip-path: inset(0 100% 0 0); }
  to   { clip-path: inset(0 0 0 0); }
}
[data-design="b"] .lnm-opt.is-latched { border-color: var(--lnm-lamp);
  transform: scale(0.985); }
[data-design="b"] .lnm-opt.is-latched::after { content: ""; position: absolute;
  inset: -8px; border-radius: var(--lnm-r-plate); pointer-events: none;
  background: radial-gradient(closest-side, rgba(240,168,104,0.35), transparent 75%);
  animation: lnm-energize var(--lnm-settle) var(--lnm-ease-breath) both; }
@keyframes lnm-energize {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .lnm-opt:hover { border-color: var(--lnm-arc);
    transform: translateX(2px); }
}
[data-design="b"] .lnm-opt:focus-visible { outline: 2px solid var(--lnm-arc);
  outline-offset: 2px; }
[data-design="b"] .pb-step__emergency-note { margin-top: var(--lnm-crossarm);
  color: var(--lnm-slicker); font-size: 0.9rem; }
[data-design="b"] .pb-step__emergency-note a { color: var(--lnm-lamp); }
[data-design="b"] .lnm-field { display: block; margin-bottom: var(--lnm-crossarm); }
[data-design="b"] .lnm-field__label { display: block; font-size: 0.75rem;
  text-transform: uppercase; letter-spacing: 0.08em; color: var(--lnm-slicker);
  margin-bottom: var(--lnm-gauge); }
[data-design="b"] .lnm-field__input { width: 100%; box-sizing: border-box;
  background: var(--lnm-night); color: var(--lnm-rainlight);
  border: 1px solid rgba(147,162,171,0.4); border-radius: var(--lnm-r-plate);
  padding: 12px 14px; min-height: 44px; font: inherit;
  transition: border-color var(--lnm-latch) linear; }
[data-design="b"] .lnm-field__input:focus-visible { outline: 2px solid var(--lnm-arc);
  outline-offset: 1px; border-color: var(--lnm-arc); }
[data-design="b"] .lnm-field__input.is-error { border-color: var(--lnm-critical); }
[data-design="b"] .lnm-funnel__submit { display: inline-flex; align-items: center;
  justify-content: center; min-height: 56px; padding: 16px 32px; cursor: pointer;
  background: var(--lnm-lamp); color: var(--lnm-night); border: 0;
  border-radius: var(--lnm-r-plate); font-family: 'Archivo', sans-serif;
  font-weight: 700; font-size: 1.05rem;
  transition: transform var(--lnm-latch) var(--lnm-ease-latch); }
[data-design="b"] .lnm-funnel__submit:active { transform: scale(0.97); }
[data-design="b"] .lnm-funnel__submit:focus-visible
  { outline: 2px solid var(--lnm-arc); outline-offset: 3px; }
[data-design="b"] .lnm-step__back { margin-top: var(--lnm-crossarm);
  background: transparent; border: 0; color: var(--lnm-slicker); cursor: pointer;
  min-height: 44px; padding: 8px 12px; font: inherit; text-decoration: underline; }
[data-design="b"] .lnm-step__back:focus-visible { outline: 2px solid var(--lnm-arc);
  outline-offset: 2px; }
[data-design="b"] .lnm-funnel__done { text-align: left; }
[data-design="b"] .lnm-funnel__done-line { color: var(--lnm-rainlight);
  font-family: 'Archivo', sans-serif; font-weight: 700;
  font-size: clamp(1.15rem, 3.4vw, 1.5rem); margin: 0; }
[data-design="b"] .pb-funnel__footnote { max-width: 720px; margin: var(--lnm-crossarm) auto 0;
  color: var(--lnm-slicker); font-size: 0.85rem; line-height: 1.6; }
[data-design="b"] .pb-funnel__footnote a { color: var(--lnm-lamp); }
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .lnm-step.is-active { animation: none; }
  [data-design="b"] .lnm-opt.is-reaching .lnm-opt__stick { animation: none;
    clip-path: inset(0 0 0 0); }
  [data-design="b"] .lnm-opt.is-latched::after { animation: none; opacity: 1; }
}

/* ===== Footer ===== */
[data-design="b"] .pb-footer { background: color-mix(in srgb, var(--lnm-night) 96%, black);
  padding: var(--lnm-span-m) clamp(20px, 5vw, 48px); }
[data-design="b"] .pb-footer__inner { max-width: 1320px; margin: 0 auto;
  font-family: 'Overpass Mono', monospace; font-size: 0.85rem; line-height: 1.9;
  color: var(--lnm-slicker); }
[data-design="b"] .pb-footer__firm { color: var(--lnm-rainlight); font-weight: 700;
  font-size: 1rem; margin-bottom: var(--lnm-cleat); }
[data-design="b"] .pb-footer a { color: var(--lnm-lamp); text-decoration: none; }
[data-design="b"] .pb-footer a:focus-visible { outline: 2px solid var(--lnm-arc);
  outline-offset: 2px; }

/* ===== Mobile guardrails (bottom, scoped to .dq-design) ===== */
[data-design="b"].dq-design,
[data-design="b"] .dq-design{max-width:100%;overflow-x:clip;}
[data-design="b"].dq-design *{min-width:0;}
[data-design="b"].dq-design img,
[data-design="b"].dq-design svg:not([data-keep-size]){max-width:100%;height:auto;}

/* Phase-3.4 hero visibility floor (forge_assemble) */
[data-design="b"] [data-mf-role="hero"] :is(h1,h2,p,.headline,.subtitle,.proof,[class*="headline"],[class*="subtitle"],[class*="proof"]),
[data-design="b"] [data-mf-role="cta"] { opacity: 1 !important; }
