/* =============================================================
   JANZ ENTERPRISES — Design A (plan-set)
   All selectors scoped [data-design="a"] — zero [data-design="a"]
   --design-a-primary exposed on [data-design="a"]
============================================================= */

/* ── Token system ── */
[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", "Arial Narrow", sans-serif;
  --ps-font-body:     "Inter", "Helvetica Neue", system-ui, sans-serif;
  --ps-font-mono:     "JetBrains 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(44px, 8vw, 68px);

  --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(80px, 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);

  background: var(--ps-vellum);
  color: var(--ps-graphite);
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  line-height: 1.6;
}

@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;
  }
}

/* ── Mobile containment (HARD — no h-scroll at 320/390/768/1440) ── */
[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;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   E1 — 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);
  font-family: var(--ps-font-mono);
}

[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;
}

[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 format */
[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 var(--ps-dur-tick) var(--ps-ease-set),
              color var(--ps-dur-tick) var(--ps-ease-set),
              border-color var(--ps-dur-tick) var(--ps-ease-set);
}

[data-design="a"] .ps-hamburger:focus-visible {
  background: var(--ps-graphite);
  color: var(--ps-vellum);
  border-color: var(--ps-graphite);
  outline: 2px solid var(--ps-blueprint);
  outline-offset: 4px;
}

@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;
}

/* Off-canvas 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;
}

[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: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: background var(--ps-dur-tick) var(--ps-ease-set),
              color var(--ps-dur-tick) var(--ps-ease-set);
}

[data-design="a"] .ps-nav-panel__close:focus-visible {
  background: var(--ps-graphite);
  color: var(--ps-vellum);
  outline: 2px solid var(--ps-blueprint);
  outline-offset: 4px;
}

@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;
}

[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(16px, 2.4vw, 20px);
  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),
              transform 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);
  transform: translateX(8px);
  outline: 2px solid var(--ps-blueprint);
  outline-offset: 2px;
}

[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__phone {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-body);
  color: var(--ps-blueprint);
}

/* Dimension ambient animation — 26s cycle (H-3: ≥18s) */
[data-design="a"] .ps-header__dim {
  position: relative;
  height: 18px;
  border-top: 1px solid var(--ps-rule);
  max-width: 1280px;
  margin: 0 auto;
}

[data-design="a"] .ps-header__dim-tick {
  position: absolute;
  top: 0;
  width: 1px;
  height: 8px;
  background: var(--ps-blueprint);
  opacity: 0;
  animation: ps-a-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-a-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-a-dim-value var(--ps-dur-rule) var(--ps-ease-draw) infinite;
  white-space: nowrap;
}

@keyframes ps-a-dim-tick {
  0%, 4%    { opacity: 0; }
  8%, 50%   { opacity: 1; }
  54%, 96%  { opacity: 1; }
  100%      { opacity: 0; }
}

@keyframes ps-a-dim-line {
  0%, 8%    { transform: scaleX(0); }
  40%, 60%  { transform: scaleX(1); }
  92%, 100% { transform: scaleX(0); }
}

@keyframes ps-a-dim-value {
  0%, 30%  { opacity: 0; }
  40%, 60% { opacity: 1; }
  70%, 100%{ opacity: 0; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HERO — E3 unique animated backdrop + E2 CTA
   HERO-1: one animated layer (SVG grid + elevation)
   HERO-2: no directional primitive
   HERO-3: visual presence floor — animated blueprint substrate
   All hero text opacity:1 at first paint
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[data-design="a"] .ps-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--ps-graphite);
  border-bottom: 2px solid var(--ps-rule);
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  box-sizing: border-box;
}

/* The ONE animated layer — sustained blueprint drafting grid */
[data-design="a"] .ps-hero__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

[data-design="a"] .ps-hero__grid {
  width: 100%;
  height: 100%;
  opacity: 0.18;
}

