/* ══════════════════════════════════════════════════════════════════════
   A Good Lawn · Design B (wayside remapped → b)
   All selectors scoped to [data-design="b"] / .dq-design
   ══════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Zilla+Slab:wght@400;700&family=Work+Sans:wght@400;500&family=Space+Mono&display=swap');

/* ── Token contract ─────────────────────────────────────────────────── */
[data-design="b"] {
  --design-b-primary: #1F4D3A;

  --paper:   #F2E6CC;
  --paper-2: #E9D9B6;
  --ink:     #1A2620;
  --pine:    #1F4D3A;
  --lake:    #2C6E72;
  --blaze:   #D2622B;
  --gold:    #E2A636;
  --brick:   #A6341E;
  --trail:   #4C7A3A;
  --field:   #8B8160;
  --keyline: #2B3A30;

  --reg: 3px;

  --font-display: "Zilla Slab","Rockwell","Roboto Slab",Georgia,serif;
  --font-body:    "Work Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:    "Space Mono","IBM Plex Mono",ui-monospace,Menlo,monospace;

  --t-banner:  clamp(2.25rem, 6vw, 4.5rem);
  --t-display: clamp(2rem, 5vw, 3.5rem);
  --t-head:    clamp(1.5rem, 3vw, 2.25rem);
  --t-sub:     clamp(1.1rem, 2vw, 1.4rem);
  --t-body:    clamp(1rem, 1.2vw, 1.125rem);
  --t-cap:     0.8125rem;
  --lh-body:   1.55;
  --lh-tight:  1.05;
  --track-cap: 0.18em;

  --gutter: clamp(1rem, 4vw, 2.5rem);
  --run:    clamp(4rem, 9vw, 7rem);
  --bleed:  clamp(1.5rem, 4vw, 3rem);
  --hair:   2px;

  --snap:        360ms;
  --settle:      520ms;
  --ease-press:  cubic-bezier(.2,.9,.2,1);
  --ease-out:    cubic-bezier(.17,.84,.44,1);

  --r-chip:  2px;
  --r-frame: 0;
  --shadow-reg:   var(--reg) var(--reg) 0 0 var(--keyline);
  --shadow-blaze: var(--reg) var(--reg) 0 0 var(--blaze);

  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper-2);
}

@media (prefers-color-scheme: dark) {
  [data-design="b"] {
    --paper:#16201A; --paper-2:#101813; --ink:#F2E6CC;
    --pine:#4E8C6F;  --lake:#5AA0A2;   --blaze:#E6783F; --gold:#EBB85A;
    --brick:#C9533A; --trail:#79A85F;  --field:#A89E78; --keyline:#C7B891;
  }
}

/* ── Screenprint grain ──────────────────────────────────────────────── */
[data-design="b"] .b-grain { position: relative; }
[data-design="b"] .b-grain::after {
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background-image: radial-gradient(var(--ink) 0.5px, transparent 0.6px);
  background-size: 4px 4px; opacity:.06; mix-blend-mode:multiply;
  animation: b-grain 12s steps(6) infinite;
}
@keyframes b-grain {
  0%,100% { transform: translate(0,0);      opacity:.05; }
  50%     { transform: translate(.5px,.5px); opacity:.08; }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .b-grain::after { animation:none; }
}

/* ── Container guard ────────────────────────────────────────────────── */
[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; }

