/* Página pública (landing). Fora do opperi.css de propósito. */
/* Estilos exclusivos da pagina publica. O resto vem de opperi.css. */
        .topo {
            background: var(--op-petroleo);
            border-bottom: 3px solid var(--op-verde);
        }
        .heroi {
            position: relative;
            overflow: hidden;
            background:
                radial-gradient(1100px 420px at 78% -12%, rgba(22,184,166,.20), transparent 60%),
                radial-gradient(760px 620px at 0% 112%, rgba(27,111,168,.32), transparent 66%),
                var(--op-petroleo);
            color: #fff;
        }
        /* Ladrilho costuravel com o elo da marca. 260px, 5,5% de opacidade. */
        .heroi::before {
            content: "";
            position: absolute;
            inset: 0;
            background-image: url("/static/landing/textura/opperi-textura-hero.f0a32c2c5cb6.svg");
            background-size: 260px 260px;
            pointer-events: none;
        }
        .heroi > * { position: relative; }
        .heroi h1 {
            color: #fff;
            font-size: clamp(2rem, 4.6vw, 3.4rem);
            line-height: 1.12;
            letter-spacing: -.02em;
        }
        .heroi .chamada { color: #C6D6E0; font-size: clamp(1rem, 1.6vw, 1.2rem); }
        .selo {
            display: inline-block;
            background: rgba(22,184,166,.16);
            border: 1px solid rgba(22,184,166,.45);
            color: #7FE3D6;
            border-radius: 999px;
            padding: .3rem .85rem;
            font-size: .82rem;
            font-weight: 500;
        }
        .btn-zap {
            background: #1FA855; border-color: #1FA855; color: #fff; font-weight: 600;
        }
        .btn-zap:hover, .btn-zap:focus { background: #178A45; border-color: #178A45; color: #fff; }

        .bloco { padding: clamp(3rem, 7vw, 5.5rem) 0; }
        .bloco-claro { background: #fff; }

        .recurso {
            height: 100%;
            background: #fff;
            border: 1px solid var(--op-borda);
            border-radius: .75rem;
            padding: 1.6rem;
        }
        .recurso h3 { font-size: 1.08rem; margin-bottom: .5rem; }
        .recurso p  { color: var(--op-cinza); margin-bottom: 0; font-size: .96rem; }
        .icone {
            width: 40px; height: 40px; border-radius: .6rem;
            background: var(--op-info-bg); color: var(--op-azul);
            display: flex; align-items: center; justify-content: center;
            margin-bottom: .9rem;
        }
        .icone svg { width: 21px; height: 21px; stroke-width: 1.9; }
        .icone img { width: 24px; height: 24px; }

        /* Mockup do sistema no topo. Passa da borda do container no desktop,
           que e o que faz a tela parecer grande em vez de um selo no canto. */
        .tela-heroi img { width: 100%; height: auto; }
        /* No desktop a imagem transborda a coluna para a direita, que e o que
           faz a tela parecer grande. Margem negativa na COLUNA nao funciona:
           ela e um flex item com base fixa em 50%, entao a margem vira espaco
           livre em vez de empurrar a borda. Quem precisa crescer e a <img>.
           O overflow hidden do .heroi segura a barra de rolagem lateral. */
        @media (min-width: 992px) {
            .tela-heroi img { width: calc(100% + 6rem); max-width: none; }
        }
        @media (max-width: 991.98px) {
            .tela-heroi { margin-top: 2.5rem; }
        }

        /* Disponivel para marcar item de roteiro; sem uso no momento. */
        .em-breve {
            font-size: .72rem; font-weight: 600; text-transform: uppercase;
            letter-spacing: .05em; color: var(--op-alerta-txt);
            background: var(--op-alerta-bg); border-radius: 999px;
            padding: .12rem .55rem; vertical-align: middle; margin-left: .4rem;
        }

        .citacao {
            border-left: 3px solid var(--op-verde);
            padding-left: 1.4rem;
            font-size: clamp(1.05rem, 2vw, 1.3rem);
            line-height: 1.55;
        }
        .rodape { background: var(--op-petroleo); color: #8FA8B8; }
        .rodape a { color: #C6D6E0; text-decoration: none; }
        .rodape a:hover { color: #fff; text-decoration: underline; }

.landing-heroi-pad { padding-block: clamp(3.5rem, 8vw, 6rem); }
.landing-texto { font-size: 1.05rem; line-height: 1.7; }
.landing-cta-titulo { color: #fff; }
.landing-cta-texto { max-width: 620px; }

