/* ===========================================================
   Renata Santos, sistema visual compartilhado
   Paleta oficial (não usar nenhuma outra cor sólida além destas):
   claro #FBF6EA (fundo principal, domina o site)
   verde oliva escuro #54582F (única cor escura de texto e detalhe: títulos, ícones, linhas finas, texto de leitura longa; nunca fundo de bloco grande)
   dourado #D4AF37 (destaques pontuais e CTA principal, com moderação)
   bronze #9A6A2F (só fundo do rodapé e o degradê suave da régua, nunca mais texto/ícone/borda)
   Escala de espaçamento: múltiplos de 8px, sem valores soltos.
   =========================================================== */

:root{
  --claro:#FBF6EA;
  --verde-oliva:#54582F;
  --dourado:#D4AF37;
  --bronze:#9A6A2F;

  /* tons derivados apenas por mistura/opacidade das quatro cores acima */
  --claro-alt: color-mix(in srgb, var(--claro) 92%, var(--bronze) 8%);
  --texto-corpo: color-mix(in srgb, var(--verde-oliva) 96%, var(--claro) 4%);
  --texto-suave: color-mix(in srgb, var(--verde-oliva) 92%, var(--claro) 8%);
  --linha: color-mix(in srgb, var(--verde-oliva) 22%, var(--claro) 78%);
  --linha-discreta: color-mix(in srgb, var(--verde-oliva) 14%, var(--claro) 86%);
  --verde-oliva-hover: color-mix(in srgb, var(--verde-oliva) 85%, var(--claro) 15%);
  --claro-translucido: color-mix(in srgb, var(--claro) 90%, transparent);
  --sombra: color-mix(in srgb, var(--verde-oliva) 26%, transparent);

  /* escala de espaçamento (base 8px) */
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px;
  --space-5:40px; --space-6:48px; --space-7:56px; --space-8:64px;
  --space-9:72px; --space-10:80px; --space-12:96px; --space-15:120px;
  --space-16:128px; --space-20:160px;

  /* raio único para todo o site: geométrico, discreto, nunca arredondado demais */
  --radius:4px;

  /* ritmo vertical entre seções (meio-termo entre a escala original e a reduzida) */
  --section-y: var(--space-10);
}
@media(max-width:700px){
  :root{ --section-y: var(--space-6); }
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Poppins',sans-serif;
  font-weight:300;
  color:var(--texto-corpo);
  background:var(--claro);
  overflow-x:hidden;
}
h1,h2,h3,.display{font-family:'Lora',serif; font-weight:500; color:var(--verde-oliva);}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
.hl-gold{color:var(--dourado); font-style:italic;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
}

/* ---------- NAV (fundo claro/translúcido, nunca bloco sólido escuro) ---------- */
nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:var(--space-3) 6vw;
  transition: background .3s ease, padding .3s ease, box-shadow .3s ease;
}
nav.scrolled{
  background:var(--claro-translucido);
  backdrop-filter: blur(8px);
  padding:var(--space-2) 6vw;
  box-shadow:0 2px 20px var(--sombra);
}
.nav-logo-link{display:flex; align-items:center; padding:4px 0;}
.nav-logo-img{height:40px; width:auto; display:block;}
@media(max-width:600px){ .nav-logo-img{height:32px;} }

.nav-links{display:flex; gap:var(--space-5); list-style:none;}
.nav-links a{
  font-size:12px; letter-spacing:2px; text-transform:uppercase;
  color:var(--verde-oliva); position:relative; padding-bottom:4px;
}
.nav-links a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--dourado); transition:width .25s ease;
}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--verde-oliva);}