/* ══ E1: HEADER ════════════════════════════════════════════════════════ */
[data-design="b"] .b-header {
  position:sticky; top:0; z-index:40;
  background:var(--paper); border-bottom:var(--hair) solid var(--keyline);
}
[data-design="b"] .b-header__band {
  position:absolute; inset:0; overflow:hidden; pointer-events:none;
}
[data-design="b"] .b-header__band::before {
  content:""; position:absolute; inset:-30% -10%; opacity:.5;
  background:radial-gradient(60% 120% at 20% 0%,
    color-mix(in oklab,var(--gold),transparent 55%), transparent 60%);
  animation: b-bleed-warm 31s var(--ease-out) infinite alternate;
}
[data-design="b"] .b-header__bar {
  position:relative; display:flex; align-items:center;
  justify-content:space-between; gap:1rem;
  max-width:1280px; margin-inline:auto; padding:.8rem var(--gutter);
}
[data-design="b"] .b-logo { position:relative; text-decoration:none; }
[data-design="b"] .b-logo__mark {
  position:relative; font-family:var(--font-display);
  font-weight:700; font-size:var(--t-sub); letter-spacing:.02em;
  text-transform:uppercase; color:var(--pine);
}
[data-design="b"] .b-logo__mark::before {
  content:attr(data-reg);
  position:absolute; left:0; top:0; z-index:-1;
  color:var(--blaze); opacity:.9;
  transform:translate(var(--reg),var(--reg));
}
[data-design="b"] .b-burger {
  display:inline-flex; flex-direction:column; gap:5px;
  width:48px; height:48px; align-items:center; justify-content:center;
  background:transparent; border:var(--hair) solid var(--keyline); cursor:pointer;
}
[data-design="b"] .b-burger span {
  width:22px; height:2px; background:var(--ink);
  transition: transform var(--snap) var(--ease-press),
              opacity var(--snap) var(--ease-out);
}
[data-design="b"] .b-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
[data-design="b"] .b-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
[data-design="b"] .b-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

[data-design="b"] .b-drawer {
  position:fixed; inset:0; z-index:50;
  background:var(--paper); display:grid; place-items:center;
  opacity:0; transform:translateY(-10px);
  transition: opacity var(--snap) var(--ease-out),
              transform var(--snap) var(--ease-press);
}
[data-design="b"] .b-drawer[hidden]{ display:none; }
[data-design="b"] .b-drawer.is-open { opacity:1; transform:translateY(0); }
[data-design="b"] .b-drawer__inner {
  display:flex; flex-direction:column; gap:1.1rem; text-align:center;
}
[data-design="b"] .b-drawer__inner a:not(.b-cta) {
  font-family:var(--font-display); text-transform:uppercase;
  letter-spacing:.02em; color:var(--ink); text-decoration:none;
  font-size:var(--t-head);
}
[data-design="b"] .b-drawer__phone {
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); text-transform:uppercase;
  color:var(--field); text-decoration:none;
}

@keyframes b-bleed-warm {
  from{ transform:translateY(0);  opacity:.5;  }
  to  { transform:translateY(-6%); opacity:.22; }
}
@media (max-width:560px){
  [data-design="b"] .b-logo__mark{ font-size:var(--t-body); }
}
@media (prefers-reduced-motion: reduce){
  [data-design="b"] .b-header__band::before{ animation:none; }
  [data-design="b"] .b-drawer{ transition:opacity var(--snap) linear; transform:none; }
}

/* ══ HERO (E3 backdrop + copy) ═════════════════════════════════════════ */
[data-design="b"] .b-hero {
  position:relative; min-height:88vh;
  display:grid; align-items:end; overflow:hidden; background:var(--paper-2);
}
[data-design="b"] .b-hero__plate {
  position:absolute; inset:0;
}

