


*, *::before, *::after { box-sizing: border-box; }

* { margin: 0; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  
  scroll-padding-top: calc(var(--altura-cabecalho) + var(--esp-3));
  hanging-punctuation: first last;
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

body {
  min-height: 100vh;
  min-height: 100svh;
  background: var(--fundo);
  color: var(--texto);
  font-family: var(--fonte-texto);
  font-size: var(--passo-0);
  font-weight: var(--peso-normal);
  line-height: var(--entrelinha-texto);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip; 
}

img, picture, svg, video, canvas { display: block; max-width: 100%; }
img { height: auto; }

button, input, select, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }

a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }

h1, h2, h3, h4, h5, h6 { font-weight: inherit; font-size: inherit; overflow-wrap: anywhere; }
p, li, dd, figcaption, blockquote { overflow-wrap: break-word; }

ul[class], ol[class] { list-style: none; padding: 0; }

address { font-style: normal; }
hr { border: 0; border-top: var(--espessura-linha) solid var(--linha); }

::selection { background: var(--selecao); color: var(--papel); }


:focus-visible { outline: 2px solid var(--foco, var(--acento)); outline-offset: 4px; border-radius: var(--raio-fino); }
:focus:not(:focus-visible) { outline: none; }


h1, .titulo-1 {
  font-family: var(--fonte-display);
  font-weight: var(--peso-fino);
  font-size: var(--passo-5);
  line-height: var(--entrelinha-display);
  letter-spacing: var(--espaco-letras-display);
  font-optical-sizing: auto;
  font-variation-settings: var(--fraunces-display);
  text-wrap: balance;
  max-width: 22ch; 
}

h2, .titulo-2 {
  font-family: var(--fonte-display);
  font-weight: var(--peso-fino);
  font-size: var(--passo-3);
  line-height: var(--entrelinha-titulo);
  letter-spacing: var(--espaco-letras-titulo);
  font-optical-sizing: auto;
  font-variation-settings: var(--fraunces-display);
  text-wrap: balance;
  max-width: 20ch;
}

h3, .titulo-3 {
  font-family: var(--fonte-display);
  font-weight: var(--peso-normal);
  font-size: var(--passo-2);
  line-height: 1.1;
  letter-spacing: var(--espaco-letras-titulo);
  font-optical-sizing: auto;
  font-variation-settings: var(--fraunces-display);
  text-wrap: balance;
  max-width: 24ch;
}

h4, .titulo-4 {
  font-family: var(--fonte-texto);
  font-weight: var(--peso-medio);
  font-size: var(--passo-1);
  line-height: 1.25;
  text-wrap: balance;
}

p { max-width: var(--medida); text-wrap: pretty; }


.entrada {
  font-size: var(--passo-1);
  line-height: 1.4;
  font-weight: var(--peso-normal);
  max-width: var(--medida-curta);
  text-wrap: pretty;
}
.entrada--larga { max-width: var(--medida); }


.enfase, .titulo-1 em, .titulo-2 em, h1 em, h2 em {
  font-family: var(--fonte-display);
  font-style: italic;
  font-weight: var(--peso-fino);
  font-variation-settings: var(--fraunces-enfase);
  letter-spacing: 0;
}


.rotulo {
  font-family: var(--fonte-dados);
  font-size: var(--passo--1);
  font-weight: var(--peso-normal);
  line-height: 1.3;
  letter-spacing: var(--espaco-letras-rotulo);
  text-transform: uppercase;
  color: var(--texto-2);
  font-variant-numeric: tabular-nums;
}


.legenda {
  font-family: var(--fonte-dados);
  font-size: var(--passo--1);
  line-height: 1.4;
  color: var(--texto-2);
  letter-spacing: 0;
}


.dado {
  font-family: var(--fonte-dados);
  font-weight: var(--peso-normal);
  font-size: var(--passo-4);
  line-height: var(--entrelinha-dados);
  letter-spacing: var(--espaco-letras-dados);
  font-variant-numeric: tabular-nums;
}
.dado--enorme { font-size: var(--passo-6); }
.dado--medio  { font-size: var(--passo-2); }

.dado sup, .dado small { font-size: .36em; letter-spacing: 0; vertical-align: super; line-height: 1; margin-inline-start: .12em; }

sup { font-size: .65em; line-height: 0; vertical-align: .45em; }

.mono { font-family: var(--fonte-dados); font-variant-numeric: tabular-nums; }
.texto-2 { color: var(--texto-2); }
.medida { max-width: var(--medida); }


