/* RX Digital Ventures LLC · site institucional · 29/10/2026
   Cor própria da empresa: verde-garrafa (hue ~162°). Não é a paleta das peças da Manu
   (roxo, lilás, magenta, rosé, terracota, tomate). Fonte do sistema: nenhuma requisição externa. */

:root {
  --bg: #ffffff;
  --ink: #111a17;
  --muted: #4a5652;
  --line: #dbe3df;
  --tint: #f1f5f3;
  --brand: #173f33;
  --on-brand: #ffffff;
  --on-brand-soft: #c3dccf;
  --btn-hover: #dcefe5;
  --link: #1a5c48;
  --focus: #2f8f6f;
  --pend-bg: #fff2d1;
  --pend-line: #a86a00;
  --pend-ink: #4d3300;
  --maxw: 72rem;
  --measure: 68ch;
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --ease: cubic-bezier(.25, 1, .5, 1);
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0d1412;
    --ink: #e5ece9;
    --muted: #a6b4ae;
    --line: #26332e;
    --tint: #131d1a;
    --brand: #133429;
    --on-brand: #f2f7f4;
    --on-brand-soft: #a9cbbb;
    --btn-hover: #cfe6da;
    --link: #8fd0b5;
    --focus: #8fd0b5;
    --pend-bg: #3a2a06;
    --pend-line: #e2a43c;
    --pend-ink: #ffe2a3;
  }
}

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

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

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 400 1.0625rem/1.6 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-kerning: normal;
}

@media (min-width: 48rem) { body { font-size: 1.125rem; } }

a {
  color: var(--link);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: text-decoration-thickness .15s var(--ease), color .15s var(--ease);
}
a:hover { text-decoration-thickness: 2px; }

:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ---------- barra do topo ---------- */
.barra {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 1rem var(--gutter);
}

.marca {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  min-height: 44px;
  color: inherit;
  text-decoration: none;
  font-weight: 650;
  letter-spacing: -.01em;
}

.marca-sinal {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 6px;
  background: var(--brand);
  color: var(--on-brand);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .02em;
}

/* ---------- capa (só na página inicial) ---------- */
.capa { background: var(--brand); color: var(--on-brand); }
.capa .marca-sinal { background: var(--on-brand); color: var(--brand); }
.capa :focus-visible { outline-color: var(--on-brand); }

.capa-corpo {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(2.5rem, 8vw, 6.5rem) var(--gutter) clamp(3rem, 7vw, 5.5rem);
}

.capa h1 {
  margin: 0;
  max-width: 14ch;
  font-size: clamp(2.75rem, 5.6vw + 1rem, 5.5rem);
  line-height: 1.02;
  letter-spacing: -.03em;
  font-weight: 700;
  text-wrap: balance;
}

.capa .lead {
  margin: 1.5rem 0 0;
  max-width: 30ch;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.625rem);
  line-height: 1.4;
}

.capa .local { margin: .75rem 0 0; color: var(--on-brand-soft); }

.acoes { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.25rem; }

.botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 1.375rem;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);
}
.botao-primario { background: var(--on-brand); color: var(--brand); }
.botao-primario:hover { background: var(--btn-hover); }
.botao-secundario { color: var(--on-brand); box-shadow: inset 0 0 0 1.5px var(--on-brand-soft); }
.botao-secundario:hover { box-shadow: inset 0 0 0 2px var(--on-brand); }
.botao:active { transform: translateY(1px); }

/* ---------- seções da página inicial ---------- */
.secao {
  display: grid;
  gap: 1.25rem 3rem;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(2.75rem, 7vw, 5.5rem) var(--gutter);
}
.secao + .secao {
  background: linear-gradient(var(--line), var(--line)) top center / calc(100% - 2 * var(--gutter)) 1px no-repeat;
}
@media (min-width: 64rem) { .secao { grid-template-columns: minmax(14rem, 1fr) 2.2fr; } }

.secao > h2 {
  margin: 0;
  font-size: clamp(1.5rem, 1.2vw + 1.1rem, 2rem);
  line-height: 1.15;
  letter-spacing: -.02em;
  font-weight: 650;
  text-wrap: balance;
}

.secao-corpo > :first-child { margin-top: 0; }
.secao-corpo p { margin: 0 0 1rem; max-width: var(--measure); text-wrap: pretty; }
.secao-corpo p:last-child { margin-bottom: 0; }

.dados { margin: 0; }
.dados > div {
  display: grid;
  gap: .125rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}
.dados > div:first-child { padding-top: 0; }
@media (min-width: 40rem) { .dados > div { grid-template-columns: 10rem 1fr; gap: 1.5rem; } }
.dados dt { color: var(--muted); font-size: .9375rem; padding-top: .125rem; }
.dados dd { margin: 0; font-size: 1.125rem; font-weight: 550; overflow-wrap: anywhere; }
.dados address { font-style: normal; }
.dados dd a { display: inline-block; padding: .625rem 0; margin: -.625rem 0; }

.servico h3 {
  margin: 0 0 .75rem;
  font-size: clamp(1.5rem, 1.6vw + 1rem, 2.25rem);
  line-height: 1.15;
  letter-spacing: -.02em;
  font-weight: 700;
  text-wrap: balance;
}
.servico .sobre { color: var(--muted); }

