/* 1. Reset Global */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 2. Trava a rolagem na raiz da página */
body {
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    background: #10181e; 
    font-family: "Stack Sans Text", "San Francisco Compact", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* 3. Container Principal */
section {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.2rem; /* Espaçamento equilibrado entre todos os elementos */
    text-align: center;
    padding: 0 20px;
}

/* 4. Elementos por cima da onda (Z-Index) */
.hero-logo,
.hero-hashtag, 
.hero-slogan {
    position: relative;
    z-index: 10; /* Traz o logo e os textos para a frente da animação */
}

/* Estilização específica do Logo */
.hero-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0.5rem; /* Dá um leve destaque de afastamento para o logo */
}

.hero-logo img {
    width: 100%;
    max-width: 160px; /* Define um tamanho máximo elegante para o logo */
    height: auto; /* Mantém a proporção original da imagem */
    display: block;
    filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.2)); /* Leve sombra para destacar do fundo */
}

/* Textos */
.hero-hashtag, .hero-slogan {
    color: #daf1df;
}

.hero-hashtag h2 {
    font-size: clamp(2rem, 4vw, 2.4rem);
    font-family: "Stack Sans Text", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.hero-slogan h4 p {
    font-size: clamp(1rem, 1.4vw, 1.6rem);
    font-family: "Stack Sans Text", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    max-width: 700px;
    line-height: 1.5;
    opacity: 0.9;
}

/* 5. Fundo animado (Onda) */
section .wave {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0b2b26;
    box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.5);
    z-index: 0; 
}

section .wave span {
    position: absolute;
    width: 325vh; 
    height: 325vh;
    top: 0;
    left: 50%;
    transform: translate(-50%, -75%);
    background: #10181e;
    display: block;
}

section .wave span:nth-child(1) {
    border-radius: 45%;
    background: rgba(20, 20, 20, 1);
    animation: animate 40s ease infinite;
}

section .wave span:nth-child(2) {
    border-radius: 40%;
    background: rgba(20, 20, 20, 0.5);
    animation: animate 40s ease infinite;
}

section .wave span:nth-child(3) {
    border-radius: 42.5%;
    background: rgba(20, 20, 20, 0.5);
    animation: animate 40s ease infinite;
}

@keyframes animate {
    0% { transform: translate(-50%, -75%) rotate(0deg); }
    100% { transform: translate(-50%, -75%) rotate(360deg); }
}

/* 6. Garantia para Monitores Ultrawide */
@media (min-aspect-ratio: 16/9) {
    section .wave span {
        width: 150vw;
        height: 150vw;
        transform: translate(-50%, -80%);
    }
}