/* ═══════════════════════════════════════════════════════════
   John Trujillo Jr. Masonry — Design A (Plan Set)
   Slot: a  |  design_id: plan-set → remapped to [data-design="a"].dq-design
   All selectors scoped to [data-design="a"].dq-design or .dq-design
   ═══════════════════════════════════════════════════════════ */

/* ─── Design tokens ─────────────────────────────────────── */
[data-design="a"] {
  --design-a-primary: #1A5C8A;

  --ps-vellum:        #EEE9DC;
  --ps-vellum-deep:   #E3DCC7;
  --ps-graphite:      #1A1C20;
  --ps-graphite-soft: #3E4147;
  --ps-muted:         #7C7C72;
  --ps-rule:          #2C2E33;
  --ps-blueprint:     #1A5C8A;
  --ps-redline:       #A4321C;
  --ps-phase-green:   #365C29;
  --ps-phase-yellow:  #B58B20;
  --ps-critical:      #8A1B11;

  --ps-font-callout:  "Bebas Neue", "DIN Next Stencil", "Stencil Std", sans-serif;
  --ps-font-display:  "Helvetica Neue Condensed", "Akzidenz Grotesk Condensed", "Arial Narrow", sans-serif;
  --ps-font-body:     "Inter", "Helvetica Neue", system-ui, sans-serif;
  --ps-font-mono:     "JetBrains Mono", "Söhne Mono", "Courier New", monospace;

  --ps-text-dim:    11px;
  --ps-text-cap:    13px;
  --ps-text-body:   16px;
  --ps-text-deck:   20px;
  --ps-text-head:   28px;
  --ps-text-sheet:  clamp(32px, 5vw, 44px);
  --ps-text-cover:  clamp(40px, 7vw, 64px);

  --ps-space-tick:   2px;
  --ps-space-quad:   4px;
  --ps-space-em:     8px;
  --ps-space-cell:  16px;
  --ps-space-margin: 24px;
  --ps-space-gutter: 48px;
  --ps-space-block:  80px;
  --ps-space-sheet:  clamp(64px, 10vw, 128px);

  --ps-dur-tick:   120ms;
  --ps-dur-draw:   480ms;
  --ps-dur-sweep:  720ms;
  --ps-dur-flip:   580ms;
  --ps-dur-set:   1100ms;
  --ps-dur-rule: 26000ms;

  --ps-ease-draw:  cubic-bezier(.65, .05, .36, 1);
  --ps-ease-sweep: cubic-bezier(.22, 1, .36, 1);
  --ps-ease-set:   cubic-bezier(.22, .61, .36, 1);
  --ps-ease-flip:  cubic-bezier(.34, .04, .26, 1);

  --ps-shadow-sheet: 2px 2px 0 var(--ps-vellum-deep), 4px 4px 0 var(--ps-rule);
  --ps-shadow-cut:   inset 0 -2px 0 var(--ps-graphite);
  --ps-shadow-stamp: 0 0 0 2px var(--ps-vellum), 0 0 0 3px currentColor;

  --ps-radius-zero: 0;
  --ps-radius-pin:  50%;
}

@media (prefers-color-scheme: dark) {
  [data-design="a"] {
    --ps-vellum:        #0F1115;
    --ps-vellum-deep:   #16191E;
    --ps-graphite:      #E9E3D2;
    --ps-graphite-soft: #B7B1A0;
    --ps-muted:         #84847A;
    --ps-rule:          #979080;
    --ps-blueprint:     #5AA4D4;
    --ps-redline:       #D85B40;
    --ps-phase-green:   #8AA266;
    --ps-phase-yellow:  #D9B25A;
    --ps-critical:      #C9382B;
  }
}

/* ─── Layout scope guards ─────────────────────────────────── */
[data-design="a"].dq-design,
[data-design="a"] .dq-design {
  max-width: 100%;
  overflow-x: clip;
}
[data-design="a"].dq-design * {
  min-width: 0;
}
[data-design="a"].dq-design img,
[data-design="a"].dq-design svg:not([data-keep-size]) {
  max-width: 100%;
  height: auto;
}

/* Root reset for the article */
[data-design="a"].dq-design {
  background: var(--ps-vellum);
  color: var(--ps-graphite);
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ─── E1: HEADER — The Drafting Bar ──────────────────────── */
[data-design="a"] .ps-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--ps-vellum);
  border-bottom: 1px solid var(--ps-rule);
  isolation: isolate;
}
[data-design="a"] .ps-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ps-space-cell);
  padding: var(--ps-space-cell) var(--ps-space-margin);
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
}
[data-design="a"] .ps-logo {
  text-decoration: none;
  color: var(--ps-graphite);
  display: flex;
  align-items: baseline;
  gap: var(--ps-space-cell);
  flex-wrap: wrap;
  flex: 1 1 auto;
}
[data-design="a"] .ps-logo__mark {
  font-family: var(--ps-font-callout);
  font-size: clamp(16px, 2vw, 22px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-graphite);
}
[data-design="a"] .ps-logo__desc {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
[data-design="a"] .ps-header__sheet {
  margin: 0;
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-muted);
  letter-spacing: 0.06em;
  flex-shrink: 0;
}
[data-design="a"] .ps-header__sheet-no { color: var(--ps-graphite); }

/* Hamburger — keynote-tag: 1px graphite border, 3 blueprint hairlines */
[data-design="a"] .ps-hamburger {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: transparent;
  border: 1px solid var(--ps-graphite);
  border-radius: 0;
  color: var(--ps-blueprint);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 120ms var(--ps-ease-set), color 120ms var(--ps-ease-set),
              border-color 120ms var(--ps-ease-set);
}
[data-design="a"] .ps-hamburger:focus-visible {
  outline: 2px solid var(--ps-blueprint);
  outline-offset: 4px;
  background: var(--ps-graphite);
  color: var(--ps-vellum);
  border-color: var(--ps-graphite);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-hamburger:hover {
    background: var(--ps-graphite);
    color: var(--ps-vellum);
    border-color: var(--ps-graphite);
  }
}
[data-design="a"] .ps-hamburger__line {
  display: block;
  width: 100%;
  height: 1px;
  background: currentColor;
  border-radius: 0;
}