/* submenu "Serviços": hover no desktop */
.nav-item-submenu{position:relative;}
.nav-submenu{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(4px);
  background:var(--claro); border:1px solid var(--linha); border-radius:var(--radius);
  box-shadow:0 14px 32px var(--sombra); padding:var(--space-2);
  min-width:170px; opacity:0; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  display:flex; flex-direction:column; gap:2px; z-index:101;
}
.nav-item-submenu:hover .nav-submenu,
.nav-item-submenu:focus-within .nav-submenu{
  opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.nav-submenu a{
  font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--verde-oliva);
  padding:9px 12px; border-radius:2px; white-space:nowrap; display:block;
}
.nav-submenu a:hover, .nav-submenu a:focus{background:var(--claro-alt);}
@media (prefers-reduced-motion: reduce){
  .nav-submenu{transition:none;}
}
.nav-cta{
  font-size:12px; letter-spacing:1.5px; text-transform:uppercase;
  border:1px solid var(--verde-oliva); color:var(--verde-oliva); padding:var(--space-2) var(--space-4);
  border-radius:var(--radius);
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.nav-cta:hover{background:var(--verde-oliva); color:var(--claro); transform:translateY(-2px);}

.nav-actions{display:flex; align-items:center; gap:var(--space-2);}
.nav-ig{
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  width:34px; height:34px; border:1px solid var(--linha); border-radius:8px;
  color:var(--verde-oliva); transition:background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease;
}
.nav-ig:hover{background:var(--verde-oliva); border-color:var(--verde-oliva); color:var(--claro); transform:translateY(-2px);}

.drawer-actions{
  display:flex; align-items:center; gap:var(--space-2);
  margin-top:auto; padding-top:var(--space-4); border-top:1px solid var(--linha);
}
.drawer-actions .btn{flex:1; min-height:44px; display:inline-flex; align-items:center; justify-content:center;}
.drawer-actions .nav-ig{width:44px; height:44px; border-radius:10px;}

.burger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:34px; height:34px; background:none; border:none; cursor:pointer; z-index:110;
}
.burger span{width:100%; height:1.5px; background:var(--verde-oliva); transition:transform .25s ease, opacity .25s ease;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.nav-overlay{
  position:fixed; inset:0; background:color-mix(in srgb, var(--verde-oliva) 45%, transparent);
  opacity:0; pointer-events:none; transition:opacity .3s ease; z-index:104;
}
.nav-overlay.open{opacity:1; pointer-events:auto;}
.nav-drawer{
  position:fixed; top:0; right:0; height:100vh; width:78vw; max-width:320px;
  background:var(--claro); box-shadow:-10px 0 40px var(--sombra);
  transform:translateX(100%); transition:transform .3s ease;
  z-index:105; padding:var(--space-16) var(--space-4) var(--space-5);
  display:flex; flex-direction:column; gap:var(--space-3);
}
.nav-drawer.open{transform:translateX(0);}
.nav-drawer a{
  font-size:15px; letter-spacing:1px; text-transform:uppercase; color:var(--verde-oliva);
  display:flex; align-items:center; min-height:44px;
}
.nav-drawer a.active{color:var(--verde-oliva);}

.nav-drawer-toggle{
  display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px;
  background:none; border:none; padding:0; font-family:inherit; cursor:pointer;
  font-size:15px; letter-spacing:1px; text-transform:uppercase; color:var(--verde-oliva);
}
.nav-drawer-toggle .chevron{
  width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); transition:transform .25s ease; flex-shrink:0;
}
.nav-drawer-toggle[aria-expanded="true"] .chevron{transform:rotate(-135deg);}
.nav-drawer-submenu{
  max-height:0; overflow:hidden; transition:max-height .3s ease;
  display:flex; flex-direction:column; padding-left:var(--space-3);
}
.nav-drawer-submenu.open{max-height:140px;}
.nav-drawer-submenu a{font-size:13px; letter-spacing:1px; padding:var(--space-2) 0; color:var(--verde-oliva); opacity:.82;}

@media (prefers-reduced-motion: reduce){
  .nav-drawer, .nav-overlay, .burger span, .nav-drawer-toggle .chevron, .nav-drawer-submenu{transition:none;}
}

/* ---------- BOTÕES ---------- */
.btn{
  padding:var(--space-2) var(--space-4); font-size:12px; letter-spacing:2px; text-transform:uppercase;
  border-radius:var(--radius); transition: background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
  display:inline-block;
}
.btn-solid{background:var(--dourado); color:var(--verde-oliva);}
.btn-solid:hover{background:var(--verde-oliva); color:var(--claro); transform:translateY(-2px); box-shadow:0 14px 30px var(--sombra);}
.btn-outline{border:1px solid var(--verde-oliva); color:var(--verde-oliva);}
.btn-outline:hover{background:var(--verde-oliva); color:var(--claro); transform:translateY(-2px);}
.btn-wa{display:inline-flex; align-items:center; gap:var(--space-2);}
.btn-wa svg{flex-shrink:0;}

@media (prefers-reduced-motion: reduce){
  .btn:hover, .nav-cta:hover, .nav-ig:hover, .contact-row:hover{transform:none;}
}

