/* ===== Pin & Punch List — design-a (handyman, adapted from the Pitch design system) ===== */

[data-design="a"] {
  --design-a-primary: #A83A18;
  --pt-chalk: #F4EFE2;
  --pt-sheet: #E8E4D8;
  --pt-blued: #3A3229;
  --pt-zinc: #8A8272;
  --pt-keel: #A83A18;
  --pt-keel-deep: #822C11;
  --pt-square: #4C6B57;
  --pt-slate: #2B2620;
  --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: 80px; --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(58, 50, 41, 0.16);
  --pt-under: 0 12px 28px -14px rgba(58, 50, 41, 0.4);

  background: var(--pt-chalk);
  color: var(--pt-blued);
  isolation: isolate;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
}

[data-design="a"].dq-design * { box-sizing: border-box; }

/* ---------- Header ---------- */
[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: a-peak-travel 28s linear infinite;
}
@keyframes a-peak-travel {
  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: a-nav; }
[data-design="a"] .pt-drawer__table li {
  border-bottom: 1px solid rgba(244, 239, 226, 0.18);
  opacity: 0; transform: translateY(-8px);
}
[data-design="a"] .pt-drawer.is-open .pt-drawer__table li {
  animation: a-row-lay 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 a-row-lay { 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(a-nav, decimal-leading-zero) " —"; counter-increment: a-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); }
}

/* ---------- Hero ---------- */
[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__rake {
  transform-origin: 180px 560px; transform: scaleX(0) scaleY(0);
  animation: a-rake-strike 900ms var(--pt-strike) 200ms forwards;
}
[data-design="a"] .pt-hero__rake--r { transform-origin: 1260px 560px; animation-delay: 500ms; }
@keyframes a-rake-strike { to { transform: scaleX(1) scaleY(1); } }
[data-design="a"] .pt-hero__dims, [data-design="a"] .pt-hero__stamps {
  opacity: 0; animation: a-dims-set 600ms ease-out 1300ms forwards;
}
@keyframes a-dims-set { to { opacity: 0.6; } }
[data-design="a"] .pt-hero__stamps { animation-name: a-stamps-set; }
@keyframes a-stamps-set { to { opacity: 1; } }
[data-design="a"] .pt-hero__light { animation: a-rake-light 8s linear infinite; }
@keyframes a-rake-light {
  0%   { transform: rotate(20deg) translate3d(0, 0, 0); opacity: 0; }
  12%  { opacity: 0.9; }
  60%  { opacity: 0.9; }
  100% { transform: rotate(20deg) translate3d(1500px, 0, 0); opacity: 0; }
}
[data-design="a"] .pt-hero__col {
  position: relative; z-index: 1;
  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; 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);
  position: relative; z-index: 2;
}
[data-design="a"] .pt-hero__sub { margin: 0; max-width: 62ch; font-size: 1.14rem; line-height: 1.6; color: var(--pt-blued); opacity: 1; position: relative; z-index: 2; }
[data-design="a"] .pt-hero__proof {
  margin: 0; font-family: "IBM Plex Mono", "Courier New", monospace; opacity: 1; position: relative; z-index: 2;
  font-size: 0.88rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--pt-zinc);
}
@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); }
}

/* ---------- CTA group (hero + repeated) ---------- */
[data-design="a"] .pt-cta-group { display: flex; flex-wrap: wrap; gap: var(--pt-seat); align-items: center; position: relative; z-index: 2; }
[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(244, 239, 226, 0.55), transparent);
  transform: translateX(-40px) rotate(12deg);
  animation: a-cta-sheen 5s var(--pt-strike) infinite;
}
@keyframes a-cta-sheen {
  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(58,50,41,0.16); }

[data-design="a"] .pt-phone-cta {
  display: inline-flex; align-items: center; gap: var(--pt-heel);
  min-height: 56px; min-width: 56px; padding: var(--pt-heel) var(--pt-seat);
  border: 1px solid var(--pt-blued); color: var(--pt-blued); text-decoration: none;
  font-family: "IBM Plex Mono", "Courier New", monospace; font-size: 0.95rem; letter-spacing: 0.05em;
  transition: border-color 160ms ease-out, color 160ms ease-out;
  opacity: 1;
}
[data-design="a"] .pt-phone-cta__ico { font-size: 1.1rem; }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .pt-phone-cta:hover { border-color: var(--pt-keel); color: var(--pt-keel-deep); }
}
[data-design="a"] .pt-phone-cta:focus-visible { outline: 2px solid var(--pt-square); outline-offset: 2px; }
[data-design="a"] .pt-phone-cta--done { margin-top: var(--pt-seat); }

/* ---------- Pointer ---------- */
[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;
}
[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: a-pointer-strike 5s var(--pt-strike) infinite;
}
@keyframes a-pointer-strike {
  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; opacity: 1;
  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);
}

