/* Elementos de interface derivados da paleta e tipografia da marca. */
:root {
  --brand-sage: #5a706b;
  --brand-ivory: #f6f3ec;
  --brand-mist: #e7edea;
  --brand-graphite: #58595b;
  --brand-sun: #e2aa60;
}
.solid-button,
.service-button-pair .ideal-project-button,
.service-request-button,
.project-page .header-contact {
  min-height: 48px;
  border-radius: 999px;
  padding: 14px 25px;
  letter-spacing: 0;
  box-shadow: none;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
}
.solid-button,.service-button-pair .ideal-project-button {
  background: var(--brand-sage);
  color: #fff;
  border-color: var(--brand-sage);
}
.solid-button:hover,.service-button-pair .ideal-project-button:hover {
  background: #475e58;
  border-color: #475e58;
}
.service-request-button {
  color: #475e58;
  border: 1px solid #5a706b60;
  background: transparent;
}
.service-request-button:hover {background: var(--brand-mist)}
.hero-entry .hero-invitation-group .hero-secondary {
  min-height: 44px;
  padding: 10px 19px;
  border-radius: 999px;
  background: #263b3299;
  border-color: #ffffff65;
  gap: 12px;
}
.hero-entry .hero-secondary .hero-link-arrow,
.hero-entry .hero-secondary:hover .hero-link-arrow,
.hero-entry .hero-secondary:focus-visible .hero-link-arrow {
  animation: none;
  opacity: 1;
  clip-path: none;
  transform: none;
}
.house-arrows button {
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
  border-radius: 50%;
  color: var(--brand-sage);
}
.house-arrows button:hover {background: var(--brand-mist);color: #354c45}
.house-arrows .ui-icon {width: 28px;height: 28px}
.gallery-previous,.gallery-next,.gallery-close {
  border: 0;
  background: #f6f3eceb;
  color: #475e58;
}
.gallery-previous:hover,.gallery-next:hover,.gallery-close:hover {
  background: var(--brand-sage);
  color: #fff;
}
.gallery-dock {background: #f6f3eced;border-color: #ffffff90;box-shadow: none}
.environment-filters {gap: 4px 22px}
.environment-filters button {
  padding: 12px 2px;
  min-height: 46px;
  border-radius: 0;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--brand-graphite);
}
.environment-filters button:hover {background: transparent;color: #354c45}
.environment-filters button[aria-pressed=true] {
  background: transparent;
  border: 0;
  border-bottom: 2px solid var(--brand-sage);
  color: #354c45;
}
.life-section .life-choices button {border-radius: 14px;color: var(--brand-graphite)}
.life-section .life-choices button[aria-pressed=true] {background: var(--brand-mist);color: #354c45}
.life-section .life-choices button img {border-radius: 8px}
.menu-dialog {background: #f6f3ecfa;color: #475e58}
.menu-dialog nav a {font-family: 'Cormorant Garamond',serif;font-weight: 500;letter-spacing: -.02em;font-size: 42px}
.play-icon {background: #f6f3eceb;color: var(--brand-sage);box-shadow: none}
.video-card button:hover .play-icon {background: var(--brand-sage);color: #fff}
.channel-button {border-radius: 999px;box-shadow: none}
.ui-icon,.contato .card__icone svg {stroke-width: 1.4}

/* Uma conversa principal; os outros canais são links de apoio. */
.contato {
  background: var(--brand-ivory);
  color: var(--brand-graphite);
  padding: 64px 6% 44px;
  --papel: #f6f3ec;
  --papel-suave: #58595b;
}
.contato .contato__rotulo {color: #475e58;font-size: 14px;letter-spacing: 0;margin-bottom: 14px}
.contato h2 {color: #475e58;max-width: 26ch;font-size: clamp(34px,4vw,54px);margin-bottom: 36px}
.contato .contato__cards {display: grid;grid-template-columns: 1.15fr 1fr;gap: 0 64px}
.contato .card-wrap {perspective: none;min-width: 0}
.contato .card-wrap:first-child {grid-column: 1;grid-row: 1 / 4}
.contato .card-wrap:nth-child(n+2) {grid-column: 2}
.contato .card {
  transform: none;
  transition: background-color .2s ease;
  box-shadow: none;
  filter: none;
}
.contato .card::before,.contato .card::after,.contato .card__onda {display: none}
.contato .card-wrap:first-child .card {
  min-height: 100%;
  padding: 32px;
  border: 0;
  border-radius: 24px;
  background: var(--brand-sage);
  color: #fff;
  align-items: flex-start;
}
.contato .card-wrap:first-child .card:hover {background: #50665f;transform: none;box-shadow: none}
.contato .card-wrap:first-child .card__icone {color: #fff;width: 32px;height: 32px;margin-bottom: 8px}
.contato .card-wrap:first-child .card__titulo {font-size: 36px;color: #fff;padding-top: 12px}
.contato .card-wrap:first-child .card__detalhe {color: #fff;font-size: 15px;margin-top: 8px}
.contato .card-wrap:first-child .card__acao {
  margin-top: 28px;
  padding: 13px 18px;
  background: var(--brand-ivory);
  color: #354c45;
  border-radius: 999px;
  font-size: 13px;
  width: auto;
  gap: 16px;
}
.contato .card-wrap:nth-child(n+2) .card,
.contato .card-wrap:nth-child(n+2) .card:hover {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 26px;
  column-gap: 16px;
  row-gap: 5px;
  padding: 19px 0;
  min-height: 0;
  background: transparent;
  color: var(--brand-graphite);
  border: 0;
  border-bottom: 1px solid #5a706b30;
  border-radius: 0;
  transform: none;
  box-shadow: none;
}
.contato .card-wrap:nth-child(2) .card {padding-top: 6px}
.contato .card-wrap:nth-child(n+2) .card__icone {grid-column: 1;grid-row: 1 / 3;width: 26px;height: 26px;align-self: center;color: #475e58}
.contato .card-wrap:nth-child(n+2) .card__titulo {grid-column: 2;grid-row: 1;font: 500 17px/1.5 'Montserrat',sans-serif;padding: 0;color: #475e58}
.contato .card-wrap:nth-child(n+2) .card__detalhe {grid-column: 2;grid-row: 2;color: var(--brand-graphite);font-size: 13px;margin: 0}
.contato .card-wrap:nth-child(n+2) .card__acao {grid-column: 3;grid-row: 1 / 3;padding: 0;font-size: 0;align-self: center}
.contato .card__seta,.contato .card:hover .card__seta {width: 24px;height: 24px;border: 0;background: transparent;color: inherit;transform: none;box-shadow: none}
.contato .card__seta svg,.contato .card:hover .card__seta svg {width: 22px;height: 22px;transform: none;stroke-width: 1.4}
.contato .card-wrap:nth-child(n+2) .card .card__seta,
.contato .card-wrap:nth-child(n+2) .card:hover .card__seta {color: #475e58;background: transparent}
.contato .card__icone,.contato .card:hover .card__icone {background: transparent;box-shadow: none;transform: none;border: 0}
.contato .contato__nota {color: var(--brand-graphite);font-size: 13px;margin-top: 26px}
.contato .contato__formulario {color: #475e58;margin-top: 26px}
.contato .contato__formulario summary {color: #475e58;font-size: 13px;min-height: 44px;padding-top: 10px}
.contato .contato__formulario input,.contato .contato__formulario textarea {background: #fff;color: var(--brand-graphite);border: 1px solid #5a706b70;border-radius: 10px}
.contato .contato__formulario .button {border-radius: 999px;background: var(--brand-sage);color: #fff;border: 0}
.contato .card:focus-visible,.contato summary:focus-visible {outline: 2px solid #475e58;outline-offset: 5px}
.house-arrows button:focus-visible,.environment-filters button:focus-visible {outline: 2px solid var(--brand-sage);outline-offset: 3px}
@media(max-width:700px) {
  .contato {padding: 46px 6% 30px}
  .contato h2 {font-size: 36px;margin-bottom: 28px}
  .contato .contato__cards {grid-template-columns: 1fr;gap: 0}
  .contato .card-wrap:first-child {grid-column: 1;grid-row: auto;margin-bottom: 24px}
  .contato .card-wrap:nth-child(n+2) {grid-column: 1}
  .contato .card-wrap:first-child .card {padding: 26px;min-height: 0}
  .contato .card-wrap:first-child .card__titulo {font-size: 32px}
  .contato .card-wrap:first-child .card__acao {margin-top: 24px;font-size: 12px;gap: 10px}
  .contato .contato__formulario {grid-column: 1 / -1;grid-row: auto}
  .contato .contato__nota {grid-column: 1 / -1;grid-row: auto;justify-self: start;text-align: left;margin-top: 4px}
  .environment-filters {gap: 4px 16px}
  .environment-filters button {font-size: 12px}
}
@media(prefers-reduced-motion:reduce) {.contato .card {transition: none}}
