/* ═══════════════════════════════════════════════════════════════════
   ProWall Paints & Plaster — Design B (The Corkboard, remapped)
   Scope: [data-design="b"]  |  All selectors scoped here.
   Keyframes: cork- prefixed.
   ~12–16 color tokens on --design-b-* namespace.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Google Fonts import ── */
@import url('https://fonts.googleapis.com/css2?family=Permanent+Marker&family=Special+Elite&family=Public+Sans:wght@400;500;600&family=Caveat:wght@400;600&family=JetBrains+Mono:wght@400;500&display=swap');

/* ══════════════════════════════════════════════════════════
   TOKEN SYSTEM  (scoped to [data-design="b"])
   12 color tokens + typography + spacing + motion + shadow
   ══════════════════════════════════════════════════════════ */
[data-design="b"] {
  /* ── Color tokens ── */
  --design-b-primary:    #2B5A8A;  /* blue — exposed as required */
  --design-b-cork:       #C9A86A;
  --design-b-cork-deep:  #B6955A;
  --design-b-paper:      #FBF8EE;
  --design-b-paper-deep: #F0E9D2;
  --design-b-ink:        #1A1814;
  --design-b-ink-soft:   #3F392C;
  --design-b-muted:      #7B7158;
  --design-b-rule:       #2C2820;
  --design-b-pin-red:    #C73223;
  --design-b-pin-blue:   #2B5A8A;
  --design-b-pin-green:  #3D7C42;
  --design-b-pin-yellow: #D4A325;

  /* ── Typography ── */
  --font-sharpie:     "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive;
  --font-typewriter:  "Special Elite", "Courier Prime", monospace;
  --font-body:        "Public Sans", system-ui, sans-serif;
  --font-hand:        "Caveat", "Homemade Apple", cursive;
  --font-data:        "JetBrains Mono", "Söhne Mono", monospace;

  /* ── Spacing ── */
  --sp-pin:   2px;
  --sp-em:    8px;
  --sp-card:  16px;
  --sp-flyer: 28px;
  --sp-stack: 40px;
  --sp-board: 72px;
  --sp-bulletin: 120px;

  /* ── Motion ── */
  --dur-tick:    120ms;
  --dur-pin:     280ms;
  --dur-tear:    420ms;
  --dur-flutter: 640ms;
  --dur-ambient: 14000ms;
  --ease-pin:    cubic-bezier(.34, 1.4, .64, 1);
  --ease-tear:   cubic-bezier(.65, .05, .36, 1);
  --ease-flutter:cubic-bezier(.45, .05, .55, .95);
  --ease-snap:   cubic-bezier(.7, 0, .84, 0);

  /* ── Radius ── */
  --r-zero: 0;
  --r-pin:  50%;
  --r-tab:  2px;

  /* ── Shadows ── */
  --shadow-card:   2px 3px 0 rgba(45,35,18,.12), 0 0 0 1px var(--design-b-rule);
  --shadow-staple: inset 0 0 0 1px var(--design-b-rule), 1px 1px 0 rgba(0,0,0,.06);
  --shadow-curl:   -2px -2px 6px rgba(0,0,0,.08) inset;
  --shadow-press:  inset 0 2px 0 rgba(0,0,0,.12);

  /* ── Cork texture (CSS-only, no PNG) ── */
  --cork-texture:
    radial-gradient(circle at 20% 30%, rgba(120,90,40,.10) 0 2px, transparent 3px),
    radial-gradient(circle at 70% 60%, rgba(90,65,25,.10) 0 2px, transparent 3px),
    radial-gradient(circle at 45% 80%, rgba(140,105,55,.08) 0 2px, transparent 3px);

  /* ── Base ── */
  box-sizing: border-box;
  font-family: var(--font-body);
  color: var(--design-b-ink);
  background: var(--design-b-cork);
}

[data-design="b"].dq-design *, [data-design="b"].dq-design *::before, [data-design="b"].dq-design *::after {
  box-sizing: border-box;
}

[data-design="b"].dq-design img, [data-design="b"].dq-design svg:not([data-keep-size]) {
  max-width: 100%; height: auto;
}

/* ══════════════════════════════════════════════════════════
   ELEMENT 1 — HEADER  (H-1: logo + one atmospheric anim + hamburger)
   No backdrop-filter:blur on sticky header (PERF-6)
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-header {
  position: sticky; top: 0; z-index: 50;
}
[data-design="b"] .cork-header * { box-sizing: border-box; }

/* atmospheric layer: cork strip + slow draft sheen (H-3: ≥18s cycle → 26s) */
[data-design="b"] .cork-header__cork {
  position: absolute; inset: 0; z-index: -1; overflow: hidden;
  background-color: var(--design-b-cork-deep);
  background-image: var(--cork-texture);
  background-size: 18px 18px, 24px 24px, 30px 30px;
  border-bottom: 1.5px solid var(--design-b-rule);
}
[data-design="b"] .cork-header__cork::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,248,225,.16) 50%, transparent 65%);
  background-size: 280% 100%;
  animation: cork-header-sheen 26s linear infinite;
}
@keyframes cork-header-sheen {
  from { background-position: 140% 0; }
  to   { background-position: -140% 0; }
}

[data-design="b"] .cork-header__bar {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-card);
  max-width: 1280px; margin: 0 auto;
  padding: 10px clamp(12px, 4vw, 28px);
}

