/* ===== Fort Lauderdale Fence Installer — Design A (Pitch-derived, fencing register) ===== */

[data-design="a"] {
  --design-a-primary: #D14D24;
  --pt-chalk: #F2F1EC;
  --pt-sheet: #E8E7DF;
  --pt-blued: #1E2229;
  --pt-zinc: #797E86;
  --pt-keel: #D14D24;
  --pt-keel-deep: #A83A18;
  --pt-square: #31577F;
  --pt-slate: #252B33;
  --pt-critical: #AE2E24;
  --pt-success: #3E7A4E;

  --pt-kerf: 4px;
  --pt-heel: 8px;
  --pt-seat: 16px;
  --pt-run: 24px;
  --pt-rise: 40px;
  --pt-span: 64px;
  --pt-plate: 96px;
  --pt-ridge: 128px;

  --pt-strike: cubic-bezier(0.2, 0.9, 0.25, 1);
  --pt-swing: cubic-bezier(0.34, 1.18, 0.4, 1);
  --pt-snap: 110ms;
  --pt-lay: 240ms;
  --pt-beat: 80ms;

  --pt-r-0: 0;
  --pt-r-1: 2px;
  --pt-r-pivot: 50%;

  --pt-stamp: 2px 2px 0 rgba(30, 34, 41, 0.16);
  --pt-under: 0 12px 28px -14px rgba(30, 34, 41, 0.4);

  background: var(--pt-chalk);
  color: var(--pt-blued);
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  display: block;
}

/* ---------- Header — Element 1 ---------- */
[data-design="a"] .pt-header { position: sticky; top: 0; z-index: 40; background: var(--pt-chalk); }
[data-design="a"] .pt-header__bar {
  max-width: 1320px; margin-inline: auto; padding: var(--pt-seat) clamp(20px, 5vw, 48px);
  display: flex; align-items: center; justify-content: space-between; min-height: 64px;
}
[data-design="a"] .pt-logo { text-decoration: none; color: var(--pt-blued); }
[data-design="a"] .pt-logo__mark {
  font-family: "Archivo Expanded", "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700; font-size: clamp(1.05rem, 2.6vw, 1.3rem); line-height: 1.15; letter-spacing: -0.01em;
}
[data-design="a"] .pt-ridge { position: relative; height: 1px; background: var(--pt-blued); overflow: visible; }
[data-design="a"] .pt-ridge__peak {
  position: absolute; left: 0; top: -5px; width: 12px; height: 12px;
  border-left: 1px solid var(--pt-keel); border-top: 1px solid var(--pt-keel);
  transform: translateX(-16px) rotate(45deg); opacity: 0.9;
  animation: pt-peak-travel-a 28s linear infinite;
}
@keyframes pt-peak-travel-a {
  0%   { transform: translateX(-16px) rotate(45deg); }
  100% { transform: translateX(100vw) rotate(45deg); }
}
[data-design="a"] .pt-burger {
  display: grid; gap: 5px; padding: 12px; min-width: 44px; min-height: 44px;
  background: none; border: 0; cursor: pointer;
}
[data-design="a"] .pt-burger__r { width: 22px; height: 2px; background: var(--pt-blued);
  transition: transform 240ms var(--pt-swing), opacity 160ms ease-out; }