/* Dimension string ambient (26s cycle, H-3 compliant) */
[data-design="a"] .ps-header__dim {
  position: relative;
  height: 18px;
  border-top: 1px solid var(--ps-rule);
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
  overflow: hidden;
}
[data-design="a"] .ps-header__dim-tick {
  position: absolute;
  top: 0;
  width: 1px;
  height: 8px;
  background: var(--ps-blueprint);
  opacity: 0;
  animation: ps-dim-tick var(--ps-dur-rule) var(--ps-ease-draw) infinite;
}
[data-design="a"] .ps-header__dim-tick--l { left: 24px; }
[data-design="a"] .ps-header__dim-tick--r { right: 24px; }
[data-design="a"] .ps-header__dim-line {
  position: absolute;
  top: 7px;
  left: 24px;
  right: 24px;
  height: 1px;
  background: var(--ps-blueprint);
  transform-origin: left center;
  transform: scaleX(0);
  animation: ps-dim-line var(--ps-dur-rule) var(--ps-ease-draw) infinite;
}
[data-design="a"] .ps-header__dim-value {
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--ps-vellum);
  padding: 0 8px;
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-blueprint);
  letter-spacing: 0.06em;
  opacity: 0;
  animation: ps-dim-value var(--ps-dur-rule) var(--ps-ease-draw) infinite;
  white-space: nowrap;
}

@keyframes ps-dim-tick {
  0%, 4%   { opacity: 0; }
  8%, 50%  { opacity: 1; }
  54%, 96% { opacity: 1; }
  100%     { opacity: 0; }
}
@keyframes ps-dim-line {
  0%, 8%    { transform: scaleX(0); }
  40%, 60%  { transform: scaleX(1); }
  92%, 100% { transform: scaleX(0); }
}
@keyframes ps-dim-value {
  0%, 30%  { opacity: 0; }
  40%, 60% { opacity: 1; }
  70%, 100% { opacity: 0; }
}

/* Off-canvas nav panel */
[data-design="a"] .ps-nav-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(420px, calc(100vw - 32px));
  background: var(--ps-vellum);
  border-left: 2px solid var(--ps-graphite);
  padding: var(--ps-space-margin);
  z-index: 200;
  transform: translateX(100%);
  transition: transform var(--ps-dur-flip) cubic-bezier(0.4, 0, 0.2, 1),
              visibility var(--ps-dur-flip) cubic-bezier(0.4, 0, 0.2, 1);
  visibility: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: var(--ps-space-margin);
}
[data-design="a"] .ps-nav-panel[hidden] {
  display: none;
}
[data-design="a"] .ps-nav-panel.is-open {
  transform: translateX(0);
  visibility: visible;
}
[data-design="a"] .ps-nav-panel__close {
  display: block;
  margin: 0 0 var(--ps-space-margin) auto;
  width: 44px;
  height: 44px;
  background: transparent;
  border: 1px solid var(--ps-graphite);
  border-radius: 0;
  color: var(--ps-graphite);
  font-family: var(--ps-font-mono);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: background 120ms var(--ps-ease-set), color 120ms var(--ps-ease-set);
}
[data-design="a"] .ps-nav-panel__close:focus-visible {
  outline: 2px solid var(--ps-blueprint);
  outline-offset: 4px;
  background: var(--ps-graphite);
  color: var(--ps-vellum);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-nav-panel__close:hover {
    background: var(--ps-graphite);
    color: var(--ps-vellum);
  }
}
[data-design="a"] .ps-nav-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
}
[data-design="a"] .ps-nav-panel__list li { border-bottom: 1px solid var(--ps-rule); }
[data-design="a"] .ps-nav-panel__list li:first-child { border-top: 1px solid var(--ps-rule); }
[data-design="a"] .ps-nav-panel__list a {
  position: relative;
  display: block;
  font-family: var(--ps-font-callout);
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-graphite);
  text-decoration: none;
  padding: var(--ps-space-cell) 0 var(--ps-space-cell) 28px;
  transition: color 220ms var(--ps-ease-set);
}
[data-design="a"] .ps-nav-panel__list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 18px;
  height: 1px;
  background: var(--ps-blueprint);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 320ms var(--ps-ease-draw);
}
[data-design="a"] .ps-nav-panel__list a:focus-visible {
  color: var(--ps-blueprint);
  outline: 2px solid var(--ps-blueprint);
  outline-offset: 2px;
  transform: translateX(8px);
}
[data-design="a"] .ps-nav-panel__list a:focus-visible::before { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-nav-panel__list a:hover {
    color: var(--ps-blueprint);
    transform: translateX(8px);
  }
  [data-design="a"] .ps-nav-panel__list a:hover::before { transform: scaleX(1); }
}
[data-design="a"] .ps-nav-panel__ctas {
  display: flex;
  flex-direction: column;
  gap: var(--ps-space-cell);
  padding-top: var(--ps-space-margin);
  border-top: 1px solid var(--ps-rule);
}
[data-design="a"] .ps-nav-panel__tel {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-body);
  color: var(--ps-graphite);
  text-decoration: none;
  letter-spacing: 0.04em;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-nav-panel__tel:hover { color: var(--ps-blueprint); }
}

/* ─── E2 + E3: HERO ───────────────────────────────────────── */
[data-design="a"] .ps-hero {
  position: relative;
  min-height: 72vh;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background: var(--ps-graphite);
  border-bottom: 2px solid var(--ps-rule);
}
@media (min-width: 768px) {
  [data-design="a"] .ps-hero {
    grid-template-columns: 1fr auto;
    min-height: 80vh;
  }
}

/* E3 Backdrop — wall-rise SVG + breath overlay */
[data-design="a"] .ps-hero__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
[data-design="a"] .ps-hero__wall-rise {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.18;
}

