/* Ecrã de abertura VAI (app de visitantes e portal de parceiros): painel V–A–I sobre parede azul */
.abertura{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:12px;
  background:#092A7F url("/brand/textura-azul.jpg") 0 0/512px repeat;cursor:pointer;
  animation:ab-entra .45s ease-out both}
.abertura .ab-in{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(100%,760px);
  animation:ab-perto 1.8s cubic-bezier(.2,.7,.2,1) both}
.abertura img{width:100%;height:auto;display:block;
  -webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 70%,transparent 100%);
          mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 70%,transparent 100%);
  filter:drop-shadow(0 18px 30px rgba(0,8,40,.35))}
.ab-lema{font-family:"EB Garamond",Garamond,"Times New Roman",serif;font-weight:500;color:#EEDDBB;font-size:clamp(20px,5.4vw,34px);letter-spacing:.16em;text-align:center;margin-top:4px}
.ab-sub{font-family:"DM Serif Display",Georgia,serif;font-style:italic;color:#EEDDBB;opacity:.82;font-size:clamp(15px,3.8vw,19px)}
.abertura.sai{animation:ab-sai .6s ease-in forwards}
@keyframes ab-entra{from{opacity:0}to{opacity:1}}
@keyframes ab-perto{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes ab-sai{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion: reduce){ .abertura,.abertura .ab-in{animation:none!important} .abertura.sai{opacity:0;animation:none!important} }