/* Logo tag */
[data-design="b"] .cork-logo { text-decoration: none; display: inline-block; }
[data-design="b"] .cork-logo__tag {
  position: relative; display: inline-block;
  background: var(--design-b-paper); color: var(--design-b-ink);
  padding: 6px 16px 10px; border-radius: var(--r-tab);
  box-shadow: var(--shadow-card); rotate: -1.5deg;
}
[data-design="b"] .cork-logo__pin {
  position: absolute; top: -5px; right: 10px; width: 12px; height: 12px;
  border-radius: var(--r-pin); background: var(--design-b-pin-red);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 1px 1px rgba(0,0,0,.3);
}
[data-design="b"] .cork-logo__mark {
  display: block; font-family: var(--font-sharpie);
  font-size: clamp(18px, 5vw, 26px); line-height: 1.1; letter-spacing: .5px;
}
[data-design="b"] .cork-logo__underline {
  display: block; width: 100%; height: 9px; margin-top: -2px; overflow: visible;
}
[data-design="b"] .cork-logo__underline path {
  fill: none; stroke: var(--design-b-ink); stroke-width: 2.4; stroke-linecap: round;
  stroke-dasharray: 240; stroke-dashoffset: 240;
  animation: cork-underline-draw 720ms var(--ease-tear) 180ms forwards;
}
@keyframes cork-underline-draw { to { stroke-dashoffset: 0; } }

/* Hamburger */
[data-design="b"] .cork-burger {
  appearance: none; cursor: pointer; width: 44px; height: 44px;
  border: 1.5px solid var(--design-b-rule); background: var(--design-b-paper);
  border-radius: var(--r-tab);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  box-shadow: var(--shadow-card); padding: 0;
}
[data-design="b"] .cork-burger span {
  width: 20px; height: 2px; background: var(--design-b-ink);
  transition: transform var(--dur-tick), opacity var(--dur-tick);
  display: block;
}
[data-design="b"] .cork-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
[data-design="b"] .cork-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
[data-design="b"] .cork-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
[data-design="b"] .cork-burger:focus-visible { outline: 2px solid var(--design-b-pin-blue); outline-offset: 3px; }

/* Drawer: display:none when closed ([hidden]) — NOT opacity:0 */
[data-design="b"] .cork-drawer {
  position: fixed; inset: 0; z-index: 60;
  background: rgba(20,16,8,.45);
  display: grid; place-items: start center;
  padding: 8vh 16px 16px;
}
[data-design="b"] .cork-drawer[hidden] { display: none; }

[data-design="b"] .cork-drawer__card {
  position: relative; width: min(420px, 92vw);
  background: var(--design-b-paper); border-radius: var(--r-tab);
  box-shadow: var(--shadow-card); padding: 32px 24px 24px; rotate: -1deg;
  animation: cork-drawer-pin var(--dur-pin) var(--ease-pin) both;
}
@keyframes cork-drawer-pin {
  from { transform: scale(1.04) translateY(-10px); }
  to   { transform: scale(1); }
}
[data-design="b"] .cork-drawer__pin {
  position: absolute; top: -6px; left: 50%; transform: translateX(-50%);
  width: 16px; height: 16px; border-radius: var(--r-pin);
  background: var(--design-b-pin-blue);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 2px 2px rgba(0,0,0,.3);
}
[data-design="b"] .cork-drawer__nav { display: flex; flex-direction: column; gap: 6px; }
[data-design="b"] .cork-drawer__nav a {
  font-family: var(--font-sharpie); font-size: 24px; color: var(--design-b-ink);
  text-decoration: none; padding: 8px 4px; border-bottom: 1px dashed var(--design-b-rule);
  transition: transform var(--dur-tick);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cork-drawer__nav a:hover { transform: rotate(-1deg) translateX(3px); }
}
[data-design="b"] .cork-drawer__ctas {
  display: flex; flex-direction: column; gap: 10px; margin-top: 18px;
}
[data-design="b"] .cork-drawer__funnel-cta {
  display: block; text-align: center;
  background: var(--design-b-cork); color: var(--design-b-ink);
  font-family: var(--font-sharpie); font-size: 18px; text-decoration: none;
  padding: 10px 20px; border-radius: var(--r-tab); box-shadow: var(--shadow-card);
  min-height: 44px; line-height: 1.3;
}
[data-design="b"] .cork-drawer__phone-cta {
  display: block; text-align: center;
  font-family: var(--font-data); font-size: 18px; color: var(--design-b-ink);
  text-decoration: none; padding: 10px 20px; min-height: 44px; line-height: 1.3;
  border: 1px dashed var(--design-b-rule); border-radius: var(--r-tab);
}
[data-design="b"] .cork-drawer__close {
  display: block; margin-top: 18px; width: 100%;
  appearance: none; background: none; border: none; cursor: pointer;
  font-family: var(--font-hand); font-size: 18px; color: var(--design-b-muted);
  min-height: 44px; text-align: center;
}
[data-design="b"] .cork-drawer__close:focus-visible { outline: 2px solid var(--design-b-pin-blue); }

/* ══════════════════════════════════════════════════════════
   HERO  (data-mf-role="hero")
   HERO-1: exactly one animated layer (cork-hero__wash)
   HERO-2: no directional primitive
   HERO-3: visual presence floor met (cork-wash + curl)
   isolation: isolate → hero text container above backdrop z-index
   Hero text: opacity:1 at first paint (no opacity:0 on any text)
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-hero {
  position: relative;
  isolation: isolate;           /* z-index context: content above backdrop */
  min-height: clamp(420px, 72vh, 760px);
  padding: clamp(40px, 8vw, 96px) clamp(16px, 5vw, 48px);
  background-color: var(--design-b-cork);
  background-image: var(--cork-texture);
  background-size: 18px 18px, 24px 24px, 30px 30px;
  border-bottom: 1.5px solid var(--design-b-rule);
  overflow: hidden;
}

/* ONE animated backdrop layer: ambient color-wash transformation motif (Element 3)
   This is the SINGLE moving layer — HERO-1 satisfied.
   No directional element — HERO-2 satisfied.
   Uses only transform/opacity — MOTION GATE clean. */