/* Grid horizontal rules — draw in sequentially */
[data-design="a"] .ps-grid__h {
  stroke: var(--ps-blueprint);
  stroke-width: 0.5;
  fill: none;
  stroke-dasharray: 1440;
  stroke-dashoffset: 1440;
  animation: ps-a-grid-h 3s var(--ps-ease-draw) forwards;
}

[data-design="a"] .ps-grid__h--1 { animation-delay: 0.1s; }
[data-design="a"] .ps-grid__h--2 { animation-delay: 0.25s; }
[data-design="a"] .ps-grid__h--3 { animation-delay: 0.4s; }
[data-design="a"] .ps-grid__h--4 { animation-delay: 0.55s; }

@keyframes ps-a-grid-h {
  from { stroke-dashoffset: 1440; opacity: 0; }
  10%  { opacity: 1; }
  to   { stroke-dashoffset: 0; }
}

/* Grid vertical rules */
[data-design="a"] .ps-grid__v {
  stroke: var(--ps-blueprint);
  stroke-width: 0.5;
  fill: none;
  stroke-dasharray: 700;
  stroke-dashoffset: 700;
  animation: ps-a-grid-v 2.5s var(--ps-ease-draw) forwards;
}

[data-design="a"] .ps-grid__v--1 { animation-delay: 0.15s; }
[data-design="a"] .ps-grid__v--2 { animation-delay: 0.3s; }
[data-design="a"] .ps-grid__v--3 { animation-delay: 0.45s; }
[data-design="a"] .ps-grid__v--4 { animation-delay: 0.6s; }
[data-design="a"] .ps-grid__v--5 { animation-delay: 0.75s; }

@keyframes ps-a-grid-v {
  from { stroke-dashoffset: 700; opacity: 0; }
  10%  { opacity: 1; }
  to   { stroke-dashoffset: 0; }
}

/* Elevation outline — primary feature, draws in after grid */
[data-design="a"] .ps-grid__elevation {
  stroke: var(--ps-blueprint);
  stroke-width: 2;
  fill: none;
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  animation: ps-a-elevation 2s var(--ps-ease-draw) 0.8s forwards,
             ps-a-elevation-breathe 8s var(--ps-ease-set) 3s infinite;
}

@keyframes ps-a-elevation {
  from { stroke-dashoffset: 2000; opacity: 0; }
  10%  { opacity: 1; }
  to   { stroke-dashoffset: 0; }
}

/* Sustained ambient: the elevation line subtly shifts opacity — alive, not frozen */
@keyframes ps-a-elevation-breathe {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.55; }
}

/* Annotation lines */
[data-design="a"] .ps-grid__dim-v {
  stroke: var(--ps-blueprint);
  stroke-width: 0.8;
  fill: none;
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  animation: ps-a-dim-v 1s var(--ps-ease-draw) 2.5s forwards;
}

@keyframes ps-a-dim-v {
  from { stroke-dashoffset: 200; }
  to   { stroke-dashoffset: 0; }
}

[data-design="a"] .ps-grid__tick {
  stroke: var(--ps-blueprint);
  stroke-width: 1;
  fill: none;
  opacity: 0;
  animation: ps-a-tick-appear 0.3s var(--ps-ease-set) 3s forwards;
}

@keyframes ps-a-tick-appear {
  from { opacity: 0; }
  to   { opacity: 1; }
}

[data-design="a"] .ps-grid__dim-label {
  font-family: var(--ps-font-mono);
  font-size: 9px;
  fill: var(--ps-blueprint);
  opacity: 0;
  animation: ps-a-tick-appear 0.4s var(--ps-ease-set) 3.2s forwards;
  letter-spacing: 0.04em;
}

[data-design="a"] .ps-grid__scale {
  stroke: var(--ps-blueprint);
  stroke-width: 1;
  fill: none;
  opacity: 0;
  animation: ps-a-tick-appear 0.4s var(--ps-ease-set) 3.5s forwards;
}

