/*
  AUCA Soluções Digitais — style.css
  Personalidade: Editorial
  Hero: D · Serviços: B · Sobre: B · Portfolio: C
*/

/* ── CUSTOM PROPERTIES ──────────────────────────────────────── */
:root {
  --cor-primaria:    #0B7BFF;
  --cor-secundaria:  #0A3EA8;
  --cor-fundo:       #F5F8FC;
  --cor-acento:      #38B6FF;
  --cor-texto:       #0B1220;
  --cor-texto-claro: #64748B;
  --cor-branco:      #FFFFFF;
  --cor-borda:       #D9E6F7;
  --cor-p10:         rgba(11,123,255,.10);
  --cor-p20:         rgba(11,123,255,.20);
  --cor-p35:         rgba(11,123,255,.35);
  --container-max:   1200px;
  --nav-height:      68px;
  --r:               4px;
  --t:               .25s ease;
}

/* ── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body {
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:15px;
  font-weight:300;
  line-height:1.8;
  color:var(--cor-texto);
  background:var(--cor-branco);
  overflow-x:hidden;
}
img { max-width:100%; height:auto; display:block; }
a  { color:inherit; text-decoration:none; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }
ul { list-style:none; }
::selection { background:var(--cor-acento); color:#fff; }

/* ── TYPOGRAPHY ─────────────────────────────────────────────── */
h1 {
  font-size:clamp(44px,7vw,88px);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.05;
}
h2 {
  font-size:clamp(26px,3.5vw,42px);
  font-weight:400;
  letter-spacing:.04em;
  line-height:1.2;
  text-transform:uppercase;
}
h3 {
  font-size:14px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
p { font-size:15px; font-weight:300; line-height:1.8; }

/* ── CONTAINER ──────────────────────────────────────────────── */
.container { max-width:var(--container-max); margin:0 auto; padding:0 48px; }

/* ── BUTTONS ────────────────────────────────────────────────── */
.btn {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 32px;
  min-height:52px;
  border-radius:var(--r);
  font-size:13px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform var(--t), box-shadow var(--t), background var(--t), border-color var(--t);
  white-space:nowrap;
}
.btn-primario {
  background:var(--cor-primaria);
  color:#fff;
  box-shadow:0 4px 20px var(--cor-p35);
}
.btn-primario:hover { transform:translateY(-3px); box-shadow:0 8px 30px var(--cor-p35); background:#0A6FE8; }
.btn-secundario { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); }
.btn-secundario:hover { border-color:#fff; background:rgba(255,255,255,.12); transform:translateY(-2px); }
.btn-outline { background:transparent; color:var(--cor-primaria); border:1px solid var(--cor-primaria); }
.btn-outline:hover { background:var(--cor-primaria); color:#fff; transform:translateY(-2px); box-shadow:0 4px 20px var(--cor-p35); }
.btn-branco { background:#fff; color:var(--cor-primaria); box-shadow:0 4px 20px rgba(0,0,0,.1); }
.btn-branco:hover { transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,0,0,.15); }
.btn-verde { background:#25D366; color:#fff; }
.btn-verde:hover { transform:translateY(-3px); background:#1ebe5a; box-shadow:0 8px 24px rgba(37,211,102,.35); }

/* ── SECTION LABEL ──────────────────────────────────────────── */
.section-label {
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:6px 16px;
  border-radius:100px;
  background:var(--cor-p10);
  color:var(--cor-primaria);
  margin-bottom:24px;
}
.section-label.light { background:rgba(255,255,255,.12); color:var(--cor-acento); }

/* ── ANIMATIONS ─────────────────────────────────────────────── */
.reveal {
  opacity:0;
  transform:translateY(28px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.10s; }
.reveal-delay-2 { transition-delay:.20s; }
.reveal-delay-3 { transition-delay:.30s; }
.reveal-delay-4 { transition-delay:.40s; }
.reveal-delay-5 { transition-delay:.50s; }

/* ── NAVIGATION ─────────────────────────────────────────────── */
.nav {
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--cor-borda);
  transition:box-shadow var(--t);
}
.nav.scrolled { box-shadow:0 2px 20px rgba(0,0,0,.08); }
.nav-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:var(--nav-height);
}
.nav-logo {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  flex-shrink:0;
}
.nav-logo img { height:34px; width:auto; }
.nav-logo-text { display:flex; flex-direction:column; gap:1px; }
.nav-logo-nome { font-size:18px; font-weight:900; letter-spacing:-.03em; line-height:1; color:var(--cor-texto); }
.nav-logo-prof { font-size:9px; font-weight:500; color:var(--cor-texto-claro); letter-spacing:.10em; text-transform:uppercase; line-height:1; }

.nav-links { display:flex; align-items:center; gap:36px; }
.nav-link {
  font-size:12px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--cor-texto);
  min-height:44px;
  display:inline-flex;
  align-items:center;
  position:relative;
  padding-bottom:2px;
}
.nav-link::after {
  content:'';
  position:absolute;
  bottom:0; left:0;
  width:100%; height:1px;
  background:var(--cor-primaria);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--t);
}
.nav-link:hover::after,
.nav-link.ativo::after { transform:scaleX(1); }
.nav-link.ativo { color:var(--cor-primaria); }

.nav-cta {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 22px;
  min-height:44px;
  background:var(--cor-primaria);
  color:#fff;
  border-radius:var(--r);
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition:transform var(--t), box-shadow var(--t), background var(--t);
}
.nav-cta:hover { transform:translateY(-2px); box-shadow:0 4px 16px var(--cor-p35); background:#0A6FE8; }
.nav-cta svg { flex-shrink:0; }

.hamburger {
  display:none;
  flex-direction:column;
  gap:5px;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  color:var(--cor-texto);
}

/* ── MOBILE OVERLAY ─────────────────────────────────────────── */
.nav-overlay {
  display:none;
  position:fixed;
  inset:0;
  z-index:99;
  background:#fff;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.nav-overlay.aberto { display:flex; }
.nav-overlay .nav-link {
  font-size:26px;
  font-weight:700;
  letter-spacing:-.01em;
  text-transform:none;
  padding:12px 0;
  min-height:56px;
}
.nav-overlay .nav-link::after { height:2px; }
.nav-overlay-close {
  position:absolute;
  top:12px; right:16px;
  width:44px; height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--cor-texto);
}
.nav-overlay-cta { margin-top:20px; }

/* ── AVISO BANNER ───────────────────────────────────────────── */
.aviso-banner {
  background:var(--cor-primaria);
  color:#fff;
  text-align:center;
  padding:10px 24px;
  font-size:13px;
  font-weight:500;
  position:relative;
  z-index:101;
}

/* ── HERO — VARIANTE D ──────────────────────────────────────── */
.hero {
  background:linear-gradient(140deg, var(--cor-primaria) 0%, var(--cor-secundaria) 100%);
  min-height:100vh;
  display:flex;
  align-items:center;
  padding-top:var(--nav-height);
  position:relative;
  overflow:visible;
}
.hero::before {
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle at 20% 50%, rgba(56,182,255,.12) 0%, transparent 60%),
                   radial-gradient(circle at 80% 20%, rgba(255,255,255,.05) 0%, transparent 40%);
  pointer-events:none;
}
.hero-grid {
  display:grid;
  grid-template-columns:55% 45%;
  gap:48px;
  align-items:end;
  padding:80px 0 0;
  position:relative;
  z-index:2;
}
.hero-content { padding-bottom:80px; color:#fff; }
.hero-eyebrow {
  font-size:12px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cor-acento);
  margin-bottom:24px;
  display:flex;
  align-items:center;
  gap:12px;
}
.hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--cor-acento); }
.hero h1 { color:#fff; margin-bottom:28px; }
.hero-sub {
  font-size:17px;
  font-weight:300;
  line-height:1.75;
  color:rgba(255,255,255,.8);
  margin-bottom:48px;
  max-width:480px;
}
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:56px; }
.hero-trust { display:flex; gap:40px; flex-wrap:wrap; }
.hero-trust-item { display:flex; flex-direction:column; gap:2px; }
.hero-trust-num { font-size:24px; font-weight:900; color:#fff; letter-spacing:-.02em; line-height:1; }
.hero-trust-sep { width:32px; height:1px; background:rgba(255,255,255,.25); margin:6px 0; }
.hero-trust-label { font-size:11px; font-weight:400; color:rgba(255,255,255,.55); letter-spacing:.08em; text-transform:uppercase; }

.hero-visual { align-self:end; position:relative; }
.hero-visual img {
  width:100%;
  border-radius:12px 12px 0 0;
  transform:translateY(72px);
  position:relative;
  z-index:2;
  box-shadow:0 -24px 60px rgba(0,0,0,.22), 0 0 0 1px rgba(255,255,255,.08);
  object-fit:cover;
  aspect-ratio:3/4;
}
.hero-visual-placeholder {
  width:100%;
  aspect-ratio:3/4;
  border-radius:12px 12px 0 0;
  transform:translateY(72px);
  position:relative;
  z-index:2;
  background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-visual-placeholder svg { opacity:.2; width:80px; height:80px; color:#fff; }

/* ── SERVIÇOS — VARIANTE B ──────────────────────────────────── */
.servicos {
  background:var(--cor-branco);
  padding:144px 0 120px; /* 72px hero overflow + 72px normal top */
}
.servicos-header { margin-bottom:64px; }
.servicos-header p { font-size:17px; color:var(--cor-texto-claro); margin-top:16px; max-width:520px; }

.servicos-list { display:flex; flex-direction:column; }
.servico-row {
  display:grid;
  grid-template-columns:72px 1fr 40px;
  gap:32px;
  align-items:center;
  padding:32px 0;
  border-bottom:1px solid var(--cor-borda);
  transition:all var(--t);
  cursor:default;
}
.servico-row:first-child { border-top:1px solid var(--cor-borda); }

.servico-num {
  font-size:36px;
  font-weight:900;
  color:var(--cor-p20);
  letter-spacing:-.04em;
  line-height:1;
  text-align:right;
  transition:color var(--t);
}
.servico-row:hover .servico-num { color:var(--cor-primaria); }
.servico-inner { display:flex; gap:24px; align-items:center; }
.servico-icon {
  width:48px; height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--cor-p10);
  border-radius:var(--r);
  color:var(--cor-primaria);
  flex-shrink:0;
  transition:background var(--t), color var(--t);
}
.servico-row:hover .servico-icon { background:var(--cor-primaria); color:#fff; }
.servico-titulo { font-size:17px; font-weight:600; letter-spacing:-.01em; color:var(--cor-texto); margin-bottom:4px; }
.servico-desc { font-size:14px; color:var(--cor-texto-claro); line-height:1.6; }
.servico-arrow { color:var(--cor-borda); transition:color var(--t), transform var(--t); }
.servico-row:hover .servico-arrow { color:var(--cor-primaria); transform:translateX(6px); }

/* ── SOBRE — VARIANTE B (STATS FIRST) ──────────────────────── */
.sobre {
  background:var(--cor-texto);
  color:#fff;
  padding:120px 0;
}
.sobre h2 { color:#fff; }
.sobre-header { margin-bottom:72px; }
.sobre-header p { font-size:17px; color:rgba(255,255,255,.55); margin-top:16px; max-width:500px; }

.stats-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:48px;
  margin-bottom:72px;
  padding-bottom:72px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.stat-item {}
.stat-num {
  font-size:clamp(36px,5vw,60px);
  font-weight:900;
  color:var(--cor-acento);
  letter-spacing:-.04em;
  line-height:1;
  margin-bottom:10px;
}
.stat-label {
  font-size:13px;
  font-weight:400;
  color:rgba(255,255,255,.45);
  letter-spacing:.06em;
  text-transform:uppercase;
  line-height:1.4;
}

.sobre-content {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
}
.sobre-bio {
  font-size:17px;
  font-weight:300;
  line-height:1.85;
  color:rgba(255,255,255,.85);
  margin-bottom:24px;
}
.sobre-historia {
  font-size:14px;
  line-height:1.9;
  color:rgba(255,255,255,.45);
  margin-bottom:32px;
}
.sobre-formacao {
  display:inline-block;
  font-size:11px;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--cor-acento);
  padding:8px 20px;
  border:1px solid rgba(56,182,255,.3);
  border-radius:100px;
}
.sobre-foto { position:relative; }
.sobre-foto img {
  width:100%;
  border-radius:var(--r);
  object-fit:cover;
  aspect-ratio:4/5;
  filter:grayscale(15%) brightness(.95);
}
.sobre-foto-deco {
  position:absolute;
  top:-16px; right:-16px;
  width:80px; height:80px;
  background:var(--cor-acento);
  opacity:.12;
  border-radius:var(--r);
  z-index:0;
}

/* ── PLANOS ──────────────────────────────────────────────────── */
.planos {
  background:var(--cor-fundo);
  padding:120px 0;
}
.planos-header { text-align:center; margin-bottom:64px; }
.planos-header p { font-size:17px; color:var(--cor-texto-claro); margin-top:16px; max-width:520px; margin-left:auto; margin-right:auto; }

.planos-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch;
}
.plano-card {
  background:#fff;
  border:1px solid var(--cor-borda);
  border-radius:var(--r);
  padding:40px 36px;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:transform var(--t), box-shadow var(--t);
}
.plano-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.08); }
.plano-card.destaque { border-color:var(--cor-primaria); box-shadow:0 8px 32px var(--cor-p20); }
.plano-destaque-badge {
  position:absolute;
  top:-14px; left:50%;
  transform:translateX(-50%);
  background:var(--cor-primaria);
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:5px 18px;
  border-radius:100px;
  white-space:nowrap;
}
.plano-titulo { font-size:22px; font-weight:800; color:var(--cor-texto); letter-spacing:-.02em; margin-bottom:4px; }
.plano-subtitulo { font-size:13px; color:var(--cor-texto-claro); margin-bottom:28px; }
.plano-preco { margin-bottom:8px; }
.plano-preco-valor { font-size:48px; font-weight:900; color:var(--cor-primaria); letter-spacing:-.04em; line-height:1; }
.plano-preco-valor small { font-size:20px; font-weight:500; }
.plano-preco-label { font-size:13px; color:var(--cor-texto-claro); margin-bottom:4px; font-weight:500; }
.plano-em-breve .plano-preco-valor { font-size:22px; color:var(--cor-texto-claro); letter-spacing:0; }
.plano-desc {
  font-size:14px;
  color:var(--cor-texto-claro);
  line-height:1.65;
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:1px solid var(--cor-borda);
}
.plano-itens { flex:1; display:flex; flex-direction:column; gap:13px; margin-bottom:36px; }
.plano-item { display:flex; align-items:flex-start; gap:12px; font-size:14px; color:var(--cor-texto); line-height:1.5; }
.plano-item svg { width:16px; height:16px; color:var(--cor-primaria); flex-shrink:0; margin-top:2px; }
.plano-cta { margin-top:auto; }
.plano-cta .btn { width:100%; justify-content:center; }
.btn-disabled {
  background:var(--cor-fundo);
  color:var(--cor-texto-claro);
  cursor:not-allowed;
  width:100%;
  justify-content:center;
  padding:16px 32px;
  min-height:52px;
  border-radius:var(--r);
  font-size:13px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
}

