/* ===========================================================================
   DESIGN-A SLICE — Spokane Roofing Company
   Base design: Almanac Press (editorial field-manual) · trade: roofing
   ALL selectors scoped [data-design="a"]. Newspaper affectation stripped
   (no fake volume/edition/clock). Planning-only roofing site.
   =========================================================================== */

[data-design="a"] {
  /* --- exposed primary --- */
  --design-a-primary: #1B1A17;

  /* --- trade-rooted palette: cotton-rag paper, oxidized ink, weathered
         slate/asphalt, cyan+brick registration plates (~14 tokens) --- */
  --ap-paper:      #F2EAD6;
  --ap-paper-deep: #E6DBBE;
  --ap-ink:        #1B1A17;
  --ap-ink-soft:   #3D3A33;
  --ap-muted:      #7A7363;
  --ap-rule:       #2A2722;
  --ap-cyan:       #1E5E6E;
  --ap-brick:      #A53A2A;
  --ap-ochre:      #B98421;
  --ap-slate:      #4A525A;   /* weathered roof-slate */
  --ap-moss:       #4D5A2C;
  --ap-critical:   #7A1F14;

  /* --- type --- */
  --ap-font-display: "Old Standard TT", "Bodoni 72", Didot, Georgia, serif;
  --ap-font-body:    "Crimson Pro", "Hoefler Text", Georgia, serif;
  --ap-font-stamp:   "Special Elite", "American Typewriter", ui-monospace, monospace;
  --ap-font-mono:    "JetBrains Mono", "SF Mono", Menlo, monospace;

  --ap-text-xs:   12px;
  --ap-text-sm:   14px;
  --ap-text-base: clamp(16px, 1.1vw, 18px);
  --ap-text-md:   20px;
  --ap-text-lg:   28px;
  --ap-text-xl:   40px;
  --ap-text-2xl: clamp(40px, 8vw, 72px);

  /* --- spacing (printer's furniture) --- */
  --ap-space-quad:      4px;
  --ap-space-em:        8px;
  --ap-space-pica:     12px;
  --ap-space-leading:  16px;
  --ap-space-folio:    24px;
  --ap-space-column:   40px;
  --ap-space-signature:64px;
  --ap-space-gutter:   96px;
  --ap-space-bleed:   144px;

  /* --- motion --- */
  --ap-dur-snap:   160ms;
  --ap-dur-settle: 320ms;
  --ap-dur-unfurl: 640ms;
  --ap-dur-press: 22000ms;
  --ap-ease-paper:   cubic-bezier(.22, .61, .36, 1);
  --ap-ease-release: cubic-bezier(.16, 1, .3, 1);
  --ap-ease-tide:    cubic-bezier(.45, .05, .55, .95);

  --ap-shadow-deboss: inset 0 1px 0 rgba(27,26,23,.06), inset 0 -1px 0 rgba(27,26,23,.12);

  background: var(--ap-paper);
  color: var(--ap-ink);
  font-family: var(--ap-font-body);
  font-size: var(--ap-text-base);
  line-height: 1.65;
}

[data-design="a"] *,
[data-design="a"] *::before,
[data-design="a"] *::after { box-sizing: border-box; }

[data-design="a"] h1,
[data-design="a"] h2 { font-family: var(--ap-font-display); font-weight: 700; }

