:root{
    --bg:#ffffff;          /* fundo branco */
    --card:#ffffff;        /* cartão */
    --accent:#E91B23;      /* vermelho de destaque */
    --text:#1f2937;        /* texto principal */
    --muted:#6b7280;       /* texto secundário */
    --border:#e5e7eb;      /* bordas suaves */
    --max-width:880px;
    --radius:0;
}

html,body{
    height:100%;
    margin:0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    background: var(--bg);
    color:var(--text);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

.wrap{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    box-sizing:border-box;
}

.card{
    width:100%;
    max-width:var(--max-width);
    background:var(--card);
    border-radius:var(--radius);
    padding:40px;
    text-align:center;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    border:1px solid var(--border);
}

.logo {
    display:block;
    margin: 0 auto 24px auto;
    width: 220px;
    max-width: 45%;
    height: auto;
    transition: transform .35s cubic-bezier(.2,.9,.3,1);
}

.logo:hover { transform: translateY(-6px) scale(1.02); }

h1{
    font-size:28px;
    margin:6px 0 10px 0;
    letter-spacing:0.2px;
}

p.lead{
    margin:0 0 18px 0;
    color:var(--muted);
    font-size:15px;
    line-height:1.5;
}

.meta{
    display:flex;
    gap:12px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:18px;
}

.pill{
    background: #f9fafb;
    padding:8px 12px;
    border-radius:999px;
    color:var(--muted);
    font-size:13px;
    border:1px solid var(--border);
}

.progress {
    --w:320px;
    height:10px;
    width:var(--w);
    max-width:100%;
    background:#f3f4f6;
    overflow:hidden;
    margin:22px auto 0 auto;
}

.bar {
    height:100%;
    width:55%;
    background: linear-gradient(90deg, var(--accent), #BA0006);
    transition: width 1s ease;
}

footer{
    margin-top:20px;
    color:var(--muted);
    font-size:13px;
}

@media (max-width:520px){
    .card{ padding:24px; }
    h1{ font-size:20px; }
    .logo { width:160px; }
}