[data-design="a"] .ps-grid__scale-label,
[data-design="a"] .ps-grid__north-label,
[data-design="a"] .ps-grid__north-needle {
  font-family: var(--ps-font-mono);
  font-size: 9px;
  fill: var(--ps-blueprint);
  opacity: 0;
  animation: ps-a-tick-appear 0.4s var(--ps-ease-set) 3.5s forwards;
  text-anchor: middle;
}

[data-design="a"] .ps-grid__north-needle {
  stroke: var(--ps-blueprint);
  stroke-width: 1;
  fill: none;
}

[data-design="a"] .ps-grid__north-circle {
  fill: none;
  stroke: var(--ps-blueprint);
  stroke-width: 0.8;
  opacity: 0;
  animation: ps-a-tick-appear 0.4s var(--ps-ease-set) 3.5s forwards;
}

/* Sustained ambient grid pulse — keeps grid alive after arrival */
[data-design="a"] .ps-grid__h,
[data-design="a"] .ps-grid__v {
  animation-fill-mode: both;
}

/* Title-block corner overlay */
[data-design="a"] .ps-hero__titleblock {
  position: absolute;
  top: var(--ps-space-cell);
  right: var(--ps-space-margin);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--ps-space-em);
  z-index: 2;
}

[data-design="a"] .ps-hero__tb-no {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.1em;
  color: var(--ps-blueprint);
  opacity: 0.7;
}

[data-design="a"] .ps-hero__tb-phase {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ps-phase-yellow);
  border: 1px solid var(--ps-phase-yellow);
  padding: 2px 8px;
  opacity: 0;
  animation: ps-a-tick-appear 0.5s var(--ps-ease-set) 3s forwards;
}

/* Hero content — text at opacity:1 first paint, NO reveal gating */
[data-design="a"] .ps-hero__content {
  position: relative;
  z-index: 1;
  max-width: 680px;
  padding-top: var(--ps-space-gutter);
}

[data-design="a"] .ps-hero__kicker {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ps-blueprint);
  margin: 0 0 var(--ps-space-cell);
  /* opacity:1 at first paint */
  opacity: 1;
}

[data-design="a"] .ps-hero__headline {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-cover);
  font-weight: 700;
  line-height: 1.05;
  color: var(--ps-vellum);
  margin: 0 0 var(--ps-space-cell);
  /* opacity:1 at first paint */
  opacity: 1;
}

[data-design="a"] .ps-hero__subtitle {
  font-family: var(--ps-font-body);
  font-size: clamp(15px, 1.5vw, 19px);
  line-height: 1.6;
  color: var(--ps-graphite-soft);
  margin: 0 0 var(--ps-space-cell);
  /* opacity:1 at first paint */
  opacity: 1;
}

[data-design="a"] .ps-hero__proof {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.06em;
  color: var(--ps-muted);
  margin: 0 0 var(--ps-space-gutter);
  /* opacity:1 at first paint */
  opacity: 1;
}

/* ── E2 — Dimension Stamp CTA (funnel anchor) ── */
[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-blueprint);
  border: 1px solid var(--ps-blueprint);
  border-radius: 0;
  text-decoration: none;
  cursor: pointer;
  min-height: 44px;
  transition: transform 120ms var(--ps-ease-set),
              background 120ms var(--ps-ease-set);
  /* opacity:1 — never reveal-gated */
  opacity: 1;
}

[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-graphite);
  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;
}

