:root {
    --hs-azul-claro: #b0c6cb;
    --hs-vermelho: #dd4127;
    --hs-azul: #264f99;
    --hs-pessego: #ffbcab;
    --hs-bege: #eaddd0;
    --hs-branco: #ffffff;
    --hs-texto: #152238;
}
body { color: var(--hs-texto); }
.bg-brand-blue { background-color: var(--hs-azul) !important; }
.bg-brand-soft { background: linear-gradient(135deg, rgba(176,198,203,.35), rgba(234,221,208,.55)); min-height: 100vh; }
.text-brand-blue { color: var(--hs-azul) !important; }
.text-brand-red { color: var(--hs-vermelho) !important; }
.btn-brand-red { background: var(--hs-vermelho); color: #fff; border-color: var(--hs-vermelho); }
.btn-brand-red:hover { background: #bd351f; border-color: #bd351f; color: #fff; }
.btn-brand-blue { background: var(--hs-azul); color: #fff; border-color: var(--hs-azul); }
.btn-brand-blue:hover { background: #1f407d; border-color: #1f407d; color: #fff; }
.card { border: 0; border-radius: 1.25rem; }
.card-shadow { box-shadow: 0 1rem 2.5rem rgba(38,79,153,.12); }
.public-body { background: #fff; }
.public-hero { background: linear-gradient(135deg, var(--hs-azul-claro), var(--hs-bege)); }
.logo-publico { max-height: 180px; border-radius: 1.5rem; }
.badge-soft { background: rgba(221,65,39,.12); color: var(--hs-vermelho); }
.form-control, .form-select { border-radius: .8rem; padding: .75rem 1rem; }
.form-check-input:checked { background-color: var(--hs-vermelho); border-color: var(--hs-vermelho); }
.table-responsive { border-radius: 1rem; }
@media (max-width: 575.98px) {
    .container { padding-left: 1rem; padding-right: 1rem; }
    .card-body { padding: 1.15rem; }
    .display-6 { font-size: 1.85rem; }
    .btn-lg { width: 100%; }
}

.markdown-body {
    line-height: 1.65;
    color: var(--hs-texto);
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4 {
    color: var(--hs-azul);
    font-weight: 700;
    margin-top: 1.25rem;
    margin-bottom: .75rem;
}
.markdown-body h1 { font-size: 1.45rem; }
.markdown-body h2 { font-size: 1.25rem; }
.markdown-body h3 { font-size: 1.1rem; }
.markdown-body h4 { font-size: 1rem; }
.markdown-body p { margin-bottom: .9rem; }
.markdown-body ul { padding-left: 1.2rem; margin-bottom: 1rem; }
.markdown-body li { margin-bottom: .35rem; }
.markdown-body a { color: var(--hs-azul); font-weight: 600; }
.markdown-body code {
    background: rgba(176,198,203,.28);
    border-radius: .35rem;
    padding: .12rem .32rem;
    color: var(--hs-vermelho);
}
.markdown-body > :first-child { margin-top: 0; }
.markdown-body > :last-child { margin-bottom: 0; }
