
:root{--bg:#0c1c22;--surface:#10252d;--card:#122d37;--text:#eaf2f6;--muted:#9fb8c1;--line:#1f3a44;--primary:#ffae40;--accent:#207c93}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;line-height:1.7}
a{color:inherit}.container{max-width:1180px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;z-index:80;background:rgba(12,28,34,.8);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:16px;padding:12px 0}.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.brand img{height:38px;filter:drop-shadow(0 0 10px rgba(255,174,64,.35))}
.menu{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}
.menu a{color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:10px;border:1px solid transparent;transition:.2s}
.menu a:hover{color:var(--text);border-color:var(--line);background:rgba(255,255,255,.05)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);text-decoration:none;transition:.2s}
.btn-ghost{background:rgba(255,255,255,.05)}.btn-primary{background:linear-gradient(180deg,var(--primary),#db8d20);border-color:transparent;color:#1b1308}
.btn-light{background:#eaf2f6;color:#0c1c22;border-color:transparent}
.section{padding:72px 0}.hero{position:relative}
.hero-bg{position:absolute;inset:0;background:url('../img/hero.jpg') center/cover no-repeat;opacity: .45;filter: brightness(0.8)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;padding:26px 0}
.hero h1{font-size:46px;line-height:1.12;margin:0 0 12px}.hero p{margin:0 0 16px;color:var(--muted)}
.hero-img img{width:100%;border-radius:16px;border:1px solid var(--line)}
.section-head{max-width:760px;margin-bottom:22px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.card-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.card{grid-column:span 4;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.card-media img{width:100%;height:210px;object-fit:cover}.card-body{padding:16px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.img-round{width:100%;border-radius:16px;border:1px solid var(--line)}
.branch-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.branch-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.form-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row{display:flex;flex-direction:column;margin-bottom:12px}
.input{padding:12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text)}.textarea{min-height:120px;resize:vertical}
.counter{font-size:12px;color:var(--muted);text-align:right;margin-top:6px}
.site-footer{border-top:1px solid var(--line);padding:18px 0;color:var(--muted)}.foot-links a{color:var(--muted);text-decoration:none;margin-left:14px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:200}
.modal-content{max-width:860px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;color:var(--text);position:relative}
.modal-close{position:absolute;top:12px;right:12px;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:6px 10px;cursor:pointer}
.reveal{opacity:0;transform:translateY(6px);transition:all .5s ease}.reveal.show{opacity:1;transform:none}
@media (max-width:960px){.hero-grid,.split{grid-template-columns:1fr}.card{grid-column:span 12}.branch-list{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

/* === Modal de Termos de Uso === */
.modal-termos {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(2px);
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.modal-termos.ativo { display: flex; }

.modal-conteudo {
  background: #fff;
  max-width: 800px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 22px;
  padding: 28px 32px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  position: relative;
  animation: aparecer .25s ease-out;
}

.modal-conteudo h2 {
  margin-top: 0;
  color: #10252d;
  font-size: 26px;
}

.modal-conteudo h3 {
  color: #2f2b3a;
  margin-top: 18px;
  font-size: 18px;
}

.modal-conteudo p {
  color: #444;
  margin-top: 6px;
  font-size: 15px;
  line-height: 1.6;
}

#form-status {
  margin-top: 10px;
  font-weight: 600;
  text-align: center;
  transition: 0.3s;
}

.fechar-termos {
  position: absolute;
  top: 10px;
  right: 14px;
  background: none;
  border: none;
  font-size: 28px;
  color: #888;
  cursor: pointer;
  transition: .2s;
}
.fechar-termos:hover { color: var(--brand); }

@keyframes aparecer {
  from {opacity: 0; transform: scale(.96);}
  to {opacity: 1; transform: scale(1);}
}
/* Header base */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

/* Layout do nav */
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

/* Evita o logo estourar no mobile */
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.brand img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  flex: 0 0 auto;
}
.brand span {
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 52vw;
}

/* Botão hamburguer (hidden no desktop) */
.menu-toggle {
  display: none;
  border: 0;
  background: transparent;
  padding: 10px;
  border-radius: 10px;
  cursor: pointer;
}
.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 5px 0;
  background: currentColor;
}

/* Menu padrão (desktop) */
.menu {
  display: flex;
  align-items: center;
  gap: 18px;
}

/* CTA desktop */
.cta-desktop {
  display: inline-flex;
}

/* CTA dentro do menu (desktop fica escondida) */
.menu-cta {
  display: none;
}

/* Backdrop do menu mobile */
.menu-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 999;
}

/* ===== MOBILE ===== */
@media (max-width: 900px) {
  .menu-toggle { display: inline-flex; }
  .cta-desktop { display: none; }

  /* Menu vira painel */
  .menu {
    position: fixed;
    top: 72px; /* ajuste conforme altura do header */
    right: 14px;
    left: 14px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 20px 60px rgba(0,0,0,.20);
    z-index: 1000;
  }
  .menu a {
    padding: 12px 10px;
    border-radius: 12px;
  }

  .menu.is-open { display: flex; }

  .menu-cta {
    display: inline-flex;
    justify-content: center;
    margin-top: 6px;
  }
}
