/* ============================================================
   DESIGN SYSTEM V3 ("corporate fun")
   Base creme quente, verde vivo da marca + acentos coral e sol,
   tipografia Sora (títulos) e Inter (texto), cantos generosos,
   cards flutuantes com sombra suave. Contraste WCAG AA mantido.
   ============================================================ */

/* FontAwesome: re-declaração com font-display: swap para os ícones
   aparecerem logo (o CSS externo não declara font-display). */
@font-face{
  font-family:"Font Awesome 6 Free";
  font-style:normal;font-weight:900;font-display:swap;
  src:url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2") format("woff2");
}
@font-face{
  font-family:"Font Awesome 6 Brands";
  font-style:normal;font-weight:400;font-display:swap;
  src:url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.woff2") format("woff2");
}

:root {
  --fundo:        #fdf9f2;
  --fundo-suave:  #f6eee0;
  --ink:          #22301e;
  --ink-suave:    #5d6a55;
  --verde:        #2f7d51;
  --verde-claro:  #37915f;
  --verde-noite:  #16301f;
  --whatsapp:     #0f8a47;
  --salvia:       #f2764b;   /* acento coral */
  --sol:          #ffc94d;
  --sol-suave:    #fff3d2;
  --coral-suave:  #ffe8db;
  --folha:        #e6f0e0;
  --linha:        #ecdfca;
  --branco:       #ffffff;
  --sombra-sm:    0 6px 18px rgba(34, 48, 30, .08);
  --sombra-md:    0 14px 34px rgba(34, 48, 30, .12);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--ink);
  letter-spacing: -.01em;
  /* Brilhos ancorados em px a partir do topo: atravessam o hero
     e a faixa de confiança sem corte entre as seções */
  background:
    radial-gradient(640px 520px at calc(100% - 20px) 60px, var(--sol-suave) 0%, transparent 68%),
    radial-gradient(580px 520px at -90px 940px, var(--folha) 0%, transparent 70%),
    var(--fundo);
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3 {
  font-family: "Sora", "Inter", "Segoe UI", sans-serif;
  color: var(--ink);
  line-height: 1.18;
  letter-spacing: -.02em;
  font-weight: 700;
}

h1 { font-size: clamp(2.1rem, 4.8vw, 3.4rem); }
h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); }
h3 { font-size: 1.2rem; letter-spacing: -.01em; }

p + p { margin-top: 1em; }

strong { font-weight: 700; }

::selection { background: var(--sol); color: var(--ink); }

a { color: var(--verde); text-decoration-thickness: 1.5px; text-underline-offset: 4px; }

:focus-visible {
  outline: 3px solid var(--verde);
  outline-offset: 3px;
  border-radius: 4px;
}

.container { max-width: 1140px; margin-inline: auto; padding-inline: 24px; }

section { padding-block: 96px; }

@media (max-width: 720px) { section { padding-block: 64px; } }

.pular-conteudo {
  position: absolute;
  left: -999px;
  top: 10px;
  z-index: 1000;
  background: var(--verde);
  color: var(--branco);
  padding: 12px 20px;
  border-radius: 0 0 10px 0;
}
.pular-conteudo:focus { left: 12px; }

