/* =========================================================================
   RBytesLinhaAmarela — páginas públicas (landing, documentos legais e erros)
   Complementa site.css (tokens --ra-*). Todas as classes usam o prefixo "lp-".
   ========================================================================= */

:root {
    --lp-navbar-altura: 76px;
    --lp-escuro: #121418;
    --lp-escuro-2: #16191D;
    --lp-painel-escuro: #1F2329;
    --lp-painel-escuro-2: #262B32;
    --lp-texto-claro: rgba(255, 255, 255, .78);
    --lp-texto-claro-suave: rgba(255, 255, 255, .64);
    --lp-borda-escura: rgba(255, 255, 255, .09);
    --lp-raio-grande: 20px;
    --lp-verde: #157347;
    --lp-verde-claro: #5BE0A0;
    --lp-azul-claro: #8DBBFF;
    --lp-vermelho-claro: #FF9B9B;
    --lp-listra: repeating-linear-gradient(-45deg, var(--ra-amarelo) 0 14px, var(--ra-grafite) 14px 28px);
    --lp-curva: cubic-bezier(.2, .7, .2, 1);
    /* Amarelo escurecido para textos pequenos sobre fundos cinza-claros (contraste AA >= 4,5:1). */
    --lp-amarelo-texto-forte: #8A5A00;
}

/* ---------- Base ---------- */
html { scroll-padding-top: calc(var(--lp-navbar-altura) + 12px); }
@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
}

body.lp-corpo { background: #fff; min-height: 100vh; display: flex; flex-direction: column; }
.lp-corpo > main { flex: 1 0 auto; }
.lp-corpo > main:focus { outline: none; }
.lp-sem-hero > main { padding-top: var(--lp-navbar-altura); }

.lp-corpo .btn-lg { padding: .85rem 1.5rem; font-size: 1.02rem; border-radius: .75rem; }

/* Link "Pular para o conteúdo" */
.lp-pular {
    position: fixed; top: .75rem; left: .75rem; z-index: 2000;
    background: var(--ra-amarelo); color: var(--ra-grafite); font-weight: 700;
    padding: .65rem 1.1rem; border-radius: .6rem; text-decoration: none; box-shadow: var(--ra-sombra-media);
}

/* ---------- Foco visível (contraste mínimo 3:1 em cada contexto) ---------- */
.lp-corpo :focus-visible { outline: 3px solid var(--ra-amarelo-texto); outline-offset: 3px; }
.lp-corpo .btn:focus-visible { box-shadow: none; outline: 3px solid var(--ra-amarelo-texto); outline-offset: 3px; }
.lp-tema-escuro :focus-visible,
.lp-tema-escuro .btn:focus-visible { outline-color: var(--ra-amarelo); }
.lp-cta :focus-visible,
.lp-cta .btn:focus-visible { outline-color: var(--ra-grafite); }
.lp-corpo .accordion-button:focus-visible { outline: 3px solid var(--ra-amarelo-texto); outline-offset: -3px; box-shadow: none; }
.lp-pular:focus-visible { outline: 3px solid var(--ra-grafite); outline-offset: 2px; }
/* Seções que recebem foco programático (rolagem por âncora) não exibem contorno. */
.lp-corpo [tabindex="-1"]:focus { outline: none; }

/* ---------- Botões ---------- */
.lp-btn-contorno {
    --bs-btn-color: #fff;
    --bs-btn-bg: rgba(255, 255, 255, .04);
    --bs-btn-border-color: rgba(255, 255, 255, .3);
    --bs-btn-hover-color: var(--ra-grafite);
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #fff;
    --bs-btn-active-color: var(--ra-grafite);
    --bs-btn-active-bg: #E9ECEF;
    --bs-btn-active-border-color: #E9ECEF;
}
.lp-btn-contorno-escuro {
    --bs-btn-color: var(--ra-grafite);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: rgba(27, 30, 35, .55);
    --bs-btn-hover-color: var(--ra-amarelo);
    --bs-btn-hover-bg: var(--ra-grafite);
    --bs-btn-hover-border-color: var(--ra-grafite);
    --bs-btn-active-color: var(--ra-amarelo);
    --bs-btn-active-bg: var(--ra-grafite-3);
    --bs-btn-active-border-color: var(--ra-grafite-3);
}
.lp-btn-texto {
    --bs-btn-color: var(--lp-texto-claro);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgba(255, 255, 255, .06);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgba(255, 255, 255, .1);
    --bs-btn-active-border-color: transparent;
}
.lp-btn-cta { box-shadow: 0 12px 30px rgba(255, 184, 0, .28); }
.lp-btn-cta:hover { box-shadow: 0 14px 34px rgba(255, 184, 0, .38); }

/* ---------- Navbar ---------- */
.lp-navbar {
    --bs-navbar-color: rgba(255, 255, 255, .82);
    --bs-navbar-hover-color: #fff;
    --bs-navbar-active-color: var(--ra-amarelo);
    --bs-navbar-nav-link-padding-x: .9rem;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, .22);
    --bs-navbar-toggler-focus-width: 0;
    padding-block: 1rem;
    background-color: var(--ra-grafite);
    transition: padding .3s var(--lp-curva), background-color .3s ease, box-shadow .3s ease;
}
.lp-com-hero .lp-navbar { background-color: transparent; }
.lp-navbar.lp-navbar-rolada,
.lp-com-hero .lp-navbar.lp-navbar-rolada {
    padding-block: .5rem;
    background-color: rgba(21, 24, 28, .93);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .28);
    -webkit-backdrop-filter: saturate(160%) blur(12px);
    backdrop-filter: saturate(160%) blur(12px);
}
.lp-navbar.lp-navbar-aberta,
.lp-com-hero .lp-navbar.lp-navbar-aberta { background-color: rgba(21, 24, 28, .98); }

.lp-marca { display: inline-flex; }
.lp-marca small { text-transform: uppercase; }
.lp-navbar .app-brand-icone { transition: width .3s var(--lp-curva), height .3s var(--lp-curva), font-size .3s var(--lp-curva), border-radius .3s; }
.lp-navbar .app-brand-texto { transition: font-size .3s var(--lp-curva); }
.lp-navbar.lp-navbar-rolada .app-brand-icone { width: 32px; height: 32px; font-size: 1rem; border-radius: 9px; }
.lp-navbar.lp-navbar-rolada .app-brand-texto { font-size: 1.12rem; }

.lp-navbar .nav-link { font-weight: 600; font-size: .95rem; position: relative; border-radius: .5rem; }
.lp-navbar .navbar-toggler { padding: .4rem .6rem; border-radius: .6rem; }
.lp-navbar-acoes { display: flex; align-items: center; gap: .5rem; }

@media (min-width: 992px) {
    .lp-navbar .nav-link::after {
        content: ""; position: absolute; left: var(--bs-navbar-nav-link-padding-x); right: var(--bs-navbar-nav-link-padding-x); bottom: .2rem;
        height: 2px; border-radius: 2px; background: var(--ra-amarelo);
        transform: scaleX(0); transform-origin: left; transition: transform .25s var(--lp-curva);
    }
    .lp-navbar .nav-link:hover::after,
    .lp-navbar .nav-link.active::after { transform: scaleX(1); }
}