/* Wall course rise animation — from bottom up, sustained loop */
[data-design="a"] .ps-wall-course {
  fill: none;
  stroke: var(--ps-blueprint);
  stroke-width: 1;
  /* Courses lay in on scroll: clip via translate from below */
  transform: translateY(60px);
  opacity: 0;
  animation: ps-wall-course-rise 8s var(--ps-ease-sweep) forwards,
             ps-wall-breathe 6s var(--ps-ease-set) 4s infinite;
}
@keyframes ps-wall-course-rise {
  0%   { transform: translateY(60px); opacity: 0; }
  60%  { opacity: 1; }
  100% { transform: translateY(0); opacity: 1; }
}
@keyframes ps-wall-breathe {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.7; }
}

/* Mortar joint lines */
[data-design="a"] .ps-wall-joint {
  stroke: var(--ps-blueprint);
  stroke-width: 0.5;
  opacity: 0;
  animation: ps-joint-appear 0.4s var(--ps-ease-draw) forwards,
             ps-wall-breathe 6s var(--ps-ease-set) 4s infinite;
}
@keyframes ps-joint-appear {
  from { opacity: 0; }
  to   { opacity: 0.6; }
}

/* Plumb line — drops in after wall settles */
[data-design="a"] .ps-plumb-line {
  stroke: var(--ps-blueprint);
  stroke-width: 1;
  stroke-dasharray: 500;
  stroke-dashoffset: 500;
  animation: ps-plumb-drop 1.2s var(--ps-ease-draw) 5s forwards,
             ps-plumb-sway 8s var(--ps-ease-set) 6.2s infinite;
}
@keyframes ps-plumb-drop {
  from { stroke-dashoffset: 500; opacity: 0; }
  to   { stroke-dashoffset: 0;   opacity: 0.5; }
}
@keyframes ps-plumb-sway {
  0%, 100% { transform: translateX(0); }
  30%      { transform: translateX(2px); }
  70%      { transform: translateX(-2px); }
}
[data-design="a"] .ps-plumb-bob {
  fill: var(--ps-blueprint);
  opacity: 0;
  animation: ps-bob-appear 0.6s var(--ps-ease-set) 6s forwards,
             ps-plumb-sway 8s var(--ps-ease-set) 6.6s infinite;
}
@keyframes ps-bob-appear {
  from { opacity: 0; transform: scale(0.5); }
  to   { opacity: 0.6; transform: scale(1); }
}

/* Continuous breath overlay — keeps hero alive (ambient, never imperceptible) */
[data-design="a"] .ps-hero__breath {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 65% 50%, rgba(26, 92, 138, 0.12), transparent 70%);
  animation: ps-hero-breath 7s var(--ps-ease-set) infinite;
}
@keyframes ps-hero-breath {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50%       { opacity: 1;   transform: scale(1.04); }
}

/* Hero text layer — MUST be top-most (z-index above backdrop) */
[data-design="a"] .ps-hero__content {
  position: relative;
  z-index: 10;
  padding: clamp(48px, 8vw, 96px) var(--ps-space-margin) clamp(48px, 6vw, 80px);
  max-width: 720px;
  box-sizing: border-box;
}
[data-design="a"] .ps-hero__titleblock {
  display: flex;
  align-items: center;
  gap: var(--ps-space-cell);
  margin-bottom: var(--ps-space-margin);
}
[data-design="a"] .ps-hero__sheet-no {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-blueprint);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
[data-design="a"] .ps-hero__phase {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-phase-green);
  border: 1px solid var(--ps-phase-green);
  padding: 2px 8px;
}
[data-design="a"] .ps-hero__headline {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-cover);
  font-weight: 700;
  line-height: 1.08;
  margin: 0 0 var(--ps-space-margin);
  color: var(--ps-vellum);
  /* opacity:1 at first paint — NEVER opacity:0 */
  opacity: 1;
  /* Scroll-parallax driven via JS */
  will-change: transform;
}
[data-design="a"] .ps-hero__subtitle {
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-deck);
  line-height: 1.5;
  margin: 0 0 var(--ps-space-cell);
  color: rgba(238, 233, 220, 0.85);
  max-width: 56ch;
  opacity: 1;
}
[data-design="a"] .ps-hero__proof {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-cap);
  letter-spacing: 0.06em;
  color: rgba(238, 233, 220, 0.65);
  margin: 0 0 var(--ps-space-gutter);
  opacity: 1;
}
[data-design="a"] .ps-hero__cta-wrap {
  display: flex;
  align-items: center;
  gap: var(--ps-space-cell);
  flex-wrap: wrap;
}

/* Title block aside (desktop right column) */
[data-design="a"] .ps-hero__titleblock-aside {
  display: none;
  position: relative;
  z-index: 10;
  padding: var(--ps-space-margin);
  border-left: 1px solid rgba(238, 233, 220, 0.2);
  align-self: stretch;
  align-items: flex-end;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  [data-design="a"] .ps-hero__titleblock-aside {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 180px;
    max-width: 220px;
  }
}
[data-design="a"] .ps-hero__titleblock-meta {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
}
[data-design="a"] .ps-hero__titleblock-meta dt {
  color: rgba(238, 233, 220, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
[data-design="a"] .ps-hero__titleblock-meta dd {
  margin: 0;
  color: rgba(238, 233, 220, 0.8);
}

/* ─── E2: CTA — The Dimension Stamp ─────────────────────── */
[data-design="a"] .ps-cta {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 14px 28px;
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-cap);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-vellum);
  background: var(--ps-graphite);
  border: 1px solid var(--ps-graphite);
  border-radius: 0;
  text-decoration: none;
  cursor: pointer;
  min-height: 44px;
  min-width: 44px;
  box-sizing: border-box;
  transition: transform 120ms var(--ps-ease-set), background 120ms var(--ps-ease-set);
}
[data-design="a"] .ps-cta--drawer {
  align-self: flex-start;
}
[data-design="a"] .ps-cta__arrow {
  transition: transform 200ms var(--ps-ease-set);
}
[data-design="a"] .ps-cta:focus-visible .ps-cta__arrow { transform: translateX(4px); }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-cta:hover .ps-cta__arrow { transform: translateX(4px); }
}
[data-design="a"] .ps-cta__dim {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -14px;
  height: 12px;
  pointer-events: none;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 4px;
  opacity: 0;
  transition: opacity 220ms var(--ps-ease-set);
}
[data-design="a"] .ps-cta:focus-visible .ps-cta__dim { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-cta:hover .ps-cta__dim { opacity: 1; }
}
[data-design="a"] .ps-cta__dim-tick {
  width: 1px;
  height: 8px;
  background: var(--ps-blueprint);
  justify-self: center;
}
[data-design="a"] .ps-cta__dim-line {
  height: 1px;
  background: var(--ps-blueprint);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 320ms var(--ps-ease-draw);
}
[data-design="a"] .ps-cta:focus-visible .ps-cta__dim-line { transform: scaleX(1); transition-delay: 80ms; }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-cta:hover .ps-cta__dim-line { transform: scaleX(1); transition-delay: 80ms; }
}
[data-design="a"] .ps-cta__dim-value {
  grid-column: 2;
  justify-self: center;
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-blueprint);
  background: var(--ps-vellum);
  padding: 0 6px;
  opacity: 0;
  transition: opacity 200ms var(--ps-ease-set) 320ms;
  pointer-events: none;
}
[data-design="a"] .ps-cta:focus-visible .ps-cta__dim-value { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-cta:hover .ps-cta__dim-value { opacity: 1; }
}
[data-design="a"] .ps-cta:active {
  transform: translate(1px, 1px);
  box-shadow: var(--ps-shadow-cut);
}
[data-design="a"] .ps-cta:focus-visible {
  outline: 2px solid var(--ps-blueprint);
  outline-offset: 4px;
}