/* ---------- BOTÃO FLUTUANTE DE CONTATO ---------- */
.fab-wa{
  position:fixed; right:var(--space-3); bottom:var(--space-3); z-index:90;
  width:52px; height:52px; border-radius:50%;
  background:var(--verde-oliva); color:var(--claro);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px var(--sombra);
  opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, background .3s ease;
}
.fab-wa.visible{opacity:1; transform:translateY(0); pointer-events:auto;}
.fab-wa:hover{background:var(--verde-oliva-hover);}
.fab-wa svg{width:22px; height:22px;}
.fab-tooltip{
  position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%) translateX(6px);
  background:var(--verde-oliva); color:var(--claro); font-size:12.5px; letter-spacing:.2px; font-weight:500;
  padding:7px 13px; border-radius:6px; white-space:nowrap;
  opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
  box-shadow:0 10px 24px var(--sombra);
}
.fab-tooltip::after{
  content:''; position:absolute; left:100%; top:50%; transform:translateY(-50%);
  border:5px solid transparent; border-left-color:var(--verde-oliva);
}
@media (hover:hover) and (pointer:fine){
  .fab-wa:hover .fab-tooltip{opacity:1; transform:translateY(-50%) translateX(0);}
}
@media (max-width:600px){
  .fab-wa{right:var(--space-2); bottom:var(--space-2); width:46px; height:46px;}
  .fab-wa svg{width:20px; height:20px;}
}
@media (prefers-reduced-motion: reduce){
  .fab-wa{transition:opacity .2s linear;}
  .fab-tooltip{transition:none;}
}

/* ---------- SECTION SHARED ---------- */
section{padding:var(--section-y) 6vw; position:relative;}
.section-inner{max-width:1180px; margin:0 auto;}
.eyebrow{
  font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--verde-oliva);
  margin-bottom:var(--space-2); display:flex; align-items:center; justify-content:center; gap:10px;
}
.eyebrow::before, .eyebrow::after{content:''; width:16px; height:1px; background:var(--verde-oliva); display:inline-block; flex-shrink:0;}
.reveal{opacity:0; transform:translateY(32px);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none;}
}

/* ---------- IDENTIFICAÇÃO (Home) ---------- */
.identificacao{text-align:center; padding-top:var(--space-7); padding-bottom:var(--space-7);}
.identificacao p{
  font-family:'Lora',serif; font-style:italic; font-size:clamp(20px,2.6vw,30px);
  color:var(--verde-oliva); max-width:760px; margin:0 auto; line-height:1.5;
}

/* ---------- MOTIVOS (Home) ---------- */
.motivos-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-5); text-align:center;}
.motivo{display:flex; flex-direction:column; align-items:center; gap:var(--space-2);}
.motivo-icon{
  width:52px; height:52px; border-radius:50%; border:1px solid color-mix(in srgb, var(--verde-oliva) 35%, transparent);
  display:flex; align-items:center; justify-content:center; color:var(--verde-oliva); flex-shrink:0;
}
.motivo-icon svg{width:24px; height:24px;}
.motivo p{font-size:14px; line-height:1.6; color:var(--texto-corpo); max-width:230px;}

/* ---------- CÍRCULO CROMÁTICO ---------- */
.chroma-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:var(--space-10); align-items:center;}
.wheel-wrap{display:flex; justify-content:center;}
.wheel-svg{width:min(100%,340px); height:auto; overflow:visible;}
.wheel-rotor{
  transform-box: fill-box; transform-origin:50% 50%;
  animation: wheel-spin 60s linear infinite;
}
@keyframes wheel-spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
.wheel-svg.paused .wheel-rotor{animation-play-state:paused;}
.season{transform-box:fill-box; transform-origin:50% 50%; transition:transform .3s ease, filter .3s ease;}
.season:hover{transform:scale(1.045); filter:brightness(1.08) saturate(1.1);}
.season path{stroke:var(--claro); stroke-width:1.5;}
.wheel-label{
  font-family:'Poppins',sans-serif; font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase;
  fill:var(--verde-oliva); text-anchor:middle;
}
@media (prefers-reduced-motion: reduce){
  .wheel-rotor{animation:none;}
  .season{transition:none;}
}
.chroma-text h2{margin-bottom:var(--space-3);}
.chroma-text p{font-size:15px; line-height:1.9; color:var(--texto-corpo); margin-bottom:var(--space-4);}