/* Repeat CTA variant */
[data-design="a"] .ps-cta--repeat {
  background: var(--ps-graphite);
  border-color: var(--ps-graphite);
  color: var(--ps-vellum);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   E6 — POINTER (between hero and funnel, immediately before #funnel)
   data-mf-role="pointer"
   Visibly rendered: opacity:1, height>8px at all viewports
   NOT a button — no click action (wayfinding only)
   Drafted-measured register: dimension line with annotation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[data-design="a"] .ps-pointer {
  background: var(--ps-vellum);
  border-top: 1px solid var(--ps-rule);
  border-bottom: 1px solid var(--ps-rule);
  padding: var(--ps-space-margin) var(--ps-space-margin);
  /* Visible at first paint — opacity:1, explicit height */
  opacity: 1;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}

[data-design="a"] .ps-pointer__inner {
  max-width: 480px;
  width: 100%;
}

[data-design="a"] .ps-pointer__svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

[data-design="a"] .ps-ptr__tick {
  stroke: var(--ps-blueprint);
  stroke-width: 1.5;
  fill: none;
  stroke-dasharray: 32;
  stroke-dashoffset: 32;
  animation: ps-a-ptr-draw 0.6s var(--ps-ease-draw) 0.5s forwards;
}

@keyframes ps-a-ptr-draw {
  from { stroke-dashoffset: 32; }
  to   { stroke-dashoffset: 0; }
}

[data-design="a"] .ps-ptr__line {
  stroke: var(--ps-blueprint);
  stroke-width: 1;
  fill: none;
  stroke-dasharray: 400;
  stroke-dashoffset: 400;
  animation: ps-a-ptr-line 0.8s var(--ps-ease-draw) 0.7s forwards;
}

@keyframes ps-a-ptr-line {
  from { stroke-dashoffset: 400; }
  to   { stroke-dashoffset: 0; }
}

[data-design="a"] .ps-ptr__label-bg {
  fill: var(--ps-vellum);
  opacity: 0;
  animation: ps-a-ptr-label 0.4s var(--ps-ease-set) 1.3s forwards;
}

[data-design="a"] .ps-ptr__label-text {
  font-family: var(--ps-font-mono);
  font-size: 9px;
  fill: var(--ps-blueprint);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0;
  animation: ps-a-ptr-label 0.4s var(--ps-ease-set) 1.4s forwards;
}

@keyframes ps-a-ptr-label {
  from { opacity: 0; }
  to   { opacity: 1; }
}

[data-design="a"] .ps-ptr__down {
  stroke: var(--ps-blueprint);
  stroke-width: 1.5;
  fill: none;
  stroke-dasharray: 12;
  stroke-dashoffset: 12;
  animation: ps-a-ptr-down 0.4s var(--ps-ease-draw) 1.5s forwards,
             ps-a-ptr-pulse 4s var(--ps-ease-set) 2s infinite;
}

@keyframes ps-a-ptr-down {
  from { stroke-dashoffset: 12; }
  to   { stroke-dashoffset: 0; }
}

/* Slow pulse on the downward tick — ≥4s cycle per PTR-3 */
@keyframes ps-a-ptr-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.35; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   E5 — FUNNEL (5-step flip-sheet intake)
   id="funnel" data-mf-role="funnel"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[data-design="a"] .ps-funnel {
  background: var(--ps-vellum);
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  max-width: 880px;
  margin: 0 auto;
  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);
}

[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);
  /* Reset fieldset defaults */
  min-inline-size: 0;
}

[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: 600;
  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);
  line-height: 1.4;
  min-height: 44px;
  transition: border-color 220ms var(--ps-ease-set);
}

@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-funnel__choice:hover {
    border-color: var(--ps-blueprint);
  }
}

[data-design="a"] .ps-funnel__choice input {
  accent-color: var(--ps-blueprint);
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  cursor: pointer;
}

[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__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);
}

[data-design="a"] .ps-funnel__field-input:focus {
  outline: none;
  border-color: var(--ps-blueprint);
  border-width: 2px;
  padding: 9px 11px;
}

[data-design="a"] .ps-funnel__field-textarea {
  resize: vertical;
  min-height: 96px;
}

[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.5;
}

[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;
  transition: transform 120ms var(--ps-ease-set),
              background 120ms var(--ps-ease-set);
}

@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__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;
}

/* Confirm — uses display:none when hidden (NEVER opacity:0) */
[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);
  display: block;
}