/* ── PORTFOLIO — VARIANTE C ─────────────────────────────────── */
.portfolio {
  background:var(--cor-branco);
  padding:120px 0;
}
.portfolio-header {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-bottom:56px;
  gap:24px;
}
.portfolio-header h2 { max-width:440px; }
.portfolio-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cor-primaria);
  flex-shrink:0;
  min-height:44px;
  transition:gap var(--t);
}
.portfolio-link:hover { gap:14px; }

.portfolio-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto;
  gap:20px;
}
.projeto-card {
  position:relative;
  border-radius:var(--r);
  overflow:hidden;
  background:var(--cor-fundo);
  display:block;
  text-decoration:none;
}
.projeto-card.featured { grid-row:span 2; }
.projeto-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
  display:block;
}
.projeto-card.featured img { aspect-ratio:auto; min-height:100%; }
.projeto-card:not(.featured) img { aspect-ratio:16/9; }
.projeto-card:hover img { transform:scale(1.05); }
.projeto-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(10,62,168,.88) 0%, rgba(10,62,168,.1) 60%, transparent 100%);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  opacity:0;
  transition:opacity var(--t);
}
.projeto-card:hover .projeto-overlay { opacity:1; }
.projeto-cat-tag {
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cor-acento);
  margin-bottom:8px;
}
.projeto-titulo-card {
  font-size:20px;
  font-weight:800;
  color:#fff;
  letter-spacing:-.02em;
  margin-bottom:4px;
  line-height:1.2;
}
.projeto-local-card { font-size:12px; color:rgba(255,255,255,.55); }