/* E3: seasonal mow-stripe wash — maintenance-thin fallback */
[data-design="b"] .b-hero__poster {
  position:absolute; inset:0; z-index:0; overflow:hidden;
  /* Banded sky: gold dawn → blaze mid → lake upper → pine ridge → dark base */
  background:
    linear-gradient(180deg,
      transparent 58%,
      var(--pine) 58% 74%,
      color-mix(in oklab,var(--pine),#000 20%) 74% 100%),
    linear-gradient(180deg,
      var(--gold) 0 28%,
      var(--blaze) 28% 44%,
      var(--lake) 44% 58%
    );
  animation: b-bleed-sky 26s var(--ease-out) infinite alternate;
}
/* Sun disc */
[data-design="b"] .b-hero__sun {
  position:absolute; left:14%; top:12%;
  width:clamp(64px,13vw,152px); aspect-ratio:1; border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 8px color-mix(in oklab,var(--gold),#fff 16%);
  animation: b-sun-drift 26s var(--ease-out) infinite alternate;
}
/* Mow-stripe bands — alternating light/dark green swaths, translate-only */
[data-design="b"] .b-hero__stripes {
  position:absolute; inset:0; z-index:1;
  display:flex; flex-direction:column; justify-content:flex-end;
  pointer-events:none; overflow:hidden;
}
[data-design="b"] .b-stripe {
  flex:0 0 8%; display:block;
  animation: b-stripe-drift 18s var(--ease-out) infinite alternate;
}
[data-design="b"] .b-stripe--1 { background:color-mix(in oklab,var(--pine),#fff 18%); opacity:.38; }
[data-design="b"] .b-stripe--2 { background:var(--pine);               opacity:.28; animation-delay:-3s; }
[data-design="b"] .b-stripe--3 { background:color-mix(in oklab,var(--pine),#fff 12%); opacity:.34; animation-delay:-6s; }
[data-design="b"] .b-stripe--4 { background:var(--trail);              opacity:.3;  animation-delay:-9s; }
[data-design="b"] .b-stripe--5 { background:color-mix(in oklab,var(--pine),#fff 22%); opacity:.32; animation-delay:-12s; }
[data-design="b"] .b-stripe--6 { background:var(--pine);               opacity:.25; animation-delay:-15s; }

[data-design="b"] .b-hero__life {
  position:absolute; inset:0; z-index:2;
  width:100%; height:100%; pointer-events:none;
}

/* Copy stack */
[data-design="b"] .b-hero__copy {
  position:relative; z-index:3;
  max-width:52ch; margin:0 var(--gutter) var(--run); padding:var(--bleed);
  background:color-mix(in oklab,var(--paper),transparent 8%);
  border:var(--hair) solid var(--keyline); box-shadow:var(--shadow-reg);
  display:flex; flex-direction:column; gap:.65rem; align-items:flex-start;
}
[data-design="b"] .b-hero__name {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-banner); line-height:var(--lh-tight);
  letter-spacing:.01em; text-transform:uppercase; color:var(--pine); margin:0;
}
[data-design="b"] .b-hero__essence {
  font-size:var(--t-sub); color:var(--ink); margin:0; max-width:38ch;
}
[data-design="b"] .b-coord {
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); text-transform:uppercase;
  color:var(--field); margin:0;
}
[data-design="b"] .b-chip {
  align-self:flex-start; font-family:var(--font-mono);
  font-size:var(--t-cap); letter-spacing:var(--track-cap); text-transform:uppercase;
  color:var(--ink); background:var(--gold); border-radius:var(--r-chip);
  padding:.2em .6em;
}

@keyframes b-bleed-sky  { from{ transform:translateY(0); }  to{ transform:translateY(-8%); } }
@keyframes b-sun-drift  { from{ transform:translate(-28px, 6px); } to{ transform:translate(28px,-6px); } }
@keyframes b-stripe-drift { from{ transform:translateX(0); }  to{ transform:translateX(18px); } }

@media (max-width:560px){
  [data-design="b"] .b-hero{ min-height:92vh; }
  [data-design="b"] .b-hero__copy{ margin-bottom:var(--bleed); max-width:none; }
}
@media (prefers-reduced-motion: reduce){
  [data-design="b"] .b-hero__poster,
  [data-design="b"] .b-hero__sun,
  [data-design="b"] .b-stripe { animation:none; }
}

/* ══ E2: CTA (funnel-anchor stamp) ════════════════════════════════════= */
[data-design="b"] .b-cta {
  display:inline-flex; align-items:center; gap:.6em; min-height:48px;
  padding:.7em 1.2em; font-family:var(--font-display); font-weight:700;
  font-size:var(--t-sub); letter-spacing:.02em; text-transform:uppercase;
  color:var(--paper); background:var(--blaze); border:var(--hair) solid var(--keyline);
  text-decoration:none; box-shadow:var(--shadow-reg); cursor:pointer;
  transition: transform var(--snap) var(--ease-press),
              box-shadow var(--snap) var(--ease-press),
              background-color var(--snap) var(--ease-out);
  animation: b-blaze 5s var(--ease-out) infinite;
}
[data-design="b"] .b-cta.is-warm { background:color-mix(in oklab,var(--blaze),var(--gold) 30%); }
[data-design="b"] .b-cta--sm { font-size:var(--t-cap); min-height:44px; padding:.55em 1em; }
[data-design="b"] .b-cta--drawer {
  margin-top:.5rem; align-self:center; font-size:var(--t-body);
}
@media (hover:hover) and (pointer:fine) {
  [data-design="b"] .b-cta:hover {
    background:color-mix(in oklab,var(--blaze),var(--gold) 30%);
    transform:translate(calc(var(--reg)*-1), calc(var(--reg)*-1));
    box-shadow: calc(var(--reg)*2) calc(var(--reg)*2) 0 0 var(--keyline);
  }
}
[data-design="b"] .b-cta:focus-visible {
  outline:none;
  transform:translate(calc(var(--reg)*-1), calc(var(--reg)*-1));
  box-shadow:0 0 0 var(--hair) var(--paper), 0 0 0 5px var(--blaze);
}
[data-design="b"] .b-cta:active {
  transform:translate(var(--reg),var(--reg)); box-shadow:0 0 0 0 var(--keyline);
}
@keyframes b-blaze {
  0%,100% { box-shadow: var(--reg) var(--reg) 0 0 var(--keyline); }
  50%     { box-shadow: var(--reg) var(--reg) 0 0 var(--keyline),
                        0 0 18px -2px color-mix(in oklab,var(--blaze),#fff 12%); }
}
@media (prefers-reduced-motion: reduce){
  [data-design="b"] .b-cta{ animation:none; }
  [data-design="b"] .b-cta{ transition:none; }
}

/* ══ E6: POINTER ═══════════════════════════════════════════════════════ */
[data-design="b"] .b-pointer {
  display:flex; flex-direction:column; align-items:center; gap:.55rem;
  padding:var(--bleed) var(--gutter);
  opacity:1; min-height:60px;
  cursor:pointer;
}
[data-design="b"] .b-pointer__sun {
  width:14px; height:14px; border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px color-mix(in oklab,var(--gold),var(--paper) 45%);
  animation: b-sun-arc 6s var(--ease-out) infinite alternate;
}
[data-design="b"] .b-pointer__rule {
  width:min(180px,42vw); height:var(--hair);
  background:linear-gradient(90deg, var(--keyline), transparent);
  transform:scaleX(.28); transform-origin:left center;
  animation: b-shadow-creep 6s var(--ease-out) infinite alternate;
}
[data-design="b"] .b-pointer__label {
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); text-transform:uppercase;
  color:var(--field);
  animation: b-pointer-fade 6s var(--ease-out) infinite alternate;
}
@keyframes b-sun-arc      { from{ transform:translate(-42px, 4px); } to{ transform:translate(42px,-4px); } }
@keyframes b-shadow-creep { from{ transform:scaleX(.25); }          to{ transform:scaleX(1); } }
@keyframes b-pointer-fade { from{ opacity:.35; }                     to{ opacity:1; } }

@media (prefers-reduced-motion: reduce){
  [data-design="b"] .b-pointer__sun,
  [data-design="b"] .b-pointer__rule,
  [data-design="b"] .b-pointer__label { animation:none; opacity:1; }
}

/* ══ E5: FUNNEL ════════════════════════════════════════════════════════ */
[data-design="b"] .b-funnel {
  background:var(--paper); padding:var(--run) var(--gutter);
}
[data-design="b"] .b-funnel__inner {
  max-width:680px; margin-inline:auto;
}
[data-design="b"] .b-funnel__title {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-head); text-transform:uppercase;
  color:var(--pine); margin:0 0 1.5rem;
}
[data-design="b"] .b-funnel__q {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-sub); color:var(--ink); margin:0 0 1rem;
}
[data-design="b"] .b-funnel__step { display:none; }
[data-design="b"] .b-funnel__step[data-active="true"] { display:block; }

[data-design="b"] .b-funnel__options {
  display:grid; grid-template-columns:1fr;
  gap:.75rem; margin-bottom:1.25rem;
}
[data-design="b"] .b-funnel__option {
  display:flex; flex-direction:column; align-items:flex-start; gap:.25rem;
  min-height:56px; padding:.75em 1em;
  font-family:var(--font-body); font-size:var(--t-body);
  color:var(--ink); background:var(--paper-2);
  border:var(--hair) solid var(--keyline); cursor:pointer;
  box-shadow:var(--shadow-reg); text-align:left;
  transition: transform var(--snap) var(--ease-press),
              box-shadow var(--snap) var(--ease-press);
}
[data-design="b"] .b-funnel__option--radio,
[data-design="b"] .b-funnel__option--check {
  flex-direction:row; align-items:center;
}
[data-design="b"] .b-funnel__option.is-selected {
  background:var(--pine); color:var(--paper);
  box-shadow:var(--shadow-blaze);
}
@media (hover:hover) and (pointer:fine) {
  [data-design="b"] .b-funnel__option:hover {
    transform:translate(calc(var(--reg)*-1),calc(var(--reg)*-1));
    box-shadow: calc(var(--reg)*2) calc(var(--reg)*2) 0 0 var(--keyline);
  }
}
[data-design="b"] .b-funnel__option:active {
  transform:translate(var(--reg),var(--reg));
  box-shadow:0 0 0 0 var(--keyline);
}
[data-design="b"] .b-option__icon { font-size:1.4em; }
[data-design="b"] .b-option__label {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-sub); letter-spacing:.01em; text-transform:uppercase;
}
[data-design="b"] .b-option__sub { font-size:var(--t-cap); color:var(--field); }
[data-design="b"] .b-funnel__option.is-selected .b-option__sub { color:var(--paper); opacity:.8; }

[data-design="b"] .b-funnel__options--multi { flex-wrap:wrap; display:flex; gap:.5rem; }
[data-design="b"] .b-funnel__options--multi .b-funnel__option {
  flex:0 1 auto; min-height:44px; padding:.5em .85em;
  flex-direction:row; align-items:center;
}
[data-design="b"] .b-funnel__next-wrap {
  display:flex; justify-content:flex-end; margin-top:1rem;
}

/* Form fields */
[data-design="b"] .b-funnel__form {
  display:flex; flex-direction:column; gap:1.1rem;
}
[data-design="b"] .b-field {
  display:flex; flex-direction:column; gap:.3rem;
}
[data-design="b"] .b-field__label {
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); text-transform:uppercase; color:var(--field);
}
[data-design="b"] .b-field__input {
  background:transparent; border:0; border-bottom:var(--hair) solid var(--keyline);
  color:var(--ink); font-family:var(--font-body); font-size:var(--t-body);
  padding:.4em 0; outline:none;
  transition: border-color var(--snap) var(--ease-out);
}
[data-design="b"] .b-field__input:focus {
  border-color:var(--blaze);
}
[data-design="b"] .b-field__textarea { resize:vertical; min-height:72px; }
[data-design="b"] .b-funnel__submit { margin-top:.5rem; align-self:flex-start; }

/* Progress dots */
[data-design="b"] .b-funnel__progress {
  display:flex; gap:.4rem; justify-content:center; margin-top:1.5rem;
}
[data-design="b"] .b-funnel__dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--field); opacity:.35;
  transition: opacity var(--snap) var(--ease-out),
              background-color var(--snap) var(--ease-out);
}
[data-design="b"] .b-funnel__dot.is-active {
  background:var(--blaze); opacity:1;
}

/* Confirmation */
[data-design="b"] .b-funnel__confirm { display:none; padding:var(--bleed) 0; text-align:center; }
[data-design="b"] .b-funnel__confirm-msg {
  font-size:var(--t-sub); color:var(--pine); margin:0 0 .75rem;
}
[data-design="b"] .b-funnel__tel { color:var(--blaze); text-decoration:none; }

/* Eyebrow */
[data-design="b"] .b-eyebrow {
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); text-transform:uppercase;
  color:var(--field); margin:0 0 .5rem;
}

/* ══ E4: STORY BAND (How It Works) ════════════════════════════════════= */
[data-design="b"] .b-story {
  position:relative; overflow:hidden;
  padding:var(--run) var(--gutter); background:var(--paper);
}
[data-design="b"] .b-story__sky {
  position:absolute; inset:0; z-index:0;
}
[data-design="b"] .b-story__sky span { position:absolute; inset:0; display:block; }
[data-design="b"] .b-story__dawn {
  background:linear-gradient(180deg, var(--gold), color-mix(in oklab,var(--blaze),var(--paper) 35%));
  opacity:.5; animation: b-bleed-am 30s var(--ease-out) infinite alternate;
}
[data-design="b"] .b-story__dusk {
  background:linear-gradient(180deg, var(--lake), var(--pine));
  opacity:0; animation: b-bleed-pm 30s var(--ease-out) infinite alternate;
}
[data-design="b"] .b-story__body {
  position:relative; z-index:1;
  max-width:700px; margin-inline:auto;
}
[data-design="b"] .b-story__title {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-head); text-transform:uppercase;
  color:var(--ink); margin:0 0 1.5rem;
}
/* Process steps */
[data-design="b"] .b-process {
  display:flex; flex-direction:column; gap:1.25rem;
}
[data-design="b"] .b-process__step {
  display:flex; gap:1rem; align-items:flex-start;
}
[data-design="b"] .b-process__num {
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); color:var(--blaze);
  flex-shrink:0; padding-top:.15em;
}
[data-design="b"] .b-process__step strong {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-sub); text-transform:uppercase; color:var(--pine);
  display:block; margin-bottom:.25rem;
}
[data-design="b"] .b-process__step p {
  font-size:var(--t-body); line-height:var(--lh-body); color:var(--ink); margin:0;
}