.citacao {
  font-family: var(--fonte-display);
  font-style: italic;
  font-weight: var(--peso-fino);
  font-size: var(--passo-2);
  line-height: 1.2;
  letter-spacing: 0;
  font-variation-settings: var(--fraunces-enfase);
  max-width: 30ch;
  text-wrap: balance;
}
.citacao footer { margin-top: var(--esp-4); }


.lista-filetes > li {
  padding-block: var(--esp-4);
  border-top: var(--espessura-linha) solid var(--linha);
}
.lista-filetes > li:last-child { border-bottom: var(--espessura-linha) solid var(--linha); }


.container {
  width: 100%;
  max-width: var(--largura);
  margin-inline: auto;
  padding-inline: var(--margem);
}
.container--cheio { max-width: none; padding-inline: 0; }

.grade {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--calha);
  row-gap: var(--esp-6);
  align-items: start;
}
.grade > * { min-width: 0; }


.grade > [class] { grid-column: var(--de, 1) / var(--ate, -1); }

@media (max-width: 47.99rem) {
  .grade > [class] { grid-column: 1 / -1; margin-top: 0 !important; }
}

.pilha-vertical { display: grid; gap: var(--esp-4); }

.filete { border-top: var(--espessura-linha) solid var(--linha); }


.secao {
  position: relative;
  background: var(--fundo);
  color: var(--texto);
  padding-block: var(--secao);
}
.secao--apertada { padding-block: var(--secao-apertada); }
.secao--sem-topo { padding-top: 0; }
.secao--sem-base { padding-bottom: 0; }


.secao__cabeca { display: grid; gap: var(--esp-3); margin-bottom: var(--esp-7); }
.secao__cabeca .rotulo, .rotulo--capitulo { display: flex; gap: var(--esp-3); align-items: baseline; max-width: none; }
.secao__cabeca .rotulo::after, .rotulo--capitulo::after {
  content: ""; flex: 1 1 auto; height: var(--espessura-linha); background: var(--linha);
  transform: translateY(-.35em);
}


.grao::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: var(--z-grao);
  pointer-events: none;
  opacity: var(--grao-opacidade);
  mix-blend-mode: var(--grao-modo);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
.grao > * { position: relative; z-index: var(--z-conteudo); }


.heroi {
  position: relative;
  isolation: isolate;
  overflow: clip;
  
  min-height: min(100vh, 64rem);
  min-height: min(100svh, 64rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  padding-block: calc(var(--altura-cabecalho) + var(--esp-7)) var(--secao-apertada);
  
  padding-inline: max(var(--margem), calc((100% - var(--largura)) / 2 + var(--margem)));
  background: var(--fundo);
  color: var(--texto);
}
.heroi--curto { min-height: min(72vh, 48rem); min-height: min(72svh, 48rem); }
.heroi__texto { max-width: 64rem; min-width: 0; display: grid; gap: var(--esp-4); }

.heroi--texto .heroi__texto { max-width: none; }
@media (max-width: 47.99rem) {
  
  .heroi { min-height: min(100vh, 46rem); min-height: min(100svh, 46rem); }
}
.heroi__texto > .rotulo { margin-bottom: var(--esp-2); }
.heroi__acoes { display: flex; flex-wrap: wrap; gap: var(--esp-3) var(--esp-4); align-items: center; margin-top: var(--esp-3); }


.moldura {
  position: relative;
  overflow: clip;
  aspect-ratio: var(--proporcao, 4 / 5);
  background: var(--fundo-2);
  
  min-width: 0; width: 100%;
}
.moldura > img, .moldura > picture, .moldura > picture > img {
  width: 100%; height: 100%; object-fit: cover; object-position: var(--foco, center);
}
.moldura--3x4 { --proporcao: 3 / 4; }
.moldura--4x3 { --proporcao: 4 / 3; }
.moldura--1x1 { --proporcao: 1 / 1; }
.moldura--16x9 { --proporcao: 16 / 9; }
.moldura--21x9 { --proporcao: 21 / 9; }


.moldura--arco { clip-path: inset(0 round var(--raio-arco)); }
.moldura--circulo { --proporcao: 1 / 1; clip-path: circle(50%); }


.moldura--sangra { width: 100vw; margin-inline: calc(50% - 50vw); }


@supports (animation-timeline: view()) {
  @media (min-width: 48rem) and (prefers-reduced-motion: no-preference) {
    .moldura--parallax > img { position: absolute; inset: -7% 0 auto 0; height: 114%; animation: moldura-deslizar linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
    @keyframes moldura-deslizar { from { translate: 0 -6%; } to { translate: 0 6%; } }
  }
}


.figura { display: grid; gap: var(--esp-2); min-width: 0; }
.figura > * { min-width: 0; }
.figura > figcaption { display: flex; justify-content: space-between; align-items: start; gap: var(--esp-3); }

.figura > figcaption > .legenda:first-child { flex: 1 1 auto; }
.figura > figcaption > .legenda + .legenda { flex: none; }


.botao {
  position: relative;
  isolation: isolate;
  overflow: clip;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6em;
  min-height: 2.75rem;
  padding: .8em 1.5em;
  border: var(--espessura-linha) solid currentColor;
  border-radius: var(--raio-pilula);
  background: transparent;
  color: inherit;
  font-family: var(--fonte-texto);
  font-size: var(--passo-0);
  font-weight: var(--peso-medio);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color var(--dur-toque) var(--suave), border-color var(--dur-toque) var(--suave);
}

.botao::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--acento-cheio);
  translate: 0 101%;
  transition: translate var(--dur-cheio) var(--suave);
}
.botao:hover, .botao:focus-visible { color: var(--sobre-acento); border-color: var(--acento-cheio); }
.botao:hover::before, .botao:focus-visible::before { translate: 0 0; }
.botao:active::before { transition-duration: 120ms; }

