:root {
  --azul:    #1a2e4a;
  --azul2:   #1e3a5f;
  --vermelho:#c0392b;
  --branco:  #ffffff;
  --cinza:   #f4f6f9;
  --texto:   #555555;
  --verde:   #25d366;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:-apple-system,"Segoe UI",Arial,sans-serif; color:var(--texto); background:#fff; line-height:1.65; }
h1,h2,h3 { font-family:Georgia,serif; color:var(--azul); line-height:1.2; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }

/* HEADER */
header {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:var(--azul);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 32px; height:68px;
  box-shadow:0 2px 10px rgba(0,0,0,0.2);
}
.logo img { height:44px; width:auto; }
nav { display:flex; gap:24px; }
nav a { color:rgba(255,255,255,0.88); font-size:0.9rem; font-weight:500; transition:color .2s; }
nav a:hover { color:#fff; }
.btn-nav {
  background:var(--vermelho); color:#fff !important;
  padding:8px 18px; border-radius:4px; font-size:0.88rem; font-weight:600;
  transition:background .2s;
}
.btn-nav:hover { background:#a93226; }
.ham { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; }
.ham span { display:block; width:22px; height:2px; background:#fff; border-radius:2px; }

/* MOBILE NAV */
.mnav { display:none; position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:99; }
.mnav.open { display:block; }
.mpanel {
  position:absolute; right:0; top:0; bottom:0; width:260px;
  background:var(--azul); padding:72px 28px 28px;
  display:flex; flex-direction:column; gap:20px;
}
.mpanel a { color:#fff; font-size:1rem; border-bottom:1px solid rgba(255,255,255,.1); padding-bottom:14px; }

/* HERO */
.hero {
  margin-top:68px;
  background:var(--azul);
  padding:80px 32px;
  text-align:center;
  position:relative; overflow:hidden;
}
.hero::before {
  content:''; position:absolute; inset:0;
  background:url('../assets/images/hero.jpg') center/cover no-repeat;
  opacity:.12;
}
.hero-inner { position:relative; max-width:760px; margin:0 auto; }
.hero h1 { color:#fff; font-size:clamp(1.8rem,4vw,2.8rem); margin-bottom:16px; }
.hero h1 span { color:#e57373; }
.hero p { color:rgba(255,255,255,.82); font-size:1.05rem; margin-bottom:32px; }
.hero-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.btn { display:inline-block; padding:13px 26px; border-radius:4px; font-size:0.95rem; font-weight:600; transition:opacity .2s; }
.btn-red { background:var(--vermelho); color:#fff; }
.btn-red:hover { opacity:.88; }
.btn-ghost { border:2px solid rgba(255,255,255,.5); color:#fff; }
.btn-ghost:hover { border-color:#fff; }

/* SECTIONS */
section { padding:72px 32px; }
.inner { max-width:1100px; margin:0 auto; }
.sec-title { font-size:clamp(1.5rem,2.8vw,2rem); margin-bottom:10px; }
.sec-title::after { content:''; display:block; width:48px; height:3px; background:var(--vermelho); margin-top:10px; }
.sec-title.c { text-align:center; }
.sec-title.c::after { margin:10px auto 0; }
.sec-sub { color:var(--texto); font-size:1rem; margin-bottom:40px; }
.sec-sub.c { text-align:center; max-width:600px; margin-left:auto; margin-right:auto; }

/* QUEM SOMOS */
#quem { background:var(--cinza); }
.qs-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.qs-text p { margin-bottom:14px; font-size:0.97rem; }
.stats { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
.stat { background:var(--azul); color:#fff; padding:24px; border-radius:6px; text-align:center; }
.stat strong { display:block; font-size:2rem; font-family:Georgia,serif; color:#e57373; }
.stat span { font-size:0.83rem; opacity:.85; }

/* ESPECIALIDADES */
#esp { background:#fff; }
.esp-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.esp-card { border-radius:6px; overflow:hidden; background:var(--azul); box-shadow:0 2px 10px rgba(0,0,0,.1); }
.esp-card img { width:100%; height:130px; object-fit:cover; opacity:.85; }
.esp-card p { color:#fff; font-size:0.88rem; font-weight:600; padding:12px 14px; font-family:Georgia,serif; }

/* EQUIPE */
#equipe { background:var(--cinza); }
.eq-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.eq-card { background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.08); text-align:center; }
.eq-card img { width:100%; height:200px; object-fit:cover; object-position:top; }
.eq-card .info { padding:16px 12px; }
.eq-card .nome { font-family:Georgia,serif; font-size:0.95rem; font-weight:bold; color:var(--azul); margin-bottom:4px; }
.eq-card .cargo { font-size:0.82rem; color:var(--texto); margin-bottom:10px; }
.eq-card a { font-size:0.8rem; color:var(--vermelho); font-weight:600; border:1px solid var(--vermelho); padding:4px 12px; border-radius:3px; }
.eq-card a:hover { background:var(--vermelho); color:#fff; }

/* CONTATO / AGENDAR */
#contato { background:#fff; }
.contato-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.wa-box {
  background:var(--azul); border-radius:8px; padding:40px 32px; text-align:center;
  grid-column:1/-1;
}
.wa-box h2 { color:#fff; font-size:1.6rem; margin-bottom:10px; }
.wa-box p { color:rgba(255,255,255,.8); margin-bottom:24px; }
.btn-wa {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--verde); color:#fff;
  padding:14px 32px; border-radius:50px; font-size:1rem; font-weight:700;
  box-shadow:0 4px 16px rgba(37,211,102,.4);
}
.btn-wa:hover { opacity:.92; }
.info-box { background:var(--cinza); border-radius:6px; padding:24px; }
.info-box h3 { font-size:1rem; margin-bottom:12px; color:var(--azul); }
.info-box p, .info-box a { font-size:0.9rem; line-height:1.8; color:var(--texto); }
.info-box a:hover { color:var(--vermelho); }
.mapa-card { border-radius:6px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.08); }
.mapa-card h3 { background:var(--azul); color:#fff; padding:12px 16px; font-size:0.9rem; font-family:-apple-system,sans-serif; }
.mapa-card p { padding:8px 16px; font-size:0.82rem; color:var(--texto); background:var(--cinza); }
.mapa-card iframe { width:100%; height:240px; border:0; display:block; }

/* FOOTER */
footer { background:var(--azul); color:rgba(255,255,255,.75); padding:40px 32px 20px; }
.ft-inner { max-width:1100px; margin:0 auto; }
.ft-top { display:grid; grid-template-columns:1fr 1fr 1fr; gap:32px; margin-bottom:32px; }
.ft-col h4 { color:#fff; font-size:0.92rem; margin-bottom:12px; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.15); }
.ft-col p, .ft-col a { font-size:0.85rem; line-height:1.8; color:rgba(255,255,255,.72); }
.ft-col a:hover { color:#fff; }
.ft-col ul { list-style:none; }
.ft-col ul li { margin-bottom:4px; }
.ft-logo img { height:40px; filter:brightness(1.3); margin-bottom:10px; }
.sociais { display:flex; gap:10px; margin-top:10px; }
.sociais a { width:34px; height:34px; background:rgba(255,255,255,.1); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; transition:background .2s; }
.sociais a:hover { background:var(--vermelho); }
.ft-bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:16px; text-align:center; font-size:0.8rem; color:rgba(255,255,255,.45); }

/* FLOAT WA */
.wa-float {
  position:fixed; bottom:24px; right:24px; z-index:90;
  background:var(--verde); color:#fff;
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(37,211,102,.5);
}
.wa-float:hover { opacity:.9; }

/* RESPONSIVE */
@media(max-width:900px){
  .esp-grid { grid-template-columns:repeat(2,1fr); }
  .eq-grid { grid-template-columns:repeat(2,1fr); }
  .qs-grid { grid-template-columns:1fr; }
  .ft-top { grid-template-columns:1fr 1fr; }
}
@media(max-width:640px){
  nav,.btn-nav { display:none; }
  .ham { display:flex; }
  .contato-grid { grid-template-columns:1fr; }
  .ft-top { grid-template-columns:1fr; }
}
@media(max-width:480px){
  .esp-grid { grid-template-columns:1fr; }
  .eq-grid { grid-template-columns:1fr; }
  section { padding:56px 20px; }
  header { padding:0 20px; }
}