@keyframes b-bleed-am { from{ opacity:.55; } to{ opacity:.12; } }
@keyframes b-bleed-pm { from{ opacity:0;   } to{ opacity:.5;  } }
@media (prefers-reduced-motion: reduce){
  [data-design="b"] .b-story__sky span { animation:none; }
}

/* ══ SERVICES ══════════════════════════════════════════════════════════ */
[data-design="b"] .b-services { padding:var(--run) var(--gutter); background:var(--paper-2); }
[data-design="b"] .b-section-inner { max-width:1280px; margin-inline:auto; }
[data-design="b"] .b-section-title {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-head); text-transform:uppercase;
  color:var(--pine); margin:0 0 1.5rem;
}
[data-design="b"] .b-services__grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(260px, 100%), 1fr));
  gap:1.5rem; margin-bottom:2rem;
}
[data-design="b"] .b-plate {
  background:var(--paper); border:var(--hair) solid var(--keyline);
  box-shadow:var(--shadow-reg); padding:var(--bleed);
}
[data-design="b"] .b-plate__label {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-sub); text-transform:uppercase; color:var(--pine);
  margin:0 0 .4rem;
}
[data-design="b"] .b-plate__body {
  font-size:var(--t-body); line-height:var(--lh-body); color:var(--ink); margin:0;
}
/* Rates */
[data-design="b"] .b-rates {
  border-top:var(--hair) solid var(--keyline); padding-top:1.25rem;
}
[data-design="b"] .b-rates__line {
  font-size:var(--t-body); line-height:var(--lh-body); color:var(--ink); margin:0 0 .3rem;
}

