/* pg · "Doutora, …" — as perguntas que ela ouve (clara) */

.pg { padding-bottom: clamp(80px, 10vw, 140px); }
.pg-malha {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 55% 38% at 92% 4% in oklab, rgb(201 205 210 / .55), rgb(201 205 210 / 0)),
    radial-gradient(ellipse 42% 34% at 0% 58% in oklab, rgb(240 195 168 / .22), rgb(240 195 168 / 0)),
    radial-gradient(ellipse 50% 30% at 78% 100% in oklab, rgb(143 138 166 / .13), rgb(143 138 166 / 0));
}

/* ---------- topo ---------- */
.pg-topo {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 96px);
  align-items: end;
  margin-bottom: clamp(48px, 6vw, 88px);
}
.pg-h2 { font-size: clamp(2.5rem, 1.1rem + 4.6vw, 5.2rem); line-height: .98; letter-spacing: -.035em; }
.pg-h2 b { display: block; }
.pg-topo-apoio .texto { margin: 0; max-width: 30em; }
.pg-numeros { display: flex; gap: clamp(20px, 3vw, 44px); margin: 28px 0 0; }
.pg-numeros div { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; }
.pg-numeros dt { font-size: clamp(2.6rem, 1.6rem + 2.2vw, 3.6rem); font-weight: 700; line-height: .9; letter-spacing: -.04em; color: var(--marinho); }
.pg-numeros dd { margin: 0; max-width: 9.5em; font-size: 1rem; line-height: 1.3; color: var(--tx-claro-2); }
.pg-numeros .voz { color: var(--marinho); font-size: 1.08em; }
.pg-nota { margin: 14px 0 0; font-size: var(--t-mini); color: var(--tx-claro-2); }

/* ---------- conversa ---------- */
.pg-conversa {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: start;
}

.pg-indice { display: grid; border-top: 1px solid rgb(19 48 74 / .14); }
.pg-q {
  position: relative;
  display: grid;
  grid-template-columns: 2.4em minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  width: 100%;
  min-height: 56px;
  padding: 16px 8px 16px 0;
  border: 0;
  border-bottom: 1px solid rgb(19 48 74 / .14);
  background: none;
  text-align: left;
  color: var(--tx-claro-2);
  font: inherit;
  cursor: pointer;
  transition: color .3s;
}
.pg-q .voz { font-size: clamp(1.125rem, .88rem + .6vw, 1.45rem); line-height: 1.28; font-weight: 400; transition: transform .5s var(--ease); }
.pg-q[aria-selected="true"] .voz { font-weight: 500; }
.pg-q:hover .voz { transform: translateX(6px); }
.pg-n { font-size: .875rem; font-weight: 600; letter-spacing: .08em; color: rgb(74 90 107 / .9); font-variant-numeric: tabular-nums; }
.pg-q::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: var(--pessego-escuro);
  transform: scaleX(0); transform-origin: left;
  transition: transform .7s var(--ease);
}
.pg-q:hover { color: var(--marinho); }
.pg-q[aria-selected="true"] { color: var(--marinho); }
.pg-q[aria-selected="true"] .pg-n { color: var(--pessego-escuro); }
.pg-q[aria-selected="true"]::after { transform: none; }
.pg-q:focus-visible { outline: 2px solid var(--pessego-escuro); outline-offset: 2px; }