/* ── PROCESSO ───────────────────────────────────────────────── */
.processo {
  background:var(--cor-secundaria);
  padding:120px 0;
  color:#fff;
}
.processo h2 { color:#fff; }
.processo-header { margin-bottom:72px; }
.processo-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
  position:relative;
}
.processo-grid::before {
  content:'';
  position:absolute;
  top:28px;
  left:10%;
  width:80%;
  height:1px;
  background:rgba(255,255,255,.10);
}
.passo { position:relative; z-index:1; }
.passo-num {
  font-size:52px;
  font-weight:900;
  color:rgba(255,255,255,.07);
  letter-spacing:-.04em;
  line-height:1;
  margin-bottom:20px;
}
.passo-dot {
  width:14px; height:14px;
  background:var(--cor-acento);
  border-radius:50%;
  margin-bottom:24px;
  box-shadow:0 0 0 4px rgba(56,182,255,.2);
}
.passo-titulo { font-size:16px; font-weight:700; color:#fff; margin-bottom:10px; }
.passo-desc { font-size:14px; font-weight:300; color:rgba(255,255,255,.5); line-height:1.75; }

/* ── DEPOIMENTOS ────────────────────────────────────────────── */
.depoimentos {
  background:var(--cor-fundo);
  padding:120px 0;
}
.depoimentos-header { margin-bottom:56px; }
.depoimentos-header p { font-size:17px; color:var(--cor-texto-claro); margin-top:12px; }

.depoimentos-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.depo-card {
  background:#fff;
  border-radius:var(--r);
  padding:40px 36px;
  position:relative;
  border:1px solid var(--cor-borda);
  transition:transform var(--t), box-shadow var(--t);
}
.depo-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.06); }
.depo-aspas {
  font-size:80px;
  line-height:.7;
  color:var(--cor-primaria);
  opacity:.12;
  font-family:Georgia,serif;
  font-weight:700;
  margin-bottom:16px;
  display:block;
}
.depo-texto {
  font-size:15px;
  font-weight:300;
  color:var(--cor-texto-claro);
  line-height:1.8;
  margin-bottom:32px;
  font-style:italic;
}
.depo-author { display:flex; align-items:center; gap:14px; }
.depo-iniciais {
  width:44px; height:44px;
  background:var(--cor-primaria);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  flex-shrink:0;
}
.depo-nome { font-size:15px; font-weight:700; color:var(--cor-texto); margin-bottom:2px; }
.depo-cargo { font-size:12px; color:var(--cor-texto-claro); }