.botao--cheio { background: var(--acento-cheio); border-color: var(--acento-cheio); color: var(--sobre-acento); }
.botao--cheio::before { background: var(--acento-escuro); }
.botao--cheio:hover, .botao--cheio:focus-visible { border-color: var(--acento-escuro); }

.botao--pequeno { min-height: 2.25rem; padding: .55em 1.1em; font-size: var(--passo--1); }

.botao__seta { width: 1em; height: 1em; transition: translate var(--dur-toque) var(--suave); }
.botao:hover .botao__seta, .botao:focus-visible .botao__seta { translate: .3em 0; }


.ligacao {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: inherit;
  padding-bottom: .1em;
}
.ligacao::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 100%; height: var(--espessura-linha);
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--dur-cheio) var(--suave);
}
.ligacao:hover::after, .ligacao:focus-visible::after, .ligacao[aria-current="page"]::after {
  transform: scaleX(1);
  transform-origin: left;
}

.ligacao--seta::before, .capa__ver::before {
  content: "";
  display: inline-block;
  width: 1em; height: 1em;
  margin-inline-end: .35em;
  vertical-align: -.15em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.25'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.25'/%3E%3C/svg%3E") center / contain no-repeat;
}


.texto a:not([class]), p a:not([class]) {
  color: var(--marca);
  text-decoration: underline;
  text-decoration-color: color-mix(in oklab, currentColor 40%, transparent);
  transition: text-decoration-color var(--dur-toque);
}
.texto a:not([class]):hover, p a:not([class]):hover { text-decoration-color: currentColor; }


.pular {
  position: fixed; top: var(--esp-3); left: var(--esp-3);
  z-index: var(--z-pular);
  padding: .6em 1em;
  background: var(--verde-noite); color: var(--papel);
  border-radius: var(--raio-pilula);
  translate: 0 -200%;
  transition: translate var(--dur-toque) var(--suave);
}
.pular:focus-visible { translate: 0 0; }


.cabecalho {
  --cabecalho-fundo: var(--fundo);
  --cabecalho-texto: var(--texto);
  --cabecalho-marca: var(--marca);
  position: fixed;
  inset: 0 0 auto 0;
  z-index: var(--z-cabecalho);
  height: var(--altura-cabecalho);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--esp-4);
  padding-inline: var(--margem);
  color: var(--cabecalho-texto);
  background: transparent;
  border-bottom: var(--espessura-linha) solid transparent;
  transition:
    color var(--dur-tema) ease,
    background-color var(--dur-tema) ease,
    border-color var(--dur-tema) ease;
}
.cabecalho--rolado {
  background: color-mix(in oklab, var(--cabecalho-fundo) 84%, transparent);
  border-bottom-color: color-mix(in oklab, var(--cabecalho-texto) 12%, transparent);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  backdrop-filter: blur(14px) saturate(1.2);
}
@media (max-width: 47.99rem) {
  .cabecalho { height: var(--altura-cabecalho-celular); }
  html { scroll-padding-top: calc(var(--altura-cabecalho-celular) + var(--esp-3)); }
}