/* ─── E6: POINTER — Plumb-line wayfinding ────────────────── */
[data-design="a"] .ps-pointer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--ps-space-margin) 0 var(--ps-space-gutter);
  background: var(--ps-vellum);
  /* Ensure visible — opacity:1, min height > 8px */
  opacity: 1;
  min-height: 80px;
}
[data-design="a"] .ps-pointer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ps-space-em);
  animation: ps-pointer-enter 0.8s var(--ps-ease-sweep) 0.2s both;
}
@keyframes ps-pointer-enter {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
[data-design="a"] .ps-pointer__svg {
  width: 120px;
  height: 64px;
  overflow: visible;
}
/* Plumb line draws in */
[data-design="a"] .ps-pointer__plumb {
  stroke: var(--ps-blueprint);
  stroke-width: 1.5;
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: ps-plumb-draw 1.2s var(--ps-ease-draw) 0.6s forwards,
             ps-pointer-pulse 5s var(--ps-ease-set) 2s infinite;
}
@keyframes ps-plumb-draw {
  from { stroke-dashoffset: 60; }
  to   { stroke-dashoffset: 0; }
}
@keyframes ps-pointer-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.5; }
}
/* Bob settles */
[data-design="a"] .ps-pointer__bob {
  fill: var(--ps-blueprint);
  transform-origin: center;
  opacity: 0;
  animation: ps-bob-settle 0.5s var(--ps-ease-set) 1.8s forwards,
             ps-plumb-sway 5s var(--ps-ease-set) 2.3s infinite;
}
@keyframes ps-bob-settle {
  from { opacity: 0; transform: scale(0.6); }
  to   { opacity: 1; transform: scale(1); }
}
/* Dimension ticks flanking the bob */
[data-design="a"] .ps-pointer__tick,
[data-design="a"] .ps-pointer__tick-l,
[data-design="a"] .ps-pointer__tick-r {
  stroke: var(--ps-blueprint);
  stroke-width: 1;
  opacity: 0;
  animation: ps-tick-appear 0.4s var(--ps-ease-draw) 2s forwards;
}
@keyframes ps-tick-appear {
  from { opacity: 0; }
  to   { opacity: 0.7; }
}
[data-design="a"] .ps-pointer__label {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ps-muted);
  opacity: 1;
}