/* ============================ ELEMENT 1 — HEADER =========================== */
[data-design="a"] .ap-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--ap-paper);
  border-bottom: 1px solid var(--ap-rule);
  font-family: var(--ap-font-stamp);
}
[data-design="a"] .ap-header__bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--ap-space-leading);
  padding: var(--ap-space-leading) clamp(16px, 4vw, 40px);
  max-width: 1280px; margin: 0 auto;
}
[data-design="a"] .ap-logo {
  text-decoration: none; color: var(--ap-ink);
  display: inline-flex; align-items: baseline;
}
[data-design="a"] .ap-logo__mark {
  position: relative;
  font-family: var(--ap-font-display); font-weight: 700;
  font-size: clamp(18px, 2.6vw, 26px); letter-spacing: -0.01em;
  isolation: isolate; white-space: nowrap;
}
[data-design="a"] .ap-logo__name { position: relative; z-index: 3; color: var(--ap-ink); }
[data-design="a"] .ap-logo__reg { font-size: .55em; vertical-align: super; }
[data-design="a"] .ap-logo__plate {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  mix-blend-mode: multiply; font: inherit; white-space: nowrap;
}
[data-design="a"] .ap-logo__plate::before { content: attr(data-text); }
[data-design="a"] .ap-logo__plate--cyan {
  z-index: 2; color: var(--ap-cyan); opacity: .55;
  transform: translate(8px, 4px);
  transition: transform 320ms var(--ap-ease-release);
}
[data-design="a"] .ap-logo__plate--brick {
  z-index: 1; color: var(--ap-brick); opacity: .55;
  transform: translate(-8px, -4px);
  transition: transform 320ms var(--ap-ease-release) 40ms;
}
[data-design="a"] .ap-header--registered .ap-logo__plate--cyan  { transform: translate(2px, 1px); }
[data-design="a"] .ap-header--registered .ap-logo__plate--brick { transform: translate(-2px, -1px); }

[data-design="a"] .ap-burger {
  display: inline-flex; flex-direction: column; justify-content: center;
  gap: 5px; width: 44px; height: 44px; padding: 10px;
  background: none; border: 1px solid var(--ap-rule); border-radius: 0;
  cursor: pointer; flex: 0 0 auto;
}
[data-design="a"] .ap-burger__line {
  display: block; height: 2px; width: 100%; background: var(--ap-ink);
}
[data-design="a"] .ap-header__rule {
  height: 1px; background: var(--ap-rule);
  animation: ap-rule-breath var(--ap-dur-press) var(--ap-ease-tide) infinite;
}
@keyframes ap-rule-breath {
  0%, 100% { background: var(--ap-rule); }
  25%      { background: var(--ap-cyan);  opacity: .55; }
  50%      { background: var(--ap-rule); }
  75%      { background: var(--ap-brick); opacity: .55; }
}

/* ============================ DRAWER ====================================== */
[data-design="a"] .ap-drawer { position: fixed; inset: 0; z-index: 100; }
[data-design="a"] .ap-drawer[hidden] { display: none; }
[data-design="a"] .ap-drawer__backdrop {
  position: absolute; inset: 0; background: rgba(27,26,23,.82);
}
[data-design="a"] .ap-drawer__panel {
  position: absolute; top: 0; right: 0; height: 100%;
  width: min(360px, 86vw);
  background: var(--ap-paper);
  border-left: 1px solid var(--ap-rule);
  padding: var(--ap-space-folio);
  display: flex; flex-direction: column; gap: var(--ap-space-folio);
  overflow-y: auto;
}
[data-design="a"] .ap-drawer__head {
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--ap-rule); padding-bottom: var(--ap-space-pica);
}
[data-design="a"] .ap-drawer__stamp {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .12em; text-transform: uppercase; color: var(--ap-muted);
}
[data-design="a"] .ap-drawer__close {
  width: 44px; height: 44px; background: none; border: none;
  font-size: 28px; line-height: 1; color: var(--ap-ink); cursor: pointer;
}
[data-design="a"] .ap-drawer__nav { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ap-space-em); }
[data-design="a"] .ap-drawer__link {
  display: block; padding: var(--ap-space-pica) 0;
  font-family: var(--ap-font-display); font-size: var(--ap-text-md);
  color: var(--ap-ink); text-decoration: none;
  border-bottom: 1px solid var(--ap-rule);
}
[data-design="a"] .ap-drawer__link:hover { color: var(--ap-brick); }
[data-design="a"] .ap-drawer__phone {
  text-decoration: none; color: var(--ap-ink);
  display: flex; flex-direction: column; gap: 2px; margin-top: auto;
  min-height: 44px; justify-content: center;
}
[data-design="a"] .ap-drawer__phone-stamp {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .12em; color: var(--ap-muted); text-transform: uppercase;
}
[data-design="a"] .ap-drawer__phone-num { font-family: var(--ap-font-mono); font-size: var(--ap-text-md); }

