:root {
    --marrom-950: #422a20;
    --marrom-900: #573b2d;
    --marrom-800: #684839;
    --marrom-700: #795848;
    --marrom-100: #eee4de;
    --bege-100: #f4eee5;
    --bege-50: #faf8f4;
    --branco: #ffffff;
    --dourado-600: #9b7744;
    --dourado-500: #b38d55;
    --dourado-300: #d6bd94;
    --texto: #292321;
    --texto-suave: #655d58;
    --borda: #ddd7d3;
    --erro: #a32626;
    --sucesso: #684839;
    --whatsapp: #176f4b;
    --whatsapp-hover: #0d563d;
    --sombra-suave: 0 12px 35px rgba(87, 59, 45, 0.08);
    --sombra-card: 0 18px 50px rgba(87, 59, 45, 0.12);
    --raio-pequeno: 0.5rem;
    --raio: 1rem;
    --raio-grande: 1.5rem;
    --container: 75rem;
    --fonte-titulo: Georgia, "Times New Roman", serif;
    --fonte-texto: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

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

html {
    scroll-behavior: smooth;
    scroll-padding-top: 6rem;
}

body {
    margin: 0;
    min-width: 20rem;
    color: var(--texto);
    background: var(--bege-50);
    font-family: var(--fonte-texto);
    font-size: 1rem;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

body.menu-aberto {
    overflow: hidden;
}

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

a {
    color: var(--marrom-800);
    text-underline-offset: 0.2em;
}

a:hover {
    color: var(--marrom-950);
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: 3px solid #d49a25;
    outline-offset: 3px;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    color: var(--marrom-950);
    font-family: var(--fonte-titulo);
    font-weight: 500;
    line-height: 1.16;
    text-wrap: balance;
}

h1 {
    margin-bottom: 1.25rem;
    font-size: clamp(2.25rem, 8vw, 4.75rem);
    letter-spacing: -0.035em;
}

h2 {
    margin-bottom: 1rem;
    font-size: clamp(1.85rem, 5.5vw, 3.25rem);
    letter-spacing: -0.025em;
}

h3 {
    margin-bottom: 0.65rem;
    font-size: 1.35rem;
}

.container {
    width: min(100% - 2rem, var(--container));
    margin-inline: auto;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.icone {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pular-conteudo {
    position: fixed;
    z-index: 1000;
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.75rem 1rem;
    color: var(--branco);
    background: var(--marrom-950);
    border-radius: var(--raio-pequeno);
    transform: translateY(-200%);
    transition: transform 160ms ease;
}

.pular-conteudo:focus {
    color: var(--branco);
    transform: translateY(0);
}

.cabecalho {
    position: sticky;
    z-index: 100;
    top: 0;
    min-height: 4.75rem;
    background: rgba(250, 248, 244, 0.97);
    border-bottom: 1px solid rgba(87, 59, 45, 0.1);
    backdrop-filter: blur(14px);
}

.cabecalho-conteudo {
    display: flex;
    min-height: 4.75rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.marca {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
    color: var(--marrom-950);
    text-decoration: none;
}

.marca:hover {
    color: var(--marrom-950);
}

.marca-monograma {
    position: relative;
    display: block;
    width: 2.7rem;
    height: 2.7rem;
    overflow: hidden;
    flex: 0 0 auto;
    background: var(--bege-50);
    border-radius: 50%;
}

.marca-monograma img {
    position: absolute;
    top: -29.15%;
    left: -29.15%;
    width: 158.3%;
    height: 158.3%;
    max-width: none;
    object-fit: contain;
}

.marca-texto {
    display: grid;
    line-height: 1.15;
}

.marca-texto strong {
    overflow: hidden;
    font-family: var(--fonte-titulo);
    font-size: 1.05rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.marca-texto span {
    margin-top: 0.3rem;
    color: var(--texto-suave);
    font-size: 0.68rem;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.marca-texto i {
    display: inline-block;
    width: 2px;
    height: 2px;
    margin: 0 0.35rem 0.2rem;
    background: currentColor;
    border-radius: 50%;
}

.botao-menu {
    display: grid;
    width: 2.9rem;
    height: 2.9rem;
    padding: 0;
    place-items: center;
    color: var(--marrom-950);
    background: transparent;
    border: 1px solid var(--borda);
    border-radius: var(--raio-pequeno);
    cursor: pointer;
}

.botao-menu .icone {
    grid-area: 1 / 1;
}

.botao-menu .icone-fechar,
.botao-menu[aria-expanded="true"] .icone-menu {
    display: none;
}

.botao-menu[aria-expanded="true"] .icone-fechar {
    display: block;
}

.menu-principal {
    position: fixed;
    z-index: 99;
    inset: 4.75rem 0 auto;
    display: none;
    max-height: calc(100dvh - 4.75rem);
    padding: 1rem;
    overflow-y: auto;
    background: var(--bege-50);
    border-bottom: 1px solid var(--borda);
    box-shadow: var(--sombra-card);
}

.menu-principal.aberto {
    display: grid;
}

.menu-principal a {
    display: flex;
    min-height: 3.25rem;
    align-items: center;
    padding: 0.6rem 0.75rem;
    color: var(--texto);
    border-bottom: 1px solid var(--borda);
    font-weight: 600;
    text-decoration: none;
}

.menu-principal a[aria-current="page"] {
    color: var(--marrom-800);
}

.menu-principal .menu-contato {
    justify-content: center;
    margin-top: 0.75rem;
    color: var(--branco);
    background: var(--marrom-900);
    border: 0;
    border-radius: var(--raio-pequeno);
}

.rotulo,
.rotulo-claro {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.85rem;
    color: var(--dourado-600);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.4;
    text-transform: uppercase;
}

.rotulo::before,
.rotulo-claro::before {
    width: 1.8rem;
    height: 1px;
    content: "";
    background: currentColor;
}

.rotulo-claro {
    color: var(--dourado-300);
}

.botao {
    display: inline-flex;
    min-height: 3.2rem;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.75rem 1.2rem;
    border: 1px solid transparent;
    border-radius: 0.35rem;
    font-size: 0.95rem;
    font-weight: 750;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.botao:hover {
    transform: translateY(-2px);
}

.botao-primario {
    color: var(--branco);
    background: var(--marrom-900);
    border-color: var(--marrom-900);
}

.botao-primario:hover {
    color: var(--branco);
    background: var(--marrom-950);
    border-color: var(--marrom-950);
}

.botao-secundario {
    color: var(--marrom-900);
    background: transparent;
    border-color: var(--marrom-900);
}

.botao-secundario:hover {
    color: var(--branco);
    background: var(--marrom-900);
}

.botao-claro {
    color: var(--marrom-950);
    background: var(--branco);
}

.botao-claro:hover {
    color: var(--marrom-950);
    background: var(--bege-100);
}

.botao-contorno-claro {
    color: var(--branco);
    border-color: rgba(255, 255, 255, 0.65);
}

.botao-contorno-claro:hover {
    color: var(--marrom-950);
    background: var(--branco);
}

.botao-largo {
    width: 100%;
}

.grupo-botoes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.hero {
    position: relative;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.84);
    background: var(--marrom-950);
}

.hero::before {
    position: absolute;
    top: -12rem;
    right: -12rem;
    width: 28rem;
    height: 28rem;
    content: "";
    background: rgba(255, 255, 255, 0.035);
    border-radius: 50%;
}

.hero::after {
    position: absolute;
    z-index: 0;
    top: -8rem;
    right: -14rem;
    width: 44rem;
    height: 44rem;
    content: "";
    background: url("/images/marca-dagua-clara-2cec42ad97bc112653ff82c0a0f917aa.png") center / contain no-repeat;
    opacity: 0.045;
    pointer-events: none;
}

.hero-grade {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 2.5rem;
    padding-block: clamp(3.5rem, 8vw, 7rem);
}

.hero-conteudo {
    max-width: 47rem;
}

.hero h1,
.hero h2 {
    color: var(--branco);
}

.hero-texto {
    max-width: 42rem;
    margin-bottom: 1.75rem;
    font-size: clamp(1.05rem, 2.5vw, 1.22rem);
}

.hero .botao-primario {
    color: var(--marrom-950);
    background: var(--branco);
    border-color: var(--branco);
}

.hero .botao-primario:hover {
    color: var(--marrom-950);
    background: var(--bege-100);
}

.hero .botao-secundario {
    color: var(--branco);
    border-color: rgba(255, 255, 255, 0.6);
}

.hero .botao-secundario:hover {
    color: var(--marrom-950);
    background: var(--branco);
}

.botao.botao-whatsapp {
    color: var(--branco);
    background: var(--whatsapp);
    border-color: var(--whatsapp);
}

.botao.botao-whatsapp:hover {
    color: var(--branco);
    background: var(--whatsapp-hover);
    border-color: var(--whatsapp-hover);
}

.hero-pontos {
    display: flex;
    margin: 1.75rem 0 0;
    padding: 0;
    flex-wrap: wrap;
    gap: 0.65rem 1.15rem;
    list-style: none;
    font-size: 0.9rem;
}

.hero-pontos li {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.hero-pontos .icone {
    width: 1rem;
    height: 1rem;
    color: var(--dourado-300);
}

.hero-visual {
    width: min(100%, 25rem);
    margin-inline: auto;
}

.moldura-foto,
.perfil-imagem {
    position: relative;
}

.moldura-foto::before {
    position: absolute;
    z-index: -1;
    inset: -0.7rem 0.7rem 0.7rem -0.7rem;
    content: "";
    border: 1px solid rgba(214, 189, 148, 0.6);
    border-radius: 11rem 11rem var(--raio-pequeno) var(--raio-pequeno);
}

.moldura-foto img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 11rem 11rem var(--raio-pequeno) var(--raio-pequeno);
}

.identificacao-foto {
    position: absolute;
    right: -0.5rem;
    bottom: 1rem;
    display: grid;
    max-width: calc(100% - 1rem);
    padding: 0.8rem 1rem;
    color: var(--texto);
    background: var(--branco);
    border-left: 3px solid var(--dourado-500);
    box-shadow: var(--sombra-card);
}

.identificacao-foto strong {
    color: var(--marrom-950);
    font-family: var(--fonte-titulo);
    font-weight: 500;
}

.identificacao-foto span {
    font-size: 0.75rem;
}

.hero-detalhe {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 0.35rem;
    background: linear-gradient(90deg, var(--dourado-500), var(--dourado-300), transparent 85%);
}

.secao {
    padding-block: clamp(4rem, 8vw, 7rem);
}

.secao-clara {
    background: var(--branco);
}

.secao-bege {
    background: var(--bege-100);
}

.secao-marrom {
    color: rgba(255, 255, 255, 0.8);
    background: var(--marrom-900);
}

.secao-marrom h2,
.secao-marrom h3 {
    color: var(--branco);
}

.cabecalho-secao {
    max-width: 48rem;
    margin-bottom: 2.25rem;
}

.cabecalho-secao p {
    color: var(--texto-suave);
}

.cabecalho-secao.centralizado {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.grade-cards {
    display: grid;
    gap: 1rem;
}

.card-area {
    position: relative;
    display: flex;
    min-height: 20rem;
    padding: 1.4rem;
    flex-direction: column;
    background: var(--bege-50);
    border: 1px solid var(--borda);
    border-radius: var(--raio);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.card-area:hover,
.card-area:focus-within {
    border-color: var(--dourado-500);
    box-shadow: var(--sombra-suave);
    transform: translateY(-3px);
}

.icone-circulo {
    display: inline-grid;
    width: 3.2rem;
    height: 3.2rem;
    margin-bottom: 1.25rem;
    place-items: center;
    color: var(--marrom-800);
    background: var(--marrom-100);
    border-radius: 50%;
}

.icone-circulo .icone {
    width: 1.5rem;
    height: 1.5rem;
}

.card-area p {
    color: var(--texto-suave);
}

.link-seta,
.link-claro {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 750;
    text-decoration: none;
}

.card-area .link-seta {
    margin-top: auto;
}

.link-seta .icone,
.link-claro .icone {
    width: 1.05rem;
    height: 1.05rem;
    transition: transform 160ms ease;
}

.link-seta:hover .icone,
.link-claro:hover .icone {
    transform: translateX(0.25rem);
}

.link-claro {
    color: var(--branco);
}

.link-claro:hover {
    color: var(--dourado-300);
}

.acao-centralizada {
    margin-top: 2rem;
    text-align: center;
}

.grade-informativa {
    display: grid;
    gap: 2.5rem;
}

.grade-informativa > div:first-child > p {
    margin-bottom: 1.5rem;
}

.grade-beneficios {
    display: grid;
    gap: 1rem;
}

.grade-beneficios article {
    padding: 1.25rem;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--raio);
}

.grade-beneficios article > .icone {
    width: 1.75rem;
    height: 1.75rem;
    margin-bottom: 1rem;
    color: var(--dourado-300);
}

.grade-beneficios article p {
    margin-bottom: 0;
}

.linha-etapas,
.etapas-detalhadas {
    margin: 0;
    padding: 0;
    list-style: none;
}

.linha-etapas {
    display: grid;
    gap: 1.75rem;
}

.linha-etapas li {
    position: relative;
    padding-left: 1.25rem;
    border-left: 1px solid var(--dourado-300);
}

.linha-etapas li > span,
.numero-etapa {
    color: var(--dourado-600);
    font-size: 0.77rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.linha-etapas h3 {
    margin-top: 0.5rem;
}

.linha-etapas p {
    margin-bottom: 0;
    color: var(--texto-suave);
}

.grade-faq {
    display: grid;
    gap: 2.5rem;
}

.faq-introducao .botao {
    margin-top: 0.5rem;
}

.acordeoes {
    border-top: 1px solid #cfc8bd;
}

.acordeao {
    border-bottom: 1px solid #cfc8bd;
}

.acordeao summary {
    display: flex;
    min-height: 4.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 1rem;
    color: var(--marrom-950);
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.acordeao summary::-webkit-details-marker {
    display: none;
}

.acordeao summary .icone {
    transition: transform 160ms ease;
}

.acordeao[open] summary .icone {
    transform: rotate(180deg);
}

.acordeao-conteudo {
    padding: 0 1.5rem 1.25rem 0;
    color: var(--texto-suave);
}

.acordeao-conteudo p {
    margin-bottom: 0;
}

.grade-artigos {
    display: grid;
    gap: 1rem;
}

.card-artigo {
    display: flex;
    min-height: 19rem;
    padding: 1.4rem;
    flex-direction: column;
    background: var(--branco);
    border: 1px solid var(--borda);
    border-radius: var(--raio);
}

.card-artigo h3 a {
    color: var(--marrom-950);
    text-decoration: none;
}

.card-artigo h3 a:hover {
    text-decoration: underline;
}

.card-artigo p {
    color: var(--texto-suave);
}

.categoria {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 1rem;
    padding: 0.25rem 0.65rem;
    color: var(--marrom-800);
    background: var(--marrom-100);
    border-radius: 10rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.meta-artigo {
    display: flex;
    margin-top: auto;
    flex-wrap: wrap;
    gap: 0.3rem 1rem;
    color: var(--texto-suave);
    font-size: 0.76rem;
}

.card-artigo .link-seta {
    margin-top: 1.25rem;
}

.chamada-final {
    color: rgba(255, 255, 255, 0.82);
    background: var(--marrom-950);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.chamada-final-conteudo {
    display: grid;
    gap: 1.75rem;
    padding-block: clamp(3rem, 7vw, 5rem);
}

.chamada-final h2 {
    color: var(--branco);
}

.chamada-final p {
    max-width: 42rem;
    margin-bottom: 0;
}

.rodape {
    padding-bottom: 6.5rem;
    color: rgba(255, 255, 255, 0.72);
    background: #382219;
}

.rodape-grade {
    display: grid;
    gap: 2.5rem;
    padding-block: 3.5rem;
}

.marca-rodape {
    color: var(--branco);
}

.marca-rodape:hover {
    color: var(--branco);
}

.marca-rodape .marca-monograma {
    background: var(--bege-50);
}

.marca-rodape .marca-texto span {
    color: rgba(255, 255, 255, 0.62);
}

.rodape-marca > p {
    max-width: 23rem;
    margin: 1.25rem 0 0;
}

.rodape .oab-rodape {
    color: var(--dourado-300);
    font-weight: 700;
}

.rodape h2 {
    margin-bottom: 1rem;
    color: var(--branco);
    font-family: var(--fonte-texto);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rodape ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rodape li + li {
    margin-top: 0.55rem;
}

.rodape a {
    color: rgba(255, 255, 255, 0.78);
}

.rodape a:hover {
    color: var(--branco);
}

.lista-contato li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}

.lista-contato .icone {
    width: 1rem;
    height: 1rem;
    margin-top: 0.35rem;
    color: var(--dourado-300);
}

.rodape-legal {
    display: flex;
    padding-block: 1.5rem;
    flex-direction: column;
    gap: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
    font-size: 0.76rem;
}

.rodape-legal p {
    margin: 0;
}

.rodape-legal nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
}

.acoes-flutuantes {
    position: fixed;
    z-index: 90;
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    display: flex;
    gap: 0.65rem;
}

.acao-flutuante {
    display: inline-flex;
    width: auto;
    height: 3.25rem;
    padding-inline: 1rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: var(--branco);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 10rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.23);
    text-decoration: none;
    transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.acao-flutuante:hover {
    color: var(--branco);
    transform: translateY(-2px);
}

.acao-flutuante .icone {
    width: 1.35rem;
    height: 1.35rem;
}

.acao-flutuante span {
    display: inline;
    font-size: 0.78rem;
    font-weight: 750;
}

.acao-email {
    background: var(--marrom-700);
}

.acao-whatsapp {
    background: var(--whatsapp);
}

.faixa-breadcrumb {
    background: var(--branco);
    border-bottom: 1px solid var(--borda);
}

.breadcrumb {
    padding-block: 0.7rem;
    overflow-x: auto;
    font-size: 0.76rem;
    white-space: nowrap;
}

.breadcrumb ol {
    display: flex;
    margin: 0;
    padding: 0;
    align-items: center;
    list-style: none;
}

.breadcrumb li {
    display: inline-flex;
    align-items: center;
}

.breadcrumb li + li::before {
    margin-inline: 0.55rem;
    color: #8a817c;
    content: "/";
}

.breadcrumb a {
    color: var(--texto-suave);
}

.breadcrumb span {
    color: var(--marrom-800);
    font-weight: 650;
}

.cabecalho-interno,
.cabecalho-artigo {
    position: relative;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.78);
    background: var(--marrom-900);
}

.cabecalho-interno::after,
.cabecalho-artigo::after {
    position: absolute;
    right: -8rem;
    bottom: -14rem;
    width: 27rem;
    height: 27rem;
    content: "";
    border: 1px solid rgba(214, 189, 148, 0.18);
    border-radius: 50%;
}

.cabecalho-interno-conteudo,
.cabecalho-area-grade {
    position: relative;
    z-index: 1;
    padding-block: clamp(3.25rem, 7vw, 5.5rem);
}

.cabecalho-interno h1,
.cabecalho-area h1,
.cabecalho-artigo h1 {
    max-width: 55rem;
    color: var(--branco);
    font-size: clamp(2.25rem, 6vw, 4rem);
}

.cabecalho-interno p,
.cabecalho-area p {
    max-width: 45rem;
    margin-bottom: 0;
    font-size: 1.08rem;
}

.perfil-grade {
    display: grid;
    gap: 2.5rem;
}

.perfil-imagem {
    width: min(100%, 26rem);
    margin-inline: auto;
}

.perfil-imagem img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 10rem 10rem var(--raio) var(--raio);
    box-shadow: var(--sombra-card);
}

.identidade-oficial {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--bege-100);
    border-radius: var(--raio);
}

.identidade-oficial img {
    width: 6rem;
    height: 6rem;
    flex: 0 0 auto;
    object-fit: contain;
}

.identidade-oficial p {
    margin: 0;
    color: var(--texto-suave);
    font-size: 0.88rem;
}

.texto-destaque,
.introducao-artigo {
    color: var(--marrom-950);
    font-family: var(--fonte-titulo);
    font-size: clamp(1.2rem, 3vw, 1.55rem);
    line-height: 1.5;
}

.credenciais {
    display: grid;
    margin: 2rem 0;
    gap: 0;
    border-top: 1px solid var(--borda);
}

.credenciais div {
    display: grid;
    padding-block: 0.9rem;
    gap: 0.25rem;
    border-bottom: 1px solid var(--borda);
}

.credenciais dt {
    color: var(--texto-suave);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.credenciais dd {
    margin: 0;
    font-weight: 650;
}

.conteudo-pendente {
    color: #7a5b28;
    font-style: italic;
}

.aviso-editorial,
.aviso-informativo,
.aviso-seguranca {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 1rem;
    background: #f9f4e8;
    border: 1px solid #dfcca5;
    border-radius: var(--raio-pequeno);
}

.aviso-editorial .icone,
.aviso-informativo .icone {
    margin-top: 0.15rem;
    color: var(--dourado-600);
}

.aviso-editorial p,
.aviso-informativo p,
.aviso-seguranca p {
    margin: 0;
    font-size: 0.9rem;
}

.grade-valores {
    display: grid;
    gap: 1rem;
}

.grade-valores article {
    padding: 1.35rem;
    background: var(--branco);
    border: 1px solid var(--borda);
    border-radius: var(--raio);
}

.grade-valores article p {
    margin-bottom: 0;
    color: var(--texto-suave);
}

.filtro-areas,
.filtro-conteudos {
    display: grid;
    margin-bottom: 1.5rem;
    gap: 1.25rem;
}

.filtro-areas h2,
.filtro-conteudos h2 {
    font-size: clamp(1.7rem, 4vw, 2.4rem);
}

.filtro-areas p {
    margin-bottom: 0;
    color: var(--texto-suave);
}

.campo-busca {
    width: 100%;
}

.campo-busca label,
.campo label {
    display: block;
    margin-bottom: 0.4rem;
    color: var(--texto);
    font-size: 0.88rem;
    font-weight: 700;
}

.campo-com-icone {
    position: relative;
    display: block;
}

.campo-com-icone > .icone {
    position: absolute;
    top: 50%;
    left: 0.9rem;
    color: var(--texto-suave);
    transform: translateY(-50%);
}

.campo-com-icone input {
    padding-left: 2.8rem;
}

input,
select,
textarea {
    width: 100%;
    color: var(--texto);
    background: var(--branco);
    border: 1px solid #aaa19c;
    border-radius: var(--raio-pequeno);
}

input,
select {
    min-height: 3.15rem;
    padding: 0.65rem 0.8rem;
}

textarea {
    min-height: 9rem;
    padding: 0.75rem 0.8rem;
    resize: vertical;
}

input:hover,
select:hover,
textarea:hover {
    border-color: var(--marrom-700);
}

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
    border-color: var(--erro);
    box-shadow: 0 0 0 1px var(--erro);
}

.resultado-filtro {
    min-height: 1.5rem;
    color: var(--texto-suave);
    font-size: 0.9rem;
}

.grade-areas-completa + .estado-vazio,
.grade-artigos-lista + .estado-vazio {
    margin-top: 1rem;
}

.grupo-area + .grupo-area {
    margin-top: 4.5rem;
    padding-top: 4.5rem;
    border-top: 1px solid var(--borda);
}

.cabecalho-grupo-area {
    max-width: 50rem;
    margin-bottom: 2rem;
}

.cabecalho-grupo-area h2 {
    font-size: clamp(1.85rem, 5vw, 2.75rem);
}

.cabecalho-grupo-area p {
    color: var(--texto-suave);
}

.estado-vazio {
    padding: 3rem 1rem;
    text-align: center;
    background: var(--bege-100);
    border-radius: var(--raio);
}

.estado-vazio > .icone {
    width: 2.2rem;
    height: 2.2rem;
    margin: 0 auto 1rem;
    color: var(--dourado-600);
}

.estado-vazio p {
    color: var(--texto-suave);
}

.grade-areas-completa ~ .aviso-informativo,
.estado-vazio ~ .aviso-informativo {
    margin-top: 2rem;
}

.cabecalho-area-grade {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.icone-area-grande {
    display: none;
}

.conteudo-com-lateral {
    display: grid;
    gap: 2.5rem;
}

.conteudo-juridico {
    max-width: 49rem;
}

.conteudo-juridico h2 {
    margin-top: 2.5rem;
    font-size: clamp(1.55rem, 4vw, 2.1rem);
}

.conteudo-juridico h2:first-child {
    margin-top: 0;
}

.lista-verificada,
.lista-documentos {
    display: grid;
    margin: 1.25rem 0;
    padding: 0;
    gap: 0.75rem;
    list-style: none;
}

.lista-verificada li,
.lista-documentos li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}

.lista-verificada .icone,
.lista-documentos .icone {
    margin-top: 0.25rem;
    color: var(--dourado-600);
}

.lista-documentos li {
    padding: 0.9rem;
    background: var(--branco);
    border: 1px solid var(--borda);
    border-radius: var(--raio-pequeno);
}

.conteudo-juridico .aviso-informativo {
    margin-top: 2.5rem;
}

.cartao-lateral {
    height: fit-content;
    padding: 1.5rem;
    background: var(--branco);
    border: 1px solid var(--borda);
    border-top: 3px solid var(--dourado-500);
    border-radius: var(--raio);
    box-shadow: var(--sombra-suave);
}

.cartao-lateral h2 {
    font-size: 1.8rem;
}

.cartao-lateral .botao + .botao {
    margin-top: 0.65rem;
}

.texto-pequeno {
    margin: 1rem 0 0;
    color: var(--texto-suave);
    font-size: 0.78rem;
}

.etapas-detalhadas {
    max-width: 56rem;
    margin-inline: auto;
}

.etapas-detalhadas li {
    position: relative;
    display: grid;
    padding: 0 0 2.25rem 3.5rem;
}

.etapas-detalhadas li:not(:last-child)::before {
    position: absolute;
    top: 2.5rem;
    bottom: 0;
    left: 1.25rem;
    width: 1px;
    content: "";
    background: var(--dourado-300);
}

.numero-etapa {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: var(--branco);
    background: var(--marrom-900);
    border-radius: 50%;
}

.etapas-detalhadas p {
    margin-bottom: 0;
    color: var(--texto-suave);
}

.grade-informativa-clara p {
    color: var(--texto-suave);
}

.cartao-checklist {
    padding: 1.25rem;
    background: var(--branco);
    border-radius: var(--raio);
    box-shadow: var(--sombra-suave);
}

.bloco-central {
    max-width: 49rem;
    text-align: center;
}

.bloco-central p {
    color: var(--texto-suave);
}

.largura-leitura {
    max-width: 55rem;
}

.acordeoes-amplos .acordeao summary {
    padding-block: 1.25rem;
    font-size: 1.05rem;
}

.acordeoes-amplos + .aviso-informativo {
    margin-top: 2rem;
}

.filtro-conteudos {
    align-items: end;
}

.grade-artigos-lista .card-artigo {
    min-height: 21rem;
}

.cabecalho-artigo {
    padding-block: clamp(3.25rem, 7vw, 5.5rem);
}

.largura-artigo {
    width: min(100% - 2rem, 50rem);
}

.categoria-clara {
    color: var(--marrom-950);
    background: var(--dourado-300);
}

.cabecalho-artigo > div > p {
    max-width: 44rem;
    font-size: 1.12rem;
}

.meta-artigo-clara {
    margin-top: 1.5rem;
    color: rgba(255, 255, 255, 0.72);
}

.corpo-artigo,
.corpo-legal {
    padding-block: clamp(3.5rem, 7vw, 6rem);
}

.corpo-artigo section {
    margin-top: 2.5rem;
}

.corpo-artigo h2,
.corpo-legal h2 {
    font-size: clamp(1.55rem, 4vw, 2rem);
}

.corpo-artigo p,
.corpo-legal p,
.corpo-legal li {
    color: #4c423e;
}

.corpo-artigo .aviso-informativo {
    margin-block: 2.5rem;
}

.autor-artigo {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-block: 1.5rem;
    border-block: 1px solid var(--borda);
}

.autor-artigo div {
    display: grid;
}

.autor-artigo span {
    color: var(--texto-suave);
    font-size: 0.78rem;
}

.autor-artigo strong {
    color: var(--marrom-950);
}

.navegacao-artigo {
    display: flex;
    margin-top: 2rem;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.link-voltar .icone {
    transform: rotate(180deg);
}

.link-voltar:hover .icone {
    transform: rotate(180deg) translateX(0.25rem);
}

.contato-grade {
    display: grid;
    gap: 2.5rem;
}

.contato-informacoes > p {
    color: var(--texto-suave);
}

.cartao-contato {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    margin-top: 0.9rem;
    padding: 1rem;
    align-items: center;
    gap: 0.85rem;
    color: var(--texto);
    background: var(--branco);
    border: 1px solid var(--borda);
    border-radius: var(--raio);
    text-decoration: none;
}

.cartao-contato:hover {
    color: var(--texto);
    border-color: var(--dourado-500);
    box-shadow: var(--sombra-suave);
}

.cartao-contato .icone-circulo {
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
}

.cartao-whatsapp .icone-circulo {
    color: var(--branco);
    background: var(--whatsapp);
}

.cartao-contato > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.cartao-contato small {
    color: var(--texto-suave);
    font-size: 0.74rem;
    text-transform: uppercase;
}

.cartao-contato strong {
    overflow-wrap: anywhere;
}

.cartao-contato em {
    color: var(--texto-suave);
    font-size: 0.72rem;
    font-style: normal;
}

.seta-contato {
    color: var(--marrom-700);
}

.aviso-seguranca {
    margin-top: 1.25rem;
    color: var(--texto);
    background: var(--marrom-100);
    border-color: #d4c1b7;
}

.aviso-seguranca > .icone {
    margin-top: 0.15rem;
    color: var(--marrom-700);
}

.formulario-cartao {
    padding: clamp(1.25rem, 4vw, 2rem);
    background: var(--branco);
    border: 1px solid var(--borda);
    border-radius: var(--raio-grande);
    box-shadow: var(--sombra-suave);
}

.cabecalho-formulario h2 {
    font-size: clamp(1.7rem, 5vw, 2.4rem);
}

.cabecalho-formulario p {
    color: var(--texto-suave);
    font-size: 0.85rem;
}

.grade-campos {
    display: grid;
    gap: 1rem;
}

.erro-campo {
    display: block;
    min-height: 1.2rem;
    margin-top: 0.25rem;
    color: var(--erro);
    font-size: 0.76rem;
    font-weight: 650;
}

.ajuda-campo {
    display: block;
    margin-top: 0.3rem;
    color: var(--texto-suave);
    font-size: 0.74rem;
}

.campo-armadilha {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.campo-consentimento {
    display: flex;
    margin-top: 1rem;
    align-items: flex-start;
    gap: 0.65rem;
}

.campo-consentimento input {
    width: 1.2rem;
    height: 1.2rem;
    min-height: auto;
    margin: 0.25rem 0 0;
    flex: 0 0 auto;
    accent-color: var(--marrom-800);
}

.campo-consentimento label {
    font-size: 0.84rem;
}

.erro-consentimento {
    margin-left: 1.85rem;
}

.botao-enviar {
    width: 100%;
    margin-top: 0.75rem;
    cursor: pointer;
}

.botao-enviar:disabled {
    cursor: wait;
    opacity: 0.7;
    transform: none;
}

.mensagem-formulario {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border-radius: var(--raio-pequeno);
    font-size: 0.9rem;
    font-weight: 650;
}

.mensagem-sucesso {
    color: #573b2d;
    background: #eee4de;
    border: 1px solid #d4c1b7;
}

.mensagem-erro {
    color: #7e1b1b;
    background: #f9e2e2;
    border: 1px solid #dda0a0;
}

.cabecalho-legal h1 {
    margin-bottom: 0.75rem;
}

.corpo-legal h2 {
    margin-top: 2.5rem;
}

.corpo-legal a {
    overflow-wrap: anywhere;
}

.pagina-erro {
    display: grid;
    min-height: 65vh;
    padding-block: 4rem;
    place-items: center;
}

.bloco-erro {
    max-width: 48rem;
    text-align: center;
}

.codigo-erro {
    display: block;
    color: var(--marrom-100);
    font-family: var(--fonte-titulo);
    font-size: clamp(7rem, 30vw, 14rem);
    line-height: 0.8;
}

.bloco-erro h1 {
    font-size: clamp(2rem, 6vw, 3.5rem);
}

.bloco-erro p {
    color: var(--texto-suave);
}

.bloco-erro .grupo-botoes {
    justify-content: center;
}

[hidden] {
    display: none !important;
}

@media (min-width: 37.5rem) {
    .container {
        width: min(100% - 3rem, var(--container));
    }

    .largura-artigo {
        width: min(100% - 3rem, 50rem);
    }

    .marca-monograma {
        width: 3rem;
        height: 3rem;
    }

    .marca-texto strong {
        font-size: 1.2rem;
    }

    .marca-texto span {
        font-size: 0.7rem;
    }

    .grupo-botoes .botao {
        min-width: 12rem;
    }

    .grade-areas,
    .grade-valores,
    .grade-artigos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .grade-beneficios,
    .grade-campos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .campo-completo {
        grid-column: 1 / -1;
    }

    .linha-etapas {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .credenciais div {
        grid-template-columns: 11rem 1fr;
        align-items: baseline;
        gap: 1rem;
    }

    .rodape-legal {
        flex-direction: row;
        justify-content: space-between;
    }

    .rodape {
        padding-bottom: 1rem;
    }
}

@media (min-width: 48rem) {
    .hero::after {
        opacity: 0.08;
    }

    .hero-grade {
        grid-template-columns: minmax(0, 1.25fr) minmax(17rem, 0.65fr);
        align-items: center;
    }

    .hero-visual {
        width: 100%;
    }

    .cabecalho-secao-dividido {
        display: grid;
        max-width: none;
        grid-template-columns: minmax(0, 1.25fr) minmax(17rem, 0.75fr);
        align-items: end;
        gap: 3rem;
    }

    .cabecalho-secao-dividido > p,
    .cabecalho-secao-dividido > a {
        margin-bottom: 1rem;
    }

    .grade-informativa,
    .grade-faq,
    .perfil-grade,
    .contato-grade {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
        align-items: start;
    }

    .grade-informativa-clara {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .linha-etapas {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .grade-valores {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .rodape-grade {
        grid-template-columns: 1.35fr 0.8fr 1fr;
    }

    .filtro-areas,
    .filtro-conteudos {
        grid-template-columns: minmax(0, 1fr) minmax(18rem, 25rem);
        align-items: end;
    }

    .cabecalho-area-grade > div {
        max-width: 49rem;
    }

    .icone-area-grande {
        display: grid;
        width: 8rem;
        height: 8rem;
        flex: 0 0 auto;
        place-items: center;
        color: var(--dourado-300);
        background: rgba(255, 255, 255, 0.06);
        border: 1px solid rgba(214, 189, 148, 0.28);
        border-radius: 50%;
    }

    .icone-area-grande .icone {
        width: 3.2rem;
        height: 3.2rem;
    }

    .conteudo-com-lateral {
        grid-template-columns: minmax(0, 1fr) 19rem;
        align-items: start;
    }

    .cartao-lateral {
        position: sticky;
        top: 6.25rem;
    }
}

@media (min-width: 64rem) {
    .cabecalho-conteudo {
        min-height: 5.3rem;
    }

    .botao-menu {
        display: none;
    }

    .menu-principal {
        position: static;
        display: flex;
        max-height: none;
        padding: 0;
        align-items: center;
        gap: 0.2rem;
        overflow: visible;
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .menu-principal a {
        position: relative;
        min-height: 2.8rem;
        padding: 0.6rem 0.72rem;
        border: 0;
        font-size: 0.85rem;
        font-weight: 650;
    }

    .menu-principal a:not(.menu-contato)::after {
        position: absolute;
        right: 0.72rem;
        bottom: 0.3rem;
        left: 0.72rem;
        height: 2px;
        content: "";
        background: var(--dourado-500);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 160ms ease;
    }

    .menu-principal a:hover::after,
    .menu-principal a[aria-current="page"]::after {
        transform: scaleX(1);
    }

    .menu-principal .menu-contato {
        min-height: 2.7rem;
        margin: 0 0 0 0.5rem;
        padding-inline: 1rem;
    }

    .grade-areas {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .grade-areas-familia {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .grade-artigos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .grade-artigos-lista {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .grade-informativa {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 5rem;
    }

    .contato-grade {
        grid-template-columns: minmax(19rem, 0.75fr) minmax(0, 1.25fr);
        gap: 5rem;
    }

    .formulario-cartao {
        padding: 2.5rem;
    }
}

@media (min-width: 80rem) {
    .menu-principal a {
        padding-inline: 0.9rem;
        font-size: 0.9rem;
    }

    .menu-principal a:not(.menu-contato)::after {
        right: 0.9rem;
        left: 0.9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media print {
    .cabecalho,
    .acoes-flutuantes,
    .chamada-final,
    .rodape,
    .grupo-botoes,
    .navegacao-artigo {
        display: none !important;
    }

    body {
        color: #000;
        background: #fff;
        font-size: 11pt;
    }

    .cabecalho-interno,
    .cabecalho-artigo {
        padding: 1rem 0;
        color: #000;
        background: #fff;
    }

    .cabecalho-interno h1,
    .cabecalho-artigo h1 {
        color: #000;
    }
}