[data-design="b"] .cork-hero__board {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  overflow: hidden;
}
[data-design="b"] .cork-hero__wash {
  position: absolute; inset: 0;
  /* Color-wash transformation motif: slow breath of fresh paint color */
  background: conic-gradient(
    from 200deg at 65% 40%,
    rgba(43,90,138,.0)   0deg,
    rgba(43,90,138,.18) 60deg,
    rgba(61,124,66,.12) 120deg,
    rgba(212,163,37,.10) 180deg,
    rgba(43,90,138,.0)  360deg
  );
  /* Sustained ambient: a slow wash breath cycling — perceptible at rest */
  animation: cork-wash-breathe 8s ease-in-out infinite;
  transform-origin: 65% 40%;
}
@keyframes cork-wash-breathe {
  0%   { transform: scale(1.0);    opacity: .55; }
  40%  { transform: scale(1.08);   opacity: .9; }
  70%  { transform: scale(1.04);   opacity: .75; }
  100% { transform: scale(1.0);    opacity: .55; }
}

/* Flyer corner curl — decorative, part of the board layer (not a second moving layer;
   it's a child of the board's single animation context) */
[data-design="b"] .cork-hero__curl-wrap {
  position: absolute; bottom: 16px; left: 24px; width: 36px; height: 36px;
  pointer-events: none;
}
[data-design="b"] .cork-hero__curl {
  position: absolute; bottom: 0; left: 0; width: 36px; height: 36px;
  transform-origin: bottom left;
  background: linear-gradient(135deg, var(--design-b-paper-deep) 50%, transparent 50%);
  box-shadow: var(--shadow-curl);
  animation: cork-hero-curl var(--dur-ambient) var(--ease-flutter) infinite;
}
@keyframes cork-hero-curl {
  0%, 100% { transform: translate(0,0) rotate(0deg); }
  45%, 55% { transform: translate(4px,-6px) rotate(-2deg); }
}

/* Hero content: above backdrop via z-index */
[data-design="b"] .cork-hero__content {
  position: relative; z-index: 2;
  display: grid;
  gap: var(--sp-stack);
  grid-template-columns: minmax(0, 1fr);
  max-width: 1280px; margin: 0 auto;
}
@media (min-width: 768px) {
  [data-design="b"] .cork-hero__content {
    grid-template-columns: minmax(0, 3fr) minmax(0, 1.4fr);
    align-items: start;
  }
}

/* Main flyer */
[data-design="b"] .cork-hero__flyer {
  position: relative; background: var(--design-b-paper);
  color: var(--design-b-ink); padding: var(--sp-flyer);
  border-radius: var(--r-tab); box-shadow: var(--shadow-card); rotate: -1deg;
}
[data-design="b"] .cork-hero__pin {
  position: absolute; top: -7px; right: 18px; width: 16px; height: 16px;
  border-radius: var(--r-pin);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 2px 2px rgba(0,0,0,.3);
}
[data-design="b"] .cork-hero__pin--red   { background: var(--design-b-pin-red); }
[data-design="b"] .cork-hero__pin--green { background: var(--design-b-pin-green); }

/* Hero headline: opacity:1 at first paint — NEVER opacity:0 */
[data-design="b"] .cork-hero__name {
  margin: 0 0 8px;
  font-family: var(--font-sharpie); font-weight: 400;
  font-size: clamp(32px, 8vw, 56px); line-height: 1.05;
  color: var(--design-b-ink);
  /* entrance: transform-only — satisfies MOTION GATE (no opacity from-zero) */
  animation: cork-hero-name-arrive 600ms var(--ease-pin) both;
}
@keyframes cork-hero-name-arrive {
  from { transform: scale(0.97) translateY(-4px); }
  to   { transform: scale(1) translateY(0); }
}
[data-design="b"] .cork-hero__desc {
  margin: 0 0 14px;
  font-family: var(--font-typewriter); font-size: 14px;
  color: var(--design-b-ink-soft); text-transform: uppercase; letter-spacing: 1px;
}
[data-design="b"] .cork-hero__pitch {
  margin: 0 0 10px; max-width: 52ch;
  font-family: var(--font-body); font-size: clamp(15px, 2vw, 17px);
  line-height: 1.65; color: var(--design-b-ink-soft);
}
[data-design="b"] .cork-hero__proof {
  margin: 0 0 var(--sp-card);
  font-family: var(--font-typewriter); font-size: 12px;
  color: var(--design-b-muted); text-transform: uppercase; letter-spacing: .8px;
}

/* Aside note */
[data-design="b"] .cork-hero__note {
  position: relative; background: var(--design-b-paper);
  color: var(--design-b-ink-soft);
  font-family: var(--font-hand); font-size: clamp(17px, 3.5vw, 21px); line-height: 1.4;
  padding: var(--sp-card); border-radius: var(--r-tab);
  box-shadow: var(--shadow-card); rotate: 1.5deg;
}
[data-design="b"] .cork-hero__chips {
  list-style: none; margin: 10px 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 6px;
}
[data-design="b"] .cork-hero__chips li {
  font-family: var(--font-typewriter); font-size: 11px; text-transform: uppercase;
  letter-spacing: .6px; color: var(--design-b-ink-soft);
  border: 1px solid var(--design-b-rule); border-radius: var(--r-tab); padding: 3px 8px;
}

@media (max-width: 560px) {
  [data-design="b"] .cork-hero__flyer,
  [data-design="b"] .cork-hero__note { rotate: 0deg; }
}