.marca {
  --folha: var(--marca);
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-family: var(--fonte-texto);
  font-weight: var(--peso-forte);
  font-size: 1.125rem;
  letter-spacing: -0.02em;
  line-height: 1;
  text-decoration: none;
  color: var(--folha);
  white-space: nowrap;
  
}
.marca__folha {
  width: 1.9em; height: 1.5em; 
  flex: none;
  fill: var(--folha);
  
  translate: 0 .1em;
}

.marca__nome { white-space: nowrap; }
.marca__inc { font-weight: var(--peso-normal); }

.cabecalho__nav { display: none; }
@media (min-width: 64rem) {
  .cabecalho__nav { display: flex; gap: var(--esp-5); align-items: center; }
  .cabecalho__nav .ligacao { font-size: var(--passo--1); letter-spacing: .01em; font-weight: var(--peso-medio); }
}
.cabecalho .marca { --folha: var(--cabecalho-marca); view-transition-name: marca; } 
.cabecalho__acoes { display: flex; align-items: center; gap: var(--esp-3); }
.cabecalho__acoes .botao { border-color: currentColor; }
@media (max-width: 47.99rem) {
  .cabecalho__acoes .botao--cta { display: none; } 
}


.abre-menu {
  display: inline-flex; align-items: center; gap: .6em;
  min-height: 2.75rem; padding: .5em .25em;
  font-family: var(--fonte-dados);
  font-size: var(--passo--1);
  letter-spacing: var(--espaco-letras-rotulo);
  text-transform: uppercase;
  color: inherit;
}
.abre-menu__traco { width: 1.25rem; height: 1px; background: currentColor; box-shadow: 0 .35rem 0 currentColor; }
@media (min-width: 64rem) { .abre-menu { display: none; } }


.menu {
  position: fixed;
  inset: 0;
  width: 100vw; width: 100dvw;
  height: 100vh; height: 100dvh;
  max-width: none; max-height: none;
  margin: 0; padding: 0;
  border: 0;
  background: var(--verde-noite);
  color: var(--papel);
  
  --texto-2: color-mix(in oklab, var(--papel) 66%, var(--verde-noite));
  --acento-texto: color-mix(in oklab, var(--terracota) 70%, var(--papel));
  --marca: var(--papel); 
  z-index: var(--z-menu);
  opacity: 0;
  transition: opacity var(--dur-menu) var(--suave);
  transition: opacity var(--dur-menu) var(--suave), display var(--dur-menu) allow-discrete, overlay var(--dur-menu) allow-discrete;
}
.menu[open] { opacity: 1; }
@starting-style { .menu[open] { opacity: 0; } }
.menu::backdrop { background: transparent; }
body:has(.menu[open]) { overflow: hidden; }

.menu__interno {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: var(--esp-3) var(--margem) var(--esp-5);
  gap: var(--esp-5);
}
.menu__topo { display: flex; align-items: center; justify-content: space-between; min-height: calc(var(--altura-cabecalho) - var(--esp-3) * 2); }
.fecha-menu {
  display: inline-flex; align-items: center; gap: .6em;
  min-height: 2.75rem; padding: .5em .25em;
  font-family: var(--fonte-dados); font-size: var(--passo--1);
  letter-spacing: var(--espaco-letras-rotulo); text-transform: uppercase;
}
.menu__nav { display: grid; align-content: center; gap: var(--esp-2); }
.menu__nav a {
  display: block;
  width: fit-content;
  font-family: var(--fonte-display);
  font-weight: var(--peso-fino);
  font-size: clamp(2.25rem, 1rem + 6.5vw, 5.5rem);
  line-height: 1.05;
  letter-spacing: var(--espaco-letras-display);
  font-variation-settings: var(--fraunces-display);
  text-decoration: none;
  opacity: 0;
  translate: 0 .4em;
  transition: opacity var(--dur-entrada) var(--suave), translate var(--dur-entrada) var(--suave);
  transition-delay: calc(80ms + var(--i, 0) * 60ms);
}
.menu[open] .menu__nav a { opacity: 1; translate: 0 0; }
.menu__nav a[aria-current="page"] { color: var(--acento-texto); }
.menu__nav a:hover, .menu__nav a:focus-visible { font-style: italic; font-variation-settings: var(--fraunces-enfase); }
.menu__rodape { display: flex; flex-wrap: wrap; gap: var(--esp-3) var(--esp-6); font-family: var(--fonte-dados); font-size: var(--passo--1); color: var(--texto-2); }