/* ── FAQ ─────────────────────────────────────────────────────── */
.faq { background:var(--cor-branco); padding:120px 0; }
.faq-header { margin-bottom:56px; }
.faq-header p { font-size:17px; color:var(--cor-texto-claro); margin-top:12px; }
.faq-list { max-width:840px; }
.faq-item { border-bottom:1px solid var(--cor-borda); }
.faq-item:first-child { border-top:1px solid var(--cor-borda); }
.faq-pergunta {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:26px 0;
  font-size:17px;
  font-weight:500;
  color:var(--cor-texto);
  cursor:pointer;
  text-align:left;
  min-height:44px;
  transition:color var(--t);
}
.faq-pergunta:hover { color:var(--cor-primaria); }
.faq-icon {
  width:28px; height:28px;
  border-radius:50%;
  border:1px solid var(--cor-borda);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:var(--cor-texto-claro);
  transition:transform var(--t), background var(--t), color var(--t), border-color var(--t);
}
.faq-item.aberto .faq-icon {
  transform:rotate(180deg);
  background:var(--cor-primaria);
  color:#fff;
  border-color:var(--cor-primaria);
}
.faq-resposta { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-item.aberto .faq-resposta { max-height:400px; }
.faq-resposta-inner { padding-bottom:24px; }
.faq-resposta p { font-size:15px; color:var(--cor-texto-claro); line-height:1.8; }

/* ── CTA BAND ────────────────────────────────────────────────── */
.cta-band {
  background:linear-gradient(135deg, var(--cor-primaria) 0%, var(--cor-acento) 100%);
  padding:100px 0;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.cta-band::before {
  content:'';
  position:absolute;
  top:-100px; right:-100px;
  width:400px; height:400px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
}
.cta-band::after {
  content:'';
  position:absolute;
  bottom:-80px; left:-80px;
  width:300px; height:300px;
  border-radius:50%;
  background:rgba(255,255,255,.04);
}
.cta-band-content { position:relative; z-index:2; }
.cta-band h2 {
  color:#fff;
  font-size:clamp(28px,4vw,52px);
  letter-spacing:-.02em;
  margin-bottom:16px;
  font-weight:800;
  text-transform:none;
}
.cta-band-sub {
  font-size:18px;
  color:rgba(255,255,255,.82);
  max-width:540px;
  margin:0 auto 48px;
  line-height:1.7;
  font-weight:300;
}
.cta-band-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ── CONTATO TEASER ──────────────────────────────────────────── */
.contato-teaser {
  background:var(--cor-texto);
  padding:120px 0;
}
.contato-teaser-header { margin-bottom:56px; }
.contato-teaser-header h2 { color:#fff; }
.contato-teaser-header p { font-size:17px; color:rgba(255,255,255,.5); margin-top:12px; }

.contato-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.contato-card {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r);
  padding:36px 28px;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:background var(--t), border-color var(--t);
}
.contato-card:hover { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14); }
.contato-card-icon {
  width:48px; height:48px;
  background:rgba(56,182,255,.12);
  border-radius:var(--r);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--cor-acento);
  margin-bottom:4px;
}
.contato-card-label {
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.35);
}
.contato-card-valor { font-size:16px; font-weight:500; color:#fff; }
.contato-card-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cor-acento);
  margin-top:auto;
  min-height:44px;
  align-self:flex-start;
  transition:gap var(--t);
}
.contato-card-link:hover { gap:14px; }

