/* =====================================================================
   Landing page
   ===================================================================== */
.lp { background: var(--rs-branco); }

.lp-topo { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--rs-linha); }
.lp-topo-in { display: flex; align-items: center; gap: 24px; height: 68px; }
.lp-nav { display: flex; gap: 26px; margin-left: auto; }
.lp-nav a { color: var(--rs-tinta-2); text-decoration: none; font-weight: 600; font-size: .94rem; }
.lp-nav a:hover { color: var(--rs-azul); }
@media (max-width: 767px) { .lp-nav { display: none; } .lp-topo .btn { margin-left: auto; } }

/* HERO ---------------------------------------------------------------- */
.lp-hero {
    background:
        linear-gradient(180deg, var(--rs-azul-claro) 0%, rgba(227,239,252,0) 78%),
        var(--rs-branco);
    padding: 72px 0 88px;
}
.lp-hero-grade { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
@media (max-width: 991px) { .lp-hero-grade { grid-template-columns: 1fr; gap: 40px; } }

.lp-hero h1 {
    font-size: clamp(2.2rem, 4.6vw, 3.6rem);
    line-height: 1.04;
    font-weight: 800;
    letter-spacing: -0.035em;
    max-width: 15ch;
    margin-bottom: 22px;
}
.lp-lead { font-size: 1.12rem; color: var(--rs-tinta-2); max-width: 54ch; margin-bottom: 30px; }
.lp-hero-acoes { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.lp-hero-acoes .btn-link { text-decoration: none; font-weight: 600; }

/* Etiqueta de rastreio ---------------------------------------------------*/
.lp-etiqueta {
    margin: 0;
    background: var(--rs-branco);
    border: 1px solid var(--rs-linha);
    border-radius: var(--rs-raio-l);
    box-shadow: var(--rs-sombra-alta);
    padding: 22px 24px 18px;
    position: relative;
}
.lp-etiqueta::before {                    /* furo da etiqueta */
    content: ""; position: absolute; top: 22px; right: -9px;
    width: 18px; height: 18px; border-radius: 50%;
    background: var(--rs-azul-claro); border: 1px solid var(--rs-linha);
}
.lp-etiqueta-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.lp-etiqueta-modelo { display: block; font-family: var(--rs-fonte-titulo); font-weight: 700; font-size: 1.2rem; }
.lp-etiqueta-lote { font-size: .82rem; color: var(--rs-tinta-2); }
.lp-selo { font-size: .76rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.lp-selo-andamento { background: var(--rs-ambar-claro); color: #8A5410; }

.lp-codigo { position: relative; margin: 18px 0 16px; padding: 14px 16px; background: var(--rs-papel); border-radius: var(--rs-raio); overflow: hidden; }
.lp-barras {
    height: 54px;
    background: repeating-linear-gradient(90deg,
        var(--rs-tinta) 0 2px, transparent 2px 4px, var(--rs-tinta) 4px 7px, transparent 7px 9px,
        var(--rs-tinta) 9px 10px, transparent 10px 13px, var(--rs-tinta) 13px 16px, transparent 16px 17px,
        var(--rs-tinta) 17px 18px, transparent 18px 21px);
    opacity: .9;
}
.lp-scan {
    position: absolute; left: 0; right: 0; top: 14px; height: 54px; pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(229,154,47,.0) 40%, rgba(229,154,47,.85) 50%, rgba(229,154,47,0) 60%, transparent);
    transform: translateX(-100%);
    animation: lp-scan 1.6s .5s cubic-bezier(.45,.05,.35,1) 2 forwards;
}
@keyframes lp-scan { to { transform: translateX(100%); } }
.lp-codigo-valores { display: flex; gap: 28px; margin-top: 10px; font-family: var(--rs-fonte-codigo); font-size: .92rem; font-weight: 600; }
.lp-codigo-valores small { display: block; font-family: var(--rs-fonte); font-weight: 500; font-size: .72rem; color: var(--rs-tinta-3); }

.lp-trilha { list-style: none; margin: 0; padding: 0; position: relative; }
.lp-trilha::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--rs-linha); }
.lp-trilha li { position: relative; padding: 5px 0 5px 28px; display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; color: var(--rs-tinta-3); }
.lp-trilha li::before {
    content: ""; position: absolute; left: 0; top: 9px; width: 16px; height: 16px; border-radius: 50%;
    background: var(--rs-branco); border: 2px solid var(--rs-linha);
}
.lp-trilha b { font-weight: 600; }
.lp-trilha span { font-size: .8rem; text-align: right; }
.lp-trilha li.feito { color: var(--rs-tinta); }
.lp-trilha li.feito::before { background: var(--rs-verde); border-color: var(--rs-verde); }
.lp-trilha li.desvio { color: var(--rs-tinta); }
.lp-trilha li.desvio::before { background: var(--rs-branco); border-color: var(--rs-vermelho); }
.lp-trilha li.desvio span { color: var(--rs-vermelho); }
.lp-trilha li.atual { color: var(--rs-tinta); }
.lp-trilha li.atual::before { background: var(--rs-ambar); border-color: var(--rs-ambar); box-shadow: 0 0 0 5px var(--rs-ambar-claro); }
.lp-trilha li.atual span { color: #8A5410; font-weight: 600; }

/* SEÇÕES -------------------------------------------------------------- */
.lp-secao { padding: 88px 0; }
.lp-secao-clara { background: var(--rs-papel); border-top: 1px solid var(--rs-linha); border-bottom: 1px solid var(--rs-linha); }
.lp-secao h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin-bottom: 10px; }
.lp-secao-sub { color: var(--rs-tinta-2); max-width: 60ch; margin-bottom: 40px; font-size: 1.04rem; }

/* etapas: sequência real -> numeração faz sentido */
.lp-etapas { list-style: none; counter-reset: etapa; padding: 0; margin: 0;
             display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 2px solid var(--rs-tinta); }
.lp-etapas li { counter-increment: etapa; padding: 20px 20px 8px 0; position: relative; }
.lp-etapas li::before {
    content: counter(etapa); display: inline-grid; place-items: center;
    width: 30px; height: 30px; border-radius: 50%; background: var(--rs-azul); color: #fff;
    font-family: var(--rs-fonte-titulo); font-weight: 700; margin-bottom: 14px;
    position: relative; top: -36px; margin-bottom: -18px; box-shadow: 0 0 0 6px var(--rs-branco);
}
.lp-etapas h3 { font-size: 1.12rem; margin-bottom: 6px; }
.lp-etapas p { font-size: .93rem; color: var(--rs-tinta-2); margin: 0; max-width: 34ch; }
@media (max-width: 991px) {
    .lp-etapas { grid-template-columns: 1fr; border-top: 0; border-left: 2px solid var(--rs-tinta); padding-left: 26px; gap: 22px; }
    .lp-etapas li { padding: 0; }
    .lp-etapas li::before { position: absolute; left: -42px; top: -2px; margin: 0; }
}

.lp-recursos { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; }
.lp-recursos-intro p { color: var(--rs-tinta-2); font-size: 1.04rem; max-width: 44ch; }
.lp-lista { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 36px; margin: 0; }
.lp-lista dt { font-family: var(--rs-fonte-titulo); font-size: 1.05rem; font-weight: 700; margin-bottom: 4px; }
.lp-lista dt i { color: var(--rs-azul); margin-right: 6px; }
.lp-lista dd { margin: 0; color: var(--rs-tinta-2); font-size: .93rem; }
@media (max-width: 991px) { .lp-recursos { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 575px) { .lp-lista { grid-template-columns: 1fr; } }

.lp-api { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: center; }
.lp-api p { color: var(--rs-tinta-2); font-size: 1.04rem; max-width: 46ch; }
.lp-api-codigo {
    margin: 0; background: var(--rs-tinta); color: #D7E6F8; border-radius: var(--rs-raio-l);
    padding: 22px 24px; font-size: .86rem; line-height: 1.7; overflow-x: auto;
}
.lp-api-codigo .c { color: var(--rs-azul-ceu); font-weight: 600; }
@media (max-width: 991px) { .lp-api { grid-template-columns: 1fr; gap: 24px; } }

.lp-rodape { border-top: 1px solid var(--rs-linha); padding: 28px 0; }
.lp-rodape-in { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.lp-rodape p { margin: 0 0 0 auto; color: var(--rs-tinta-3); font-size: .86rem; }
.lp-rodape a:not(.rs-marca) { font-weight: 600; font-size: .9rem; text-decoration: none; }
