/* ═══════════════════════════════════════════════════════════════════════
   PÁGINAS INTERNAS — sobre as primitivas do Relay (00-base.css, no bloco
   home-base do site.css): badge, pílulas, display-title, section-head, card,
   placa escura (on-plate). Mesmo quadro em rem da home (html.relay).
   Prefixos: .ph- (hero da página) · .ps- (seções) · .ph-plate (a placa).
   Paleta: NIGHT · SKY · LIGHT; o azul só como acento. Rethink Sans + Inter.
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --ph-type-title: 3.25rem;   --ph-line-title: 3.75rem;      /* 52 / 60 */
  --ph-plate-w: 36rem;
  --ps-type-card-title: 1.25rem; --ps-line-card-title: 1.625rem;
  --ps-type-quote: 2.25rem;   --ps-line-quote: 2.875rem;
}
@media (width <= 1200px) { :root { --ph-type-title: 2.5rem; --ph-line-title: 3rem; --ph-plate-w: 27rem; --ps-type-quote: 2rem; --ps-line-quote: 2.5rem; } }
@media (width <= 900px)  { :root { --ph-type-title: 2.125rem; --ph-line-title: 2.625rem; --ps-type-quote: 1.75rem; --ps-line-quote: 2.25rem; } }
@media (width <= 580px)  { :root { --ph-type-title: 1.75rem; --ph-line-title: 2.25rem; --ps-type-card-title: 1.125rem; --ps-line-card-title: 1.5rem; --ps-type-quote: 1.5rem; --ps-line-quote: 2rem; } }

.ph, .ph *, .ps, .ps *, .ps-statement, .ps-statement *, .ps-band, .ps-band * { box-sizing: border-box; }

/* ── hero da página: cópia à esquerda, placa escura à direita ──────────── */
.ph {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) var(--ph-plate-w);
  align-items: center; gap: 4rem; padding: 3rem var(--page-inset) 1rem;
  min-height: min(40rem, calc(100svh - var(--nav-h)));
}
.ph-solo { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-bottom: 0; }
.ph-copy { display: flex; flex-direction: column; align-items: flex-start; max-width: 42rem; }
.ph-title { margin: 1.75rem 0 0; font-size: var(--ph-type-title); line-height: var(--ph-line-title); text-wrap: balance; }
.ph-title em { font-style: normal; color: var(--title-accent); }
.ph-big { margin: 1.5rem 0 -0.5rem; font-family: var(--font-d); font-weight: 800; font-size: 7.5rem; line-height: 1; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 1px var(--hairline-strong); }
.ph-lead { margin: 1.5rem 0 0; max-width: 36rem; font-family: var(--font-b); font-size: var(--type-lead); line-height: var(--line-lead); color: var(--text-muted); }
.ph-lead strong { color: var(--text); font-weight: 600; }
.ph-actions { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.ph-arrow { width: 1rem; height: 1rem; flex-shrink: 0; }
.ph-links { margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; font-size: var(--type-label); line-height: var(--line-label); color: var(--text-muted); }
.ph-links a { color: var(--accent); font-weight: 500; }

/* a placa: janela NIGHT com grade de pontos, anel SKY no canto e sombra */
.ph-plate {
  position: relative; overflow: clip; width: 100%;
  border-radius: var(--radius-window); border: 1px solid var(--plate-hairline-strong);
  background: var(--plate); box-shadow: var(--shadow-plate); color: var(--plate-text);
  padding: 2rem 2.25rem 1.75rem;
}
.ph-plate::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(237, 237, 237, 0.08) 1px, transparent 1.6px);
  background-size: 1.5rem 1.3146rem; background-position: 0.9375rem 0.8216rem;
}
.ph-plate::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; padding: 1px; border-radius: inherit;
  background: linear-gradient(to bottom right, rgba(0, 77, 211, 0.95) 0%, rgba(0, 77, 211, 0.62) 22%, rgba(0, 77, 211, 0.22) 44%, rgba(0, 77, 211, 0) 60%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.ph-plate > * { position: relative; z-index: 1; }
.ph-plate-bar { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.ph-plate-title { margin: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--font-b); font-size: var(--type-body); line-height: var(--line-body); color: var(--plate-muted); }
.ph-plate-divider { flex-shrink: 0; width: 1px; height: 0.875rem; background: var(--plate-hairline-strong); }
.ph-plate-meta { margin: 0; flex-shrink: 0; font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-accent); white-space: nowrap; }
.ph-plate-rule { display: block; height: 1px; margin: 1.25rem 0 0.25rem; background: var(--plate-hairline); }
.ph-plate-status { margin: 1.25rem 0 0; display: flex; align-items: center; gap: 0.5rem; font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-muted); white-space: nowrap; min-width: 0; }
.ph-plate-status > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.ph-plate-dot { width: 0.375rem; height: 0.375rem; flex-shrink: 0; border-radius: 9999px; background: var(--plate-accent); }
.ph-plate em { font-style: normal; color: var(--plate-accent); }