/* ---------- PAGE HEADER (páginas internas) ---------- */
.page-header{
  padding:var(--space-16) 6vw var(--space-8); background:var(--claro-alt); text-align:center;
}
.page-header .eyebrow{justify-content:center;}
.page-header h1{font-size:clamp(34px,5vw,58px); line-height:1.15; max-width:820px; margin:0 auto;}
.page-header p{
  margin-top:var(--space-3); font-size:15px; line-height:1.8; color:var(--texto-suave);
  max-width:520px; margin-left:auto; margin-right:auto;
}

/* ---------- SOBRE / BIO ---------- */
.about{background:var(--claro);}
.about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:var(--space-10); align-items:center;}
.photo-frame{
  aspect-ratio:3/4; border-radius:var(--radius); position:relative; overflow:hidden;
  background:linear-gradient(160deg, var(--claro-alt) 0%, var(--claro) 100%);
  display:flex; align-items:center; justify-content:center;
  color:var(--verde-oliva); font-size:13px; letter-spacing:1px; text-align:center; padding:var(--space-3);
}
.photo-frame::before{
  content:''; position:absolute; inset:18px; border:1px solid color-mix(in srgb, var(--verde-oliva) 45%, transparent);
  border-radius:2px; pointer-events:none;
}
.photo-frame img{width:100%; height:100%; object-fit:cover; border-radius:var(--radius);}
.photo-frame figcaption{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:var(--space-3) var(--space-3) var(--space-2);
  background:linear-gradient(to top, color-mix(in srgb, var(--verde-oliva) 72%, transparent), transparent);
  color:var(--claro); font-size:12px; letter-spacing:.3px; text-align:left;
}
.about h2{font-size:clamp(28px,3vw,40px); margin-bottom:var(--space-3); line-height:1.25;}
.about p{font-size:15px; line-height:1.9; color:var(--texto-corpo); margin-bottom:var(--space-2);}
.about-quote{
  margin-top:var(--space-4); padding-left:var(--space-3); border-left:2px solid var(--dourado);
  font-family:'Lora',serif; font-style:italic; font-size:16px; color:var(--verde-oliva);
}
.about-quote.brand{font-size:19px; line-height:1.6;}

/* ---------- CARDS EM GRADE (trajetória, pilares, serviços) ---------- */
.pillars{background:var(--claro-alt);}
.pillars .eyebrow{justify-content:center;}
.pillars h2{text-align:center;}
.pillars h2{font-size:clamp(28px,3vw,38px); max-width:640px; margin:0 auto var(--space-10) auto; text-align:center; line-height:1.3;}
.pillars-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-3); align-items:stretch;}
.pillar-card{
  background:var(--claro); padding:var(--space-5) var(--space-4); border-radius:var(--radius); text-align:left;
  border-top:2px solid var(--verde-oliva); transition: transform .25s ease, box-shadow .25s ease;
  display:flex; flex-direction:column;
}
.pillar-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px var(--sombra);}
.pillar-num{font-family:'Lora',serif; font-size:34px; color:var(--claro-alt); margin-bottom:var(--space-3); font-weight:500;}
.pillar-card h3{font-size:16.5px; margin-bottom:var(--space-2);}
.pillar-card p{font-size:13px; line-height:1.7; color:var(--texto-suave);}

@media (prefers-reduced-motion: reduce){
  .pillar-card:hover{transform:none;}
}

/* ---------- RESUMO DE SERVIÇOS (Home) ---------- */
.servico-resumo-list{
  display:grid; grid-template-columns:1fr 1fr; gap:0 var(--space-8);
  max-width:900px; margin:0 auto;
}
.servico-resumo-item{
  display:flex; justify-content:space-between; align-items:baseline; gap:var(--space-3);
  padding:var(--space-3) 0; border-bottom:1px solid var(--linha);
}
.servico-resumo-item h3{font-size:15px; color:var(--verde-oliva); font-weight:500;}
.servico-resumo-item span{font-size:12px; color:var(--verde-oliva); white-space:nowrap; letter-spacing:.3px;}
@media(max-width:700px){
  .servico-resumo-list{grid-template-columns:1fr;}
}

/* ---------- SERVIÇOS ---------- */
.servicos-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-3); align-items:stretch;}
/* regra geral: se sobrar um único card sozinho na última linha desta grade de 3 colunas, centralizar em vez de alinhar à esquerda */
.servicos-grid > .servico-card:nth-child(3n+1):last-child{
  grid-column: 2;
}

