@font-face {
  font-family: 'Instrument Serif';
  src: url('/assets/fonts/instrument-serif-400.woff2?v=1') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Mono';
  src: url('/assets/fonts/dm-mono-400.woff2?v=1') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Mono';
  src: url('/assets/fonts/dm-mono-500.woff2?v=1') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Manrope';
  src: url('/assets/fonts/manrope-var.woff2?v=1') format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --rp-vinho: #2d070b;
  --rp-rosa: #ff0389;
  --rp-creme: #fef0e6;
  --rp-blush: #ffdce2;
  --rp-suave: #ffc7de;
  --rp-papel: #ffffff;
  --rp-tinta: #2d070b;
  --rp-tinta-clara: #fef0e6;
  --rp-serif: 'Instrument Serif', ui-serif, Georgia, 'Times New Roman', serif;
  --rp-mono: 'DM Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --rp-corpo: 'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --rp-largura: 1200px;
  --rp-margem: clamp(1rem, 5vw, 2.5rem);
  --rp-curva: 9999px;
  --rp-canto: 8px;
  --rp-e4: 4px;
  --rp-e8: 8px;
  --rp-e12: 12px;
  --rp-e16: 16px;
  --rp-e24: 24px;
  --rp-e32: 32px;
  --rp-e40: 40px;
  --rp-e52: 52px;
}

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

html { -webkit-text-size-adjust: 100%; }

body.rp-corpo {
  margin: 0;
  background: var(--rp-creme);
  color: var(--rp-tinta);
  font-family: var(--rp-corpo);
  font-size: 17px;
  line-height: 1.62;
  letter-spacing: -0.01em;
  overflow-wrap: break-word;
}

img { max-width: 100%; height: auto; }

h1, h2, h3 { font-family: var(--rp-serif); font-weight: 400; letter-spacing: -0.02em; line-height: 1.08; margin: 0; }

p { margin: 0 0 var(--rp-e16); }

ul, ol { margin: 0; padding: 0; }

a { color: inherit; }

.rp-limite {
  width: 100%;
  max-width: var(--rp-largura);
  margin-inline: auto;
  padding-inline: var(--rp-margem);
}

.rp-salto {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--rp-vinho);
  color: var(--rp-tinta-clara);
  padding: 12px 20px;
  border-radius: var(--rp-curva);
  z-index: 60;
  font-family: var(--rp-mono);
  font-size: 13px;
}
.rp-salto:focus { left: 12px; top: 12px; }

.rp-etiqueta {
  font-family: var(--rp-mono);
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 var(--rp-e12);
  color: var(--rp-vinho);
}
.rp-etiqueta--clara { color: var(--rp-rosa); }