/* ============================ ELEMENT 2 — CTA (Plate Button) ============== */
[data-design="a"] .ap-cta {
  position: relative; display: inline-flex; align-items: center;
  gap: var(--ap-space-pica); padding: 14px 24px; min-height: 44px;
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-sm);
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--ap-paper); background: var(--ap-ink);
  border: none; border-radius: 0; text-decoration: none; cursor: pointer;
  isolation: isolate;
  transition: transform 120ms var(--ap-ease-release);
}
[data-design="a"] .ap-cta__plate {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  transition: transform 320ms var(--ap-ease-release);
}
[data-design="a"] .ap-cta__plate--cyan {
  background: var(--ap-cyan); opacity: .55; transform: translate(3px, 2px);
  animation: ap-cta-breath-cyan 5s var(--ap-ease-tide) infinite;
}
[data-design="a"] .ap-cta__plate--brick {
  background: var(--ap-brick); opacity: .55; transform: translate(-3px, -2px);
  animation: ap-cta-breath-brick 5s var(--ap-ease-tide) infinite;
}
@keyframes ap-cta-breath-cyan  { 0%,100% { transform: translate(2px,1px); } 50% { transform: translate(4px,2px); } }
@keyframes ap-cta-breath-brick { 0%,100% { transform: translate(-2px,-1px);} 50% { transform: translate(-4px,-2px);} }
[data-design="a"] .ap-cta__arrow { display: inline-block; transition: transform 200ms var(--ap-ease-release); }
[data-design="a"] .ap-cta:hover .ap-cta__plate--cyan,
[data-design="a"] .ap-cta:focus-visible .ap-cta__plate--cyan { animation: none; transform: translate(8px, 4px); }
[data-design="a"] .ap-cta:hover .ap-cta__plate--brick,
[data-design="a"] .ap-cta:focus-visible .ap-cta__plate--brick { animation: none; transform: translate(-8px, -4px); }
[data-design="a"] .ap-cta:hover .ap-cta__arrow,
[data-design="a"] .ap-cta:focus-visible .ap-cta__arrow { transform: translateX(4px); }
[data-design="a"] .ap-cta:focus-visible { outline: 2px solid var(--ap-cyan); outline-offset: 4px; }
[data-design="a"] .ap-cta:active { transform: translate(1px, 1px); box-shadow: var(--ap-shadow-deboss); }
[data-design="a"] .ap-cta:active .ap-cta__plate--cyan,
[data-design="a"] .ap-cta:active .ap-cta__plate--brick { animation: none; transform: translate(0,0); transition-duration: 80ms; }
[data-design="a"] .ap-cta--drawer,
[data-design="a"] .ap-cta--footer,
[data-design="a"] .ap-cta--submit { justify-content: center; }