/* ══ SERVICE AREA ══════════════════════════════════════════════════════ */
[data-design="b"] .b-area { padding:var(--run) var(--gutter); background:var(--paper); }
[data-design="b"] .b-area__intro {
  font-size:var(--t-body); line-height:var(--lh-body); color:var(--ink); max-width:55ch; margin:0 0 1.25rem;
}
[data-design="b"] .b-area__list {
  list-style:none; padding:0; margin:0 0 1rem;
  display:flex; flex-wrap:wrap; gap:.4rem .75rem;
}
[data-design="b"] .b-area__list li {
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); text-transform:uppercase;
  color:var(--paper); background:var(--pine);
  padding:.2em .65em; border-radius:var(--r-chip);
}
[data-design="b"] .b-area__note {
  font-size:var(--t-body); color:var(--field); margin:0;
}
[data-design="b"] .b-area__tel { color:var(--blaze); text-decoration:none; }

/* ══ REPEATED FUNNEL CTA ═══════════════════════════════════════════════ */
[data-design="b"] .b-repeat-cta {
  background:var(--paper-2); padding:var(--run) var(--gutter);
}
[data-design="b"] .b-repeat-cta__inner {
  display:flex; flex-direction:column; align-items:center; gap:1.5rem; text-align:center;
}
[data-design="b"] .b-repeat-cta__title {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-head); text-transform:uppercase; color:var(--pine); margin:0;
}