.rp-selo {
  display: inline-block;
  font-family: var(--rp-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: var(--rp-curva);
  background: var(--rp-blush);
  color: var(--rp-vinho);
}

.rp-cabeca { font-size: clamp(1.75rem, 4vw, 2.9rem); margin: 0 0 var(--rp-e16); max-width: 100%; }
.rp-cabeca--clara { color: var(--rp-creme); }

.rp-intro { font-size: 1.18rem; max-width: 100%; margin-bottom: var(--rp-e40); }

.rp-gatilho {
  display: inline-flex;
  align-items: center;
  gap: var(--rp-e8);
  min-height: 48px;
  font-family: var(--rp-mono);
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  background: transparent;
  transition: background-color .18s ease, transform .18s ease, border-color .18s ease;
}
.rp-gatilho--principal {
  padding: 12px 26px;
  border: 1px solid var(--rp-rosa);
  border-radius: var(--rp-curva);
  color: var(--rp-vinho);
}
.rp-gatilho--principal:hover { background: var(--rp-blush); transform: translateY(-2px); }
.rp-gatilho--linha {
  padding: 12px 4px;
  border: 0;
  border-bottom: 2px solid var(--rp-rosa);
  border-radius: 0;
  color: var(--rp-vinho);
}
.rp-gatilho--linha:hover { border-bottom-width: 4px; padding-bottom: 10px; }
.rp-gatilho--claro.rp-gatilho--principal { color: var(--rp-rosa); }
.rp-gatilho--claro.rp-gatilho--principal:hover { background: rgba(255, 3, 137, 0.14); }
.rp-gatilho--claro.rp-gatilho--linha { color: var(--rp-creme); }
.rp-gatilho:focus-visible { outline: 2px solid var(--rp-rosa); outline-offset: 4px; }

.rp-bloco { padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.rp-bloco--creme { background: var(--rp-creme); }
.rp-bloco--blush { background: var(--rp-blush); padding-block: clamp(3rem, 7vw, 5.5rem); }
.rp-bloco--vinho { background: var(--rp-vinho); color: var(--rp-tinta-clara); padding-block: clamp(4rem, 9vw, 7rem); }
.rp-bloco--vinho a { color: var(--rp-creme); }

.rp-topo {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--rp-creme);
}
.rp-topo__faixa { display: flex; align-items: center; justify-content: space-between; gap: var(--rp-e16); min-height: 72px; }
.rp-marca { text-decoration: none; font-family: var(--rp-serif); font-size: 1.6rem; text-transform: uppercase; letter-spacing: 0.02em; }
.rp-marca__um { color: var(--rp-vinho); }
.rp-marca__dois { color: var(--rp-vinho); border-bottom: 3px solid var(--rp-rosa); }
.rp-topo__lista { list-style: none; display: flex; align-items: center; gap: var(--rp-e24); }
.rp-topo__link {
  font-family: var(--rp-mono);
  font-size: 13px;
  letter-spacing: 0.03em;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  color: var(--rp-vinho);
}
.rp-topo__link:hover { text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--rp-rosa); }
.rp-topo__link--aqui { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; text-decoration-color: var(--rp-rosa); }
.rp-alavanca {
  display: none;
  align-items: center;
  gap: var(--rp-e8);
  min-height: 48px;
  padding: 8px 20px;
  border: 1px solid var(--rp-vinho);
  border-radius: var(--rp-curva);
  background: transparent;
  color: var(--rp-vinho);
  font-family: var(--rp-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}
.rp-alavanca__desenho { display: inline-flex; flex-direction: column; gap: 4px; width: 18px; }
.rp-alavanca__desenho span { display: block; height: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.rp-alavanca[aria-expanded="true"] .rp-alavanca__desenho span:first-child { transform: translateY(3px) rotate(45deg); }
.rp-alavanca[aria-expanded="true"] .rp-alavanca__desenho span:last-child { transform: translateY(-3px) rotate(-45deg); }
.rp-alavanca:focus-visible { outline: 2px solid var(--rp-rosa); outline-offset: 3px; }

.rp-trilho { background: var(--rp-creme); padding-block: var(--rp-e16) 0; }
.rp-trilho__lista { list-style: none; display: flex; flex-wrap: wrap; gap: var(--rp-e8); font-family: var(--rp-mono); font-size: 12px; letter-spacing: 0.03em; }
.rp-trilho__passo + .rp-trilho__passo::before { content: '/'; margin-right: var(--rp-e8); color: var(--rp-rosa); }
.rp-trilho__passo a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--rp-suave); }

.rp-palco { position: relative; overflow: hidden; background: var(--rp-vinho); color: var(--rp-tinta-clara); padding-block: clamp(3rem, 9vw, 6rem); }
.rp-palco__agua {
  position: absolute;
  inset-inline: -4%;
  top: 42%;
  font-family: var(--rp-serif);
  font-size: clamp(5rem, 17vw, 11rem);
  line-height: 1;
  color: var(--rp-rosa);
  opacity: 0.16;
  letter-spacing: -0.04em;
  text-align: center;
  pointer-events: none;
  user-select: none;
}
.rp-palco__interior { position: relative; text-align: center; }
.rp-palco__titulo { font-size: clamp(2.4rem, 7vw, 4.6rem); margin-bottom: var(--rp-e24); }
.rp-palco__titulo em { font-style: normal; color: var(--rp-rosa); }
.rp-palco__lead { font-size: 1.16rem; max-width: 100%; margin-inline: auto; margin-bottom: var(--rp-e32); }
.rp-palco__accoes { display: flex; flex-wrap: wrap; gap: var(--rp-e16); justify-content: center; margin-bottom: var(--rp-e40); }
.rp-palco__rotulo { font-family: var(--rp-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rp-suave); margin-bottom: var(--rp-e12); }
.rp-montra { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--rp-e12); }
.rp-montra img { width: 62px; height: 62px; border-radius: 14px; display: block; }
.rp-montra a { display: block; border-radius: 14px; }
.rp-montra a:focus-visible { outline: 2px solid var(--rp-rosa); outline-offset: 3px; }