[data-design="a"] .pt-burger[aria-expanded="true"] .pt-burger__r:nth-child(1) { transform: translateY(7px) rotate(45deg); }
[data-design="a"] .pt-burger[aria-expanded="true"] .pt-burger__r:nth-child(2) { opacity: 0; }
[data-design="a"] .pt-burger[aria-expanded="true"] .pt-burger__r:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
[data-design="a"] .pt-drawer {
  position: fixed; inset: 0; z-index: 50; background: var(--pt-slate); color: var(--pt-chalk);
  padding: var(--pt-plate) clamp(20px, 6vw, 64px) var(--pt-span);
  display: flex; flex-direction: column; justify-content: space-between;
}
[data-design="a"] .pt-drawer[hidden] { display: none; }
[data-design="a"] .pt-drawer__table { list-style: none; margin: 0; padding: 0; counter-reset: pt-nav; }
[data-design="a"] .pt-drawer__table li {
  border-bottom: 1px solid rgba(242, 241, 236, 0.18);
  opacity: 0; transform: translateY(-8px);
}
[data-design="a"] .pt-drawer.is-open .pt-drawer__table li {
  animation: pt-row-lay-a 240ms var(--pt-strike) forwards;
}
[data-design="a"] .pt-drawer.is-open .pt-drawer__table li:nth-child(2) { animation-delay: 80ms; }
[data-design="a"] .pt-drawer.is-open .pt-drawer__table li:nth-child(3) { animation-delay: 160ms; }
[data-design="a"] .pt-drawer.is-open .pt-drawer__table li:nth-child(4) { animation-delay: 240ms; }
@keyframes pt-row-lay-a { to { opacity: 1; transform: translateY(0); } }
[data-design="a"] .pt-drawer__table a {
  display: flex; align-items: baseline; gap: var(--pt-seat); padding: var(--pt-seat) 0; min-height: 44px;
  color: var(--pt-chalk); text-decoration: none;
  font-family: "IBM Plex Mono", "Courier New", monospace; text-transform: uppercase; letter-spacing: 0.07em;
}
[data-design="a"] .pt-drawer__table a::before {
  content: counter(pt-nav, decimal-leading-zero) " —"; counter-increment: pt-nav;
  color: var(--pt-zinc); font-size: 0.8em;
}
[data-design="a"] .pt-drawer__actions { display: grid; gap: var(--pt-seat); padding-top: var(--pt-run); }
[data-design="a"] .pt-drawer__phone, [data-design="a"] .pt-drawer__go {
  color: var(--pt-chalk); text-decoration: none; min-height: 44px; display: flex; align-items: center;
  font-family: "IBM Plex Mono", "Courier New", monospace; letter-spacing: 0.07em;
}
[data-design="a"] .pt-drawer__go { color: var(--pt-keel); }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .pt-drawer__table a:hover { transform: translateX(4px); }
  [data-design="a"] .pt-drawer__table a { transition: transform 160ms var(--pt-strike); }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .pt-ridge__peak { animation: none; transform: translateX(24vw) rotate(45deg); }
  [data-design="a"] .pt-drawer.is-open .pt-drawer__table li { animation: none; opacity: 1; transform: none; }
  [data-design="a"] .pt-burger__r { transition: none; }
}
@media (max-width: 560px) { [data-design="a"] .pt-header__bar { min-height: 56px; } }

/* ---------- CTA — Element 2 ---------- */
[data-design="a"] .pt-cta-group { display: grid; gap: var(--pt-seat); justify-items: start; }
[data-design="a"] .pt-cta {
  position: relative; overflow: hidden; display: inline-flex; align-items: center;
  min-height: 56px; padding: var(--pt-seat) var(--pt-rise);
  background: var(--pt-keel); color: var(--pt-chalk); text-decoration: none;
  font-family: "Archivo", "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-size: 1.06rem;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
  box-shadow: var(--pt-stamp);
  transition: transform 160ms var(--pt-strike), box-shadow 160ms var(--pt-strike);
}
[data-design="a"] .pt-cta__sheen {
  position: absolute; top: -20%; left: -30%; width: 24px; height: 140%;
  background: linear-gradient(105deg, transparent, rgba(242, 241, 236, 0.55), transparent);
  transform: translateX(-40px) rotate(12deg);
  animation: pt-cta-sheen-a 5s var(--pt-strike) infinite;
}
@keyframes pt-cta-sheen-a {
  0%, 78% { transform: translateX(-40px) rotate(12deg); opacity: 0; }
  86%     { opacity: 1; }
  100%    { transform: translateX(360px) rotate(12deg); opacity: 0; }
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .pt-cta:hover { transform: translateY(-1px); }
}
[data-design="a"] .pt-cta:focus-visible { outline: 2px solid var(--pt-square); outline-offset: 2px; }
[data-design="a"] .pt-cta:active { transform: translateY(1px); box-shadow: 1px 1px 0 rgba(30, 34, 41, 0.16); }
[data-design="a"] .pt-cta-mode { margin: 0; max-width: 60ch; color: var(--pt-zinc); font-size: 0.88rem; line-height: 1.6; }
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .pt-cta__sheen { animation: none; opacity: 0; }
  [data-design="a"] .pt-cta { transition: none; }
}

[data-design="a"] .pt-repeat-cta { display: flex; justify-content: center; padding: var(--pt-span) clamp(20px, 5vw, 48px); background: var(--pt-chalk); }
[data-design="a"] .pt-repeat-cta__link { justify-self: center; }

