/* Vitrine de marca — direção: "manchete, papel, carimbo".
   Manchete condensada (Anton), papel quente, tinta preta, UM vermelho de carimbo (ação principal + o carimbo).
   Tudo escopado em body.vitrine para não mexer no Studio nem nas outras páginas. */

@font-face { font-family: "Anton"; src: url("/fontes/anton-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/fontes/ibm-plex-sans-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/fontes/ibm-plex-sans-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/fontes/ibm-plex-sans-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/fontes/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/fontes/ibm-plex-mono-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }

body.vitrine {
  --papel: oklch(0.965 0.009 85);
  --papel-2: oklch(0.935 0.012 85);
  --tinta: oklch(0.19 0.006 60);
  --tinta-2: oklch(0.43 0.012 60);
  --linha: oklch(0.83 0.014 80);
  --carimbo: oklch(0.54 0.19 29);
  --carimbo-forte: oklch(0.48 0.19 29);
  --sobre-carimbo: oklch(0.985 0.006 85);
  --cartao: oklch(0.985 0.006 85);
  --ok: oklch(0.47 0.09 150);
  --display: "Anton", "Arial Narrow", Impact, sans-serif;
  --texto: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --raio: 2px;
  --expo: cubic-bezier(0.22, 1, 0.36, 1);
  --gutter: 20px;
  --secao: 72px;
  background: var(--papel);
  color: var(--tinta);
  font: 400 17px/1.55 var(--texto);
  -webkit-font-smoothing: antialiased;
}
@media (prefers-color-scheme: dark) {
  body.vitrine {
    --papel: oklch(0.17 0.006 60);
    --papel-2: oklch(0.215 0.008 60);
    --tinta: oklch(0.94 0.01 85);
    --tinta-2: oklch(0.74 0.012 80);
    --linha: oklch(0.34 0.01 60);
    --carimbo: oklch(0.66 0.19 31);
    --carimbo-forte: oklch(0.72 0.17 33);
    --sobre-carimbo: oklch(0.16 0.006 60);
    --cartao: oklch(0.205 0.007 60);
    --ok: oklch(0.74 0.12 150);
  }
}
@media (min-width: 900px) { body.vitrine { --gutter: 40px; --secao: 128px; } }

body.vitrine main { max-width: 1180px; padding: 0 var(--gutter) 96px; }
body.vitrine a { color: inherit; text-underline-offset: 3px; }
body.vitrine :focus-visible { outline: 3px solid var(--carimbo); outline-offset: 3px; }
body.vitrine .mono { font-family: var(--mono); font-size: 0.92em; }
body.vitrine .erro { color: var(--carimbo-forte); font-weight: 500; }

/* topo e rodapé */
body.vitrine .topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px var(--gutter); border-bottom: 1.5px solid var(--tinta); max-width: none; }
.v-logo { font: 400 26px/1 var(--display); letter-spacing: 0.01em; text-transform: uppercase; text-decoration: none; }
.v-nav { display: flex; align-items: center; gap: 18px; font-weight: 500; font-size: 15px; }
.v-nav .v-link { font-weight: 500; min-height: 44px; }
.v-topo-entrar { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--tinta); border-radius: var(--raio); text-decoration: none; transition: background-color 120ms var(--expo), color 120ms var(--expo); }
@media (hover: hover) { .v-topo-entrar:hover { background: var(--tinta); color: var(--papel); } }
.v-destaque { color: var(--carimbo); }
body.vitrine .rodape { border-top: 1.5px solid var(--tinta); color: var(--tinta-2); font-size: 14px; text-align: left; padding: 20px var(--gutter); }
body.vitrine .rodape p { margin: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }

/* herói */
.v-heroi { display: grid; gap: 36px; padding: 40px 0 var(--secao); }
@media (min-width: 900px) { .v-heroi { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 56px; align-items: start; padding-top: 72px; } }
.v-heroi-acao { display: grid; gap: 0; align-content: start; }
.v-provas-linha { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; font: 400 14px/1.4 var(--mono); color: var(--tinta-2); }
.v-sobre { font: 500 12px/1.2 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--tinta-2); margin: 0 0 18px; }
.v-manchete { font: 400 clamp(52px, 9.5vw, 104px)/0.92 var(--display); letter-spacing: -0.005em; text-transform: uppercase; margin: 0 0 22px; text-wrap: balance; }
.v-sub { font-size: 21px; line-height: 1.45; color: var(--tinta); margin: 0 0 24px; max-width: 34ch; }

