/* === estilo.css (base do site) === */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root{
  --azul:#003366;
  --verde:#2e8b57;
  --bg:#f9fafb;
  --texto:#1f2937;
  --sombra:0 6px 18px rgba(0,0,0,.08);
  --radius:14px;
  --trans:220ms cubic-bezier(.2,.7,.2,1);
}
body { font-family: 'Roboto', system-ui, -apple-system, Segoe UI, Arial, sans-serif; background: var(--bg); color: var(--texto); }

/* Header + Nav */
header.site-header{
  background-color: var(--azul);
  color: #fff;
  padding: 1rem 1.25rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  box-shadow: var(--sombra);
}
header .branding{
  display:flex; flex-direction:column; gap:.15rem;
}
header .branding a {
  color: white;
  text-decoration: none;
}

header .branding .titulo{ 
  font-weight:700; 
  font-size: clamp(1.05rem, 2.2vw, 1.35rem); 
}

header .branding .sub{ opacity:.9; font-size:.9rem; }

.contatos{
  text-align:right; font-size:.95rem; line-height:1.2;
}
/* Hamburguer */
.menu-toggle{
  display:none; flex-direction:column; gap:5px; cursor:pointer; margin-left:auto;
}
.menu-toggle span{ width:26px; height:3px; background:#fff; transition: all var(--trans); }
.menu-toggle.active span:nth-child(1){ transform: rotate(45deg) translate(6px, 6px); }
.menu-toggle.active span:nth-child(2){ opacity: 0; }
.menu-toggle.active span:nth-child(3){ transform: rotate(-45deg) translate(6px, -6px); }

nav.primary{
  background: var(--verde);
  display:flex; justify-content:center; gap:.5rem; flex-wrap: wrap;
}
nav.primary a{
  color:#fff; text-decoration:none; font-weight:600; padding:.75rem 1rem; display:inline-block;
}
nav.primary a.active{ background: rgba(255,255,255,.18); border-radius:10px; }

.container{ width:min(100%, 1100px); margin: 1.25rem auto; padding: 0 1rem; }

footer {
  background-color: #003366;
  color: white;
  text-align: center;
  padding: 1rem 0;
  margin-top: 2rem;
}

/* Responsivo */
@media (max-width: 780px){
  .contatos{ order:3; width:100%; text-align:left; margin-top:.5rem; }
  .menu-toggle{ display:flex; }
  nav.primary{ display:none; flex-direction:column; align-items:center; }
  nav.primary.active{ display:flex; }
  nav.primary a{ width:100%; text-align:center; padding: .9rem 1rem; }
}