/* ── FOOTER ──────────────────────────────────────────────────── */
.footer {
  background:var(--cor-secundaria);
  color:rgba(255,255,255,.55);
  padding:80px 0 40px;
}
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:56px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:40px;
}
.footer-brand-nome { font-size:22px; font-weight:900; color:#fff; letter-spacing:-.03em; margin-bottom:4px; }
.footer-brand-prof { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-bottom:20px; }
.footer-tagline { font-size:14px; line-height:1.7; max-width:260px; margin-bottom:28px; }
.footer-social { display:flex; gap:10px; }
.footer-social a {
  width:40px; height:40px;
  min-width:44px; min-height:44px;
  background:rgba(255,255,255,.07);
  border-radius:var(--r);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.5);
  transition:background var(--t), color var(--t);
}
.footer-social a:hover { background:var(--cor-primaria); color:#fff; }
.footer-col-titulo {
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:24px;
}
.footer-nav-link {
  display:flex;
  align-items:center;
  font-size:14px;
  color:rgba(255,255,255,.45);
  padding:6px 0;
  min-height:44px;
  transition:color var(--t);
}
.footer-nav-link:hover { color:#fff; }
.footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.footer-copy { font-size:13px; }
.footer-bio-link {
  font-size:13px;
  color:rgba(255,255,255,.35);
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  transition:color var(--t);
}
.footer-bio-link:hover { color:#fff; }
.footer-credits {
  text-align:center;
  margin-top:24px;
  font-size:12px;
  color:rgba(255,255,255,.2);
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.05);
}
.footer-credits a { color:rgba(255,255,255,.3); transition:color var(--t); }
.footer-credits a:hover { color:rgba(255,255,255,.55); }

/* ── WHATSAPP FLOAT ──────────────────────────────────────────── */
.whatsapp-float {
  position:fixed;
  bottom:28px; right:28px;
  z-index:90;
  width:58px; height:58px;
  background:#25D366;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  transition:transform var(--t), box-shadow var(--t);
}
.whatsapp-float:hover { transform:scale(1.08); box-shadow:0 8px 32px rgba(37,211,102,.5); }

/* ── PAGE HERO (AUXILIARY PAGES) ─────────────────────────────── */
.page-hero {
  width:100%;
  height:260px;
  background:linear-gradient(140deg, var(--cor-primaria), var(--cor-secundaria));
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
  margin-top:var(--nav-height);
  position:relative;
}
.page-hero::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(10,62,168,.65) 0%, transparent 55%);
}
.page-hero-content {
  position:relative;
  z-index:2;
  padding:0 48px 36px;
  color:#fff;
}
.page-hero-label {
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  margin-bottom:8px;
}
.page-hero-title {
  font-size:clamp(28px,5vw,48px);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.1;
}

