/* rp · rodapé */
.rp-fecho-bloco { margin: 0 0 clamp(2.5rem, 5vw, 4rem); }
.rp-fecho-bloco figcaption { margin-top: 1rem; text-align: right; font-size: .95rem; color: var(--fio-2); }
.rp-fecho-bloco figcaption::before { content: "— "; }
.rp-fecho { margin: 0; font-family: var(--f-titulo); font-size: clamp(3rem, .6rem + 7.4vw, 7.4rem); line-height: .98; letter-spacing: -.035em;
  color: var(--creme); font-weight: 780; padding-bottom: clamp(1.4rem, 3vw, 2.4rem);
  background: repeating-linear-gradient(90deg, var(--fio-1) 0 9px, transparent 9px 15px) left bottom / 100% 3px no-repeat; }
.rp-fecho span:last-child { font-weight: 300; color: var(--fio-2); }
.js .rp-fecho-bloco .rp-fecho { background-size: 0% 3px; transition: opacity .9s var(--ease), transform 1s var(--ease), background-size 2.2s .4s var(--ease); }
.js .rp-fecho-bloco.rev-in .rp-fecho { background-size: 100% 3px; }
.rp { background: color-mix(in oklab, var(--oliva-fundo) 55%, black); color: color-mix(in oklab, var(--creme) 82%, var(--oliva-fundo));
  padding: clamp(3.5rem, 7vw, 5.5rem) var(--margem) calc(clamp(2rem, 4vw, 3rem) + 4.5rem); font-size: 1rem; }
.rp-topo { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.4rem 2rem; }
.rp-marca { display: block; border-radius: 12px; }
.rp-mono { width: clamp(3.4rem, 6vw, 4.6rem); height: auto; fill: var(--fio-1); display: block; }
.rp-nome { margin: 0; font-family: var(--f-titulo); font-weight: 760; font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); letter-spacing: -.02em; color: var(--creme); }
.rp-reg { margin: .2rem 0 0; font-size: 1rem; color: var(--fio-2); }
.rp-nav { display: flex; flex-wrap: wrap; gap: .2rem 1.4rem; }
.rp-nav a { text-decoration: none; min-height: 48px; display: inline-flex; align-items: center; color: var(--creme); }
.rp-nav a:hover { text-decoration: underline; text-underline-offset: .3em; }
.rp-linha { height: 1px; margin: 2.2rem 0 1.6rem; background: color-mix(in oklab, var(--creme) 16%, transparent); }
.rp-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 2rem; }
.rp-base p { margin: 0; }
.rp-base a { color: var(--creme); text-underline-offset: .25em; }
.rp-selo { color: var(--fio-2); }
.rp-selo a { font-weight: 700; }
.rp a:focus-visible { outline: 3px solid var(--fio-2); outline-offset: 3px; }
@media (max-width: 820px) {
  .rp-topo { grid-template-columns: auto minmax(0, 1fr); }
  .rp-nav { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
  .rp-base { flex-direction: column; }
}