/* ─── E5: FUNNEL ─────────────────────────────────────────── */
[data-design="a"] .ps-funnel {
  background: var(--ps-vellum);
  border-top: 1px solid var(--ps-rule);
}
[data-design="a"] .ps-funnel__inner {
  max-width: 880px;
  margin: 0 auto;
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  box-sizing: border-box;
}
[data-design="a"] .ps-funnel__kicker {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-blueprint);
  margin: 0 0 var(--ps-space-cell);
}
[data-design="a"] .ps-funnel__title {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-sheet);
  font-weight: 700;
  margin: 0 0 var(--ps-space-cell);
  color: var(--ps-graphite);
  line-height: 1.05;
}
[data-design="a"] .ps-funnel__deck {
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  line-height: 1.6;
  color: var(--ps-graphite-soft);
  margin: 0 0 var(--ps-space-margin);
  max-width: 60ch;
}
[data-design="a"] .ps-funnel__progress {
  display: flex;
  gap: var(--ps-space-em);
  list-style: none;
  padding: 0;
  margin: 0 0 var(--ps-space-margin);
  flex-wrap: wrap;
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
[data-design="a"] .ps-funnel__progress li {
  padding: 4px 10px;
  border: 1px solid var(--ps-rule);
  color: var(--ps-muted);
}
[data-design="a"] .ps-funnel__progress li[aria-current="true"] {
  border-color: var(--ps-graphite);
  color: var(--ps-graphite);
}
[data-design="a"] .ps-funnel__progress li.ps-funnel__progress-item--issued {
  border-color: var(--ps-phase-green);
  color: var(--ps-phase-green);
}
[data-design="a"] .ps-funnel__form {
  position: relative;
  perspective: 1200px;
}
[data-design="a"] .ps-funnel__step {
  background: var(--ps-vellum-deep);
  border: 2px solid var(--ps-graphite);
  padding: var(--ps-space-margin);
  margin: 0 0 var(--ps-space-cell);
  transform-origin: left center;
  transition: transform var(--ps-dur-flip) var(--ps-ease-flip),
              opacity var(--ps-dur-flip) var(--ps-ease-flip);
}
[data-design="a"] .ps-funnel__step[hidden] {
  display: block;
  transform: rotateY(-14deg);
  opacity: 0;
  visibility: hidden;
  position: absolute;
  pointer-events: none;
  inset: 0;
}
[data-design="a"] .ps-funnel__step.ps-funnel__step--issued {
  transform: rotateY(14deg);
  opacity: 0;
  pointer-events: none;
}
[data-design="a"] .ps-funnel__titleblock {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--ps-space-cell);
  align-items: baseline;
  padding-bottom: var(--ps-space-cell);
  border-bottom: 1px solid var(--ps-rule);
  margin-bottom: var(--ps-space-margin);
}
[data-design="a"] .ps-funnel__step-no {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-cap);
  letter-spacing: 0.08em;
  color: var(--ps-blueprint);
}
[data-design="a"] .ps-funnel__legend {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-head);
  font-weight: 700;
  padding: 0;
  color: var(--ps-graphite);
  line-height: 1.2;
}
[data-design="a"] .ps-funnel__phase {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-phase-yellow);
  border: 1px solid var(--ps-phase-yellow);
  padding: 2px 6px;
}
[data-design="a"] .ps-funnel__choices {
  display: grid;
  gap: var(--ps-space-em);
  margin: 0 0 var(--ps-space-margin);
}
[data-design="a"] .ps-funnel__choice {
  display: flex;
  align-items: baseline;
  gap: var(--ps-space-cell);
  padding: var(--ps-space-cell);
  background: var(--ps-vellum);
  border: 1px solid var(--ps-rule);
  cursor: pointer;
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  color: var(--ps-graphite);
  transition: border-color 220ms var(--ps-ease-set);
  min-height: 44px;
}
[data-design="a"] .ps-funnel__choice:has(input:checked) {
  border-color: var(--ps-blueprint);
  background: rgba(26, 92, 138, 0.06);
}
[data-design="a"] .ps-funnel__choice input {
  accent-color: var(--ps-blueprint);
  min-width: 16px;
  min-height: 16px;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-funnel__choice:hover {
    border-color: var(--ps-blueprint);
  }
}
[data-design="a"] .ps-funnel__fields {
  display: grid;
  gap: var(--ps-space-margin);
  margin-bottom: var(--ps-space-margin);
}
[data-design="a"] .ps-funnel__field {
  display: block;
}
[data-design="a"] .ps-funnel__field-label {
  display: block;
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-graphite);
  margin-bottom: var(--ps-space-em);
}
[data-design="a"] .ps-funnel__field-input {
  width: 100%;
  padding: 10px 12px;
  background: var(--ps-vellum);
  border: 1px solid var(--ps-rule);
  border-radius: 0;
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-body);
  color: var(--ps-graphite);
  box-sizing: border-box;
  transition: border-color 120ms var(--ps-ease-set);
  min-height: 44px;
}
[data-design="a"] .ps-funnel__field-input:focus {
  outline: none;
  border-color: var(--ps-blueprint);
  border-width: 2px;
  padding: 9px 11px;
}
[data-design="a"] textarea.ps-funnel__field-input {
  min-height: 96px;
  resize: vertical;
}
[data-design="a"] .ps-funnel__keynote {
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-cap);
  font-style: italic;
  color: var(--ps-graphite-soft);
  border-left: 2px solid var(--ps-blueprint);
  padding-left: var(--ps-space-cell);
  margin: var(--ps-space-cell) 0;
  line-height: 1.6;
}
[data-design="a"] .ps-funnel__next,
[data-design="a"] .ps-funnel__submit {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-cap);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-vellum);
  background: var(--ps-graphite);
  border: none;
  border-radius: 0;
  padding: 12px 24px;
  cursor: pointer;
  min-height: 44px;
  min-width: 44px;
  transition: transform 120ms var(--ps-ease-set);
}
[data-design="a"] .ps-funnel__next:active,
[data-design="a"] .ps-funnel__submit:active {
  transform: translate(1px, 1px);
  box-shadow: var(--ps-shadow-cut);
}
[data-design="a"] .ps-funnel__next:focus-visible,
[data-design="a"] .ps-funnel__submit:focus-visible {
  outline: 2px solid var(--ps-blueprint);
  outline-offset: 4px;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-funnel__next:hover,
  [data-design="a"] .ps-funnel__submit:hover {
    background: var(--ps-graphite-soft);
  }
}
[data-design="a"] .ps-funnel__confirm {
  background: var(--ps-vellum);
  border: 2px solid var(--ps-phase-green);
  padding: var(--ps-space-margin);
  margin-top: var(--ps-space-cell);
}
[data-design="a"] .ps-funnel__confirm[hidden] { display: none; }
[data-design="a"] .ps-funnel__stamp {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-phase-green);
  border: 1px solid var(--ps-phase-green);
  padding: 4px 10px;
  display: inline-block;
  margin: 0 0 var(--ps-space-cell);
}
[data-design="a"] .ps-funnel__confirm-title {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-head);
  font-weight: 700;
  color: var(--ps-graphite);
  margin: 0 0 var(--ps-space-cell);
}
[data-design="a"] .ps-funnel__confirm-body {
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  line-height: 1.6;
  color: var(--ps-graphite-soft);
  margin: 0;
}
[data-design="a"] .ps-funnel__trust {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ps-space-cell) var(--ps-space-gutter);
  margin-top: var(--ps-space-gutter);
  padding-top: var(--ps-space-margin);
  border-top: 1px solid var(--ps-rule);
}
[data-design="a"] .ps-funnel__trust-item {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0;
}
[data-design="a"] .ps-funnel__trust-item a {
  color: var(--ps-graphite);
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-funnel__trust-item a:hover { color: var(--ps-blueprint); }
}

