.problemas-list .dash {
  flex: 0 0 auto;
  width: 20px;
  height: 2px;
  background: var(--accent);
  margin-top: 11px;
}
.servico-row-imagem {
  
  margin: 14px 0 30px;
  aspect-ratio: 16 / 10;
  
  background: var(--accent);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.servico-row-imagem img { width: 100%; height: 100%; object-fit: cover; display: block; }
.servico-row-imagem-nota {
  font-family: 'Gintronic', sans-serif;
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--accent-text);
}
@media (min-width: 900px) {
  .servico-row-conteudo { flex-direction: row; align-items: flex-start; gap: 56px; }
  .servico-row-texto { flex: 1 1 55%; min-width: 0; }
  .servico-row-imagem { flex: 0 0 38%; margin-left: auto; }
}
.contato-hero .container {
  position: relative;
  z-index: 1;
  padding-top: calc(var(--header-h) + 40px);
  padding-bottom: 64px;
}
.contato-eyebrow { color: var(--accent); margin: 0 0 28px; }
.contato-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 44px;
}
@media (min-width: 900px) {
  .contato-hero .container { padding-top: calc(var(--header-h) + 64px); padding-bottom: 96px; }
  .contato-grid { grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
}
.porque-texto { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.porque-titulo { font-size: clamp(26px, 2.2vw + 16px, 40px); line-height: 1.2; font-weight: 500; color: var(--nearwhite); margin: 0; }
.porque-figura { border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 5; }
.porque-figura img { width: 100%; height: 100%; object-fit: cover; display: block; }
.contato-lista { display: flex; flex-direction: column; width: 100%; border-top: 1px solid var(--line-dark); }
.contato-item { padding: 14px 0; border-bottom: 1px solid var(--line-dark); display: flex; flex-direction: column; gap: 5px; }
.contato-rotulo {
  font-family: 'Gintronic', sans-serif; font-size: 12px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--accent); margin: 0;
}
.contato-valor { font-size: 16px; line-height: 1.4; color: var(--nearwhite); margin: 0; font-weight: 400; }
.contato-valor a { color: inherit; text-decoration: none; }
.contato-valor a:hover { text-decoration: underline; text-underline-offset: 3px; }
.contato-link-whats {
  display: inline-flex; align-items: center; gap: 7px;
  color: var(--accent); text-decoration: underline; text-underline-offset: 3px;
}
.contato-link-whats:hover { color: var(--nearwhite); }
.contato-link-whats svg { flex: 0 0 auto; }
.contato-instagram { font-size: 15px; line-height: 1.6; color: var(--hero-ink); opacity: .85; margin: 0; }
.contato-instagram a {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--accent); text-decoration: underline; text-underline-offset: 3px;
}
.contato-instagram a:hover { color: var(--nearwhite); }
.contato-instagram svg { flex: 0 0 auto; }
.js .entra { opacity: 0; transform: translateY(12px); transition: opacity .4s ease, transform .4s ease; }
.js .entra.is-visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .entra { opacity: 1; transform: none; transition: none; }
}

/* ---------- Formulario de contato ---------- */
/* ---------- Formulario de contato, na coluna dos canais ---------- */
.contato-form-bloco { width: 100%; }
.contato-form-bloco .contato-rotulo { margin: 4px 0 6px; }
.contato-form-texto { font-size: 16px; line-height: 1.5; color: var(--hero-ink); opacity: .85; margin: 0 0 16px; }

.contato-form { display: flex; flex-direction: column; gap: 12px; }
.contato-form-linha { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 560px) { .contato-form-linha { grid-template-columns: 1fr 1fr; } }

.contato-form .form-campo { display: flex; flex-direction: column; gap: 4px; }
.contato-form .form-rotulo { font-family: 'Gintronic', sans-serif; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; font-weight: 400; color: var(--hero-ink); opacity: .85; }
.contato-form .form-obrigatorio { font-size: 11px; letter-spacing: 0; text-transform: none; color: var(--ink-faded); margin-left: 6px; }
.contato-form input[type="text"],
.contato-form input[type="email"],
.contato-form input[type="tel"],
.contato-form select,
.contato-form textarea {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: var(--nearwhite);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(237,234,226,.28);
  border-radius: 10px;
  padding: 10px 12px;
  width: 100%;
  box-sizing: border-box;
}
.contato-form select { appearance: none; -webkit-appearance: none; padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EDEAE2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 14px; }
.contato-form select option { color: var(--ink); background: var(--nearwhite); }
.contato-form select:invalid { color: var(--ink-faded); }
.contato-form textarea { resize: vertical; min-height: 84px; line-height: 1.5; }
.contato-form input:focus-visible, .contato-form select:focus-visible, .contato-form textarea:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 1px; border-color: transparent;
}
.contato-form ::placeholder { color: var(--ink-faded); }

.contato-form-rodape { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; margin-top: 2px; }
.contato-form .btn-primary { background: var(--nearwhite); color: var(--ink); }
.contato-form .btn-primary:hover { background: var(--accent); color: var(--ink); }
.contato-form-consent { font-size: 12px; line-height: 1.5; color: var(--ink-faded); margin: 0; max-width: 520px; }
.contato-form-consent a { color: var(--accent); }

.contato-form .form-status {
  margin: 0; padding: 12px 16px; border-left: 3px solid var(--accent);
  background: rgba(195,229,216,.10); font-size: 15px; line-height: 1.5; color: var(--nearwhite);
}
.contato-form .form-status.is-erro { border-left-color: #E07A70; color: #F3B5AE; background: rgba(224,122,112,.10); }

/* Telefone e WhatsApp lado a lado; a foto estica ate a altura da coluna de
   conteudo, para os dois blocos terminarem juntos. */
.contato-linha-dupla { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.contato-linha-dupla .contato-item { border-bottom: 1px solid var(--line-dark); }
@media (max-width: 479px) { .contato-linha-dupla { grid-template-columns: 1fr; } }
@media (min-width: 900px) {
  .contato-grid { align-items: stretch; }
  .porque-figura { aspect-ratio: auto; height: 100%; }
  .porque-figura img { object-position: center top; }
}