/* ── BIO PAGE ────────────────────────────────────────────────── */
.bio-page { min-height:100vh; }
.bio-banner {
  width:100%;
  height:clamp(160px,45vw,240px);
  background:var(--cor-primaria);
  background-size:cover;
  background-position:center;
}
.bio-container { max-width:480px; margin:0 auto; padding:0 16px 60px; }
.bio-avatar-wrap {
  display:flex;
  justify-content:center;
  margin-top:-52px;
  margin-bottom:24px;
  position:relative;
  z-index:2;
}
.bio-avatar {
  width:104px; height:104px;
  border-radius:50%;
  object-fit:cover;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-weight:800;
  color:#fff;
  overflow:hidden;
}
.bio-header { text-align:center; margin-bottom:28px; }
.bio-nome { font-size:24px; font-weight:900; letter-spacing:-.02em; margin-bottom:4px; }
.bio-prof { font-size:12px; font-weight:400; letter-spacing:.10em; text-transform:uppercase; margin-bottom:20px; }
.bio-heading-1 { font-size:20px; font-weight:800; letter-spacing:-.01em; margin-bottom:2px; }
.bio-heading-2 { font-size:20px; font-weight:800; color:var(--cor-primaria); letter-spacing:-.01em; margin-bottom:14px; }
.bio-desc { font-size:14px; line-height:1.75; }

.bio-cta-primario {
  display:flex;
  align-items:center;
  gap:16px;
  background:var(--cor-primaria);
  color:#fff;
  border-radius:var(--r);
  padding:16px 20px;
  margin-bottom:10px;
  transition:transform var(--t), box-shadow var(--t), background var(--t);
  min-height:64px;
}
.bio-cta-primario:hover { transform:translateY(-2px); box-shadow:0 8px 24px var(--cor-p35); background:#0A6FE8; }
.bio-cta-icon {
  width:40px; height:40px;
  background:rgba(255,255,255,.15);
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.bio-cta-text { flex:1; text-align:left; }
.bio-cta-titulo { font-size:15px; font-weight:700; display:block; }
.bio-cta-subtitulo { font-size:12px; opacity:.7; display:block; }
.bio-cta-arrow { opacity:.5; }

.bio-cards { display:flex; flex-direction:column; gap:8px; margin:8px 0 20px; }
.bio-card {
  display:flex;
  align-items:center;
  gap:16px;
  border-radius:var(--r);
  padding:14px 18px;
  min-height:60px;
  transition:transform var(--t), background var(--t);
}
.bio-card:hover { transform:translateX(4px); }
.bio-card-icon {
  width:38px; height:38px;
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.bio-card-text { flex:1; }
.bio-card-titulo { font-size:14px; font-weight:600; display:block; }
.bio-card-subtitulo { font-size:12px; display:block; opacity:.5; }

.bio-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  border-radius:var(--r);
  overflow:hidden;
  margin:24px 0;
}
.bio-stat { padding:20px 12px; text-align:center; }
.bio-stat-num { font-size:22px; font-weight:900; color:var(--cor-primaria); letter-spacing:-.02em; display:block; }
.bio-stat-label { font-size:11px; letter-spacing:.04em; display:block; line-height:1.4; margin-top:4px; }

.bio-depoimentos { margin:20px 0; display:flex; flex-direction:column; gap:8px; }
.bio-depo { border-radius:var(--r); padding:20px; }
.bio-depo-texto { font-size:13px; line-height:1.75; font-style:italic; margin-bottom:14px; }
.bio-depo-nome { font-size:13px; font-weight:700; }
.bio-depo-cargo { font-size:11px; opacity:.4; }

.bio-horarios { border-radius:var(--r); padding:20px; margin:16px 0; }
.bio-horarios-titulo { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:14px; opacity:.4; }
.bio-horario-row { display:flex; justify-content:space-between; gap:16px; padding:7px 0; border-bottom:1px solid rgba(128,128,128,.1); font-size:13px; }
.bio-horario-row:last-child { border-bottom:none; }
.bio-horario-obs { font-size:12px; margin-top:10px; opacity:.35; }

.bio-atributos { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:20px 0; }
.bio-atributo { padding:6px 16px; border-radius:100px; font-size:12px; font-weight:500; }

.bio-social { display:flex; justify-content:center; gap:10px; margin:16px 0; }
.bio-social a {
  width:44px; height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background var(--t), color var(--t);
}

.bio-share-btn {
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 24px;
  border-radius:100px;
  font-size:13px;
  width:100%;
  justify-content:center;
  margin:14px 0;
  min-height:44px;
  transition:all var(--t);
  cursor:pointer;
}
.bio-footer {
  text-align:center;
  margin-top:36px;
  font-size:12px;
  padding-top:24px;
}
.bio-footer a { transition:opacity var(--t); }
.bio-footer a:hover { opacity:.7; }

/* ── GALLERY PAGE ─────────────────────────────────────────────── */
.galeria-section { padding:72px 0 120px; }
.galeria-filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:48px; }
.filter-btn {
  padding:8px 20px;
  border-radius:100px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid var(--cor-borda);
  color:var(--cor-texto-claro);
  background:#fff;
  min-height:44px;
  transition:all var(--t);
  cursor:pointer;
}
.filter-btn.ativo,.filter-btn:hover { background:var(--cor-primaria); color:#fff; border-color:var(--cor-primaria); }
.galeria-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.galeria-card { border-radius:var(--r); overflow:hidden; background:var(--cor-fundo); display:block; text-decoration:none; }
.galeria-card[data-hidden] { display:none; }
.galeria-card-img { aspect-ratio:4/3; overflow:hidden; }
.galeria-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.galeria-card:hover .galeria-card-img img { transform:scale(1.06); }
.galeria-card-info { padding:24px; }
.galeria-card-cat { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cor-primaria); margin-bottom:8px; }
.galeria-card-titulo { font-size:18px; font-weight:700; color:var(--cor-texto); letter-spacing:-.02em; margin-bottom:6px; }
.galeria-card-desc { font-size:13px; color:var(--cor-texto-claro); line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.galeria-card-local { margin-top:10px; font-size:12px; color:var(--cor-texto-claro); display:flex; align-items:center; gap:6px; }

/* ── PROJECT PAGE ────────────────────────────────────────────── */
.projeto-section { padding:72px 0 120px; }
.projeto-back {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cor-primaria);
  margin-bottom:48px;
  min-height:44px;
  transition:gap var(--t);
}
.projeto-back:hover { gap:14px; }
.projeto-header { margin-bottom:48px; }
.projeto-cat-tag-hero {
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cor-primaria);
  background:var(--cor-p10);
  padding:6px 16px;
  border-radius:100px;
  margin-bottom:16px;
}
.projeto-titulo-hero {
  font-size:clamp(32px,5vw,56px);
  font-weight:900;
  letter-spacing:-.03em;
  color:var(--cor-texto);
  margin-bottom:12px;
  line-height:1.1;
}
.projeto-meta { display:flex; gap:24px; flex-wrap:wrap; font-size:13px; color:var(--cor-texto-claro); }
.projeto-layout {
  display:grid;
  grid-template-columns:1fr 360px;
  gap:64px;
  align-items:start;
}
.projeto-gallery-main { border-radius:var(--r); overflow:hidden; cursor:pointer; margin-bottom:12px; }
.projeto-gallery-main img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .4s ease; display:block; }
.projeto-gallery-main:hover img { transform:scale(1.02); }
.projeto-gallery-thumbs { display:flex; gap:10px; flex-wrap:wrap; }
.projeto-thumb {
  width:72px; height:54px;
  border-radius:var(--r);
  overflow:hidden;
  cursor:pointer;
  opacity:.5;
  transition:opacity var(--t), border-color var(--t);
  border:2px solid transparent;
  flex-shrink:0;
}
.projeto-thumb.ativo { opacity:1; border-color:var(--cor-primaria); }
.projeto-thumb:hover { opacity:.8; }
.projeto-thumb img { width:100%; height:100%; object-fit:cover; }
.projeto-desc-full { font-size:16px; color:var(--cor-texto-claro); line-height:1.85; margin-top:36px; }
.projeto-sidebar { position:sticky; top:calc(var(--nav-height) + 32px); }
.projeto-info-card {
  background:var(--cor-fundo);
  border-radius:var(--r);
  padding:32px;
  border:1px solid var(--cor-borda);
  margin-bottom:16px;
}
.projeto-info-titulo { font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--cor-texto-claro); margin-bottom:20px; }
.projeto-info-row { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--cor-borda); font-size:14px; }
.projeto-info-row:last-child { border-bottom:none; }
.projeto-info-chave { color:var(--cor-texto-claro); }
.projeto-info-valor { color:var(--cor-texto); font-weight:600; }
.projeto-cta-sidebar .btn { width:100%; justify-content:center; }