/* ---------- Hero — Element 3 (fence-line elevation) ---------- */
[data-design="a"] .pt-hero { position: relative; overflow: clip; background: var(--pt-chalk); isolation: isolate; }
[data-design="a"] .pt-hero__field { position: absolute; inset: 0; z-index: 0; }
[data-design="a"] .pt-hero__svg { width: 100%; height: 100%; display: block; max-width: 100%; }
[data-design="a"] .pt-hero__post {
  transform-origin: bottom center; transform: scaleY(0);
  animation: pt-post-strike-a 700ms var(--pt-strike) forwards;
}
[data-design="a"] .pt-hero__posts .pt-hero__post:nth-child(1) { animation-delay: 100ms; }
[data-design="a"] .pt-hero__posts .pt-hero__post:nth-child(2) { animation-delay: 220ms; }
[data-design="a"] .pt-hero__posts .pt-hero__post:nth-child(3) { animation-delay: 340ms; }
[data-design="a"] .pt-hero__posts .pt-hero__post:nth-child(4) { animation-delay: 460ms; }
[data-design="a"] .pt-hero__posts .pt-hero__post:nth-child(5) { animation-delay: 580ms; }
[data-design="a"] .pt-hero__posts .pt-hero__post:nth-child(6) { animation-delay: 700ms; }
@keyframes pt-post-strike-a { to { transform: scaleY(1); } }
[data-design="a"] .pt-hero__rails {
  transform-origin: left center; transform: scaleX(0);
  animation: pt-rail-strike-a 900ms var(--pt-strike) 900ms forwards;
}
@keyframes pt-rail-strike-a { to { transform: scaleX(1); } }
[data-design="a"] .pt-hero__pickets, [data-design="a"] .pt-hero__dims, [data-design="a"] .pt-hero__stamps {
  opacity: 0; animation: pt-dims-set-a 600ms ease-out 1500ms forwards;
}
@keyframes pt-dims-set-a { to { opacity: 1; } }
[data-design="a"] .pt-hero__light {
  animation: pt-rake-light-a 8s linear infinite;
}
@keyframes pt-rake-light-a {
  0%   { transform: translate3d(0, 0, 0); opacity: 0; }
  12%  { opacity: 0.9; }
  60%  { opacity: 0.9; }
  100% { transform: translate3d(1500px, 0, 0); opacity: 0; }
}
[data-design="a"] .pt-hero__col {
  position: relative; z-index: 1; isolation: isolate;
  max-width: 1320px; margin-inline: auto;
  padding: clamp(96px, 16vh, 176px) clamp(20px, 5vw, 48px) var(--pt-plate);
  display: grid; gap: var(--pt-run); justify-items: start; max-inline-size: 100%;
}
[data-design="a"] .pt-hero__title {
  margin: 0; max-width: 17ch; text-wrap: balance; position: relative; z-index: 2; opacity: 1;
  font-family: "Archivo Expanded", "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700; letter-spacing: -0.01em; line-height: 1.1;
  font-size: clamp(2.1rem, 5.4vw, 3.4rem); color: var(--pt-blued);
}
[data-design="a"] .pt-hero__sub { margin: 0; max-width: 62ch; font-size: 1.14rem; line-height: 1.6; color: var(--pt-blued); position: relative; z-index: 2; opacity: 1; }
[data-design="a"] .pt-hero__proof {
  margin: 0; font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 0.88rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--pt-zinc);
  position: relative; z-index: 2; opacity: 1;
}
[data-design="a"] .pt-hero__col .pt-cta-group { position: relative; z-index: 2; }
@media (max-width: 768px) {
  [data-design="a"] .pt-hero__svg { opacity: 0.85; }
  [data-design="a"] .pt-hero__col { padding-top: clamp(80px, 14vh, 120px); }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .pt-hero__post { animation: none; transform: none; }
  [data-design="a"] .pt-hero__rails { animation: none; transform: none; }
  [data-design="a"] .pt-hero__pickets, [data-design="a"] .pt-hero__dims, [data-design="a"] .pt-hero__stamps { animation: none; opacity: 1; }
  [data-design="a"] .pt-hero__light { animation: none; transform: translate3d(500px, 0, 0); opacity: 0.5; }
}

