:root{
  --tinta:#12141a;
  --tinta-suave:#4a4f5c;
  --papel:#f7f5f1;
  --papel-puro:#fffefb;
  --escuro:#12141a;
  --acento:#b8894a;            /* dourado sobre fundo escuro */
  --acento-texto:#8f6528;      /* dourado escurecido p/ texto sobre fundo claro (WCAG AA) */
  --borda:#e2ded6;
  --largura:1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--papel);
  color:var(--tinta);
  font:400 17px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.01em;margin:0}

/* topo */
.topo{
  position:sticky;top:0;z-index:10;
  background:rgba(247,245,241,.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--borda);
}
.topo-interno{
  max-width:var(--largura);margin:0 auto;padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.marca{
  font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:600;
  text-decoration:none;letter-spacing:.02em;
}
.topo nav{display:flex;gap:26px;flex-wrap:wrap}
.topo nav a{
  text-decoration:none;font-size:15px;color:var(--tinta-suave);
  padding-bottom:2px;border-bottom:1px solid transparent;transition:.2s;
}
.topo nav a:hover{color:var(--tinta);border-color:var(--acento)}

/* hero */
.hero{
  max-width:var(--largura);margin:0 auto;
  padding:88px 24px 72px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;
}
.sobrelinha{
  margin:0 0 20px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--acento-texto);font-weight:600;
}
.hero h1{font-size:clamp(52px,8vw,92px);line-height:.98}
.subtitulo{
  max-width:46ch;margin:28px 0 0;font-size:19px;color:var(--tinta-suave);
}
.acoes{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.botao{
  display:inline-block;padding:13px 26px;border-radius:2px;
  background:var(--escuro);color:var(--papel-puro);
  text-decoration:none;font-size:15px;font-weight:500;
  border:1px solid var(--escuro);transition:.2s;
}
.botao:hover{background:transparent;color:var(--escuro)}
.botao.vazado{background:transparent;color:var(--escuro)}
.botao.vazado:hover{background:var(--escuro);color:var(--papel-puro)}
.hero-foto img{
  width:100%;height:auto;border-radius:3px;
  box-shadow:0 24px 60px -28px rgba(18,20,26,.5);
}

/* números */
.numeros{
  width:calc(100% - 48px);max-width:calc(var(--largura) - 48px);margin:0 auto 88px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--borda);border:1px solid var(--borda);
  border-left:0;border-right:0;
}
.numeros>div{background:var(--papel);padding:28px 22px;display:grid;gap:4px}
.numeros strong{font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:600}
.numeros span{font-size:14px;color:var(--tinta-suave)}

/* blocos */
.bloco{max-width:var(--largura);margin:0 auto;padding:88px 24px}
.bloco h2{
  font-size:14px;letter-spacing:.16em;text-transform:uppercase;
  font-family:Inter,sans-serif;font-weight:600;color:var(--acento-texto);
  margin-bottom:40px;
}
.destaque{
  font-family:Fraunces,Georgia,serif;font-size:clamp(24px,3vw,32px);
  line-height:1.35;margin:0;
}
.colunas{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.colunas p+p{margin-top:18px}
.colunas>div p{color:var(--tinta-suave);margin:0}

.escuro{
  max-width:none;background:var(--escuro);color:var(--papel);
}
.escuro>*{max-width:calc(var(--largura) - 48px);margin-left:auto;margin-right:auto}
.escuro h2{color:var(--acento)}

/* linha do tempo */
.linha-tempo{list-style:none;margin:0;padding:0;display:grid;gap:0}
.linha-tempo li{
  padding:32px 0;border-top:1px solid rgba(247,245,241,.14);
  display:grid;grid-template-columns:200px 1fr;gap:32px;
}
.linha-tempo li:last-child{border-bottom:1px solid rgba(247,245,241,.14)}
.periodo{font-size:14px;color:var(--acento);letter-spacing:.05em;padding-top:5px}
.linha-tempo h3,.linha-tempo p{grid-column:2}
.linha-tempo h3{font-size:22px;margin-bottom:10px}
.linha-tempo p{margin:0;color:rgba(247,245,241,.68);max-width:62ch}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--borda);border:1px solid var(--borda)}
.cards article{background:var(--papel-puro);padding:32px 28px}
.cards img{margin-bottom:18px}
.cards h3{font-size:20px;margin-bottom:10px}
.cards p{margin:0;color:var(--tinta-suave);font-size:16px}

