:root {
  --marca-texto: #BD4501;
  --escuro: var(--color-text);
  --sobre-escuro: var(--gray-light);
  --sobre-escuro-2: var(--cinza-k50);
  --linha-escura: color-mix(in oklab, var(--white) 14%, transparent);
  --foco: var(--marca-texto);
  --topo-h: var(--sp-16);
  --medida: 54ch;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--topo-h) + var(--sp-6)); }
body { margin: 0; background: var(--color-bg); color: var(--color-text-body); font-family: var(--font-base); font-size: var(--fs-md); line-height: var(--lh-loose); -webkit-font-smoothing: antialiased; overflow-x: clip; }
h1, h2, h3 { margin: 0; color: var(--color-text); text-wrap: balance; }
h1, h2 { font-family: var(--font-display); font-weight: var(--fw-bold); }
p, li, td { text-wrap: pretty; }
p { margin: 0; }
img { display: block; max-width: 100%; height: auto; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pular { position: absolute; left: var(--sp-4); top: -100px; background: var(--color-surface); color: var(--color-text); padding: var(--sp-3) var(--sp-4); border-radius: var(--r-sm); z-index: 40; }
.pular:focus { top: var(--sp-4); }
.conteiner { width: min(100% - 2 * var(--sp-5), var(--container)); margin-inline: auto; }
:focus-visible { outline: var(--focus-w) solid var(--foco); outline-offset: var(--focus-offset); }
.topo, .cab, .rodape { --foco: var(--marca); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-3); min-height: var(--touch); padding: 0 var(--sp-6); border-radius: var(--r-sm); border: var(--bd-thin) solid transparent; font: inherit; font-size: var(--fs-md); font-weight: var(--fw-semibold); line-height: var(--lh-tight); text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color var(--dur-fast) var(--ease); }
.btn:active { scale: .98; }
.btn .seta { width: var(--sp-4); height: var(--sp-4); flex: none; transition: transform var(--dur-base) var(--ease); }
.btn:hover .seta { transform: translateX(3px); }
.btn-marca { background: var(--marca); color: var(--color-brand-text); }
.btn-marca:hover { background: color-mix(in oklab, var(--marca) 86%, var(--white)); }
.topo { position: sticky; top: 0; z-index: 30; background: var(--escuro); border-bottom: var(--bd-thin) solid var(--linha-escura); }
.topo .conteiner { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); min-height: var(--topo-h); }
.topo .logo { display: inline-flex; align-items: center; min-height: var(--touch); }
.topo .logo img { height: var(--mark-h); width: auto; }
.cab { background: var(--escuro); color: var(--sobre-escuro); padding-top: clamp(var(--sp-12), 7vw, var(--sp-24)); }
.etiqueta { display: flex; align-items: center; gap: var(--sp-3); font-size: var(--fs-xs); font-weight: var(--fw-bold); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--marca); margin-bottom: var(--sp-5); }
.etiqueta::before { content: ""; width: var(--sp-6); height: var(--bd-base); background: currentColor; }
.cab h1 { color: var(--white); font-size: var(--fs-display-2); line-height: 1.04; letter-spacing: -0.025em; max-width: 18ch; }
.cab .resumo { font-size: var(--fs-xl); line-height: var(--lh-snug); max-width: 60ch; margin-top: var(--sp-5); }
.cab .versao { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); margin-top: var(--sp-6); font-size: var(--fs-sm); color: var(--sobre-escuro); }
.selo { display: inline-block; font-size: var(--fs-xs); font-weight: var(--fw-semibold); line-height: 1.5; letter-spacing: .02em; padding: 0 var(--sp-2); border: var(--bd-thin) dashed currentColor; border-radius: 4px; }
.docs { margin-top: clamp(var(--sp-8), 5vw, var(--sp-16)); border-top: var(--bd-thin) solid var(--linha-escura); }
.docs ul { display: flex; flex-wrap: wrap; gap: 0 var(--sp-8); list-style: none; margin: 0; padding: 0; font-size: var(--fs-sm); }
.docs a { position: relative; display: inline-flex; align-items: center; min-height: calc(var(--touch) + var(--sp-3)); color: var(--sobre-escuro); text-decoration: none; transition: color var(--dur-fast) var(--ease); }
.docs a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: var(--bd-thick); background: var(--marca); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-base) var(--ease); }
.docs a:hover, .docs a[aria-current="page"] { color: var(--white); }
.docs a:hover::after, .docs a[aria-current="page"]::after { transform: scaleX(1); }
.docs a[aria-current="page"] { font-weight: var(--fw-semibold); }
.doc { display: grid; grid-template-columns: minmax(0, 17rem) minmax(0, 1fr); gap: var(--sp-16); align-items: start; padding-block: var(--sp-16) var(--sp-24); }
.sumario { position: sticky; top: calc(var(--topo-h) + var(--sp-8)); max-height: calc(100vh - var(--topo-h) - var(--sp-16)); overflow-y: auto; font-size: var(--fs-sm); line-height: var(--lh-snug); }
.sumario summary { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); min-height: var(--touch); padding-inline: var(--sp-3); border-radius: var(--r-sm); cursor: pointer; list-style: none; font-size: var(--fs-xs); font-weight: var(--fw-bold); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--color-text); }
.sumario summary::-webkit-details-marker { display: none; }
.sumario summary::after { content: ""; flex: none; width: var(--sp-2); height: var(--sp-2); margin-right: var(--sp-1); border-right: var(--bd-thick) solid var(--marca-texto); border-bottom: var(--bd-thick) solid var(--marca-texto); rotate: 45deg; translate: 0 -25%; transition: rotate var(--dur-base) var(--ease), translate var(--dur-base) var(--ease); }
.sumario[open] summary::after { rotate: 225deg; translate: 0 25%; }
.sumario ol { list-style: none; margin: var(--sp-2) 0 0; padding: 0; border-left: var(--bd-thin) solid var(--color-border); }
.sumario a { display: flex; align-items: center; min-height: var(--sp-10); margin-left: calc(-1 * var(--bd-thin)); padding: var(--sp-2) var(--sp-3); border-left: var(--bd-thick) solid transparent; color: var(--color-text-body); text-decoration: none; transition: color var(--dur-fast) var(--ease), border-color var(--dur-base) var(--ease); }
.sumario a:hover { color: var(--color-text); text-decoration: underline; text-underline-offset: .2em; }
.sumario a[aria-current] { color: var(--color-text); border-left-color: var(--marca-texto); }
.texto { max-width: var(--medida); font-size: var(--fs-lg); }
.texto section + section { margin-top: var(--sp-16); }
.texto h2 { font-size: var(--fs-3xl); line-height: 1.1; letter-spacing: -0.02em; margin-bottom: var(--sp-5); }
.texto h3 { font-family: var(--font-base); font-size: var(--fs-lg); font-weight: var(--fw-bold); line-height: var(--lh-snug); margin: var(--sp-8) 0 var(--sp-3); }
.texto p + p, .texto ul + p, .texto .tabela + p, .texto p + ul { margin-top: var(--sp-4); }
.texto ul { margin: 0; padding-left: var(--sp-5); }
.texto li + li { margin-top: var(--sp-2); }
.texto li::marker { color: var(--marca-texto); }
.texto strong { color: var(--color-text); font-weight: var(--fw-semibold); }
.texto a { color: var(--color-link); text-decoration: underline; text-decoration-thickness: var(--bd-thin); text-underline-offset: .2em; overflow-wrap: anywhere; }
.texto a:hover { text-decoration-thickness: var(--bd-thick); }
.texto a:active { opacity: .7; }
.tabela { margin-top: var(--sp-5); overflow-x: auto; }
.texto table { width: 100%; border-collapse: collapse; font-size: var(--fs-base); line-height: var(--lh-snug); }
.texto th, .texto td { text-align: left; vertical-align: top; padding: var(--sp-3) var(--sp-5) var(--sp-3) 0; border-bottom: var(--bd-thin) solid var(--color-border); }
.texto th:last-child, .texto td:last-child { padding-right: 0; }
.texto thead th { font-size: var(--fs-xs); font-weight: var(--fw-bold); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--color-text); border-bottom: var(--bd-base) solid var(--color-text); }
.texto tbody th { font-weight: var(--fw-semibold); color: var(--color-text); }
.rodape { position: relative; background: var(--escuro); color: var(--sobre-escuro); padding-block: var(--sp-24) var(--sp-8); font-size: var(--fs-sm); overflow: hidden; }
.rodape::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: var(--bd-thick); background: var(--marca); }
.rod-topo { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: var(--sp-10); }
.rod-frase { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-3xl); line-height: 1.08; color: var(--white); }
.rod-frase span { color: var(--marca); }
.rod-marca .btn { margin-top: var(--sp-6); }
.rod-col .rod-tit { font-family: var(--font-base); font-size: var(--fs-xs); font-weight: var(--fw-bold); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--marca); margin-bottom: var(--sp-2); }
.rod-col ul { list-style: none; margin: 0; padding: 0; display: grid; }
.rod-col li { color: var(--sobre-escuro); line-height: var(--lh-snug); min-height: var(--touch); display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
.rod-col a { color: var(--sobre-escuro); text-decoration: none; display: inline-flex; align-items: center; min-height: var(--touch); background: linear-gradient(var(--marca), var(--marca)) left calc(100% - var(--sp-3)) / 0 var(--bd-thin) no-repeat; transition: color var(--dur-fast) var(--ease), background-size var(--dur-base) var(--ease); }
.rod-col a:hover, .rod-col a[aria-current="page"] { color: var(--white); background-size: 100% var(--bd-thin); }
.rod-col a:active { opacity: .7; }
.rodape .marca-g { margin-top: var(--sp-24); overflow: hidden; }
.rodape .marca-g img { width: 100%; height: auto; }
.rod-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sp-3) var(--sp-8); margin-top: var(--sp-8); padding-top: var(--sp-6); border-top: var(--bd-thin) solid var(--linha-escura); color: var(--sobre-escuro); font-size: var(--fs-xs); }
@keyframes surge { from { opacity: 0; transform: translateY(var(--sp-3)); } }
@media (prefers-reduced-motion: no-preference) {
  .cab h1 { animation: surge var(--dur-slow) var(--ease) backwards; }
  .cab .resumo { animation: surge var(--dur-slow) var(--ease) .08s backwards; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn, .docs a, .docs a::after, .sumario a, .sumario summary::after, .rod-col a { transition: none; }
  .btn:active { scale: 1; }
}
@media (max-width: 899px) {
  .cab .resumo { font-size: var(--fs-lg); }
  .docs ul { gap: 0 var(--sp-6); }
  .docs a { min-height: var(--touch); }
  .doc { grid-template-columns: minmax(0, 1fr); gap: var(--sp-8); padding-block: var(--sp-8) var(--sp-16); }
  .sumario { position: static; max-height: none; background: var(--color-surface); border: var(--bd-thin) solid var(--color-border); border-radius: var(--r-md); padding: var(--sp-1) var(--sp-2); }
  .sumario[open] { padding-bottom: var(--sp-3); }
  .sumario ol { margin-left: var(--sp-3); }
  .sumario a { min-height: var(--touch); }
  .texto { font-size: var(--fs-md); }
  .texto section + section { margin-top: var(--sp-12); }
  .texto h2 { font-size: var(--fs-2xl); }
  .texto table { font-size: var(--fs-sm); }
  .texto th, .texto td { padding-right: var(--sp-3); }
  .rod-topo { grid-template-columns: 1fr 1fr; gap: var(--sp-10) var(--sp-6); }
  .rod-marca { grid-column: 1 / -1; }
}
@media print {
  .pular, .topo, .docs, .sumario, .rodape { display: none; }
  .cab { background: none; color: var(--color-text); padding-top: 0; }
  .cab h1 { color: var(--color-text); }
  .cab .versao, .etiqueta { color: var(--color-text-body); }
  .selo { border-style: solid; }
  .doc { display: block; padding-block: var(--sp-8) 0; }
  .texto { max-width: none; font-size: var(--fs-base); }
  .texto section { break-inside: avoid-page; }
  .texto a { color: inherit; }
}