/* ══════════════════════════════════════════════════════════
   ELEMENT 2 — CTA (funnel-anchor, data-mf-role="cta")
   CTA-1: animated (flutter 5s) — slow cycle, eye-catching
   CTA-2: points to #funnel
   Resting opacity:1 — NEVER opacity:0 on label
   Note span: opacity initially via CSS var — BUT we use display:none approach
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-cta {
  position: relative; display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-sharpie); font-size: clamp(17px, 3.2vw, 22px);
  color: var(--design-b-ink); text-decoration: none;
  background: var(--design-b-paper); padding: 14px 26px;
  border-radius: var(--r-tab); box-shadow: var(--shadow-card);
  rotate: -1.5deg;
  /* No opacity on resting state — transforms only for animation */
  animation: cork-cta-flutter 5s var(--ease-flutter) infinite;
  will-change: transform;
  transition: rotate var(--dur-pin) var(--ease-pin), box-shadow var(--dur-tick);
  min-height: 44px;
}
@keyframes cork-cta-flutter {
  0%, 100% { rotate: -1.5deg; }
  50%       { rotate: 0.6deg; }
}
[data-design="b"] .cork-cta__pin {
  position: absolute; top: -6px; right: 14px; width: 14px; height: 14px;
  border-radius: var(--r-pin); background: var(--design-b-pin-red);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.3);
  transition: filter var(--dur-tick), transform var(--dur-tick);
}
/* Note: uses transform only on hover — resting state is display:none approach via clip-path */
[data-design="b"] .cork-cta__note {
  font-family: var(--font-hand); font-size: 16px; color: var(--design-b-muted);
  clip-path: inset(0 100% 0 0);
  transform: translateX(-6px);
  transition: clip-path var(--dur-tick), transform var(--dur-tick);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cork-cta:hover { animation: none; rotate: 0deg; outline: none; }
  [data-design="b"] .cork-cta:hover .cork-cta__pin { filter: brightness(1.08); transform: scale(1.1); }
  [data-design="b"] .cork-cta:hover .cork-cta__note { clip-path: inset(0 0% 0 0); transform: translateX(0); }
}
[data-design="b"] .cork-cta:focus-visible {
  outline: none; animation: none; rotate: 0deg;
  box-shadow: var(--shadow-card), 0 0 0 2px var(--design-b-pin-blue);
}
[data-design="b"] .cork-cta:focus-visible .cork-cta__note { clip-path: inset(0 0% 0 0); transform: translateX(0); }
[data-design="b"] .cork-cta:active { box-shadow: var(--shadow-press); }

/* Secondary CTA (Before/After repeat) */
[data-design="b"] .cork-cta--secondary { rotate: 0deg; }

/* ══════════════════════════════════════════════════════════
   ELEMENT 6 — POINTER  (data-mf-role="pointer")
   PTR-1: wayfinding between hero and funnel
   PTR-2: NOT a button — no primary click action
   PTR-3: one pointer only; no bouncing arrows
   Painting register: swatch columns settling downward
   opacity:1; bbox height ≥8px enforced
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-pointer {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  padding: 24px clamp(16px, 4vw, 48px);
  background-color: var(--design-b-cork);
  background-image: var(--cork-texture);
  background-size: 18px 18px, 24px 24px, 30px 30px;
  opacity: 1;   /* HARD: must be opacity:1, bbox height ≥8px */
  min-height: 80px;
}
[data-design="b"] .cork-pointer__swatches {
  display: flex; gap: 6px; align-items: flex-end;
}
/* Each swatch settles down from above — scaleY from 0 → full height,
   transform-origin: top; uses scaleY (not height) per MOTION GATE */
[data-design="b"] .cork-pointer__swatch {
  width: 18px; border-radius: var(--r-tab);
  transform-origin: top center;
  animation: cork-swatch-settle 1.8s var(--ease-pin) infinite;
}
[data-design="b"] .cork-pointer__swatch.s1 { height: 28px; background: rgba(43,90,138,.55);  animation-delay: 0s; }
[data-design="b"] .cork-pointer__swatch.s2 { height: 36px; background: rgba(61,124,66,.50);  animation-delay: .18s; }
[data-design="b"] .cork-pointer__swatch.s3 { height: 44px; background: rgba(199,50,35,.48);  animation-delay: .34s; }
[data-design="b"] .cork-pointer__swatch.s4 { height: 32px; background: rgba(212,163,37,.52); animation-delay: .50s; }
[data-design="b"] .cork-pointer__swatch.s5 { height: 24px; background: rgba(43,90,138,.40);  animation-delay: .64s; }
@keyframes cork-swatch-settle {
  0%   { transform: scaleY(0.1); }
  55%  { transform: scaleY(1.06); }
  75%  { transform: scaleY(0.97); }
  100% { transform: scaleY(1.0); }
}
[data-design="b"] .cork-pointer__label {
  font-family: var(--font-hand); font-size: 16px; color: var(--design-b-paper-deep);
  letter-spacing: .3px;
  /* slow fade-in on cycle — transform only */
  animation: cork-pointer-label 3s ease-in-out infinite;
}
@keyframes cork-pointer-label {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(3px); }
}