/* palco: um par por vez */
.pg-palco {
  position: relative;
  padding: clamp(28px, 3.6vw, 56px) clamp(24px, 3.6vw, 60px) clamp(28px, 3.6vw, 52px) clamp(18px, 2.4vw, 36px);
  border-radius: 28px;
  color: var(--creme);
  background:
    radial-gradient(ellipse 62% 48% at 100% 0% in oklab, rgb(240 195 168 / .2), rgb(240 195 168 / 0)),
    radial-gradient(ellipse 60% 55% at 4% 100% in oklab, rgb(78 90 69 / .5), rgb(78 90 69 / 0)),
    radial-gradient(ellipse 55% 45% at 30% 30% in oklab, rgb(143 138 166 / .28), rgb(143 138 166 / 0)),
    var(--marinho);
  box-shadow: 0 40px 80px -46px rgb(13 34 56 / .85);
  overflow: clip;
  display: flex;
  flex-direction: column;
  align-self: stretch;
}
.pg-palco::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .06; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.6 -.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); background-size: 180px; }
.pg-palco > * { position: relative; }
.pg-palco a:focus-visible, .pg-palco button:focus-visible { outline-color: var(--pessego); }
.pg-ctrl { display: none; }
.pg-pares { flex: 1; }
.pg-js .pg-pares { align-items: center; }

.pg-par {
  position: relative;
  padding-left: clamp(48px, 5vw, 76px);
}
.pg-par + .pg-par { margin-top: 56px; }
.pg-fio {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  z-index: 2;
  overflow: visible;
  pointer-events: none;
}
/* a ponte (índice → palco) corre sobre o papel: cores de seção clara */
.pg-fio .pg-trilha-a { stroke: rgb(19 48 74 / .28); }
.pg-fio .pg-traco-a { stroke: var(--pessego-escuro); }
.pg-fio .pg-p0 { fill: var(--pessego-escuro); }
.pg-rosto {
  width: 44px; height: 44px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 3px var(--marinho), 0 0 0 4px rgb(240 195 168 / .55);
}
.pg-quem {
  margin: 0 0 10px;
  font-size: var(--t-mini);
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--tx-escuro-2);
}
.pg-quem--ela { display: flex; align-items: center; gap: 14px; color: var(--pessego); margin-top: clamp(32px, 4vw, 56px); margin-bottom: 14px; }
.pg-pergunta {
  margin: 0;
  font-size: clamp(1.75rem, 1rem + 2.1vw, 2.75rem);
  line-height: 1.16;
  color: var(--creme);
  text-indent: -.42em;
  text-wrap: balance;
}
.pg-resposta { margin: 0; }
.pg-lead {
  margin: 0;
  font-size: clamp(1.375rem, 1rem + 1.05vw, 1.95rem);
  line-height: 1.24;
  font-weight: 500;
  letter-spacing: -.015em;
  color: var(--creme);
  text-wrap: pretty;
}
.pg-lead b { font-weight: 700; }
.pg-mais { margin: 16px 0 0; max-width: 34em; font-size: var(--t-corpo); line-height: 1.55; color: var(--tx-escuro-2); text-wrap: pretty; }
.pg-fonte { margin: 22px 0 0; font-size: var(--t-mini); color: var(--tx-escuro-2); }
.pg-fonte::before { content: ""; display: inline-block; width: 22px; height: 1px; margin-right: 10px; vertical-align: middle; background: currentColor; }

/* com JS: os pares se empilham na mesma célula (altura estável) */
.pg-js .pg-pares { display: grid; }
.pg-js .pg-par { grid-area: 1 / 1; margin: 0; visibility: hidden; opacity: 0; transition: opacity .45s ease-out, visibility 0s .45s; }
.pg-js .pg-par.pg-ativo { visibility: visible; opacity: 1; transition: opacity .55s ease-out .05s, visibility 0s; }
.pg-js .pg-par .pg-pergunta, .pg-js .pg-par .pg-resposta { transform: translateY(10px); transition: transform .8s var(--ease); }
.pg-js .pg-par.pg-ativo .pg-pergunta { transform: none; }
.pg-js .pg-par .pg-quem--ela, .pg-js .pg-par .pg-resposta, .pg-js .pg-par .pg-fonte { opacity: 0; transition: opacity .6s ease-out, transform .9s var(--ease); }
.pg-js .pg-par.pg-chegou .pg-quem--ela, .pg-js .pg-par.pg-chegou .pg-resposta, .pg-js .pg-par.pg-chegou .pg-fonte { opacity: 1; transform: none; }
.pg-js .pg-par.pg-chegou .pg-resposta { transition-delay: .12s; }
.pg-js .pg-par.pg-chegou .pg-fonte { transition-delay: .3s; }
.pg-par:not(.pg-ativo) .rota-onda { animation: none; }