.politicas { list-style: none; margin: 1.5rem 0 0; padding: 0; border-top: 1px solid var(--line); }
.politicas a {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .125rem 1rem;
  min-height: 44px;
  padding: 1.125rem 0;
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}
.politicas .titulo { color: var(--link); font-size: 1.1875rem; font-weight: 600; }
.politicas .rotulo { grid-column: 1; color: var(--muted); font-size: .9375rem; }
.politicas .seta {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--link);
  font-size: 1.25rem;
  transition: transform .2s var(--ease);
}
.politicas a:hover .titulo { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .18em; }
.politicas a:hover .seta { transform: translateX(4px); }

/* ---------- páginas legais ---------- */
.doc {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(1.75rem, 5vw, 4rem) var(--gutter) clamp(3rem, 8vw, 6rem);
}
.doc-cabeca { max-width: var(--measure); }
.doc h1 {
  margin: 0;
  font-size: clamp(2.125rem, 3vw + 1.25rem, 3.375rem);
  line-height: 1.08;
  letter-spacing: -.025em;
  font-weight: 700;
  text-wrap: balance;
}
.doc .data { margin: .875rem 0 0; color: var(--muted); font-size: .9375rem; }
.doc .intro {
  margin: 1.75rem 0 0;
  font-size: clamp(1.125rem, .5vw + 1rem, 1.3125rem);
  line-height: 1.55;
  text-wrap: pretty;
}

.doc-grade { display: grid; gap: 2.5rem; margin-top: clamp(2.5rem, 5vw, 4rem); }
@media (min-width: 64rem) {
  .doc-grade { grid-template-columns: 15rem minmax(0, var(--measure)); gap: 4.5rem; }
}

.indice { display: none; }
@media (min-width: 64rem) {
  .indice { display: block; position: sticky; top: 1.5rem; align-self: start; }
}
.indice ol { list-style: none; margin: 0; padding: 0; }
.indice a {
  display: flex;
  align-items: center;
  gap: .625rem;
  min-height: 44px;
  color: var(--muted);
  font-size: .9375rem;
  line-height: 1.3;
  text-decoration: none;
}
.indice a:hover { color: var(--ink); }
.indice .n { min-width: 1.25rem; color: var(--link); font-weight: 600; font-variant-numeric: tabular-nums; }

.doc-texto { max-width: var(--measure); }
.doc-texto section + section { margin-top: clamp(2.5rem, 4vw, 3.25rem); }
.doc-texto h2 {
  display: flex;
  align-items: baseline;
  gap: .75rem;
  margin: 0 0 1rem;
  font-size: clamp(1.3125rem, .8vw + 1.05rem, 1.625rem);
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 650;
  scroll-margin-top: 1.5rem;
  text-wrap: balance;
}
.doc-texto h2 .n { color: var(--link); font-variant-numeric: tabular-nums; }
.doc-texto p { margin: 0 0 1rem; text-wrap: pretty; }
.doc-texto p:last-child { margin-bottom: 0; }
.doc-texto ul { margin: 0 0 1rem; padding-left: 1.25rem; }
.doc-texto li { margin: .5rem 0; padding-left: .25rem; text-wrap: pretty; }
.doc-texto li::marker { color: var(--link); }

/* eliminar-datos: as duas opções lado a lado no desktop */
.doc-largo { max-width: 60rem; }
.opcoes { display: grid; gap: 1rem; margin-top: clamp(2.5rem, 5vw, 3.5rem); }
@media (min-width: 48rem) { .opcoes { grid-template-columns: 1.65fr 1fr; } }
.opcao { padding: clamp(1.25rem, 3vw, 2rem); border-radius: 12px; background: var(--tint); }
.opcao h2 { margin: 0 0 .75rem; font-size: clamp(1.25rem, .6vw + 1.05rem, 1.5rem); line-height: 1.2; letter-spacing: -.015em; font-weight: 650; }
.opcao p { margin: 0; text-wrap: pretty; }
.bloco { margin-top: clamp(2.5rem, 5vw, 3.5rem); max-width: var(--measure); }
.bloco h2 { margin: 0 0 .75rem; font-size: clamp(1.25rem, .6vw + 1.05rem, 1.5rem); line-height: 1.2; letter-spacing: -.015em; font-weight: 650; }
.bloco p { margin: 0; text-wrap: pretty; }
.nota { margin-top: 2rem; max-width: var(--measure); padding: 1.25rem 1.5rem; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); }
.nota p { margin: 0; text-wrap: pretty; }

/* marcas de pendência: saem antes de publicar (ver strings-para-revisar.md) */
.pendiente {
  padding: 0 .3em;
  border-radius: 4px;
  background: var(--pend-bg);
  color: var(--pend-ink);
  outline: 1px dashed var(--pend-line);
  outline-offset: -1px;
  font-weight: 600;
}
.revisar {
  text-decoration: underline wavy var(--pend-line);
  text-decoration-thickness: 1.5px;
  text-underline-offset: .28em;
  text-decoration-skip-ink: none;
}

/* ---------- rodapé ---------- */
.rodape { border-top: 1px solid var(--line); background: var(--tint); }
.rodape-corpo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem 2rem;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 1.25rem var(--gutter) 2rem;
  color: var(--muted);
  font-size: .9375rem;
}
.rodape ul { display: flex; flex-wrap: wrap; gap: 0 1.25rem; margin: 0; padding: 0; list-style: none; }
.rodape a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); }
.rodape a[aria-current="page"] { font-weight: 600; text-decoration: none; }
.rodape .legal { margin: 0; padding: .75rem 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
  .botao:active { transform: none; }
}
