/* Lucinda Astróloga — folha de estilo única do site
   Conceito: o mapa como círculo. Seções calmas em papel de linho e musgo profundo,
   com a roda das 12 casas como assinatura visual e o latão (cor da chave) como acento. */
:root {
  /* Paleta (regra 60/30/10 sobre fundos neutros)
     Primária  verde oliva: marca, seções de destaque, cartões principais
     Secundária terra (vem do marrom atual): rótulos, ícones, detalhes e itálicos
     Destaque  lilás (vem do lilás atual): só botões de ação e estados ativos
     Neutros   linho e grafite quente: fundos, bordas e textos (sem preto ou branco puros) */
  --musgo: #4d5a41;      /* primária */
  --musgo-2: #3f4a35;    /* primária, hover */
  --salvia: #a9b39a;     /* linhas finas */
  --latao: #8a5a3c;      /* secundária: terra */
  --terra-claro: #e2c9a8;/* secundária sobre fundos escuros */
  --lilas: #755e94;      /* destaque: botões */
  --lilas-2: #644f81;    /* destaque, hover */
  --lilas-claro: #cdbfe0;/* destaque sobre o verde */
  --lilas-suave: #e9e2f1;/* selos ativos */
  --lilas-tinta: #4e3d66;
  --linho: #f8f6f1;      /* fundo principal */
  --linho-2: #efede6;    /* faixas e cartões */
  --campo: #fdfcf9;      /* campos de formulário */
  --tinta: #1f2421;      /* texto principal */
  --tinta-2: #3e4540;    /* texto secundário */
  --claro: #faf7f1;      /* texto sobre verde */
  --claro-2: #e3e6da;    /* texto de apoio sobre verde */
  --cacau: #2f2721;      /* rodapé */
  --cacau-texto: #d9d2c9;
  --cacau-mudo: #a39a90;
  --cacau-linha: #463c34;
  --sombra: rgba(43, 38, 34, .18);

  /* Duas fontes: Fraunces leve (títulos) e Jost (texto) */
  --f-display: "Fraunces", Georgia, "Times New Roman", serif;
  --f-corpo: "Jost", "Segoe UI", system-ui, -apple-system, sans-serif;
  --f-rotulo: var(--f-corpo);

  /* Escala tipográfica */
  /* desktop / mobile */
  --t-xs: .8125rem;                                   /* 13px: selos, botões, menu */
  --t-s: clamp(1rem, .96rem + .2vw, 1.0625rem);       /* 16-17px: textos de apoio */
  --t-m: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);   /* 17-19px: parágrafos */
  --t-l: clamp(1.25rem, 1.15rem + .4vw, 1.375rem);    /* 20-22px: citações, perguntas */
  --t-h3: clamp(1.5rem, 1.35rem + .55vw, 1.875rem);   /* 24-30px */
  --t-xl: clamp(2rem, 1.35rem + 2vw, 2.75rem);        /* H2: 32 / 44px */
  --t-2xl: clamp(2.25rem, 1.55rem + 2.75vw, 3.75rem); /* H1: 36 / 60px */

  /* Escala de espaçamento */
  --e-rotulo: 1rem;       /* etiqueta → título: 16px */
  --e-titulo: 1.75rem;    /* título → parágrafo: 28px */
  --e-paragrafo: 1.25rem; /* entre parágrafos: 20px */
  --e-botoes: 2rem;       /* texto → botões: 32px */
  --e-bloco: 3.5rem;      /* blocos relacionados: 56px */
  --e-secao: clamp(4.5rem, 2.6rem + 6vw, 8rem); /* seções: 72px celular / ~124px desktop */
  --texto-max: 37.5rem;   /* 600px */

  --largura: 72rem;
  --gutter: clamp(1rem, .5rem + 2.5vw, 2.5rem);
  --raio: 999px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body {
  margin: 0; background: var(--linho); color: var(--tinta);
  font-family: var(--f-corpo); font-size: var(--t-m); line-height: 1.6;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--latao); outline-offset: 3px; border-radius: 4px; }

h1, h2, h3 { font-family: var(--f-display); font-weight: 300; line-height: 1.15; text-wrap: balance; margin: 0; letter-spacing: 0; font-variation-settings: "SOFT" 30; }
h1 { font-size: var(--t-2xl); line-height: 1.1; }
h2 { font-size: var(--t-xl); }
h3 { font-size: var(--t-h3); line-height: 1.25; }
p { margin: 0; text-wrap: pretty; }
.rotulo { font-family: var(--f-rotulo); font-size: var(--t-xs); font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--musgo); }
.lead { font-size: var(--t-m); line-height: 1.6; color: var(--tinta-2); max-width: var(--texto-max); }
.texto { max-width: var(--texto-max); display: grid; gap: var(--e-paragrafo); }

.wrap { width: 100%; max-width: var(--largura); margin-inline: auto; padding-inline: var(--gutter); }
.secao { padding-block: var(--e-secao); }
.secao--verde { background: var(--musgo); color: var(--claro); }
.secao--verde .lead, .secao--verde .texto p { color: var(--claro-2); }
.secao--verde .rotulo { color: var(--terra-claro); }
.secao--faixa { background: var(--linho-2); }
.pilha { display: grid; gap: var(--e-titulo); }
.pilha--l { display: grid; gap: var(--e-bloco); }

/* Cabeçalho */
.topo { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: color-mix(in srgb, var(--linho) 92%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid color-mix(in srgb, var(--salvia) 35%, transparent); }
.topo .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .85rem; }
.marca--insta { font-family: var(--f-corpo); font-size: var(--t-m); font-weight: 500; letter-spacing: .02em; }
.marca { display: flex; align-items: center; gap: .6rem; text-decoration: none; font-family: var(--f-display); font-size: 1.5rem; font-weight: 300; line-height: 1.1; }
.marca svg { width: 28px; height: 28px; color: var(--latao); }
.marca small { display: block; font-family: var(--f-rotulo); font-weight: 400; font-size: .62rem; letter-spacing: .18em; color: var(--tinta-2); text-transform: uppercase; line-height: 1; }
.menu { display: flex; align-items: center; gap: 2rem; font-size: var(--t-xs); font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.menu a { text-decoration: none; color: var(--tinta-2); }
.menu a:hover, .menu a[aria-current="page"] { color: var(--tinta); }
.menu a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--latao); text-underline-offset: 6px; }
.menu-botao { display: none; background: none; border: 1px solid var(--salvia); border-radius: var(--raio); padding: .45rem .9rem; font: inherit; font-size: var(--t-s); color: var(--tinta); cursor: pointer; }
@media (max-width: 860px) {
  .menu-botao { display: inline-flex; }
  .menu { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: var(--linho); border-bottom: 1px solid var(--linho-2); padding: .5rem var(--gutter) 1rem; }
  .menu.aberto { display: flex; }
  .menu a { padding: .7rem 0; border-bottom: 1px solid var(--linho-2); }
  .menu .botao { margin-top: .75rem; justify-content: center; }
}

/* Botões */
.botao { display: inline-flex; align-items: center; justify-content: center; text-align: center; gap: .55rem; min-height: 3rem; padding: .9rem 1.75rem; border-radius: var(--raio); text-decoration: none; font-weight: 500; font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; line-height: 1.3; border: 1px solid transparent; transition: background .2s, color .2s, border-color .2s; cursor: pointer; font-family: var(--f-corpo); }
.botao--cheio { background: var(--lilas); color: var(--claro); box-shadow: 0 2px 10px rgba(117, 94, 148, .25); }
.botao--cheio:hover { background: var(--lilas-2); }
.botao--linha { border-color: var(--tinta); color: var(--tinta); background: transparent; }
.botao--linha:hover { background: var(--tinta); color: var(--linho); }
.botao--latao { background: var(--lilas-claro); color: var(--tinta); }
.botao--latao:hover { background: var(--claro); }
.secao--verde .botao--linha { border-color: var(--claro); color: var(--claro); }
.secao--verde .botao--linha:hover { background: var(--claro); color: var(--musgo); }
.acoes { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; }
.texto + .acoes, .lead + .acoes, .texto--claro + .acoes { margin-top: calc(var(--e-botoes) - var(--e-bloco)); }
.menu .botao { color: var(--claro); }
.menu a.botao:hover { color: var(--claro); }

/* Hero */
.hero { padding-block: clamp(3rem, 1.5rem + 5vw, 6.5rem) var(--e-secao); }
.hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: center; }
.hero-texto { display: grid; gap: var(--e-titulo); min-width: 0; }
.hero-texto .rotulo + h1 { margin-top: calc(var(--e-rotulo) - var(--e-titulo)); }
.hero-texto .lead + .lead { margin-top: calc(var(--e-paragrafo) - var(--e-titulo)); }
.hero-texto .acoes { margin-top: calc(var(--e-botoes) - var(--e-titulo)); }
.hero-texto .lead { max-width: 37.5rem; }
.hero h1 em { font-style: italic; font-weight: 300; color: var(--latao); }
.hero-foto { position: relative; justify-self: center; width: min(100%, 30rem); }
.hero-foto img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
.hero-foto .roda { position: absolute; inset: -7%; width: 114%; height: 114%; color: var(--salvia); pointer-events: none; }
.hero-foto--retrato img { aspect-ratio: 4/5; border-radius: 50% 50% 1.25rem 1.25rem / 40% 40% 1.25rem 1.25rem; object-position: center 20%; }
.selos { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; font-size: var(--t-s); color: var(--tinta-2); padding: 0; margin: 0; list-style: none; }
.selos li { display: flex; align-items: center; gap: .5rem; }
.selos li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--musgo); }
.selos strong { color: var(--tinta); font-weight: 600; }
@media (max-width: 860px) {
  .hero .wrap { grid-template-columns: 1fr; }
  .hero-foto { order: -1; width: min(78%, 22rem); }
}

/* Pergunta de abertura */
.pergunta { font-family: var(--f-display); font-weight: 300; font-style: normal; font-size: var(--t-xl); line-height: 1.15; max-width: 46rem; text-wrap: balance; }

/* Caminhos (produtos) */
.caminhos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.caminho { display: grid; grid-template-rows: auto auto 1fr auto; gap: .9rem; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--linho); border: 1px solid color-mix(in srgb, var(--salvia) 45%, transparent); border-radius: 1.25rem; min-width: 0; }
.caminho--destaque { background: var(--musgo); color: var(--claro); border-color: var(--musgo); }
.caminho .preco { font-family: var(--f-display); font-size: 1.375rem; font-weight: 300; }
.caminho p { color: var(--tinta-2); }
.caminho--destaque p { color: var(--claro-2); }
.caminho .acoes { margin-top: .5rem; }
.selo-status { justify-self: start; font-size: var(--t-xs); font-weight: 600; letter-spacing: .04em; padding: .25rem .7rem; border-radius: var(--raio); background: var(--linho-2); color: var(--tinta-2); }
.caminho--destaque .selo-status { background: var(--musgo-2); color: var(--claro); }
.selo-status--aberto { background: var(--lilas-suave); color: var(--lilas-tinta); }
@media (max-width: 720px) { .caminhos { grid-template-columns: 1fr; } }