.rp-portais { display: grid; gap: var(--rp-e24); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.rp-portal { border: 1px solid var(--rp-vinho); border-radius: var(--rp-canto); padding: var(--rp-e32); background: var(--rp-creme); }
.rp-portal:nth-child(2) { background: var(--rp-blush); }
.rp-portal__nome { font-size: 2rem; margin-bottom: var(--rp-e12); }
.rp-portal__nome a { text-decoration: none; }
.rp-portal__nome a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--rp-rosa); }
.rp-portal__nota { max-width: 100%; }
.rp-portal__lista { list-style: none; margin: 0 0 var(--rp-e24); display: grid; gap: var(--rp-e4); font-family: var(--rp-mono); font-size: 13px; }
.rp-portal__lista a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--rp-suave); }

.rp-tiras { display: grid; gap: var(--rp-e16); }
.rp-faixa {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) 210px;
  gap: var(--rp-e24);
  align-items: center;
  padding: var(--rp-e24);
  border: 1px solid var(--rp-vinho);
  border-radius: var(--rp-canto);
  background: var(--rp-creme);
}
.rp-bloco--creme .rp-faixa { background: var(--rp-papel); }
.rp-faixa__capa { display: block; }
.rp-faixa__capa img { width: 104px; height: 104px; border-radius: var(--rp-canto); display: block; }
.rp-faixa__meta { display: flex; align-items: center; gap: var(--rp-e8); flex-wrap: wrap; margin-bottom: var(--rp-e12); font-family: var(--rp-mono); font-size: 12px; }
.rp-faixa__ponto { color: var(--rp-rosa); }
.rp-faixa__percurso { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--rp-suave); }
.rp-faixa__titulo { font-size: 1.65rem; margin-bottom: var(--rp-e8); }
.rp-faixa__titulo a { text-decoration: none; }
.rp-faixa__titulo a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--rp-rosa); }
.rp-faixa__texto { margin-bottom: var(--rp-e8); }
.rp-faixa__veredicto { font-size: 0.96rem; margin: 0; }
.rp-faixa__rotulo { font-family: var(--rp-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rp-vinho); background: var(--rp-blush); padding: 2px 10px; border-radius: var(--rp-curva); margin-right: var(--rp-e8); }
.rp-faixa__lado { text-align: right; display: grid; gap: var(--rp-e8); justify-items: end; }
.rp-faixa__nota { margin: 0; display: grid; font-family: var(--rp-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; }
.rp-faixa__nota strong { font-family: var(--rp-serif); font-size: 2.4rem; font-weight: 400; letter-spacing: -0.03em; line-height: 1; }
.rp-faixa__loja, .rp-cimo__meta, .rp-duelo__loja { font-family: var(--rp-mono); font-size: 12px; display: inline-flex; align-items: center; gap: 6px; }
.rp-estrela { color: var(--rp-rosa); display: inline-flex; }

.rp-metodo { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.rp-metodo__p { max-width: 100%; }
.rp-rotas { list-style: none; display: grid; gap: var(--rp-e24); }
.rp-rota { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--rp-e16); align-items: start; }
.rp-rota__numero { font-family: var(--rp-serif); font-size: 2.6rem; line-height: 0.9; color: var(--rp-rosa); }
.rp-rota__nome { font-size: 1.3rem; margin-bottom: var(--rp-e4); }
.rp-rota__nome a { text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--rp-rosa); }
.rp-rota p { margin: 0; grid-column: 1 / -1; }

