/* Garantir UTF-8 no ficheiro ao gravar no editor */ /* Fundo vídeo a 100% do ecrã, atrás de tudo */ .video-bg-container { position: fixed; inset: 0; overflow: hidden; z-index: -1; } #bg-video { width: 100%; height: 100%; object-fit: cover; } /* Header geral */ .site-header { position: fixed; top: 0; left: 0; right: 0; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: flex-start; z-index: 10; box-sizing: border-box; } /* Logo e subtítulo à esquerda */ .logo-container { display: flex; flex-direction: column; align-items: flex-start; } /* Efeito 3D simples com sombra */ .logo { font-family: "Evo 2", sans-serif; /* garantir fonte carregada */ font-size: 0; /* começa em 0, animado por transform */ color: #ffffff; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); display: inline-block; transform-origin: left top; animation: logo-scale-in 1s forwards; } /* Subtítulo aparece 1s depois */ .subtitle { margin-top: 0.3rem; font-family: "Evo 2", sans-serif; font-size: 0; color: #ffffff; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); transform-origin: left top; animation: subtitle-scale-in 0.8s forwards; animation-delay: 1s; } /* Animação de escala (0 -> tamanho final) */ @keyframes logo-scale-in { from { transform: scale(0); } to { transform: scale(1); font-size: 50px; } } @keyframes subtitle-scale-in { from { transform: scale(0); } to { transform: scale(1); font-size: 20px; } } /* Cores base */ .logo-fis, .logo-co, .logo-nta { transition: color 0.3s ease; } .logo-fis, .logo-nta { color: #ffffff; } .logo-co { color: #ffffff; } /* Classe para azul claro */ .blue { color: #66b3ff; } /* Classe para azul claro permanente (co) */ .blue-permanent { color: #66b3ff; } /* Subtítulo alterna branco / azul claro */ .subtitle-white { color: #ffffff; } .subtitle-blue { color: #66b3ff; } /* Botões de som no canto superior direito */ .sound-controls { display: flex; gap: 0.5rem; } .sound-controls button { background: transparent; border: 1px solid #ffffff; color: #ffffff; padding: 0.3rem 0.6rem; cursor: pointer; font-size: 0.9rem; border-radius: 3px; } .sound-controls button:hover { background: rgba(255,255,255,0.15); } /* Responsividade básica */ @media (max-width: 768px) { .site-header { padding: 0.5rem 1rem; } @keyframes logo-scale-in { from { transform: scale(0); } to { transform: scale(1); font-size: 32px; } } @keyframes subtitle-scale-in { from { transform: scale(0); } to { transform: scale(1); font-size: 16px; } } .sound-controls button { font-size: 0.8rem; padding: 0.2rem 0.4rem; } }