/* ferramenta */
.v-ferramenta { position: relative; border: 1.5px solid var(--tinta); border-radius: var(--raio); padding: 22px; background: var(--cartao); scroll-margin-top: 16px; }
.v-ferramenta > .v-botao { width: 100%; min-height: 60px; }
@media (min-width: 900px) { .v-ferramenta { padding: 32px; } }
.v-ferramenta.com-selo { margin-top: 14px; }
.v-selo { position: absolute; top: -24px; right: 14px; transform: rotate(5deg); border: 3px solid var(--carimbo); background: var(--papel); color: var(--carimbo); padding: 5px 11px 6px; text-align: center; pointer-events: none; }
.v-selo b { display: block; font: 400 22px/1 var(--display); text-transform: uppercase; }
.v-selo span { display: block; margin-top: 2px; font: 500 10px/1.3 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; }
.v-passo { margin: 0 0 10px; font: 500 12px/1.2 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--tinta-2); }
.v-ferramenta-pe { margin: 18px 0 0; padding-top: 14px; border-top: 1px dashed var(--linha); font: 400 13px/1.4 var(--mono); color: var(--tinta-2); }
.v-ja { margin: 14px 0 0; font-size: 15px; color: var(--tinta-2); }
.v-ja a { color: var(--tinta); font-weight: 500; }
.v-ferramenta.arrastando { border-style: dashed; background: var(--papel-2); }
.v-consent { display: grid; grid-template-columns: 22px 1fr; gap: 10px; font-size: 15px; line-height: 1.45; margin: 0 0 18px; cursor: pointer; }
.v-consent input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--tinta); }
.v-consent.pedir { color: var(--carimbo-forte); }
.v-consent.pedir input { outline: 3px solid var(--carimbo); outline-offset: 2px; }
.v-botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 58px; padding: 0 26px; border: 0; border-radius: var(--raio); background: var(--carimbo); color: var(--sobre-carimbo); font: 600 18px/1 var(--texto); cursor: pointer; text-decoration: none; transition: background-color 120ms var(--expo), transform 100ms var(--expo); }
.v-botao:hover { background: var(--carimbo-forte); }
.v-botao:active { transform: scale(0.985); }
.v-botao:disabled { opacity: 0.6; cursor: progress; }
.v-botao.tinta { background: var(--tinta); color: var(--papel); }
@media (min-width: 900px) { .v-botao { width: auto; } }
.v-link { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.v-alt { font-size: 15px; color: var(--tinta-2); margin: 10px 0 0; }
div.v-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; }
div.v-alt .v-link { min-height: 44px; font-weight: 500; color: var(--tinta); }
.v-link:disabled { color: var(--tinta-2); text-decoration: none; cursor: not-allowed; }
.v-link.forte { font-weight: 600; color: var(--tinta); min-height: 44px; text-align: left; }
.v-lead { margin: 0; font-size: 18px; line-height: 1.45; }
.v-lead .mono { white-space: nowrap; }
/* link com cara de botão: vence o `body.vitrine a { color: inherit }` */
body.vitrine a.v-botao { color: var(--sobre-carimbo); }
body.vitrine a.v-botao.tinta { color: var(--papel); }
.v-aviso { font-size: 13px; line-height: 1.5; color: var(--tinta-2); margin: 16px 0 0; }
.v-progresso { height: 4px; background: var(--papel-2); margin: 18px 0 0; overflow: hidden; }
.v-progresso > i { display: block; height: 100%; width: 0; background: var(--tinta); transition: width 160ms linear; }
.v-status { font-size: 15px; margin: 12px 0 0; }
.v-status:empty { display: none; }

