/* pa · Palestras e empresas — escuro (sala/ardósia + oliva) */
.pa { --pa-ardosia: color-mix(in oklab, var(--oliva-fundo) 26%, #1f2427);
  --pa-fundo: color-mix(in oklab, var(--pa-ardosia) 82%, black);
  position: relative; isolation: isolate; overflow: clip; color: var(--creme);
  padding: clamp(5rem, 11vw, 9.5rem) 0 clamp(5rem, 10vw, 8.5rem);
  background:
    radial-gradient(46% 42% at 76% 24% in oklab, color-mix(in oklab, var(--fio-2) 16%, var(--pa-ardosia)), transparent),
    radial-gradient(70% 60% at 85% 18% in oklab, color-mix(in oklab, var(--oliva) 30%, var(--pa-ardosia)), transparent),
    radial-gradient(60% 50% at 0% 100% in oklab, color-mix(in oklab, var(--oliva-fundo) 70%, transparent), transparent),
    linear-gradient(180deg in oklab, var(--pa-ardosia), var(--pa-fundo)); }
.pa-luz { position: absolute; z-index: -1; pointer-events: none; right: 0; top: 0; width: 70vw; height: 1100px;
  background: radial-gradient(closest-side in oklab, color-mix(in oklab, #b9c8f0 14%, transparent), transparent); transition: opacity 2s .9s var(--ease); }
.js .pa-luz { opacity: 0; }
.js .pa:has(.pa-foto.rev-in) .pa-luz { opacity: 1; }
.pa-grao { position: absolute; inset: 0; z-index: 3; 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='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px; }

/* ---------- topo: texto + foto ---------- */
.pa-topo { display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); gap: clamp(2rem, 4vw, 4.5rem); align-items: start; }
.pa-texto { padding-left: var(--margem); max-width: 42rem; }
.pa-sobre { margin: 0 0 1.3rem; display: flex; align-items: baseline; gap: .55rem; font-size: .98rem; font-weight: 600; letter-spacing: .02em; color: var(--fio-2); }
.pa-sobre::before { content: ""; flex: none; align-self: center; width: 1.9rem; height: 2px; background: repeating-linear-gradient(90deg, var(--musgo) 0 5px, transparent 5px 8px); }
.pa-titulo { margin: 0; max-width: 13em; font-family: var(--f-titulo); font-weight: 760; font-size: clamp(2rem, 1rem + 3vw, 3.6rem); line-height: 1.02; letter-spacing: -.028em; text-wrap: balance; color: var(--creme); }
.pa-titulo .pa-leve { display: block; }
.pa-leve { font-weight: 330; color: var(--fio-2); letter-spacing: -.02em; }
.pa-apoio { margin: 1.5rem 0 0; max-width: 31em; font-size: var(--t-apoio); line-height: 1.55; color: color-mix(in oklab, var(--creme) 84%, transparent); text-wrap: pretty; }

.pa-cred { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.pa-cred li { padding: .45rem .95rem; border-radius: 99px; font-size: .95rem; font-weight: 600; line-height: 1.3; color: var(--creme);
  background: color-mix(in oklab, var(--oliva) 34%, transparent); border: 1px dashed color-mix(in oklab, var(--fio-1) 55%, transparent); }
.pa-temas-rot { margin: 2.6rem 0 .4rem; font-family: var(--f-texto); font-size: .875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; color: color-mix(in oklab, var(--creme) 70%, transparent); }
.pa-temas { list-style: none; margin: 0; padding: 0; }
.pa-temas li { position: relative; display: flex; align-items: baseline; gap: 1.1rem; padding: 1rem 0; }
.pa-temas li::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: repeating-linear-gradient(90deg, color-mix(in oklab, var(--musgo) 80%, transparent) 0 5px, transparent 5px 9px); }
.pa-n { flex: none; min-width: 1.6rem; font-family: var(--f-titulo); font-weight: 700; font-size: .95rem; font-variant-numeric: tabular-nums; color: var(--fio-1); }
.pa-tema { font-family: var(--f-titulo); font-weight: 650; font-size: clamp(1.3rem, .9rem + 1.2vw, 2rem); line-height: 1.15; letter-spacing: -.015em; }

.pa-btn { display: inline-flex; align-items: center; gap: .6rem; min-height: 3.4rem; margin-top: 2.2rem; padding: .9rem 1.6rem; border-radius: 99px;
  background: var(--creme); color: var(--oliva); text-decoration: none; font-family: var(--f-titulo); font-weight: 650; font-size: 1.02rem;
  box-shadow: 0 14px 34px -14px rgb(0 0 0 / .6); transition: transform .25s var(--ease), background-color .25s; }
.pa-btn svg { width: 1.3rem; height: 1.3rem; fill: currentColor; flex: none; }
.pa-btn:hover { transform: translateY(-2px); background: var(--jaleco); }
.pa-btn:focus-visible { outline: 3px solid var(--musgo); outline-offset: 3px; }

/* foto da palestra: sangra pela direita; gesto = a tela "liga" */
.pa-foto { margin: 0; position: relative; }
.pa-foto { margin-top: clamp(-3rem, -3vw, -1rem); }
.pa-tela { position: relative; overflow: hidden; aspect-ratio: 4 / 5; max-height: 940px; width: 100%; border-radius: 28px 0 0 28px;
  box-shadow: 0 40px 80px -40px rgb(0 0 0 / .7); }
.pa-tela img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 54% 50%; }
.pa-tela::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(75% 62% at 52% 38% in oklab, transparent 55%, color-mix(in oklab, var(--pa-fundo) 62%, transparent)),
    linear-gradient(180deg in oklab, transparent 62%, color-mix(in oklab, var(--pa-fundo) 60%, transparent)); }
.pa-legenda { display: flex; align-items: center; gap: .6rem; margin-top: 1rem; font-size: .95rem; line-height: 1.4; color: color-mix(in oklab, var(--creme) 78%, transparent); }
.pa-legenda-ponto { flex: none; width: 1.3rem; height: 2px; background: repeating-linear-gradient(90deg, var(--musgo) 0 5px, transparent 5px 8px); }

/* ---------- fala ---------- */
.pa-fala { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: end;
  margin-top: clamp(4.5rem, 9vw, 8rem); padding: 0 var(--margem); }
.pa-iesgo { margin: 0; }
.pa-iesgo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 26%; filter: brightness(.9) saturate(.9); border-radius: 22px; box-shadow: 0 40px 80px -40px rgb(0 0 0 / .7); }
.pa-citacao { margin: 0; }
.pa-citacao blockquote { margin: 0; }
.pa-citacao p { margin: 0; position: relative; font-family: var(--f-titulo); font-weight: 760; font-size: clamp(2.1rem, .8rem + 4vw, 5.2rem); line-height: 1.02; letter-spacing: -.03em; text-wrap: balance; }
.pa-aspa { position: absolute; left: -.55em; top: -.05em; color: var(--musgo); }
.pa-citacao figcaption { margin-top: 1.6rem; display: flex; align-items: center; gap: .6rem; font-size: 1rem; font-weight: 600; color: var(--fio-2); }
.pa-citacao figcaption::before { content: ""; width: 1.9rem; height: 2px; background: repeating-linear-gradient(90deg, var(--musgo) 0 5px, transparent 5px 8px); }

/* ---------- gesto: a tela liga ---------- */
.js .pa-foto[data-rev] { transform: none; }
.js .pa-foto .pa-tela { clip-path: inset(49% 0 49% 0); filter: brightness(1.8) saturate(.4); }
.js .pa-foto.rev-in .pa-tela { clip-path: inset(0 0 0 0); filter: none;
  transition: clip-path 1.1s .1s cubic-bezier(.7,0,.2,1), filter 1.4s .6s var(--ease); }

/* ---------- celular e tablet ---------- */
@media (max-width: 980px) {
  .pa-topo { display: flex; flex-direction: column; gap: 0; }
  .pa-texto { display: contents; }
  .pa-texto > * { margin-left: var(--margem); margin-right: var(--margem); max-width: 40rem; }
  .pa-sobre { order: 1; } .pa-titulo { order: 2; }
  .pa-foto { order: 3; margin: 2rem 0 0 var(--margem); }
  .pa-apoio { order: 4; margin-top: 2rem; } .pa-cred { order: 5; } .pa-temas-rot { order: 6; } .pa-temas { order: 7; } .pa-btn { order: 8; align-self: flex-start; }
  .pa-fala { grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
  .pa-citacao { order: -1; }
  .pa-aspa { position: static; }
  .pa-iesgo { max-width: 30rem; }
  .pa-iesgo img { aspect-ratio: 4 / 3; object-position: 50% 22%; }
  .pa-tela { aspect-ratio: 1 / 1; border-radius: 22px 0 0 22px; }
  .pa-foto { margin-top: 2rem; }
  .pa { padding-bottom: 7rem; }
  .pa-luz { width: 100vw; height: 700px; top: 10rem; }
}
@media (prefers-reduced-motion: reduce) {
  .js .pa-foto .pa-tela { clip-path: none; filter: none; }
}