/* ---------- Rafter Table — Element 4 (mid-page proof ledger) ---------- */
[data-design="a"] .pt-table-sec { padding: var(--pt-plate) 0; background: var(--pt-chalk); }
[data-design="a"] .pt-table-sec__col { max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); }
[data-design="a"] .pt-table__title {
  position: relative; margin: 0 0 var(--pt-rise);
  font-family: "Archivo Expanded", "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600; font-size: clamp(1.6rem, 3.4vw, 2.2rem); color: var(--pt-blued);
}
[data-design="a"] .pt-table__titlerule {
  position: absolute; left: 0; bottom: -10px; width: 120px; height: 2px; background: var(--pt-keel);
  transform-origin: left center; transform: scaleX(1);
}
[data-design="a"] .pt-table-sec.is-on .pt-table__titlerule { animation: pt-restrike-a 18s var(--pt-strike) infinite; }
@keyframes pt-restrike-a {
  0% { transform: scaleX(0); } 4% { transform: scaleX(1); }
  96% { transform: scaleX(1); } 100% { transform: scaleX(1); }
}
[data-design="a"] .pt-table { display: grid; }
[data-design="a"] .pt-table__row {
  position: relative; display: grid; grid-template-columns: 3.5rem 1fr auto;
  gap: var(--pt-run); align-items: baseline; padding: var(--pt-run) 0;
}
[data-design="a"] .pt-table__idx {
  font-family: "IBM Plex Mono", "Courier New", monospace; color: var(--pt-zinc); font-size: 0.88rem;
}
[data-design="a"] .pt-table__main h3 { margin: 0 0 var(--pt-heel); font-size: 1.2rem; font-weight: 600; color: var(--pt-blued); }
[data-design="a"] .pt-table__main p { margin: 0; max-width: 66ch; line-height: 1.6; color: var(--pt-blued); }
[data-design="a"] .pt-table__dim {
  font-family: "IBM Plex Mono", "Courier New", monospace; font-size: 0.82rem;
  letter-spacing: 0.07em; text-transform: uppercase; color: var(--pt-square); white-space: nowrap;
}
[data-design="a"] .pt-table__rule {
  position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--pt-blued);
  transform-origin: left center; transform: scaleX(0); opacity: 0.35;
}
[data-design="a"] .pt-table__row.is-in .pt-table__rule {
  animation: pt-rule-strike-a 500ms var(--pt-strike) forwards;
}
@keyframes pt-rule-strike-a { to { transform: scaleX(1); } }
@media (max-width: 640px) {
  [data-design="a"] .pt-table__row { grid-template-columns: 2.5rem 1fr; }
  [data-design="a"] .pt-table__dim { grid-column: 2; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .pt-table-sec.is-on .pt-table__titlerule { animation: none; }
  [data-design="a"] .pt-table__row .pt-table__rule,
  [data-design="a"] .pt-table__row.is-in .pt-table__rule { animation: none; transform: scaleX(1); }
}

/* ---------- Funnel / Estimator — Element 5 ---------- */
[data-design="a"] .pt-funnel-sec {
  position: relative; overflow: clip; background: var(--pt-sheet); padding: var(--pt-plate) 0;
}
[data-design="a"] .pt-funnel-rake {
  position: absolute; width: 46vw; max-width: 620px; height: 2px; background: var(--pt-keel);
  opacity: 0.35; pointer-events: none;
  transition: transform 400ms var(--pt-swing);
}
[data-design="a"] .pt-funnel-rake--tl { top: 8%; left: -6%; transform-origin: left center; transform: rotate(calc(var(--pt-set-angle) * -1)); }
[data-design="a"] .pt-funnel-rake--br { bottom: 8%; right: -6%; transform-origin: right center; transform: rotate(calc(var(--pt-set-angle) * -1)); }
[data-design="a"] .pt-funnel-col {
  position: relative; max-width: 760px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px);
}
[data-design="a"] .pt-funnel-title {
  margin: 0 0 var(--pt-heel);
  font-family: "Archivo Expanded", "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600; font-size: clamp(1.6rem, 3.4vw, 2.2rem); color: var(--pt-blued);
}
[data-design="a"] .pt-funnel-sub { margin: 0 0 var(--pt-rise); max-width: 62ch; color: var(--pt-zinc); line-height: 1.6; }
[data-design="a"] .pt-gauge { display: grid; justify-items: center; gap: var(--pt-heel); margin-bottom: var(--pt-run); }
[data-design="a"] .pt-gauge__svg { width: min(220px, 60vw); height: auto; max-width: 100%; }
[data-design="a"] .pt-gauge__needle {
  transform-origin: 54.5% 92.3%; transform: rotate(0deg);
  transition: transform 420ms var(--pt-swing);
}
[data-design="a"] .pt-gauge__readout { margin: 0; font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 0.82rem; letter-spacing: 0.07em; color: var(--pt-square); text-align: center; }
[data-design="a"] .pt-funnel-range {
  margin: 0 0 var(--pt-heel); text-align: center; font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 1.1rem; letter-spacing: 0.03em; color: var(--pt-blued);
}
[data-design="a"] .pt-funnel-range strong { color: var(--pt-keel-deep); }
[data-design="a"] .pt-funnel-live { margin: 0; min-height: 1.4em; font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 0.82rem; letter-spacing: 0.07em; color: var(--pt-square); text-align: center; }
[data-design="a"] .pt-step { border: 0; margin: 0; padding: 0; display: none; visibility: hidden; }
[data-design="a"] .pt-step.is-active { display: grid; gap: var(--pt-run); visibility: visible; }
[data-design="a"] .pt-step.is-entering {
  animation: pt-plumb-in-a 240ms var(--pt-strike);
}
@keyframes pt-plumb-in-a {
  from { clip-path: polygon(0 0, 100% 0, 100% 0, 0 12%); opacity: 0; transform: translateY(8px); }
  to   { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); opacity: 1; transform: translateY(0); }
}
[data-design="a"] .pt-step__q { font-weight: 600; font-size: 1.2rem; color: var(--pt-blued); padding: 0; }
[data-design="a"] .pt-chips { display: flex; flex-wrap: wrap; gap: var(--pt-seat); }
[data-design="a"] .pt-chip {
  min-height: 56px; padding: var(--pt-seat) var(--pt-run);
  background: var(--pt-chalk); color: var(--pt-blued); border: 1px solid var(--pt-blued);
  border-radius: var(--pt-r-1); font: 600 1rem "Inter", "Helvetica Neue", Arial, sans-serif;
  cursor: pointer; box-shadow: var(--pt-stamp); opacity: 1;
  transition: transform 110ms var(--pt-strike), box-shadow 110ms var(--pt-strike),
              border-color 110ms ease-out, color 110ms ease-out;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .pt-chip:hover { transform: translateY(-1px); border-color: var(--pt-keel); }
}
[data-design="a"] .pt-chip:focus-visible { outline: 2px solid var(--pt-square); outline-offset: 2px; }
[data-design="a"] .pt-chip:active,
[data-design="a"] .pt-chip.is-picked { transform: translateY(1px); box-shadow: 1px 1px 0 rgba(30,34,41,0.16); border-color: var(--pt-keel-deep); color: var(--pt-keel-deep); }
[data-design="a"] .pt-pitchset { display: grid; gap: var(--pt-seat); }
[data-design="a"] .pt-pitchset__hint { margin: 0; color: var(--pt-zinc); font-size: 0.94rem; }
[data-design="a"] .pt-pitchset__gauge {
  display: grid; gap: var(--pt-heel); justify-items: start;
  padding: var(--pt-seat); background: var(--pt-chalk); border: 1px solid var(--pt-zinc);
  touch-action: none; cursor: grab; min-height: 44px;
}
[data-design="a"] .pt-pitchset__gauge:focus-visible { outline: 2px solid var(--pt-square); outline-offset: 2px; }
[data-design="a"] .pt-pitchset__svg { width: min(340px, 100%); height: auto; }
[data-design="a"] .pt-pitchset__arm {
  transform-origin: 4.2% 92.3%; transform: rotate(-26.6deg);
  transition: transform 160ms var(--pt-swing);
}
[data-design="a"] .pt-pitchset__gauge.is-dragging .pt-pitchset__arm { transition: none; }
[data-design="a"] .pt-pitchset__readout {
  margin: 0; font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 0.94rem; letter-spacing: 0.07em; color: var(--pt-square);
}
[data-design="a"] .pt-removal { display: flex; align-items: center; gap: var(--pt-heel); font-size: 0.94rem; color: var(--pt-blued); min-height: 44px; }
[data-design="a"] .pt-removal input { width: 20px; height: 20px; accent-color: var(--pt-keel); }
[data-design="a"] .pt-summary {
  margin: 0; padding: var(--pt-seat); background: var(--pt-chalk); border-left: 3px solid var(--pt-keel);
  font-family: "IBM Plex Mono", "Courier New", monospace; font-size: 0.88rem; line-height: 1.7;
}
[data-design="a"] .pt-field { display: grid; gap: var(--pt-kerf); }
[data-design="a"] .pt-field__label {
  font-family: "IBM Plex Mono", "Courier New", monospace; font-size: 0.82rem;
  letter-spacing: 0.07em; text-transform: uppercase; color: var(--pt-zinc);
}
[data-design="a"] .pt-kerf {
  width: 100%; max-width: 100%; box-sizing: border-box; min-height: 44px;
  padding: var(--pt-heel) var(--pt-seat); background: var(--pt-chalk);
  border: 0; border-bottom: 1px solid var(--pt-blued); border-radius: var(--pt-r-1);
  font: 400 1rem "Inter", "Helvetica Neue", Arial, sans-serif; color: var(--pt-blued);
}
[data-design="a"] .pt-kerf:focus-visible { outline: 2px solid var(--pt-square); outline-offset: 2px; }
[data-design="a"] .pt-funnel-submit { justify-self: start; }
[data-design="a"] .pt-done { display: grid; gap: var(--pt-seat); justify-items: start; }
[data-design="a"] .pt-done__mark {
  width: 28px; height: 14px; margin: 0;
  border-left: 3px solid var(--pt-success); border-bottom: 3px solid var(--pt-success);
  transform: rotate(-45deg) scale(0.95); opacity: 0;
  animation: pt-done-seat-a 300ms var(--pt-swing) 100ms forwards;
}
@keyframes pt-done-seat-a { to { transform: rotate(-45deg) scale(1); opacity: 1; } }
[data-design="a"] .pt-done__msg { margin: 0; font-weight: 600; color: var(--pt-blued); }
[data-design="a"] .pt-funnel-back {
  margin-top: var(--pt-run); background: none; border: 0; cursor: pointer;
  color: var(--pt-zinc); font: 400 0.88rem "IBM Plex Mono", "Courier New", monospace;
  min-height: 44px; padding: var(--pt-heel) 0;
}
[data-design="a"] .pt-funnel-back:focus-visible { outline: 2px solid var(--pt-square); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .pt-step.is-entering { animation: none; }
  [data-design="a"] .pt-gauge__needle,
  [data-design="a"] .pt-pitchset__arm,
  [data-design="a"] .pt-funnel-rake { transition: none; }
  [data-design="a"] .pt-done__mark { animation: none; opacity: 1; transform: rotate(-45deg); }
}