/* ficha: pares chave · valor */
.ph-rows { margin: 0; display: flex; flex-direction: column; }
.ph-rows > div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; padding: 0.8125rem 0; border-bottom: 1px solid rgba(237, 237, 237, 0.07); }
.ph-rows > div:last-child { border-bottom: 0; }
.ph-rows dt { margin: 0; font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-dim); }
.ph-rows dd { margin: 0; font-family: var(--font-b); font-size: var(--type-label); line-height: var(--line-label); font-weight: 500; color: var(--plate-text); }

/* lista de execução (IA): hora · etapa · texto; a etapa de decisão em SKY */
.ph-agent { margin: 0.25rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.ph-agent li { position: relative; display: grid; grid-template-columns: 3rem 5.5rem minmax(0, 1fr); gap: 0.75rem; padding: 0.5625rem 0; border-bottom: 1px solid rgba(237, 237, 237, 0.07); font-size: 0.8125rem; line-height: 1.1875rem; }
.ph-agent li:last-child { border-bottom: 0; }
.ph-agent .h { color: var(--plate-dim); }
.ph-agent .e { font-weight: 500; color: var(--plate-text); }
.ph-agent .t { color: var(--plate-muted); }
.ph-agent li.gate .e { color: var(--plate-accent); }
.ph-agent li.gate::before { content: ""; position: absolute; left: -1.125rem; top: 0.75rem; bottom: 0.75rem; width: 2px; border-radius: 9999px; background: var(--plate-accent); }

/* registro (Nexus): chave · linha */
.ph-log { margin: 0.25rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.ph-log li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 0.75rem; padding: 0.6875rem 0; border-bottom: 1px solid rgba(237, 237, 237, 0.07); font-size: 0.8125rem; line-height: 1.1875rem; color: var(--plate-muted); }
.ph-log li:last-child { border-bottom: 0; }
.ph-log .k { color: var(--plate-dim); }
.ph-log .ok { color: var(--plate-accent); }

/* próximos passos (contato) */
.ph-next { margin: 0.25rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; counter-reset: passo; }
.ph-next li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid rgba(237, 237, 237, 0.07); }
.ph-next li:last-child { border-bottom: 0; }
.ph-next .n { font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-accent); }
.ph-next b { display: block; font-family: var(--font-b); font-weight: 500; font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-text); }
.ph-next span:not(.n) { display: block; margin-top: 0.125rem; font-size: 0.8125rem; line-height: 1.1875rem; color: var(--plate-muted); }

/* ── seções ────────────────────────────────────────────────────────────── */
.ps { position: relative; padding: 0 var(--page-inset); scroll-margin-top: calc(var(--nav-h) + 1rem); }
.ps-head { padding-bottom: 2.5rem; }
.ps-head h2, .ps-head p { margin: 0; }
.ps-rule { display: block; height: 1px; width: 100%; background: var(--hairline); }
.ps-body { padding-top: 2.5rem; }
.ps-body + .ps-body { padding-top: 3rem; }
.ps-sub { margin: 0 0 1.5rem; font-family: var(--font-b); font-size: var(--type-label); line-height: var(--line-label); color: var(--text-dim); }