@media (max-width: 991.98px) {
    .lp-navbar .navbar-collapse {
        margin-top: .75rem; padding: .75rem; background: var(--ra-grafite-2);
        border: 1px solid var(--lp-borda-escura); border-radius: 14px; box-shadow: 0 16px 40px rgba(0, 0, 0, .35);
    }
    .lp-navbar .nav-link { padding: .65rem .85rem; }
    .lp-navbar .nav-link.active { background: rgba(255, 184, 0, .1); }
    .lp-navbar-acoes { flex-direction: column; align-items: stretch; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--lp-borda-escura); }
}

/* ---------- Mensagens (TempData) ---------- */
.lp-mensagens .alert { margin: 1rem auto 0; max-width: 760px; box-shadow: var(--ra-sombra-media); }
.lp-com-hero .lp-mensagens {
    position: absolute; top: calc(var(--lp-navbar-altura) + .5rem); left: 0; right: 0; z-index: 1025; pointer-events: none;
}
.lp-com-hero .lp-mensagens .alert { pointer-events: auto; }

/* ---------- Fundo escuro compartilhado (hero, topo de documentos, erros) ---------- */
.lp-fundo-escuro {
    position: relative; overflow: hidden; isolation: isolate; color: #fff;
    background:
        radial-gradient(900px 520px at 88% 6%, rgba(255, 184, 0, .16), transparent 62%),
        radial-gradient(700px 420px at 0% 100%, rgba(255, 184, 0, .07), transparent 60%),
        linear-gradient(180deg, #14171B 0%, var(--ra-grafite) 100%);
}
.lp-fundo-escuro::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 85%);
    mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 85%);
}
.lp-fundo-escuro::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: var(--lp-listra);
}

/* ---------- Hero ---------- */
.lp-hero { padding: calc(var(--lp-navbar-altura) + 4.25rem) 0 6rem; }
.lp-hero-selo {
    display: inline-flex; align-items: center; gap: .6rem; padding: .35rem .95rem .35rem .4rem; border-radius: 999px;
    background: rgba(255, 184, 0, .1); border: 1px solid rgba(255, 184, 0, .32); color: #FFD466; font-size: .84rem; font-weight: 600;
}
.lp-hero-selo-icone {
    width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
    background: var(--ra-amarelo); color: var(--ra-grafite); font-size: .82rem;
}
.lp-hero-titulo {
    font-size: clamp(2.3rem, 5.2vw, 3.9rem); font-weight: 800; line-height: 1.04; letter-spacing: -.6px;
    margin: 1.4rem 0 1.25rem; color: #fff; text-wrap: balance;
}
.lp-destaque { color: var(--ra-amarelo); position: relative; white-space: nowrap; }
.lp-destaque::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -.04em; height: .13em; border-radius: 2px;
    background: repeating-linear-gradient(-45deg, var(--ra-amarelo) 0 6px, transparent 6px 11px);
}
.lp-hero-lead { font-size: 1.15rem; line-height: 1.65; color: var(--lp-texto-claro); max-width: 36rem; margin-bottom: 2rem; }
.lp-hero-acoes { display: flex; flex-wrap: wrap; gap: .75rem; }
.lp-hero-garantias {
    list-style: none; padding: 0; margin: 1.75rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.4rem;
    color: var(--lp-texto-claro-suave); font-size: .9rem;
}
.lp-hero-garantias i { color: var(--ra-amarelo); margin-right: .4rem; }
@media (max-width: 575.98px) {
    .lp-hero { padding-top: calc(var(--lp-navbar-altura) + 2.5rem); padding-bottom: 4.5rem; }
    .lp-hero-acoes .btn { width: 100%; }
}

