/* Estilo Ametista: branco, ameixa e violeta; Plus Jakarta Sans; fotos de equipes jovens com cartoes flutuantes. */
:root {
	--tinta: #1E1033;
	--tinta-suave: #5B4F70;
	--acento: #7C3AED;
	--acento-forte: #6425D0;
	--sobre-acento: #FFFFFF;
	--acento-claro: #D9C8FF;
	--papel: #FFFFFF;
	--nevoa: #F5F0FF;
	--fundo: #F5F0FF;
	--linha: #E7DEF7;
	--escuro: #2A0F4A;
	--sobre-escuro: #FFFFFF;
	--menta: #2BD4A4;
	--raio-botao: 14px;
	--fonte-titulo: "Plus Jakarta Sans", system-ui, sans-serif;
	--fonte-texto: "Plus Jakarta Sans", system-ui, sans-serif;
}

.site-publico h1, .site-publico h2 { font-weight: 800; letter-spacing: -.03em; }
.site-publico .topo { background: rgb(255 255 255 / .92); }
.site-publico .marca { font-weight: 800; letter-spacing: -.02em; }
.site-publico .rodape { background: var(--escuro); color: #D8CDEB; }
.site-publico .rodape-marca .marca { color: #FFFFFF; }
.site-publico .rodape .marca-icone rect { fill: var(--acento); }
.site-publico .rodape .marca-icone path { fill: #FFFFFF; }
.site-publico .rodape-final { border-top-color: rgb(255 255 255 / .15); }
.site-publico .duvidas details { background: var(--papel); border: 1px solid var(--linha); border-radius: 16px; }
.site-publico .duvidas summary { font-family: var(--fonte-texto); font-weight: 700; font-size: 1.0625rem; }
.site-publico .duvidas summary::after { background-color: var(--nevoa); filter: none; }
.site-publico .duvidas details[open] { border-color: var(--acento); box-shadow: 0 16px 34px -26px rgb(124 58 237 / .7); }
.site-publico .posts a { border: 1px solid var(--linha); border-radius: 20px; background: var(--papel); }
.site-publico .posts a:hover { border-color: var(--acento); box-shadow: 0 20px 40px -28px rgb(42 15 74 / .5); }
.site-publico .post-categoria { border-radius: 999px; background: var(--nevoa); color: var(--acento-forte); }
.site-publico .artigo-chamada { border-radius: 20px; }

.am-home { --largura: 74rem; }
.am-home h2 { font-size: clamp(1.875rem, 1.2rem + 2.4vw, 3rem); line-height: 1.06; }
.am-home h3 { margin: 0; font: 700 1.125rem/1.3 var(--fonte-titulo); }
.am-home kbd { display: inline-grid; place-items: center; min-width: 1.875rem; height: 1.875rem; padding: 0 .25rem; border-radius: 9px; background: var(--acento); color: #FFFFFF; font: 800 .9375rem/1 var(--fonte-titulo); box-shadow: 0 3px 0 var(--acento-forte); }
.am-rotulo { display: inline-flex; margin-bottom: .875rem; padding: .375rem .875rem; border-radius: 999px; background: var(--nevoa); color: var(--acento-forte); font-size: .8125rem; font-weight: 700; letter-spacing: .02em; }
.am-texto { margin-top: 1rem; font-size: 1.125rem; color: var(--tinta-suave); max-width: 44ch; }
.am-vivo { display: inline-flex; align-items: center; gap: .375rem; font-size: .75rem; font-weight: 700; color: #0F8A68; }
.am-vivo i { width: .5rem; height: .5rem; border-radius: 50%; background: var(--menta); box-shadow: 0 0 0 3px rgb(43 212 164 / .25); }
.am-planos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); gap: 1.25rem; align-items: stretch; }
.am-plano { display: grid; grid-template-rows: auto auto auto 1fr auto; gap: .625rem; padding: 2rem 1.5rem; border-radius: 24px; background: #FFFFFF; box-shadow: 0 24px 50px -36px rgb(42 15 74 / .5); }
.am-plano-grupo { justify-self: start; padding: .3125rem .75rem; border-radius: 999px; background: var(--nevoa); color: var(--acento-forte); font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.am-plano h3 { font: 800 1.375rem/1.15 var(--fonte-titulo); letter-spacing: -.02em; }
.am-plano-valor { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem; font: 800 clamp(2.25rem, 1.8rem + 1.5vw, 3rem)/1 var(--fonte-titulo); letter-spacing: -.03em; }
.am-plano-valor span { font-size: .45em; letter-spacing: 0; }
.am-plano-valor small { flex-basis: 100%; font: 600 .875rem/1.3 var(--fonte-texto); letter-spacing: 0; color: var(--tinta-suave); }
.am-plano ul { list-style: none; margin: .25rem 0 0; padding: 0; display: grid; gap: .5rem; align-content: start; color: var(--tinta-suave); font-weight: 600; font-size: .9375rem; }
.am-plano li { display: flex; gap: .5rem; }
.am-plano li::before { content: ""; flex: none; width: .5rem; height: .5rem; margin-top: .4rem; border-radius: 50%; background: var(--menta); }
.am-plano .botao { width: 100%; margin-top: .5rem; }
.am-plano-minuto { background: linear-gradient(150deg, var(--escuro), #5B21B6); color: #FFFFFF; box-shadow: 0 40px 70px -40px rgb(42 15 74 / .9); }
.am-plano-minuto .am-plano-grupo { background: rgb(255 255 255 / .12); color: var(--acento-claro); }
.am-plano-minuto .am-plano-valor small, .am-plano-minuto ul { color: #D8CDEB; }
.am-plano-minuto .botao { background: #FFFFFF; color: var(--escuro); }
.am-plano-minuto .botao:hover { background: var(--acento-claro); }
@media (prefers-reduced-motion: no-preference) { .am-vivo i { animation: h-pisca 1.4s ease-in-out infinite; } }

.am-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; max-width: calc(var(--largura) + 4rem); margin: 0 auto; padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem) clamp(3rem, 6vw, 5rem); }
.am-hero::before { content: ""; position: absolute; z-index: -1; inset: 0 calc(50% - 50vw); background: radial-gradient(60rem 30rem at 85% 10%, #EDE3FF, transparent 70%), radial-gradient(40rem 24rem at 0% 100%, #F7F2FF, transparent 70%); }
.am-etiqueta { display: inline-flex; align-items: center; gap: .5rem; padding: .375rem .875rem .375rem .5rem; border-radius: 999px; background: #FFFFFF; box-shadow: 0 0 0 1px var(--linha); font-size: .875rem; font-weight: 600; color: var(--tinta-suave); }
.am-etiqueta span { width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--acento) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2' fill='%23FFFFFF'/%3E%3C/svg%3E") center / 60% no-repeat; }
.am-hero h1 { margin-top: 1.25rem; font-size: clamp(2.25rem, 1.3rem + 3vw, 3.75rem); line-height: 1.04; }
.am-hero h1 em { font-style: normal; background: linear-gradient(90deg, var(--acento), #C026D3); -webkit-background-clip: text; background-clip: text; color: transparent; }
.am-sub { margin-top: 1.375rem; max-width: 40ch; font-size: 1.1875rem; color: var(--tinta-suave); }
.am-acoes { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.am-acoes .botao-acento { box-shadow: 0 16px 32px -14px rgb(124 58 237 / .8); }
.am-botao-claro { background: #FFFFFF; color: var(--tinta); box-shadow: inset 0 0 0 1px var(--linha); }
.am-botao-claro:hover { box-shadow: inset 0 0 0 2px var(--acento); }
.am-garantias { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: .9375rem; font-weight: 600; color: var(--tinta-suave); }
.am-garantias li::before { content: ""; display: inline-block; width: 1rem; height: 1rem; margin-right: .4rem; vertical-align: -2px; border-radius: 50%; background: var(--menta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-8' fill='none' stroke='%23FFFFFF' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 70% no-repeat; }

.am-hero-visual { position: relative; padding: 2rem 0 2.5rem 2rem; }
.am-hero-visual::before { content: ""; position: absolute; z-index: -1; inset: 0 2rem 0 0; border-radius: 36px; background: linear-gradient(135deg, var(--acento), #C026D3); rotate: -3deg; }
.am-hero-foto { margin: 0; border-radius: 28px; overflow: hidden; box-shadow: 0 40px 70px -40px rgb(42 15 74 / .7); }
.am-hero-foto img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3.2; object-fit: cover; object-position: 60% center; }
.am-flutua { position: absolute; padding: .875rem 1rem; border-radius: 18px; background: rgb(255 255 255 / .96); box-shadow: 0 24px 48px -20px rgb(42 15 74 / .55), 0 0 0 1px rgb(42 15 74 / .06); }
.am-flutua-campanha { left: 0; top: 0; width: min(17rem, 70%); display: grid; gap: .5rem; }
.am-flutua-topo { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.am-flutua-topo b { font-size: .875rem; }
.am-flutua small { font-size: .75rem; color: var(--tinta-suave); font-weight: 600; }
.am-progresso { height: .5rem; border-radius: 999px; background: var(--nevoa); overflow: hidden; }
.am-progresso span { display: block; width: var(--p); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--acento), #C026D3); }
.am-flutua-teclas { right: -.5rem; bottom: 0; display: grid; gap: .5rem; min-width: 13rem; }
.am-flutua-teclas p { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .625rem; font-size: .875rem; font-weight: 600; }
.am-flutua-teclas kbd { min-width: 1.625rem !important; height: 1.625rem !important; font-size: .8125rem !important; }
.am-flutua-teclas b { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--acento-forte); }

.am-setores-faixa { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; max-width: calc(var(--largura) + 4rem); margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2rem) clamp(2.5rem, 5vw, 3.5rem); }
.am-setores-faixa span { display: inline-flex; align-items: center; gap: .4375rem; padding: .4375rem .875rem; border-radius: 999px; border: 1px solid var(--linha); font-size: .875rem; font-weight: 600; color: var(--tinta-suave); background: #FFFFFF; }
.am-setores-faixa svg { width: 1.125rem; height: 1.125rem; color: var(--acento); }

.am-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: var(--largura); margin: 0 auto; padding: clamp(1.75rem, 4vw, 2.5rem); border-radius: 28px; background: linear-gradient(120deg, var(--escuro), #4C1D95); color: #FFFFFF; box-shadow: 0 40px 70px -45px rgb(42 15 74 / .9); }
.am-numeros div { display: grid; gap: .25rem; padding: 0 1.25rem; }
.am-numeros div + div { border-left: 1px solid rgb(255 255 255 / .18); }
.am-numeros b { font: 800 clamp(2rem, 1.4rem + 2vw, 3rem)/1 var(--fonte-titulo); letter-spacing: -.03em; }
.am-numeros span { color: #D8CDEB; font-weight: 500; }
@media (width < 80rem) { .am-numeros { margin-inline: clamp(1rem, 4vw, 2rem); } }

.am-faixa { padding: clamp(4rem, 8vw, 6.5rem) clamp(1rem, 4vw, 2rem); }
.am-faixa > * { max-width: var(--largura); margin-inline: auto; }
.am-faixa-lilas { background: var(--nevoa); }
.am-faixa-lilas .am-rotulo { background: #FFFFFF; }
.am-faixa-ameixa { background: var(--escuro); color: #FFFFFF; }
.am-faixa-ameixa .am-rotulo { background: rgb(255 255 255 / .1); color: var(--acento-claro); }
.am-cabeca { margin-bottom: clamp(2rem, 4vw, 3rem); }
.am-cabeca > p:not(.am-rotulo) { margin-top: 1rem; font-size: 1.125rem; color: var(--tinta-suave); max-width: 44rem; }
.am-cabeca-centro { text-align: center; display: grid; justify-items: center; }
.am-cabeca-centro h2 { max-width: 40rem; }

.am-passos { list-style: none; padding: 0; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; counter-reset: p; }
.am-passos li { position: relative; display: grid; align-content: start; gap: .75rem; padding: 2rem 1.5rem 1.75rem; border-radius: 24px; background: #FFFFFF; box-shadow: 0 0 0 1px var(--linha), 0 24px 40px -36px rgb(42 15 74 / .6); }
.am-passos li:not(:last-child)::after { content: ""; position: absolute; top: 3.25rem; right: -1.5rem; width: 1.5rem; border-top: 2px dashed var(--acento-claro); }
.am-passos p { color: var(--tinta-suave); }
.am-passo-n { position: absolute; top: -1.125rem; left: 1.5rem; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--acento); color: #FFFFFF; font-weight: 800; box-shadow: 0 0 0 5px #FFFFFF; }
.am-passo-arte { display: flex; align-items: center; justify-content: center; gap: .375rem; height: 6.5rem; margin-bottom: .5rem; border-radius: 16px; background: var(--nevoa); }
.am-arte-onda { gap: 3px; }
.am-arte-onda i { width: 4px; height: calc(var(--h) * .6); border-radius: 4px; background: var(--acento); opacity: .85; }
.am-arte-onda i:nth-child(n+12) { background: var(--acento-claro); }
.am-arte-lista { flex-direction: column; gap: .3125rem; }
.am-arte-lista span { padding: .25rem .75rem; border-radius: 8px; background: #FFFFFF; font-size: .8125rem; font-weight: 600; color: var(--tinta-suave); font-variant-numeric: tabular-nums; box-shadow: 0 6px 14px -10px rgb(42 15 74 / .5); }
.am-arte-teclas kbd { min-width: 2.75rem !important; height: 2.75rem !important; background: #FFFFFF !important; color: var(--tinta) !important; box-shadow: 0 3px 0 var(--linha) !important; font-size: 1.125rem !important; }
.am-arte-teclas .am-acesa { background: var(--acento) !important; color: #FFFFFF !important; box-shadow: 0 3px 0 var(--acento-forte), 0 0 0 6px rgb(124 58 237 / .18) !important; }

.am-lado { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.am-foto-moldura { position: relative; margin: 0; }
.am-foto-moldura img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 62% center; border-radius: 28px 28px 28px 120px; }
.am-foto-moldura figcaption { position: absolute; right: 1rem; bottom: 1.25rem; display: inline-flex; align-items: center; gap: .5rem; padding: .625rem 1rem; border-radius: 999px; background: #FFFFFF; font-size: .875rem; font-weight: 700; box-shadow: 0 18px 36px -18px rgb(42 15 74 / .6); }
.am-barras { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; gap: .75rem; }
.am-barras li { display: grid; grid-template-columns: auto minmax(0, 9rem) minmax(0, 1fr) auto; align-items: center; gap: .875rem; padding: .75rem 1rem; border-radius: 16px; background: #FFFFFF; font-weight: 600; }
.am-barras i { height: .625rem; border-radius: 999px; background: linear-gradient(90deg, var(--acento) var(--p), var(--nevoa) var(--p)); }
.am-barras b { font-weight: 800; color: var(--acento-forte); font-variant-numeric: tabular-nums; }
.am-legenda { display: block; margin-top: .75rem; font-size: .8125rem; color: var(--tinta-suave); }

.am-recursos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.am-recursos article { display: grid; align-content: start; gap: .625rem; padding: 1.75rem 1.5rem; border-radius: 22px; border: 1px solid var(--linha); transition: border-color .2s ease, translate .2s ease; }
.am-recursos article:hover { border-color: var(--acento); translate: 0 -3px; }
.am-recursos p { color: var(--tinta-suave); }
.am-icone { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: .375rem; border-radius: 14px; background: var(--nevoa); color: var(--acento); }
.am-icone svg { width: 1.375rem; height: 1.375rem; }

.am-setores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.am-setores article { display: grid; align-content: start; gap: 1rem; padding: 1.5rem; border-radius: 22px; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1); }
.am-setor-topo { display: flex; align-items: center; gap: .75rem; }
.am-setor-topo span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; flex: none; border-radius: 12px; background: var(--acento); color: #FFFFFF; }
.am-setor-topo svg { width: 1.25rem; height: 1.25rem; }
.am-balao { position: relative; padding: .875rem 1rem; border-radius: 16px 16px 16px 4px; background: #FFFFFF; color: var(--tinta); font-weight: 600; font-size: .9375rem; line-height: 1.45; }
.am-setores article > p:last-child { color: #D8CDEB; font-size: .9375rem; }

.am-mosaico { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); grid-template-rows: auto auto; gap: 1.5rem clamp(2rem, 5vw, 4rem); align-items: center; }
.am-mosaico figure { margin: 0; overflow: hidden; border-radius: 26px; }
.am-mosaico img { display: block; width: 100%; height: 100%; object-fit: cover; }
.am-mosaico-alta { grid-row: span 2; aspect-ratio: 3 / 4; }
.am-mosaico-larga { aspect-ratio: 16 / 8; }
.am-checks { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: .625rem; font-weight: 600; }
.am-checks li { display: flex; gap: .625rem; }
.am-checks li::before { content: ""; flex: none; width: 1.375rem; height: 1.375rem; border-radius: 50%; background: var(--nevoa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-8' fill='none' stroke='%237C3AED' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 70% no-repeat; }

.am-nota { margin-top: 1.75rem; text-align: center; color: var(--tinta-suave); font-weight: 600; }

.am-duvidas { max-width: 52rem !important; }
.am-mais { margin-top: 1.5rem; text-align: center; color: var(--tinta-suave); }
.am-mais a { color: var(--acento-forte); font-weight: 700; }

.am-final { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem; max-width: var(--largura); margin: 0 auto clamp(3rem, 6vw, 5rem); padding: clamp(2rem, 5vw, 3.5rem); border-radius: 30px; background: linear-gradient(120deg, var(--acento), #C026D3); color: #FFFFFF; }
.am-final > div { max-width: 38rem; }
.am-final h2 { font-size: clamp(1.875rem, 1.2rem + 2.2vw, 2.875rem); }
.am-final p { margin-top: .625rem; font-size: 1.0625rem; color: #F3E8FF; }
.am-botao-branco { background: #FFFFFF; color: var(--escuro); }
.am-botao-branco:hover { background: var(--escuro); color: #FFFFFF; }
@media (width < 80rem) { .am-final { margin-inline: clamp(1rem, 4vw, 2rem); } }

@media (width < 64rem) {
	.am-hero { grid-template-columns: minmax(0, 1fr); }
	.am-hero-visual { max-width: 38rem; width: 100%; margin-inline: auto; }
	.am-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.5rem; }
	.am-numeros div:nth-child(3) { border-left: 0; }
	.am-passos, .am-recursos, .am-setores { grid-template-columns: 1fr 1fr; }
	.am-passos { row-gap: 2.25rem; }
	.am-passos li::after { display: none; }
	.am-lado, .am-mosaico { grid-template-columns: minmax(0, 1fr); }
	.am-mosaico-alta { grid-row: auto; aspect-ratio: 4 / 3; }
}
@media (width < 44rem) {
	.am-hero-visual { padding: 1.5rem 0 3.5rem 0; }
	.am-hero-visual::before { inset: .75rem 0 2rem; rotate: -2deg; }
	.am-flutua-campanha { left: .5rem; top: 0; }
	.am-flutua-teclas { right: .5rem; min-width: 0; width: 12rem; }
	.am-passos, .am-recursos, .am-setores { grid-template-columns: minmax(0, 1fr); }
	.am-numeros div { padding: 0 .875rem; }
	.am-acoes .botao, .am-final .botao { width: 100%; }
	.am-barras li { grid-template-columns: auto minmax(0, 1fr) auto; }
	.am-barras i { grid-column: 1 / -1; grid-row: 2; }
	.am-foto-moldura img { border-radius: 24px 24px 24px 80px; }
	.am-mosaico-larga { aspect-ratio: 16 / 10; }
}

/* Painel e acesso */
.estilo-ametista .cartao { border-radius: 20px; }
.estilo-ametista .numero { border-radius: 18px; }
.estilo-ametista .campo input, .estilo-ametista .campo select, .estilo-ametista .campo textarea { border-radius: 12px; }
.estilo-ametista h1, .estilo-ametista h2 { letter-spacing: -.03em; }
@media (width < 60rem) { .site-publico .topo { position: static; } }