/* ── LIGHTBOX ────────────────────────────────────────────────── */
.lightbox {
  display:none;
  position:fixed;
  inset:0;
  z-index:200;
  background:rgba(0,0,0,.92);
  align-items:center;
  justify-content:center;
}
.lightbox.aberto { display:flex; }
.lightbox img { max-width:90vw; max-height:85vh; object-fit:contain; border-radius:var(--r); }
.lightbox-close {
  position:absolute;
  top:20px; right:20px;
  width:48px; height:48px;
  background:rgba(255,255,255,.1);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff; cursor:pointer;
  transition:background var(--t);
  border:none;
}
.lightbox-close:hover { background:rgba(255,255,255,.2); }
.lightbox-nav {
  position:absolute;
  top:50%; transform:translateY(-50%);
  width:52px; height:52px;
  background:rgba(255,255,255,.1);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff; cursor:pointer;
  transition:background var(--t);
  border:none;
}
.lightbox-nav:hover { background:rgba(255,255,255,.2); }
.lightbox-prev { left:16px; }
.lightbox-next { right:16px; }
.lightbox-counter {
  position:absolute;
  bottom:24px; left:50%;
  transform:translateX(-50%);
  font-size:13px;
  color:rgba(255,255,255,.5);
}

/* ── CONTACT PAGE ────────────────────────────────────────────── */
.contato-section { padding:72px 0 120px; }
.contato-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.contato-form-titulo { font-size:28px; font-weight:700; color:var(--cor-texto); letter-spacing:-.02em; margin-bottom:8px; }
.contato-form-sub { font-size:15px; color:var(--cor-texto-claro); margin-bottom:36px; }
.form-group { margin-bottom:20px; }
label { display:block; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--cor-texto); margin-bottom:8px; }
input,textarea,select {
  width:100%; padding:14px 16px;
  border:1px solid var(--cor-borda);
  border-radius:var(--r);
  font-family:inherit; font-size:15px; font-weight:300;
  color:var(--cor-texto); background:#fff;
  outline:none; min-height:44px;
  transition:border-color var(--t), box-shadow var(--t);
}
input:focus,textarea:focus,select:focus { border-color:var(--cor-primaria); box-shadow:0 0 0 3px var(--cor-p10); }
textarea { resize:vertical; min-height:140px; }
select { appearance:none; cursor:pointer; }
.form-submit { width:100%; justify-content:center; margin-top:8px; }
.form-success {
  display:none;
  background:var(--cor-p10);
  border:1px solid var(--cor-p20);
  border-radius:var(--r);
  padding:24px;
  text-align:center;
  color:var(--cor-primaria);
  font-weight:500;
}
.form-success.visivel { display:block; }
.contato-info-titulo { font-size:24px; font-weight:700; color:var(--cor-texto); letter-spacing:-.02em; margin-bottom:28px; }
.contato-info-cards { display:flex; flex-direction:column; gap:14px; }
.contato-info-card {
  display:flex;
  align-items:center;
  gap:20px;
  padding:22px;
  background:var(--cor-fundo);
  border-radius:var(--r);
  border:1px solid var(--cor-borda);
  transition:border-color var(--t);
  text-decoration:none;
}
.contato-info-card:hover { border-color:var(--cor-primaria); }
.contato-info-icon {
  width:48px; height:48px;
  background:var(--cor-p10);
  border-radius:var(--r);
  display:flex; align-items:center; justify-content:center;
  color:var(--cor-primaria); flex-shrink:0;
}
.contato-info-nome { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--cor-texto-claro); margin-bottom:4px; }
.contato-info-val { font-size:15px; font-weight:500; color:var(--cor-texto); }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width:1024px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
  .processo-grid { grid-template-columns:repeat(2,1fr); }
  .processo-grid::before { display:none; }
  .planos-grid { grid-template-columns:repeat(2,1fr); }
  .plano-card:first-child { grid-column:span 2; max-width:420px; margin:0 auto; }
}