/* ---------- Mockup do painel (HTML/CSS) ---------- */
.lp-mockup { position: relative; padding: 1.75rem 0; }
.lp-mockup-janela {
    position: relative; background: var(--lp-painel-escuro); border: 1px solid rgba(255, 255, 255, .1); border-radius: 18px; overflow: hidden;
    box-shadow: 0 40px 80px rgba(0, 0, 0, .45), 0 0 0 1px rgba(0, 0, 0, .3), 0 0 120px rgba(255, 184, 0, .08);
}
@media (min-width: 992px) {
    .lp-mockup-janela { transform: perspective(1800px) rotateY(-7deg) rotateX(3deg); transition: transform .6s var(--lp-curva); }
    .lp-mockup:hover .lp-mockup-janela { transform: perspective(1800px) rotateY(-2deg) rotateX(1deg); }
}
.lp-mockup-barra { display: flex; align-items: center; gap: .4rem; padding: .7rem 1rem; background: #181B20; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.lp-ponto { width: 10px; height: 10px; border-radius: 50%; background: #3A4049; }
.lp-ponto.vermelho { background: #F2665F; }
.lp-ponto.amarelo { background: var(--ra-amarelo); }
.lp-ponto.verde { background: #3DD68C; }
.lp-mockup-barra-titulo { margin-left: .75rem; font-size: .75rem; color: rgba(255, 255, 255, .55); display: inline-flex; align-items: center; gap: .35rem; }
.lp-mockup-corpo { display: grid; grid-template-columns: 54px minmax(0, 1fr); }
.lp-mockup-menu {
    background: #181B20; border-right: 1px solid rgba(255, 255, 255, .06);
    display: flex; flex-direction: column; align-items: center; gap: .5rem; padding: .9rem 0;
}
.lp-mockup-menu span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: rgba(255, 255, 255, .45); font-size: .95rem; }
.lp-mockup-menu .lp-mockup-logo { color: var(--ra-amarelo); font-size: 1.1rem; margin-bottom: .35rem; }
.lp-mockup-menu .ativo { background: var(--ra-amarelo); color: var(--ra-grafite); box-shadow: 0 4px 14px rgba(255, 184, 0, .3); }
.lp-mockup-conteudo { padding: 1.1rem; display: grid; gap: .8rem; min-width: 0; }
.lp-mockup-topo {
    display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap;
    background: linear-gradient(135deg, #2A3038, #1D2126); border: 1px solid rgba(255, 255, 255, .07); border-radius: 12px; padding: .9rem 1rem;
}
.lp-mockup-rotulo { font-size: .68rem; text-transform: uppercase; letter-spacing: 1px; color: rgba(255, 255, 255, .58); font-weight: 600; }
.lp-mockup-horimetro {
    font-family: var(--ra-fonte-titulo); font-weight: 800; font-size: clamp(1.6rem, 3vw, 2.15rem); line-height: 1.1;
    color: var(--ra-amarelo); font-variant-numeric: tabular-nums; letter-spacing: 1px; text-shadow: 0 0 18px rgba(255, 184, 0, .35);
}
.lp-mockup-tendencia {
    font-size: .72rem; font-weight: 700; color: var(--lp-verde-claro); background: rgba(61, 214, 140, .12);
    padding: .25rem .6rem; border-radius: 999px; white-space: nowrap;
}
.lp-mockup-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.lp-mockup-kpi { background: var(--lp-painel-escuro-2); border: 1px solid rgba(255, 255, 255, .06); border-radius: 10px; padding: .65rem .75rem; }
.lp-mockup-kpi strong { display: block; font-family: var(--ra-fonte-titulo); font-size: 1.55rem; line-height: 1; color: #fff; }
.lp-mockup-kpi span { display: flex; align-items: center; gap: .35rem; margin-top: .35rem; font-size: .7rem; color: rgba(255, 255, 255, .62); white-space: nowrap; }
.lp-mockup-kpi span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; background: currentColor; }
.lp-mockup-kpi.verde span::before { background: #3DD68C; }
.lp-mockup-kpi.azul span::before { background: #6EA8FE; }
.lp-mockup-kpi.vermelho span::before { background: #FF6B6B; }
.lp-mockup-alerta {
    display: flex; gap: .7rem; align-items: center; padding: .65rem .8rem; border-radius: 10px;
    background: rgba(255, 184, 0, .1); border: 1px solid rgba(255, 184, 0, .32); border-left: 4px solid var(--ra-amarelo);
}
.lp-mockup-alerta > i { color: var(--ra-amarelo); font-size: 1.15rem; }
.lp-mockup-alerta strong { display: block; font-size: .86rem; color: #fff; }
.lp-mockup-alerta small { display: block; font-size: .72rem; color: rgba(255, 255, 255, .64); }
.lp-mockup-lista { list-style: none; margin: 0; padding: 0; background: var(--lp-painel-escuro-2); border: 1px solid rgba(255, 255, 255, .06); border-radius: 10px; overflow: hidden; }
.lp-mockup-lista li {
    display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .7rem;
    padding: .55rem .8rem; border-top: 1px solid rgba(255, 255, 255, .05); font-size: .78rem;
}
.lp-mockup-lista li:first-child { border-top: 0; }
.lp-mockup-maquina { min-width: 0; }
.lp-mockup-maquina strong { display: block; color: #fff; font-weight: 700; }
.lp-mockup-maquina span { display: block; color: rgba(255, 255, 255, .58); font-size: .7rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-mockup-hora {
    font-family: var(--ra-fonte-titulo); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .6px;
    background: var(--lp-escuro); color: var(--ra-amarelo); padding: .2rem .5rem; border-radius: 6px; white-space: nowrap;
}
.lp-mockup-status { font-size: .66rem; font-weight: 700; padding: .22rem .55rem; border-radius: 999px; white-space: nowrap; }
.lp-mockup-status.verde { background: rgba(61, 214, 140, .14); color: var(--lp-verde-claro); }
.lp-mockup-status.azul { background: rgba(110, 168, 254, .14); color: var(--lp-azul-claro); }
.lp-mockup-status.vermelho { background: rgba(255, 107, 107, .14); color: var(--lp-vermelho-claro); }

.lp-chip-flutuante {
    position: absolute; z-index: 2; display: flex; align-items: center; gap: .65rem;
    background: #fff; color: var(--ra-grafite); border-radius: 12px; padding: .6rem .9rem .6rem .6rem;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .35); font-size: .8rem; line-height: 1.25;
}
.lp-chip-flutuante > i {
    width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; flex-shrink: 0;
    background: var(--ra-amarelo-claro); color: var(--ra-amarelo-texto); font-size: 1rem;
}
.lp-chip-flutuante strong { display: block; font-weight: 700; }
.lp-chip-flutuante small { display: block; color: var(--ra-texto-suave); }
.lp-chip-1 { top: -.25rem; right: -1rem; }
.lp-chip-2 { bottom: -.25rem; left: -1.75rem; }
@media (max-width: 1199.98px) {
    .lp-chip-1 { right: .5rem; }
    .lp-chip-2 { left: .5rem; }
}
@media (max-width: 575.98px) {
    .lp-chip-flutuante { display: none; }
    .lp-mockup { padding: 0; }
    .lp-mockup-corpo { grid-template-columns: minmax(0, 1fr); }
    .lp-mockup-menu { display: none; }
    .lp-mockup-lista li { grid-template-columns: minmax(0, 1fr) auto; }
    .lp-mockup-status { display: none; }
}

/* ---------- Faixa de categorias ---------- */
.lp-categorias { background: #fff; padding: 2.25rem 0; border-bottom: 1px solid var(--ra-borda); }
.lp-categorias-titulo {
    text-align: center; font-family: var(--bs-body-font-family); font-size: .8rem; font-weight: 700;
    letter-spacing: 1.4px; text-transform: uppercase; color: var(--ra-texto-suave); margin-bottom: 1.25rem;
}
.lp-categorias-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
.lp-categoria {
    display: inline-flex; align-items: center; gap: .6rem; padding: .45rem 1rem .45rem .45rem;
    border: 1px solid var(--ra-borda); border-radius: 999px; background: #FAFBFC;
    font-weight: 600; font-size: .93rem; color: var(--ra-grafite); transition: border-color .2s ease, background-color .2s ease;
}
.lp-categoria:hover { border-color: var(--ra-amarelo); background: var(--ra-amarelo-claro); }
.lp-categoria-codigo {
    font-family: var(--ra-fonte-titulo); font-weight: 800; font-size: .7rem; letter-spacing: 1px; min-width: 2.7rem; text-align: center;
    background: var(--ra-grafite); color: var(--ra-amarelo); padding: .3rem .5rem; border-radius: 999px;
}

/* ---------- Seções ---------- */
.lp-secao { padding: 6rem 0; }
@media (max-width: 767.98px) { .lp-secao { padding: 4rem 0; } }
.lp-secao-branca { background: #fff; }
.lp-secao-clara { background: var(--ra-fundo); }
.lp-secao-escura { background: var(--lp-escuro); color: #fff; position: relative; overflow: hidden; isolation: isolate; }
.lp-secao-escura::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(800px 400px at 50% 0%, rgba(255, 184, 0, .09), transparent 70%);
}
.lp-secao-cabecalho { max-width: 780px; margin: 0 auto 3.5rem; text-align: center; }
.lp-eyebrow {
    display: inline-flex; align-items: center; gap: .55rem; font-size: .78rem; font-weight: 700;
    letter-spacing: 1.6px; text-transform: uppercase; color: var(--lp-amarelo-texto-forte);
}
.lp-eyebrow::before {
    content: ""; width: 24px; height: 8px; border-radius: 2px;
    background: repeating-linear-gradient(-45deg, var(--ra-amarelo) 0 4px, var(--ra-grafite) 4px 8px);
}
.lp-secao-escura .lp-eyebrow { color: var(--ra-amarelo); }
.lp-secao-escura .lp-eyebrow::before { background: repeating-linear-gradient(-45deg, var(--ra-amarelo) 0 4px, transparent 4px 8px); }
.lp-secao-titulo {
    font-size: clamp(1.9rem, 3.4vw, 2.75rem); font-weight: 800; line-height: 1.1; letter-spacing: -.3px;
    color: var(--ra-grafite); margin: .75rem 0 1rem; text-wrap: balance;
}
.lp-secao-escura .lp-secao-titulo { color: #fff; }
.lp-secao-lead { font-size: 1.1rem; line-height: 1.65; color: var(--ra-texto-suave); margin-bottom: 0; }
.lp-secao-escura .lp-secao-lead { color: var(--lp-texto-claro); }

/* ---------- Pilares (recursos) ---------- */
.lp-pilar {
    position: relative; height: 100%; display: flex; flex-direction: column; overflow: hidden;
    background: #fff; border: 1px solid var(--ra-borda); border-radius: var(--lp-raio-grande); padding: 2rem;
    box-shadow: var(--ra-sombra); transition: transform .3s var(--lp-curva), box-shadow .3s ease, border-color .3s ease;
}
.lp-pilar::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: var(--lp-listra);
    transform: scaleX(0); transform-origin: left; transition: transform .45s var(--lp-curva);
}
.lp-pilar:hover { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(16, 24, 40, .1); border-color: #EFD9A0; }
.lp-pilar:hover::before { transform: scaleX(1); }
.lp-pilar-numero {
    position: absolute; top: 1.1rem; right: 1.5rem; font-family: var(--ra-fonte-titulo); font-weight: 800;
    font-size: 3.4rem; line-height: 1; color: #EEF0F3; letter-spacing: -1px;
}
.lp-pilar-icone {
    width: 58px; height: 58px; border-radius: 15px; display: grid; place-items: center; font-size: 1.6rem;
    background: var(--ra-grafite); color: var(--ra-amarelo); box-shadow: 0 10px 22px rgba(27, 30, 35, .22);
}
.lp-pilar h3 { font-size: 1.5rem; margin: 1.3rem 0 .6rem; color: var(--ra-grafite); }
.lp-pilar-texto { color: var(--ra-texto-suave); line-height: 1.65; }
.lp-lista-check { list-style: none; padding: 0; margin: .25rem 0 1.5rem; display: grid; gap: .6rem; }
.lp-lista-check li { display: flex; gap: .65rem; align-items: flex-start; color: #2F3640; font-size: .95rem; line-height: 1.5; }
.lp-lista-check i {
    flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; margin-top: .05rem;
    background: var(--ra-amarelo-claro); color: var(--ra-amarelo-texto); font-size: .9rem; font-weight: 700;
}
.lp-pilar-visual {
    margin-top: auto; background: var(--ra-fundo); border: 1px solid var(--ra-borda); border-radius: 14px; padding: 1rem;
    display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem;
}
@media (max-width: 575.98px) {
    .lp-pilar { padding: 1.4rem; }
    .lp-pilar-numero { font-size: 2.6rem; right: 1.1rem; }
    .lp-pilar-visual { padding: .8rem; }
}
.lp-pilar-visual-rodape { display: flex; align-items: center; gap: .45rem; font-size: .8rem; color: var(--ra-texto-suave); font-weight: 500; }
.lp-pilar-visual-rodape i { color: var(--ra-amarelo-texto); }

/* Pilar 1: boletim */
.lp-boletim { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: .6rem; }
.lp-boletim-celula { background: #fff; border: 1px solid var(--ra-borda); border-radius: 10px; padding: .55rem .7rem; min-width: 0; }
.lp-boletim-celula span { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .5px; color: var(--ra-texto-suave); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-boletim-celula strong { display: block; font-family: var(--ra-fonte-titulo); font-weight: 800; font-size: 1.05rem; color: var(--ra-grafite); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lp-boletim-seta { color: var(--ra-amarelo-texto); font-size: 1.1rem; }
.lp-boletim-total { background: var(--ra-grafite); border-color: var(--ra-grafite); }
.lp-boletim-total span { color: rgba(255, 255, 255, .7); }
.lp-boletim-total strong { color: var(--ra-amarelo); }
@media (max-width: 575.98px) {
    .lp-boletim { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .lp-boletim-seta { display: none; }
    .lp-boletim-total { grid-column: 1 / -1; }
}

/* Pilar 2: plano de manutenção */
.lp-plano-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: .4rem; }
.lp-plano-topo { display: flex; justify-content: space-between; align-items: center; gap: .75rem; font-size: .85rem; color: #2F3640; }
.lp-plano-topo strong { font-family: var(--ra-fonte-titulo); font-weight: 800; color: var(--ra-grafite); }
.lp-plano-status { font-size: .72rem; font-weight: 700; color: var(--lp-verde); background: #E3F6EC; padding: .15rem .55rem; border-radius: 999px; white-space: nowrap; }
.lp-plano-status.alerta { color: #8A5A00; background: var(--ra-amarelo-claro); }

/* Pilar 3: frete */
.lp-frete-rota { display: flex; align-items: center; gap: .7rem; }
.lp-frete-icone { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; flex-shrink: 0; background: var(--ra-grafite); color: var(--ra-amarelo); }
.lp-frete-rota strong { display: block; color: var(--ra-grafite); font-size: .9rem; }
.lp-frete-rota small { display: block; color: var(--ra-texto-suave); font-size: .78rem; }
.lp-frete-valores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.lp-frete-valores > div { background: #fff; border: 1px solid var(--ra-borda); border-radius: 10px; padding: .55rem .7rem; min-width: 0; }
.lp-frete-valores span { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .5px; color: var(--ra-texto-suave); font-weight: 600; }
.lp-frete-valores strong { display: block; font-family: var(--ra-fonte-titulo); font-weight: 800; font-size: 1rem; color: var(--ra-grafite); white-space: nowrap; }
.lp-frete-valores .lp-frete-margem { background: #E3F6EC; border-color: #BFE7D0; }
.lp-frete-valores .lp-frete-margem strong { color: var(--lp-verde); }
@media (max-width: 575.98px) {
    .lp-frete-valores { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .lp-frete-valores .lp-frete-margem { grid-column: 1 / -1; }
}

/* Pilar 4: operadores */
.lp-operador { display: flex; align-items: center; gap: .7rem; background: #fff; border: 1px solid var(--ra-borda); border-radius: 10px; padding: .6rem .7rem; }
.lp-operador-avatar {
    width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0;
    background: var(--ra-grafite); color: var(--ra-amarelo); font-weight: 700; font-size: .82rem;
}
.lp-operador-dados { flex: 1 1 auto; min-width: 0; }
.lp-operador-dados strong { display: block; color: var(--ra-grafite); font-size: .9rem; }
.lp-operador-dados small { display: block; color: var(--ra-texto-suave); font-size: .76rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-tag { display: inline-flex; align-items: center; gap: .3rem; font-size: .72rem; font-weight: 700; padding: .25rem .6rem; border-radius: 999px; white-space: nowrap; }
.lp-tag.verde { background: #E3F6EC; color: var(--lp-verde); }
.lp-operador-aviso {
    display: flex; align-items: center; gap: .5rem; font-size: .8rem; font-weight: 600; color: #7A5000;
    background: var(--ra-amarelo-claro); border-left: 3px solid var(--ra-amarelo); border-radius: 8px; padding: .5rem .7rem;
}
.lp-operador-aviso.bloqueio { color: #9B1C14; background: #FDE8E8; border-left-color: #D92D20; }

/* ---------- Como funciona ---------- */
.lp-passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; position: relative; }
.lp-passos::before {
    content: ""; position: absolute; top: 28px; left: 12.5%; right: 12.5%; height: 2px;
    background: repeating-linear-gradient(90deg, var(--ra-amarelo) 0 10px, transparent 10px 18px);
}
.lp-passo { position: relative; text-align: center; }
.lp-passo-numero {
    position: relative; z-index: 1; width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 1.25rem;
    display: grid; place-items: center; background: var(--ra-amarelo); color: var(--ra-grafite);
    font-family: var(--ra-fonte-titulo); font-weight: 800; font-size: 1.45rem;
    box-shadow: 0 0 0 8px #fff, 0 12px 26px rgba(255, 184, 0, .35);
}
.lp-passo-cartao {
    height: calc(100% - 56px - 1.25rem); background: #fff; border: 1px solid var(--ra-borda); border-radius: 16px;
    padding: 1.5rem 1.25rem; box-shadow: var(--ra-sombra); transition: border-color .25s ease, box-shadow .25s ease;
}
.lp-passo-cartao:hover { border-color: #EFD9A0; box-shadow: var(--ra-sombra-media); }
.lp-passo-icone {
    width: 44px; height: 44px; border-radius: 12px; display: inline-grid; place-items: center; font-size: 1.25rem;
    background: var(--ra-amarelo-claro); color: var(--ra-amarelo-texto); margin-bottom: .85rem;
}
.lp-passo h3 { font-size: 1.15rem; color: var(--ra-grafite); margin-bottom: .5rem; }
.lp-passo p { color: var(--ra-texto-suave); font-size: .93rem; line-height: 1.6; margin: 0; }
@media (max-width: 991.98px) {
    .lp-passos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; }
    .lp-passos::before { display: none; }
}
@media (max-width: 575.98px) {
    .lp-passos { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
    .lp-passos::before {
        display: block; top: 28px; bottom: 28px; left: 27px; right: auto; width: 2px; height: auto;
        background: repeating-linear-gradient(180deg, var(--ra-amarelo) 0 10px, transparent 10px 18px);
    }
    .lp-passo { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 1rem; text-align: left; align-items: start; }
    .lp-passo-numero { margin: 0; }
    .lp-passo-cartao { height: auto; padding: 1.25rem; }
}

/* ---------- Módulos ---------- */
.lp-modulo {
    height: 100%; background: rgba(255, 255, 255, .03); border: 1px solid var(--lp-borda-escura); border-radius: 16px; padding: 1.5rem;
    transition: transform .3s var(--lp-curva), background-color .3s ease, border-color .3s ease;
}
.lp-modulo:hover { transform: translateY(-3px); background: rgba(255, 255, 255, .06); border-color: rgba(255, 184, 0, .45); }
.lp-modulo-icone {
    width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem;
    background: rgba(255, 184, 0, .12); color: var(--ra-amarelo); border: 1px solid rgba(255, 184, 0, .25);
}
.lp-modulo h3 { color: #fff; font-size: 1.18rem; margin: 1rem 0 .4rem; }
.lp-modulo p { color: var(--lp-texto-claro-suave); font-size: .93rem; line-height: 1.6; margin: 0; }

/* ---------- Segurança e diferenciais ---------- */
.lp-diferencial {
    height: 100%; display: flex; gap: 1rem; align-items: flex-start; padding: 1.35rem;
    background: #fff; border: 1px solid var(--ra-borda); border-radius: 16px; box-shadow: var(--ra-sombra);
    transition: border-color .25s ease, box-shadow .25s ease;
}
.lp-diferencial:hover { border-color: #EFD9A0; box-shadow: var(--ra-sombra-media); }
.lp-diferencial-icone {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem;
    background: var(--ra-grafite); color: var(--ra-amarelo);
}
.lp-diferencial h3 { font-size: 1.08rem; color: var(--ra-grafite); margin: .1rem 0 .35rem; }
.lp-diferencial p { font-size: .9rem; color: var(--ra-texto-suave); line-height: 1.55; margin: 0; }

.lp-isolamento { background: var(--ra-grafite); border-radius: 18px; padding: 1.25rem; color: #fff; box-shadow: 0 20px 44px rgba(27, 30, 35, .25); position: relative; overflow: hidden; }
.lp-isolamento::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--lp-listra); }
.lp-isolamento-topo { display: flex; align-items: center; gap: .5rem; font-size: .78rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--lp-texto-claro); margin-bottom: 1rem; }
.lp-isolamento-topo i { color: var(--ra-amarelo); font-size: 1rem; }
.lp-isolamento-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; padding-bottom: .5rem; }
.lp-isolamento-empresa {
    display: grid; justify-items: center; text-align: center; gap: .25rem; padding: 1rem .5rem; border-radius: 12px;
    background: rgba(255, 255, 255, .04); border: 1px dashed rgba(255, 255, 255, .18);
}
.lp-isolamento-empresa i { font-size: 1.35rem; color: rgba(255, 255, 255, .5); }
.lp-isolamento-empresa strong { font-size: .82rem; color: rgba(255, 255, 255, .85); }
.lp-isolamento-empresa small { font-size: .7rem; color: rgba(255, 255, 255, .6); }
.lp-isolamento-empresa.ativa { background: rgba(255, 184, 0, .12); border: 1px solid rgba(255, 184, 0, .55); }
.lp-isolamento-empresa.ativa i { color: var(--ra-amarelo); }
.lp-isolamento-empresa.ativa strong { color: #fff; }

/* ---------- Dúvidas (FAQ) ---------- */
@media (min-width: 992px) {
    .lp-faq-lateral { position: sticky; top: calc(var(--lp-navbar-altura) + 1.5rem); }
}
.lp-faq-contato {
    display: flex; gap: 1rem; margin-top: 2rem; padding: 1.25rem; border-radius: 16px;
    background: var(--ra-fundo); border: 1px solid var(--ra-borda);
}
.lp-faq-contato-icone {
    flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 1.25rem;
    background: var(--ra-amarelo); color: var(--ra-grafite);
}
.lp-faq-contato h3 { font-size: 1.05rem; color: var(--ra-grafite); margin-bottom: .25rem; }
.lp-faq-contato p { font-size: .9rem; color: var(--ra-texto-suave); margin-bottom: .5rem; }
.lp-link-seta { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--lp-amarelo-texto-forte); text-decoration: none; word-break: break-all; }
.lp-link-seta:hover { color: #7A5400; text-decoration: underline; }
.lp-link-seta i { transition: transform .2s ease; }
.lp-link-seta:hover i { transform: translateX(3px); }

.lp-faq {
    --bs-accordion-bg: #fff;
    --bs-accordion-btn-bg: #fff;
    --bs-accordion-border-color: var(--ra-borda);
    --bs-accordion-border-radius: 14px;
    --bs-accordion-inner-border-radius: 13px;
    --bs-accordion-btn-color: var(--ra-grafite);
    --bs-accordion-active-color: var(--ra-grafite);
    --bs-accordion-active-bg: var(--ra-amarelo-claro);
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-btn-padding-x: 1.35rem;
    --bs-accordion-btn-padding-y: 1.15rem;
    --bs-accordion-body-padding-x: 1.35rem;
    --bs-accordion-body-padding-y: 1.1rem;
}
.lp-faq .accordion-item { border: 1px solid var(--ra-borda); border-radius: 14px; overflow: hidden; margin-bottom: .75rem; box-shadow: var(--ra-sombra); }
.lp-faq .accordion-item:not(:first-of-type) { border-top: 1px solid var(--ra-borda); }
.lp-faq .accordion-item:first-of-type,
.lp-faq .accordion-item:last-of-type { border-radius: 14px; }
.lp-faq .accordion-item:first-of-type > .accordion-header .accordion-button,
.lp-faq .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { border-radius: 13px; }
.lp-faq .accordion-button { font-family: var(--ra-fonte-titulo); font-weight: 700; font-size: 1.08rem; gap: 1rem; }
.lp-faq .accordion-button:not(.collapsed) { box-shadow: inset 0 -1px 0 #F2D27A; }
.lp-faq .accordion-body { color: #3A414B; line-height: 1.7; }

/* ---------- CTA final ---------- */
.lp-cta {
    position: relative; overflow: hidden; isolation: isolate; padding: 5.5rem 0; color: var(--ra-grafite); text-align: center;
    background-color: var(--ra-amarelo);
    background-image:
        radial-gradient(600px 300px at 50% 0%, rgba(255, 255, 255, .28), transparent 70%),
        repeating-linear-gradient(-45deg, rgba(27, 30, 35, .045) 0 2px, transparent 2px 22px);
}
.lp-cta::before,
.lp-cta::after {
    content: ""; position: absolute; left: 0; right: 0; height: 16px;
    background: repeating-linear-gradient(-45deg, var(--ra-grafite) 0 18px, var(--ra-amarelo) 18px 36px);
}
.lp-cta::before { top: 0; }
.lp-cta::after { bottom: 0; }
.lp-cta-conteudo { max-width: 760px; margin: 0 auto; }
.lp-cta-icone {
    width: 64px; height: 64px; border-radius: 18px; display: inline-grid; place-items: center; font-size: 1.9rem;
    background: var(--ra-grafite); color: var(--ra-amarelo); box-shadow: 0 14px 30px rgba(27, 30, 35, .3); margin-bottom: 1.25rem;
}
.lp-cta-titulo { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; line-height: 1.08; letter-spacing: -.4px; margin-bottom: 1rem; text-wrap: balance; }
.lp-cta-texto { font-size: 1.15rem; line-height: 1.6; color: #2B2F35; margin-bottom: 2rem; }
.lp-cta-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.lp-cta .btn-dark { --bs-btn-color: var(--ra-amarelo); --bs-btn-hover-color: var(--ra-amarelo); --bs-btn-active-color: var(--ra-amarelo); box-shadow: 0 12px 28px rgba(27, 30, 35, .3); }
@media (max-width: 575.98px) {
    .lp-cta { padding: 4.5rem 0; }
    .lp-cta-acoes .btn { width: 100%; }
}

/* ---------- Rodapé ---------- */
.lp-rodape { background: var(--lp-escuro); color: var(--lp-texto-claro-suave); }
/* Na landing, a faixa listrada da chamada final já faz a transição para o rodapé. */
body[data-lp-pagina="inicio"] .lp-rodape > .listra-perigo { display: none; }
.lp-rodape-colunas { padding-top: 3.75rem; }
.lp-rodape-descricao { font-size: .92rem; line-height: 1.65; max-width: 360px; margin: 1rem 0; }
.lp-rodape-email { display: inline-flex; align-items: center; gap: .5rem; color: #fff; font-weight: 600; text-decoration: none; }
.lp-rodape-email:hover { color: var(--ra-amarelo); }
.lp-rodape-titulo {
    font-family: var(--bs-body-font-family); font-size: .76rem; font-weight: 700; letter-spacing: 1.4px;
    text-transform: uppercase; color: #fff; margin-bottom: 1rem;
}
.lp-rodape-links { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.lp-rodape-links a { color: var(--lp-texto-claro-suave); text-decoration: none; font-size: .92rem; transition: color .2s ease; }
.lp-rodape-links a:hover { color: var(--ra-amarelo); }
.lp-rodape-base {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem;
    margin-top: 3rem; padding: 1.5rem 0 2rem; border-top: 1px solid var(--lp-borda-escura); font-size: .85rem;
}

/* ---------- Voltar ao topo ---------- */
.lp-voltar-topo {
    position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1020; width: 46px; height: 46px; border-radius: 14px; border: 0;
    display: grid; place-items: center; font-size: 1.2rem; background: var(--ra-grafite); color: var(--ra-amarelo);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .3); opacity: 0; visibility: hidden; transform: translateY(12px);
    transition: opacity .25s ease, transform .25s var(--lp-curva), visibility .25s;
}
.lp-voltar-topo.lp-visivel { opacity: 1; visibility: visible; transform: none; }
.lp-voltar-topo:hover { background: var(--ra-grafite-3); }
.lp-voltar-topo:focus-visible { outline: 3px solid var(--ra-amarelo-texto); outline-offset: 3px; }

/* ---------- Topo das páginas de documentos ---------- */
.lp-pagina-topo { padding: calc(var(--lp-navbar-altura) + 3rem) 0 3.5rem; }
.lp-breadcrumb { --bs-breadcrumb-divider-color: rgba(255, 255, 255, .5); --bs-breadcrumb-item-active-color: var(--lp-texto-claro); font-size: .85rem; margin-bottom: .75rem; }
.lp-breadcrumb a { color: var(--ra-amarelo); text-decoration: none; }
.lp-breadcrumb a:hover { text-decoration: underline; }
.lp-pagina-titulo { font-size: clamp(2.1rem, 4.5vw, 3.2rem); font-weight: 800; letter-spacing: -.4px; margin-bottom: .6rem; color: #fff; }
.lp-pagina-subtitulo { font-size: 1.1rem; color: var(--lp-texto-claro); max-width: 46rem; margin-bottom: 1.25rem; }
.lp-pagina-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: .88rem; color: var(--lp-texto-claro-suave); }
.lp-pagina-meta span { display: inline-flex; align-items: center; gap: .45rem; }
.lp-pagina-meta i { color: var(--ra-amarelo); }

/* ---------- Documentos legais ---------- */
.lp-documento-area { background: var(--ra-fundo); padding: 3rem 0 5rem; }
.lp-sumario { background: #fff; border: 1px solid var(--ra-borda); border-radius: 16px; padding: 1.25rem; box-shadow: var(--ra-sombra); }
@media (min-width: 992px) {
    .lp-sumario { position: sticky; top: calc(var(--lp-navbar-altura) + 1rem); max-height: calc(100vh - var(--lp-navbar-altura) - 2rem); overflow-y: auto; scrollbar-width: thin; }
}
.lp-sumario-titulo {
    display: flex; align-items: center; gap: .5rem; font-size: .8rem; font-family: var(--bs-body-font-family); font-weight: 700;
    letter-spacing: 1.2px; text-transform: uppercase; color: var(--ra-texto-suave); margin-bottom: .75rem;
}
.lp-sumario-titulo i { color: var(--ra-amarelo-texto); font-size: 1rem; }
.lp-sumario-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: .1rem; }
.lp-sumario-lista a {
    display: flex; gap: .45rem; padding: .42rem .7rem; border-left: 3px solid transparent; border-radius: 0 .5rem .5rem 0;
    color: #48515C; text-decoration: none; font-size: .88rem; line-height: 1.35; transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.lp-sumario-lista a:hover { color: var(--ra-grafite); background: #F6F7F9; }
.lp-sumario-lista a.active { color: var(--ra-grafite); font-weight: 600; background: var(--ra-amarelo-claro); border-left-color: var(--ra-amarelo); }
/* Tom mais escuro: o número fica sobre branco, sobre o cinza do hover e sobre o amarelo-claro do item ativo (>= 5,4:1 nos três). */
.lp-sumario-num { color: var(--lp-amarelo-texto-forte); font-weight: 700; min-width: 1.5rem; }
.lp-sumario-outro { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--ra-borda); display: grid; gap: .35rem; font-size: .85rem; }
.lp-sumario-outro span { color: var(--ra-texto-suave); font-size: .76rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; }
.lp-sumario-outro a { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; color: var(--ra-amarelo-texto); text-decoration: none; }
.lp-sumario-outro a:hover { text-decoration: underline; }
@media (max-width: 991.98px) {
    .lp-sumario-lista { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
}

.lp-documento {
    background: #fff; border: 1px solid var(--ra-borda); border-radius: 18px; box-shadow: var(--ra-sombra);
    padding: clamp(1.5rem, 4vw, 3rem); color: #353B44; line-height: 1.75; font-size: 1rem;
}
.lp-documento-intro { font-size: 1.08rem; color: #2F3640; }
.lp-documento section { padding-top: .25rem; }
.lp-documento h2 {
    display: flex; align-items: baseline; gap: .55rem; font-size: 1.4rem; color: var(--ra-grafite);
    margin: 2.5rem 0 1rem; padding-bottom: .6rem; border-bottom: 1px solid var(--ra-borda);
}
.lp-num { color: var(--ra-amarelo-texto); font-weight: 800; }
.lp-documento p { margin-bottom: .9rem; }
.lp-documento ul { padding-left: 1.25rem; margin-bottom: 1rem; }
.lp-documento li { margin-bottom: .4rem; }
.lp-documento li::marker { color: var(--ra-amarelo-texto); }
.lp-documento a { color: var(--ra-amarelo-texto); font-weight: 600; text-underline-offset: 2px; }
.lp-documento a:hover { color: #7A5400; }
.lp-documento code { color: var(--ra-grafite); background: #F1F3F5; padding: .1rem .35rem; border-radius: .3rem; font-size: .85em; word-break: break-all; }
.lp-lista-colunas { columns: 2 280px; column-gap: 2rem; }
.lp-lista-colunas li { break-inside: avoid; }

.lp-aviso-modelo {
    display: flex; gap: .55rem; align-items: flex-start; font-size: .84rem; line-height: 1.5; color: #5B6470;
    background: #F8F9FB; border: 1px dashed #D5DAE0; border-radius: 10px; padding: .65rem .85rem; margin-bottom: 1.75rem;
}
.lp-aviso-modelo i { color: var(--ra-amarelo-texto); margin-top: .1rem; }

.lp-definicoes { display: grid; gap: .75rem; margin: 0 0 1rem; }
.lp-definicoes > div { padding: .8rem 1rem; background: #FAFBFC; border: 1px solid var(--ra-borda); border-left: 3px solid var(--ra-amarelo); border-radius: 0 10px 10px 0; }
.lp-definicoes dt { font-family: var(--ra-fonte-titulo); font-weight: 700; color: var(--ra-grafite); font-size: 1.02rem; }
.lp-definicoes dd { margin: .15rem 0 0; }

.lp-doc-tabela { --bs-table-bg: transparent; margin-bottom: 1rem; font-size: .93rem; line-height: 1.6; }
.lp-doc-tabela > thead th {
    font-size: .74rem; text-transform: uppercase; letter-spacing: .6px; color: var(--ra-texto-suave); font-weight: 700;
    background: #F8F9FB; border-bottom: 1px solid var(--ra-borda); padding: .7rem .9rem; white-space: nowrap;
}
.lp-doc-tabela > tbody th { color: var(--ra-grafite); font-weight: 700; white-space: nowrap; }
.lp-documento .lp-doc-tabela code { white-space: nowrap; word-break: normal; }
.lp-doc-tabela > tbody th,
.lp-doc-tabela > tbody td { padding: .8rem .9rem; border-color: #EEF0F3; }
@media (max-width: 575.98px) {
    .lp-doc-tabela > tbody th { white-space: normal; }
}

.lp-resumo-privacidade { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem; margin: 0 0 1.5rem; }
.lp-resumo-item {
    display: flex; gap: .65rem; align-items: flex-start; padding: .85rem 1rem; border-radius: 12px; font-size: .9rem; line-height: 1.5;
    background: var(--ra-amarelo-claro); color: #3D3200; font-weight: 500;
}
.lp-resumo-item i { color: var(--ra-amarelo-texto); font-size: 1.1rem; margin-top: .05rem; }

.lp-documento-contato {
    display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; margin: .5rem 0 1rem;
    background: var(--ra-grafite); color: #fff; border-radius: 14px;
}
.lp-documento-contato-icone {
    flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 1.2rem;
    background: var(--ra-amarelo); color: var(--ra-grafite);
}
.lp-documento-contato strong { display: block; font-family: var(--ra-fonte-titulo); font-size: 1.05rem; }
.lp-documento .lp-documento-contato a { color: var(--ra-amarelo); word-break: break-all; }
.lp-documento .lp-documento-contato a:hover { color: #FFD466; }
.lp-documento .lp-documento-contato a:focus-visible { outline-color: var(--ra-amarelo); }

/* ---------- Páginas de erro / código de status ---------- */
.lp-erro { min-height: min(100vh, 920px); display: flex; align-items: center; padding: calc(var(--lp-navbar-altura) + 3rem) 0 4.5rem; text-align: center; }
.lp-erro > .container { width: 100%; }
.lp-erro-conteudo { max-width: 680px; margin: 0 auto; }
.lp-cavalete { position: relative; isolation: isolate; width: 168px; height: 92px; margin: 0 auto 1.5rem; }
.lp-cavalete-barra {
    position: absolute; left: 0; right: 0; height: 26px; border-radius: 6px; border: 2px solid rgba(255, 255, 255, .14);
    background: repeating-linear-gradient(-45deg, var(--ra-amarelo) 0 14px, #0E1013 14px 28px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .35);
}
.lp-cavalete-barra:nth-child(1) { top: 8px; }
.lp-cavalete-barra:nth-child(2) { top: 44px; }
.lp-cavalete-pe { position: absolute; top: 0; bottom: 0; width: 9px; border-radius: 3px; background: #4A515C; z-index: -1; }
.lp-cavalete-pe:nth-child(3) { left: 24px; }
.lp-cavalete-pe:nth-child(4) { right: 24px; }
.lp-erro-selo {
    display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .9rem; border-radius: 999px; font-size: .82rem; font-weight: 600;
    background: rgba(255, 184, 0, .1); border: 1px solid rgba(255, 184, 0, .32); color: #FFD466;
}
.lp-erro-codigo {
    font-family: var(--ra-fonte-titulo); font-weight: 800; font-size: clamp(5.5rem, 18vw, 9.5rem); line-height: .95;
    letter-spacing: -2px; margin: 1rem 0 .5rem; color: var(--ra-amarelo); font-variant-numeric: tabular-nums;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .lp-erro-codigo {
        background: repeating-linear-gradient(-45deg, #FFB800 0 16px, #FFCF4D 16px 32px);
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
}
.lp-erro-titulo { font-size: clamp(1.7rem, 3.6vw, 2.4rem); font-weight: 800; color: #fff; margin-bottom: .85rem; }
.lp-erro-mensagem { font-size: 1.08rem; line-height: 1.65; color: var(--lp-texto-claro); margin-bottom: 1.5rem; }
.lp-erro-caminho { font-size: .9rem; color: var(--lp-texto-claro-suave); margin-bottom: 1.5rem; word-break: break-all; }
.lp-erro-caminho code { color: #FFD466; background: rgba(255, 255, 255, .06); padding: .15rem .45rem; border-radius: .35rem; }
.lp-erro-rastreio {
    display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem .75rem; max-width: 100%;
    padding: .6rem .75rem .6rem 1rem; border-radius: 12px; background: rgba(255, 255, 255, .05); border: 1px solid var(--lp-borda-escura);
    margin-bottom: .75rem;
}
.lp-erro-rastreio-rotulo { font-size: .76rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--lp-texto-claro-suave); }
.lp-erro-rastreio code { color: var(--ra-amarelo); font-size: .88rem; word-break: break-all; }
.lp-btn-copiar {
    --bs-btn-color: #fff; --bs-btn-bg: rgba(255, 255, 255, .08); --bs-btn-border-color: rgba(255, 255, 255, .16);
    --bs-btn-hover-color: var(--ra-grafite); --bs-btn-hover-bg: var(--ra-amarelo); --bs-btn-hover-border-color: var(--ra-amarelo);
    --bs-btn-active-color: var(--ra-grafite); --bs-btn-active-bg: var(--ra-amarelo-escuro); --bs-btn-active-border-color: var(--ra-amarelo-escuro);
    display: inline-flex; align-items: center; gap: .35rem;
}
.lp-erro-suporte { font-size: .88rem; color: var(--lp-texto-claro-suave); margin-bottom: 2rem; }
.lp-erro-suporte a { color: var(--ra-amarelo); }
.lp-erro-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.lp-erro-sugestoes {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem 1.25rem;
    margin-top: 2.25rem; padding-top: 1.5rem; border-top: 1px solid var(--lp-borda-escura); font-size: .9rem; color: var(--lp-texto-claro-suave);
}
.lp-erro-sugestoes a { color: var(--ra-amarelo); font-weight: 600; text-decoration: none; }
.lp-erro-sugestoes a:hover { text-decoration: underline; }
@media (max-width: 575.98px) {
    .lp-erro-acoes .btn { width: 100%; }
}

/* ---------- Animações de entrada ([data-revelar]) ---------- */
.lp-animar [data-revelar] {
    opacity: 0; transform: translateY(26px);
    transition: opacity .7s var(--lp-curva), transform .7s var(--lp-curva);
    transition-delay: var(--lp-atraso, 0s);
}
.lp-animar [data-revelar].lp-revelado { opacity: 1; transform: none; }
/* No hero (primeira dobra), a entrada é feita por CSS logo na primeira pintura, sem depender do carregamento dos scripts. */
.lp-animar .lp-hero [data-revelar] {
    opacity: 1; transform: none; transition: none;
    animation: lp-entrada .8s var(--lp-curva) both; animation-delay: var(--lp-atraso, 0s);
}
@keyframes lp-entrada {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: none; }
}
.lp-atraso-1 { --lp-atraso: .08s; }
.lp-atraso-2 { --lp-atraso: .16s; }
.lp-atraso-3 { --lp-atraso: .24s; }
.lp-atraso-4 { --lp-atraso: .32s; }

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
    .lp-animar [data-revelar] { opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important; }
    .lp-navbar, .lp-navbar .app-brand-icone, .lp-navbar .app-brand-texto, .lp-mockup-janela, .lp-pilar, .lp-pilar::before,
    .lp-modulo, .lp-voltar-topo, .lp-link-seta i, .lp-navbar .nav-link::after { transition: none !important; }
    .lp-pilar:hover, .lp-modulo:hover { transform: none; }
}

/* ---------- Impressão (documentos legais) ---------- */
@media print {
    .lp-navbar, .lp-rodape, .lp-voltar-topo, .lp-sumario, .lp-mensagens, .lp-pular { display: none !important; }
    .lp-fundo-escuro { background: #fff !important; color: #000 !important; }
    .lp-fundo-escuro::before, .lp-fundo-escuro::after { display: none; }
    .lp-pagina-topo { padding: 0 0 1rem; }
    .lp-pagina-titulo, .lp-pagina-subtitulo, .lp-pagina-meta { color: #000 !important; }
    .lp-documento-area { background: #fff; padding: 0; }
    .lp-documento { border: 0; box-shadow: none; padding: 0; }
    .lp-documento-area .col-lg-8 { width: 100%; }
}

/* Link "Saiba mais" dos pilares para as páginas de recursos. */
.lp-pilar-saiba-mais { word-break: normal; margin: 0 0 1.25rem; }

/* Páginas de recursos (/recursos e /recursos/{slug}). */
.lp-pagina-topo .lp-hero-acoes { margin-top: 1.75rem; }
.lp-documento .lp-lista-check { padding-left: 0; }
.lp-documento .lp-lista-check li { margin-bottom: 0; }
.lp-recurso-pergunta h3 { font-size: 1.08rem; font-weight: 700; color: var(--ra-grafite); margin: 1.4rem 0 .35rem; }
.lp-recurso-pergunta p { margin-bottom: 0; }
.lp-recurso-mais { margin-top: 2rem; font-size: .95rem; color: var(--ra-texto-suave); }
.lp-recursos-lista { padding-top: 3.5rem; }
.lp-recurso-titulo { font-size: 1.4rem; line-height: 1.25; margin: 1.3rem 0 .6rem; color: var(--ra-grafite); }
.lp-recursos-funcionalidades { max-width: 780px; margin: 4.5rem auto 0; text-align: left; }
.lp-recursos-funcionalidades .lp-secao-titulo { margin-bottom: 1.25rem; }
