.site-header {
  position: fixed;
  z-index: 50;
  inset: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 4.25rem;
  padding: 0 var(--page);
  color: #f7f3ec;
  background: rgba(23,23,21,.9);
  border-bottom: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(16px);
}

.site-header__brand {
  justify-self: start;
  display: flex;
  gap: .68rem;
  align-items: baseline;
  color: #f7f3ec;
  font-family: Arial,Helvetica,sans-serif;
  text-decoration: none;
}

.site-header__brand span {
  font-family: "Times New Roman",Times,serif;
  font-size: 1.42rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.site-header__brand small {
  color: #aaa69f;
  font-family: Arial,Helvetica,sans-serif;
  font-size: .52rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .11em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header nav { display: flex; gap: 2rem; }
.site-header nav a,
.site-header__cta {
  color: #f7f3ec;
  font-family: Arial,Helvetica,sans-serif;
  font-size: .68rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
}

.site-header__cta {
  justify-self: end;
  padding: .75rem 1rem;
  border: 1px solid rgba(255,255,255,.42);
}

.site-footer {
  display: grid;
  grid-template-columns: .6fr .8fr 1.6fr;
  gap: clamp(1.5rem,4vw,4rem);
  align-items: start;
  padding: 2rem var(--page);
  color: #aaa69f;
  background: #171715;
  font-family: Arial,Helvetica,sans-serif;
  font-size: .58rem;
  letter-spacing: .06em;
  line-height: 1.55;
  text-transform: uppercase;
}

.site-footer > a {
  color: #f7f3ec;
  font-family: "Times New Roman",Times,serif;
  font-size: 1.3rem;
  font-style: italic;
  text-decoration: none;
  text-transform: none;
}

.site-footer p { margin: 0; }
.site-footer__identity { display: grid; gap: .25rem; }
.site-footer__legal { max-width: 70rem; color: #7f7b74; text-transform: none; }

@media (max-width: 980px) {
  .site-header nav { display: none; }
  .site-footer { grid-template-columns: 1fr 1.5fr; }
  .site-footer__legal { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .site-header { min-height: 4rem; }
  .site-header__brand small { display: none; }
  .site-header__cta { padding: .7rem .8rem; font-size: .6rem; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer__legal { grid-column: 1; }
}

/* ---------------------------------------------------------------------------
   Contratação direta — 20 de agosto de 2026
   Duas ações no mesmo lugar: contratar e conversar. A segunda é vazada para
   não competir com a primeira, mas continua com contraste de leitura.
--------------------------------------------------------------------------- */

.button--ghost {
  color: var(--ink);
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(23, 23, 21, .28);
}
.button--ghost:hover { box-shadow: inset 0 0 0 1px var(--ink); }

.contact__action .button + .button,
.calculator__result .button + .button,
.consumer-calculator__result .button + .button { margin-top: .6rem; }

.contact__action .button,
.calculator__result .button,
.consumer-calculator__result .button { width: 100%; }

/* O atributo hidden perde para o display do .button sem isto. */
.calculator__result .button[hidden],
.consumer-calculator__result .button[hidden] { display: none; }
