* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; background-color: #f5f5f5; }
:root { --brazil-green:#009c3b; --brazil-yellow:#ffdf00; --brazil-blue:#002776; --brazil-white:#fff; --gray-light:#f0f0f0; --gray-dark:#555; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--brazil-blue); }

.top-bar { background-color: var(--brazil-green); color: #fff; text-align:center; padding:8px; font-size:.9rem; }
.site-header { background: linear-gradient(135deg, var(--brazil-blue), var(--brazil-green)); color:#fff; padding: 24px 16px; text-align:center; border-bottom:5px solid var(--brazil-yellow); }
.logo h1, .logo h1 a { font-size: 2rem; margin-bottom:5px; color:#fff; text-decoration:none; }
.logo p { font-size: 1rem; opacity: .92; }
.cnpj-badge { background: rgba(255,255,255,.2); display:inline-block; padding:5px 15px; border-radius:20px; font-size:.8rem; margin-top:10px; }

.main-nav { background-color: var(--brazil-yellow); padding: 12px 0; text-align:center; position: sticky; top:0; z-index:100; box-shadow: 0 2px 5px rgba(0,0,0,.1); }
.main-nav ul { list-style:none; margin:0; padding:0; display:flex; justify-content:center; flex-wrap:wrap; }
.main-nav a { color: var(--brazil-blue); text-decoration:none; margin:0 18px; font-weight:bold; font-size:1.05rem; transition: color .3s; display:inline-block; }
.main-nav a:hover { color: var(--brazil-green); text-decoration: underline; }
.menu-toggle { display:none; background:transparent; border:2px solid var(--brazil-blue); color:var(--brazil-blue); padding:6px 14px; border-radius:6px; font-weight:bold; cursor:pointer; }

.container { max-width: 1200px; margin: auto; padding: 30px 20px; }
.section { background:#fff; border-radius:12px; padding:30px; margin-bottom:30px; box-shadow: 0 4px 12px rgba(0,0,0,.1); border-left: 6px solid var(--brazil-green); }
.section h2 { color: var(--brazil-blue); margin-bottom:20px; font-size: 1.8rem; border-bottom:2px solid var(--brazil-yellow); display:inline-block; padding-bottom:5px; }
.section h3 { color: var(--brazil-green); margin-top:18px; margin-bottom:8px; }
.section p { margin-bottom: 12px; }

.mission-box { background-color:#e8f5e9; padding:20px; border-radius:12px; text-align:center; font-size:1.15rem; font-style:italic; }
.info-card { background-color: var(--gray-light); padding:20px; border-radius:12px; margin-top:20px; }
.info-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap:15px; margin-top:15px; }
.info-item { background:#fff; padding:12px; border-radius:8px; border-left:4px solid var(--brazil-green); }
.info-item strong { color: var(--brazil-blue); }

.entry-content { font-size: 1rem; }
.entry-content h2, .entry-content h3 { color: var(--brazil-blue); margin: 18px 0 10px; }
.entry-content ul, .entry-content ol { margin: 0 0 16px 24px; }

.site-footer { background-color: var(--brazil-blue); color:#fff; padding: 40px 20px 20px; margin-top: 40px; }
.footer-content { max-width: 1200px; margin:auto; display:grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap:30px; }
.footer-column h3 { color: var(--brazil-yellow); margin-bottom:15px; font-size:1.2rem; }
.footer-column p, .footer-column a { color:#ddd; line-height:1.8; text-decoration:none; }
.footer-column a:hover { color: var(--brazil-yellow); }
.footer-column ul { list-style:none; padding:0; margin:0; }

.baseboard { background:#001a4d; color:#fff; padding:18px 20px; font-size:.88rem; line-height:1.7; text-align:center; border-top: 3px solid var(--brazil-yellow); }
.baseboard strong { color: var(--brazil-yellow); }
.copyright { text-align:center; padding-top:24px; margin-top:24px; border-top: 1px solid rgba(255,255,255,.2); font-size:.9rem; }

.btn { display:inline-block; background: var(--brazil-green); color:#fff; padding:10px 22px; border-radius:8px; text-decoration:none; font-weight:bold; transition: background .25s; }
.btn:hover { background: #007a2d; color:#fff; }

@media (max-width: 768px) {
  .main-nav ul { display: none; flex-direction: column; }
  .main-nav ul.is-open { display: flex; }
  .main-nav a { margin: 6px 0; font-size: 1rem; }
  .menu-toggle { display:inline-block; margin: 0 auto; }
  .section { padding: 20px; }
  .logo h1, .logo h1 a { font-size: 1.5rem; }
}