@media (max-width:768px) {
  .container { padding:0 24px; }
  .hamburger { display:flex; }
  .nav-links,.nav-cta { display:none; }
  .hero-grid { grid-template-columns:1fr; padding:60px 0 0; }
  .hero-visual { display:none; }
  .hero-content { padding:40px 0 60px; }
  .hero h1 { font-size:clamp(36px,8vw,56px); }
  .hero-sub { font-size:15px; }
  .hero-trust { gap:24px; }
  .servicos { padding:80px 0 80px; }
  .servico-row { grid-template-columns:1fr 36px; gap:16px; }
  .servico-num { display:none; }
  .servico-row:hover { margin:0; padding:28px 0; background:transparent; }
  .sobre { padding:80px 0; }
  .stats-grid { grid-template-columns:repeat(2,1fr); gap:32px; margin-bottom:48px; padding-bottom:48px; }
  .sobre-content { grid-template-columns:1fr; gap:0; }
  .sobre-foto { display:none; }
  .planos { padding:80px 0; }
  .planos-grid { grid-template-columns:1fr; max-width:440px; margin:0 auto; }
  .plano-card:first-child { grid-column:span 1; max-width:100%; }
  .portfolio-header { flex-direction:column; align-items:flex-start; gap:16px; }
  .portfolio-grid { grid-template-columns:1fr; }
  .projeto-card.featured { grid-row:span 1; }
  .projeto-card.featured img,.projeto-card:not(.featured) img { aspect-ratio:16/9; }
  .processo { padding:80px 0; }
  .processo-grid { grid-template-columns:1fr 1fr; gap:40px; }
  .depoimentos-grid { grid-template-columns:1fr; }
  .contato-cards { grid-template-columns:1fr; }
  .page-hero { height:180px; }
  .page-hero-content { padding:0 24px 24px; }
  .galeria-grid { grid-template-columns:repeat(2,1fr); }
  .projeto-layout { grid-template-columns:1fr; }
  .projeto-sidebar { position:static; }
  .contato-grid { grid-template-columns:1fr; gap:48px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:600px) {
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; text-align:center; gap:8px; }
  .galeria-grid { grid-template-columns:1fr; }
}

@media (max-width:480px) {
  .container { padding:0 16px; }
  h1 { font-size:clamp(32px,9vw,48px); }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { width:100%; justify-content:center; }
  .hero-trust { gap:20px; }
  .stats-grid { gap:20px; }
  .servico-inner { gap:14px; }
  .plano-card { padding:32px 24px; }
  .processo-grid { grid-template-columns:1fr; }
  .page-hero { height:140px; }
  .page-hero-content { padding:0 16px 20px; }
  .whatsapp-float { bottom:20px; right:20px; width:52px; height:52px; }
  .cta-band-actions { flex-direction:column; }
  .cta-band-actions .btn { width:100%; justify-content:center; }
  .depoimentos-grid,.contato-cards { grid-template-columns:1fr; }
  .depo-card,.contato-card { padding:28px 22px; }
  .faq-pergunta { font-size:15px; }
}