/* ══ FOOTER ════════════════════════════════════════════════════════════ */
[data-design="b"] .b-footer {
  background:var(--paper-2); border-top:var(--hair) solid var(--keyline);
  padding:var(--run) var(--gutter) calc(var(--bleed) * 0.75);
}
[data-design="b"] .b-footer__inner {
  max-width:1280px; margin-inline:auto;
  display:flex; flex-wrap:wrap; gap:2rem;
  margin-bottom:1.5rem;
}
[data-design="b"] .b-footer__col {
  display:flex; flex-direction:column; gap:.4rem;
}
[data-design="b"] .b-footer__name {
  font-family:var(--font-display); font-weight:700; font-size:var(--t-sub);
  text-transform:uppercase; color:var(--pine); margin:0;
}
[data-design="b"] .b-footer__addr {
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); text-transform:uppercase;
  color:var(--field); margin:0;
}
[data-design="b"] .b-footer__phone {
  font-family:var(--font-display); font-weight:700;
  font-size:var(--t-sub); color:var(--blaze); text-decoration:none;
}
[data-design="b"] .b-footer__email {
  font-size:var(--t-cap); color:var(--field); text-decoration:none;
}
[data-design="b"] .b-footer__hours {
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); text-transform:uppercase;
  color:var(--field); margin:0;
}
[data-design="b"] .b-footer__copy {
  max-width:1280px; margin:0 auto;
  font-family:var(--font-mono); font-size:var(--t-cap);
  letter-spacing:var(--track-cap); text-transform:uppercase;
  color:var(--field);
}

/* ══ MOBILE GUARDS ════════════════════════════════════════════════════= */
@media (max-width:560px) {
  [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; }

  [data-design="b"] .b-funnel__options { grid-template-columns:1fr; }
  [data-design="b"] .b-footer__inner { flex-direction:column; gap:1.25rem; }
  [data-design="b"] .b-services__grid { grid-template-columns:1fr; }
  [data-design="b"] .b-area__list li { font-size:.7rem; }
}

@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .b-funnel__option,
  [data-design="b"] .b-funnel__dot { transition:none; }
  [data-design="b"] .b-field__input { transition:none; }
}

/* ══ SCROLL PARALLAX (TRIAD-2 — premium scroll motion) ═════════════════
   Hero poster shifts up on scroll — genuine scroll-linked parallax,
   not a fade-in. Implemented via JS scroll handler (see script.js).
   CSS here: the transform target class.
   ══════════════════════════════════════════════════════════════════════ */
[data-design="b"] .b-hero__plate { will-change: transform; }

/* 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; }