/* ---------- Pointer — Element 6 ---------- */
[data-design="a"] .pt-pointer {
  display: grid; grid-template-columns: auto auto; align-items: start; justify-content: center;
  gap: var(--pt-seat); padding: var(--pt-rise) 0; background: var(--pt-chalk);
  opacity: 1; min-height: 96px;
}
[data-design="a"] .pt-pointer__tick {
  width: 16px; height: 1px; background: var(--pt-blued); margin-top: 0;
  grid-column: 1; justify-self: center;
}
[data-design="a"] .pt-pointer__line {
  grid-column: 1; grid-row: 2; justify-self: center;
  width: 1px; height: 64px; background: var(--pt-keel);
  transform-origin: top center; transform: scaleY(0);
  animation: pt-pointer-strike-a 5s var(--pt-strike) infinite;
}
@keyframes pt-pointer-strike-a {
  0%   { transform: scaleY(0); opacity: 1; }
  22%  { transform: scaleY(1); opacity: 1; }
  82%  { transform: scaleY(1); opacity: 1; }
  95%  { transform: scaleY(1); opacity: 0; }
  100% { transform: scaleY(0); opacity: 0; }
}
[data-design="a"] .pt-pointer__label {
  grid-column: 2; grid-row: 2; align-self: center;
  max-width: 16ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-family: "IBM Plex Mono", "Courier New", monospace; font-size: 0.82rem;
  letter-spacing: 0.07em; text-transform: uppercase; color: var(--pt-zinc); opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .pt-pointer__line { animation: none; transform: scaleY(1); }
}