/* ─── E3 / Sheet Set — Portfolio ─────────────────────────── */
[data-design="a"] .ps-sheets {
  background: var(--ps-vellum);
  border-top: 2px solid var(--ps-graphite);
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  box-sizing: border-box;
}
/* TRIAD-2 / scroll-parallax: full-bleed, content windowed */
[data-design="a"] .ps-sheets {
  position: relative;
}
[data-design="a"] .ps-sheets__head {
  max-width: 1280px;
  margin: 0 auto var(--ps-space-block);
  box-sizing: border-box;
}
[data-design="a"] .ps-sheets__kicker {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-muted);
  margin: 0 0 var(--ps-space-cell);
}
[data-design="a"] .ps-sheets__title {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-sheet);
  font-weight: 700;
  line-height: 1.05;
  margin: 0 0 var(--ps-space-cell);
  color: var(--ps-graphite);
  max-width: 36ch;
}
[data-design="a"] .ps-sheets__sub {
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  line-height: 1.6;
  color: var(--ps-graphite-soft);
  margin: 0;
  max-width: 60ch;
}
[data-design="a"] .ps-sheets__list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 1280px;
  display: grid;
  gap: var(--ps-space-gutter);
  box-sizing: border-box;
}
@media (min-width: 768px) {
  [data-design="a"] .ps-sheets__list {
    grid-template-columns: 1fr 1fr;
  }
}
[data-design="a"] .ps-sheet {
  background: var(--ps-vellum-deep);
  border: 2px solid var(--ps-graphite);
  padding: var(--ps-space-margin);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ps-space-cell);
  /* Scroll-reveal: transform+opacity only (TRIAD-1, motion gate clean) */
  opacity: 0;
  transform: translateY(16px);
  transition: opacity var(--ps-dur-set) var(--ps-ease-set),
              transform var(--ps-dur-set) var(--ps-ease-set);
}
[data-design="a"] .ps-sheet--revealed {
  opacity: 1;
  transform: translateY(0);
}
[data-design="a"] .ps-sheet__titleblock {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "no name" "meta meta" "phase phase";
  gap: var(--ps-space-em);
  align-items: baseline;
  padding-bottom: var(--ps-space-cell);
  border-bottom: 1px solid var(--ps-rule);
}
[data-design="a"] .ps-sheet__no {
  grid-area: no;
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-cap);
  letter-spacing: 0.08em;
  color: var(--ps-blueprint);
}
[data-design="a"] .ps-sheet__name {
  grid-area: name;
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-head);
  font-weight: 700;
  margin: 0;
  color: var(--ps-graphite);
}
[data-design="a"] .ps-sheet__meta {
  grid-area: meta;
  display: grid;
  grid-template-columns: auto auto auto auto;
  gap: 4px 12px;
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  margin: 0;
}
[data-design="a"] .ps-sheet__meta dt {
  color: var(--ps-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
[data-design="a"] .ps-sheet__meta dd { margin: 0; color: var(--ps-graphite); }
[data-design="a"] .ps-sheet__phase {
  grid-area: phase;
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-phase-yellow);
  border: 1px solid var(--ps-phase-yellow);
  padding: 4px 8px;
  justify-self: start;
  margin-top: var(--ps-space-em);
}
[data-design="a"] .ps-sheet--revealed .ps-sheet__phase {
  animation: ps-sheet-phase 13s var(--ps-ease-set) infinite;
}
@keyframes ps-sheet-phase {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.5; }
}
[data-design="a"] .ps-sheet__iso {
  margin: 0;
}
[data-design="a"] .ps-sheet__iso-svg {
  width: 100%;
  height: auto;
  max-width: 320px;
  display: block;
}
[data-design="a"] .ps-sheet__iso-svg path,
[data-design="a"] .ps-sheet__iso-svg line,
[data-design="a"] .ps-sheet__iso-svg circle,
[data-design="a"] .ps-sheet__iso-svg rect {
  fill: none;
  stroke: var(--ps-blueprint);
  stroke-width: 1.5;
}
[data-design="a"] .ps-sheet__iso-svg path {
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
  transition: stroke-dashoffset var(--ps-dur-set) var(--ps-ease-draw);
}
[data-design="a"] .ps-sheet__iso-svg line,
[data-design="a"] .ps-sheet__iso-svg circle {
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  transition: stroke-dashoffset var(--ps-dur-set) var(--ps-ease-draw) 200ms;
}
[data-design="a"] .ps-sheet__iso-svg rect {
  stroke-dasharray: 2400;
  stroke-dashoffset: 2400;
  transition: stroke-dashoffset var(--ps-dur-set) var(--ps-ease-draw);
}
[data-design="a"] .ps-sheet--revealed .ps-sheet__iso-svg path,
[data-design="a"] .ps-sheet--revealed .ps-sheet__iso-svg line,
[data-design="a"] .ps-sheet--revealed .ps-sheet__iso-svg circle,
[data-design="a"] .ps-sheet--revealed .ps-sheet__iso-svg rect {
  stroke-dashoffset: 0;
}
[data-design="a"] .ps-sheet__notes {
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  line-height: 1.6;
  color: var(--ps-graphite-soft);
  margin: 0;
  grid-column: 1 / -1;
}
[data-design="a"] .ps-sheets__cta-wrap {
  max-width: 1280px;
  margin: var(--ps-space-block) auto 0;
  display: flex;
  justify-content: flex-start;
  padding-top: var(--ps-space-margin);
  border-top: 1px solid var(--ps-rule);
  box-sizing: border-box;
}