/* recibo + carimbo (a peça visual da marca) */
.v-recibo { position: relative; margin: 0; border: 1.5px solid var(--tinta); border-radius: var(--raio); background: var(--papel); padding: 18px 18px 22px; font-size: 14px; }
.v-recibo-topo { display: flex; justify-content: space-between; gap: 12px; font: 500 12px/1.2 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; border-bottom: 1.5px dashed var(--linha); padding-bottom: 12px; margin-bottom: 12px; }
.v-recibo dl { display: grid; grid-template-columns: 84px 1fr; gap: 8px 12px; margin: 0; }
.v-recibo dt { color: var(--tinta-2); font-size: 13px; }
.v-recibo dd { margin: 0; font-family: var(--mono); font-size: 13px; overflow-wrap: anywhere; }
.v-recibo-pe { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-top: 22px; }
.v-recibo figcaption { font-size: 13px; color: var(--tinta-2); max-width: 24ch; }
.v-carimbo { flex: none; display: grid; justify-items: center; gap: 2px; padding: 8px 14px 6px; border: 3px double var(--carimbo); color: var(--carimbo); transform: rotate(-9deg); opacity: 0.92; pointer-events: none; }
.v-carimbo b { font: 400 30px/1 var(--display); letter-spacing: 0.04em; }
.v-carimbo span { font: 500 11px/1.2 var(--mono); letter-spacing: 0.08em; }
@media (prefers-reduced-motion: no-preference) {
  .v-carimbo.bate { animation: bate 520ms var(--expo) both; }
  @keyframes bate { 0% { opacity: 0; transform: rotate(-16deg) scale(1.7); } 60% { opacity: 0.95; } 100% { opacity: 0.92; transform: rotate(-9deg) scale(1); } }
}

/* resultado */
.v-resultado { display: grid; gap: 18px; }
.v-resultado h2 { font: 400 clamp(40px, 8vw, 64px)/0.95 var(--display); text-transform: uppercase; margin: 0; }
.v-codigo { border: 1.5px solid var(--tinta); border-radius: var(--raio); padding: 14px 16px; background: var(--papel-2); }
.v-codigo p { margin: 0 0 8px; font-size: 14px; }
.v-codigo output { display: block; font: 500 18px/1.4 var(--mono); letter-spacing: 0.02em; overflow-wrap: anywhere; margin-bottom: 10px; }
.v-acoes { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
.v-conta { display: grid; gap: 10px; border-top: 1.5px solid var(--tinta); padding-top: 16px; }
.v-conta h3 { font-size: 17px; font-weight: 600; margin: 0; }
.v-conta > p, .v-conta-texto { margin: 0; color: var(--tinta-2); font-size: 15px; font-weight: 400; }
.v-conta.grande { border-top: 0; padding-top: 0; margin-top: 28px; }
.v-conta.grande > label { font-weight: 600; font-size: 15px; }
.v-conta.grande input { box-sizing: border-box; width: 100%; min-height: 56px; padding: 0 16px; font: 400 18px/1 var(--texto); border: 1.5px solid var(--tinta); border-radius: var(--raio); background: var(--papel); color: var(--tinta); }
.v-conta.grande .v-botao { width: 100%; margin-top: 6px; }
.v-campo { display: flex; flex-wrap: wrap; gap: 10px; }
.v-campo input { flex: 1 1 220px; min-height: 52px; padding: 0 14px; font: inherit; border: 1.5px solid var(--tinta); border-radius: var(--raio); background: var(--papel); color: var(--tinta); }
.v-campo .v-botao { width: auto; min-height: 52px; font-size: 16px; }
.v-conta.compacta .v-campo input { flex: 1 1 180px; min-height: 48px; }
.v-conta.compacta .v-campo .v-botao { min-height: 48px; }

/* seções */
.v-secao { padding: var(--secao) 0 0; }
.v-secao > h2 { font: 400 clamp(36px, 6vw, 64px)/0.98 var(--display); text-transform: uppercase; margin: 0 0 36px; max-width: 18ch; }
.v-cenas ol { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1.5px solid var(--tinta); }
@media (min-width: 760px) { .v-cenas ol { grid-template-columns: 1fr 1fr; column-gap: 48px; } }
.v-cenas li { display: grid; grid-template-columns: 64px 1fr; gap: 8px; padding: 22px 0; border-bottom: 1px solid var(--linha); }
.v-num { font: 400 34px/1 var(--display); color: var(--tinta-2); }
.v-cenas h3 { font-size: 19px; font-weight: 600; margin: 2px 0 6px; }
.v-cenas p { margin: 0; color: var(--tinta-2); }

.v-pacote { margin-top: var(--secao); background: var(--tinta); color: var(--papel); padding: 48px var(--gutter); margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter)); }
@media (min-width: 900px) { .v-pacote { padding: 80px 64px; margin-left: 0; margin-right: 0; border-radius: var(--raio); } }
.v-pacote h2 { font: 400 clamp(36px, 6vw, 64px)/0.98 var(--display); text-transform: uppercase; margin: 0 0 14px; max-width: 16ch; }
.v-pacote > p { color: color-mix(in oklch, var(--papel) 72%, var(--tinta)); max-width: 52ch; margin: 0 0 32px; font-size: 18px; }
.v-pacote > dl { display: grid; gap: 0; margin: 0; border-top: 1px solid color-mix(in oklch, var(--papel) 30%, var(--tinta)); }
.v-pacote > dl > div { display: grid; gap: 4px 32px; padding: 18px 0; border-bottom: 1px solid color-mix(in oklch, var(--papel) 30%, var(--tinta)); }
@media (min-width: 760px) { .v-pacote > dl > div { grid-template-columns: 220px 1fr; } }
.v-pacote > dl dt { font: 500 16px/1.4 var(--mono); }
.v-pacote > dl dd { margin: 0; color: color-mix(in oklch, var(--papel) 78%, var(--tinta)); }