.rodape {
  position: relative;
  overflow: clip;
  background: var(--fundo);
  color: var(--texto);
  padding-block: var(--secao) 0;
}

.rodape > .container { display: flex; flex-direction: column; }
.rodape__grade {
  order: 1;
  display: grid;
  gap: var(--esp-6) var(--calha);
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  padding-bottom: var(--esp-7);
  border-bottom: var(--espessura-linha) solid var(--linha);
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .rodape__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.rodape__grade h3, .rodape__grade .rodape__titulo { margin-bottom: var(--esp-3); }
.rodape__grade nav, .rodape__grade address { display: grid; gap: var(--esp-2); justify-items: start; }
.rodape__grade a { text-decoration: none; }
.rodape__frase { margin-top: var(--esp-3); max-width: 26ch; } 
.rodape__legal {
  order: 2;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--esp-2) var(--esp-5);
  padding-top: var(--esp-4);
  font-family: var(--fonte-dados);
  font-size: var(--passo--1);
  color: var(--texto-2);
}
.rodape__marca {
  order: 3;
  font-family: var(--fonte-display);
  font-weight: var(--peso-fino);
  font-size: clamp(4.5rem, 21vw, 19rem);
  line-height: .78;
  letter-spacing: -0.04em;
  font-variation-settings: var(--fraunces-display);
  margin-top: var(--esp-5);
  
  margin-bottom: -.06em;
  color: color-mix(in oklab, var(--texto) 10%, transparent);
  white-space: nowrap;
  user-select: none;
}


main:has(> .secao:last-child .formulario) > .secao:last-child { padding-bottom: var(--secao-apertada); } 
main:has(> .secao:last-child .formulario) + .rodape { padding-top: var(--secao-apertada); }
main:has(> .secao:last-child .formulario) + .rodape .rodape__grade {
  border-top: var(--espessura-linha) solid var(--linha);
  padding-top: var(--esp-7);
}


.aviso-legal { font-family: var(--fonte-dados); font-size: var(--passo--1); color: var(--texto-2); max-width: none; }


.formulario { display: grid; gap: var(--esp-5); }
.formulario__linha { display: grid; gap: var(--esp-5); grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }

.campo { display: grid; gap: var(--esp-2); }
.campo > label, .campo__rotulo {
  font-family: var(--fonte-dados);
  font-size: var(--passo--1);
  letter-spacing: var(--espaco-letras-rotulo);
  text-transform: uppercase;
  color: var(--texto-2);
}
.campo input, .campo select, .campo textarea {
  width: 100%;
  min-height: 2.75rem;
  padding: .6em 0;
  background: transparent;
  border: 0;
  border-bottom: var(--espessura-linha) solid var(--linha-forte);
  border-radius: 0;
  color: inherit;
  transition: border-color var(--dur-toque) ease;
}
.campo textarea { min-height: 6rem; resize: vertical; }
.campo select { appearance: none; -webkit-appearance: none; padding-right: 1.5em;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(-45deg, transparent 50%, currentColor 50%);
  background-position: calc(100% - .9em) 55%, calc(100% - .5em) 55%;
  background-size: .4em .4em; background-repeat: no-repeat; }
.campo input::placeholder, .campo textarea::placeholder { color: var(--texto-2); opacity: 1; }
.campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible {
  outline: none; border-bottom-color: var(--foco, var(--acento)); box-shadow: 0 1px 0 var(--foco, var(--acento));
}

fieldset.campo { border: 0; padding: 0; margin: 0; min-width: 0; }
.campo--opcoes legend { padding: 0; margin-bottom: var(--esp-3); float: left; width: 100%; }
.campo--opcoes legend + .opcoes { clear: both; }
.campo--opcoes { gap: var(--esp-3); }
.campo--opcoes .opcoes { display: flex; flex-wrap: wrap; gap: var(--esp-2); }
.opcao { position: relative; }
.opcao input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.opcao span {
  display: inline-flex; align-items: center; min-height: 2.75rem; padding: .5em 1.1em;
  border: var(--espessura-linha) solid var(--linha-forte); border-radius: var(--raio-pilula);
  font-family: var(--fonte-dados); font-size: var(--passo--1);
  transition: background-color var(--dur-toque) ease, color var(--dur-toque) ease, border-color var(--dur-toque) ease;
}
.opcao input:checked + span { background: var(--acento-cheio); border-color: var(--acento-cheio); color: var(--sobre-acento); }
.opcao input:focus-visible + span { outline: 2px solid var(--foco, var(--acento)); outline-offset: 3px; }
.formulario__nota { font-family: var(--fonte-dados); font-size: var(--passo--1); color: var(--texto-2); }

