/* Palestras e treinamentos v3 · CSS só desta página, prefixo pt-. Menos texto, mais respiro, cantos suaves.
   FOTO DA PRIMEIRA TELA: entra pela variável --pt-foto (na seção 1 abaixo). Sem o arquivo a primeira tela fica só com grade fina e brilho vermelho. Ver LEIA-ME.md.
   Ao subir: este arquivo substitui /palestras.css (o checar do _montar_site.py lê classes de .css ligado no head). */
main h1,main h2{text-wrap:balance}

/* ---------- 1. Primeira tela: a pessoa fica à direita do texto; degradê do escuro (lado do texto) para transparente; fusão embaixo.
   Foto 1380x770 (palestra.jpg): a mão aberta (83% da largura) fica a 24px da borda direita e a altura nunca passa de 885px (1,15x). Medidas em --ph/--pw/--pl. */
main{--pt-foto:url(/assets/img/palestra.jpg);--hh:clamp(560px,92svh,980px)}
.pt-hero{display:flex;align-items:flex-end;min-height:var(--hh);padding:calc(var(--topo) + 32px) 0 clamp(72px,12vw,120px)}
.pt-hero .wrap{position:relative;width:100%}
.pt-hero h1{font-size:clamp(2.3rem,4.7vw,4.2rem);max-width:15ch;line-height:1.04;text-shadow:0 2px 28px rgba(8,11,20,.6)}
.pt-hero .lead{max-width:36ch;color:rgba(255,255,255,.82);text-shadow:0 1px 20px rgba(8,11,20,.75)}
/* celular e tablet: a foto é uma faixa no alto, rosto no centro, e o texto entra por cima dela, de baixo para cima */
.pt-fundo{position:absolute;z-index:-2;top:0;left:0;right:0;height:600px;pointer-events:none;--mh:540px;--mw:calc(var(--mh)*1.7922);background-image:var(--pt-foto);background-repeat:no-repeat;background-size:var(--mw) var(--mh);background-position:calc(50% - var(--mw)*.04) 0;animation:pt-foto-in 1.8s var(--ease) both}
.pt-fundo::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,20,.75) 0,rgba(8,11,20,0) 17%,rgba(8,11,20,.3) 40%,rgba(8,11,20,.9) 72%,#080B14 96%)}
.pt-fundo::after{content:'';position:absolute;inset:0}
/* grade fina por cima da foto, só no lado do texto; brilho vermelho por baixo */
main > .pt-hero.faixa:first-child::before{z-index:-1;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);-webkit-mask-image:linear-gradient(90deg,#000 15%,transparent 70%),linear-gradient(180deg,#000 55%,transparent 92%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#000 15%,transparent 70%),linear-gradient(180deg,#000 55%,transparent 92%);mask-composite:intersect}
main > .pt-hero.faixa:first-child::after{z-index:-1;top:40%;bottom:auto;right:-35%;width:500px;height:500px;background:radial-gradient(closest-side,rgba(231,21,43,.4),rgba(231,21,43,.12) 55%,transparent);animation:pt-respira 18s ease-in-out infinite alternate !important}
@keyframes pt-respira{from{opacity:.6;transform:translate3d(0,0,0)}to{opacity:1;transform:translate3d(-6%,-8%,0)}}
@keyframes pt-foto-in{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}
/* computador: pessoa à direita, alinhada ao rodapé da primeira tela */
@media (min-width:1100px){
  main > .pt-hero.faixa:first-child::after{z-index:-3;top:auto;bottom:-22%;right:-6%;width:min(1100px,125vw);height:820px;background:radial-gradient(closest-side,rgba(231,21,43,.5),rgba(231,21,43,.16) 55%,transparent)}
  .pt-hero{align-items:center}
  .pt-fundo{bottom:0;height:auto;--ph:min(var(--hh),885px);--pw:calc(var(--ph)*1.7922);--pl:calc(100% - var(--pw)*.826 - 24px);background-size:var(--pw) var(--ph);background-position:calc(100% + var(--pw)*.174 - 24px) 100%}
  .pt-fundo::before{background:linear-gradient(180deg,#080B14 calc(100% - var(--ph)),rgba(8,11,20,0) calc(100% - var(--ph) + 280px)),linear-gradient(90deg,#080B14 0,#080B14 calc(var(--pl) + var(--pw)*.17),rgba(8,11,20,.5) calc(var(--pl) + var(--pw)*.31),rgba(8,11,20,0) calc(var(--pl) + var(--pw)*.43))}
  .pt-fundo::after{background:linear-gradient(0deg,#080B14 0,rgba(8,11,20,0) 26%)}
}

/* ---------- 2. Frase de respiro e para quem */
.sec.pt-quem{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#080B14 0,#0B1022 100%);padding-top:clamp(40px,6vw,72px)}
.pt-quem::before{content:'';position:absolute;z-index:-1;top:10%;right:-20%;width:min(900px,110vw);height:700px;background:radial-gradient(closest-side,rgba(231,21,43,.16),transparent);animation:pt-respira 22s ease-in-out infinite alternate}
.pt-frase{max-width:17ch;font-family:var(--sora);font-weight:700;font-size:clamp(2.1rem,5.6vw,4.4rem);line-height:1.07;letter-spacing:-.035em}
.pt-frase em{font-style:normal;color:var(--red)}
.pt-sub{margin-top:1.5rem;max-width:44ch;font-size:clamp(1.05rem,1vw + .8rem,1.25rem);color:var(--muted)}
.pt-para{display:grid;gap:0;margin-top:clamp(3rem,7vw,5.5rem)}
.pt-para li{padding:1.4rem 0;border-top:1px solid var(--linha)}
.pt-para h3{font-family:var(--sora);font-weight:700;font-size:1.2rem;letter-spacing:-.02em}
.pt-para p{margin-top:.35rem;color:var(--muted);max-width:30ch}

/* ---------- 3. Formatos */
.pt-cards{display:grid;gap:1.25rem}
.pt-card{display:flex;flex-direction:column;position:relative;padding:2.25rem 1.75rem 1.75rem;background:var(--panel);border-radius:26px;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.pt-card::before{content:'';position:absolute;left:1.75rem;top:0;width:36px;height:4px;border-radius:0 0 4px 4px;background:var(--red)}
.pt-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(10,14,26,.09)}
.pt-card h3{font-family:var(--sora);font-weight:700;font-size:1.28rem;line-height:1.2;letter-spacing:-.02em}
.pt-card p{margin-top:.9rem;color:var(--muted);max-width:34ch}
.pt-card__bt{margin-top:auto;padding-top:1.75rem}
.pt-card__bt .btn::after{content:"\2192" / "";margin-left:.6rem;transition:transform .2s var(--ease)}
.pt-card__bt .btn:hover::after{transform:translateX(3px)}

/* ---------- 4. Temas: nomes curtos em dois grupos */
.pt-grupo{margin-top:clamp(2rem,4vw,3rem);font-family:var(--sora);font-weight:600;font-size:1rem;color:var(--muted)}
.pt-grupo:first-of-type{margin-top:0}
.pt-chips{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.1rem}
.pt-chips li{padding:.65rem 1.15rem;border:1px solid var(--linha);border-radius:999px;font-weight:600;font-size:1rem;line-height:1.25;background:rgba(255,255,255,.03);transition:border-color .25s,background-color .25s}
.pt-chips li:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.07)}
.pt-fecho{margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:baseline;font-weight:600}

/* ---------- 5. Como contratar, caminho do órgão e perguntas */
.pt-passos{counter-reset:pp;display:grid;gap:1.5rem}
.pt-passos li{counter-increment:pp;display:grid;grid-template-columns:3rem minmax(0,1fr);align-items:start}
.pt-passos li::before{content:counter(pp);font-family:var(--sora);font-weight:800;font-size:2.4rem;line-height:1;color:var(--red)}
.pt-passos p{max-width:28ch;padding-top:.15rem}
.pt-orgao{margin-top:clamp(2.5rem,5vw,3.5rem);padding:1.5rem 1.5rem 1.5rem 1.75rem;background:var(--panel);border-radius:20px;box-shadow:inset 3px 0 0 var(--red);display:grid;gap:1rem}
.pt-orgao h3{font-family:var(--sora);font-weight:700;font-size:1.1rem}
.pt-orgao p{font-size:.95rem;color:var(--muted);line-height:1.55}
.pt-orgao a{color:var(--white);border-bottom:1px solid var(--linha-ink);font-weight:600}
.pt-orgao a:hover{border-color:var(--red)}
.pt-faq{margin-top:clamp(3rem,6vw,4.5rem);max-width:760px}
.pt-faq details{border:1px solid var(--linha);border-radius:16px;overflow:hidden}
.pt-faq details+details{margin-top:.75rem}
.pt-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:60px;padding:.9rem 1.25rem;list-style:none;cursor:pointer;font-family:var(--sora);font-weight:600;font-size:1.02rem;line-height:1.3}
.pt-faq summary::-webkit-details-marker{display:none}
.pt-faq summary::after{content:'';flex:none;width:14px;height:14px;background:linear-gradient(var(--red),var(--red)) center/100% 2px no-repeat,linear-gradient(var(--red),var(--red)) center/2px 100% no-repeat;transition:transform .3s var(--ease)}
.pt-faq details[open] summary::after{transform:rotate(45deg)}
.pt-faq summary:focus-visible{outline-offset:-3px;border-radius:16px}
.pt-faq details p{max-width:62ch;padding:0 1.25rem 1.3rem;color:var(--muted)}
.contato.pt-fim h2{max-width:18ch}

@media (prefers-reduced-motion:reduce){
  .pt-fundo,.pt-quem::before{animation:none}
  main > .pt-hero.faixa:first-child::after{animation:none !important}
  .pt-card,.pt-chips li,.pt-faq summary::after{transition:none}
  .pt-card:hover{transform:none;box-shadow:none}
}
@media (min-width:720px){
  .pt-para{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
  .pt-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-cards .pt-card:last-child{grid-column:1/-1}
  .pt-passos{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
  .pt-passos li{grid-template-columns:1fr;gap:.75rem}
  .pt-orgao{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem 2.5rem;padding:1.75rem 2rem}
  .pt-orgao h3{grid-column:1/-1}
}
@media (min-width:1000px){
  .pt-cards{grid-template-columns:repeat(6,minmax(0,1fr))}
  .pt-cards .pt-card{grid-column:span 2}
  .pt-cards .pt-card:nth-child(n+4){grid-column:span 3}
}
