:root{
  --marinho:#1B3A6B;
  --marinho-fundo:#12294D;
  --marinho-escuro:#0C1D38;
  --champanhe:#B08D57;
  --champanhe-claro:#CBA974;
  --pedra:#EFEDE8;
  --pedra-suave:#F7F6F3;
  --texto-escuro:#1A2740;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--marinho-fundo);
  color:var(--pedra);
  font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:18px;
  line-height:1.72;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%}
a{color:inherit}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 28px}

.label{
  font-family:'Jost',sans-serif;
  font-weight:500;
  font-size:.78rem;
  letter-spacing:.28em;
  text-transform:uppercase;
}
h1,h2,h3{font-family:'Lora',Georgia,serif;font-weight:400;line-height:1.2;margin:0}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(115% 85% at 34% 0%, #24487E 0%, var(--marinho) 44%, var(--marinho-escuro) 100%);
}
.arcos{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.5}
.hero-grid{
  position:relative;z-index:2;
  width:100%;max-width:var(--max);margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:1.04fr .96fr;gap:44px;
  align-items:end;min-height:100svh;
}
.hero-texto{align-self:center;padding:112px 0 96px}
.monograma{width:112px;height:auto;margin:0 0 30px;display:block}
.hero h1{
  font-size:clamp(2.5rem,5.6vw,4.2rem);
  letter-spacing:.03em;
  color:var(--pedra);
  margin-bottom:16px;
}
.hero .sub{color:var(--champanhe-claro);margin-bottom:34px;font-size:.9rem;letter-spacing:.34em}
.regua{width:64px;height:1.5px;background:var(--champanhe);margin:0 0 34px;border:0}
.hero .frase{
  font-family:'Lora',Georgia,serif;
  font-style:italic;
  font-size:clamp(1.35rem,2.9vw,1.95rem);
  color:var(--pedra);
  line-height:1.42;
  margin:0 0 42px;
  max-width:16ch;
}
.hero-foto{align-self:end;display:flex;justify-content:center;align-items:flex-end}
.hero-foto img{
  width:100%;max-width:470px;height:auto;display:block;
  filter:drop-shadow(0 26px 54px rgba(0,0,0,.42));
}
.ctas{display:flex;gap:16px;flex-wrap:wrap}
.btn{
  display:inline-block;
  padding:17px 34px;
  font-family:'Jost',sans-serif;
  font-weight:500;
  font-size:.85rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:2px;
  transition:transform .18s ease, background-color .18s ease, color .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primario{background:var(--champanhe);color:#12294D;border:1.5px solid var(--champanhe)}
.btn-primario:hover{background:var(--champanhe-claro);border-color:var(--champanhe-claro)}
.btn-secundario{border:1.5px solid rgba(239,237,232,.55);color:var(--pedra)}
.btn-secundario:hover{background:rgba(239,237,232,.1);border-color:var(--pedra)}

@media (max-width:880px){
  .hero-grid{grid-template-columns:1fr;gap:0;min-height:0;text-align:center}
  .hero-texto{padding:92px 0 30px}
  .monograma{margin:0 auto 24px;width:96px;height:auto}
  .hero .frase{margin-left:auto;margin-right:auto}
  .regua{margin-left:auto;margin-right:auto}
  .ctas{justify-content:center}
  .hero-foto img{max-width:320px}
}

/* ---------- SEÇÕES ---------- */
section{padding:104px 0}
.claro{background:var(--pedra);color:var(--texto-escuro)}
.claro .label{color:#8A6A3B}
.claro h2{color:var(--marinho)}
.escuro{background:var(--marinho-fundo)}
.escuro .label{color:var(--champanhe-claro)}
.escuro h2{color:var(--pedra)}
.cabecalho{max-width:640px;margin-bottom:52px}
.cabecalho .label{display:block;margin-bottom:16px}
.cabecalho h2{font-size:clamp(1.9rem,4.4vw,2.85rem);margin-bottom:22px}
.cabecalho h2 em{font-style:italic;color:var(--champanhe)}
p{margin:0 0 22px}
.claro p{color:#33405C}
.escuro p{color:rgba(239,237,232,.86)}
.destaque{
  border-left:2px solid var(--champanhe);
  padding:6px 0 6px 24px;
  font-family:'Lora',Georgia,serif;
  font-style:italic;
  font-size:1.12rem;
  line-height:1.6;
  margin-top:34px;
}

/* ---------- PILARES ---------- */
.pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:2px;background:rgba(176,141,87,.3);border:1px solid rgba(176,141,87,.3)}
.pilar{background:var(--marinho-fundo);padding:40px 28px}
.pilar .num{font-family:'Lora',serif;font-style:italic;font-size:1.5rem;color:var(--champanhe);display:block;margin-bottom:14px}
.pilar h3{font-size:1.35rem;color:var(--pedra);margin-bottom:12px}
.pilar p{font-size:.95rem;line-height:1.62;margin:0;color:rgba(239,237,232,.78)}

/* ---------- ATUAÇÃO ---------- */
.atuacao{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:30px;margin-top:8px}
.card{
  background:#fff;
  border:1px solid rgba(27,58,107,.14);
  padding:36px 30px;
  border-radius:3px;
}
.card h3{font-size:1.3rem;color:var(--marinho);margin-bottom:12px}
.card p{font-size:.95rem;line-height:1.62;margin:0;color:#4A5670}
.nota{
  margin-top:48px;
  padding-top:28px;
  border-top:1px solid rgba(27,58,107,.16);
  font-size:.95rem;
  color:#5A6480;
}

/* ---------- CONTATO ---------- */
.contato{text-align:center}
.contato .cabecalho{margin:0 auto 46px;text-align:center}
.canais{display:grid;grid-template-columns:repeat(auto-fit,minmax(246px,1fr));gap:26px;max-width:900px;margin:0 auto 52px}
.canal{
  border:1px solid rgba(176,141,87,.34);
  padding:34px 22px;
  border-radius:3px;
  text-decoration:none;
  display:block;
  transition:border-color .18s ease, background-color .18s ease;
}
.canal:hover{border-color:var(--champanhe);background:rgba(176,141,87,.09)}
.canal .label{display:block;color:var(--champanhe-claro);margin-bottom:12px;font-size:.7rem}
.canal .valor{font-family:'Lora',serif;font-size:1.14rem;color:var(--pedra);overflow-wrap:break-word;hyphens:none;display:block}
.canal .valor.email{font-size:.95rem;letter-spacing:.005em}

/* ---------- RODAPÉ ---------- */
footer{background:var(--marinho-escuro);padding:52px 0;text-align:center}
footer .marca{font-family:'Lora',serif;font-style:italic;font-size:1.3rem;color:var(--pedra);margin-bottom:10px}
footer .local{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(239,237,232,.55)}
footer .cred{margin-top:22px;font-size:.82rem;color:rgba(239,237,232,.42)}

@media (max-width:640px){
  body{font-size:17px}
  section{padding:76px 0}
  .wrap{padding:0 22px}
  .btn{padding:16px 26px;font-size:.8rem}
  .ctas{flex-direction:column;align-items:stretch}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}