.rp-quadro__caixa { width: 100%; overflow-x: auto; }
.rp-quadro__caixa:focus-visible { outline: 2px solid var(--rp-rosa); outline-offset: 4px; }
.rp-quadro { width: 100%; border-collapse: collapse; font-size: 0.95rem; min-width: 640px; }
.rp-quadro__legenda { text-align: left; font-family: var(--rp-mono); font-size: 12px; letter-spacing: 0.03em; padding-bottom: var(--rp-e16); color: inherit; }
.rp-quadro th, .rp-quadro td { text-align: left; padding: var(--rp-e12) var(--rp-e16); vertical-align: top; }
.rp-quadro thead th { font-family: var(--rp-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; border-bottom: 1px solid var(--rp-rosa); }
.rp-quadro tbody th { font-weight: 400; }
.rp-quadro tbody tr:nth-child(odd) { background: rgba(255, 220, 226, 0.14); }
.rp-bloco--blush .rp-quadro tbody tr:nth-child(odd) { background: rgba(255, 255, 255, 0.5); }
.rp-quadro a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--rp-rosa); }
.rp-quadro__nota { margin-top: var(--rp-e16); font-size: 0.92rem; max-width: 100%; }

.rp-cimo { padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 3vw, 2.5rem); background: var(--rp-creme); }
.rp-cimo__titulo { font-size: clamp(2.1rem, 6vw, 3.8rem); margin-bottom: var(--rp-e16); max-width: 100%; }
.rp-cimo__lead { font-size: 1.2rem; max-width: 100%; }
.rp-cimo__veredicto { font-size: 1.22rem; max-width: 100%; border-left: 3px solid var(--rp-rosa); padding-left: var(--rp-e16); }
.rp-cimo__meta { gap: var(--rp-e12); flex-wrap: wrap; }
.rp-cimo__meta strong { font-family: var(--rp-serif); font-size: 1.5rem; font-weight: 400; }
.rp-cimo__ponto { color: var(--rp-rosa); }
.rp-cimo__data { font-family: var(--rp-mono); font-size: 12px; letter-spacing: 0.04em; }
.rp-cimo--analise .rp-etiqueta { display: flex; align-items: center; gap: var(--rp-e8); flex-wrap: wrap; text-transform: none; font-size: 13px; letter-spacing: 0; }

.rp-texto { font-size: 1.06rem; }
.rp-texto--largo { max-width: 100%; }
.rp-texto__seccao { margin-bottom: var(--rp-e40); }
.rp-texto__seccao h2 { font-size: clamp(1.5rem, 3.2vw, 2.2rem); margin-bottom: var(--rp-e16); }
.rp-texto__lista { list-style: none; display: grid; gap: var(--rp-e12); margin-bottom: var(--rp-e16); }
.rp-texto__lista li { padding-left: var(--rp-e24); position: relative; }
.rp-texto__lista li::before { content: ''; position: absolute; left: 0; top: 0.62em; width: 10px; height: 2px; background: var(--rp-rosa); }
.rp-texto a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--rp-rosa); }
.rp-texto__saida { display: flex; flex-wrap: wrap; gap: var(--rp-e16); align-items: center; margin-top: var(--rp-e32); }
.rp-texto__saida a { text-decoration: none; }