.v-narrativa { display: grid; gap: 24px; max-width: 68ch; }
.v-narrativa p { margin: 0; font-size: 19px; line-height: 1.6; }
.v-narrativa b { font-weight: 600; }

.v-perguntas { display: grid; gap: 0; border-top: 1.5px solid var(--tinta); }
@media (min-width: 760px) { .v-perguntas { grid-template-columns: 1fr 1fr; column-gap: 48px; } }
.v-perguntas > div { padding: 22px 0; border-bottom: 1px solid var(--linha); }
.v-perguntas h3 { font-size: 18px; font-weight: 600; margin: 0 0 8px; }
.v-perguntas p { margin: 0; color: var(--tinta-2); }

.v-limites ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1.5px solid var(--tinta); max-width: 820px; }
.v-base-intro { font-size: 19px; max-width: 60ch; margin: 0 0 28px; color: var(--tinta-2); }
.v-normas { list-style: none; margin: 0 0 40px; padding: 0; display: grid; gap: 0; border-top: 1.5px solid var(--tinta); }
.v-normas li { padding: 24px 0; border-bottom: 1px solid var(--linha); display: grid; gap: 10px; max-width: 78ch; }
.v-normas h3 { font: 500 14px/1.3 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; margin: 0; }
.v-normas h3 a { text-decoration-color: var(--carimbo); }
.v-normas blockquote { margin: 0; padding-left: 16px; border-left: 3px solid var(--tinta); font-size: 17px; line-height: 1.55; }
.v-normas p { margin: 0; color: var(--tinta-2); }
.v-base .v-limites h3 { font-size: 20px; margin: 0 0 12px; }
.v-ressalva { margin: 24px 0 0; font-size: 15px; color: var(--tinta-2); max-width: 70ch; }
.v-planos-grade { display: grid; gap: 16px; }
@media (min-width: 900px) { .v-planos-grade { grid-template-columns: repeat(3, 1fr); } }
.v-plano { border: 1.5px solid var(--linha); border-radius: var(--raio); padding: 22px; display: grid; gap: 10px; align-content: start; }
.v-plano.destaque { border-color: var(--tinta); border-width: 2px; }
.v-plano h3 { font: 400 28px/1 var(--display); text-transform: uppercase; margin: 0; }
.v-preco { margin: 0; }
.v-preco strong { font: 600 32px/1.1 var(--texto); font-variant-numeric: tabular-nums; }
.v-preco span { color: var(--tinta-2); font-size: 15px; }
.v-plano ul { margin: 6px 0 0; padding-left: 18px; color: var(--tinta-2); font-size: 15px; display: grid; gap: 6px; }
.v-planos-nota { margin: 20px 0 0; font-size: 15px; color: var(--tinta-2); max-width: 70ch; }
.v-limites li { padding: 16px 0; border-bottom: 1px solid var(--linha); font-size: 18px; }

.v-fechamento { padding: var(--secao) 0 24px; display: grid; gap: 28px; justify-items: start; }
.v-fechamento p { font: 400 clamp(44px, 9vw, 104px)/0.94 var(--display); text-transform: uppercase; margin: 0; max-width: 14ch; }