/* prosa: coluna à direita, como a aparte da cabeça de seção */
.ps-prose { margin-left: auto; width: 50.5rem; max-width: 100%; }
.ps-prose p { margin: 0; font-family: var(--font-b); font-size: var(--type-lead); line-height: var(--line-lead); color: var(--text-muted); }
.ps-prose p + p { margin-top: 1rem; }
.ps-prose strong { color: var(--text); font-weight: 600; }
.ps-prose a { color: var(--accent); }

/* nota de seção */
.ps-note { margin: 1.5rem 0 0; font-family: var(--font-b); font-size: var(--type-label); line-height: var(--line-label); color: var(--text-dim); }
.ps-note a { color: var(--accent); font-weight: 500; }

/* cartões */
.ps-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.ps-cards.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ps-cards.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ps-card { display: flex; flex-direction: column; gap: 0.75rem; padding: 1.75rem 2rem 2rem; color: var(--text); }
.ps-card-index { margin: 0; font-size: var(--type-label); line-height: var(--line-label); letter-spacing: 0.0625rem; color: var(--accent); }
.ps-card h3 { margin: 0; font-family: var(--font-d); font-weight: 600; font-size: var(--ps-type-card-title); line-height: var(--ps-line-card-title); letter-spacing: -0.02em; text-wrap: balance; }
.ps-card p { margin: 0; font-family: var(--font-b); font-size: var(--type-body); line-height: var(--line-body); color: var(--text-muted); }
.ps-card p a { color: var(--accent); }
.ps-card .tagl { font-weight: 500; color: var(--text); }
.ps-card-meta { margin-top: auto; padding-top: 0.5rem; font-size: var(--type-label); line-height: var(--line-label); color: var(--text-dim); }
.ps-card-link { margin-top: auto; padding-top: 0.5rem; display: inline-flex; align-items: center; gap: 0.375rem; font-family: var(--font-b); font-size: var(--type-label); line-height: var(--line-label); font-weight: 500; color: var(--accent); text-decoration: none; }
.ps-card-link:hover .ps-card-arrow { transform: translate3d(4px, 0, 0); }
.ps-card-arrow { display: inline-block; transition: transform 250ms var(--ease-entrance); }
.ps-card-k { margin: 0; font-size: var(--type-label); line-height: var(--line-label); color: var(--text-dim); }
a.ps-card { text-decoration: none; transition: border-color 250ms var(--ease-entrance), transform 250ms var(--ease-entrance); }
a.ps-card:hover { border-color: var(--hairline-strong); transform: translateY(-2px); }
.ps-card.is-cta { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.ps-card.is-cta .ps-card-index, .ps-card.is-cta p, .ps-card.is-cta .ps-card-link { color: rgba(255, 255, 255, 0.82); }
.ps-card.is-cta h3 { color: var(--on-accent); }
.ps-card.is-lead { border-color: rgba(0, 77, 211, 0.45); }

/* medidor (escala de autonomia) */
.ps-meter { display: block; height: 0.375rem; width: 100%; border-radius: 9999px; background: rgba(12, 12, 12, 0.08); overflow: clip; }
.ps-meter i { display: block; height: 100%; width: var(--w, 50%); border-radius: inherit; background: linear-gradient(90deg, var(--plate-accent), var(--accent)); transform-origin: left; }
.ps-card .ctl { display: flex; gap: 0.5rem; padding-top: 0.75rem; border-top: 1px solid var(--hairline); font-size: var(--type-label); line-height: var(--line-label); color: var(--text-dim); }
.ps-card .ctl b { flex-shrink: 0; font-weight: 500; color: var(--text); }

/* chips: cartões compactos (valores, canais) */
.ps-chips { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.ps-chips.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ps-chips.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ps-chip { display: flex; align-items: baseline; gap: 0.875rem; padding: 1.125rem 1.375rem; }
.ps-chip .idx { flex-shrink: 0; font-size: var(--type-label); line-height: var(--line-label); color: var(--accent); }
.ps-chip .nm { font-family: var(--font-b); font-weight: 500; font-size: var(--type-body); line-height: var(--line-body); color: var(--text); }
.ps-chip .ds { display: block; margin-top: 0.25rem; font-weight: 400; font-size: var(--type-label); line-height: var(--line-label); color: var(--text-muted); }

/* etapas: uma linha contínua com um ponto por etapa */
.ps-steps { position: relative; display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 2.5rem; margin: 0; padding: 0; list-style: none; }
.ps-step { position: relative; display: flex; flex-direction: column; gap: 0.625rem; padding-top: 1.5rem; }
.ps-step::before { content: ""; position: absolute; top: 0; left: 0; right: -2.5rem; height: 1px; background: var(--hairline); }
.ps-step:last-child::before { right: 0; }
.ps-step::after { content: ""; position: absolute; top: -0.1875rem; left: 0; width: 0.4375rem; height: 0.4375rem; border-radius: 9999px; background: var(--accent); }
.ps-step-index { margin: 0; font-size: var(--type-label); line-height: var(--line-label); letter-spacing: 0.0625rem; color: var(--accent); }
.ps-step h3 { margin: 0; font-family: var(--font-d); font-weight: 600; font-size: 1.125rem; line-height: 1.5rem; letter-spacing: -0.015em; color: var(--text); text-wrap: balance; }
.ps-step p { margin: 0; font-family: var(--font-b); font-size: var(--type-body); line-height: var(--line-body); color: var(--text-muted); }

/* tabela hairline (onde aplicamos) */
.ps-table-wrap { padding: 0.5rem 1.5rem; overflow-x: auto; }
.ps-table { width: 100%; border-collapse: collapse; font-family: var(--font-b); }
.ps-table th { padding: 1rem 0.75rem; text-align: left; font-weight: 500; font-size: var(--type-label); line-height: var(--line-label); color: var(--text-dim); border-bottom: 1px solid var(--hairline); }
.ps-table td { padding: 1.125rem 0.75rem; vertical-align: top; font-size: var(--type-body); line-height: var(--line-body); color: var(--text-muted); border-bottom: 1px solid var(--hairline); }
.ps-table tr:last-child td { border-bottom: 0; }
.ps-table td:first-child { font-weight: 500; color: var(--text); width: 16rem; }
.ps-table td:last-child { white-space: nowrap; color: var(--text-dim); font-size: var(--type-label); }
.ps-table .foco { display: block; margin-top: 0.25rem; font-weight: 500; font-size: var(--type-label); line-height: var(--line-label); color: var(--accent); }

/* duas colunas de listas (avaliação) */
.ps-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.ps-two h3 { margin: 0 0 1rem; font-family: var(--font-d); font-weight: 600; font-size: var(--ps-type-card-title); line-height: var(--ps-line-card-title); letter-spacing: -0.02em; }
.ps-crit { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.ps-crit li { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; padding: 0.875rem 0; border-top: 1px solid var(--hairline); font-size: var(--type-body); line-height: var(--line-body); color: var(--text-muted); }
.ps-crit b { font-weight: 500; color: var(--text); }
.ps-ol { margin: 0; padding: 0; list-style: none; counter-reset: entrega; display: flex; flex-direction: column; }
.ps-ol li { counter-increment: entrega; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 0.5rem; padding: 0.875rem 0; border-top: 1px solid var(--hairline); font-size: var(--type-body); line-height: var(--line-body); color: var(--text-muted); }
.ps-ol li::before { content: counter(entrega, decimal-leading-zero); font-size: var(--type-label); line-height: var(--line-body); color: var(--accent); font-variant-numeric: tabular-nums; }
.ps-actions { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.ps-actions .ps-note { margin: 0; max-width: 40rem; }

/* pipeline (Nexus): fontes → cinco estágios → execução */
.ps-pipe { display: grid; grid-template-columns: 15rem minmax(0, 1fr) 15rem; gap: 1.25rem; align-items: stretch; }
.ps-pipe-side { padding: 1.5rem; }
.ps-pipe-side h3 { margin: 0 0 1rem; font-family: var(--font-b); font-weight: 500; font-size: var(--type-label); line-height: var(--line-label); color: var(--text-dim); }
.ps-pipe-side ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.5rem; }
.ps-pipe-side li { padding: 0.625rem 0.875rem; border: 1px solid var(--hairline); border-radius: 0.75rem; font-family: var(--font-b); font-weight: 500; font-size: var(--type-label); line-height: var(--line-label); color: var(--text); }
.ps-pipe-core { position: relative; overflow: clip; border-radius: var(--radius-card); border: 1px solid var(--plate-hairline-strong); background: var(--plate); box-shadow: var(--shadow-plate); color: var(--plate-text); padding: 1.5rem 1.75rem 1.75rem; }
.ps-pipe-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--plate-hairline); }
.ps-pipe-head b { font-family: var(--font-b); font-weight: 500; font-size: var(--type-body); line-height: var(--line-body); color: var(--plate-text); }
.ps-pipe-head span { font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-accent); }
.ps-stages { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.75rem; }
.ps-stage { padding: 0.875rem; border: 1px solid var(--plate-hairline); border-radius: 0.75rem; background: var(--plate-card); }
.ps-stage .k { display: block; font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-accent); }
.ps-stage b { display: block; margin: 0.25rem 0 0.375rem; font-family: var(--font-b); font-weight: 500; font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-text); }
.ps-stage span:not(.k) { display: block; font-size: 0.8125rem; line-height: 1.125rem; color: var(--plate-muted); }