.tabela {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  text-align: left;
}
.tabela th, .tabela td {
  padding: var(--esp-3) var(--esp-3) var(--esp-3) 0;
  border-bottom: var(--espessura-linha) solid var(--linha);
  vertical-align: top;
}
.tabela thead th {
  font-family: var(--fonte-dados);
  font-size: var(--passo--1);
  font-weight: var(--peso-normal);
  letter-spacing: var(--espaco-letras-rotulo);
  text-transform: uppercase;
  color: var(--texto-2);
  border-bottom-color: var(--linha-forte);
}
.tabela tbody th { font-weight: var(--peso-medio); font-family: var(--fonte-texto); }
.tabela .num { text-align: right; font-family: var(--fonte-dados); }
.tabela--ficha th { width: 34%; color: var(--texto-2); font-weight: var(--peso-normal); }

.tabela--ficha td .mono { font-family: inherit; font-variant-numeric: tabular-nums; }
@media (max-width: 47.99rem) {
  .tabela--ficha th, .tabela--ficha td { display: block; width: auto; }
  .tabela--ficha th { border-bottom: 0; padding-bottom: 0; }
}


.ficha-numeros {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  border-top: var(--espessura-linha) solid var(--linha);
  border-bottom: var(--espessura-linha) solid var(--linha);
}
.ficha-numeros > * {
  padding: var(--esp-5) var(--esp-4) var(--esp-5) 0;
  display: grid; gap: var(--esp-2); align-content: start;
  border-right: var(--espessura-linha) solid var(--linha);
}
.ficha-numeros > *:last-child { border-right: 0; }
.ficha-numeros > * + * { padding-left: var(--esp-4); }

.ficha-numeros dt { order: 2; }
.ficha-numeros dd { order: 1; }

.ficha-numeros > * { container-type: inline-size; }
.ficha-numeros .dado:not(.dado--medio) { font-size: clamp(2.25rem, 22cqi, 4rem); white-space: nowrap; }

.ficha-numeros .dado--medio { font-size: clamp(1.5rem, 1rem + 1.4vw, 2.25rem); }
@media (max-width: 47.99rem) {
  
  .ficha-numeros .dado--medio { font-size: var(--passo-1); }
}

@media (max-width: 63.99rem) {
  .ficha-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ficha-numeros > *:nth-child(2n) { border-right: 0; padding-left: var(--esp-4); }
  .ficha-numeros > *:nth-child(n + 3) { border-top: var(--espessura-linha) solid var(--linha); }
  .ficha-numeros > *:nth-child(2n + 1) { padding-left: 0; }
  
  .ficha-numeros > :last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
  
  .ficha-numeros > :last-child:nth-child(odd) .dado:not(.dado--medio) { font-size: clamp(2.25rem, 11cqi, 4rem); }
}


.contato__formulario { --de: 1; --ate: 7; }
.contato__canais { --de: 8; --ate: 13; display: grid; gap: var(--esp-4); align-content: start; }
.contato__canais .lista-filetes > li { display: grid; gap: var(--esp-1); }
.contato__acoes { display: flex; flex-wrap: wrap; gap: var(--esp-3) var(--esp-4); align-items: center; }

.contato__whats { margin-top: var(--esp-4); }
.icone-whats { width: 1.25em; height: 1.25em; flex: none; }


.whats-flutuante {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: var(--z-flutuante);
  display: inline-flex; align-items: center; gap: .5em;
  min-height: 3rem; padding: .75em 1.1em;
  border: var(--espessura-linha) solid color-mix(in oklab, var(--papel) 45%, transparent);
  border-radius: var(--raio-pilula);
  background: var(--verde-noite); color: var(--papel);
  box-shadow: var(--sombra-2);
  font-family: var(--fonte-texto); font-size: var(--passo--1); font-weight: var(--peso-medio); line-height: 1;
  text-decoration: none;
  transition: opacity var(--dur-toque) var(--suave), translate var(--dur-toque) var(--suave), visibility 0s linear 0s, background-color var(--dur-toque) var(--suave);
}
.whats-flutuante:hover, .whats-flutuante:focus-visible { background: var(--verde-profundo); }