/* barra fixa no celular */
.v-fixa { position: fixed; left: 0; right: 0; bottom: 0; padding: 12px var(--gutter) calc(12px + env(safe-area-inset-bottom)); background: var(--papel); border-top: 1.5px solid var(--tinta); z-index: 10; }
.v-fixa[hidden] { display: none; }
@media (min-width: 900px) { .v-fixa { display: none !important; } }
@media (max-width: 899px) { body.vitrine.com-fixa { padding-bottom: 84px; } }

/* páginas de conta: entrar, link enviado, abrir o link, minhas provas */
.v-pagina { max-width: 560px; padding: 40px 0 0; }
.v-pagina h1 { font: 400 clamp(52px, 12vw, 80px)/0.92 var(--display); text-transform: uppercase; margin: 0 0 16px; text-wrap: balance; }
.v-pagina > .v-sobre { margin: 0 0 14px; }
.v-pagina > .v-lead { margin: 0 0 8px; }
.v-pagina > .v-botao { width: 100%; margin-top: 22px; }
.v-nota { margin: 14px 0 0; font-size: 14px; color: var(--tinta-2); }
.v-nota.mono { font-family: var(--mono); font-size: 13px; }
.v-ok { margin: 14px 0 0; color: var(--ok); font-weight: 500; }
.v-rodape-tela { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--linha); display: grid; gap: 6px; justify-items: start; }
.v-rodape-tela p { margin: 0; font-size: 15px; color: var(--tinta-2); }
.v-rodape-tela strong { color: var(--tinta); }
.v-rodape-tela .v-form, .v-rodape-tela .v-sub-titulo { width: 100%; }
.v-carimbo.neutro { border-color: var(--tinta-2); color: var(--tinta-2); justify-self: start; margin: 0 0 22px; }
.v-pagina > .v-carimbo.neutro { display: inline-grid; }

.v-enviado { display: grid; gap: 18px; justify-items: start; }
.v-enviado h2 { font: 400 clamp(44px, 10vw, 64px)/0.92 var(--display); text-transform: uppercase; margin: 8px 0 0; outline: none; }
.v-enviado > .v-botao { width: 100%; }
.v-tres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; margin: 0; border-top: 1.5px solid var(--tinta); border-bottom: 1px solid var(--linha); }
.v-tres > div { padding: 12px 10px; border-left: 1px solid var(--linha); }
.v-tres > div:first-child { padding-left: 0; border-left: 0; }
.v-tres dt { font: 500 11px/1.3 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--tinta-2); }
.v-tres dd { margin: 2px 0 0; font-size: 15px; font-weight: 600; }
.v-naochegou { width: 100%; display: grid; gap: 4px; padding-top: 16px; border-top: 1px solid var(--linha); }
.v-naochegou p { margin: 0; font-size: 15px; color: var(--tinta-2); }
.v-naochegou strong { color: var(--tinta); }
.v-naochegou .v-acoes { gap: 0 22px; }
.v-naochegou .v-link { min-height: 44px; font-weight: 500; }
.v-resultado .v-enviado { border-top: 1.5px solid var(--tinta); padding-top: 16px; }

.v-lista { list-style: none; margin: 0 0 32px; padding: 0; border-top: 1.5px solid var(--tinta); }
.v-lista li { display: grid; gap: 4px; padding: 16px 0 12px; border-bottom: 1px solid var(--linha); }
.v-lista .v-meta { font-size: 14px; color: var(--tinta-2); }
.v-lista .v-meta.mono { font-size: 12.5px; }
.v-provas { margin: 24px 0 0; }
.v-item-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.v-item-topo strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.v-etiqueta { flex: none; padding: 2px 7px; border: 2px solid var(--carimbo); color: var(--carimbo); font: 400 13px/1.2 var(--display); letter-spacing: 0.04em; text-transform: uppercase; }
.v-etiqueta.espera { border: 1.5px dashed var(--tinta-2); color: var(--tinta-2); }
.v-etiqueta.neutra { border-color: var(--linha); color: var(--tinta-2); }
.v-provas .v-acoes { gap: 0 20px; margin-top: 2px; }
.v-provas .v-link { min-height: 40px; }
.v-vazio { margin-top: 28px; padding: 26px 0; border-top: 1.5px solid var(--tinta); border-bottom: 1px solid var(--linha); }
.v-vazio-titulo { margin: 0; font: 400 40px/0.95 var(--display); text-transform: uppercase; }
.v-vazio p + p { margin: 12px 0 0; font-size: 17px; }
.v-separador { border: 0; border-top: 1.5px dashed var(--linha); margin: 36px 0; }
.v-form { display: grid; gap: 12px; }
.v-form label { font-weight: 500; font-size: 15px; }
.v-form input { min-height: 52px; padding: 0 14px; font: inherit; border: 1.5px solid var(--tinta); border-radius: var(--raio); background: var(--papel); color: var(--tinta); }
.v-sub-titulo { font: 600 20px/1.3 var(--texto); margin: 0 0 16px; }