/* ===================== BOTÕES: pílula, com leve elevação ===================== */
.botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 13px 32px;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.botao:hover { transform: translateY(-2px); box-shadow: var(--sombra-md); }
.botao:active { transform: translateY(0); box-shadow: none; }
.botao-escuro { background: var(--verde); color: var(--branco); }
.botao-escuro:hover { background: var(--verde-claro); }
.botao-whatsapp { background: var(--whatsapp); color: var(--branco); }
.botao-whatsapp:hover { background: #0c7038; }
.botao-linha { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 2px var(--linha); }
.botao-linha:hover { box-shadow: inset 0 0 0 2px var(--verde), var(--sombra-sm); }
.botao-claro { background: var(--branco); color: var(--ink); }
.botao-claro:hover { background: #fdf3e0; }

/* ===================== CABEÇALHO: único, translúcido ===================== */
header.site-header {
  position: sticky;
  top: 0;
  z-index: 500;
  background: rgba(253, 249, 242, .9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--linha);
}
.nav-principal {
  display: flex;
  align-items: center;
  gap: 32px;
  min-height: 78px;
}
.logo { font-family: "Sora", "Inter", sans-serif; font-size: 1.45rem; font-weight: 800; color: var(--ink); text-decoration: none; letter-spacing: -.02em; }
.logo span { font-weight: 400; color: var(--verde); }
header.site-header nav { margin-left: auto; }
.nav-links { list-style: none; display: flex; gap: 4px; align-items: center; margin-left: auto; }
.nav-links a:not(.botao) {
  display: block;
  padding: 9px 16px;
  color: var(--ink-suave);
  font-weight: 600;
  text-decoration: none;
  border-radius: 999px;
  white-space: nowrap;
  transition: background-color .15s ease, color .15s ease;
}
.nav-links a:not(.botao):hover { background: var(--folha); color: var(--ink); }
.nav-acoes { display: flex; align-items: center; gap: 20px; }
.fone-header {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
  font-size: .98rem;
}
.fone-header i { color: var(--verde); }
.fone-header:hover { color: var(--verde); }
.nav-acoes .botao { min-height: 46px; padding: 9px 24px; font-size: .98rem; }

/* ===================== HERO: sem fundo próprio, o brilho vem do body ===================== */
.hero { padding-block: 104px 88px; }
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.eyebrow {
  color: var(--ink-suave);
  font-weight: 600;
  font-size: .92rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.eyebrow::before {
  content: "";
  width: 40px;
  height: 4px;
  border-radius: 999px;
  background: var(--salvia);
}
.hero p.destaque { font-size: 1.2rem; color: var(--ink-suave); margin-top: 26px; }
.hero-acoes { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 38px; }
.nota-cta { font-size: .95rem; color: var(--ink-suave); margin-top: 16px; }
.hero-foto { position: relative; }
.hero-foto::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: -24px;
  bottom: -26px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: var(--sol);
}
.hero-foto::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -18px;
  top: -20px;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 3px dashed var(--salvia);
}
.hero-foto img {
  position: relative;
  z-index: 1;
  border-radius: 36px 140px 36px 140px;
  aspect-ratio: 4/5;
  object-fit: cover;
  width: 100%;
}

/* ===================== FAIXA DE CONFIANÇA: pílulas flutuantes ===================== */
.confianca { padding-block: 0 0; margin-bottom: -40px; }
.confianca ul {
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.confianca li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  font-size: .98rem;
  background: var(--branco);
  border-radius: 999px;
  padding: 12px 24px;
  box-shadow: var(--sombra-sm);
}
.confianca li:nth-child(even) i { color: var(--salvia); }
.confianca i { color: var(--verde); font-size: 1.15rem; }

/* ===================== SEÇÕES ===================== */
.suave { background: var(--fundo-suave); }

.cabecalho-secao { max-width: 44em; margin: 0 auto 56px; text-align: center; }
.cabecalho-secao .kicker {
  display: inline-block;
  background: var(--folha);
  color: var(--verde);
  padding: 8px 18px;
  border-radius: 999px;
  font-weight: 700;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 18px;
}
section:nth-of-type(even) .cabecalho-secao .kicker { background: var(--coral-suave); color: #b95427; }
.cabecalho-secao > p:not(.kicker) { margin-top: 14px; color: var(--ink-suave); margin-inline: auto; }

.duas-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.duas-colunas img { border-radius: 26px; }

.chamada-box {
  background: var(--folha);
  border-radius: 22px;
  padding: 24px 28px;
  margin-top: 32px;
  color: var(--ink);
}

/* ===================== CARROSSEL: foto central + prévia das vizinhas ===================== */
.carrossel { --slide-largura: min(76%, 1020px); --slide-respiro: 16px; }
.carrossel-trilha {
  list-style: none;
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.carrossel-trilha::-webkit-scrollbar { display: none; }
.carrossel-slide {
  flex: 0 0 var(--slide-largura);
  scroll-snap-align: center;
  padding-inline: var(--slide-respiro);
  box-sizing: border-box;
}
.carrossel-slide figure { margin: 0; }
.carrossel-slide img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  border-radius: 28px;
  display: block;
}
.carrossel-slide figcaption {
  padding: 14px 6px 4px;
  font-size: .95rem;
  color: var(--ink-suave);
  font-weight: 600;
  text-align: center;
}
.carrossel-controles {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin-top: 22px;
}
.car-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  background: var(--branco);
  color: var(--ink);
  font-size: 1.05rem;
  cursor: pointer;
  box-shadow: var(--sombra-sm);
  transition: box-shadow .15s ease, color .15s ease, transform .15s ease;
  display: grid;
  place-items: center;
}
.car-btn:hover { color: var(--verde); box-shadow: var(--sombra-md); transform: translateY(-2px); }
.car-dots { display: flex; gap: 8px; align-items: center; }
.car-dots button {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: none;
  background: #d9cbb0;
  cursor: pointer;
  padding: 0;
  transition: background-color .2s ease, width .2s ease;
}
.car-dots button.ativo { width: 30px; background: var(--verde); }
.carrossel-trilha:focus-visible { outline-offset: -3px; }

/* ===================== SERVIÇOS: cards flutuantes com chips coloridos ===================== */
.servicos-grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;   /* todas as fileiras com a mesma altura */
  gap: 14px;
}
.servico-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  background: var(--branco);
  border-radius: 20px;
  padding: 26px 24px;
  font-weight: 600;
  color: var(--ink);
  font-size: 1.02rem;
  box-shadow: var(--sombra-sm);
  transition: transform .15s ease, box-shadow .15s ease;
}
.servico-card:hover { transform: translateY(-4px); box-shadow: var(--sombra-md); }
.servico-card i {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 1.3rem;
  background: var(--folha);
  color: var(--verde);
}
.servico-card:nth-child(3n+2) i { background: var(--sol-suave); color: #a97a12; }
.servico-card:nth-child(3n) i { background: var(--coral-suave); color: #c05a2a; }
.lista-nota { margin-top: 18px; font-size: .95rem; font-style: italic; color: var(--ink-suave); }

/* ===================== COMO TRABALHAMOS: itens com fio superior ===================== */
.trabalho-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px 36px;
}
.trab-item { border-top: 1px solid var(--linha); padding-top: 28px; }
.trab-cabeca { display: flex; align-items: center; gap: 12px; }
.trab-cabeca i {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  background: var(--folha);
  color: var(--verde);
}
.trab-item:nth-child(even) .trab-cabeca i { background: var(--coral-suave); color: #c05a2a; }
.trab-cabeca h3 { margin: 0; }
.trab-item p { font-size: 1.02rem; color: var(--ink-suave); margin-top: 10px; }

/* ===================== VALOR: banda verde-noite com brilhos ===================== */
.valor-band {
  background:
    radial-gradient(circle at 85% 12%, rgba(255, 201, 77, .16) 0%, transparent 42%),
    radial-gradient(circle at 8% 92%, rgba(242, 118, 75, .14) 0%, transparent 46%),
    var(--verde-noite);
  color: #e7ebe6;
  text-align: center;
}
.valor-band h2 { color: var(--branco); }
.preco-aviso { font-size: 1.1rem; color: #bcd3bd; margin-top: 18px; }
.preco { font-family: "Sora", "Inter", sans-serif; font-size: clamp(2.4rem, 5vw, 3.4rem); font-weight: 800; color: var(--sol); margin: 4px 0 4px; letter-spacing: -.03em; }
.preco small { font-size: 1.05rem; font-weight: 400; color: #bcd3bd; letter-spacing: 0; }
.valor-nota { color: #bcd3bd; font-size: .98rem; margin-inline: auto; }
.valor-inclui { list-style: none; display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; margin: 30px 0 38px; font-size: 1rem; }
.valor-inclui i { color: var(--sol); margin-right: 8px; }
.valor-acoes { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }

/* ===================== PASSOS: numeração grande e clara ===================== */
.passos {
  list-style: none;
  counter-reset: passo;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.passos li { counter-increment: passo; }
.passos li::before {
  content: "0" counter(passo);
  display: block;
  font-family: "Sora", "Inter", sans-serif;
  font-size: 2.6rem;
  font-weight: 800;
  color: var(--salvia);
  letter-spacing: -.04em;
  line-height: 1;
  margin-bottom: 18px;
}
.passos p { color: var(--ink-suave); font-size: 1.02rem; margin-top: 10px; }

/* ===================== FAQ: cards brancos flutuantes ===================== */
.faq-lista { max-width: 800px; margin: 0 auto; }
.faq-lista details {
  background: var(--branco);
  border-radius: 18px;
  box-shadow: var(--sombra-sm);
  padding: 0 14px;
  margin-bottom: 14px;
}
.faq-lista summary {
  cursor: pointer;
  padding: 20px 10px;
  font-weight: 600;
  color: var(--ink);
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 52px;
  list-style: none;
}
.faq-lista summary:hover { color: var(--verde); }
.faq-lista details[open] summary { color: var(--verde); }
.faq-lista summary::-webkit-details-marker { display: none; }
.faq-lista summary::after {
  content: "\2b";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--salvia);
  font-size: 1.1rem;
  transition: transform .2s ease;
  flex-shrink: 0;
}
.faq-lista details[open] summary::after { transform: rotate(45deg); }
.faq-lista details p { padding: 0 10px 24px; color: var(--ink-suave); }

/* ===================== CONTATO ===================== */
.contato-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; }

.contato-info {}
.info-bloco {
  background: var(--branco);
  border-radius: 20px;
  padding: 26px 28px;
  margin-bottom: 16px;
  box-shadow: var(--sombra-sm);
}
.info-bloco h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .92rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--ink-suave);
  font-weight: 600;
  margin-bottom: 10px;
}
.info-bloco h3 i { color: var(--verde); font-size: 1rem; }
.info-bloco p { font-size: 1.05rem; }
.info-bloco .destaque-numero { font-size: 1.45rem; font-weight: 700; letter-spacing: -.02em; }
.info-bloco .botao { margin-top: 14px; }

.form-ficha {
  background: var(--branco);
  border-radius: 24px;
  padding: 44px 40px;
  box-shadow: 0 20px 60px rgba(35, 42, 37, .07);
}
.form-ficha .form-header {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: -.01em;
  margin-bottom: 6px;
}
.form-ficha .form-sub { color: var(--ink-suave); font-size: .98rem; margin-bottom: 34px; }

.form-ficha fieldset { border: none; margin-bottom: 30px; }
.form-ficha legend {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.form-ficha legend i { color: var(--verde); font-size: .95rem; }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.campo { display: flex; flex-direction: column; gap: 7px; margin-bottom: 4px; }
.campo label, .campo .campo-label { font-size: .93rem; font-weight: 600; color: var(--ink-suave); }
.campo input, .campo select, .campo textarea {
  font-family: inherit;
  font-size: 1rem;
  padding: 13px 16px;
  border: 2px solid transparent;
  border-radius: 14px;
  background: var(--fundo-suave);
  color: var(--ink);
  min-height: 50px;
  width: 100%;
}
.campo input::placeholder, .campo textarea::placeholder { color: #a89e8c; }
.campo input:focus, .campo select:focus, .campo textarea:focus {
  outline: none;
  background: var(--branco);
  border-color: var(--verde);
  box-shadow: 0 0 0 4px rgba(47, 125, 81, .15);
}
.campo textarea { min-height: 100px; resize: vertical; }

.escolha { display: flex; gap: 26px; align-items: center; min-height: 50px; }
.escolha label { font-weight: 500; color: var(--ink); font-size: 1rem; display: inline-flex; align-items: center; gap: 9px; cursor: pointer; }
.escolha input[type="radio"] { width: 21px; height: 21px; accent-color: var(--verde); }

.form-footer { text-align: left; }
.form-footer .botao { width: 100%; }
.form-footer .privacidade { font-size: .9rem; color: var(--ink-suave); margin-top: 16px; }

/* ===================== WHATSAPP FLUTUANTE: círculo com pulso ===================== */
.whats-flutuante {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  background: var(--whatsapp);
  color: var(--branco);
  border-radius: 50%;
  font-size: 1.7rem;
  filter: drop-shadow(0 10px 24px rgba(15, 138, 71, .4));
  animation: pulso-whats 2.8s infinite;
  z-index: 900;
  transition: transform .15s ease;
}
.whats-flutuante:hover { transform: translateY(-3px); }
@keyframes pulso-whats {
  0% { box-shadow: 0 0 0 0 rgba(15, 138, 71, .45); }
  70% { box-shadow: 0 0 0 18px rgba(15, 138, 71, 0); }
  100% { box-shadow: 0 0 0 0 rgba(15, 138, 71, 0); }
}

/* ===================== FOOTER: verde-noite acolhedor ===================== */
footer { background: var(--verde-noite); color: #cbd8c9; padding: 72px 0 28px; font-size: .97rem; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px; }
footer h2 { color: var(--branco); font-size: 1.05rem; margin-bottom: 16px; letter-spacing: -.01em; }
footer a { color: #cbd8c9; }
footer a:hover { color: var(--sol); }
footer ul { list-style: none; }
footer li { margin-bottom: 10px; }
.footer-base {
  border-top: 1px solid rgba(255,255,255,.14);
  margin-top: 52px;
  padding-top: 24px;
  font-size: .85rem;
  color: #93a893;
}

/* ===================== RESPONSIVO ===================== */
@media (max-width: 1100px) {
  .servicos-grid { grid-template-columns: repeat(2, 1fr); }
  .trabalho-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .hero { padding-block: 64px; }
  .hero-grid, .duas-colunas, .contato-grid { grid-template-columns: 1fr; gap: 44px; }
  .hero-foto { order: -1; }
  .hero-foto::before, .hero-foto::after { display: none; }
  .hero-foto img { aspect-ratio: 4/3; border-radius: 28px; }
  .passos { grid-template-columns: 1fr; gap: 30px; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .confianca ul { justify-content: center; gap: 14px 28px; }
  .carrossel { --slide-largura: 86%; --slide-respiro: 8px; }
  .carrossel-slide img { border-radius: 16px; }

  /* Conteúdo empilhado no mobile: tudo centrado para equilibrar a página */
  .hero-grid > div { text-align: center; }
  .eyebrow { justify-content: center; }
  .hero p.destaque { margin-inline: auto; }
  .hero-acoes { justify-content: center; }
  .nota-cta { margin-inline: auto; }
  .duas-colunas > div { text-align: center; }
  .chamada-box { padding: 20px 22px; }
  .trab-item { text-align: center; }
  .trab-cabeca { justify-content: center; }
  .passos li { text-align: center; }
  .passos li::before { margin-inline: auto; }
  .info-bloco { text-align: center; }
  .info-bloco h3 { justify-content: center; }
  .lista-nota { text-align: center; }
  .form-ficha .form-header, .form-ficha .form-sub { text-align: center; }
  .servico-card { align-items: center; text-align: center; }
  .faq-lista summary { justify-content: center; gap: 14px; }
  .faq-lista details p { text-align: center; }
  .footer-grid { text-align: center; }

  /* Cabeçalho em duas linhas: logo + ações em cima, links rolam embaixo */
  .nav-principal { flex-wrap: wrap; min-height: 66px; column-gap: 16px; row-gap: 0; }
  .logo { order: 1; }
  .nav-acoes { order: 2; margin-left: auto; gap: 14px; }
  header nav { order: 3; flex-basis: 100%; margin-inline: -24px; border-top: 1px solid var(--linha); }
  .nav-links {
    flex-basis: 100%;
    margin-left: 0;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-inline: 24px;
    padding-block: 8px;
  }
  .nav-links::-webkit-scrollbar { display: none; }
}
@media (max-width: 640px) {
  .trabalho-grid { grid-template-columns: 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .fone-header { display: none; }
  .servicos-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  section { padding-block: 56px; }
  .hero { padding-block: 48px; }
  .hero-acoes .botao, .valor-acoes .botao { width: 100%; }
  .form-ficha { padding: 30px 22px; border-radius: 18px; }
  .confianca li { font-size: .88rem; }
  .whats-flutuante {
    width: 54px;
    height: 54px;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom));
    font-size: 1.5rem;
    border-radius: 50%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ===================== ADIÇÕES MULTI-PÁGINA ===================== */
.fone-header i { color: var(--whatsapp); }
.nav-links a[aria-current="page"] { background: var(--folha); color: var(--verde); }
.sem-italico { font-style: normal; }
.info-nota { font-size: .97rem; color: var(--ink-suave); }
.footer-destaque { color: #dfe4df; }

/* utilitário: texto visível só para leitores de tela */
.sem-visual {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Campo anti-spam (honeypot): invisível para humanos */
.hp-campo { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Grade de 3 colunas para páginas internas */
.trabalho-grid.tres { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .trabalho-grid.tres { grid-template-columns: 1fr; gap: 30px; } }

/* Cabeçalho compacto das páginas internas */
.hero-mini { padding-block: 72px 8px; }
.hero-mini .cabecalho-secao { margin-bottom: 40px; }

/* Página de agradecimento */
.obrigado-wrap { max-width: 660px; margin-inline: auto; text-align: center; padding-block: 88px 56px; }
.obrigado-icone {
  width: 92px; height: 92px; border-radius: 50%;
  background: var(--folha); color: var(--verde);
  display: grid; place-items: center;
  font-size: 2.3rem; margin: 0 auto 26px;
  box-shadow: var(--sombra-sm);
}
.aviso-erro {
  display: none;
  background: var(--coral-suave); color: #9c4517;
  border-radius: 14px; padding: 14px 18px;
  margin-top: 24px; font-weight: 600;
}

/* ============================================================
   FORMULÁRIO: feedback inline de envio (sucesso/erro)
   ============================================================ */

.form-status {
  padding: 14px 18px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.45;
  margin-bottom: 18px;
  border: 1px solid transparent;
}

.form-status.ok {
  background: #e9f6ee;
  color: #1d5c38;
  border-color: #bfe3cd;
}

.form-status.erro {
  background: #fdeeee;
  color: #8f2f2f;
  border-color: #f2cfcf;
}

.form-status[hidden] { display: none; }