.rp-analise--lado { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.rp-analise--corrido { display: block; }
.rp-analise--corrido .rp-texto { max-width: 100%; }
.rp-lateral { position: sticky; top: 96px; display: grid; gap: var(--rp-e24); }

.rp-ficha { border: 1px solid var(--rp-vinho); border-radius: var(--rp-canto); padding: var(--rp-e24); background: var(--rp-blush); }
.rp-analise--corrido .rp-ficha { max-width: 100%; margin-bottom: var(--rp-e40); }
.rp-ficha__cabeca { font-size: 1.35rem; margin-bottom: var(--rp-e16); }
.rp-ficha__lista { margin: 0 0 var(--rp-e16); display: grid; gap: var(--rp-e12); }
.rp-ficha__linha { display: grid; gap: 2px; }
.rp-ficha__linha dt { font-family: var(--rp-mono); font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; }
.rp-ficha__linha dd { margin: 0; }
.rp-ficha a { text-decoration: none; }

.rp-quadra { margin: 0 0 var(--rp-e40); }
.rp-quadra img { border-radius: var(--rp-canto); display: block; width: 100%; }
.rp-quadra figcaption { font-family: var(--rp-mono); font-size: 12px; line-height: 1.5; margin-top: var(--rp-e8); }
.rp-quadra--larga img { max-width: 100%; }
.rp-quadra--solta { max-width: 100%; }
.rp-quadra--solta img { max-width: 420px; }

.rp-balanco { margin-top: var(--rp-e40); }
.rp-balanco__cabeca { font-size: clamp(1.5rem, 3.2vw, 2.2rem); margin-bottom: var(--rp-e24); }
.rp-balanco__par { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--rp-e24); }
.rp-balanco__coluna ul { list-style: none; display: grid; gap: var(--rp-e12); }
.rp-balanco__coluna li { padding-left: var(--rp-e24); position: relative; }
.rp-balanco__coluna--mais li::before { content: '+'; position: absolute; left: 0; color: var(--rp-rosa); font-family: var(--rp-mono); }
.rp-balanco__coluna--menos li::before { content: '\2212'; position: absolute; left: 0; color: var(--rp-vinho); font-family: var(--rp-mono); }
.rp-balanco__nota { margin-top: var(--rp-e24); font-size: 0.96rem; display: flex; gap: var(--rp-e16); align-items: baseline; flex-wrap: wrap; }
.rp-balanco__valor { font-family: var(--rp-serif); font-size: 3rem; line-height: 1; color: var(--rp-vinho); }

.rp-vizinhos__cabeca { font-size: 1.35rem; margin-bottom: var(--rp-e16); }
.rp-vizinhos__lista { list-style: none; display: grid; gap: var(--rp-e12); }
.rp-corpo--analise .rp-bloco--blush .rp-vizinhos__lista { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.rp-vizinhos__ligacao { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: var(--rp-e12); align-items: center; text-decoration: none; padding: var(--rp-e8); border-radius: var(--rp-canto); }
.rp-vizinhos__ligacao:hover { background: var(--rp-blush); }
.rp-vizinhos__ligacao img { width: 48px; height: 48px; border-radius: 10px; grid-row: span 2; }
.rp-vizinhos__nome { font-family: var(--rp-corpo); font-size: 0.98rem; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--rp-rosa); }
.rp-vizinhos__linha { font-family: var(--rp-mono); font-size: 11px; }

.rp-seguir__lista { list-style: none; display: grid; gap: var(--rp-e16); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.rp-seguir__lista li { display: grid; gap: var(--rp-e4); }
.rp-seguir__lista a { font-family: var(--rp-serif); font-size: 1.4rem; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--rp-rosa); }
.rp-seguir__lista span { font-size: 0.96rem; }

.rp-degraus { list-style: none; display: grid; gap: var(--rp-e32); counter-reset: none; }
.rp-degrau { display: grid; grid-template-columns: 72px 96px minmax(0, 1fr); gap: var(--rp-e24); align-items: start; }
.rp-degrau__numero { font-family: var(--rp-serif); font-size: 3.4rem; line-height: 0.85; color: var(--rp-rosa); margin: 0; }
.rp-degrau__capa img { width: 96px; height: 96px; border-radius: var(--rp-canto); display: block; }
.rp-degrau__nome { font-size: 1.6rem; margin-bottom: var(--rp-e12); }
.rp-degrau__nome a { text-decoration: none; }
.rp-degrau__nome a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--rp-rosa); }
.rp-degrau__corpo p { max-width: 100%; }
.rp-degrau__pista { font-family: var(--rp-mono); font-size: 12px; margin: 0; }