/* quanto custa: um plano só, em tipografia */
.v-preco-unico { display: grid; gap: 28px 72px; }
@media (min-width: 900px) { .v-preco-unico { grid-template-columns: 1fr 2fr; align-items: start; } }
.v-preco-cab .v-sobre { margin-bottom: 4px; }
.v-preco-grande { margin: 0; font: 400 clamp(72px, 14vw, 120px)/0.92 var(--display); text-transform: uppercase; }
.v-preco-unidade { margin: 6px 0 0; font-size: 19px; }
.v-preco-corpo ul { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1.5px solid var(--tinta); }
@media (min-width: 760px) { .v-preco-corpo ul { grid-template-columns: 1fr 1fr; column-gap: 40px; } }
.v-preco-corpo li { padding: 14px 0; border-bottom: 1px solid var(--linha); font-size: 17px; }
.v-preco-corpo .v-planos-nota { margin-top: 18px; }

/* sua conta, sem senha (só com o login ligado) */
.v-conta-faixa { margin-top: var(--secao); background: var(--tinta); color: var(--papel); padding: 48px var(--gutter); margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter)); display: grid; gap: 40px; }
@media (min-width: 900px) { .v-conta-faixa { padding: 80px 64px; margin-left: 0; margin-right: 0; border-radius: var(--raio); grid-template-columns: 5fr 7fr; gap: 64px; } }
.v-heroi + .v-conta-faixa { margin-top: 0; }
.v-conta-cab { display: grid; gap: 20px; justify-items: start; align-content: start; }
.v-conta-cab h2 { font: 400 clamp(44px, 7vw, 72px)/0.95 var(--display); text-transform: uppercase; margin: 0; }
.v-conta-cab p { margin: 0; font-size: 18px; max-width: 34ch; color: color-mix(in oklch, var(--papel) 78%, var(--tinta)); }
.v-beneficios { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px 40px; }
@media (min-width: 640px) { .v-beneficios { grid-template-columns: 1fr 1fr; } }
.v-beneficios li { display: grid; gap: 6px; align-content: start; padding-top: 16px; border-top: 1px solid color-mix(in oklch, var(--papel) 30%, var(--tinta)); }
.v-beneficios .v-num { font: 400 36px/1 var(--display); color: color-mix(in oklch, var(--carimbo) 72%, var(--papel)); }
.v-beneficios strong { font-size: 19px; font-weight: 600; }
.v-beneficios span:last-child { font-size: 16px; color: color-mix(in oklch, var(--papel) 78%, var(--tinta)); }

@media (min-width: 900px) { .v-recibo { padding: 24px 24px 22px; font-size: 15px; } .v-recibo dl { grid-template-columns: 96px 1fr; } .v-recibo dd { font-size: 14px; } }
/* o recibo de exemplo mora na faixa do pacote: é o que a pessoa leva */
.v-pacote { display: grid; grid-template-areas: "titulo" "texto" "recibo" "lista"; }
.v-pacote > h2 { grid-area: titulo; } .v-pacote > p { grid-area: texto; } .v-pacote > dl { grid-area: lista; }
.v-pacote-recibo { grid-area: recibo; margin: 0 0 32px; color: var(--tinta); }
@media (min-width: 900px) { .v-pacote { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 56px; grid-template-areas: "titulo recibo" "texto recibo" "lista recibo"; align-items: start; } .v-pacote-recibo { margin: 0; } }
