/* Mobile primeiro (~72% do público). Fonte do sistema: nada para baixar. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font: 1.0625rem/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #1d1d1f; background: #fff; }
header, main, footer { max-width: 44rem; margin: 0 auto; padding: 0 1rem; }
header { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1rem; padding-top: .75rem; padding-bottom: .75rem; border-bottom: 1px solid #e5e5e5; }
.marca { font-weight: 700; color: inherit; text-decoration: none; }
nav { display: flex; flex-wrap: wrap; gap: .25rem .9rem; font-size: .95rem; }
a { color: #0b57d0; }
h1 { font-size: 1.75rem; line-height: 1.25; margin: 1.25rem 0 .75rem; }
h2 { font-size: 1.3rem; line-height: 1.3; margin-top: 2rem; }
h3 { font-size: 1.1rem; }
.aviso { margin-top: 1rem; padding: .5rem .75rem; background: #fff8e1; border-left: 4px solid #e0a800; font-size: .9rem; }
.aviso p { margin: 0; }
.meta { color: #555; font-size: .9rem; }
.veredito { padding: .25rem 1rem; background: #f4f7fb; border-radius: .5rem; }
.cta-bloco { text-align: center; margin: 1.5rem 0; }
.cta { display: block; padding: .9rem 1rem; background: #0b6e4f; color: #fff; border-radius: .5rem; font-weight: 700; text-decoration: none; }
.cta:hover, .cta:focus { background: #08573e; }
.cta-bloco small { display: block; margin-top: .4rem; color: #555; }
.pros-contras { display: grid; gap: 0 1.5rem; }
@media (min-width: 40rem) { .pros-contras { grid-template-columns: 1fr 1fr; } }
.tabela { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { text-align: left; vertical-align: top; padding: .4rem .5rem; border-bottom: 1px solid #e5e5e5; }
details { border-bottom: 1px solid #e5e5e5; padding: .5rem 0; }
summary { font-weight: 600; cursor: pointer; }
footer { margin-top: 3rem; padding-top: 1rem; padding-bottom: 2rem; border-top: 1px solid #e5e5e5; font-size: .875rem; color: #555; }