.rp-duelo { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--rp-e24); align-items: center; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
.rp-duelo__lado { border: 1px solid var(--rp-vinho); border-radius: var(--rp-canto); padding: var(--rp-e24); text-align: center; }
.rp-duelo__lado--dois { background: var(--rp-blush); }
.rp-duelo__lado img { width: 88px; height: 88px; border-radius: var(--rp-canto); }
.rp-duelo__nome { font-size: 1.5rem; margin: var(--rp-e12) 0 var(--rp-e4); }
.rp-duelo__nome a { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--rp-rosa); }
.rp-duelo__linha { font-family: var(--rp-mono); font-size: 12px; }
.rp-duelo__nota { display: grid; font-family: var(--rp-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: var(--rp-e8); }
.rp-duelo__nota strong { font-family: var(--rp-serif); font-size: 2.6rem; font-weight: 400; line-height: 1; }
.rp-duelo__contra { font-family: var(--rp-serif); font-size: 2rem; color: var(--rp-rosa); margin: 0; }

.rp-motivos { list-style: none; display: grid; gap: var(--rp-e24); grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); margin-bottom: var(--rp-e40); }
.rp-motivo h3 { font-size: 1.3rem; margin-bottom: var(--rp-e8); }
.rp-motivo p { margin: 0; }
.rp-cartao-correio { border: 1px solid var(--rp-rosa); border-radius: var(--rp-canto); padding: var(--rp-e32); background: var(--rp-blush); margin-bottom: var(--rp-e40); }
.rp-cartao-correio__valor { font-family: var(--rp-serif); font-size: clamp(1.4rem, 4vw, 2.2rem); margin-bottom: var(--rp-e12); }
.rp-cartao-correio__valor a { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--rp-rosa); }
.rp-cartao-correio__nota { margin: 0; max-width: 100%; }
.rp-identidade { display: grid; gap: var(--rp-e12); margin-bottom: var(--rp-e24); }
.rp-identidade div { display: grid; grid-template-columns: minmax(0, 15em) minmax(0, 1fr); gap: var(--rp-e12); }
.rp-identidade dt { font-family: var(--rp-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
.rp-identidade dd { margin: 0; }

.rp-mapa { display: grid; gap: clamp(2rem, 4vw, 3rem); }
.rp-mapa__grupo h2 { font-size: 1.5rem; margin-bottom: var(--rp-e16); }
.rp-mapa__grupo ul { list-style: none; display: grid; gap: var(--rp-e12); }
.rp-mapa__grupo li { display: grid; gap: 2px; }
.rp-mapa__grupo a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--rp-rosa); font-size: 1.05rem; }
.rp-mapa__grupo span { font-size: 0.94rem; }

.rp-duvidas { display: grid; gap: 0; width: 100%; }
.rp-duvida { width: 100%; padding-block: var(--rp-e16); }
.rp-duvida + .rp-duvida { border-top: 1px solid rgba(45, 7, 11, 0.18); }
.rp-duvida__pergunta {
  font-family: var(--rp-serif);
  font-size: clamp(1.2rem, 2.6vw, 1.6rem);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--rp-e16);
  min-height: 48px;
}
.rp-duvida__pergunta::-webkit-details-marker { display: none; }
.rp-duvida__pergunta::after { content: '+'; font-family: var(--rp-mono); color: var(--rp-rosa); font-size: 1.4rem; }
.rp-duvida[open] .rp-duvida__pergunta::after { content: '\2212'; }
.rp-duvida__pergunta:focus-visible { outline: 2px solid var(--rp-rosa); outline-offset: 4px; }
.rp-duvida__resposta { padding-top: var(--rp-e12); max-width: 100%; }
.rp-duvida__resposta p { margin: 0; }

.rp-rodape { background: var(--rp-vinho); color: var(--rp-tinta-clara); padding-block: clamp(3rem, 7vw, 5rem) var(--rp-e32); }
.rp-rodape__malha { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3rem); }
.rp-rodape__nota { font-size: 0.96rem; max-width: 100%; }
.rp-rodape__correio { font-family: var(--rp-serif); font-size: 1.4rem; }
.rp-rodape__correio a { color: var(--rp-rosa); text-decoration: underline; text-underline-offset: 5px; }
.rp-rodape__assinatura { font-family: var(--rp-mono); font-size: 12px; line-height: 1.7; margin: 0; }
.rp-rodape__lista { list-style: none; display: grid; gap: var(--rp-e8); font-size: 0.96rem; }
.rp-rodape__lista a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--rp-rosa); display: inline-block; padding-block: 4px; }
.rp-rodape__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--rp-e12); margin-top: clamp(2rem, 5vw, 3.5rem); font-family: var(--rp-mono); font-size: 12px; }
.rp-rodape__base p { margin: 0; }

