/* UaiData — estilos globais (hover, animações, foco, movimento reduzido) */
body{margin:0}
a{color:inherit}
.nav a{transition:background-color .2s ease}
.nav a:hover{background:rgba(20,24,31,.07)}
.btn{transition:transform .2s ease,box-shadow .3s ease,color .35s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px -12px rgba(20,24,31,.45)}
.btn:active{transform:translateY(0) scale(.97);box-shadow:none}
.sweep,.ghost{position:relative;overflow:hidden;isolation:isolate}
.sweep::before,.ghost::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.sweep::before{background:#14181F;transform:translateX(-101%)}
.sweep-red::before{background:#C2331F}
.ghost::before{background:#14181F;transform:translateY(101%)}
.sweep:hover::before,.sweep:focus-visible::before,.ghost:hover::before,.ghost:focus-visible::before{transform:none}
.ghost:hover,.ghost:focus-visible{color:#F4F1EA!important}
.sweep svg{transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.sweep:hover svg{transform:translateX(7px)}
.alink span{transition:background-color .3s ease,box-shadow .3s ease,transform .35s cubic-bezier(.3,1.4,.5,1)}
.alink svg{transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.alink:hover span{background:#C2331F!important;box-shadow:0 0 0 8px rgba(194,51,31,.18);transform:scale(1.1)}
.alink:hover svg{transform:translateX(3px)}
.alink:active span{transform:scale(.94)}
.nav a{position:relative}
.nav a::after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;border-radius:50%;background:#C2331F;transform:translateX(-50%) scale(0);transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.nav a:hover::after{transform:translateX(-50%) scale(1)}
.disc{transition:transform .4s ease}
.disc:hover{transform:scale(1.02)}
a:focus-visible,button:focus-visible{outline:3px solid #14181F;outline-offset:3px}
input:focus,select:focus,textarea:focus{outline:3px solid #14181F;outline-offset:2px}
::placeholder{color:#4A515B;opacity:1}
.draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.6s cubic-bezier(.5,0,.2,1) .3s forwards}
.drawloop{stroke-dasharray:1;stroke-dashoffset:1;animation:drawloop 6s cubic-bezier(.5,0,.2,1) infinite}
.pop{transform-box:fill-box;transform-origin:center;opacity:0;animation:pop .6s cubic-bezier(.3,1.6,.5,1) forwards}
.sun{animation:sun 9s ease-in-out infinite}
.rings circle{transform-box:fill-box;transform-origin:center;animation:ring 4s ease-out infinite}
.rings circle:nth-child(2){animation-delay:.6s}.rings circle:nth-child(3){animation-delay:1.2s}
.bars rect{transform-box:fill-box;transform-origin:bottom;animation:grow 6s cubic-bezier(.4,0,.2,1) infinite}
.bars rect:nth-child(2){animation-delay:.15s}.bars rect:nth-child(3){animation-delay:.3s}.bars rect:nth-child(4){animation-delay:.45s}.bars rect:nth-child(5){animation-delay:.6s}
.beat{transform-box:fill-box;transform-origin:center;animation:beat 2.4s ease-in-out infinite}
.float{animation:float 7s ease-in-out infinite}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes drawloop{0%{stroke-dashoffset:1}40%,75%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes pop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes sun{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes ring{0%{opacity:.9;transform:scale(.9)}100%{opacity:0;transform:scale(1.12)}}
@keyframes grow{0%{transform:scaleY(.15)}35%,80%{transform:scaleY(1)}100%{transform:scaleY(.15)}}
@keyframes beat{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 45%}}
@media (prefers-reduced-motion:reduce){.btn,.disc,.nav a,.sweep::before,.ghost::before,.alink span,.alink svg,.sweep svg{transition:none!important}.btn:hover,.disc:hover{transform:none}.draw,.drawloop,.pop,.sun,.rings circle,.bars rect,.beat,.float,.reveal{animation:none!important;opacity:1;stroke-dashoffset:0;transform:none}}
.lk:hover{text-decoration:underline!important}
/* Pop-up de privacidade */
.dlg{border:0;padding:0;border-radius:32px;background:#F4F1EA;color:#14181F;width:min(720px,calc(100% - 32px));max-height:min(86vh,820px);box-shadow:0 30px 80px -20px rgba(20,24,31,.55);font-family:'IBM Plex Sans',system-ui,sans-serif}
.dlg[open]{display:flex;flex-direction:column;animation:dlgin .35s cubic-bezier(.2,.9,.3,1)}
.dlg::backdrop{background:rgba(20,24,31,.62)}
.dlg-x{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:#14181F;color:#F4F1EA;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .25s ease,transform .3s cubic-bezier(.3,1.4,.5,1)}
.dlg-x:hover{background:#C2331F;transform:rotate(90deg)}
html:has(dialog[open]){overflow:hidden}
@keyframes dlgin{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dlg[open]{animation:none}.dlg-x{transition:none}.dlg-x:hover{transform:none}}
@media (max-width:1099px){.hero-sun{display:none}}

/* Passos da metodologia: escada só quando há 4 colunas */
@media (min-width:1000px){.passo-a{margin-top:72px}.passo-b{margin-top:48px}.passo-c{margin-top:24px}}

/* Menu: no desktop o painel some da estrutura (nav e botão ficam na linha do cabeçalho) */
.menu-toggle{display:none}
.menu-panel{display:contents}
.menu-toggle .ico-x{display:none}
.menu-toggle[aria-expanded="true"] .ico-x{display:block}
.menu-toggle[aria-expanded="true"] .ico-menu{display:none}
@media (max-width:899px){
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1.5px solid #14181F;background:transparent;color:#14181F;cursor:pointer;transition:background-color .25s ease,color .25s ease}
  .menu-toggle:hover,.menu-toggle[aria-expanded="true"]{background:#14181F;color:#F4F1EA}
  .menu-panel{display:none;flex-direction:column;align-items:stretch;gap:12px;width:100%;order:3;padding-bottom:8px}
  .menu-panel.aberto{display:flex}
  .menu-panel .nav{flex-direction:column!important;gap:2px!important}
  .menu-panel .nav a{padding:14px 18px!important;font-size:18px}
  .menu-panel .btn{justify-content:center;min-height:54px!important}
  .hero-labels{display:none}
}
