/* =============================================================================
   Reset enxuto. O site não usa framework de CSS: só o necessário para as três
   folhas seguintes partirem do mesmo ponto em qualquer navegador.
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    /* O painel tem faixa horária de largura fixa: rolagem horizontal no celular é
       tratada no próprio componente, não empurrando a página. */
    overflow-x: hidden;
}

body {
    margin: 0;
    background: var(--surface-base);
    color: var(--text-base);
    font-family: var(--font-texto);
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
p,
dl,
dd,
dt,
figure {
    margin: 0;
}

h1,
h2,
h3 {
    font-family: var(--font-titulo);
    color: var(--text-strong);
    font-weight: 600;
    line-height: 1.25;
}

img,
svg {
    display: block;
    max-width: 100%;
}

button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    cursor: pointer;
}

code {
    font-family: var(--font-mono);
    font-size: .88em;
}

:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

[hidden] {
    display: none !important;
}