/* contato */
.contato .destaque{max-width:24ch;margin:0}
.links{list-style:none;padding:0;margin:36px auto 0;display:flex;gap:32px;flex-wrap:wrap}
.links a{
  text-decoration:none;font-size:18px;border-bottom:1px solid var(--acento);
  padding-bottom:3px;
}
.links a:hover{color:var(--acento)}

footer{
  max-width:var(--largura);margin:0 auto;padding:32px 24px;
  font-size:14px;color:var(--tinta-suave);
}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;gap:40px;padding-top:56px}
  .hero-foto{order:-1;max-width:320px}
  .numeros{grid-template-columns:repeat(2,1fr)}
  .colunas{grid-template-columns:1fr;gap:28px}
  .linha-tempo li{grid-template-columns:1fr;gap:8px}
  .linha-tempo h3,.linha-tempo p{grid-column:1}
  .bloco{padding:64px 24px}
}

/* foco visível — navegação por teclado */
a:focus-visible,
button:focus-visible{
  outline:2px solid var(--acento-texto);
  outline-offset:3px;
  border-radius:2px;
}
.escuro a:focus-visible{outline-color:var(--acento)}

/* faixa de logos */
.logos{
  width:calc(100% - 48px);max-width:calc(var(--largura) - 48px);
  margin:0 auto 88px;padding-bottom:56px;border-bottom:1px solid var(--borda);
}
.rotulo{
  margin:0 0 28px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tinta-suave);font-weight:600;
}
.logos ul{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;align-items:center;gap:40px 56px;
}
.logos img{opacity:.5;transition:opacity .2s}
.logos li:hover img{opacity:1}

/* cases */
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px}
.cases article{border-top:2px solid var(--escuro);padding-top:22px}
.cases .metrica{
  font-family:Fraunces,Georgia,serif;font-size:44px;line-height:1;
  margin:0 0 14px;font-weight:600;
}
.cases h3{font-size:20px;margin-bottom:12px}
.cases p{margin:0;color:var(--tinta-suave);font-size:16px}
.cases .meta-case{margin-top:14px;font-size:14px;letter-spacing:.04em}
.nota{
  margin:40px 0 0;font-size:14px;color:var(--tinta-suave);
  border-left:2px solid var(--acento-texto);padding-left:14px;
}

/* depoimentos */
.depoimentos{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;
}
.depoimentos blockquote{margin:0}
.depoimentos p{
  font-family:Fraunces,Georgia,serif;font-size:21px;line-height:1.5;margin:0 0 20px;
}
.depoimentos cite{font-style:normal;display:grid;gap:2px}
.depoimentos cite strong{font-size:15px;font-weight:600}
.depoimentos cite span{font-size:14px;color:rgba(247,245,241,.6)}

@media (max-width:860px){
  .logos{margin-bottom:56px;padding-bottom:40px}
  .logos ul{gap:28px 36px}
  .cases{gap:32px}
}

/* formação e reconhecimentos */
.credenciais{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.credenciais h3{font-size:20px;margin-bottom:22px}
.credenciais ul{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.credenciais li{
  display:grid;gap:3px;padding-left:16px;border-left:1px solid var(--borda);
}
.credenciais strong{font-size:16px;font-weight:600}
.credenciais span{font-size:15px;color:var(--tinta-suave)}

@media (max-width:860px){
  .credenciais{grid-template-columns:1fr;gap:36px}
}

/* navegação em telas estreitas: rola na horizontal em vez de quebrar linha */
@media (max-width:640px){
  .topo-interno{padding:14px 20px;gap:16px}
  .topo nav{
    flex-wrap:nowrap;gap:14px;overflow-x:auto;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .topo nav::-webkit-scrollbar{display:none}
  .topo nav a{font-size:13px;letter-spacing:.01em;white-space:nowrap}
}
