/* ===== AZAZ Soluções Empresariais — manual da marca ===== */
:root {
  --azul-forte: #15384E;
  --azul-medio: #4A819D;
  --azul-claro: #80CAED;
  --branco: #FFFFFF;
  --texto: #24343F;
  --fonte-titulo: "Montserrat", "Segoe UI", sans-serif;
  --fonte-texto: "Inter", "Segoe UI", sans-serif;
  --container: 1100px;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--fonte-texto); color: var(--texto); background: var(--branco); line-height: 1.6; }
img, svg { max-width: 100%; }
.container { max-width: var(--container); margin: 0 auto; padding: 0 1.25rem; }
h1, h2, h3 { font-family: var(--fonte-titulo); color: var(--azul-forte); line-height: 1.2; }
.oculto { position: absolute !important; left: -9999px !important; opacity: 0; }

/* ===== Header ===== */
.site-header { position: fixed; inset: 0 0 auto 0; z-index: 50; background: rgba(255,255,255,.94); backdrop-filter: blur(8px); transition: box-shadow .25s; }
.site-header.rolado { box-shadow: 0 2px 14px rgba(21,56,78,.14); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; }
.logo { display: flex; align-items: center; text-decoration: none; }
.logo-img { height: 50px; width: auto; display: block; }
.nav-list { display: flex; gap: 1.6rem; list-style: none; }
.nav-list a { font-family: var(--fonte-titulo); font-weight: 500; font-size: .95rem; color: var(--azul-forte); text-decoration: none; }
.nav-list a:hover { color: var(--azul-medio); }
.nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: .5rem; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--azul-forte); margin: 5px 0; transition: .25s; }

/* ===== Hero ===== */
.hero { min-height: 100vh; display: flex; align-items: center; text-align: center;
  background: linear-gradient(135deg, var(--azul-claro) 0%, var(--azul-medio) 38%, var(--azul-forte) 100%); }
.hero-inner { display: flex; flex-direction: column; align-items: center; padding-top: 72px; padding-bottom: 3rem; }
.hero-simbolo { width: 140px; filter: drop-shadow(0 6px 24px rgba(0,0,0,.25)); }
.hero-marca { display: flex; flex-direction: column; align-items: flex-end; color: var(--branco); margin-top: 1.6rem; }
.hero-wordmark { width: 280px; height: auto; display: block; }
.hero-marca-sub { font-family: var(--fonte-titulo); font-weight: 400; font-size: .95rem; letter-spacing: .42em;
  margin-right: -.42em; text-transform: uppercase; text-align: right; line-height: 1.6; margin-top: .5rem; }
.hero h1 { color: var(--branco); font-size: clamp(1.6rem, 4vw, 2.6rem); margin-top: 2.2rem; font-weight: 600; }
.hero-frase { color: rgba(255,255,255,.92); max-width: 560px; margin-top: .8rem; }
.btn { display: inline-block; font-family: var(--fonte-titulo); font-weight: 600; text-decoration: none; border: 0; cursor: pointer;
  background: var(--azul-forte); color: var(--branco); padding: .85rem 2.1rem; border-radius: 4px; font-size: 1rem; transition: .2s; }
.btn:hover { background: var(--azul-medio); }
.btn-claro { background: var(--branco); color: var(--azul-forte); margin-top: 1.8rem; }
.btn-claro:hover { background: var(--azul-claro); color: var(--azul-forte); }

/* ===== Seções ===== */
.secao { padding: 5rem 0; }
.secao h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); margin-bottom: 1.4rem; }
.secao-intro { margin: -0.6rem 0 2rem; max-width: 620px; }
.secao-escura { background: var(--azul-forte); }
.secao-escura h2 { color: var(--branco); }
.secao-escura p { color: rgba(255,255,255,.9); }

/* Quem somos */
.duas-colunas { display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: center; }
.duas-colunas p + p { margin-top: 1rem; }
.quem-somos-simbolo { width: min(280px, 70%); justify-self: center; }

/* Conceitos */
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
.card { background: rgba(255,255,255,.06); border: 1px solid rgba(128,202,237,.35); border-radius: 8px; padding: 1.8rem; }
.card h3 { color: var(--azul-claro); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; font-size: 1.05rem; margin-bottom: .7rem; }

/* Serviços */
.servicos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
.servico { border: 1px solid rgba(21,56,78,.15); border-radius: 8px; padding: 1.6rem; transition: .2s; }
.servico:hover { box-shadow: 0 8px 24px rgba(21,56,78,.12); transform: translateY(-3px); }
.servico h3 { font-size: 1.05rem; font-weight: 600; margin-bottom: .5rem; }

/* Contato */
.contato-wrap { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; }
#form-contato label { display: block; color: var(--branco); font-family: var(--fonte-titulo); font-size: .85rem; margin: 1rem 0 .3rem; }
#form-contato input, #form-contato textarea { width: 100%; padding: .7rem .9rem; border: 1px solid rgba(128,202,237,.4);
  border-radius: 4px; background: rgba(255,255,255,.08); color: var(--branco); font-family: var(--fonte-texto); font-size: 1rem; }
#form-contato input:focus, #form-contato textarea:focus { outline: 2px solid var(--azul-claro); background: rgba(255,255,255,.12); }
#form-contato .btn { margin-top: 1.4rem; background: var(--azul-claro); color: var(--azul-forte); }
#form-contato .btn:hover { background: var(--branco); }
#form-contato .btn:disabled { opacity: .6; cursor: wait; }
.form-status { margin-top: 1rem; font-weight: 600; min-height: 1.5em; }
.form-status.ok { color: var(--azul-claro); }
.form-status.erro { color: #FFB4A2; }

/* ===== Footer ===== */
.site-footer { background: #0E2737; padding: 2.5rem 0; text-align: center; }
.footer-simbolo { width: 56px; }
.site-footer p { color: rgba(255,255,255,.85); font-family: var(--fonte-titulo); margin-top: .8rem; }
.site-footer .copyright { font-family: var(--fonte-texto); font-size: .8rem; color: rgba(255,255,255,.55); margin-top: .4rem; }

/* ===== Mobile ===== */
@media (max-width: 768px) {
  .nav-toggle { display: block; }
  .nav { position: fixed; top: 72px; right: 0; left: 0; background: var(--branco); box-shadow: 0 12px 24px rgba(21,56,78,.15);
    transform: translateY(-130%); transition: transform .3s; }
  body.nav-aberta .nav { transform: translateY(0); }
  body.nav-aberta .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  body.nav-aberta .nav-toggle span:nth-child(2) { opacity: 0; }
  body.nav-aberta .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav-list { flex-direction: column; gap: 0; padding: .5rem 0; }
  .nav-list a { display: block; padding: .9rem 1.5rem; }
  .duas-colunas, .contato-wrap { grid-template-columns: 1fr; gap: 2rem; }
  .cards, .servicos-grid { grid-template-columns: 1fr; }
  .secao { padding: 3.5rem 0; }
}
@media (min-width: 769px) and (max-width: 1100px) {
  .servicos-grid { grid-template-columns: repeat(2, 1fr); }
}