[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__compliance {
  margin-top: var(--ps-space-margin);
  padding: var(--ps-space-cell) var(--ps-space-margin);
  border-top: 1px solid var(--ps-rule);
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-muted);
  line-height: 1.6;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   E3 — SHEET SET (portfolio, plan-set animation grammar)
   Scroll-linked reveal: TRIAD-2 premium scroll motion
   (IntersectionObserver scroll entry + flip-in from off-axis)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[data-design="a"] .ps-sheets {
  background: var(--ps-vellum);
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
}

[data-design="a"] .ps-sheets__head {
  margin-bottom: var(--ps-space-block);
  max-width: 60ch;
}

[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);
}

[data-design="a"] .ps-sheets__deck {
  font-family: var(--ps-font-body);
  font-size: var(--ps-text-body);
  color: var(--ps-graphite-soft);
  margin: 0;
  line-height: 1.6;
}

[data-design="a"] .ps-sheets__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--ps-space-gutter);
}

[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-entry: TRIAD-2 — genuine scroll-driven reveal with transform+opacity */
  opacity: 0;
  transform: translateY(16px) rotateX(-4deg);
  transform-origin: top center;
  transition: opacity var(--ps-dur-set) var(--ps-ease-set),
              transform var(--ps-dur-set) var(--ps-ease-set);
}

@media (min-width: 768px) {
  [data-design="a"] .ps-sheet {
    grid-template-columns: 1.4fr 1fr;
  }
}

[data-design="a"] .ps-sheet--revealed {
  opacity: 1;
  transform: translateY(0) rotateX(0deg);
}

[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 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-a-sheet-phase 13s var(--ps-ease-set) infinite;
}

@keyframes ps-a-sheet-phase {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.55; }
}

[data-design="a"] .ps-sheet__iso {
  margin: 0;
  color: var(--ps-rule);
}