/* controles (setas) */
.pg-ctrl { align-items: center; justify-content: space-between; gap: 16px; margin: 28px 0 0 clamp(48px, 5vw, 76px); padding-top: 20px; border-top: 1px solid rgb(239 230 218 / .14); }
.pg-js .pg-ctrl { display: flex; }
.pg-conta { margin: 0; font-size: var(--t-mini); font-weight: 600; letter-spacing: .12em; color: var(--tx-escuro-2); font-variant-numeric: tabular-nums; }
.pg-conta-a { color: var(--creme); font-size: 1.25rem; letter-spacing: .02em; }
.pg-setas { display: flex; gap: 8px; }
.pg-seta {
  display: grid; place-items: center;
  width: 48px; height: 48px;
  border: 1px solid rgb(239 230 218 / .3);
  border-radius: 50%;
  background: rgb(239 230 218 / .04);
  color: var(--creme);
  cursor: pointer;
  transition: background-color .25s, border-color .25s, transform .3s var(--ease);
}
.pg-seta svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pg-seta:hover { background: var(--creme); color: var(--marinho); border-color: var(--creme); }
.pg-seta:active { transform: scale(.94); }

/* ---------- fecho ---------- */
.pg-fecho {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 96px);
  align-items: end;
  margin-top: clamp(64px, 8vw, 120px);
  padding-top: clamp(36px, 4vw, 56px);
  border-top: 1px solid rgb(19 48 74 / .14);
}
.pg-eco { position: relative; margin: 0; padding-left: clamp(0px, 4vw, 64px); }
.pg-eco::before { content: "“"; position: absolute; left: -.06em; top: -.32em; font-family: var(--serif); font-style: italic; font-size: clamp(5rem, 3rem + 6vw, 9rem); line-height: 1; color: var(--pessego-escuro); opacity: .9; }
.pg-eco blockquote { margin: 0; font-size: clamp(1.6rem, 1rem + 2.1vw, 2.85rem); line-height: 1.18; letter-spacing: -.01em; color: var(--marinho); text-wrap: balance; }
.pg-eco figcaption { margin-top: 18px; font-size: var(--t-mini); color: var(--tx-claro-2); }
.pg-acao .h3 { margin: 0 0 8px; color: var(--marinho); font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.1rem); font-weight: 700; letter-spacing: -.02em; }
.pg-acao .texto { margin: 0 0 24px; }

/* ---------- celular e tablet ---------- */
@media (max-width: 900px) {
  .pg-topo { grid-template-columns: 1fr; align-items: start; }
  .pg-conversa { grid-template-columns: 1fr; }
  .pg-js .pg-indice { display: none; }
  .pg-palco { margin-inline: calc(var(--pad) * -1 + 8px); padding: 24px 20px 30px 14px; border-radius: 22px; }
  .pg-par { padding-left: 42px; }

  .pg-ctrl { order: -1; margin: 0 0 22px 42px; padding: 0 0 16px; border-top: 0; border-bottom: 1px solid rgb(239 230 218 / .14); }
  .pg-js .pg-pares { display: block; }
  .pg-js .pg-par:not(.pg-ativo) { display: none; }
  .pg-rosto { width: 38px; height: 38px; }
  .pg-fecho { grid-template-columns: 1fr; align-items: start; }
  .pg-eco { padding-top: 34px; }
  .pg-eco::before { top: -.2em; font-size: 5.5rem; }
  .pg-acao .btn { width: 100%; justify-content: center; }
}
@media (max-width: 400px) {
  .pg-sua { display: none; }
}
@media (max-width: 420px) {
  .pg-numeros { flex-direction: column; gap: 14px; }
}