/* ============================ HERO ======================================== */
[data-design="a"] .ap-hero {
  position: relative; overflow: hidden;
  min-height: clamp(520px, 78vh, 760px);
  display: flex; align-items: center;
  padding: var(--ap-space-bleed) clamp(16px, 5vw, 40px);
  background: var(--ap-paper);
}
[data-design="a"] .ap-hero__backdrop { position: absolute; inset: 0; z-index: 0; }
[data-design="a"] .ap-hero__svg { width: 100%; height: 100%; display: block; }
[data-design="a"] .ap-hero__wash { fill: var(--ap-paper-deep); }
[data-design="a"] .ap-hero__courses { stroke: var(--ap-slate); stroke-width: 6; opacity: .5; }
[data-design="a"] .ap-course {
  fill: none; stroke-linecap: square;
  stroke-dasharray: 1000; stroke-dashoffset: 1000;
  animation: ap-course-lay 7s var(--ap-ease-paper) infinite;
}
[data-design="a"] .ap-course:nth-child(1) { animation-delay: 0s; }
[data-design="a"] .ap-course:nth-child(2) { animation-delay: .35s; }
[data-design="a"] .ap-course:nth-child(3) { animation-delay: .7s; }
[data-design="a"] .ap-course:nth-child(4) { animation-delay: 1.05s; }
[data-design="a"] .ap-course:nth-child(5) { animation-delay: 1.4s; }
[data-design="a"] .ap-course:nth-child(6) { animation-delay: 1.75s; }
[data-design="a"] .ap-course:nth-child(7) { animation-delay: 2.1s; }
[data-design="a"] .ap-course:nth-child(8) { animation-delay: 2.45s; }
@keyframes ap-course-lay {
  0%   { stroke-dashoffset: 1000; opacity: .12; }
  35%  { stroke-dashoffset: 0;    opacity: .55; }
  85%  { stroke-dashoffset: 0;    opacity: .5; }
  100% { stroke-dashoffset: 1000; opacity: .12; }
}
[data-design="a"] .ap-hero__ridge {
  fill: none; stroke: var(--ap-brick); stroke-width: 2; opacity: .55;
  stroke-dasharray: 1600; stroke-dashoffset: 1600;
  animation: ap-ridge-draw 9s var(--ap-ease-tide) infinite;
}
@keyframes ap-ridge-draw {
  0%   { stroke-dashoffset: 1600; }
  40%  { stroke-dashoffset: 0; }
  90%  { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: 1600; }
}
[data-design="a"] .ap-hero__inner {
  position: relative; z-index: 1; max-width: 760px;
}
[data-design="a"] .ap-hero__eyebrow {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .18em; text-transform: uppercase; color: var(--ap-muted);
  margin: 0 0 var(--ap-space-leading);
}
[data-design="a"] .ap-hero__title {
  font-size: var(--ap-text-2xl); line-height: 1.04; margin: 0 0 var(--ap-space-folio);
  color: var(--ap-ink); max-width: 16ch;
}
[data-design="a"] .ap-hero__sub {
  font-size: var(--ap-text-md); line-height: 1.5; color: var(--ap-ink-soft);
  margin: 0 0 var(--ap-space-leading); max-width: 60ch;
}
[data-design="a"] .ap-hero__proof {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-sm);
  letter-spacing: .06em; color: var(--ap-cyan); margin: 0 0 var(--ap-space-column);
}
[data-design="a"] .ap-hero__cta {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--ap-space-leading);
}
[data-design="a"] .ap-hero__chip {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .12em; text-transform: uppercase; color: var(--ap-ink);
  background: var(--ap-paper); border: 1px solid var(--ap-rule);
  padding: 6px 10px;
}

/* ============================ ELEMENT 6 — POINTER ========================= */
[data-design="a"] .ap-pointer {
  display: flex; justify-content: center;
  padding: clamp(40px, 8vw, 72px) 16px clamp(48px, 9vw, 88px);
  background: var(--ap-paper); color: var(--ap-ink);
}
[data-design="a"] .ap-pointer__inner {
  display: inline-flex; flex-direction: column; align-items: center; gap: var(--ap-space-em);
}
[data-design="a"] .ap-pointer__tick { display: block; width: 18px; height: 1px; background: currentColor; opacity: .7; }
[data-design="a"] .ap-pointer__rule {
  display: block; width: 1px; height: 56px; background: currentColor;
  transform-origin: top center;
  animation: ap-pointer-extend 5s ease-in-out infinite;
}
[data-design="a"] .ap-pointer__label {
  font-family: var(--ap-font-stamp); font-size: 11px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--ap-muted);
  animation: ap-pointer-stamp 5s ease-in-out infinite;
}
@keyframes ap-pointer-extend { 0%,100% { transform: scaleY(.55); opacity: .5; } 50% { transform: scaleY(1); opacity: .9; } }
@keyframes ap-pointer-stamp  { 0%,30%,100% { opacity: .35; } 50%,70% { opacity: .9; } }

/* ============================ ELEMENT 5 — FUNNEL ========================== */
[data-design="a"] .ap-funnel {
  background: var(--ap-paper-deep);
  padding: var(--ap-space-gutter) clamp(16px, 5vw, 40px);
  max-width: 1280px; margin: 0 auto;
}
[data-design="a"] .ap-funnel__head { max-width: 60ch; margin-bottom: var(--ap-space-column); }
[data-design="a"] .ap-funnel__stamp,
[data-design="a"] .ap-roll__stamp,
[data-design="a"] .ap-ledger__stamp,
[data-design="a"] .ap-barometer__stamp,
[data-design="a"] .ap-footer__stamp {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .12em; text-transform: uppercase; color: var(--ap-muted);
  margin: 0 0 var(--ap-space-leading);
}
[data-design="a"] .ap-funnel__title { font-size: var(--ap-text-xl); line-height: 1.12; margin: 0 0 var(--ap-space-leading); }
[data-design="a"] .ap-funnel__deck { font-size: var(--ap-text-base); color: var(--ap-ink-soft); margin: 0; max-width: 60ch; }

