html { scroll-behavior: smooth; }

        /* ESTE LUGAR TEM FUNDO PRÓPRIO.
           O resto do site é #08090b, um preto neutro. Aqui o preto puxa
           para o verde. É pouco em número e muito em percepção: quem
           vem do hub percebe que mudou de lugar antes de ler qualquer
           palavra. Se o fundo voltar a ser o do site, a entrada deixa
           de ser uma entrada e vira só mais uma página. */
        body { overflow-x: hidden; background: #05100c; }

        /* A SOLEIRA. Tudo aqui existe para o primeiro segundo. */
        .soleira { min-height: 100svh; }
        .campo {
            background:
              radial-gradient(70% 55% at 50% 22%, rgba(47,180,137,.16), transparent 70%),
              radial-gradient(50% 40% at 82% 88%, rgba(231,159,31,.07), transparent 70%);
        }
        .placa { border-color: rgba(110,211,174,.22); }
        .emblema { width: 44px; height: 30px; }
        .emblema rect { fill: #6ed3ae; }
        .emblema .base { fill: #2fb489; }

        .indice a { border-color: rgba(255,255,255,.12); }
        .indice a:hover { border-color: rgba(110,211,174,.5); background-color: rgba(47,180,137,.06); }

        /* TRILHO DO LUGAR — mesma conta do hub.
           Container de 1500px centrado, trilho de ~130px de cada lado:
           1500 + 2 × 130 = 1760. Abaixo disso ele pisaria no texto.
           Se o container mudar de largura, este número muda junto. */
        .trilho { display: none; }
        @media (min-width: 1760px) { .trilho { display: block; } }
        .rail-on { color: #faf9f7; }
        .rail-on .rail-bar { width: 34px; background: #2fb489; }
        .grao::after {
            content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .035;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
        }
        .rev { opacity: 0; transform: translateY(26px); transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
        .rev.vis { opacity: 1; transform: none; }
        .rev-d1 { transition-delay: .09s } .rev-d2 { transition-delay: .18s } .rev-d3 { transition-delay: .27s }
        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            .rev { opacity: 1; transform: none; transition: none; }
        }
        .risco { height: 1px; background: linear-gradient(90deg, rgba(255,255,255,.28), rgba(255,255,255,0)); }
        .num { font-variant-numeric: tabular-nums; }
        .display { line-height: .92; letter-spacing: -.035em; }

.mascote-shadow {
  filter: drop-shadow(0 26px 50px rgba(0,0,0,.5))
          drop-shadow(0 0 60px rgba(231,159,31,.28));
}