.rp-aviso {
  position: fixed;
  inset-inline: var(--rp-e16);
  bottom: var(--rp-e16);
  z-index: 50;
  max-width: 680px;
  margin-inline: auto;
  background: var(--rp-creme);
  border: 1px solid var(--rp-vinho);
  border-radius: var(--rp-canto);
  padding: var(--rp-e24);
  min-height: 132px;
}
.rp-aviso[hidden] { display: none; }
.rp-aviso__texto { font-size: 0.95rem; margin-bottom: var(--rp-e16); }
.rp-aviso__texto a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--rp-rosa); }
.rp-aviso__accoes { display: flex; flex-wrap: wrap; gap: var(--rp-e12); }

.rp-subir {
  position: fixed;
  right: var(--rp-e16);
  bottom: 96px;
  z-index: 45;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rp-vinho);
  border-radius: var(--rp-curva);
  background: var(--rp-creme);
  color: var(--rp-vinho);
  cursor: pointer;
}
.rp-subir[hidden] { display: none; }
.rp-subir:hover { background: var(--rp-blush); }
.rp-subir:focus-visible { outline: 2px solid var(--rp-rosa); outline-offset: 3px; }

.rp-js [data-rp-surge] {
  clip-path: inset(0 0 100% 0);
  opacity: 0.001;
  transition: clip-path .75s cubic-bezier(.22, .68, .28, 1), opacity .45s ease-out;
}
.rp-js [data-rp-surge].rp-revelado { clip-path: inset(0 0 0 0); opacity: 1; }

@media (max-width: 1000px) {
  .rp-metodo { grid-template-columns: minmax(0, 1fr); }
  .rp-analise--lado { grid-template-columns: minmax(0, 1fr); }
  .rp-lateral { position: static; }
  .rp-rodape__malha { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* O menu passa a painel abaixo de 860px: acima disso os cinco itens cabem sem apertar. */
@media (max-width: 860px) {
  .rp-alavanca { display: inline-flex; }
  .rp-topo__nav {
    position: absolute;
    inset-inline: 0;
    top: 100%;
    background: var(--rp-creme);
    padding: var(--rp-e16) var(--rp-margem) var(--rp-e32);
    display: none;
  }
  .rp-topo__nav.rp-aberto { display: block; }
  .rp-topo__lista { flex-direction: column; align-items: flex-start; gap: 0; }
  .rp-topo__link { width: 100%; }
  .rp-faixa { grid-template-columns: 80px minmax(0, 1fr); }
  .rp-faixa__capa img { width: 80px; height: 80px; }
  .rp-faixa__lado { grid-column: 1 / -1; justify-items: start; text-align: left; }
  .rp-degrau { grid-template-columns: 56px minmax(0, 1fr); }
  .rp-degrau__capa { display: none; }
  .rp-duelo { grid-template-columns: minmax(0, 1fr); }
  .rp-duelo__contra { text-align: center; }
  .rp-identidade div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

@media (max-width: 560px) {
  body.rp-corpo { font-size: 16px; }
  .rp-rodape__malha { grid-template-columns: minmax(0, 1fr); }
  .rp-montra img { width: 52px; height: 52px; }
  .rp-quadra--solta img { max-width: 100%; }
  .rp-subir { bottom: 84px; }
}

@media (prefers-reduced-motion: reduce) {
  .rp-js [data-rp-surge] { clip-path: none; opacity: 1; transition: none; }
  .rp-gatilho, .rp-alavanca__desenho span { transition: none; }
  html { scroll-behavior: auto; }
}