/* ─── E4: PROCESS — Section Cut ──────────────────────────── */
[data-design="a"] .ps-cut {
  background: var(--ps-vellum-deep);
  border-top: 2px solid var(--ps-graphite);
}
[data-design="a"] .ps-cut__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  box-sizing: border-box;
}
[data-design="a"] .ps-cut__head {
  margin-bottom: var(--ps-space-block);
}
[data-design="a"] .ps-cut__kicker {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-muted);
  margin: 0 0 var(--ps-space-cell);
}
[data-design="a"] .ps-cut__title {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-sheet);
  font-weight: 700;
  margin: 0;
  color: var(--ps-graphite);
  line-height: 1.05;
}
[data-design="a"] .ps-cut__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--ps-space-gutter);
}
@media (min-width: 768px) {
  [data-design="a"] .ps-cut__list {
    grid-template-columns: 1fr 1fr;
  }
}
[data-design="a"] .ps-cut__item {
  display: flex;
  flex-direction: column;
  gap: var(--ps-space-cell);
}
[data-design="a"] .ps-cut__figure {
  margin: 0;
  position: relative;
}
/* Image block — typography+color in place of absent photos */
[data-design="a"] .ps-cut__image-block {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--ps-graphite);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  /* Section-cut desaturate effect */
  filter: saturate(0.4);
  transition: filter var(--ps-dur-sweep) var(--ps-ease-sweep) 200ms;
}
[data-design="a"] .ps-cut__item--cut .ps-cut__image-block {
  filter: saturate(1);
}
[data-design="a"] .ps-cut__phase-label {
  font-family: var(--ps-font-callout);
  font-size: clamp(28px, 5vw, 48px);
  letter-spacing: 0.12em;
  color: rgba(238, 233, 220, 0.15);
  text-transform: uppercase;
  user-select: none;
}
/* Section cut line sweeps across */
[data-design="a"] .ps-cut__line {
  position: absolute;
  left: 0;
  top: 50%;
  height: 2px;
  background: var(--ps-graphite);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform var(--ps-dur-sweep) var(--ps-ease-sweep);
  width: 100%;
}
[data-design="a"] .ps-cut__item--cut .ps-cut__line {
  transform: scaleX(1);
}
/* Blueprint flag appears at line end */
[data-design="a"] .ps-cut__flag {
  position: absolute;
  right: 8px;
  top: calc(50% - 14px);
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-vellum);
  background: var(--ps-blueprint);
  padding: 2px 8px;
  opacity: 0;
  transition: opacity 200ms var(--ps-ease-set) var(--ps-dur-sweep);
}
[data-design="a"] .ps-cut__item--cut .ps-cut__flag { opacity: 1; }
[data-design="a"] .ps-cut__caption {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--ps-space-cell);
  margin-top: var(--ps-space-cell);
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.06em;
  align-items: baseline;
}
[data-design="a"] .ps-cut__num {
  color: var(--ps-blueprint);
  text-transform: uppercase;
  font-weight: 700;
}
[data-design="a"] .ps-cut__name {
  color: var(--ps-graphite);
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-body);
  font-weight: 600;
}
[data-design="a"] .ps-cut__meta {
  color: var(--ps-muted);
  text-align: right;
  text-transform: uppercase;
}
[data-design="a"] .ps-cut__body {
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  line-height: 1.6;
  color: var(--ps-graphite-soft);
  margin: 0;
}

/* ─── Services ───────────────────────────────────────────── */
[data-design="a"] .ps-services {
  background: var(--ps-vellum);
  border-top: 2px solid var(--ps-graphite);
}
[data-design="a"] .ps-services__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  box-sizing: border-box;
}
[data-design="a"] .ps-services__head {
  margin-bottom: var(--ps-space-block);
}
[data-design="a"] .ps-services__kicker {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-muted);
  margin: 0 0 var(--ps-space-cell);
}
[data-design="a"] .ps-services__title {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-sheet);
  font-weight: 700;
  margin: 0;
  color: var(--ps-graphite);
  line-height: 1.05;
}
[data-design="a"] .ps-services__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
[data-design="a"] .ps-services__row {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: var(--ps-space-cell);
  align-items: center;
  padding: var(--ps-space-cell) 0;
  border-bottom: 1px solid var(--ps-rule);
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  color: var(--ps-graphite);
  position: relative;
  transition: transform 200ms var(--ps-ease-set);
}
[data-design="a"] .ps-services__row:first-child { border-top: 1px solid var(--ps-rule); }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-services__row:hover {
    transform: translateX(4px);
    color: var(--ps-blueprint);
  }
}
[data-design="a"] .ps-services__code {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-blueprint);
  letter-spacing: 0.06em;
}
[data-design="a"] .ps-services__tag {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-muted);
  border: 1px solid var(--ps-rule);
  padding: 2px 8px;
}

/* ─── About / Contact ────────────────────────────────────── */
[data-design="a"] .ps-about {
  background: var(--ps-vellum-deep);
  border-top: 2px solid var(--ps-graphite);
}
[data-design="a"] .ps-about__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  box-sizing: border-box;
}
[data-design="a"] .ps-about__head {
  margin-bottom: var(--ps-space-block);
}
[data-design="a"] .ps-about__kicker {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-muted);
  margin: 0 0 var(--ps-space-cell);
}
[data-design="a"] .ps-about__title {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-sheet);
  font-weight: 700;
  margin: 0;
  color: var(--ps-graphite);
  line-height: 1.05;
}
[data-design="a"] .ps-about__body {
  display: grid;
  gap: var(--ps-space-gutter);
}
@media (min-width: 768px) {
  [data-design="a"] .ps-about__body {
    grid-template-columns: 2fr 1fr;
  }
}
[data-design="a"] .ps-about__bio {
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  line-height: 1.7;
  color: var(--ps-graphite-soft);
  margin: 0;
  max-width: 65ch;
}
[data-design="a"] .ps-about__meta {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 16px;
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-cap);
  align-content: start;
}
[data-design="a"] .ps-about__meta dt {
  color: var(--ps-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: var(--ps-text-dim);
}
[data-design="a"] .ps-about__meta dd {
  margin: 0;
  color: var(--ps-graphite);
}
[data-design="a"] .ps-about__meta a {
  color: var(--ps-graphite);
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-about__meta a:hover { color: var(--ps-blueprint); }
}

/* ─── Footer ─────────────────────────────────────────────── */
[data-design="a"] .ps-footer {
  background: var(--ps-graphite);
  border-top: 2px solid var(--ps-rule);
  color: var(--ps-vellum);
}
[data-design="a"] .ps-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  box-sizing: border-box;
  display: grid;
  gap: var(--ps-space-gutter);
}
@media (min-width: 768px) {
  [data-design="a"] .ps-footer__inner {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
  }
}
[data-design="a"] .ps-footer__titleblock {
  display: flex;
  flex-direction: column;
  gap: var(--ps-space-em);
}
[data-design="a"] .ps-footer__firm {
  font-family: var(--ps-font-callout);
  font-size: clamp(18px, 2.5vw, 24px);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0;
  color: var(--ps-vellum);
}
[data-design="a"] .ps-footer__meta {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: rgba(238, 233, 220, 0.55);
  letter-spacing: 0.06em;
  margin: 0;
}
[data-design="a"] .ps-footer__tel {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-body);
  color: var(--ps-vellum);
  text-decoration: none;
  letter-spacing: 0.04em;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-footer__tel:hover { color: var(--ps-blueprint); }
}
[data-design="a"] .ps-footer__cta {
  display: flex;
  align-items: flex-start;
}
[data-design="a"] .ps-footer__cta .ps-cta {
  border-color: rgba(238, 233, 220, 0.3);
}
[data-design="a"] .ps-footer__copy {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: rgba(238, 233, 220, 0.35);
  margin: 0;
  letter-spacing: 0.04em;
  align-self: end;
}
[data-design="a"] .ps-footer__sheet {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: rgba(238, 233, 220, 0.25);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0;
  text-align: right;
  align-self: end;
}