/* A linguagem do mapa */
.mapa-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.mapa-svg { width: 100%; max-width: 28rem; justify-self: center; color: var(--claro); }
.elementos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 2rem; margin: 0; }
.elementos div { display: grid; gap: .35rem; border-top: 1px solid color-mix(in srgb, var(--salvia) 55%, transparent); padding-top: 1rem; }
.elementos dt { font-family: var(--f-display); font-size: var(--t-h3); font-weight: 300; line-height: 1.2; }
.elementos dd { margin: 0; color: var(--claro-2); font-size: var(--t-s); }
.secao:not(.secao--verde) .elementos dd { color: var(--tinta-2); }
@media (max-width: 860px) { .mapa-grid { grid-template-columns: 1fr; } .mapa-svg { max-width: 20rem; } }
@media (max-width: 480px) { .elementos { grid-template-columns: 1fr; } }

/* Sobre */
.duas { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.duas--inverso { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.foto-arco { width: 100%; max-width: 26rem; justify-self: center; }
.foto-arco img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 14rem 14rem 1rem 1rem; }
.citacao { font-family: var(--f-display); font-size: var(--t-l); line-height: 1.3; font-style: italic; border-left: 2px solid var(--latao); padding-left: 1.25rem; color: var(--tinta); }
.secao--verde .citacao { color: var(--claro); border-left-color: var(--terra-claro); }
@media (max-width: 860px) { .duas, .duas--inverso { grid-template-columns: 1fr; } .duas--inverso .foto-arco { order: -1; } .foto-arco { max-width: 20rem; } }

/* É / não é */
.contraste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.contraste > div { padding: clamp(1.25rem, 3vw, 2rem); border-radius: 1.25rem; display: grid; gap: 1rem; align-content: start; min-width: 0; }
.contraste .sim { background: var(--linho); border: 1px solid color-mix(in srgb, var(--salvia) 45%, transparent); }
.contraste .nao { background: transparent; border: 1px dashed color-mix(in srgb, var(--tinta-2) 45%, transparent); }
.lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.lista li { position: relative; padding-left: 1.6rem; }
.lista li::before { content: ""; position: absolute; left: 0; top: .62em; width: .7rem; height: .7rem; border: 1.5px solid var(--musgo); border-radius: 50%; }
.contraste .nao .lista li { color: var(--tinta-2); }
.contraste .nao .lista li::before { border-radius: 0; border: 0; height: 1.5px; top: .9em; background: var(--tinta-2); }
@media (max-width: 720px) { .contraste { grid-template-columns: 1fr; } }

/* Passos */
.passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.25rem; counter-reset: passo; }
.passos li { counter-increment: passo; display: grid; gap: .5rem; align-content: start; padding-top: 1.25rem; border-top: 1px solid color-mix(in srgb, var(--salvia) 60%, transparent); min-width: 0; }
.passos li::before { content: counter(passo); font-family: var(--f-display); font-size: 1.6rem; color: var(--musgo); line-height: 1; }
.passos p { color: var(--tinta-2); font-size: var(--t-s); }
.secao--verde .passos p { color: var(--claro-2); }
.secao--verde .passos li::before { color: var(--terra-claro); }

/* De → para */
.travessia { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.travessia blockquote { margin: 0; font-family: var(--f-display); font-size: var(--t-l); line-height: 1.3; padding: 1.5rem; border-radius: 1rem; background: var(--linho-2); }
.travessia blockquote:last-child { background: var(--musgo); color: var(--claro); }
.travessia .seta { font-family: var(--f-display); font-size: 2rem; color: var(--musgo); }
@media (max-width: 720px) { .travessia { grid-template-columns: 1fr; } .travessia .seta { transform: rotate(90deg); justify-self: center; } }

/* Conteúdo da aula */
.chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.chips li { padding: .4rem .9rem; border: 1px solid color-mix(in srgb, var(--salvia) 70%, transparent); border-radius: var(--raio); font-size: var(--t-s); }

/* Oferta */
.oferta { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 2rem; align-items: center; padding: clamp(1.75rem, 4vw, 3rem); border-radius: 1.5rem; background: var(--linho); border: 1px solid color-mix(in srgb, var(--latao) 50%, transparent); }
.oferta .valor { display: grid; gap: .35rem; justify-items: start; }
.oferta .valor .grande { font-family: var(--f-display); font-size: clamp(2.2rem, 1.6rem + 2.5vw, 3.2rem); line-height: 1; font-variant-numeric: tabular-nums; }
.oferta .valor small { color: var(--tinta-2); font-size: var(--t-s); }
@media (max-width: 720px) { .oferta { grid-template-columns: 1fr; } }

/* Perguntas frequentes */
.faq { display: grid; gap: 0; max-width: 48rem; }
.faq details { border-top: 1px solid color-mix(in srgb, var(--salvia) 55%, transparent); padding-block: 1.1rem; }
.faq details:last-child { border-bottom: 1px solid color-mix(in srgb, var(--salvia) 55%, transparent); }
.faq summary { cursor: pointer; list-style: none; font-family: var(--f-display); font-weight: 300; font-size: var(--t-l); line-height: 1.3; display: flex; justify-content: space-between; gap: 1rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--musgo); font-size: 1.5rem; line-height: 1; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin-top: 1rem; color: var(--tinta-2); max-width: var(--texto-max); }

/* Formulário lista de espera */
.form { display: grid; gap: 1rem; padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--linho); color: var(--tinta); border-radius: 1.5rem; min-width: 0; }
.form .campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.form label { display: grid; gap: .35rem; font-size: var(--t-s); font-weight: 600; min-width: 0; }
.form .inteiro { grid-column: 1 / -1; }
.form input, .form select, .form textarea { font: inherit; font-weight: 400; padding: .75rem .9rem; border-radius: .6rem; border: 1px solid color-mix(in srgb, var(--salvia) 80%, transparent); background: var(--campo); color: var(--tinta); width: 100%; }
.form textarea { min-height: 6rem; resize: vertical; }
.form .nota { font-size: var(--t-xs); color: var(--tinta-2); }
.form .retorno { padding: 1rem; border-radius: .75rem; background: var(--lilas-suave); color: var(--lilas-tinta); }
@media (max-width: 560px) { .form .campos { grid-template-columns: 1fr; } }

/* Rodapé */
.rodape { background: var(--cacau); color: var(--cacau-texto); font-size: var(--t-s); padding-block: 3.5rem 2.5rem; }
.rodape .wrap { display: grid; gap: 2.5rem; }
.rodape-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; }
.rodape h2 { font-size: var(--t-s); font-family: var(--f-rotulo); letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: var(--terra-claro); margin-bottom: .9rem; }
.rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.rodape a { text-decoration: none; }
.rodape a:hover { color: var(--claro); text-decoration: underline; }
.rodape .marca { color: var(--claro); }
.rodape .marca small { color: var(--cacau-mudo); }
.rodape .legal { border-top: 1px solid var(--cacau-linha); padding-top: 1.5rem; font-size: var(--t-xs); color: var(--cacau-mudo); display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: space-between; }
@media (max-width: 720px) { .rodape-grid { grid-template-columns: 1fr; } }

/* WhatsApp flutuante */
.whats { position: fixed; right: 1rem; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); z-index: 30; display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1.1rem; border-radius: var(--raio); background: var(--musgo); color: var(--claro); text-decoration: none; font-size: var(--t-s); font-weight: 600; box-shadow: 0 6px 24px var(--sombra); }
.whats svg { width: 20px; height: 20px; }
@media (max-width: 480px) { .whats span { display: none; } .whats { padding: .85rem; } }

/* Entrada suave */
@keyframes surgir { from { opacity: .001; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.hero-texto > * { animation: surgir .7s ease-out both; }
.hero-texto > *:nth-child(2) { animation-delay: .08s; }
.hero-texto > *:nth-child(3) { animation-delay: .16s; }
.hero-texto > *:nth-child(4) { animation-delay: .24s; }
@keyframes girar { to { transform: rotate(360deg); } }
.hero-foto .roda { animation: girar 240s linear infinite; }

/* Cartões de caminho com subtítulo e detalhes */
.caminho { display: flex; flex-direction: column; }
.caminho .selo-status { align-self: flex-start; }
.caminho .subtitulo { font-family: var(--f-display); font-style: italic; font-weight: 400; font-size: var(--t-l); line-height: 1.3; color: var(--tinta); }
.caminho--destaque .subtitulo { color: var(--terra-claro); }
.caminho .detalhe { font-size: var(--t-xs); letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-2); }
.caminho--destaque .detalhe { color: var(--claro-2); }
.caminho .acoes { margin-top: auto; padding-top: .5rem; }
.caminhos .caminho { height: 100%; }
.lista--titulos li strong { display: block; font-weight: 500; color: var(--tinta); }
.lista--titulos li span { color: var(--tinta-2); font-size: var(--t-s); }
.frase { font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.4rem); line-height: 1.25; max-width: 50rem; text-wrap: balance; margin: 0; }
.frase-faixa { text-align: center; }
.frase-faixa .frase { margin-inline: auto; }
.frase-faixa .frase::before { content: ""; display: block; width: 3rem; height: 1px; background: var(--latao); margin: 0 auto 1.5rem; }
.secao--verde .texto--claro p { color: var(--claro-2); }
.elementos--longo dd { font-size: var(--t-s); }

/* Ritmo entre elementos dentro dos blocos */
.pilha--l > .pilha + .texto, .pilha--l > h2 + .texto, .pilha--l > .pergunta + .texto { margin-top: calc(var(--e-titulo) - var(--e-bloco)); }
.caminho { gap: 1rem; }
.caminho h3 + .subtitulo { margin-top: -.35rem; }
.elementos { gap: 2rem 2.5rem; }
.elementos dd, .passos p, .lista--titulos li span { line-height: 1.55; }
@media (max-width: 560px) { .botao { width: 100%; } .caminho .acoes .botao { width: auto; } }
.citacao { max-width: 40rem; }
/* @ do Instagram no topo: delicado */
.topo .marca--insta { font-family: var(--f-corpo); font-size: .875rem; font-weight: 400; letter-spacing: .06em; color: var(--tinta-2); gap: .45rem; }
.topo .marca--insta svg { width: 20px; height: 20px; }
.topo .marca--insta:hover { color: var(--tinta); }