/* comparação (Nexus): antes · depois */
.ps-compare li { position: relative; padding: 0.625rem 0 0.625rem 1.25rem; border-top: 1px solid var(--hairline); font-family: var(--font-b); font-size: var(--type-body); line-height: var(--line-body); color: var(--text-muted); }
.ps-compare ul { margin: 0.25rem 0 0; padding: 0; list-style: none; }
.ps-compare li::before { content: ""; position: absolute; left: 0; top: 1.3125rem; width: 0.5rem; height: 1px; background: var(--hairline-strong); }
.ps-compare .is-lead li::before { background: var(--accent); }

/* formulário (contato) */
.ps-form-card { padding: 2.5rem; max-width: 52rem; }
.ps-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.ps-form .full { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 0.5rem; font-family: var(--font-b); font-weight: 500; font-size: var(--type-label); line-height: var(--line-label); color: var(--text-dim); }
.field input, .field textarea {
  width: 100%; border: 1px solid var(--hairline-strong); border-radius: 0.75rem; background: var(--paper);
  padding: 0.8125rem 1rem; font-family: var(--font-b); font-weight: 500; font-size: var(--type-body); line-height: var(--line-body); color: var(--text);
  transition: border-color var(--motion-normal) var(--ease-entrance);
}
.field input:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-color: var(--accent); }
.field textarea { min-height: 9rem; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: var(--text-dim); font-weight: 400; }
.consent { display: flex; gap: 0.75rem; align-items: flex-start; cursor: pointer; font-family: var(--font-b); font-size: var(--type-label); line-height: var(--line-label); color: var(--text-muted); }
.consent input { margin-top: 0.125rem; width: 1.125rem; height: 1.125rem; flex: none; accent-color: var(--accent); }
.consent a { color: var(--accent); font-weight: 500; }
.field .msg, .consent-wrap .msg { display: none; margin-top: 0.5rem; font-family: var(--font-b); font-size: 0.8125rem; line-height: 1.125rem; color: var(--text); }
.field.err .msg, .consent-wrap.err .msg { display: block; }
.field.err input, .field.err textarea { border-color: var(--text-muted); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
button.pill { border: 0; font-family: var(--font-b); }
.pill[disabled] { opacity: 0.65; cursor: progress; }
.ps-form-status { margin: 0; min-height: 1.5rem; font-family: var(--font-b); font-size: var(--type-label); line-height: var(--line-label); color: var(--text-muted); }
.ps-form-status a { color: var(--accent); font-weight: 500; }
.ps-form-ok { padding: 2rem 2.25rem; max-width: 52rem; border-color: rgba(0, 77, 211, 0.45); }
.ps-form-ok h3 { margin: 1rem 0 0.5rem; font-family: var(--font-d); font-weight: 600; font-size: var(--ps-type-card-title); line-height: var(--ps-line-card-title); letter-spacing: -0.02em; }
.ps-form-ok p { margin: 0; font-family: var(--font-b); font-size: var(--type-body); line-height: var(--line-body); color: var(--text-muted); }
.ps-form-ok a { color: var(--accent); }

/* texto legal (privacidade) */
.ps-legal { padding: 2.5rem 3rem; max-width: 56rem; font-family: var(--font-b); }
.ps-legal h2 { margin: 2.25rem 0 0.75rem; font-family: var(--font-d); font-weight: 600; font-size: 1.375rem; line-height: 1.75rem; letter-spacing: -0.02em; color: var(--text); }
.ps-legal h2:first-of-type { margin-top: 1.5rem; }
.ps-legal p, .ps-legal li { margin: 0 0 0.875rem; font-size: var(--type-body); line-height: 1.625rem; color: var(--text-muted); }
.ps-legal strong { color: var(--text); font-weight: 600; }
.ps-legal ul { margin: 0 0 0.875rem; padding-left: 1.25rem; }
.ps-legal a { color: var(--accent); }
.ps-legal-stamp { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; }
.ps-legal-stamp .mono { font-size: var(--type-label); line-height: var(--line-label); color: var(--text-dim); }

/* banda de foto arredondada */
.ps-band { position: relative; overflow: clip; display: flex; align-items: flex-end; min-height: 26rem; margin: 0 var(--page-inset); padding: 0; border-radius: var(--radius-card); } /* padding 0: o site.css antigo dá 128px a todo <section> */
.ps-band picture, .ps-band img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ps-band img { object-fit: cover; filter: saturate(0.6) contrast(1.05) brightness(0.82); }
.ps-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 5, 6, 0.55), rgba(5, 5, 6, 0.15) 50%, rgba(5, 5, 6, 0.82)); }
.ps-band-inner { position: relative; z-index: 1; padding: 2.5rem 3rem; color: #EDEDED; }
.ps-band-inner h2 { margin: 1rem 0 0; font-family: var(--font-d); font-weight: 700; font-size: 2rem; line-height: 2.5rem; letter-spacing: var(--letter-spacing-title); max-width: 40rem; color: #EDEDED; }

/* ── placa de fechamento: a única placa escura larga da página ─────────── */
.ps-statement {
  position: relative; overflow: clip; margin: 0 var(--page-inset); padding: 4.5rem 5rem;
  border-radius: 2rem; color: var(--plate-text); box-shadow: var(--shadow-plate);
  background: linear-gradient(135deg, var(--plate) 0%, var(--plate) 45%, #121216 100%);
}
.ps-statement::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(237, 237, 237, 0.14) 1.5px, transparent 2px);
  background-size: 3rem 3rem; background-position: 1.5rem 1.5rem;
}
.ps-statement > * { position: relative; z-index: 1; }
.ps-statement-kicker { margin: 0; font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-muted); }
.ps-statement-quote { margin: 1.25rem 0 0; max-width: 62rem; font-size: var(--ps-type-quote); line-height: var(--ps-line-quote); color: var(--plate-text); text-wrap: balance; }
.ps-statement-quote .mute { color: var(--plate-dim); }
.ps-statement-quote em, .ps-statement-quote .display-title-accent { font-style: normal; color: var(--plate-accent); }
.ps-statement-line { display: block; }
.ps-statement-sub { margin: 1.25rem 0 0; max-width: 40rem; font-family: var(--font-b); font-size: var(--type-lead); line-height: var(--line-lead); color: var(--plate-muted); }
.ps-statement-foot { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--plate-hairline); display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2.5rem; }
.ps-statement-cta { margin: 0; flex: 1 1 20rem; font-family: var(--font-d); font-weight: 600; font-size: 1.375rem; line-height: 1.75rem; letter-spacing: -0.01em; color: var(--plate-text); }
.ps-statement-note { margin: 0; flex-basis: 100%; font-size: var(--type-label); line-height: var(--line-label); color: var(--plate-dim); }
.ps-statement-mark { position: absolute; right: 5rem; top: 4.5rem; width: 4.75rem; height: 4.75rem; border-radius: 1.5rem; border: 1px solid rgba(255, 255, 255, 0.18); background: linear-gradient(135deg, var(--accent), var(--accent-deep) 71%); display: flex; align-items: center; justify-content: center; color: var(--on-accent); }
.ps-statement-mark svg { width: 2.625rem; height: 2.4375rem; display: block; }