[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 circle {
  fill: none;
  stroke: var(--ps-blueprint);
  stroke-width: 1.5;
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  transition: stroke-dashoffset var(--ps-dur-set) var(--ps-ease-draw);
}

[data-design="a"] .ps-sheet__iso-svg polyline {
  fill: none;
  stroke: var(--ps-blueprint);
  stroke-width: 2;
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
  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 circle,
[data-design="a"] .ps-sheet--revealed .ps-sheet__iso-svg polyline {
  stroke-dashoffset: 0;
}

[data-design="a"] .ps-sheet__iso-svg text {
  fill: var(--ps-blueprint);
  opacity: 0;
  transition: opacity 0.4s var(--ps-ease-set) 0.8s;
}

[data-design="a"] .ps-sheet--revealed .ps-sheet__iso-svg text {
  opacity: 1;
}

[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__repeat-cta {
  margin-top: var(--ps-space-block);
  display: flex;
  justify-content: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   E4 — SECTION CUT (mid-page ambient, services)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[data-design="a"] .ps-cut {
  background: var(--ps-vellum-deep);
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  max-width: 1280px;
  margin: 0 auto;
  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__figure {
  margin: 0;
  position: relative;
}

/* Service plates — SVG/color fill (no fabricated photos) */
[data-design="a"] .ps-cut__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--ps-graphite);
  position: relative;
  overflow: hidden;
  filter: saturate(0.6);
  transition: filter var(--ps-dur-sweep) var(--ps-ease-sweep) 200ms;
}

[data-design="a"] .ps-cut__image--earthwork {
  background: linear-gradient(160deg, #1A1C20 0%, #2C2E33 40%, #1A5C8A22 100%);
}

[data-design="a"] .ps-cut__image--utilities {
  background: linear-gradient(160deg, #1A1C20 0%, #1A5C8A33 50%, #2C2E33 100%);
}

[data-design="a"] .ps-cut__image--site-dev {
  background: linear-gradient(160deg, #2C2E33 0%, #1A1C20 60%, #365C2933 100%);
}

[data-design="a"] .ps-cut__image--demo {
  background: linear-gradient(160deg, #1A1C20 0%, #A4321C22 40%, #2C2E33 100%);
}

[data-design="a"] .ps-cut__item--cut .ps-cut__image {
  filter: saturate(1);
}

[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);
}

[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;
}

[data-design="a"] .ps-cut__num {
  color: var(--ps-blueprint);
  text-transform: uppercase;
}

[data-design="a"] .ps-cut__name {
  color: var(--ps-graphite);
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-body);
}

[data-design="a"] .ps-cut__meta {
  color: var(--ps-muted);
  text-align: right;
  text-transform: uppercase;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ABOUT — Title block
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[data-design="a"] .ps-about {
  background: var(--ps-vellum);
  padding: var(--ps-space-sheet) var(--ps-space-margin);
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
  border-top: 1px solid var(--ps-rule);
}

[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;
  line-height: 1.05;
  margin: 0;
  color: var(--ps-graphite);
}

[data-design="a"] .ps-about__grid {
  display: grid;
  gap: var(--ps-space-gutter);
}

@media (min-width: 768px) {
  [data-design="a"] .ps-about__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

[data-design="a"] .ps-about__col {
  border-top: 2px solid var(--ps-graphite);
  padding-top: var(--ps-space-cell);
}

[data-design="a"] .ps-about__col-label {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-dim);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ps-muted);
  margin: 0 0 var(--ps-space-em);
}

[data-design="a"] .ps-about__name {
  font-family: var(--ps-font-display);
  font-size: var(--ps-text-deck);
  font-weight: 700;
  color: var(--ps-graphite);
  margin: 0 0 var(--ps-space-cell);
}

[data-design="a"] .ps-about__bio {
  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-cell);
  max-width: 40ch;
}

[data-design="a"] .ps-about__contact a {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-cap);
  color: var(--ps-blueprint);
  text-decoration: underline;
  text-underline-offset: 3px;
}

[data-design="a"] .ps-about__metrics {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 16px;
  margin: 0;
}

[data-design="a"] .ps-about__metrics dt {
  color: var(--ps-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

[data-design="a"] .ps-about__metrics dd {
  margin: 0;
  color: var(--ps-graphite);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FOOTER — Title block imprint
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[data-design="a"] .ps-footer {
  background: var(--ps-graphite);
  color: var(--ps-vellum);
  border-top: 2px solid var(--ps-rule);
}

[data-design="a"] .ps-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--ps-space-gutter) var(--ps-space-margin);
}

[data-design="a"] .ps-footer__titleblock {
  border: 1px solid var(--ps-rule);
  padding: var(--ps-space-margin);
  margin-bottom: var(--ps-space-margin);
  display: grid;
  gap: var(--ps-space-em);
}

[data-design="a"] .ps-footer__firm {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-sheet);
  letter-spacing: 0.08em;
  color: var(--ps-vellum);
  margin: 0;
}

[data-design="a"] .ps-footer__sub,
[data-design="a"] .ps-footer__addr,
[data-design="a"] .ps-footer__license {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-muted);
  margin: 0;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

[data-design="a"] .ps-footer__contact {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-muted);
  margin: 0;
}

[data-design="a"] .ps-footer__contact a {
  color: var(--ps-blueprint);
  text-decoration: none;
}

[data-design="a"] .ps-footer__cta {
  font-family: var(--ps-font-callout);
  font-size: var(--ps-text-cap);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-vellum);
  text-decoration: none;
  border: 1px solid var(--ps-blueprint);
  padding: 8px 16px;
  display: inline-block;
  min-height: 44px;
  line-height: 2.2;
  transition: background 120ms var(--ps-ease-set);
  margin-top: var(--ps-space-em);
}

@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ps-footer__cta:hover {
    background: var(--ps-blueprint);
  }
}