[data-design="a"] .ap-step {
  border: 1px solid var(--ap-rule); border-top: 2px solid var(--ap-ink);
  background: var(--ap-paper); padding: var(--ap-space-folio);
  margin: 0; min-width: 0;
}
[data-design="a"] .ap-step[hidden] { display: none; }
[data-design="a"] .ap-step__legend {
  font-family: var(--ap-font-display); font-size: var(--ap-text-md);
  color: var(--ap-ink); padding: 0; display: block; margin-bottom: var(--ap-space-leading);
}
[data-design="a"] .ap-step__index {
  display: inline-block; font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .12em; color: var(--ap-brick); margin-right: var(--ap-space-em);
}
[data-design="a"] .ap-step__note,
[data-design="a"] .ap-step__expect,
[data-design="a"] .ap-step__deck {
  font-size: var(--ap-text-sm); color: var(--ap-muted); font-style: italic;
  margin: var(--ap-space-leading) 0 0; max-width: 60ch;
}
[data-design="a"] .ap-step__note { margin: 0 0 var(--ap-space-leading); }
[data-design="a"] .ap-options { display: flex; flex-wrap: wrap; gap: var(--ap-space-pica); }
[data-design="a"] .ap-opt {
  font-family: var(--ap-font-body); font-size: var(--ap-text-base);
  color: var(--ap-ink); background: var(--ap-paper);
  border: 1px solid var(--ap-rule); border-radius: 0;
  padding: 12px 18px; min-height: 44px; cursor: pointer; text-align: left;
  transition: background-color 160ms var(--ap-ease-paper), box-shadow 160ms var(--ap-ease-paper);
}
[data-design="a"] .ap-opt:hover,
[data-design="a"] .ap-opt:focus-visible {
  background: var(--ap-paper-deep);
  box-shadow: 2px 1px 0 rgba(30,94,110,.55), -2px -1px 0 rgba(165,58,42,.55);
  outline: none;
}
[data-design="a"] .ap-opt[aria-pressed="true"] { background: var(--ap-ink); color: var(--ap-paper); }

[data-design="a"] .ap-field { margin-bottom: var(--ap-space-leading); }
[data-design="a"] .ap-field__label {
  display: block; font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .12em; text-transform: uppercase; color: var(--ap-ink);
  margin-bottom: var(--ap-space-em);
}
[data-design="a"] .ap-field__req { color: var(--ap-brick); }
[data-design="a"] .ap-field__input {
  width: 100%; min-width: 0; padding: 12px;
  border: 1px solid var(--ap-rule); border-radius: 0;
  background: var(--ap-paper); color: var(--ap-ink);
  font-family: var(--ap-font-mono); font-size: var(--ap-text-base);
}
[data-design="a"] .ap-field__input--area { font-family: var(--ap-font-body); resize: vertical; }
[data-design="a"] .ap-field__input:focus {
  outline: none; border-color: var(--ap-ink); border-width: 2px; padding: 11px;
  box-shadow: 2px 1px 0 rgba(30,94,110,.55);
}
[data-design="a"] .ap-inline-tel { color: var(--ap-cyan); font-family: var(--ap-font-mono); }
[data-design="a"] .ap-funnel__foot {
  margin-top: var(--ap-space-column); padding-top: var(--ap-space-folio);
  border-top: 1px solid var(--ap-rule);
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .08em; color: var(--ap-muted); text-transform: uppercase;
}