/* ---------- Funnel (Pin My Job) ---------- */
[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, [data-design="a"] .pt-funnel-live {
  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-live { min-height: 1.4em; }
[data-design="a"] .pt-step { border: 0; margin: 0; padding: 0; display: none; }
[data-design="a"] .pt-step.is-active { display: grid; gap: var(--pt-run); }
[data-design="a"] .pt-step.is-entering { animation: a-plumb-in 240ms var(--pt-strike); }
@keyframes a-plumb-in {
  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);
  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(58,50,41,0.16); border-color: var(--pt-keel-deep); color: var(--pt-keel-deep); }
[data-design="a"] .pt-step-next {
  justify-self: start; min-height: 44px; padding: var(--pt-heel) var(--pt-seat);
  background: none; border: 1px solid var(--pt-blued); color: var(--pt-blued); cursor: pointer;
  font-family: "IBM Plex Mono", "Courier New", monospace; font-size: 0.88rem; letter-spacing: 0.05em;
  transition: border-color 110ms ease-out, color 110ms ease-out;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .pt-step-next:hover { border-color: var(--pt-keel); color: var(--pt-keel-deep); }
}
[data-design="a"] .pt-step-next:focus-visible { outline: 2px solid var(--pt-square); outline-offset: 2px; }
[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-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: a-done-seat 300ms var(--pt-swing) 100ms forwards;
}
@keyframes a-done-seat { 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; }

/* ---------- Rafter table / The Board (breadth-list) ---------- */
[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: a-restrike 18s var(--pt-strike) infinite; }
@keyframes a-restrike {
  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: a-rule-strike 500ms var(--pt-strike) forwards; }
@keyframes a-rule-strike { to { transform: scaleX(1); } }
[data-design="a"] .pt-table__repeat-cta { margin-top: var(--pt-rise); }
@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; }
}

/* ---------- Scroll handoff (About lead-in) ---------- */
[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); }
[data-design="a"] .pt-handoff__body p { margin: 0; }
@supports (animation-timeline: view()) {
  [data-design="a"] .pt-hero__svg {
    animation: a-scroll-stepoff linear both;
    animation-timeline: view();
    animation-range: exit 0% exit 100%;
  }
  @keyframes a-scroll-stepoff { to { transform: translate3d(0, -7%, 0) scale(1.02); opacity: 0.45; } }
  [data-design="a"] .pt-handoff__rule {
    animation: a-scroll-strike linear both;
    animation-timeline: view();
    animation-range: entry 10% entry 60%;
  }
  @keyframes a-scroll-strike { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  [data-design="a"] .pt-handoff__body {
    animation: a-scroll-seat linear both;
    animation-timeline: view();
    animation-range: entry 15% entry 70%;
  }
  @keyframes a-scroll-seat { from { transform: translateY(20px); opacity: 0.2; } to { transform: translateY(0); opacity: 1; } }
}

/* ---------- About ---------- */
[data-design="a"] .pt-about { padding: var(--pt-plate) 0; background: var(--pt-sheet); }
[data-design="a"] .pt-about__col { max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); display: grid; gap: var(--pt-run); max-width: 66ch; }
[data-design="a"] .pt-about__title {
  margin: 0; 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-about__body { margin: 0; line-height: 1.6; color: var(--pt-blued); }
[data-design="a"] .pt-about__badges { display: flex; flex-wrap: wrap; gap: var(--pt-seat); }
[data-design="a"] .pt-badge {
  display: inline-flex; align-items: center; min-height: 32px; padding: var(--pt-heel) var(--pt-seat);
  border: 1px solid var(--pt-blued); font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 0.82rem; letter-spacing: 0.07em; text-transform: uppercase; color: var(--pt-blued);
}

/* ---------- 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__block { display: grid; gap: var(--pt-heel); align-content: start; }
[data-design="a"] .pt-footer__brand { margin: 0; font-family: "Archivo Expanded", "Archivo", "Helvetica Neue", Arial, sans-serif; font-weight: 700; }
[data-design="a"] .pt-footer__note { margin: 0; color: var(--pt-zinc); font-size: 0.88rem; }
[data-design="a"] .pt-footer__link {
  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.88rem; letter-spacing: 0.05em;
}
[data-design="a"] .pt-footer__link--phone { color: var(--pt-keel); }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .pt-footer__link:hover { color: var(--pt-keel); }
}
@media (max-width: 768px) {
  [data-design="a"] .pt-footer__col { grid-template-columns: 1fr; gap: var(--pt-run); }
}

/* ---------- Reduced motion ---------- */
@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; }
  [data-design="a"] .pt-hero__rake { animation: none; transform: none; }
  [data-design="a"] .pt-hero__dims { animation: none; opacity: 0.6; }
  [data-design="a"] .pt-hero__stamps { animation: none; opacity: 1; }
  [data-design="a"] .pt-hero__light { animation: none; transform: rotate(20deg) translate3d(500px, 0, 0); opacity: 0.5; }
  [data-design="a"] .pt-cta__sheen { animation: none; opacity: 0; }
  [data-design="a"] .pt-cta, [data-design="a"] .pt-phone-cta { transition: none; }
  [data-design="a"] .pt-pointer__line { animation: none; transform: scaleY(1); }
  [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); }
  [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); }
  [data-design="a"] .pt-hero__svg,
  [data-design="a"] .pt-handoff__rule,
  [data-design="a"] .pt-handoff__body { animation: none; transform: none; opacity: 1; }
}

@media (max-width: 560px) { [data-design="a"] .pt-header__bar { min-height: 56px; } }

/* ---------- Mobile safety net (append at bottom, per hard contract) ---------- */
[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;}

/* 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; }