/* ══════════════════════════════════════════════════════════
   ELEMENT 5 — FUNNEL  (id="funnel", data-mf-role="funnel")
   4-step qualifying intake per trade.md
   Premium animated transitions: pin-down card entrance
   INT-1: this IS the single interactive centerpiece
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-funnel {
  background-color: var(--design-b-cork-deep);
  background-image: var(--cork-texture);
  background-size: 18px 18px, 24px 24px, 30px 30px;
  padding: clamp(64px, 10vw, 120px) clamp(16px, 5vw, 48px);
}
[data-design="b"] .cork-funnel__inner {
  max-width: 720px; margin: 0 auto;
}
[data-design="b"] .cork-funnel__title {
  margin: 0 0 8px; font-family: var(--font-sharpie); font-weight: 400;
  font-size: clamp(28px, 6vw, 44px); color: var(--design-b-paper); rotate: -1deg;
}
[data-design="b"] .cork-funnel__lead {
  margin: 0 0 var(--sp-stack); max-width: 52ch;
  font-family: var(--font-body); font-size: 16px; line-height: 1.65;
  color: var(--design-b-paper-deep);
}

/* Steps: hidden via HTML [hidden] attribute — never opacity:0 */
[data-design="b"] .cork-funnel__step {
  background: var(--design-b-paper); border-radius: var(--r-tab);
  padding: var(--sp-flyer); box-shadow: var(--shadow-card);
  rotate: -0.5deg; margin-bottom: var(--sp-stack);
  animation: cork-pin-down var(--dur-pin) var(--ease-pin) both;
}
[data-design="b"] .cork-funnel__step[hidden] { display: none; }
@keyframes cork-pin-down {
  0%   { transform: rotate(-3deg) scale(1.04) translateY(-12px); }
  70%  { transform: rotate(0.5deg) scale(1.02); }
  100% { transform: rotate(0) scale(1); }
}
[data-design="b"] .cork-funnel__step-title {
  margin: 0 0 var(--sp-card); font-family: var(--font-sharpie); font-weight: 400;
  font-size: clamp(20px, 4vw, 26px); color: var(--design-b-ink);
}
[data-design="b"] .cork-funnel__options {
  display: grid; gap: var(--sp-card);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
}

/* Funnel option buttons (data-mf-role="funnel-option")
   Resting: opacity:1 — NO opacity:0 on entrance; transform-only animation */
[data-design="b"] .cork-job {
  position: relative; appearance: none; cursor: pointer; text-align: left;
  background: var(--design-b-paper-deep); border: none; border-radius: var(--r-tab);
  padding: 18px 16px 16px; box-shadow: var(--shadow-card);
  font-family: var(--font-sharpie); font-size: clamp(16px, 3vw, 20px);
  color: var(--design-b-ink); rotate: -1.5deg;
  transition: rotate var(--dur-pin) var(--ease-pin), box-shadow var(--dur-tick);
  min-height: 44px; min-width: 0;
  /* entrance: transform-only — no opacity from-zero */
  animation: cork-job-pin var(--dur-pin) var(--ease-pin) both;
}
@keyframes cork-job-pin {
  from { transform: scale(0.95) translateY(-6px); }
  to   { transform: scale(1) translateY(0); }
}
[data-design="b"] .cork-job:nth-child(2n) { rotate: 1.5deg; }
[data-design="b"] .cork-job:nth-child(3n) { rotate: -0.8deg; }
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cork-job:hover { rotate: 0deg; box-shadow: var(--shadow-card), 0 0 0 2px var(--design-b-pin-blue); }
}
[data-design="b"] .cork-job:focus-visible { rotate: 0deg; outline: 2px solid var(--design-b-pin-blue); outline-offset: 2px; }
[data-design="b"] .cork-job[aria-pressed="true"] {
  rotate: 0deg; background: var(--design-b-cork); box-shadow: var(--shadow-press);
}
[data-design="b"] .cork-job__pin {
  position: absolute; top: -7px; right: 14px; width: 14px; height: 14px;
  border-radius: var(--r-pin);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.3);
}

/* Contact form (step 4) */
[data-design="b"] .cork-funnel__form { display: flex; flex-direction: column; gap: var(--sp-card); }
[data-design="b"] .cork-funnel__field { display: flex; flex-direction: column; gap: 6px; }
[data-design="b"] .cork-funnel__label {
  font-family: var(--font-sharpie); font-size: 16px; color: var(--design-b-ink);
  text-transform: uppercase; letter-spacing: .5px;
}
[data-design="b"] .cork-funnel__req { color: var(--design-b-pin-red); }
[data-design="b"] .cork-funnel__input {
  font-family: var(--font-body); font-size: 16px; color: var(--design-b-ink);
  background: var(--design-b-paper-deep); border: none;
  border-bottom: 2px solid var(--design-b-rule); border-radius: 0;
  padding: 10px 0; outline: none;
  transition: border-color var(--dur-tick);
  min-height: 44px;
}
[data-design="b"] .cork-funnel__input:focus { border-bottom-color: var(--design-b-pin-blue); }
[data-design="b"] .cork-funnel__textarea { min-height: 80px; resize: vertical; }
[data-design="b"] .cork-funnel__submit {
  position: relative; appearance: none; cursor: pointer;
  font-family: var(--font-sharpie); font-size: 20px; color: var(--design-b-ink);
  background: var(--design-b-cork); border: none; border-radius: var(--r-tab);
  padding: 14px 28px; box-shadow: var(--shadow-card); rotate: -1deg;
  min-height: 44px; min-width: 180px;
  transition: rotate var(--dur-pin) var(--ease-pin), box-shadow var(--dur-tick);
  align-self: flex-start;
}
[data-design="b"] .cork-funnel__submit-pin {
  position: absolute; top: -6px; right: 14px; width: 14px; height: 14px;
  border-radius: var(--r-pin); background: var(--design-b-pin-red);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.3);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cork-funnel__submit:hover { rotate: 0deg; }
}
[data-design="b"] .cork-funnel__submit:focus-visible { outline: 2px solid var(--design-b-pin-blue); rotate: 0deg; }
[data-design="b"] .cork-funnel__submit:active { box-shadow: var(--shadow-press); }
[data-design="b"] .cork-funnel__caveat {
  font-family: var(--font-body); font-size: 13px; color: var(--design-b-muted); line-height: 1.6;
  margin: 0;
}