.whats-flutuante:focus-visible { outline: 2px solid var(--papel); outline-offset: -5px; }
.whats-flutuante--recolhido {
  opacity: 0; translate: 0 .75rem; visibility: hidden; pointer-events: none;
  transition: opacity var(--dur-toque) var(--suave), translate var(--dur-toque) var(--suave), visibility 0s linear var(--dur-toque);
}
@media (max-width: 47.99rem) { .whats-flutuante { padding: .75em .95em; } }
@media (prefers-reduced-motion: reduce) {
  .whats-flutuante, .whats-flutuante--recolhido { translate: none; transition: none; }
}
@media print { .whats-flutuante { display: none; } }
@media (min-width: 64rem) {
  
  .contato__canais { padding-top: calc(var(--passo--1) * 1.3 + var(--esp-3) + var(--passo-3) * var(--entrelinha-titulo) + var(--esp-7)); }
}



.capa {
  position: relative;
  display: grid;
  gap: var(--esp-3);
  align-content: start;
}
.capa__titulo { margin-top: var(--esp-2); }
.capa__titulo a {
  text-decoration: none;
  color: inherit;
  transition: color var(--dur-toque) ease;
}
.capa__titulo a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.capa__titulo a:focus-visible { outline: none; }
.capa:has(.capa__titulo a:focus-visible) { outline: 2px solid var(--foco, var(--acento)); outline-offset: 8px; }
.capa p { max-width: 42ch; }

.capa p.rotulo { max-width: none; }

.capa p.capa__dados { margin-top: var(--esp-1); max-width: none; text-wrap: auto; } 

.capa__ver {
  position: relative;
  display: inline-block;
  width: fit-content;
  padding-bottom: .1em;
  font-size: var(--passo--1);
  font-family: var(--fonte-dados);
  letter-spacing: var(--espaco-letras-rotulo);
  text-transform: uppercase;
  color: var(--texto-2);
}

.capa__ver::after {
  content: "";
  position: absolute; left: 0; bottom: 0;
  width: 100%; height: var(--espessura-linha);
  background: currentColor;
  transform: scaleX(0); transform-origin: right;
  transition: transform var(--dur-cheio) var(--suave);
}
.capa:hover .capa__ver::after, .capa:has(a:focus-visible) .capa__ver::after { transform: scaleX(1); transform-origin: left; }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .com-js .capa:hover .moldura.revelar--corte.visto > img { scale: 1.03; transition: scale 1.2s var(--suave); }
}

.capas { row-gap: var(--esp-8); }
.capas__sabia { --de: 1; --ate: 7; }
.capas__guara { --de: 7; --ate: 13; margin-top: 14%; }

.capas__sabia .moldura { view-transition-name: capa-sabia; }
.capas__guara .moldura { view-transition-name: capa-guara; }


.pilha > * {
  position: sticky;
  top: var(--altura-cabecalho);
  min-height: calc(100vh - var(--altura-cabecalho));
  min-height: calc(100svh - var(--altura-cabecalho));
  display: grid;
  align-items: center;
}
@supports (animation-timeline: view()) {
  @media (min-width: 48rem) and (prefers-reduced-motion: no-preference) {
    .pilha > *:not(:last-child) { animation: pilha-recuar linear both; animation-timeline: view(); animation-range: exit 0% exit 100%; }
    @keyframes pilha-recuar { to { scale: .96; filter: brightness(.85); } }
  }
}
@media (max-width: 47.99rem) {
  .pilha > * { position: static; min-height: 0; }
}


.pinado { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--calha); align-items: start; }
.pinado__fixo { grid-column: 1 / 6; position: sticky; top: calc(var(--altura-cabecalho) + var(--esp-6)); }
.pinado__passos { grid-column: 7 / -1; display: grid; }

.pinado__passos > * { min-height: min(60vh, 26rem); display: grid; align-content: center; padding-block: var(--esp-6); border-top: var(--espessura-linha) solid var(--linha); }
@media (max-width: 63.99rem) {
  .pinado__fixo { grid-column: 1 / -1; position: static; margin-bottom: var(--esp-6); }
  .pinado__passos { grid-column: 1 / -1; }
  .pinado__passos > * { min-height: 0; }
}