[data-design="a"] .ps-footer__copy {
  font-family: var(--ps-font-mono);
  font-size: var(--ps-text-dim);
  color: var(--ps-muted);
  margin: 0;
  letter-spacing: 0.04em;
}

[data-design="a"] .ps-footer__sheet-ref {
  color: var(--ps-blueprint);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MOBILE — scoped to .dq-design (never bare [data-design])
   No h-scroll at 320 / 390 / 768 / 1440
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 560px) {
  [data-design="a"].dq-design .ps-logo__desc,
  [data-design="a"] .dq-design .ps-logo__desc { display: none; }

  [data-design="a"].dq-design .ps-header__sheet,
  [data-design="a"] .dq-design .ps-header__sheet { font-size: 10px; }

  [data-design="a"].dq-design .ps-nav-panel,
  [data-design="a"] .dq-design .ps-nav-panel {
    width: 100%;
    border-left: none;
  }

  [data-design="a"].dq-design .ps-hero,
  [data-design="a"] .dq-design .ps-hero {
    min-height: 100svh;
    align-items: flex-end;
    padding-bottom: var(--ps-space-gutter);
  }

  [data-design="a"].dq-design .ps-hero__headline,
  [data-design="a"] .dq-design .ps-hero__headline {
    font-size: clamp(32px, 8vw, 52px);
  }

  [data-design="a"].dq-design .ps-funnel,
  [data-design="a"] .dq-design .ps-funnel {
    padding: var(--ps-space-block) var(--ps-space-cell);
  }

  [data-design="a"].dq-design .ps-funnel__step,
  [data-design="a"] .dq-design .ps-funnel__step {
    padding: var(--ps-space-cell);
  }

  [data-design="a"].dq-design .ps-funnel__titleblock,
  [data-design="a"] .dq-design .ps-funnel__titleblock {
    grid-template-columns: 1fr;
  }

  [data-design="a"].dq-design .ps-sheet__meta,
  [data-design="a"] .dq-design .ps-sheet__meta {
    grid-template-columns: auto 1fr;
  }

  [data-design="a"].dq-design .ps-about__bio,
  [data-design="a"] .dq-design .ps-about__bio {
    max-width: 100%;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   REDUCED MOTION — all signature interactions have fallback
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (prefers-reduced-motion: reduce) {
  [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-grid__h,
  [data-design="a"] .ps-grid__v,
  [data-design="a"] .ps-grid__elevation,
  [data-design="a"] .ps-grid__dim-v,
  [data-design="a"] .ps-grid__tick,
  [data-design="a"] .ps-grid__dim-label,
  [data-design="a"] .ps-grid__scale,
  [data-design="a"] .ps-grid__scale-label,
  [data-design="a"] .ps-grid__north-label,
  [data-design="a"] .ps-grid__north-needle,
  [data-design="a"] .ps-grid__north-circle { animation: none; stroke-dashoffset: 0; opacity: 1; }

  [data-design="a"] .ps-hero__tb-phase { animation: none; opacity: 1; }

  [data-design="a"] .ps-ptr__tick,
  [data-design="a"] .ps-ptr__line,
  [data-design="a"] .ps-ptr__label-bg,
  [data-design="a"] .ps-ptr__label-text,
  [data-design="a"] .ps-ptr__down { animation: none; stroke-dashoffset: 0; opacity: 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 circle,
  [data-design="a"] .ps-sheet__iso-svg polyline { transition: none; stroke-dashoffset: 0; }
  [data-design="a"] .ps-sheet__iso-svg text { opacity: 1; transition: none; }

  [data-design="a"] .ps-cut__image { transition: none; filter: saturate(1); }
  [data-design="a"] .ps-cut__line { transition: none; transform: scaleX(1); }
  [data-design="a"] .ps-cut__flag { transition: none; opacity: 1; }

  [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-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 !important; }

  [data-design="a"] .ps-funnel__step { transition: opacity 200ms linear; transform: none; }
  [data-design="a"] .ps-funnel__step[hidden] { transform: 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; }