/* Confirmation card */
[data-design="b"] .cork-funnel__confirm[hidden] { display: none; }
[data-design="b"] .cork-card {
  position: relative; display: block; max-width: min(100%, 400px);
  background: var(--design-b-paper); border-radius: var(--r-tab);
  padding: var(--sp-flyer) var(--sp-card) var(--sp-card); box-shadow: var(--shadow-card);
  animation: cork-pin-down var(--dur-pin) var(--ease-pin) both;
}
[data-design="b"] .cork-card__pin {
  position: absolute; top: -8px; left: 50%;
  width: 18px; height: 18px; border-radius: var(--r-pin); background: var(--design-b-pin-red);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 2px 3px rgba(0,0,0,.35);
  transform: translateX(-50%);
  animation: cork-pin-press 80ms 220ms var(--ease-snap) both;
}
@keyframes cork-pin-press {
  from { transform: translateX(-50%) scale(1.4); }
  to   { transform: translateX(-50%) scale(1); }
}
[data-design="b"] .cork-card__job {
  margin: 0 0 6px; font-family: var(--font-sharpie); font-size: 22px; color: var(--design-b-ink);
}
[data-design="b"] .cork-card__note {
  margin: 0; font-family: var(--font-hand); font-size: 18px; color: var(--design-b-ink-soft); line-height: 1.5;
}
[data-design="b"] .cork-card__note a {
  color: var(--design-b-pin-blue); text-decoration: none;
}

/* Progress dots */
[data-design="b"] .cork-funnel__progress {
  display: flex; gap: 8px; margin-top: var(--sp-card); justify-content: center;
}
[data-design="b"] .cork-funnel__progress-dot {
  width: 10px; height: 10px; border-radius: var(--r-pin);
  background: var(--design-b-paper-deep);
  transition: background var(--dur-tick), transform var(--dur-tick);
}
[data-design="b"] .cork-funnel__progress-dot.active {
  background: var(--design-b-pin-red); transform: scale(1.25);
}

/* Funnel trust line */
[data-design="b"] .cork-funnel__trust {
  margin: var(--sp-card) 0 0; font-family: var(--font-typewriter); font-size: 12px;
  color: var(--design-b-paper-deep); text-transform: uppercase; letter-spacing: .5px; line-height: 1.7;
}
[data-design="b"] .cork-funnel__phone-link {
  color: var(--design-b-paper); text-decoration: none; font-family: var(--font-data);
}

/* ══════════════════════════════════════════════════════════
   BEFORE / AFTER
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-ba {
  background-color: var(--design-b-cork);
  background-image: var(--cork-texture);
  background-size: 18px 18px, 24px 24px, 30px 30px;
  padding: clamp(64px, 10vw, 120px) clamp(16px, 5vw, 48px);
}
[data-design="b"] .cork-ba__inner { max-width: 1280px; margin: 0 auto; }
[data-design="b"] .cork-ba__title {
  margin: 0 0 12px; font-family: var(--font-sharpie); font-weight: 400;
  font-size: clamp(28px, 6vw, 44px); color: var(--design-b-ink); rotate: -1deg;
}
[data-design="b"] .cork-ba__sub {
  margin: 0 0 var(--sp-stack); max-width: 56ch;
  font-family: var(--font-body); font-size: 15px; color: var(--design-b-ink-soft); line-height: 1.65;
}
[data-design="b"] .cork-ba__cards {
  display: grid; gap: 32px; grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  [data-design="b"] .cork-ba__cards { grid-template-columns: 1fr 1fr; }
}

/* Transformation cards: before → arrow → after layout */
[data-design="b"] .cork-ba__card {
  position: relative; background: var(--design-b-paper); padding: var(--sp-flyer);
  border-radius: var(--r-tab); box-shadow: var(--shadow-card);
  display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: start;
}
[data-design="b"] .cork-ba__card:nth-child(2n) { rotate: .8deg; }
[data-design="b"] .cork-ba__card:nth-child(3n) { rotate: -1deg; }
[data-design="b"] .cork-ba__card-pin {
  position: absolute; top: -7px; left: 50%; transform: translateX(-50%);
  width: 14px; height: 14px; border-radius: var(--r-pin);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.3);
}
[data-design="b"] .cork-ba__card-before,
[data-design="b"] .cork-ba__card-after { display: flex; flex-direction: column; gap: 6px; }
[data-design="b"] .cork-ba__card-label {
  font-family: var(--font-typewriter); font-size: 11px; text-transform: uppercase;
  letter-spacing: 1px; padding: 2px 6px; border-radius: var(--r-tab);
}
[data-design="b"] .cork-ba__card-label--before {
  background: var(--design-b-paper-deep); color: var(--design-b-muted);
}
[data-design="b"] .cork-ba__card-label--after {
  background: var(--design-b-pin-green); color: var(--design-b-paper);
}
[data-design="b"] .cork-ba__card-scope {
  margin: 0; font-family: var(--font-body); font-size: 14px;
  color: var(--design-b-ink-soft); line-height: 1.5;
}
[data-design="b"] .cork-ba__card-arrow {
  font-family: var(--font-sharpie); font-size: 22px; color: var(--design-b-muted);
  padding-top: 16px; align-self: start;
}
[data-design="b"] .cork-ba__repeat-cta {
  margin-top: var(--sp-board); display: flex; justify-content: center;
}