.desenho path, .desenho circle, .desenho line, .desenho polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .desenho--rolagem path, .desenho--rolagem circle, .desenho--rolagem line, .desenho--rolagem polyline {
      stroke-dashoffset: 1;
      animation: desenho-tracar linear both;
      animation-timeline: view();
      animation-range: entry 15% cover 55%;
    }
  }
}

.com-js .desenho--entrada path, .com-js .desenho--entrada circle, .com-js .desenho--entrada line, .com-js .desenho--entrada polyline {
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.6s var(--suave);
  transition-delay: 200ms;
}
.com-js .desenho--entrada.visto path, .com-js .desenho--entrada.visto circle, .com-js .desenho--entrada.visto line, .com-js .desenho--entrada.visto polyline {
  stroke-dashoffset: 0;
}
@keyframes desenho-tracar { to { stroke-dashoffset: 0; } }


.com-js .revelar {
  opacity: 0;
  translate: 0 var(--deslocamento-entrada);
  transition:
    opacity calc(var(--dur-entrada) * .85) ease-out,
    translate var(--dur-entrada) var(--suave);
  transition-delay: calc(var(--i, 0) * var(--escalonar));
}
.com-js .revelar.visto { opacity: 1; translate: 0 0; }

.com-js .revelar.revelar--corte {
  opacity: 1;
  translate: none;
  clip-path: inset(0 0 100% 0);
  transition: clip-path var(--dur-corte) var(--corte);
  transition-delay: calc(var(--i, 0) * var(--escalonar));
}
.com-js .revelar.revelar--corte.visto { clip-path: inset(0 0 0 0); }

.com-js .moldura--arco.revelar--corte { clip-path: inset(0 0 100% 0 round var(--raio-arco)); }
.com-js .moldura--arco.revelar--corte.visto { clip-path: inset(0 round var(--raio-arco)); }
.com-js .revelar--corte > img, .com-js .revelar--corte > picture { scale: 1.08; transition: scale 1.4s ease-out; transition-delay: inherit; }
.com-js .revelar--corte.visto > img, .com-js .revelar--corte.visto > picture { scale: 1; }


.com-js .revelar.revelar--linhas { opacity: 1; translate: none; transition: none; }
.mascara { display: block; overflow: clip; padding-bottom: .14em; margin-bottom: -.14em; } 
.com-js .revelar--linhas .mascara > span {
  display: block;
  translate: 0 110%;
  transition: translate var(--dur-entrada) var(--suave);
  transition-delay: calc(var(--i, 0) * 90ms);
}
.com-js .revelar--linhas.visto .mascara > span { translate: 0 0; }


.palavra { display: inline-block; overflow: clip; vertical-align: bottom; padding-bottom: .14em; margin-bottom: -.14em; }
.com-js .revelar--palavras .palavra > span { display: inline-block; translate: 0 110%; transition: translate var(--dur-entrada) var(--suave); transition-delay: calc(var(--i, 0) * 45ms); }
.com-js .revelar--palavras.visto .palavra > span { translate: 0 0; }
.com-js .revelar.revelar--palavras { opacity: 1; translate: none; transition: none; }


.com-js .surgir {
  transition: opacity .6s ease-out, translate .7s var(--suave);
}
@starting-style {
  .com-js .surgir { opacity: 0; translate: 0 12px; }
}


@view-transition { navigation: auto; }
::view-transition-old(root) { animation: 220ms ease-out both vt-esmaecer; }
::view-transition-new(root) { animation: 320ms var(--suave) both vt-surgir; }
@keyframes vt-esmaecer { to { opacity: 0; } }
@keyframes vt-surgir { from { opacity: 0; translate: 0 10px; } }


.visualmente-oculto {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .com-js .revelar,
  .com-js .revelar--linhas .mascara > span,
  .com-js .revelar--palavras .palavra > span,
  .com-js .revelar--corte > img,
  .com-js .desenho--entrada path {
    opacity: 1 !important; translate: none !important; scale: none !important; clip-path: none !important; stroke-dashoffset: 0 !important;
  }
  .moldura--parallax > img { animation: none !important; translate: none !important; }
  ::view-transition-group(*) { animation-duration: 0s !important; }
}


@media print {
  .cabecalho, .menu, .pular, .grao::after { display: none !important; }
  .secao, .heroi { min-height: 0; padding-block: var(--esp-6); }
  .com-js .revelar { opacity: 1; translate: none; clip-path: none; }
}