.servico-destaque{
  display:grid; grid-template-columns:0.85fr 1.15fr;
  background:var(--claro); border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--linha); border-top:2px solid var(--dourado);
  margin-bottom:var(--space-6);
}
.servico-destaque-photo{overflow:hidden;}
.servico-destaque-photo img{width:100%; height:100%; object-fit:cover; min-height:220px;}
.servico-destaque-body{padding:var(--space-6); display:flex; flex-direction:column; gap:var(--space-2); justify-content:center;}
.servico-destaque-tag{font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--dourado); font-weight:600;}
.servico-destaque-body h3{font-size:23px;}
.servico-destaque-body p{font-size:14.5px; line-height:1.8; color:var(--texto-suave);}
@media(max-width:700px){
  .servico-destaque{grid-template-columns:1fr;}
}
.servico-card{
  background:var(--claro); border-radius:var(--radius); text-align:left;
  border-top:2px solid var(--verde-oliva); display:flex; flex-direction:column;
  transition: transform .25s ease, box-shadow .25s ease; overflow:hidden;
}
.servico-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px var(--sombra);}
.servico-photo{aspect-ratio:4/3; overflow:hidden;}
.servico-photo img{width:100%; height:100%; object-fit:cover;}
.servico-body{padding:var(--space-4); display:flex; flex-direction:column; gap:var(--space-2); flex-grow:1;}
.servico-card h3{font-size:18px;}
.servico-card p{font-size:13.5px; line-height:1.75; color:var(--texto-suave); flex-grow:1;}
.servico-meta{display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--verde-oliva); letter-spacing:.3px;}
.preco-servico{
  font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--verde-oliva);
  padding-top:var(--space-2); border-top:1px solid var(--linha);
}
@media (prefers-reduced-motion: reduce){
  .servico-card:hover{transform:none;}
}

/* ---------- COMO TRABALHO / PASSOS ---------- */
.process{background:var(--claro);}
.process h2{font-size:clamp(28px,3vw,38px); margin-bottom:var(--space-8); max-width:600px;}
.process-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-10); align-items:center;}
.steps{display:flex; flex-direction:column;}
.step{
  display:grid; grid-template-columns:70px 1fr; gap:var(--space-3);
  padding:var(--space-4) 0; border-bottom:1px solid var(--linha);
}
.step:first-child{border-top:1px solid var(--linha);}
.step-index{font-family:'Lora',serif; font-size:26px; color:var(--verde-oliva); font-style:italic;}
.step h3{font-size:18px; margin-bottom:var(--space-1);}
.step p{font-size:14px; color:var(--texto-suave); max-width:560px; line-height:1.8;}

/* ---------- DEPOIMENTOS (cartão claro, sem bloco de fundo escuro) ---------- */
.testimonials{background:var(--claro);}
.testimonials h2{color:var(--verde-oliva); font-size:clamp(28px,3vw,38px); margin-bottom:var(--space-8); max-width:560px;}
.t-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-3); align-items:stretch;}
.t-card{
  background:var(--claro); border:1px solid var(--linha); border-radius:var(--radius); padding:var(--space-4);
  border-top:2px solid var(--verde-oliva); transition: transform .25s ease, box-shadow .25s ease;
  display:flex; flex-direction:column;
}
.t-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px var(--sombra);}
.t-stars{color:var(--dourado); font-size:13px; letter-spacing:3px; margin-bottom:var(--space-2);}
.t-card p{font-size:14px; line-height:1.85; color:var(--texto-corpo); font-style:italic; font-family:'Lora',serif; flex-grow:1;}
.t-name{margin-top:var(--space-3); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--verde-oliva);}
@media (prefers-reduced-motion: reduce){
  .t-card:hover{transform:none;}
}

