:root { color-scheme: light; font: 16px/1.6 Poppins, system-ui, sans-serif; color: #222f29; background: #f5f2e9; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-underline-offset: .25em; }
:focus-visible { outline: 3px solid #a24c24; outline-offset: 4px; }
.wrap { width: min(100% - 2rem, 68rem); margin-inline: auto; }
.faixa { margin: 0; padding: .6rem 1rem; text-align: center; background: #21372e; color: #fff; font-size: .875rem; }
header { background: #fffdf7; border-bottom: 1px solid #ded9cc; }
.topo { display: flex; justify-content: space-between; align-items: center; gap: .5rem 2rem; flex-wrap: wrap; padding-block: .75rem; }
.marca { font: 700 1.45rem Georgia, serif; text-decoration: none; }
nav { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
nav a:hover, [aria-current="page"] { text-decoration: underline; }
main { padding-block: clamp(2.5rem, 8vw, 6rem); }
.hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(1.5rem, 6vw, 5rem); }
h1, h2 { font-family: Georgia, serif; line-height: 1.08; }
h1 { font-size: clamp(2.6rem, 6vw, 5rem); margin: .35em 0; letter-spacing: -.04em; }
h2 { font-size: 1.65rem; margin: 0 0 .5rem; }
p { max-width: 62ch; }
.faixa { max-width: none; }
.selo { color: #824322; text-transform: uppercase; font-size: .8rem; letter-spacing: .14em; font-weight: 750; }
.botao { display: inline-block; background: #21372e; color: #fff; border-radius: .3rem; padding: .75rem 1.1rem; margin-top: .5rem; font-weight: 700; text-decoration: none; }
.botao:hover { background: #365245; }
.hero svg { display: block; width: 100%; height: auto; border-radius: .5rem; }
.grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-block: 2rem; }
article, .painel { background: #fffdf7; border: 1px solid #ded9cc; padding: 1.5rem; border-radius: .5rem; }
.painel { max-width: 42rem; margin-top: 2rem; }
footer { border-top: 1px solid #ded9cc; padding-block: 1rem; font-size: .875rem; }
summary { cursor: pointer; font-weight: 700; padding-block: .75rem; }
@media (max-width: 650px) { .hero, .grade { grid-template-columns: 1fr; } }
