/* Polymind · tema escuro. Space Grotesk; fundo quase preto, tinta clara, menta como ação; logos com brilho da própria marca. */
:root {
  --fundo: #08090d;
  --fundo-2: #11131a;
  --fundo-3: #181b24;
  --tinta: #f2f3f7;
  --tinta-2: #a3a8b8;
  --linha: #262a36;
  --acao: #7cf5c8;
  --acao-hover: #a6fadb;
  --acao-tinta: #04140e;
  --margem: clamp(16px, 4vw, 48px);
  --secao: clamp(100px, 12vw, 180px);
  --fonte: "Space Grotesk", system-ui, sans-serif;
  --curva: cubic-bezier(.2, .7, .2, 1);
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--fundo); color: var(--tinta); font: 400 18px/1.6 var(--fonte); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3 { font-weight: 700; letter-spacing: -0.03em; line-height: 1.02; margin: 0; }
h2 { font-size: clamp(2.2rem, 4.6vw, 4.2rem); }
h3 { font-size: 1.3rem; line-height: 1.2; letter-spacing: -0.01em; }
p, ul { margin: 0; }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--acao); outline-offset: 3px; }
::selection { background: var(--acao); color: var(--acao-tinta); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Barra */
.barra { position: relative; z-index: 2; display: flex; align-items: center; gap: 32px; max-width: 1360px; margin: 0 auto; padding: 22px var(--margem); }
.marca { font-weight: 700; font-size: 1.5rem; letter-spacing: -0.03em; text-decoration: none; }
.barra nav { display: flex; gap: 32px; margin-left: auto; }
.barra nav a { text-decoration: none; color: var(--tinta-2); font-weight: 500; transition: color 160ms; }
.barra nav a:hover { color: var(--tinta); }
.acao-barra { text-decoration: none; font-weight: 700; background: var(--acao); color: var(--acao-tinta); padding: 10px 22px; border-radius: 999px; transition: background 160ms, transform 160ms var(--curva); }
.acao-barra:hover { background: var(--acao-hover); }
.acao-barra:active { transform: scale(.97); }

/* Botões em pílula */
.botao { display: inline-block; background: var(--acao); color: var(--acao-tinta); padding: 17px 32px; border-radius: 999px; font: 700 1.05rem var(--fonte);
  text-decoration: none; border: 0; cursor: pointer; text-align: center; transition: background 160ms, transform 160ms var(--curva); }
.botao:hover { background: var(--acao-hover); }
.botao:active { transform: scale(.97); }
.botao.fantasma { background: transparent; color: var(--tinta); box-shadow: inset 0 0 0 1.5px var(--linha); }
.botao.fantasma:hover { box-shadow: inset 0 0 0 1.5px var(--tinta-2); }

/* Seções: largura máxima comum */
main > section { max-width: 1360px; margin: 0 auto; padding-left: var(--margem); padding-right: var(--margem); }
.cabeca { display: grid; gap: 16px; max-width: 760px; }
.cabeca p { max-width: 60ch; }
.cabeca p { color: var(--tinta-2); font-size: 1.2rem; }

/* Hero: texto à esquerda, órbita com brilho à direita */
.hero { position: relative; display: grid; grid-template-columns: 6fr 6fr; gap: clamp(24px, 4vw, 64px); align-items: center; padding-top: clamp(32px, 5vw, 72px); }
.hero::before { content: ""; position: absolute; inset: -20% -10% -10% 40%; background: radial-gradient(closest-side, rgba(124, 245, 200, .14), transparent 70%),
  radial-gradient(closest-side at 70% 60%, rgba(79, 140, 255, .14), transparent 70%); pointer-events: none; z-index: -1; }
.hero h1 { font-size: clamp(2.6rem, 4.7vw, 5rem); }
.apoio { font-size: clamp(1.1rem, 1.5vw, 1.35rem); color: var(--tinta-2); max-width: 38ch; margin-top: 32px; }
.acoes { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 36px; }
.selo-preco { margin-top: 24px; color: var(--tinta-2); }
.selo-preco b { color: var(--tinta); }

/* Órbita: blocos escuros com brilho da cor de cada marca */
.orbita { position: relative; width: 100%; max-width: 620px; aspect-ratio: 1; justify-self: center; }
.orbita ul { list-style: none; margin: 0; padding: 0; }
.astro { position: absolute; left: 0; top: 0; width: 15%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 24%;
  background: linear-gradient(160deg, #1d2130, #0d0f16); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--brilho) 55%, transparent),
  0 0 24px -2px color-mix(in srgb, var(--brilho) 45%, transparent), 0 0 64px -8px color-mix(in srgb, var(--brilho) 35%, transparent);
  will-change: transform; }
.astro img { width: 56%; height: 56%; filter: drop-shadow(0 0 6px color-mix(in srgb, var(--brilho) 70%, transparent)); }
.astro img[src*="openai"], .astro img[src*="grok"], .astro img[src*="ollama"] { filter: invert(1) drop-shadow(0 0 6px rgba(255, 255, 255, .5)); }
html:not(.js) .orbita { aspect-ratio: auto; }
html:not(.js) .orbita ul { display: flex; flex-wrap: wrap; gap: 14px; }
html:not(.js) .astro { position: static; width: 72px; }

/* Recursos */
.recursos { padding-top: var(--secao); }
.grade-recursos { list-style: none; padding: 0; margin-top: 48px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.grade-recursos li { background: var(--fundo-2); border-radius: 20px; padding: 32px; display: grid; gap: 10px; align-content: start; transition: background 200ms; }
.grade-recursos li:hover { background: var(--fundo-3); }
.grade-recursos p { color: var(--tinta-2); }

/* Planos */
.planos { padding-top: var(--secao); }
.grade-planos { margin-top: 48px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: stretch; }
.plano { display: flex; flex-direction: column; gap: 14px; padding: clamp(28px, 3vw, 40px); background: var(--fundo-2); border-radius: 24px; }
.plano.destaque { background: var(--fundo-3); box-shadow: inset 0 0 0 2px var(--acao), 0 0 60px -20px rgba(124, 245, 200, .5); }
.plano h3 { font-size: clamp(1.8rem, 2.6vw, 2.4rem); }
.plano .para { color: var(--tinta-2); }
.plano .preco { font-size: clamp(2.6rem, 4vw, 3.6rem); font-weight: 700; letter-spacing: -0.04em; line-height: 1; margin: 10px 0 6px; font-variant-numeric: tabular-nums; }
.plano .preco small { font-size: 1rem; font-weight: 500; letter-spacing: 0; color: var(--tinta-2); margin-left: 4px; }
.plano ul { padding-left: 20px; display: grid; gap: 6px; margin-bottom: auto; padding-bottom: 12px; color: var(--tinta-2); }
.plano input[type=email] { padding: 16px 18px; border: 1.5px solid var(--linha); background: var(--fundo); font: inherit; font-size: 1rem; color: var(--tinta); border-radius: 999px; }
.plano input[type=email]::placeholder { color: #8b90a1; }
.plano:not(.destaque) .botao { background: var(--tinta); color: var(--fundo); }
.plano:not(.destaque) .botao:hover { background: #fff; }
.plano .cobranca { color: var(--tinta-2); font-size: .95rem; }
/* Seletor Mensal | Anual */
.ciclo { display: flex; width: fit-content; gap: 4px; margin-top: 40px; padding: 4px; background: var(--fundo-2); border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--linha); }
.ciclo a { padding: 10px 22px; border-radius: 999px; text-decoration: none; font-weight: 700; color: var(--tinta-2); transition: background 160ms, color 160ms; }
.ciclo a:hover { color: var(--tinta); }
.ciclo a[aria-pressed=true] { background: var(--acao); color: var(--acao-tinta); }
.ciclo span { font-weight: 500; font-size: .85em; margin-left: 6px; }
.simples .ciclo { margin-top: 8px; }
.miuda { margin-top: 20px; font-size: .82rem; line-height: 1.5; color: #8b90a1; max-width: 62ch; }

/* Comparar */
.comparar { padding-top: var(--secao); }
.tabela-rolagem { margin-top: 48px; overflow-x: auto; }
.tabela-comparar { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 1.05rem; }
.tabela-comparar th, .tabela-comparar td { padding: 18px 20px; text-align: left; border-bottom: 1px solid var(--linha); }
.tabela-comparar thead th { font-size: 1.15rem; }
.tabela-comparar tbody th { font-weight: 500; color: var(--tinta-2); }
.tabela-comparar .nos { background: rgba(124, 245, 200, .07); color: var(--acao); font-weight: 700; }
.tabela-comparar .nao { color: #8b90a1; }

/* Perguntas */
.perguntas { display: grid; grid-template-columns: 4fr 8fr; gap: clamp(32px, 5vw, 80px); padding-top: var(--secao); align-items: start; }
.lista-perguntas { display: grid; gap: 8px; }
.lista-perguntas details { background: var(--fundo-2); border-radius: 16px; }
.lista-perguntas summary { cursor: pointer; padding: 22px 26px; font-weight: 700; font-size: 1.15rem; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.lista-perguntas summary::-webkit-details-marker { display: none; }
.lista-perguntas summary::after { content: "+"; font-weight: 400; font-size: 1.6rem; line-height: 1; color: var(--acao); transition: transform 200ms var(--curva); }
.lista-perguntas details[open] summary::after { transform: rotate(45deg); }
.lista-perguntas details p { padding: 0 26px 24px; max-width: 64ch; color: var(--tinta-2); }

/* Fechamento e rodapé */
.fechamento { margin-top: var(--secao) !important; padding-top: clamp(72px, 9vw, 120px) !important; padding-bottom: clamp(72px, 9vw, 120px) !important;
  background: radial-gradient(60% 120% at 50% 100%, rgba(124, 245, 200, .16), transparent 70%), var(--fundo-2); border-radius: 32px; display: grid; gap: 24px; justify-items: center; text-align: center; }
.fechamento p { color: var(--tinta-2); font-size: 1.25rem; max-width: 40ch; }
.rodape { max-width: 1360px; margin: 0 auto; padding: 64px var(--margem) 32px; overflow: hidden; }
.nome-grande { font-weight: 700; letter-spacing: -0.06em; line-height: .85; font-size: clamp(4rem, 16.5vw, 15rem); margin: 0 0 32px -0.03em; color: #7a8094; }
.rodape-linhas { display: flex; flex-wrap: wrap; gap: 12px 28px; font-size: .95rem; color: var(--tinta-2); }
.marcas { opacity: .7; flex-basis: 100%; font-size: .85rem; }

/* Páginas simples (obrigado, termos) */
.simples { max-width: 640px; margin: 80px auto; padding: 0 var(--margem); display: grid; gap: 20px; }
.simples h1 { font-size: clamp(2.4rem, 6vw, 3.6rem); }
.simples .botao { margin-right: 16px; }

/* Movimento */
@media (prefers-reduced-motion: no-preference) {
  .js [data-rise] > *, .js [data-rise].solo { opacity: 0; transform: translateY(24px); transition: opacity 600ms var(--curva), transform 600ms var(--curva); }
  .js [data-rise].in > *, .js [data-rise].solo.in { opacity: 1; transform: none; }
  .plano { transition: transform 240ms var(--curva); }
  .plano:hover { transform: translateY(-4px); }
}

/* Telas menores */
@media (max-width: 960px) {
  .barra nav { display: none; }
  .barra .acao-barra { margin-left: auto; }
  .hero, .perguntas { grid-template-columns: 1fr; }
  .orbita { max-width: 460px; }
  .grade-recursos, .grade-planos { grid-template-columns: 1fr; }
}
@media (min-width: 561px) and (max-width: 960px) {
  .grade-recursos { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  body { font-size: 17px; }
  .fechamento { border-radius: 24px; }
}

/* Página /planos (dentro da plataforma) */
.simples.largo { max-width: 1240px; }
.simples .marca { font-size: 1.4rem; }
.simples .grade-planos { margin-top: 16px; }
.plano .preco { white-space: nowrap; font-size: clamp(2.2rem, 3.4vw, 3.4rem); }
.simples .plano .botao { margin-right: 0; }
.simples h2 { font-size: 1.6rem; margin-top: 24px; }
.simples .tabela-comparar { min-width: 0; }
.simples tr.acima td { color: #ffb4a8; }
.plano .botao.fantasma { background: transparent; color: inherit; box-shadow: inset 0 0 0 1.5px var(--linha); }
.plano .botao.fantasma:hover { background: transparent; box-shadow: inset 0 0 0 1.5px var(--tinta-2); }