/* ── 1024 ─────────────────────────────────────────────────────────────── */
@media (width <= 1200px) {
  .ph { gap: 2.5rem; padding-top: 2.5rem; }
  .ph-copy { max-width: 100%; }
  .ph-plate { padding: 1.5rem 1.5rem 1.25rem; }
  .ph-rows > div { grid-template-columns: 6rem minmax(0, 1fr); }
  .ps-head { padding-bottom: 2rem; }
  .ps-prose { width: 100%; }
  .ps-cards.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-chips { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ps-chips.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-statement { padding: 3.5rem 3rem; }
  .ps-statement-mark { right: 3rem; top: 3.5rem; }
  .ps-pipe { grid-template-columns: 13rem minmax(0, 1fr) 13rem; }
  .ps-table td:first-child { width: 13rem; }
}

/* ── 768: uma coluna, texto centrado, placa abaixo ────────────────────── */
@media (width <= 900px) {
  .ph { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; gap: 2.5rem; min-height: 0; padding-top: 2.5rem; }
  .ph-copy { align-items: center; max-width: 36rem; }
  .ph-actions { justify-content: center; }
  .ph-links { justify-content: center; }
  .ph-plate { max-width: 36rem; text-align: left; }
  .ps-cards, .ps-cards.cols-3, .ps-cards.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-card { padding: 1.5rem 1.5rem 1.75rem; }
  .ps-chips, .ps-chips.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-steps { grid-template-columns: minmax(0, 1fr); gap: 0; padding-left: 1.75rem; }
  .ps-step { padding: 0 0 1.75rem; }
  .ps-step::before { top: 0.25rem; bottom: 0; right: auto; left: -1.75rem; width: 1px; height: auto; }
  .ps-step:last-child::before { right: auto; bottom: auto; height: 1.5rem; }
  .ps-step::after { top: 0.25rem; left: calc(-1.75rem - 0.1875rem); }
  .ps-two { grid-template-columns: minmax(0, 1fr); }
  .ps-pipe { grid-template-columns: minmax(0, 1fr); }
  .ps-stages { grid-template-columns: minmax(0, 1fr); }
  .ps-band { min-height: 20rem; }
  .ps-band-inner { padding: 2rem; }
  .ps-band-inner h2 { font-size: 1.625rem; line-height: 2.125rem; }
  .ps-statement { padding: 3rem 2.5rem; border-radius: 1.5rem; }
  .ps-statement-mark { display: none; }
  .ps-form-card { padding: 2rem; }
  .ps-legal { padding: 2rem; }
  .ps-table td:first-child { width: auto; }
  .ps-table td:last-child { white-space: normal; }
}

/* ── 390 ─────────────────────────────────────────────────────────────── */
@media (width <= 580px) {
  .ph { padding-top: 2rem; gap: 2rem; }
  .ph-title { margin-top: 1.5rem; }
  .ph-big { font-size: 5rem; }
  .ph-lead { margin-top: 1rem; font-size: var(--type-body); line-height: var(--line-body); }
  .ph-actions { margin-top: 1.75rem; flex-direction: column; width: 100%; }
  .ph-actions .pill { width: 100%; justify-content: center; }
  .ph-plate { padding: 1.25rem 1.25rem 1rem; border-radius: var(--radius-card); }
  .ph-plate-divider, .ph-plate-meta { display: none; }
  .ph-rows > div { grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.75rem; }
  .ph-agent li { grid-template-columns: 2.75rem minmax(0, 1fr); }
  .ph-agent .t { grid-column: 1 / -1; }
  .ph-agent li.gate::before { left: -0.75rem; }
  .ph-log li { grid-template-columns: minmax(0, 1fr); gap: 0.25rem; }
  .ps-cards, .ps-cards.cols-3, .ps-cards.cols-4, .ps-chips, .ps-chips.cols-2, .ps-chips.cols-4 { grid-template-columns: minmax(0, 1fr); }
  .ps-card { padding: 1.25rem 1.25rem 1.5rem; }
  .ps-head { padding-bottom: 1.5rem; }
  .ps-body { padding-top: 1.5rem; }
  .ps-statement { margin: 0 var(--page-inset); padding: 2rem 1.5rem; }
  .ps-statement-foot { margin-top: 1.75rem; padding-top: 1.5rem; gap: 1rem; }
  .ps-statement-foot .pill { width: 100%; justify-content: center; }
  .ps-form-card { padding: 1.5rem 1.25rem; }
  .ps-form { grid-template-columns: minmax(0, 1fr); }
  .ps-legal { padding: 1.5rem 1.25rem; }
  .ps-band { min-height: 16rem; }
  .ps-band-inner { padding: 1.5rem 1.25rem; }
  .ps-band-inner h2 { font-size: 1.375rem; line-height: 1.75rem; }
  .ps-table-wrap { padding: 0.25rem 1rem; }
  .ps-table th, .ps-table td { padding-inline: 0.5rem; }
  .ps-crit li { grid-template-columns: minmax(0, 1fr); gap: 0.25rem; }
  .ps-actions .pill { width: 100%; justify-content: center; }
  /* o status da placa quebra em linhas em vez de se digitar (a digitação recorta por ch, numa linha só) */
  .ph-plate-status { white-space: normal; align-items: flex-start; }
  .ph-plate-status .ph-plate-dot { margin-top: 0.4375rem; }
  .ph-plate-status > span:last-child { overflow: visible; text-overflow: clip; white-space: normal; clip-path: none !important; }
  /* a tabela vira uma lista: cada linha um bloco, o cabeçalho some, as frentes viram rótulo mono */
  .ps-table, .ps-table tbody, .ps-table tr, .ps-table td { display: block; width: auto; }
  .ps-table thead { display: none; }
  .ps-table tr { padding: 1rem 0; border-bottom: 1px solid var(--hairline); }
  .ps-table tr:last-child { border-bottom: 0; }
  .ps-table td { padding: 0.25rem 0; border: 0; }
  .ps-table td:first-child { padding-top: 0; }
  .ps-table td:last-child { padding-top: 0.5rem; color: var(--accent); font-size: var(--type-label); line-height: var(--line-label); }
  .ps-table .foco { display: inline; margin: 0 0 0 0.5rem; }
}

/* ── movimento reduzido: tudo em repouso, visível ─────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .ps-card-arrow, a.ps-card, .field input, .field textarea { transition: none; }
}