/* ─── SCROLL PARALLAX — TRIAD-2 ──────────────────────────── */
/* Hero text parallax on scroll — translate only, GPU composited */
[data-design="a"] .ps-hero__headline,
[data-design="a"] .ps-hero__subtitle {
  will-change: transform;
}

/* ─── Reduced motion fallbacks ───────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .ps-wall-course,
  [data-design="a"] .ps-wall-joint,
  [data-design="a"] .ps-plumb-line,
  [data-design="a"] .ps-plumb-bob,
  [data-design="a"] .ps-hero__breath,
  [data-design="a"] .ps-pointer__plumb,
  [data-design="a"] .ps-pointer__bob,
  [data-design="a"] .ps-pointer__tick,
  [data-design="a"] .ps-pointer__tick-l,
  [data-design="a"] .ps-pointer__tick-r,
  [data-design="a"] .ps-pointer__inner,
  [data-design="a"] .ps-header__dim-tick,
  [data-design="a"] .ps-header__dim-line,
  [data-design="a"] .ps-header__dim-value {
    animation: none;
    opacity: 1;
    transform: none;
  }
  [data-design="a"] .ps-wall-course { transform: translateY(0); }
  [data-design="a"] .ps-plumb-line { stroke-dashoffset: 0; }
  [data-design="a"] .ps-plumb-bob { transform: scale(1); }
  [data-design="a"] .ps-pointer__plumb { stroke-dashoffset: 0; }
  [data-design="a"] .ps-nav-panel {
    transition: visibility var(--ps-dur-flip) linear;
    transform: translateX(0);
    opacity: 0;
    pointer-events: none;
  }
  [data-design="a"] .ps-nav-panel.is-open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
  [data-design="a"] .ps-nav-panel__list a { transition: none; }
  [data-design="a"] .ps-nav-panel__list a::before { transition: none; transform: scaleX(1); }
  [data-design="a"] .ps-sheet { transition: opacity 200ms linear; transform: none; }
  [data-design="a"] .ps-sheet--revealed .ps-sheet__phase { animation: none; }
  [data-design="a"] .ps-sheet__iso-svg path,
  [data-design="a"] .ps-sheet__iso-svg line,
  [data-design="a"] .ps-sheet__iso-svg circle,
  [data-design="a"] .ps-sheet__iso-svg rect { transition: none; stroke-dashoffset: 0; }
  [data-design="a"] .ps-cut__image-block { filter: saturate(1); transition: none; }
  [data-design="a"] .ps-cut__line { transform: scaleX(1); transition: none; }
  [data-design="a"] .ps-cut__flag { opacity: 1; transition: none; }
  [data-design="a"] .ps-funnel__step { transition: opacity 200ms linear; transform: none; }
  [data-design="a"] .ps-funnel__step[hidden] { transform: none; }
  [data-design="a"] .ps-cta,
  [data-design="a"] .ps-cta__dim,
  [data-design="a"] .ps-cta__dim-line,
  [data-design="a"] .ps-cta__dim-value,
  [data-design="a"] .ps-cta__arrow { transition: none; }
  [data-design="a"] .ps-cta:focus-visible .ps-cta__dim-line { transform: scaleX(1); }
  @media (hover: hover) and (pointer: fine) {
    [data-design="a"] .ps-cta:hover .ps-cta__dim-line { transform: scaleX(1); }
  }
  [data-design="a"] .ps-hero__headline,
  [data-design="a"] .ps-hero__subtitle { will-change: auto; }
}

/* ─── Mobile layout guards ────────────────────────────────── */
/* Scope EVERY rule to .dq-design — never bare [data-design] descendant */
[data-design="a"].dq-design,
[data-design="a"] .dq-design {
  max-width: 100%;
  overflow-x: clip;
}
[data-design="a"].dq-design * { min-width: 0; }
[data-design="a"].dq-design img,
[data-design="a"].dq-design svg:not([data-keep-size]) {
  max-width: 100%;
  height: auto;
}

@media (max-width: 560px) {
  [data-design="a"] .ps-logo__desc { display: none; }
  [data-design="a"] .ps-header__sheet { font-size: 10px; }
  [data-design="a"] .ps-nav-panel { width: 100%; border-left: none; }
  [data-design="a"] .ps-funnel__inner { padding: var(--ps-space-block) var(--ps-space-cell); }
  [data-design="a"] .ps-funnel__step { padding: var(--ps-space-cell); }
  [data-design="a"] .ps-funnel__titleblock { grid-template-columns: 1fr; }
  [data-design="a"] .ps-hero__titleblock-aside { display: none; }
  [data-design="a"] .ps-sheets { padding: var(--ps-space-block) var(--ps-space-cell); }
  [data-design="a"] .ps-cut__inner { padding: var(--ps-space-block) var(--ps-space-cell); }
  [data-design="a"] .ps-services__inner { padding: var(--ps-space-block) var(--ps-space-cell); }
  [data-design="a"] .ps-about__inner { padding: var(--ps-space-block) var(--ps-space-cell); }
  [data-design="a"] .ps-footer__inner { padding: var(--ps-space-block) var(--ps-space-cell); }
  [data-design="a"] .ps-services__row { grid-template-columns: 48px 1fr; }
  [data-design="a"] .ps-services__tag { display: none; }
}

/* Phase-3.4 hero visibility floor (forge_assemble) */
[data-design="a"] [data-mf-role="hero"] :is(h1,h2,p,.headline,.subtitle,.proof,[class*="headline"],[class*="subtitle"],[class*="proof"]),
[data-design="a"] [data-mf-role="cta"] { opacity: 1 !important; }