/* ---------- CONTATO ---------- */
.contact-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:var(--space-8); align-items:start;}
.contact-card{
  background:var(--claro-alt); border-radius:var(--radius); padding:var(--space-6) var(--space-5);
  border-top:2px solid var(--verde-oliva);
}
.contact-card h3{font-size:19px; margin-bottom:var(--space-2);}
.contact-card p{font-size:14px; line-height:1.85; color:var(--texto-corpo); margin-bottom:var(--space-4);}
.contact-options{display:flex; flex-direction:column; gap:var(--space-2);}
.contact-row{
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-3);
  padding:var(--space-2) var(--space-3); background:var(--claro); border-radius:var(--radius);
  border:1px solid var(--linha); cursor:pointer;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.contact-row:hover, .contact-row:focus-visible{
  background:var(--claro-alt); border-color:var(--verde-oliva);
  transform:translateY(-2px); box-shadow:0 10px 24px var(--sombra);
}
.contact-row:focus-visible{outline:2px solid var(--verde-oliva); outline-offset:2px;}
.contact-row-desc{font-size:13.5px; color:var(--texto-corpo);}
.contact-row-right{display:flex; align-items:center; gap:var(--space-3); flex-shrink:0;}
.contact-row-network{
  font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--verde-oliva);
  display:inline-flex; align-items:center; gap:6px;
}
.contact-row-network svg{flex-shrink:0;}
.contact-row-arrow{
  color:var(--verde-oliva); font-size:14px; line-height:1; opacity:.55;
  transition:transform .2s ease, opacity .2s ease;
}
.contact-row:hover .contact-row-arrow, .contact-row:focus-visible .contact-row-arrow{
  opacity:1; transform:translateX(3px);
}

/* ---------- CTA FINAL ---------- */
.final-cta{
  background:var(--claro-alt); text-align:center; padding:var(--space-16) 6vw;
  position:relative;
}
.final-cta h2{font-size:clamp(30px,4.4vw,54px); max-width:720px; margin:0 auto var(--space-4) auto; line-height:1.25;}
.final-cta p{font-size:15px; color:var(--texto-suave); max-width:460px; margin:0 auto var(--space-6) auto;}
.final-ctas{display:flex; gap:var(--space-3); justify-content:center; flex-wrap:wrap;}

/* ---------- FOOTER (fundo bronze, texto claro, mais baixo) ---------- */
footer{
  position:relative;
  background:var(--bronze); color:var(--claro);
  padding:var(--space-6) 6vw var(--space-3) 6vw;
}
.footer-logo{text-align:center; margin-bottom:var(--space-4);}
.footer-logo-img{height:40px; width:auto; margin:0 auto;}
.footer-grid{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:var(--space-5); max-width:1180px; margin:0 auto;}
footer .display{color:var(--claro); font-size:18px; margin-bottom:var(--space-1); font-weight:600;}
footer p{font-size:12.5px; color:var(--claro); max-width:280px; line-height:1.6;}
.footer-links{display:flex; gap:var(--space-8); flex-wrap:wrap;}
.footer-col h4{font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--claro); font-weight:600; margin-bottom:var(--space-2);}
.footer-col a{display:block; font-size:13px; color:var(--claro); margin-bottom:6px;}
.footer-social a{display:flex; align-items:center; gap:7px;}
.footer-social a svg{flex-shrink:0;}
@media(max-width:700px){
  .footer-grid{flex-direction:column; align-items:stretch; gap:var(--space-6); text-align:center;}
  footer p{max-width:100%; margin-left:auto; margin-right:auto;}
  .footer-links{flex-direction:column; gap:var(--space-5); width:100%;}
  .footer-col{width:100%;}
  .footer-col a{text-align:center;}
  .footer-social a{justify-content:center;}
}
.footer-bottom{
  max-width:1180px; margin:var(--space-4) auto 0 auto; padding-top:var(--space-2);
  border-top:1px solid color-mix(in srgb, var(--claro) 30%, transparent);
  font-size:11px; color:var(--claro); letter-spacing:1px;
}

@media(max-width:900px){
  .nav-links, .nav-actions{display:none;}
  .burger{display:flex;}
  .about-grid{grid-template-columns:1fr; gap:var(--space-5);}
  .process-grid{grid-template-columns:1fr; gap:var(--space-5);}
  .chroma-grid{grid-template-columns:1fr; gap:var(--space-6);}
  .pillars-grid{grid-template-columns:repeat(2,1fr);}
  .motivos-grid{grid-template-columns:repeat(2,1fr);}
  .servicos-grid{grid-template-columns:1fr;}
  .t-grid{grid-template-columns:1fr;}
  .step{grid-template-columns:50px 1fr;}
  .contact-grid{grid-template-columns:1fr;}
}

@media(max-width:480px){
  .pillars-grid, .motivos-grid{grid-template-columns:1fr;}
}