/* ============================ ELEMENT 4 — ROLL =========================== */
[data-design="a"] .ap-roll {
  background: var(--ap-paper);
  padding: var(--ap-space-gutter) clamp(16px, 5vw, 40px);
  max-width: 1280px; margin: 0 auto;
}
[data-design="a"] .ap-roll__title { font-size: var(--ap-text-2xl); line-height: 1.05; margin: 0 0 var(--ap-space-column); }
[data-design="a"] .ap-roll__list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--ap-rule); }
[data-design="a"] .ap-roll__item {
  display: grid; grid-template-columns: auto 1fr auto; gap: var(--ap-space-column);
  align-items: baseline; padding: var(--ap-space-folio) 0;
  border-bottom: 1px solid var(--ap-rule); position: relative;
  clip-path: inset(0 100% 0 0); opacity: 0;
  transition: clip-path var(--ap-dur-unfurl) var(--ap-ease-paper),
              opacity var(--ap-dur-unfurl) var(--ap-ease-paper);
}
[data-design="a"] .ap-roll__item--revealed { clip-path: inset(0 0 0 0); opacity: 1; }
[data-design="a"] .ap-roll__item--revealed::after {
  content: ""; position: absolute; left: 0; bottom: -1px; width: 100%; height: 1px;
  background: var(--ap-cyan); opacity: 0;
  animation: ap-roll-second-pass 800ms var(--ap-ease-paper) 320ms forwards;
}
@keyframes ap-roll-second-pass { to { opacity: .55; } }
[data-design="a"] .ap-roll__num {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .12em; color: var(--ap-muted); text-transform: uppercase; min-width: 6ch;
}
[data-design="a"] .ap-roll__name { font-family: var(--ap-font-display); font-size: var(--ap-text-md); color: var(--ap-ink); }
[data-design="a"] .ap-roll__meta {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .1em; text-transform: uppercase; color: var(--ap-cyan);
}

/* ============================ LEDGER / BEFORE-AFTER ====================== */
[data-design="a"] .ap-ledger {
  background: var(--ap-paper-deep);
  padding: var(--ap-space-gutter) clamp(16px, 5vw, 40px);
  max-width: 1280px; margin: 0 auto;
}
[data-design="a"] .ap-ledger__head { max-width: 62ch; margin-bottom: var(--ap-space-column); }
[data-design="a"] .ap-ledger__title { font-size: var(--ap-text-xl); line-height: 1.12; margin: 0 0 var(--ap-space-leading); }
[data-design="a"] .ap-ledger__deck { font-size: var(--ap-text-base); color: var(--ap-ink-soft); margin: 0; }
[data-design="a"] .ap-colophon {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0; border-top: 1px solid var(--ap-rule); margin: 0 0 var(--ap-space-folio);
}
[data-design="a"] .ap-colophon__row {
  display: flex; justify-content: space-between; gap: var(--ap-space-leading);
  padding: var(--ap-space-pica) var(--ap-space-leading) var(--ap-space-pica) 0;
  border-bottom: 1px solid var(--ap-rule);
}
[data-design="a"] .ap-colophon dt {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .12em; color: var(--ap-muted); text-transform: uppercase;
}
[data-design="a"] .ap-colophon dd { margin: 0; font-family: var(--ap-font-mono); font-size: var(--ap-text-sm); color: var(--ap-ink); text-align: right; }
[data-design="a"] .ap-ledger__note { font-size: var(--ap-text-sm); font-style: italic; color: var(--ap-muted); max-width: 60ch; margin: 0 0 var(--ap-space-column); }
[data-design="a"] .ap-ledger__cta { display: flex; }

/* ============================ ELEMENT 3 — BAROMETER ====================== */
[data-design="a"] .ap-barometer {
  background: var(--ap-paper);
  padding: var(--ap-space-gutter) clamp(16px, 5vw, 40px);
  display: grid; grid-template-columns: 1fr; gap: var(--ap-space-column);
  max-width: 1280px; margin: 0 auto; color: var(--ap-rule);
}
@media (min-width: 768px) {
  [data-design="a"] .ap-barometer { grid-template-columns: 1.2fr 1fr; align-items: center; }
}
[data-design="a"] .ap-barometer__title { font-size: var(--ap-text-xl); line-height: 1.15; margin: 0 0 var(--ap-space-leading); color: var(--ap-ink); }
[data-design="a"] .ap-barometer__deck { font-family: var(--ap-font-body); font-size: var(--ap-text-base); color: var(--ap-ink-soft); margin: 0; max-width: 56ch; }
[data-design="a"] .ap-barometer__figure { position: relative; margin: 0; }
[data-design="a"] .ap-barometer__svg { width: 100%; height: auto; max-width: 420px; display: block; margin: 0 auto; }
[data-design="a"] .ap-barometer__ticks line { stroke: var(--ap-rule); stroke-width: 1.5; }
[data-design="a"] .ap-barometer__needle {
  transform-origin: 120px 132px;
  animation: ap-needle-tide 13s var(--ap-ease-tide) infinite;
}
@keyframes ap-needle-tide { 0%,100% { transform: rotate(-26deg); } 50% { transform: rotate(26deg); } }
[data-design="a"] .ap-barometer__reading { text-align: center; margin-top: var(--ap-space-leading); font-family: var(--ap-font-mono); }
[data-design="a"] .ap-barometer__value { font-size: var(--ap-text-lg); color: var(--ap-ink); display: block; font-variant-numeric: tabular-nums; }
[data-design="a"] .ap-barometer__unit {
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .12em; text-transform: uppercase; color: var(--ap-muted);
}

