/* Página de agradecimento das pré-inscrições: entrada animada (inspirada na animação
   «Agradecimento Animado» do Claude Design), leve e só com CSS. Sem JS o texto fica visível. */
@keyframes oaPop { 0% { transform: scale(0) rotate(-90deg); } 70% { transform: scale(1.12) rotate(0); } 100% { transform: scale(1) rotate(0); } }
@keyframes oaSobe { from { opacity: 0; transform: translateY(.55em); } to { opacity: 1; transform: none; } }
@keyframes oaEntra { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes oaDesenha { to { stroke-dashoffset: 0; } }
@keyframes oaRevela { from { clip-path: inset(-10% 100% -10% 0); } to { clip-path: inset(-10% 0 -10% 0); } }

.oa-mais { width: 56px; height: 56px; border-radius: 12px; background: var(--terra); display: grid; place-items: center; margin-bottom: 26px;
  box-shadow: 0 10px 24px -14px rgba(60,36,21,.55); animation: oaPop .9s cubic-bezier(.34,1.56,.64,1) .15s both; }
.oa-mais svg { stroke: #fff; }
.oa-titulo .p { display: inline-block; animation: oaSobe .9s cubic-bezier(.16,1,.3,1) both; }
.legalpg .oa-titulo b { color: var(--terra); }
.legalpg .oa-curso { display: inline-block; padding: 9px 18px; border-radius: 6px; background: var(--terra-soft); color: var(--terra-deep);
  font-size: 14px; font-weight: 700; letter-spacing: .01em; margin: 6px 0 0; animation: oaPop2 .8s cubic-bezier(.34,1.56,.64,1) 1.05s both; }
@keyframes oaPop2 { from { opacity: 0; transform: translateY(14px) scale(.9); } to { opacity: 1; transform: none; } }
.oa-linha { margin: 26px 0 40px; border: 0; border-top: 1px solid var(--line); }
.oa-resto > * { animation: oaEntra .8s cubic-bezier(.16,1,.3,1) both; }
.oa-resto > *:nth-child(1) { animation-delay: 1.35s; } .oa-resto > *:nth-child(2) { animation-delay: 1.5s; }
.oa-resto > *:nth-child(3) { animation-delay: 1.65s; } .oa-resto > *:nth-child(4) { animation-delay: 1.8s; }
.oa-resto > *:nth-child(n+5) { animation-delay: 1.95s; }

/* fecho: sorriso a desenhar-se e logótipo a revelar-se quando entra no ecrã */
.oa-fecho { margin-top: 56px; text-align: center; }
.legalpg .oa-fecho .ate { font-size: clamp(24px, 3vw, 32px); font-weight: 800; letter-spacing: -.02em; color: var(--espresso); margin: 0; }
.oa-sorriso { display: block; margin: 6px auto 18px; width: 150px; height: 34px; overflow: visible; }
.oa-sorriso path { fill: none; stroke: var(--terra); stroke-width: 6; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.oa-fecho .brand-logo { --ls: 1.1; }
.js .oa-fecho .brand-logo { clip-path: inset(-10% 100% -10% 0); }
.oa-fecho.visivel .oa-sorriso path { animation: oaDesenha 1.2s cubic-bezier(.65,0,.35,1) .2s forwards; }
.oa-fecho.visivel .brand-logo { animation: oaRevela 1.1s cubic-bezier(.65,0,.35,1) .9s both; }
html:not(.js) .oa-sorriso path { stroke-dashoffset: 0; }
@media (max-width: 420px) { .oa-fecho .brand-logo { --ls: .85; } .legalpg .oa-curso { font-size: 12px; padding: 8px 14px; } }

@media (prefers-reduced-motion: reduce) {
  .oa-mais, .oa-titulo .p, .oa-curso, .oa-resto > *, .oa-fecho.visivel .brand-logo { animation: none !important; }
  .oa-sorriso path { stroke-dashoffset: 0 !important; animation: none !important; }
  .js .oa-fecho .brand-logo { clip-path: none; }
}