/* ══════════════════════════════════════════════════════════
   SERVICES — Card Wall
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-services {
  background-color: var(--design-b-cork-deep);
  background-image: var(--cork-texture);
  background-size: 18px 18px, 24px 24px, 30px 30px;
  padding: clamp(64px, 10vw, 120px) clamp(16px, 5vw, 48px);
}
[data-design="b"] .cork-services__inner { max-width: 1280px; margin: 0 auto; }
[data-design="b"] .cork-services__title {
  margin: 0 0 var(--sp-stack); font-family: var(--font-sharpie); font-weight: 400;
  font-size: clamp(28px, 6vw, 44px); color: var(--design-b-paper); rotate: -1deg;
}
[data-design="b"] .cork-services__grid {
  display: grid; gap: 24px;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
}
[data-design="b"] .cork-svc-card {
  position: relative; background: var(--design-b-paper); padding: var(--sp-card);
  border-radius: var(--r-tab); box-shadow: var(--shadow-card);
  rotate: -1.2deg;
  /* scroll reveal: transform-only */
  opacity: 1;
  transform: translateY(0);
  transition: rotate var(--dur-pin) var(--ease-pin), box-shadow var(--dur-tick);
}
[data-design="b"] .cork-svc-card.js-reveal-pending {
  transform: translateY(18px);
  transition: transform 480ms var(--ease-pin), rotate var(--dur-pin) var(--ease-pin);
}
[data-design="b"] .cork-svc-card.js-reveal-in {
  transform: translateY(0);
}
[data-design="b"] .cork-svc-card:nth-child(2n) { rotate: 1.2deg; }
[data-design="b"] .cork-svc-card:nth-child(3n) { rotate: -0.5deg; }
@media (hover: hover) and (pointer: fine) {
  [data-design="b"] .cork-svc-card:hover { rotate: 0deg; box-shadow: var(--shadow-card), 0 0 0 2px var(--design-b-pin-blue); }
}
[data-design="b"] .cork-svc-pin {
  position: absolute; top: -6px; right: 14px; width: 13px; height: 13px;
  border-radius: var(--r-pin);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.3);
}
[data-design="b"] .cork-svc-card__name {
  margin: 0 0 6px; font-family: var(--font-sharpie); font-weight: 400;
  font-size: clamp(17px, 3vw, 20px); color: var(--design-b-ink);
}
[data-design="b"] .cork-svc-card__desc {
  margin: 0; font-family: var(--font-body); font-size: 14px;
  color: var(--design-b-ink-soft); line-height: 1.55;
}

/* ══════════════════════════════════════════════════════════
   ELEMENT 4 — PROCESS / NOTES  (afternoon-light drift ambient)
   cork-notes + cork-notes__light: different motion from Element 3
   Scroll-linked reveal on phases: TRIAD-2 (premium scroll motion —
   uses translateY on scroll via IntersectionObserver, not fade-in-only)
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-notes {
  position: relative; overflow: hidden;
  padding: clamp(64px, 10vw, 120px) clamp(16px, 5vw, 48px);
  background-color: var(--design-b-cork-deep);
  background-image: var(--cork-texture);
  background-size: 18px 18px, 24px 24px, 30px 30px;
}
[data-design="b"] .cork-notes__title {
  margin: 0 0 var(--sp-stack); font-family: var(--font-sharpie); font-weight: 400;
  color: var(--design-b-paper); font-size: clamp(26px, 6vw, 44px); rotate: -1deg;
}
/* The afternoon-light drift: AMB-1 second of the two ambient segments */
[data-design="b"] .cork-notes__light {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  mix-blend-mode: screen;
  background: radial-gradient(60% 80% at 0% 30%, rgba(255,248,225,.28), transparent 60%);
  animation: cork-notes-light 18s ease-in-out infinite;
}
@keyframes cork-notes-light {
  0%   { transform: translateX(-15%); }
  50%  { transform: translateX(115%); }
  100% { transform: translateX(-15%); }
}
[data-design="b"] .cork-process__inner { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; }
[data-design="b"] .cork-process__title { margin-bottom: 10px; }
[data-design="b"] .cork-process__lead {
  margin: 0 0 var(--sp-stack); max-width: 52ch;
  font-family: var(--font-body); font-size: 16px; color: var(--design-b-paper-deep); line-height: 1.65;
}
[data-design="b"] .cork-process__track {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 24px;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
}
[data-design="b"] .cork-process__phase {
  display: flex; gap: 12px; align-items: flex-start;
  background: var(--design-b-paper); padding: var(--sp-card);
  border-radius: var(--r-tab); box-shadow: var(--shadow-card);
  /* scroll-parallax: transform-only initial state (no opacity:0) */
  transform: translateY(0);
  transition: transform 520ms var(--ease-pin);
}
[data-design="b"] .cork-process__phase.js-scroll-pending {
  transform: translateY(28px);
}
[data-design="b"] .cork-process__phase.js-scroll-in {
  transform: translateY(0);
}
[data-design="b"] .cork-process__num {
  font-family: var(--font-data); font-size: 24px; color: var(--design-b-pin-blue);
  min-width: 36px; line-height: 1; flex-shrink: 0;
}
[data-design="b"] .cork-process__phase-name {
  margin: 0 0 4px; font-family: var(--font-sharpie); font-weight: 400;
  font-size: 18px; color: var(--design-b-ink);
}
[data-design="b"] .cork-process__detail p {
  margin: 0; font-family: var(--font-body); font-size: 14px;
  color: var(--design-b-ink-soft); line-height: 1.55;
}

