@font-face {
    font-family: 'Bebas Neue';
    font-weight: 400;
    font-display: swap;
    src: url('fonts/bebas-neue-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Bebas Neue';
    font-weight: 400;
    font-display: swap;
    src: url('fonts/bebas-neue-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Nunito';
    font-weight: 400 900;
    font-display: swap;
    src: url('fonts/nunito-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Nunito';
    font-weight: 400 900;
    font-display: swap;
    src: url('fonts/nunito-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Mesmas cores e o mesmo fundo do app. */
:root {
    --vinho: #881337;
    --vinho-escuro: #5e0d26;
    --ink-soft: #7c4420;
    --law: #2563eb;
    --outlaw: #dc2626;
    --fundo: #bd7c38;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { background: var(--fundo); }
body {
    min-height: 100vh;
    background: var(--fundo) url('images/fundo.jpg') 50% 0 / min(100vw, 480px) auto repeat;
    color: var(--vinho-escuro);
    font-family: 'Nunito', system-ui, sans-serif;
    font-weight: 700;
    line-height: 1.55;
    padding: 32px 16px 48px;
}

.pagina { max-width: 560px; margin: 0 auto; }

.logo { display: block; width: min(56%, 240px); margin: 8px auto 18px; filter: drop-shadow(0 6px 0 rgba(81, 37, 3, 0.3)); }

.titulo {
    font-family: 'Bebas Neue', sans-serif;
    font-weight: 400;
    color: #fff;
    -webkit-text-stroke: 0.07em var(--vinho);
    paint-order: stroke fill;
    text-shadow: 0 0.06em 0 var(--vinho);
    text-align: center;
    font-size: clamp(2rem, 9vw, 2.8rem);
    letter-spacing: 1.5px;
    line-height: 1.05;
    margin-bottom: 10px;
}
.lead { text-align: center; font-size: 1.1rem; font-weight: 800; margin: 0 auto 24px; max-width: 30ch; }

.cartao {
    background: #fff;
    border: 6px solid var(--vinho);
    border-radius: 28px;
    padding: 22px 22px 20px;
    box-shadow: 0 10px 0 rgba(136, 19, 55, 0.14);
    color: var(--ink-soft);
    margin-bottom: 20px;
}
.cartao h2 {
    font-family: 'Bebas Neue', sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    letter-spacing: 1.2px;
    line-height: 1.05;
    color: var(--vinho);
    margin-bottom: 8px;
}
.cartao h3 { color: var(--vinho); font-size: 1rem; font-weight: 900; margin: 16px 0 4px; }
.cartao p + p, .cartao p + ul, .cartao ul + p { margin-top: 10px; }
.cartao ul { padding-left: 20px; }
.cartao li + li { margin-top: 6px; }
.cartao strong { color: var(--vinho); }
.cartao a { color: var(--vinho); }

.passos { list-style: none; padding: 0 !important; counter-reset: passo; }
.passos li { position: relative; padding-left: 44px; counter-increment: passo; }
.passos li + li { margin-top: 12px; }
.passos li::before {
    content: counter(passo);
    position: absolute; left: 0; top: 0;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--vinho);
    color: #fff;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.3rem;
    line-height: 34px;
    text-align: center;
}
.lei, .fora { white-space: nowrap; }
.lei { color: var(--law) !important; }
.fora { color: var(--outlaw) !important; }

.selo {
    display: block;
    width: fit-content;
    margin: 0 auto 24px;
    padding: 10px 22px;
    border-radius: 999px;
    background: var(--vinho);
    color: #fff;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.4rem;
    letter-spacing: 1.5px;
    box-shadow: 0 6px 0 var(--vinho-escuro);
}

.rodape { text-align: center; font-size: 0.9rem; margin-top: 8px; }
.rodape a { color: var(--vinho-escuro); }
.rodape a + a { margin-left: 14px; }

.data { font-size: 0.85rem; color: var(--ink-soft); opacity: 0.85; }

.botao {
    display: inline-block;
    padding: 10px 24px;
    border-radius: 999px;
    border: 4px solid var(--vinho);
    background: #fff;
    color: var(--vinho) !important;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.35rem;
    letter-spacing: 1px;
    text-decoration: none;
    box-shadow: 0 5px 0 var(--vinho);
}
.botao:active { transform: translateY(4px); box-shadow: 0 1px 0 var(--vinho); }