/* Capa da home: foto de fundo à direita, blur atrás do texto */
.hero--capa { position: relative; overflow: hidden; isolation: isolate; min-height: clamp(36rem, 82vh, 54rem); display: flex; align-items: center; }
.hero--capa .wrap { display: block; position: relative; z-index: 2; }
.hero--capa .hero-texto { max-width: 36rem; }
.capa { position: absolute; inset: 0; z-index: 0; background: var(--linho-2); }
.capa-blur { position: absolute; inset: -60px; background: url("img/lucinda-astrologa-retrato-blur.webp") 70% 30% / cover no-repeat; filter: blur(36px) saturate(.85); }
.capa-foto { position: absolute; top: 0; right: 0; width: 62%; height: 100%; object-fit: cover; object-position: 50% 18%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 32%); mask-image: linear-gradient(90deg, transparent 0, #000 32%); }
.capa::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, color-mix(in srgb, var(--linho) 90%, transparent) 0%, color-mix(in srgb, var(--linho) 78%, transparent) 40%, color-mix(in srgb, var(--linho) 0%, transparent) 66%); }
@media (max-width: 860px) {
  .hero--capa { display: block; min-height: 0; padding-top: 0; }
  .capa { position: relative; inset: auto; background: none; }
  .capa-blur, .capa::after { display: none; }
  .capa-foto { position: static; width: 100%; height: auto; aspect-ratio: 4 / 5; max-height: 34rem; object-position: 50% 15%;
    -webkit-mask-image: linear-gradient(180deg, #000 62%, transparent 96%); mask-image: linear-gradient(180deg, #000 62%, transparent 96%); }
  .hero--capa .wrap { margin-top: -1rem; }
}

h3, .elementos dt, .faq summary { font-weight: 400; }

/* Vitrine dos produtos */
.secao--produtos { position: relative; overflow: hidden; }
.secao--produtos .wrap { position: relative; }
.caminhos { gap: 1.5rem; }
.caminho { padding: 0 0 clamp(1.5rem, 3vw, 2rem); overflow: hidden; background: var(--linho); box-shadow: 0 10px 30px color-mix(in srgb, var(--tinta) 7%, transparent); border: 0; }
.caminho > :not(.caminho-foto) { margin-inline: clamp(1.5rem, 3vw, 2rem); }
.caminho--destaque { background: var(--musgo); }
.caminho-foto { position: relative; margin-bottom: .5rem; }
.caminho-foto img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 22%; }
.caminho-foto .selo-status { position: absolute; left: 1rem; top: 1rem; background: color-mix(in srgb, var(--linho) 92%, transparent); color: var(--tinta); backdrop-filter: blur(6px); }
.caminho-foto .selo-status--aberto { background: var(--lilas-suave); color: var(--lilas-tinta); }
.caminho--destaque .caminho-foto .selo-status { background: var(--musgo); color: var(--claro); }

/* ---------- Ondas entre blocos ---------- */
.onda-topo, .onda-base { position: relative; }
.onda-topo { --onda-cima: var(--linho); padding-top: calc(var(--e-secao) + 3rem); }
.onda-base { --onda-baixo: var(--linho-2); padding-bottom: calc(var(--e-secao) + 3rem); }
.onda-topo::before, .onda-base::after { content: ""; position: absolute; left: 0; right: 0; height: clamp(2.5rem, 5vw, 5rem); pointer-events: none; z-index: 1;
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.onda-topo::before { top: -1px; background: var(--onda-cima);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V34C1210 78 980 6 720 30S230 82 0 30Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V34C1210 78 980 6 720 30S230 82 0 30Z'/%3E%3C/svg%3E"); }
.onda-base::after { bottom: -1px; background: var(--onda-baixo);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80H1440V44C1180 4 960 70 700 48S220 2 0 46Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80H1440V44C1180 4 960 70 700 48S220 2 0 46Z'/%3E%3C/svg%3E"); }

/* ---------- Seção "Você já percebeu": trio de detalhes ---------- */
.trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; align-items: center; max-width: 30rem; justify-self: center; width: 100%; }
.trio img { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 999px; box-shadow: 0 12px 30px color-mix(in srgb, var(--tinta) 10%, transparent); }
.trio img:nth-child(2) { transform: translateY(-2.5rem); }
.trio img:nth-child(3) { transform: translateY(1.5rem); }
@media (max-width: 860px) { .trio { max-width: 22rem; order: -1; margin-bottom: 1rem; } }

/* ---------- Produtos: vitrine organizada ---------- */
.secao--produtos { overflow: visible; }
.cabeca-central { text-align: center; justify-items: center; }
.cabeca-central .texto { margin-inline: auto; }
.secao--produtos .caminhos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1.75rem; }
.secao--produtos .caminho { background: transparent; box-shadow: none; border: 0; padding: 0; text-align: center; align-items: center; color: var(--claro); gap: .85rem; }
.secao--produtos .caminho > :not(.caminho-foto) { margin-inline: 0; }
.secao--produtos .caminho p { color: var(--claro-2); font-size: var(--t-s); }
.secao--produtos .caminho .subtitulo { color: var(--terra-claro); font-size: 1.125rem; }
.secao--produtos .caminho-foto { width: 100%; max-width: 15rem; margin: 0 auto .75rem; }
.secao--produtos .caminho-foto img { aspect-ratio: 3 / 4; border-radius: 999px 999px 1.25rem 1.25rem; box-shadow: 0 14px 34px rgba(0, 0, 0, .18); }
.secao--produtos .caminho-foto .selo-status { left: 50%; top: auto; bottom: -.8rem; transform: translateX(-50%); width: max-content; max-width: 92%; text-align: center; background: var(--linho); color: var(--tinta); }
.secao--produtos .caminho-foto .selo-status--aberto { background: var(--lilas-suave); color: var(--lilas-tinta); }
.secao--produtos .caminho h3 { font-size: clamp(1.375rem, 1.25rem + .4vw, 1.625rem); margin-top: .5rem; }
.secao--produtos .caminho .acoes { justify-content: center; margin-top: auto; padding-top: .75rem; }
.secao--produtos .caminho .botao--linha { border-color: var(--claro); color: var(--claro); }
.secao--produtos .caminho .botao--linha:hover { background: var(--claro); color: var(--musgo); }
@media (max-width: 1080px) { .secao--produtos .caminhos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .secao--produtos .caminhos { grid-template-columns: 1fr; gap: 3.5rem; } .secao--produtos .caminho .acoes .botao { width: 100%; } }

/* ---------- Linguagem do mapa em fundo claro ---------- */
.secao--mapa .mapa-svg { color: var(--musgo); }
.secao--mapa .mapa-svg circle[fill], .secao--mapa .mapa-svg text[fill="#e2c9a8"] { fill: var(--latao); }
.secao--mapa .texto--claro p { color: var(--tinta-2); }
.secao--mapa .elementos div { border-top-color: color-mix(in srgb, var(--musgo) 35%, transparent); }

/* Fechamento: onda vem do bloco claro anterior */
.secao--final { --onda-cima: var(--linho); }

/* Frase no topo (no lugar do @) */
.topo .marca--frase { font-family: var(--f-corpo); font-size: var(--t-xs); font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--musgo); gap: .55rem; }
.topo .marca--frase svg { width: 20px; height: 20px; }
@media (max-width: 1080px) { .topo .marca--frase span { display: none; } }

/* Celular: topo centralizado e botões mais discretos */
@media (max-width: 720px) {
  .hero--capa .hero-texto { text-align: center; margin-inline: auto; }
  .hero--capa .acoes, .hero--capa .selos { justify-content: center; }
}
@media (max-width: 560px) {
  .botao { padding: .75rem 1.25rem; min-height: 2.75rem; letter-spacing: .1em; }
  .hero--capa .acoes { flex-direction: column; align-items: center; }
  .hero--capa .acoes .botao { width: auto; }
}

/* Celular: título sobre a foto (foto deslocada à direita), texto centralizado abaixo */
@media (max-width: 720px) {
  .hero--capa { display: grid; grid-template-columns: 1fr; }
  .hero--capa .wrap, .hero--capa .hero-texto { display: contents; }
  .capa { grid-row: 1; grid-column: 1; height: min(34rem, 128vw); overflow: hidden; }
  .capa-foto { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; object-position: 22% 12%;
    -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, #000 70%, transparent 100%); }
  .capa::after { display: block; background:
    linear-gradient(90deg, color-mix(in srgb, var(--linho) 92%, transparent) 0%, color-mix(in srgb, var(--linho) 70%, transparent) 38%, transparent 62%),
    linear-gradient(0deg, var(--linho) 0%, transparent 30%); }
  .hero--capa h1 { grid-row: 1; grid-column: 1; z-index: 2; align-self: end; justify-self: start; text-align: left;
    max-width: 62%; margin: 0 0 1.5rem var(--gutter, 1.25rem); font-size: clamp(1.9rem, 8.4vw, 2.4rem); line-height: 1.1; }
  .hero--capa .lead, .hero--capa .acoes, .hero--capa .selos { margin-inline: var(--gutter, 1.25rem); text-align: center; justify-content: center; }
  .hero--capa .lead { margin-top: .5rem; }
  .hero--capa .acoes { margin-top: 1.75rem; }
  .hero--capa .selos { margin-top: 1.5rem; margin-bottom: 1rem; }
}
@media (max-width: 720px) {
  .capa { background: var(--linho); }
  .capa-foto { left: 30%; width: 85%; object-position: 50% 10%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28%), linear-gradient(180deg, #000 70%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 28%), linear-gradient(180deg, #000 70%, transparent 100%);
    -webkit-mask-composite: source-in; mask-composite: intersect; }
  .capa::after { background: linear-gradient(0deg, var(--linho) 0%, transparent 25%); }
  .hero--capa h1 { max-width: 56%; }
}
@media (max-width: 720px) { .hero--capa h1 { font-size: clamp(1.75rem, 7.6vw, 2.2rem); max-width: 58%; } }

/* Topo mais leve */
.menu { font-weight: 400; letter-spacing: .08em; font-size: .78rem; gap: 1.75rem; }
.topo .marca--frase { font-weight: 400; letter-spacing: .08em; font-size: .78rem; }
@media (max-width: 720px) { .hero--capa h1 { max-width: 50%; } .capa-foto { left: 36%; width: 80%; } }

/* Produtos em cartões claros: título, etiqueta, texto e botão em destaque */
.secao--produtos .caminho { background: var(--linho); color: var(--tinta); border-radius: 1.25rem; padding: 0 0 clamp(1.5rem, 3vw, 2rem); box-shadow: 0 14px 34px rgba(0, 0, 0, .16); text-align: center; align-items: center; gap: .8rem; overflow: hidden; }
.secao--produtos .caminho > :not(.caminho-foto) { margin-inline: clamp(1.25rem, 2.2vw, 1.75rem); }
.secao--produtos .caminho-foto { max-width: none; margin: 0 0 .5rem; }
.secao--produtos .caminho-foto img { aspect-ratio: 4 / 3; border-radius: 0; box-shadow: none; object-position: 50% 20%; }
.secao--produtos .caminho h3 { color: var(--tinta); margin-top: .25rem; }
.secao--produtos .caminho .selo-status { position: static; transform: none; align-self: center; width: auto; max-width: 100%; background: color-mix(in srgb, var(--musgo) 14%, var(--linho)); color: var(--musgo); font-weight: 500; font-size: .8rem; letter-spacing: .04em; padding: .35rem .85rem; border-radius: 999px; }
.secao--produtos .caminho .selo-status--aberto { background: var(--lilas-suave); color: var(--lilas-tinta); }
.secao--produtos .caminho .subtitulo { color: var(--tinta); font-size: 1.0625rem; }
.secao--produtos .caminho p { color: var(--tinta-2); }
.secao--produtos .caminho .botao--linha { border-color: var(--tinta); color: var(--tinta); }
.secao--produtos .caminho .botao--linha:hover { background: var(--tinta); color: var(--linho); }
.secao--produtos .caminhos { gap: 1.5rem 1.25rem; }
@media (max-width: 560px) { .secao--produtos .caminhos { gap: 1.75rem; } }
.topo .marca--frase .frase-curta { display: none; }
@media (max-width: 1080px) { .topo .marca--frase span.frase-curta { display: inline; font-family: var(--f-display); font-size: 1.25rem; font-weight: 300; letter-spacing: 0; text-transform: none; color: var(--tinta); } }
/* Etiquetas dos produtos com mais destaque */
.secao--produtos .caminho .selo-status { background: var(--musgo); color: var(--claro); font-size: .8125rem; }
.secao--produtos .caminho .selo-status--aberto { background: var(--lilas); color: var(--claro); }

/* Efeito ao passar o mouse nos botões: sobe levemente, sombra mais funda e seta aparece */
.botao { transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease, letter-spacing .25s ease; }
@media (hover: hover) {
  .botao:hover { transform: translateY(-2px); letter-spacing: .14em; }
  .botao--cheio:hover { box-shadow: 0 10px 24px rgba(117, 94, 148, .35); }
  .botao--linha:hover, .botao--latao:hover { box-shadow: 0 8px 20px rgba(0, 0, 0, .12); }
}
.botao:active { transform: translateY(0); }
.botao:focus-visible { outline: 2px solid var(--lilas); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .botao, .botao:hover { transition: none; transform: none; } }
html { scroll-padding-top: 5rem; }
/* Etiquetas dos produtos: só contorno, como o botão da lista de espera */
.secao--produtos .caminho .selo-status, .secao--produtos .caminho .selo-status--aberto { background: transparent; color: var(--tinta); border: 1px solid var(--tinta); font-weight: 500; font-size: .75rem; letter-spacing: .06em; padding: .3rem .9rem; }
/* Produtos em 2 x 2 no computador */
.secao--produtos .caminhos { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 62rem; margin-inline: auto; gap: 2rem; }
.secao--produtos .caminho-foto img { aspect-ratio: 16 / 9; object-position: 50% 25%; }
.secao--produtos .caminho > :not(.caminho-foto) { margin-inline: clamp(1.5rem, 3vw, 2.75rem); }
.secao--produtos .caminho p { font-size: var(--t-m); }
@media (max-width: 720px) { .secao--produtos .caminhos { grid-template-columns: 1fr; gap: 1.75rem; } .secao--produtos .caminho-foto img { aspect-ratio: 4 / 3; } }
/* Cartões: subtítulo maior, explicação menor */
.secao--produtos .caminho .subtitulo { font-size: clamp(1.25rem, 1.1rem + .4vw, 1.4rem); font-weight: 300; line-height: 1.3; }
.secao--produtos .caminho p:not(.subtitulo) { font-size: .9375rem; line-height: 1.6; }
.secao--produtos .caminho p:not(.subtitulo) { text-align: justify; text-align-last: center; hyphens: auto; -webkit-hyphens: auto; align-self: stretch; }
/* Sombra mais marcada nos cartões de produto, e leve elevação ao passar o mouse */
.secao--produtos .caminho { box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 18px 40px -8px rgba(0, 0, 0, .45); transition: transform .3s ease, box-shadow .3s ease; }
@media (hover: hover) { .secao--produtos .caminho:hover { transform: translateY(-4px); box-shadow: 0 4px 8px rgba(0, 0, 0, .14), 0 28px 56px -10px rgba(0, 0, 0, .55); } }

/* Produtos no estilo da primeira versão: cartões claros com borda, texto à esquerda, Consultoria em destaque */
.secao--caminhos .caminhos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; max-width: 62rem; margin-inline: auto; }
.secao--caminhos .caminho { display: flex; flex-direction: column; align-items: flex-start; gap: .9rem; text-align: left; padding: clamp(1.75rem, 3vw, 2.5rem); background: var(--linho); border: 1px solid color-mix(in srgb, var(--salvia) 45%, transparent); border-radius: 1.25rem; box-shadow: 0 10px 30px color-mix(in srgb, var(--tinta) 8%, transparent); transition: transform .3s ease, box-shadow .3s ease; }
.secao--caminhos .caminho > * { margin-inline: 0; }
@media (hover: hover) { .secao--caminhos .caminho:hover { transform: translateY(-3px); box-shadow: 0 16px 40px color-mix(in srgb, var(--tinta) 14%, transparent); } }
.secao--caminhos .caminho h3 { font-size: var(--t-h3); color: var(--tinta); margin: 0; }
.secao--caminhos .caminho .selo-status { position: static; align-self: flex-start; background: transparent; color: var(--tinta); border: 1px solid var(--tinta); font-size: .75rem; font-weight: 500; letter-spacing: .06em; padding: .3rem .9rem; border-radius: 999px; }
.secao--caminhos .caminho .subtitulo { font-size: var(--t-l); font-style: italic; font-weight: 300; color: var(--tinta); margin: 0; }
.secao--caminhos .caminho p { color: var(--tinta-2); font-size: var(--t-s); line-height: 1.6; }
.secao--caminhos .caminho .acoes { margin-top: auto; padding-top: .75rem; justify-content: flex-start; }
.secao--caminhos .caminho--destaque { background: var(--musgo); border-color: var(--musgo); }
.secao--caminhos .caminho--destaque h3, .secao--caminhos .caminho--destaque .subtitulo { color: var(--claro); }
.secao--caminhos .caminho--destaque p { color: var(--claro-2); }
.secao--caminhos .caminho--destaque .selo-status { color: var(--claro); border-color: var(--claro); }
@media (max-width: 720px) { .secao--caminhos .caminhos { grid-template-columns: 1fr; } .secao--caminhos .caminho .acoes .botao { width: 100%; } }
.secao--caminhos .caminho p.subtitulo { line-height: 1.3; font-size: var(--t-l); color: var(--tinta); } .secao--caminhos .caminho--destaque p.subtitulo { color: var(--claro); }
/* Fundo verde de volta; etiqueta à direita do cartão */
.secao--caminhos .caminho { border-color: transparent; box-shadow: 0 2px 4px rgba(0, 0, 0, .1), 0 18px 40px -10px rgba(0, 0, 0, .4); }
.secao--caminhos .caminho .selo-status { align-self: flex-end; }
.secao--caminhos .caminho--destaque { background: var(--musgo-2); border: 1px solid color-mix(in srgb, var(--claro) 35%, transparent); }
.secao--caminhos .caminho .botao--linha { border-color: var(--tinta); color: var(--tinta); } .secao--caminhos .caminho .botao--linha:hover { background: var(--tinta); color: var(--linho); }
/* Título dourado em duas linhas, etiqueta ao lado */
.secao--caminhos .caminho-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; width: 100%; }
.secao--caminhos .caminho h3 { color: #9a7434; line-height: 1.15; }
.secao--caminhos .caminho--destaque h3 { color: #d9b77a; }
.secao--caminhos .caminho-topo .selo-status { align-self: flex-start; flex-shrink: 0; margin-top: .35rem; white-space: nowrap; }
@media (max-width: 480px) { .secao--caminhos .caminho-topo { flex-direction: column; gap: .75rem; } }
.secao--caminhos .caminho h3 { font-size: clamp(1.375rem, 1.2rem + .5vw, 1.625rem); }
.secao--caminhos .caminho-topo .selo-status { white-space: normal; max-width: 44%; text-align: center; line-height: 1.35; }
/* Mandala do mapa, bem clarinha, atrás da Metodologia autoral */
#metodologia { position: relative; isolation: isolate; overflow: hidden; }
#metodologia::before { content: ""; position: absolute; z-index: -1; pointer-events: none; width: min(56rem, 120vw); aspect-ratio: 1; right: -12rem; top: 50%; transform: translateY(-50%); background: url("img/mandala-mapa.webp") center / contain no-repeat; opacity: .09; }
@media (max-width: 720px) { #metodologia::before { right: -40vw; opacity: .07; } }
/* Etiqueta numa linha só, ao lado do título também no celular; subtítulo menor */
.secao--caminhos .caminho-topo .selo-status { white-space: nowrap; max-width: none; }
.secao--caminhos .caminho .subtitulo, .secao--caminhos .caminho p.subtitulo { font-size: clamp(1.0625rem, 1rem + .25vw, 1.1875rem); }
@media (max-width: 480px) {
  .secao--caminhos .caminho { padding: 1.5rem 1.25rem; }
  .secao--caminhos .caminho-topo { flex-direction: row; gap: .6rem; }
  .secao--caminhos .caminho h3 { font-size: 1.3rem; }
  .secao--caminhos .caminho-topo .selo-status { font-size: .625rem; letter-spacing: .02em; padding: .25rem .6rem; margin-top: .2rem; }
}
@media (min-width: 481px) { .secao--caminhos .caminho-topo .selo-status { letter-spacing: .02em; padding: .3rem .75rem; font-size: .7rem; } .secao--caminhos .caminho-topo { gap: .75rem; } }
/* Títulos dos produtos com mais presença; complementos mais discretos */
.secao--caminhos .caminho h3 { color: #86602a; font-weight: 500; font-size: clamp(1.5rem, 1.25rem + .8vw, 1.9rem); line-height: 1.1; letter-spacing: -.005em; }
.secao--caminhos .caminho--destaque h3 { color: #e3c48a; }
.secao--caminhos .caminho-topo { padding-bottom: 1rem; border-bottom: 1px solid color-mix(in srgb, #86602a 30%, transparent); }
.secao--caminhos .caminho--destaque .caminho-topo { border-bottom-color: color-mix(in srgb, #e3c48a 30%, transparent); }
.secao--caminhos .caminho .subtitulo, .secao--caminhos .caminho p.subtitulo { font-size: 1.0625rem; color: var(--tinta-2); }
.secao--caminhos .caminho--destaque p.subtitulo { color: var(--claro-2); }
@media (max-width: 480px) { .secao--caminhos .caminho h3 { font-size: 1.4rem; } }
.secao--caminhos .caminho h3 { font-size: clamp(1.5rem, 1.3rem + .6vw, 1.75rem); flex: 1 1 auto; min-width: 0; }
.secao--caminhos .cabeca-central h2 { color: #e3c48a; }
/* Trio: aceita vídeo e fica menos oval */
.trio > img, .trio > video { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 2.75rem; box-shadow: 0 12px 30px color-mix(in srgb, var(--tinta) 10%, transparent); display: block; }
.trio > :nth-child(2) { transform: translateY(-2.5rem); }
.trio > :nth-child(3) { transform: translateY(1.5rem); }
@media (max-width: 560px) { .trio > img, .trio > video { border-radius: 1.75rem; } }
/* Sobre: foto em formato orgânico ocupando o bloco de cima a baixo */
#sobre .duas { align-items: stretch; }
#sobre .foto-arco { max-width: none; height: 100%; position: relative; }
#sobre .foto-arco::before { content: ""; position: absolute; inset: 4% -4% -3% 6%; border-radius: 58% 42% 52% 48% / 44% 56% 44% 56%; background: color-mix(in srgb, var(--salvia) 28%, transparent); z-index: 0; }
#sobre .foto-arco picture, #sobre .foto-arco img { position: relative; z-index: 1; display: block; height: 100%; }
#sobre .foto-arco img { aspect-ratio: auto; min-height: 30rem; object-position: 50% 30%; border-radius: 46% 54% 42% 58% / 38% 44% 56% 62%; }
@media (max-width: 860px) { #sobre .foto-arco { max-width: 22rem; height: auto; } #sobre .foto-arco img { min-height: 0; aspect-ratio: 4 / 5; } }
#sobre .foto-arco img { border-radius: 13rem 7rem 11rem 5rem / 11rem 9rem 13rem 7rem; }
#sobre .foto-arco::before { border-radius: 9rem 14rem 6rem 12rem / 12rem 8rem 14rem 9rem; inset: 3% -5% -3% 5%; }
@media (max-width: 860px) { #sobre .foto-arco img { border-radius: 8rem 4rem 7rem 3rem / 7rem 5rem 8rem 4rem; } #sobre .foto-arco::before { border-radius: 6rem 9rem 4rem 8rem / 8rem 5rem 9rem 6rem; } }
.secao--final .dourado, .secao--verde .dourado { color: #e3c48a; }
/* Faixa dourada diagonal "Lançamento" no canto de baixo do cartão */
.secao--caminhos .caminho--lancamento { position: relative; overflow: hidden; }
.faixa-lancamento { position: absolute; right: -3.4rem; bottom: 1.6rem; width: 13rem; transform: rotate(-35deg); text-align: center; padding: .45rem 0; background: linear-gradient(90deg, #b8893f, #e3c48a 50%, #b8893f); color: #2f2721; font-family: var(--f-corpo); font-weight: 500; font-size: .75rem; letter-spacing: .22em; text-transform: uppercase; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); pointer-events: none; z-index: 2; }
@media (max-width: 480px) { .faixa-lancamento { right: -3.8rem; bottom: 1.2rem; font-size: .6875rem; } }
.faixa-lancamento { right: -2.9rem; bottom: 2.3rem; width: 12rem; }
@media (max-width: 480px) { .faixa-lancamento { right: -3rem; bottom: 2rem; width: 11rem; } .secao--caminhos .caminho h3 { font-size: 1.25rem; } }
@media (max-width: 480px) { .faixa-lancamento { right: -3.3rem; bottom: 1.1rem; width: 10.5rem; font-size: .625rem; padding: .35rem 0; } }
@media (max-width: 480px) { .secao--caminhos .caminho--lancamento { padding-bottom: 4rem; } .faixa-lancamento { right: -2.8rem; bottom: 1.4rem; width: 11rem; font-size: .6875rem; padding: .4rem 0; } }
/* Faixa: atravessa o canto de borda a borda, um pouco mais alta */
.faixa-lancamento { width: 22rem; right: -6.2rem; bottom: 3.4rem; transform: rotate(-35deg); }
@media (max-width: 480px) { .faixa-lancamento { width: 18rem; right: -5.2rem; bottom: 2.4rem; } }
.faixa-lancamento { padding-right: 2.5rem; } @media (max-width: 480px) { .faixa-lancamento { padding-right: 2.25rem; } }
@media (max-width: 480px) { .faixa-lancamento { width: 11rem; right: -2.8rem; bottom: 1.4rem; padding-right: 0; } }
/* Celular: foto mais baixa e título centralizado logo abaixo */
@media (max-width: 720px) {
  .capa { height: min(24rem, 92vw); }
  .capa-foto { left: 0; width: 100%; object-position: 50% 14%;
    -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 100%); mask-image: linear-gradient(180deg, #000 72%, transparent 100%); -webkit-mask-composite: source-over; mask-composite: add; }
  .capa::after { background: linear-gradient(0deg, var(--linho) 0%, transparent 22%); }
  .hero--capa h1 { grid-row: 2; align-self: start; justify-self: center; text-align: center; max-width: none; margin: -1.25rem var(--gutter) 0; font-size: clamp(1.9rem, 8.2vw, 2.3rem); }
}
@media (max-width: 720px) { .hero--capa .lead { margin-top: 1rem; } }
/* Celular: selos lado a lado separados por | */
@media (max-width: 720px) {
  .hero--capa .selos { gap: .35rem 0; font-size: .8125rem; flex-wrap: wrap; justify-content: center; }
  .hero--capa .selos li { gap: .3rem; white-space: nowrap; }
  .hero--capa .selos li::before { display: none; }
  .hero--capa .selos li + li::after { content: none; }
  .hero--capa .selos li:not(:last-child)::after { content: "|"; margin-inline: .55rem; color: var(--tinta-2); opacity: .6; }
}
@media (max-width: 720px) { .hero--capa .selos { font-size: .71rem; flex-wrap: nowrap; margin-inline: .5rem; } .hero--capa .selos li:not(:last-child)::after { margin-inline: .4rem; } .hero--capa .selos li { gap: .2rem; } }
@media (max-width: 720px) { .hero--capa .selos { font-size: min(.71rem, 2.95vw); } }
@media (max-width: 720px) { .hero--capa .selos { margin-top: 2.5rem; } }
/* Indicador de rolagem animado (só celular) */
.rolar { display: none; }
@media (max-width: 720px) {
  .rolar { display: flex; flex-direction: column; align-items: center; gap: .5rem; margin: 2.25rem auto 0; text-decoration: none; color: #86602a; font-size: .6875rem; letter-spacing: .3em; text-transform: uppercase; }
  .rolar-linha { position: relative; width: 1px; height: 3.25rem; background: color-mix(in srgb, #86602a 25%, transparent); overflow: hidden; }
  .rolar-linha::after { content: ""; position: absolute; left: -2px; top: -.5rem; width: 5px; height: 5px; border-radius: 50%; background: #86602a; animation: rolar-desce 2.2s ease-in-out infinite; }
  .rolar-texto { padding-left: .3em; }
}
@keyframes rolar-desce { 0% { top: -.5rem; opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { top: 3.25rem; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .rolar-linha::after { animation: none; top: 40%; } }
@media (max-width: 720px) { .rolar-linha { overflow: visible; } .hero--capa { padding-bottom: 2.5rem; } }
/* Celular: menu não fica fixo; seta para voltar ao topo acima do WhatsApp */
.subir { display: none; }
@media (max-width: 720px) {
  .topo { position: relative; top: auto; }
  .subir { display: grid; place-items: center; position: fixed; right: 1rem; bottom: calc(5.1rem + env(safe-area-inset-bottom, 0px)); z-index: 30; width: 2.75rem; height: 2.75rem; margin-right: .3rem; border-radius: 50%; background: color-mix(in srgb, var(--linho) 94%, transparent); color: var(--musgo); border: 1px solid color-mix(in srgb, var(--musgo) 35%, transparent); box-shadow: 0 4px 16px var(--sombra); backdrop-filter: blur(6px); opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .3s ease, transform .3s ease; }
  .subir svg { width: 20px; height: 20px; }
  .subir.visivel { opacity: 1; pointer-events: auto; transform: none; }
  html { scroll-padding-top: 0; }
}
/* Indicador atravessando a divisa entre a capa e o verde */
@media (max-width: 720px) {
  .hero--capa { overflow: visible; padding-bottom: 3rem; }
  .rolar { position: absolute; left: 50%; bottom: 0; margin: 0; transform: translate(-50%, 50%); z-index: 5; }
  .rolar-linha { height: 4.5rem; background: linear-gradient(180deg, color-mix(in srgb, #86602a 45%, transparent) 0 50%, color-mix(in srgb, #e3c48a 55%, transparent) 50% 100%); }
  .rolar-linha::after { background: #b8893f; box-shadow: 0 0 0 3px color-mix(in srgb, #e3c48a 25%, transparent); }
}
@keyframes rolar-desce { 0% { top: -.25rem; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { top: 4.5rem; opacity: 0; } }
@media (max-width: 720px) {
  .hero--capa { z-index: 3; padding-bottom: 3.25rem; }
  .rolar-linha { height: 4rem; }
}
@keyframes rolar-desce { 0% { top: -.25rem; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { top: 4rem; opacity: 0; } }
.hero-texto > .rolar { animation: none; }

/* Signos: anéis bem clarinhos na área dos produtos, girando com a rolagem */
.secao--caminhos { position: relative; isolation: isolate; overflow: hidden; --giro: 0deg; }
.secao--caminhos::before { content: ""; position: absolute; z-index: -1; left: 50%; top: 2.5rem; width: min(40rem, 110vw); aspect-ratio: 1; background: url("img/signos-claro.webp") center / contain no-repeat; opacity: .13; transform: translateX(-50%) rotate(var(--giro)); pointer-events: none; }
.secao--caminhos .caminho { isolation: isolate; }
.secao--caminhos .caminho { position: relative; overflow: hidden; }
.secao--caminhos .caminho > * { position: relative; }
.secao--caminhos .caminho > .faixa-lancamento { position: absolute; }

/* Computador: signos girando em volta do mouse nos produtos */
.signos-cursor { position: fixed; left: 0; top: 0; width: 72px; height: 72px; z-index: 60; pointer-events: none; opacity: 0; transition: opacity .25s ease; }
.signos-cursor::before { content: ""; position: absolute; inset: 0; background: url("img/signos-claro.webp") center / contain no-repeat; animation: girar 9s linear infinite; }
.signos-cursor.ativo { opacity: .85; }
.signos-cursor.clique::before { animation-duration: .9s; }
.secao--caminhos .caminho .signos-cursor { display: none; }

/* Celular: signos girando por 1s antes de abrir a página */
.signos-abrindo { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; background: color-mix(in srgb, var(--musgo) 55%, transparent); backdrop-filter: blur(3px); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.signos-abrindo span { width: 9rem; aspect-ratio: 1; background: url("img/signos-claro.webp") center / contain no-repeat; }
.signos-abrindo.ativo { opacity: 1; pointer-events: auto; }
.signos-abrindo.ativo span { animation: girar 1s cubic-bezier(.4, 0, .2, 1) both; }
.signos-cursor { width: 110px; height: 110px; } .signos-abrindo span { width: 13rem; }
}
/* Anel dos signos na lateral, cortado e girando sem parar */
.secao--caminhos::before { right: auto; left: max(-22rem, -40vw); top: 50%; width: min(44rem, 90vw); transform: translateY(-50%) rotate(var(--giro)); opacity: .16; animation: girar-lateral 45s linear infinite; }
@keyframes girar-lateral { from { transform: translateY(-50%) rotate(0deg); } to { transform: translateY(-50%) rotate(360deg); } }
@media (max-width: 720px) { .secao--caminhos::before { right: auto; left: -55vw; width: 110vw; top: 18rem; opacity: .14; } }
/* Brilhinhos caindo do mouse nos botões */
.brilhinho { position: fixed; z-index: 9999; pointer-events: none; transform: translate(-50%, -50%); background: #f2cf86; box-shadow: 0 0 5px 2px rgba(196, 146, 58, .8), 0 0 1px 1px #fff6dc inset; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); animation: brilhinho-cai 900ms ease-in forwards; }
.brilhinho:nth-child(odd) { clip-path: none; border-radius: 50%; }
@keyframes brilhinho-cai { 0% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.4) rotate(90deg); } }
/* Mesmo com "reduzir animações" ligado no computador, a roda e os brilhinhos continuam (são suaves) */
@media (prefers-reduced-motion: reduce) { .secao--caminhos::before { animation: girar-lateral 45s linear infinite !important; } .brilhinho { animation: brilhinho-cai 900ms ease-in forwards !important; } }
/* ===== Alfabetização nova, depoimentos e rodapé (out/2026) ===== */
.falas { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem; }
.falas li { font-family: var(--f-display); font-style: italic; font-size: var(--t-l); padding: .6rem 1.2rem; border-radius: 2rem; background: var(--linho); border: 1px solid color-mix(in srgb, #86602a 35%, transparent); color: var(--tinta); }
.travessia blockquote small { display: block; font-family: var(--f-corpo); font-style: normal; font-size: var(--t-xs); letter-spacing: .14em; text-transform: uppercase; margin-bottom: .6rem; color: #86602a; }
.travessia blockquote:last-child small { color: #e3c48a; }
.modulos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.modulos li { display: grid; gap: .6rem; align-content: start; padding: 1.5rem; border-radius: 1.25rem; background: color-mix(in srgb, var(--musgo-2) 70%, transparent); border: 1px solid color-mix(in srgb, #e3c48a 30%, transparent); min-width: 0; }
.modulo-num { font-family: var(--f-display); font-size: 1.9rem; line-height: 1; color: #e3c48a; }
.modulos h3 { font-family: var(--f-display); font-weight: 400; font-size: 1.3rem; line-height: 1.25; color: var(--claro); }
.modulos h3 small { display: block; font-style: italic; font-size: 1rem; color: #e3c48a; margin-top: .2rem; }
.modulos p { color: var(--claro-2); font-size: var(--t-s); }
#conteudo .pilha > h2 { color: #e3c48a; }
.dica { padding: 1rem 1.25rem; border-left: 3px solid #86602a; background: var(--linho-2); border-radius: 0 .75rem .75rem 0; font-size: var(--t-s); max-width: var(--texto-max); }
.lista--colunas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 2.5rem; }
.destaque-linha { font-family: var(--f-display); font-style: italic; font-size: var(--t-l); line-height: 1.35; color: #86602a; max-width: 46rem; }
.pilha > .subtitulo { font-family: var(--f-display); font-style: italic; font-size: var(--t-l); color: #86602a; margin-top: -1rem; }
.oferta .rotulo { font-family: var(--f-corpo); font-size: var(--t-xs); letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: #86602a; margin-top: .5rem; }
.oferta .valor .miudo { font-size: var(--t-xs); max-width: 16rem; }
.depoimentos { list-style: none; margin: 0; padding: 0; columns: 3 18rem; column-gap: 1.25rem; }
.depo { break-inside: avoid; margin-bottom: 1.25rem; padding: 1.5rem 1.5rem 1.25rem; border-radius: 1.25rem; background: var(--linho); border: 1px solid color-mix(in srgb, var(--salvia) 50%, transparent); box-shadow: 0 6px 20px -14px var(--sombra); display: grid; gap: 1rem; }
.secao:not(.secao--faixa) .depo { background: var(--linho-2); }
.depo blockquote { margin: 0; position: relative; padding-top: 1.4rem; }
.depo blockquote::before { content: "“"; position: absolute; top: -.6rem; left: -.1rem; font-family: var(--f-display); font-size: 3.2rem; line-height: 1; color: #86602a; opacity: .6; }
.depo blockquote p { font-size: var(--t-s); line-height: 1.6; color: var(--tinta); }
.depo-autor { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; font-size: var(--t-xs); color: var(--tinta-2); border-top: 1px solid color-mix(in srgb, #86602a 25%, transparent); padding-top: .8rem; }
.depo-autor strong { color: var(--tinta); font-weight: 500; }
.estrelas { color: #b8893f; letter-spacing: .1em; width: 100%; }
.secao--final a:not(.botao) { color: #e3c48a; }
@media (max-width: 860px) { .modulos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .modulos, .lista--colunas { grid-template-columns: 1fr; }
  .falas li { font-size: 1.05rem; }
}
/* Rodapé: caminhos e redes */
.rodape-caminhos { display: grid; gap: .6rem; justify-items: start; align-content: start; }
.rodape-caminhos h2, .rodape-redes h2 { margin-bottom: .3rem; }
.rodape .botao--pequeno { padding: .6rem 1.2rem; font-size: .72rem; color: var(--claro); border-color: color-mix(in srgb, var(--cacau-texto) 60%, transparent); }
.rodape .botao--pequeno:hover { color: var(--cacau); background: var(--terra-claro); border-color: var(--terra-claro); text-decoration: none; }
.redes { display: flex; gap: .75rem; }
.redes a { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--cacau-texto) 45%, transparent); color: var(--claro); transition: background .2s, color .2s; }
.redes a:hover { background: var(--terra-claro); color: var(--cacau); border-color: var(--terra-claro); }
.redes svg { width: 1.25rem; height: 1.25rem; }
/* Alfabetização: mapa astral no lugar da foto */
.hero-mapa { justify-self: center; width: 100%; max-width: 31rem; padding: clamp(.75rem, 2vw, 1.5rem); background: #fff; border-radius: 2.5rem; border: 1px solid color-mix(in srgb, #86602a 30%, transparent); box-shadow: 0 18px 50px -24px var(--sombra); }
.hero-mapa img { display: block; width: 100%; height: auto; }
.hero-texto .lead:first-of-type { color: var(--tinta); }
.hero-texto .lead--apoio { margin-top: -.5rem; font-size: var(--t-s); }
@media (max-width: 720px) { .hero-mapa { max-width: 22rem; border-radius: 1.75rem; } }
/* Alfabetização: mapa como folha impressa */
.hero-folha { justify-self: center; width: 100%; max-width: 26rem; transform: rotate(2.5deg); }
.hero-folha img { display: block; width: 100%; height: auto; background: #fff; border-radius: 4px; box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 22px 45px -18px rgba(43,38,34,.35), -10px 12px 0 -2px #ece8df; }
@media (max-width: 720px) { .hero-folha { max-width: 19rem; margin-top: .5rem; } }
/* Alfabetização: Lucinda recortada na frente da folha do mapa */
.hero-composicao { position: relative; justify-self: center; width: 100%; max-width: 32rem; aspect-ratio: 1 / 1.08; }
.hero-composicao .hero-folha { position: absolute; top: 0; right: 0; width: 62%; height: auto; max-width: none; transform: rotate(4deg); background: #fff; border-radius: 4px; box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 22px 45px -18px rgba(43,38,34,.35); }
.hero-composicao .hero-lu { position: absolute; left: -4%; bottom: 0; width: 82%; height: auto; filter: drop-shadow(0 18px 24px rgba(43,38,34,.18)); }
@media (max-width: 720px) { .hero-composicao { max-width: 22rem; margin-top: .5rem; } .hero-composicao .hero-lu { left: 0; } }
/* Alfabetização: montagem da capa (Lucinda, notebook e mapa) */
.hero-capa-alfa { justify-self: center; width: 112%; max-width: 40rem; margin: -2rem -6% -2rem 0; }
.hero-capa-alfa img { display: block; width: 100%; height: auto; }
@media (max-width: 860px) { .hero-capa-alfa { width: 100%; max-width: 30rem; margin: 0 auto; } }
/* capa da Alfabetização maior */
.hero-capa-alfa { width: 125%; max-width: 46rem; margin: -3rem -14% -3rem -4%; }
@media (max-width: 860px) { .hero-capa-alfa { width: 108%; max-width: 34rem; margin: 0 -4%; } }
@media (min-width: 861px) { .hero-capa-alfa { width: 140%; max-width: 50rem; margin: -4rem -22% -4rem -8%; } }
.hero:has(.hero-capa-alfa) { overflow-x: clip; }
/* ===== Alfabetização: ajustes de out/2026 (2) ===== */
/* capa: título menor, montagem maior */
.hero--alfa h1 { font-size: clamp(2.1rem, 1.5rem + 1.9vw, 3.1rem); line-height: 1.08; }
.hero--alfa .wrap { grid-template-columns: .95fr 1.05fr; }
@media (min-width: 861px) { .hero-capa-alfa { width: 150%; max-width: 56rem; margin: -5rem -30% -5rem -12%; } }
.hero-capa-alfa picture { display: block; }
@media (max-width: 860px) {
  .hero--alfa .wrap { display: flex; flex-direction: column; gap: 0; }
  .hero--alfa .hero-texto { display: contents; }
  .hero--alfa h1 { order: 1; }
  .hero--alfa .hero-capa-alfa { order: 2; width: 112%; max-width: 34rem; margin: .5rem -6% .25rem; }
  .hero--alfa .lead { order: 3; margin-top: 1rem; }
  .hero--alfa .acoes { order: 4; margin-top: 1.75rem; }
}
/* bloco 2: verde com curva embaixo e frases com símbolo */
.secao--falas { background: var(--musgo); color: var(--claro); border-radius: 0 0 50% 50% / 0 0 clamp(2.5rem, 6vw, 6rem) clamp(2.5rem, 6vw, 6rem); position: relative; overflow: hidden; }
.secao--falas::before { content: ""; position: absolute; left: 50%; top: -18rem; width: 42rem; aspect-ratio: 1; transform: translateX(-50%); background: url("img/signos-claro.webp") center / contain no-repeat; opacity: .07; animation: girar-lateral-x 120s linear infinite; pointer-events: none; }
@keyframes girar-lateral-x { from { transform: translateX(-50%) rotate(0); } to { transform: translateX(-50%) rotate(360deg); } }
.secao--falas .wrap { position: relative; justify-items: center; text-align: center; }
.secao--falas .pergunta { color: #e3c48a; margin-inline: auto; }
.secao--falas .falas { justify-content: center; gap: 1rem; }
.secao--falas .falas li { display: grid; justify-items: center; gap: .6rem; min-width: 13rem; padding: 1.4rem 1.6rem 1.2rem; border-radius: 9rem 9rem 1.25rem 1.25rem; background: color-mix(in srgb, var(--musgo-2) 80%, transparent); border: 1px solid color-mix(in srgb, #e3c48a 40%, transparent); color: var(--claro); font-size: var(--t-l); }
.falas-simbolo { font-family: "DejaVu Sans", "Segoe UI Symbol", "Noto Sans Symbols", serif; font-style: normal; font-size: 2rem; line-height: 1; color: #e3c48a; }
.texto--centro { margin-inline: auto; text-align: center; }
/* De informações soltas: centralizado e largo */
.secao--centro .wrap { justify-items: center; text-align: center; }
.secao--centro h2 { margin-inline: auto; max-width: 52rem; }
.secao--centro .travessia { width: 100%; text-align: left; }
.texto--largo { max-width: 52rem; margin-inline: auto; font-size: var(--t-l); line-height: 1.55; }
/* módulos com fundo vivo */
.secao--viva { position: relative; overflow: hidden; isolation: isolate; }
.secao--viva .wrap { position: relative; z-index: 1; }
.viva-anel { position: absolute; z-index: 0; aspect-ratio: 1; background: url("img/signos-claro.webp") center / contain no-repeat; pointer-events: none; animation: girar 90s linear infinite; }
.viva-anel--a { width: 36rem; left: -16rem; top: -6rem; opacity: .1; }
.viva-anel--b { width: 22rem; right: -8rem; bottom: -5rem; opacity: .08; animation-direction: reverse; animation-duration: 70s; }
.viva-estrelas { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .55;
  background-image: radial-gradient(1.5px 1.5px at 12% 18%, #e3c48a 50%, transparent 51%), radial-gradient(1px 1px at 28% 62%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 44% 9%, #e3c48a 50%, transparent 51%), radial-gradient(1px 1px at 63% 40%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 78% 14%, #e3c48a 50%, transparent 51%), radial-gradient(1px 1px at 88% 70%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 8% 86%, #e3c48a 50%, transparent 51%), radial-gradient(1px 1px at 52% 92%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 95% 38%, #e3c48a 50%, transparent 51%), radial-gradient(1px 1px at 35% 30%, #fff 50%, transparent 51%);
  animation: piscar 5s ease-in-out infinite alternate; }
@keyframes piscar { from { opacity: .3; } to { opacity: .8; } }
@keyframes girar { to { transform: rotate(360deg); } }
.modulos li { backdrop-filter: blur(2px); }
.cta-meio { display: grid; justify-items: center; gap: .6rem; text-align: center; margin-top: .5rem; }
.cta-meio small { color: var(--claro-2); font-size: var(--t-xs); letter-spacing: .06em; }
.cta-meio .botao { min-width: 16rem; }
/* dourado */
.pergunta--dourada { color: #86602a; }
/* checklist */
.checklist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.checklist li { position: relative; padding: 1.4rem 1.4rem 1.3rem 3.6rem; border-radius: 1.25rem; background: var(--linho); border: 1px solid color-mix(in srgb, #86602a 25%, transparent); display: grid; gap: .35rem; align-content: start; min-width: 0; }
.checklist li::before { content: ""; position: absolute; left: 1.2rem; top: 1.45rem; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: #86602a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat; }
.checklist h3 { font-family: var(--f-display); font-weight: 400; font-size: 1.2rem; line-height: 1.25; color: var(--tinta); }
.checklist p { font-size: var(--t-s); color: var(--tinta-2); }
@media (max-width: 860px) { .checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .checklist { grid-template-columns: 1fr; }
  .viva-anel--a { width: 24rem; left: -12rem; }
  .secao--falas .falas li { min-width: 0; width: 100%; max-width: 20rem; }
  .texto--largo { font-size: var(--t-m); }
}
@media (max-width: 860px) { .hero--alfa .hero-texto .lead + .lead { margin-top: .9rem; } .hero--alfa .hero-capa-alfa { width: 118%; margin-inline: -9%; } }
/* ===== Alfabetização: ajustes (3) ===== */
@media (max-width: 860px) {
  .hero--alfa h1 { text-align: center; }
  .hero--alfa .hero-capa-alfa { width: 136%; max-width: none; margin: .25rem -18% 0; align-self: center; }
}
.dourado-forte { color: #e3c48a; font-weight: 600; }
/* botão preto vidro com borda dourada */
.botao--vidro { background: rgba(20, 22, 18, .55); color: #f6ecd6; border: 1px solid #e3c48a; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 30px -12px rgba(0,0,0,.5); }
.botao--vidro:hover { background: rgba(10, 12, 9, .75); color: #fff; border-color: #f0d9a8; }
/* consciência: frase com aspas grandes à direita (computador) */
.consciencia-grid { display: grid; gap: var(--e-bloco); }
.aspas-grande { position: relative; display: grid; gap: 2rem; justify-items: start; }
.aspas-grande p { position: relative; z-index: 1; font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(1.45rem, 1.1rem + 1.2vw, 2.1rem); line-height: 1.3; color: var(--tinta); }
.aspas-grande::before { content: "“"; position: absolute; z-index: 0; left: -1.5rem; top: -5.5rem; font-family: var(--f-display); font-size: 16rem; line-height: 1; color: #86602a; opacity: .16; pointer-events: none; }
@media (min-width: 861px) { .consciencia-grid { grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(3rem, 6vw, 6rem); } .aspas-grande { padding-left: 2rem; } }
@media (max-width: 860px) { .aspas-grande::before { font-size: 10rem; top: -3.5rem; left: -.5rem; } }
/* lista com check */
.lista--check li { padding-left: 2.1rem; }
.lista--check li::before { width: 1.25rem; height: 1.25rem; top: .2em; border: 0; border-radius: 50%; background: #86602a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 64% no-repeat; }
/* novos elementos de fundo (no lugar dos signos repetidos) */
.secao--falas::before { background-image: url("img/prato-estrelas.webp"); opacity: .14; width: 46rem; top: -20rem; }
.viva-anel--a { background-image: url("img/roda-zodiaco.webp"); left: 0; top: 50%; width: auto; height: 46rem; aspect-ratio: 384 / 753; transform: translateY(-50%); opacity: .14; animation: none; }
.viva-anel--b { background-image: url("img/prato-estrelas.webp"); width: 26rem; right: -9rem; bottom: -7rem; opacity: .12; }
@media (max-width: 720px) { .viva-anel--a { height: 30rem; top: 18rem; transform: none; } .viva-anel--b { width: 18rem; right: -7rem; } }
.depo-autor { border-top-width: 1px; }
@media (max-width: 860px) { .hero--alfa .hero-capa-alfa { width: 145%; margin: 0 0 0 -33%; } }
/* ===== Alfabetização: ajustes (4) ===== */
.modulos h3 { color: var(--lilas-claro); }
.modulos h3 small { color: #e3c48a; opacity: .7; }
.viva-anel--b { display: none; }
.aspas-grande p { color: #86602a; }
.botao--vidro-lilas { background: rgba(255,255,255,.35); color: var(--lilas-tinta); border: 1.5px solid var(--lilas); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 10px 28px -14px rgba(78,61,102,.45); }
.botao--vidro-lilas:hover { background: rgba(255,255,255,.6); color: var(--lilas-2); border-color: var(--lilas-2); }
.destaque-linha--centro { text-align: center; margin-inline: auto; }
/* depoimentos: vidro escuro, diferente do resto da página */
.secao--escura { background: radial-gradient(ellipse at 20% 10%, #2c3328 0%, transparent 55%), radial-gradient(ellipse at 85% 90%, #3a2f45 0%, transparent 50%), #121411; color: var(--claro); position: relative; overflow: hidden; }
.secao--escura::before { content: ""; position: absolute; right: -10rem; top: -8rem; width: 34rem; aspect-ratio: 1; background: url("img/prato-estrelas.webp") center / contain no-repeat; opacity: .08; pointer-events: none; }
.secao--escura .wrap { position: relative; }
.secao--escura h2 { color: #e3c48a; }
.secao.secao--escura .depo { background: rgba(255,255,255,.06); border: 1px solid rgba(227,196,138,.25); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 20px 40px -24px rgba(0,0,0,.8); }
.secao--escura .depo blockquote p { color: #ece6da; }
.secao--escura .depo blockquote::before { color: #e3c48a; opacity: .8; }
.depo { gap: 0; }
.secao--escura .depoimentos { columns: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.25rem; align-items: start; } .secao--escura .depo { margin-bottom: 0; }

/* ===== Alfabetização · ajustes 17:39 ===== */
/* foto orgânica da Lucinda */
.foto-organica { position: relative; }
.foto-organica::before { content: ""; position: absolute; inset: 4% -5% -3% 6%; border-radius: 9rem 14rem 6rem 12rem / 12rem 8rem 14rem 9rem; background: color-mix(in srgb, var(--salvia) 30%, transparent); z-index: 0; }
.foto-organica picture, .foto-organica img { position: relative; z-index: 1; display: block; }
.foto-organica img { border-radius: 13rem 7rem 11rem 5rem / 11rem 9rem 13rem 7rem; }

/* depoimentos em carrossel */
.secao--escura .texto--centro, .secao--escura .texto--centro h2 { text-align: center; margin-inline: auto; }
.carrossel { position: relative; width: 100%; }
.carrossel-faixa { display: flex; width: max-content; animation: carrossel-anda 70s linear infinite; }
.carrossel:hover .carrossel-faixa { animation-play-state: paused; }
.carrossel-trilho { display: flex; gap: 1.25rem; padding: 0 1.25rem 0 0; margin: 0; list-style: none; }
.carrossel { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.secao.secao--escura .carrossel .depo { flex: 0 0 22rem; margin: 0; }
.carrossel-pontos { display: none; }
@keyframes carrossel-anda { from { transform: translateX(0); } to { transform: translateX(-25%); } }
@media (prefers-reduced-motion: reduce) { .carrossel-faixa { animation-duration: 70s; } }
@media (max-width: 720px) {
  .carrossel { -webkit-mask-image: none; mask-image: none; overflow: visible; }
  .carrossel-faixa { animation: none; width: 100%; display: block; }
  .carrossel .carrossel-copia { display: none; }
  .carrossel-trilho { display: grid; padding: 0; }
  .secao.secao--escura .carrossel .depo { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
  .secao.secao--escura .carrossel .depo.ativo { opacity: 1; visibility: visible; }
  .carrossel-pontos { display: flex; justify-content: center; gap: .6rem; margin-top: 1.25rem; }
  .carrossel-pontos button { width: .6rem; height: .6rem; padding: 0; border-radius: 50%; border: 1px solid #e3c48a; background: transparent; cursor: pointer; }
  .carrossel-pontos button.ativo { background: #e3c48a; }
}

/* investimento centralizado */
.oferta .valor { justify-items: center; text-align: center; }
.oferta .valor .miudo { font-style: italic; }
.carrossel { width: 100vw; margin-inline: calc(50% - 50vw); -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.secao.secao--escura .carrossel .depo { display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 720px) { .carrossel { width: 100%; margin-inline: 0; -webkit-mask-image: none; mask-image: none; } .secao.secao--escura .carrossel .depo { display: block; } }
.oferta .valor .miudo a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }

/* ===== Depoimentos em vitrine: o do meio em destaque ===== */
.vitrine { position: relative; width: 100vw; margin-inline: calc(50% - 50vw); overflow: hidden; padding: 1rem 0; }
.vitrine-palco { position: relative; list-style: none; margin: 0; padding: 0; }
.secao.secao--escura .vitrine-card {
  position: absolute; left: 50%; top: 50%; width: min(30rem, 78vw); margin: 0;
  transform: translate(-50%, -50%) scale(.8); opacity: 0; pointer-events: none;
  transition: transform .9s cubic-bezier(.4,0,.2,1), opacity .9s ease, border-color .9s ease, box-shadow .9s ease;
}
.secao.secao--escura .vitrine-card[data-pos="0"] { transform: translate(-50%, -50%) scale(1); opacity: 1; z-index: 3; pointer-events: auto; border-color: rgba(227,196,138,.6); box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 30px 60px -28px rgba(0,0,0,.9), 0 0 40px -10px rgba(227,196,138,.25); }
.secao.secao--escura .vitrine-card[data-pos="1"] { transform: translate(calc(-50% + min(27rem, 70vw)), -50%) scale(.82); opacity: .4; z-index: 2; pointer-events: auto; cursor: pointer; }
.secao.secao--escura .vitrine-card[data-pos="-1"] { transform: translate(calc(-50% - min(27rem, 70vw)), -50%) scale(.82); opacity: .4; z-index: 2; pointer-events: auto; cursor: pointer; }
.secao.secao--escura .vitrine-card[data-pos="2"] { transform: translate(calc(-50% + min(50rem, 130vw)), -50%) scale(.7); }
.secao.secao--escura .vitrine-card[data-pos="-2"] { transform: translate(calc(-50% - min(50rem, 130vw)), -50%) scale(.7); }
.vitrine .carrossel-pontos { display: flex; justify-content: center; gap: .6rem; margin-top: 1.5rem; }
.vitrine .carrossel-pontos button { width: .6rem; height: .6rem; padding: 0; border-radius: 50%; border: 1px solid #e3c48a; background: transparent; cursor: pointer; }
.vitrine .carrossel-pontos button.ativo { background: #e3c48a; }
@media (max-width: 720px) {
  .secao.secao--escura .vitrine-card { width: 80vw; }
  .secao.secao--escura .vitrine-card[data-pos="1"] { transform: translate(calc(-50% + 84vw), -50%) scale(.85); opacity: .35; }
  .secao.secao--escura .vitrine-card[data-pos="-1"] { transform: translate(calc(-50% - 84vw), -50%) scale(.85); opacity: .35; }
}
.vitrine { overflow: visible; overflow-x: clip; padding: 3rem 0 0; }
.vitrine-palco { transition: height .9s cubic-bezier(.4,0,.2,1); }
.secao.secao--escura .vitrine-card[data-pos="1"], .secao.secao--escura .vitrine-card[data-pos="-1"] { opacity: .45; }
.secao.secao--escura .vitrine-card[data-pos="1"] { transform: translate(calc(-50% + min(29rem, 70vw)), -50%) scale(.82); }
.secao.secao--escura .vitrine-card[data-pos="-1"] { transform: translate(calc(-50% - min(29rem, 70vw)), -50%) scale(.82); }
@media (max-width: 720px) {
  .secao.secao--escura .vitrine-card[data-pos="1"] { transform: translate(calc(-50% + 80vw), -50%) scale(.85); }
  .secao.secao--escura .vitrine-card[data-pos="-1"] { transform: translate(calc(-50% - 80vw), -50%) scale(.85); }
}

/* ===== Consultoria: mais verde e dourado, menos roxo ===== */
.pg-consultoria-astrologica .botao--cheio { background: var(--musgo); color: var(--linho); border: 1px solid #c9a96a; box-shadow: 0 2px 12px rgba(77, 90, 65, .25); }
.pg-consultoria-astrologica .botao--cheio:hover { background: var(--musgo-2); box-shadow: 0 10px 26px rgba(134, 96, 42, .3); }
.pg-consultoria-astrologica .botao--linha { border-color: #86602a; color: #86602a; }
.pg-consultoria-astrologica .botao--linha:hover { background: #86602a; color: var(--linho); }
.pg-consultoria-astrologica h1 .dourado { color: #86602a; font-style: italic; }
.pg-consultoria-astrologica .selos li::before { background: #86602a; }
.pg-consultoria-astrologica .hero-foto img { box-shadow: 0 0 0 1px rgba(134, 96, 42, .45), 14px 14px 0 -1px color-mix(in srgb, var(--salvia) 35%, transparent); }
.pg-consultoria-astrologica .lista li::before { border-color: #86602a; }
.pg-consultoria-astrologica .travessia blockquote:first-child { border: 1px solid rgba(134, 96, 42, .35); }
.pg-consultoria-astrologica .travessia .seta { color: #86602a; }
.pg-consultoria-astrologica .contraste .sim { border-color: rgba(134, 96, 42, .45); background: color-mix(in srgb, var(--salvia) 10%, var(--linho)); }
.pg-consultoria-astrologica .depo { border-color: rgba(134, 96, 42, .3); }
.pg-consultoria-astrologica .depo blockquote::before { color: #86602a; }
.pg-consultoria-astrologica .oferta { border: 1px solid rgba(134, 96, 42, .55); background: linear-gradient(135deg, var(--linho) 55%, color-mix(in srgb, var(--salvia) 18%, var(--linho))); box-shadow: 0 24px 50px -34px rgba(77, 90, 65, .5); }
.pg-consultoria-astrologica .oferta .valor .grande { color: var(--musgo); }
.pg-consultoria-astrologica .oferta .valor > small:first-child { color: #86602a; letter-spacing: .14em; text-transform: uppercase; font-size: var(--t-xs); }
.pg-consultoria-astrologica .faq summary::after { color: #86602a; }
.pg-consultoria-astrologica .citacao { border-left-color: #86602a; color: var(--musgo); }
.pg-consultoria-astrologica .rodape .botao--linha { border-color: #e3c48a; color: #e3c48a; } .pg-consultoria-astrologica .rodape .botao--linha:hover { background: #e3c48a; color: #2d2620; }
.pg-consultoria-astrologica #como-funciona { background: linear-gradient(100deg, #2b3325 0%, #3f4a35 35%, #5a6a4b 75%, #6e7f5c 100%); }
@media (max-width: 720px) { .pg-consultoria-astrologica #como-funciona { background: linear-gradient(180deg, #2b3325 0%, #3f4a35 30%, #5a6a4b 75%, #6e7f5c 100%); } }

/* ===== Consultoria: antes e depois em formas orgânicas ===== */
.jornada { position: relative; display: grid; grid-template-columns: minmax(0, .85fr) 9rem minmax(0, 1.15fr); align-items: center; gap: 0; width: 100%; max-width: 62rem; margin-inline: auto; padding: 1rem 0; }
.jornada blockquote { margin: 0; font-family: var(--f-display); line-height: 1.35; position: relative; }
.jornada-antes { font-size: var(--t-m, 1.15rem); color: var(--tinta-2); padding: 2.2rem 2.4rem; background: var(--linho-2); border: 1px solid rgba(134, 96, 42, .3); border-radius: 62% 38% 55% 45% / 48% 58% 42% 52%; transform: rotate(-2deg); }
.jornada-depois { font-size: var(--t-l); color: var(--linho); padding: 3rem 3.2rem; background: radial-gradient(circle at 30% 25%, #5d6c4e, var(--musgo) 55%, var(--musgo-2)); border-radius: 42% 58% 46% 54% / 56% 42% 58% 44%; box-shadow: 0 0 0 1px rgba(201, 169, 106, .55), 0 30px 60px -30px rgba(63, 74, 53, .7); animation: jornada-flutua 7s ease-in-out infinite; }
.jornada-depois::after { content: ""; position: absolute; inset: -12px; border-radius: inherit; border: 1px dashed rgba(134, 96, 42, .45); animation: jornada-gira 40s linear infinite; pointer-events: none; }
.jornada-caminho { width: 100%; height: auto; overflow: visible; }
.jornada-caminho path { fill: none; stroke: #86602a; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.jornada-caminho path:first-child { stroke-dasharray: 4 6; }
.jornada-caminho circle { fill: #86602a; }
/* entrada ao rolar */
.jornada-antes, .jornada-caminho, .jornada-depois { opacity: 0; transition: opacity 1s ease, translate 1s cubic-bezier(.3,.7,.3,1); }
.jornada-antes { translate: -1.5rem 0; }
.jornada-caminho { transition-delay: .35s; }
.jornada-depois { translate: 1.5rem 0; transition-delay: .7s; }
.jornada.visivel .jornada-antes, .jornada.visivel .jornada-caminho, .jornada.visivel .jornada-depois { opacity: 1; translate: 0 0; }
@keyframes jornada-flutua { 0%, 100% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-8px) rotate(-.5deg); } }
@keyframes jornada-gira { to { transform: rotate(360deg); } }
.jornada-depois::after { animation: none; }
@media (max-width: 720px) {
  .jornada { grid-template-columns: 1fr; justify-items: center; }
  .jornada-antes { max-width: 85%; justify-self: start; padding: 1.8rem 2rem; }
  .jornada-caminho { width: 6rem; transform: rotate(80deg); margin: .5rem 0; }
  .jornada-depois { padding: 2.4rem 2.2rem; justify-self: end; max-width: 95%; }
}
.jornada-depois { padding: 3.6rem 4.2rem; }
.jornada-antes { padding: 2.4rem 2.8rem; }
@media (max-width: 720px) { .jornada-depois { padding: 3rem 3rem 3.2rem 3.2rem; font-size: 1.2rem; } .jornada-antes { padding: 2rem 2.4rem; } }

/* Consultoria: depoimentos escuros em verde e dourado (sem roxo) */
.pg-consultoria-astrologica .secao--escura { background: radial-gradient(ellipse at 20% 10%, #33402c 0%, transparent 55%), radial-gradient(ellipse at 85% 90%, rgba(134, 96, 42, .28) 0%, transparent 50%), #141812; }
.pg-consultoria-astrologica .secao.secao--escura .depo { border-color: rgba(227, 196, 138, .25); }
.pg-consultoria-astrologica .secao--escura .depo blockquote::before { color: #e3c48a; }
.pg-consultoria-astrologica main > section { overflow-x: clip; }
#sobre h2 .dourado { color: #86602a; font-style: italic; }
