/* Tipografia oficial do site. */
@font-face {
  font-family: "JUST Sans";
  src: url("../fonts/just-sans/JUSTSans-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "JUST Sans";
  src: url("../fonts/just-sans/JUSTSans-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "JUST Sans";
  src: url("../fonts/just-sans/JUSTSans-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "JUST Sans";
  src: url("../fonts/just-sans/JUSTSans-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "The Serifon Editorial";
  src: url("../fonts/serifon/TheSerifonEditorial-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "The Serifon Editorial";
  src: url("../fonts/serifon/TheSerifonEditorial-Italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

html,
body,
button,
input,
select,
textarea {
  font-family: "Liter", Arial, system-ui, sans-serif;
}

/*
 * Normaliza a renderização de microtextos em caixa alta. O recurso OpenType
 * `case` ajusta sinais e diacríticos para capitais. Como a Liter possui apenas
 * o peso Regular, a síntese de peso preserva a hierarquia visual dos rótulos.
 */
:where(
  .lb-eyebrow,
  .lb-trust-list,
  .lb-portrait__placeholder small,
  .lb-status-card small,
  .lb-service-card .lb-card__meta,
  .lb-process-card__visual-label,
  .lb-contact__promise-time span,
  .lb-contact__promise-copy > span,
  .lb-form__intro > p,
  .lb-field label,
  .lb-legal__aside > p,
  .lb-footer__label
) {
  font-family: "Liter", Arial, system-ui, sans-serif;
  font-style: normal;
  font-variant-caps: normal;
  font-feature-settings: "case" 1, "kern" 1;
  font-synthesis: weight;
  text-rendering: geometricPrecision;
}

/* Os rótulos dos círculos acompanham a fonte oficial de interface. */
.lb-maintenance-node__core span {
  font-family: "Liter", Arial, sans-serif;
}

.lb-testimonial blockquote {
  font-family: "The Serifon Editorial", "Source Serif 4", Georgia, serif;
  font-style: italic;
}

h1,
h2,
h3,
.lb-portrait__placeholder span,
.lb-process-card__stamp,
.lb-portfolio__controls > p,
.lb-browser__canvas span,
.lb-contact__promise-time strong,
.lb-form__section legend {
  font-family: "The Serifon Editorial", "Source Serif 4", Georgia, serif;
}

body #hu.hu-wrapper.hu-display-floating,
body #hu-revoke .hu-revoke-button {
  font-family: "Liter", Arial, system-ui, sans-serif !important;
}

body #hu .hu-text-heading,
body #hu.hu-expanded .hu-container-heading,
body #hu.hu-expanded .hu-list-heading,
body #hu.hu-expanded .hu-table-heading {
  font-family: "The Serifon Editorial", "Source Serif 4", Georgia, serif !important;
}

/* Escala óptica ajustada para a Serifon, que ocupa mais área visual. */
h1 {
  font-size: clamp(2.05rem, 5vw, 3.8rem);
}

h2 {
  font-size: clamp(1.8rem, 3.8vw, 3.05rem);
}

h3 {
  font-size: 1.15rem;
}

.lb-hero h1 {
  font-size: clamp(2rem, 4vw, 3.15rem);
}

.lb-process-card h3 {
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
}

.lb-contact__intro h1,
.lb-legal__hero h1 {
  font-size: clamp(2.05rem, 4.2vw, 3.55rem);
}

.lb-legal__content h2 {
  font-size: clamp(1.65rem, 3.4vw, 2.25rem);
}

.lb-form__section legend {
  font-size: 1.4rem;
}

.lb-project__content .lb-card__meta {
  color: #93c5fd;
}

body #hu .hu-text-heading {
  font-size: 1.35rem !important;
}

@media (min-width: 768px) {
  h3 {
    font-size: 1.35rem;
  }
}

@media (max-width: 640px) {
  body #hu .hu-text-heading {
    font-size: 1.08rem !important;
  }
}