/* ---------- Scroll handoff — Element 7 ---------- */
[data-design="a"] .pt-handoff { padding: var(--pt-plate) 0 var(--pt-span); background: var(--pt-chalk); }
[data-design="a"] .pt-handoff__col { max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); }
[data-design="a"] .pt-handoff__title {
  position: relative; margin: 0 0 var(--pt-run); display: inline-block;
  font-family: "Archivo Expanded", "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600; font-size: clamp(1.6rem, 3.4vw, 2.2rem); color: var(--pt-blued);
}
[data-design="a"] .pt-handoff__rule {
  position: absolute; left: 0; bottom: -10px; width: 100%; height: 2px; background: var(--pt-keel);
  transform-origin: left center; transform: scaleX(1);
}
[data-design="a"] .pt-handoff__body { max-width: 66ch; line-height: 1.6; color: var(--pt-blued); }
@supports (animation-timeline: view()) {
  [data-design="a"] .pt-hero__svg {
    animation: pt-scroll-stepoff-a linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 100%;
  }
  @keyframes pt-scroll-stepoff-a {
    to { transform: translate3d(0, -7%, 0) scale(1.02); opacity: 0.45; }
  }
  [data-design="a"] .pt-handoff__rule {
    animation: pt-scroll-strike-a linear both;
    animation-timeline: view();
    animation-range: entry 10% entry 60%;
  }
  @keyframes pt-scroll-strike-a {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
  }
  [data-design="a"] .pt-handoff__body {
    animation: pt-scroll-seat-a linear both;
    animation-timeline: view();
    animation-range: entry 15% entry 70%;
  }
  @keyframes pt-scroll-seat-a {
    from { transform: translateY(20px); opacity: 0.2; }
    to   { transform: translateY(0); opacity: 1; }
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .pt-hero__svg,
  [data-design="a"] .pt-handoff__rule,
  [data-design="a"] .pt-handoff__body { animation: none; transform: none; opacity: 1; }
}

/* ---------- Footer ---------- */
[data-design="a"] .pt-footer { background: var(--pt-slate); color: var(--pt-chalk); padding: var(--pt-plate) 0 var(--pt-run); }
[data-design="a"] .pt-footer__col {
  max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px);
  display: grid; gap: var(--pt-rise); grid-template-columns: repeat(3, 1fr);
}
[data-design="a"] .pt-footer__firm { margin: 0 0 var(--pt-heel); font-family: "Archivo Expanded", "Archivo", "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-size: 1.1rem; }
[data-design="a"] .pt-footer__meta { margin: 0; color: var(--pt-zinc); font-size: 0.88rem; }
[data-design="a"] .pt-footer__group nav { display: grid; gap: var(--pt-heel); }
[data-design="a"] .pt-footer__group nav a { color: var(--pt-chalk); text-decoration: none; min-height: 44px; display: flex; align-items: center;
  font-family: "IBM Plex Mono", "Courier New", monospace; font-size: 0.85rem; letter-spacing: 0.05em; }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .pt-footer__group nav a:hover { color: var(--pt-keel); }
}
[data-design="a"] .pt-footer__phone {
  color: var(--pt-keel); text-decoration: none; font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 1.05rem; letter-spacing: 0.05em; display: inline-flex; min-height: 44px; align-items: center;
}
[data-design="a"] .pt-footer__area { margin: var(--pt-heel) 0 0; max-width: 40ch; color: var(--pt-zinc); font-size: 0.85rem; line-height: 1.6; }
[data-design="a"] .pt-footer__legal { grid-column: 1 / -1; margin: var(--pt-run) 0 0; padding-top: var(--pt-seat); border-top: 1px solid rgba(242,241,236,0.18); color: var(--pt-zinc); font-size: 0.82rem; }
@media (max-width: 768px) {
  [data-design="a"] .pt-footer__col { grid-template-columns: 1fr; gap: var(--pt-run); }
}

/* ===== Mobile guardrails (appended, scoped to .dq-design only) ===== */
[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;}

/* stranded-wrapper autofix (drain 2026-07-03): every fixed max-width column centers — gate content_uncentered_left_stranded */
[data-design="a"] .pt-cta-mode { margin-inline: auto; }
[data-design="a"] .pt-hero__sub { margin-inline: auto; }
[data-design="a"] .pt-table__main p { margin-inline: auto; }
[data-design="a"] .pt-funnel-rake { margin-inline: auto; }
[data-design="a"] .pt-funnel-sub { margin-inline: auto; }
[data-design="a"] .pt-handoff__body { margin-inline: auto; }
[data-design="a"] .pt-footer__area { margin-inline: auto; }

/* 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; }
