/* Palestras e treinamentos · CSS só desta página, prefixo pt-. Cantos suaves por pedido do Cleber. Se a página for para o site, mover para um .css ligado no head (o checar do _montar_site.py lê classes só de estilo.css e de .css ligados). */
.pt-hero h1{font-size:clamp(2.05rem,4.6vw,3.55rem);max-width:21ch;line-height:1.06}
.pt-hero .lead{max-width:54ch}
.pt-hero h1,main h2{text-wrap:balance}
.pt-prova{padding:clamp(40px,6vw,64px) 0}
.pt-prova ul{display:grid;gap:1rem}
.pt-prova li{padding:1.35rem 1.5rem;background:var(--panel);border-radius:18px;font-weight:600;line-height:1.45}
.pt-prova a{border-bottom:1px solid var(--linha);transition:border-color .2s}
.pt-prova a:hover{border-color:var(--red)}
.pt-dor{display:grid;gap:1.75rem}
.pt-dor__txt{display:grid;gap:1.1rem;max-width:58ch;font-size:1.125rem;color:var(--muted)}
.pt-dor__txt p:first-child{color:var(--white)}
.pt-cards{display:grid;gap:1.25rem}
.pt-card{display:flex;flex-direction:column;position:relative;padding:2.25rem 1.6rem 1.75rem;background:var(--panel);border-radius:24px;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.pt-card::before{content:'';position:absolute;left:1.6rem;top:0;width:36px;height:4px;border-radius:0 0 4px 4px;background:var(--red)}
.pt-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,14,26,.08)}
.pt-card h3{font-family:var(--sora);font-weight:700;font-size:1.3rem;line-height:1.2;letter-spacing:-.02em;margin-bottom:1.1rem}
.pt-r{margin-top:1rem;margin-bottom:.2rem;font-size:.92rem;font-weight:700;color:var(--muted)}
.pt-card h3+.pt-r{margin-top:0}
.pt-card p:not(.pt-r){max-width:46ch}
.pt-card__bt{margin-top:auto;padding-top:1.75rem}
.pt-grupo{margin-top:clamp(2.5rem,5vw,3.5rem);font-family:var(--sora);font-weight:700;font-size:1.25rem;letter-spacing:-.02em}
.pt-grupo:first-of-type{margin-top:0}
.pt-temas{display:grid;gap:0 2.5rem;margin-top:1.25rem}
.pt-tema{padding:1.5rem 0;border-top:1px solid var(--linha)}
.pt-tema h4{font-family:var(--inter);font-weight:600;font-size:1.1rem;line-height:1.3}
.pt-tag{display:inline-block;margin:.5rem 0 .6rem;padding:.25rem .7rem;border:1px solid var(--linha);border-radius:999px;font-size:.8rem;font-weight:600;color:var(--muted)}
.pt-tema p{color:var(--muted)}
.pt-fecho{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:baseline;font-weight:600}
.pt-vias{display:grid;gap:1.25rem}
.pt-via{display:flex;flex-direction:column;padding:2rem 1.6rem 1.75rem;background:var(--panel);border-radius:24px}
.pt-via h3{font-family:var(--sora);font-weight:700;font-size:1.3rem;line-height:1.2;letter-spacing:-.02em;margin-bottom:1.25rem}
.pt-passos{counter-reset:pp;display:grid;gap:1rem}
.pt-passos li{counter-increment:pp;display:grid;grid-template-columns:2.4rem minmax(0,1fr)}
.pt-passos li::before{content:counter(pp);font-family:var(--sora);font-weight:800;font-size:1.5rem;line-height:1.2;color:var(--red)}
.pt-nota{margin-top:1.5rem;padding:1.15rem 1.25rem 1.15rem 1.5rem;background:var(--bg);border-radius:16px;box-shadow:inset 3px 0 0 var(--red);font-size:.98rem}
.pt-nota h4{font-family:var(--inter);font-weight:700;font-size:1rem;margin-bottom:.4rem}
.pt-nota p{color:var(--muted)}
.pt-nota a{color:var(--white);border-bottom:1px solid var(--linha-ink);font-weight:600}
.pt-nota a:hover{border-color:var(--red)}
.pt-via .pt-card__bt{padding-top:1.75rem}
.pt-faq{display:grid;gap:2rem}
.pt-faq details{border:1px solid var(--linha);border-radius:16px;background:var(--bg);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.05rem;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.35rem;color:var(--muted)}
.pt-faq details a{color:var(--white);border-bottom:1px solid var(--linha-ink);font-weight:600}
.pt-fim .contato h2,.contato.pt-fim h2{max-width:20ch}
@media (prefers-reduced-motion:reduce){.pt-card,.pt-faq summary::after,.pt-prova a{transition:none}.pt-card:hover{transform:none;box-shadow:none}}
@media (min-width:720px){
  .pt-prova ul{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pt-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-card{padding:2.5rem 2rem 2rem}.pt-card::before{left:2rem}
  .pt-cards .pt-card:last-child{grid-column:1/-1}
  .pt-temas{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:800px){
  .pt-vias{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-via{padding:2.25rem 2rem 2rem}
}
@media (min-width:900px){
  .pt-dor{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;align-items:start}
  .pt-faq{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:3rem;align-items:start}
}
@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}
  .pt-temas{grid-template-columns:repeat(3,minmax(0,1fr))}
}