/* ============================ FOOTER ===================================== */
[data-design="a"] .ap-footer {
  background: var(--ap-ink); color: var(--ap-paper);
  padding: var(--ap-space-gutter) clamp(16px, 5vw, 40px) var(--ap-space-column);
}
[data-design="a"] .ap-footer__cols {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--ap-space-column); max-width: 1280px; margin: 0 auto var(--ap-space-column);
}
[data-design="a"] .ap-footer__name { font-family: var(--ap-font-display); font-size: var(--ap-text-md); margin: 0 0 var(--ap-space-em); }
[data-design="a"] .ap-footer__line { font-size: var(--ap-text-sm); color: var(--ap-paper-deep); margin: 0 0 var(--ap-space-quad); }
[data-design="a"] .ap-footer__stamp { color: var(--ap-paper-deep); }
[data-design="a"] .ap-footer__phone {
  display: inline-block; font-family: var(--ap-font-mono); font-size: var(--ap-text-md);
  color: var(--ap-paper); text-decoration: none; margin-bottom: var(--ap-space-leading); min-height: 44px;
}
[data-design="a"] .ap-footer .ap-cta { color: var(--ap-ink); background: var(--ap-paper); }
[data-design="a"] .ap-footer__imprint {
  display: flex; flex-wrap: wrap; gap: var(--ap-space-leading) var(--ap-space-column);
  justify-content: space-between; max-width: 1280px; margin: 0 auto;
  padding-top: var(--ap-space-folio); border-top: 1px solid var(--ap-muted);
  font-family: var(--ap-font-stamp); font-size: var(--ap-text-xs);
  letter-spacing: .1em; color: var(--ap-paper-deep);
}

/* ============================ REDUCED MOTION ============================= */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .ap-header__rule,
  [data-design="a"] .ap-course,
  [data-design="a"] .ap-hero__ridge,
  [data-design="a"] .ap-cta__plate,
  [data-design="a"] .ap-pointer__rule,
  [data-design="a"] .ap-pointer__label,
  [data-design="a"] .ap-barometer__needle { animation: none !important; }
  [data-design="a"] .ap-logo__plate--cyan  { transform: translate(2px,1px); transition: none; }
  [data-design="a"] .ap-logo__plate--brick { transform: translate(-2px,-1px); transition: none; }
  [data-design="a"] .ap-course { stroke-dashoffset: 0; opacity: .5; }
  [data-design="a"] .ap-hero__ridge { stroke-dashoffset: 0; }
  [data-design="a"] .ap-cta__plate--cyan  { transform: translate(3px,2px); }
  [data-design="a"] .ap-cta__plate--brick { transform: translate(-3px,-2px); }
  [data-design="a"] .ap-roll__item { transition: opacity 200ms linear; clip-path: inset(0 0 0 0); }
  [data-design="a"] .ap-roll__item--revealed::after { animation: none; opacity: .55; }
  [data-design="a"] .ap-barometer__needle { transform: rotate(0deg); }
}

@media (max-width: 768px) {
  [data-design="a"] .ap-roll__item { grid-template-columns: auto 1fr; row-gap: var(--ap-space-em); }
  [data-design="a"] .ap-roll__name { grid-column: 1 / -1; order: 2; }
  [data-design="a"] .ap-roll__meta { grid-column: 2; text-align: right; }
}

/* ============================ MOBILE SAFETY (mandatory tail) ============== */
[data-design="a"].dq-design,[data-design="a"] .dq-design{max-width:100%;overflow-x:clip;}
[data-design="a"] *{min-width:0;}
[data-design="a"] img,[data-design="a"] 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; }