/* ══════════════════════════════════════════════════════════
   SERVICE AREA
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-area {
  background-color: var(--design-b-cork);
  background-image: var(--cork-texture);
  background-size: 18px 18px, 24px 24px, 30px 30px;
  padding: clamp(64px, 10vw, 120px) clamp(16px, 5vw, 48px);
}
[data-design="b"] .cork-area__inner {
  max-width: 1280px; margin: 0 auto;
  display: grid; gap: 32px; grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  [data-design="b"] .cork-area__inner { grid-template-columns: 1fr auto; align-items: start; }
}
[data-design="b"] .cork-area__card {
  position: relative; background: var(--design-b-paper); padding: var(--sp-flyer);
  border-radius: var(--r-tab); box-shadow: var(--shadow-card); rotate: -1deg;
}
[data-design="b"] .cork-area__pin {
  position: absolute; top: -7px; right: 18px; width: 14px; height: 14px;
  border-radius: var(--r-pin); background: var(--design-b-pin-blue);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.3);
}
[data-design="b"] .cork-area__title {
  margin: 0 0 12px; font-family: var(--font-sharpie); font-weight: 400;
  font-size: clamp(22px, 5vw, 32px); color: var(--design-b-ink);
}
[data-design="b"] .cork-area__list {
  list-style: none; margin: 0 0 12px; padding: 0;
}
[data-design="b"] .cork-area__list li {
  font-family: var(--font-body); font-size: 16px; color: var(--design-b-ink-soft);
  padding: 4px 0; border-bottom: 1px dashed var(--design-b-rule);
}
[data-design="b"] .cork-area__note {
  margin: 0; font-family: var(--font-body); font-size: 14px;
  color: var(--design-b-muted); line-height: 1.6;
}
[data-design="b"] .cork-area__contact {
  position: relative; background: var(--design-b-paper-deep); padding: var(--sp-flyer);
  border-radius: var(--r-tab); box-shadow: var(--shadow-card); rotate: 1.2deg;
  text-align: center; min-width: 160px;
}
[data-design="b"] .cork-area__contact-pin {
  position: absolute; top: -7px; left: 50%; transform: translateX(-50%);
  width: 14px; height: 14px; border-radius: var(--r-pin); background: var(--design-b-pin-red);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.3);
}
[data-design="b"] .cork-area__contact-label {
  margin: 0 0 6px; font-family: var(--font-typewriter); font-size: 11px;
  text-transform: uppercase; letter-spacing: 1px; color: var(--design-b-muted);
}
[data-design="b"] .cork-area__phone {
  display: block; font-family: var(--font-data); font-size: clamp(18px, 4vw, 24px);
  color: var(--design-b-ink); text-decoration: none;
  margin-bottom: 8px; min-height: 44px; line-height: 1.8;
}
[data-design="b"] .cork-area__contact-note {
  margin: 0; font-family: var(--font-typewriter); font-size: 11px;
  text-transform: uppercase; letter-spacing: .6px; color: var(--design-b-muted);
}

/* ══════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════ */
[data-design="b"] .cork-footer {
  background-color: var(--design-b-cork-deep);
  background-image: var(--cork-texture);
  background-size: 18px 18px, 24px 24px, 30px 30px;
  padding: clamp(40px, 8vw, 72px) clamp(16px, 5vw, 48px);
}
[data-design="b"] .cork-footer__card {
  position: relative; max-width: 1280px; margin: 0 auto;
  background: var(--design-b-paper); padding: var(--sp-flyer);
  border-radius: var(--r-tab); box-shadow: var(--shadow-card); rotate: -0.5deg;
}
[data-design="b"] .cork-footer__pin {
  position: absolute; top: -7px; left: 50%; transform: translateX(-50%);
  width: 14px; height: 14px; border-radius: var(--r-pin); background: var(--design-b-pin-blue);
  box-shadow: inset -1px -1px 0 rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.3);
}
[data-design="b"] .cork-footer__cols {
  display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between;
  margin-bottom: var(--sp-card);
}
[data-design="b"] .cork-footer__name {
  margin: 0 0 6px; font-family: var(--font-sharpie); font-size: 22px; color: var(--design-b-ink);
}
[data-design="b"] .cork-footer__detail {
  margin: 0; font-family: var(--font-typewriter); font-size: 12px;
  color: var(--design-b-muted); text-transform: uppercase; letter-spacing: .5px; line-height: 1.7;
}
[data-design="b"] .cork-footer__phone {
  display: block; font-family: var(--font-data); font-size: 22px;
  color: var(--design-b-ink); text-decoration: none; margin-bottom: 10px;
  min-height: 44px; line-height: 1.8;
}
[data-design="b"] .cork-footer__funnel {
  display: block; font-family: var(--font-sharpie); font-size: 17px;
  color: var(--design-b-pin-blue); text-decoration: none;
  border: 1.5px solid var(--design-b-pin-blue); border-radius: var(--r-tab);
  padding: 8px 16px; min-height: 44px; line-height: 1.5;
}
[data-design="b"] .cork-footer__stamp {
  margin: 0; font-family: var(--font-typewriter); font-size: 11px;
  color: var(--design-b-muted); text-transform: uppercase; letter-spacing: .8px;
  border-top: 1px dashed var(--design-b-rule); padding-top: var(--sp-card);
}

/* ══════════════════════════════════════════════════════════
   REDUCED MOTION — all animations paused or replaced
   ══════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  [data-design="b"] .cork-header__cork::after { animation: none; }
  [data-design="b"] .cork-logo__underline path { animation: none; stroke-dashoffset: 0; }
  [data-design="b"] .cork-drawer__card { animation: none; }
  [data-design="b"] .cork-burger span { transition: none; }
  [data-design="b"] .cork-hero__wash { animation: none; }
  [data-design="b"] .cork-hero__curl { animation: none; }
  [data-design="b"] .cork-hero__name { animation: none; }
  [data-design="b"] .cork-cta { animation: none; rotate: -1.5deg; }
  [data-design="b"] .cork-pointer__swatch { animation: none; transform: scaleY(1); }
  [data-design="b"] .cork-pointer__label { animation: none; }
  [data-design="b"] .cork-funnel__step { animation: none; }
  [data-design="b"] .cork-job { animation: none; }
  [data-design="b"] .cork-card { animation: none; transform: rotate(-1.2deg); }
  [data-design="b"] .cork-card__pin { animation: none; transform: translateX(-50%) scale(1); }
  [data-design="b"] .cork-notes__light { animation: none; }
  [data-design="b"] .cork-process__phase { transition: none; }
  [data-design="b"] .cork-svc-card { transition: none; }
}

/* ══════════════════════════════════════════════════════════
   MOBILE / OVERFLOW GUARD
   Required at bottom of styles.css per spec 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;
}

/* 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; }
