/*
 * Agius · páginas da intranet
 * Escopo .ais: nada aqui vale fora destas quatro páginas.
 * Manual Agius: verde #1DD568, carvão #434244, Funnel Display (títulos, do tema) e Funnel Sans (texto).
 * Texto sobre o verde sempre em carvão: branco sobre #1DD568 não tem contraste para leitura.
 */

@font-face {
	font-family: "Funnel Sans";
	src: url(fonts/FunnelSans-latin.woff2) format("woff2");
	font-weight: 300 800;
	font-style: normal;
	font-display: swap;
}

.ais {
	--ais-verde: #1dd568;
	--ais-verde-texto: #0f7a3c;
	--ais-carvao: #434244;
	--ais-escuro: #333333;
	--ais-texto: #2f2e30;
	--ais-apoio: #5f5e63;
	--ais-superficie: #f6f7f6;
	--ais-borda: #e3e5e3;
	--ais-raio: 10px;
	--ais-titulo: "Funnel Display", sans-serif;
	--ais-corpo: "Funnel Sans", "Funnel Display", system-ui, sans-serif;

	font-family: var(--ais-corpo);
	font-size: 17px;
	line-height: 1.6;
	color: var(--ais-texto);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

/* O tema deixa títulos em caixa alta e azul, e tira o contorno de foco: desfazer aqui dentro. */
.ais h1, .ais h2, .ais h3, .ais h4 {
	font-family: var(--ais-titulo);
	text-transform: none;
	letter-spacing: 0;
	margin: 0;
	color: inherit;
}
.ais p { margin: 0; }
.ais ul, .ais ol { margin: 0; padding: 0; list-style: none; }
.ais a { color: inherit; }
.ais *:focus-visible {
	outline: 2px solid var(--ais-verde-texto);
	outline-offset: 3px;
	border-radius: 2px;
}
.ais .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.ais [hidden] { display: none !important; }
.ais .container { position: relative; z-index: 1; }

/* ------------------------------------------------------------------ */
/* Tipografia e elementos comuns                                       */
/* ------------------------------------------------------------------ */

.ais-h1 {
	font-size: clamp(36px, 4.4vw, 62px);
	line-height: 1.06;
	font-weight: 300;
	color: var(--ais-verde) !important;
	max-width: 15ch;
}
.ais-h2 {
	font-size: clamp(28px, 3.1vw, 44px);
	line-height: 1.12;
	font-weight: 300;
	color: var(--ais-carvao);
	max-width: 22ch;
}
.ais-h3 {
	font-size: clamp(21px, 1.8vw, 26px);
	line-height: 1.2;
	font-weight: 400;
	color: var(--ais-carvao);
}
.ais-rotulo {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ais-titulo);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--ais-carvao);
	margin-bottom: 18px !important;
	text-transform: lowercase;
}
.ais-rotulo--claro { color: #fff; }
.ais-barra { flex: none; color: var(--ais-verde); }
.ais-rotulo .ais-barra { color: var(--ais-verde-texto); }
.ais-rotulo--claro .ais-barra, .ais-contato .ais-barra, .ais-topo .ais-barra { color: var(--ais-verde); }
.ais-apoio {
	font-size: 19px;
	color: var(--ais-apoio);
	max-width: 60ch;
	margin-top: 16px !important;
}

.ais-ic { width: 24px; height: 24px; flex: none; display: block; }
.ais-ic .d { stroke: var(--ais-verde-texto); }
.ais-ic-caixa {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px; height: 48px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--ais-borda);
	color: var(--ais-carvao);
	flex: none;
}

.ais-secao { padding: clamp(64px, 8vw, 112px) 0; }
.ais-secao--suave { background: var(--ais-superficie); }

.ais-cartao {
	background: #fff;
	border: 1px solid var(--ais-borda);
	border-radius: var(--ais-raio);
	padding: 28px;
}

/* Botões */
.ais-botoes { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.ais-botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 12px 26px;
	border-radius: 4px;
	font-family: var(--ais-titulo);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s;
}
.ais-botao--verde { background: var(--ais-verde); color: #232224 !important; border-color: var(--ais-verde); }
.ais-botao--verde:hover { background: #3fe282; border-color: #3fe282; }
.ais-botao--contorno { color: #fff !important; border-color: rgba(255, 255, 255, .55); background: transparent; }
.ais-botao--contorno:hover { border-color: var(--ais-verde); color: var(--ais-verde) !important; }

.ais-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	font-family: var(--ais-titulo);
	font-weight: 500;
	color: var(--ais-verde-texto) !important;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}
.ais-link .ais-ic { width: 18px; height: 18px; transition: transform .2s; }
.ais-link:hover .ais-ic { transform: translateX(3px); }

.ais-lista-check { display: grid; gap: 12px; margin-top: 20px !important; }
.ais-lista-check li { display: flex; gap: 10px; align-items: flex-start; }
.ais-lista-check .ais-ic { width: 20px; height: 20px; margin-top: 3px; color: var(--ais-verde-texto); stroke-width: 2.2; }
.ais-lista-check--grande { font-size: 19px; gap: 18px; }

/* Grafismo de losangos (V14) */
.ais-losangos {
	position: absolute;
	width: 300px;
	height: auto;
	fill: none;
	stroke: var(--ais-verde);
	stroke-width: 1.2;
	opacity: .32;
	pointer-events: none;
	z-index: 0;
}
.ais-losangos .cheio { fill: var(--ais-verde); fill-opacity: .35; }

/* ------------------------------------------------------------------ */
/* Capturas de tela                                                    */
/* ------------------------------------------------------------------ */

.ais-captura { margin: 0; position: relative; }
.ais-captura img, .ais-captura video {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--ais-raio);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 18px 48px -16px rgba(30, 30, 32, .28);
	background: #fff;
}
.ais-captura--celular { max-width: 300px; margin-inline: auto; }
.ais-captura--celular img { border-radius: 26px; }
.ais-captura figcaption {
	margin-top: 14px;
	font-size: 15px;
	color: var(--ais-apoio);
	text-align: center;
}

/* Moldura enquanto a imagem não chega */
.ais-moldura {
	aspect-ratio: 16 / 10;
	border-radius: var(--ais-raio);
	border: 1.5px dashed #b9bdb9;
	background:
		linear-gradient(#fff 0 0) padding-box,
		repeating-linear-gradient(135deg, #f1f3f1 0 12px, #fafbfa 12px 24px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 24px;
	text-align: center;
	color: var(--ais-apoio);
	background: repeating-linear-gradient(135deg, #eef0ee 0 12px, #f7f8f7 12px 24px);
}
.ais-captura--celular .ais-moldura { aspect-ratio: 9 / 19; border-radius: 28px; }
.ais-moldura__codigo {
	font-family: var(--ais-titulo);
	font-weight: 700;
	font-size: 22px;
	color: var(--ais-carvao);
	background: var(--ais-verde);
	border-radius: 4px;
	padding: 2px 10px;
}
.ais-moldura__texto { font-size: 15px; max-width: 34ch; line-height: 1.4; }
.ais-moldura__dica { font-size: 12px; opacity: .8; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.ais-topo .ais-moldura { color: rgba(255, 255, 255, .8); border-color: rgba(255, 255, 255, .3); background: repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 12px, rgba(255,255,255,.02) 12px 24px); }

/* V04 em vídeo */
.ais-video { position: relative; }
.ais-video__botao {
	position: absolute;
	right: 14px; bottom: 14px;
	width: 46px; height: 46px;
	border-radius: 50%;
	border: 0;
	background: rgba(35, 34, 36, .78);
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
}
.ais-video__botao .ais-ic { width: 20px; height: 20px; }
.ais-video__pausa { display: none !important; }
.ais-video.tocando .ais-video__play { display: none !important; }
.ais-video.tocando .ais-video__pausa { display: block !important; }

/* ------------------------------------------------------------------ */
/* Bloco 1: Topo                                                       */
/* ------------------------------------------------------------------ */

.ais-topo {
	position: relative;
	overflow: hidden;
	background: var(--ais-carvao);
	color: #fff;
	padding: calc(68px + clamp(48px, 7vw, 96px)) 0 clamp(40px, 5vw, 64px);
}
.ais-topo__grafismo { top: 92px; right: -40px; }
.ais-topo__grade {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
}
.ais-topo__sub {
	margin-top: 26px !important;
	font-size: clamp(18px, 1.5vw, 21px);
	line-height: 1.55;
	color: rgba(255, 255, 255, .88);
	max-width: 46ch;
}
.ais-selos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-top: clamp(48px, 6vw, 80px) !important;
	border-top: 1px solid rgba(255, 255, 255, .16);
}
.ais-selos li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 22px 16px 0 0;
	font-family: var(--ais-titulo);
	font-size: 17px;
	color: #fff;
}
.ais-selos .ais-ic { color: #fff; }
.ais-selos .ais-ic .d, .ais-topo .ais-ic .d, .ais-contato .ais-ic .d { stroke: var(--ais-verde); }

/* Topo das páginas de destaque */
.ais-trilha {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ais-titulo);
	font-size: 16px;
	margin-bottom: 26px;
	color: rgba(255, 255, 255, .8);
}
.ais-trilha a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.4); }
.ais-topo--destaque .ais-h1 { max-width: 18ch; }
.ais-topo__grade--destaque { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
.ais-topo__icone {
	justify-self: center;
	width: clamp(140px, 16vw, 220px);
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .18);
	display: flex; align-items: center; justify-content: center;
	color: #fff;
}
.ais-topo__icone .ais-ic { width: 45%; height: 45%; stroke-width: 1.1; }

/* ------------------------------------------------------------------ */
/* Bloco 2: Dores                                                      */
/* ------------------------------------------------------------------ */

.ais-dores__grade {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 48px;
}
.ais-dor h3 { font-size: 20px; line-height: 1.3; font-weight: 500; color: var(--ais-carvao); margin: 22px 0 10px; }
.ais-dor p { color: var(--ais-apoio); font-size: 16px; }
.ais-dor .ais-ic-caixa { background: var(--ais-superficie); border-color: transparent; }

/* ------------------------------------------------------------------ */
/* Bloco 3: Diferenciais                                               */
/* ------------------------------------------------------------------ */

.ais-dif {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
	margin-top: clamp(48px, 6vw, 88px);
}
.ais-dif--invertido .ais-dif__texto { order: 2; }
.ais-dif__num {
	display: block;
	font-family: var(--ais-titulo);
	font-size: 15px;
	font-weight: 700;
	color: var(--ais-verde-texto);
	margin-bottom: 12px;
}
.ais-dif__texto p { margin-top: 16px !important; font-size: 18px; color: var(--ais-apoio); }

/* V02: seus dados no Brasil */
.ais-v02 {
	margin: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr) 36px minmax(0, 1.6fr);
	align-items: center;
	background: #fff;
	border: 1px solid var(--ais-borda);
	border-radius: 14px;
	padding: 28px 24px;
	font-size: 14px;
	line-height: 1.35;
}
.ais-v02__ponta { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.ais-v02__ponta strong { font-family: var(--ais-titulo); font-weight: 500; font-size: 15px; color: var(--ais-carvao); }
.ais-v02__ponta > span:last-child { color: var(--ais-apoio); font-size: 13px; }
.ais-v02__ic {
	width: 52px; height: 52px; border-radius: 50%;
	background: var(--ais-superficie);
	display: flex; align-items: center; justify-content: center;
	color: var(--ais-carvao);
	margin-bottom: 4px;
}
.ais-v02__liga { height: 2px; background: repeating-linear-gradient(90deg, var(--ais-verde) 0 5px, transparent 5px 9px); position: relative; }
.ais-v02__liga span { position: absolute; right: -2px; top: -4px; border: 5px solid transparent; border-left: 7px solid var(--ais-verde); border-right: 0; }
.ais-v02__nuvem {
	border: 1.5px solid var(--ais-verde);
	border-radius: 12px;
	padding: 16px;
	background: linear-gradient(180deg, rgba(29, 213, 104, .07), rgba(29, 213, 104, 0));
}
.ais-v02__regiao {
	display: flex; align-items: center; gap: 8px;
	font-family: var(--ais-titulo); font-weight: 500; font-size: 15px;
	color: var(--ais-carvao);
	margin-bottom: 12px;
}
.ais-v02__regiao .ais-ic { width: 20px; height: 20px; }
.ais-v02__cofres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ais-v02__cofres > div {
	background: #fff;
	border: 1px solid var(--ais-borda);
	border-radius: 8px;
	padding: 12px 6px;
	display: flex; flex-direction: column; align-items: center; gap: 6px;
	text-align: center;
	font-size: 13px;
	color: var(--ais-carvao);
}
.ais-v02__dono { margin-top: 10px; font-size: 13px; color: var(--ais-verde-texto); font-weight: 600; text-align: center; }
.ais-v02--compacto { grid-template-columns: 1fr; gap: 0; padding: 22px; max-width: 420px; margin-left: auto; }
.ais-v02--compacto .ais-v02__ponta { flex-direction: row; text-align: left; gap: 12px; }
.ais-v02--compacto .ais-v02__ponta > span:last-child { display: none; }
.ais-v02--compacto .ais-v02__ic { margin: 0; width: 44px; height: 44px; }
.ais-v02--compacto .ais-v02__liga { width: 2px; height: 24px; margin-left: 21px; background: repeating-linear-gradient(180deg, var(--ais-verde) 0 5px, transparent 5px 9px); }
.ais-v02--compacto .ais-v02__liga span { display: none; }

/* ------------------------------------------------------------------ */
/* Bloco 4: Módulos                                                    */
/* ------------------------------------------------------------------ */

.ais-abas {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	margin-top: 40px;
	border-radius: 8px;
	background: var(--ais-superficie);
	border: 1px solid var(--ais-borda);
}
.ais-abas button {
	border: 0;
	background: transparent;
	padding: 10px 20px;
	border-radius: 6px;
	font-family: var(--ais-titulo);
	font-size: 17px;
	font-weight: 500;
	color: var(--ais-apoio);
	cursor: pointer;
}
.ais-abas button[aria-selected="true"] { background: var(--ais-carvao); color: #fff; }
.ais-abas__qtd { font-size: 13px; opacity: .7; margin-left: 4px; }

.ais-grupo { margin-top: 40px; }
.ais-grupo__titulo { font-size: 22px; font-weight: 500; color: var(--ais-carvao); margin-bottom: 20px !important; }
.ais-grupo__titulo span { font-weight: 400; font-size: 16px; color: var(--ais-apoio); margin-left: 8px; }
.ais-abas-ativas .ais-grupo__titulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.ais-abas-ativas .ais-grupo { margin-top: 28px; }
.ais-grupo__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ais-modulo {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 22px;
	border: 1px solid var(--ais-borda);
	border-radius: var(--ais-raio);
	background: #fff;
}
.ais-modulo h4 { font-size: 19px; font-weight: 500; color: var(--ais-carvao); }
.ais-modulo p { font-size: 15.5px; color: var(--ais-apoio); margin-top: 6px !important; line-height: 1.5; }
.ais-modulo .ais-link { margin-top: 12px; font-size: 15px; }
.ais-modulo .ais-ic-caixa { width: 44px; height: 44px; background: var(--ais-superficie); border-color: transparent; }
.ais-modulo--destaque { border-color: rgba(29, 213, 104, .55); box-shadow: inset 3px 0 0 var(--ais-verde); }

/* ------------------------------------------------------------------ */
/* Bloco 5: Destaques                                                  */
/* ------------------------------------------------------------------ */

.ais-destaques__grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.ais-destaque {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ais-borda);
	border-radius: 14px;
	overflow: hidden;
}
.ais-destaque__visual {
	background: linear-gradient(160deg, #4b4a4c, var(--ais-carvao));
	padding: 28px 28px 0;
	height: 280px;
	overflow: hidden;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
.ais-destaque__visual .ais-captura { width: 100%; }
.ais-destaque__visual .ais-captura--celular { width: 62%; }
.ais-destaque__visual .ais-captura img { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.ais-destaque__visual .ais-moldura { color: rgba(255,255,255,.85); border-color: rgba(255,255,255,.3); background: repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 12px, rgba(255,255,255,.02) 12px 24px); }
.ais-destaque__corpo { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.ais-destaque__rotulo { font-family: var(--ais-titulo); font-size: 14px; font-weight: 700; color: var(--ais-verde-texto); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px !important; }
.ais-destaque .ais-link { margin-top: auto; padding-top: 22px; align-self: flex-start; border-bottom: 0; text-decoration: underline; text-underline-offset: 4px; }

/* ------------------------------------------------------------------ */
/* Bloco 6: Segurança                                                  */
/* ------------------------------------------------------------------ */

.ais-seguranca__grade { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.ais-seguranca__lista { display: grid; gap: 20px; margin-top: 36px !important; }
.ais-seguranca__lista li { display: flex; gap: 16px; align-items: center; }
.ais-seguranca__lista strong { color: var(--ais-carvao); font-weight: 600; }
.ais-seguranca__lista p { color: var(--ais-apoio); }

/* ------------------------------------------------------------------ */
/* Bloco 7: Celular                                                    */
/* ------------------------------------------------------------------ */

.ais-celular__grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.ais-celular .ais-lista-check { margin-top: 32px !important; color: var(--ais-texto); }

/* ------------------------------------------------------------------ */
/* Bloco 8: Como contratar                                             */
/* ------------------------------------------------------------------ */

.ais-pacotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 48px; }
.ais-pacote { display: flex; flex-direction: column; }
.ais-pacote .ais-h3 { font-weight: 500; }
.ais-pacote__resumo { margin-top: 10px !important; color: var(--ais-apoio); font-size: 16px; }
.ais-pacote .ais-lista-check { font-size: 16px; }
.ais-contratar__sub { font-size: 22px; font-weight: 500; color: var(--ais-carvao); margin-top: 56px !important; }
.ais-instalacao { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.ais-instalacao__item { border-top: 2px solid var(--ais-carvao); padding-top: 18px; }
.ais-instalacao__item h4 { font-size: 20px; font-weight: 500; color: var(--ais-carvao); }
.ais-instalacao__para { font-weight: 600; color: var(--ais-verde-texto); font-size: 15px; margin: 4px 0 8px !important; }
.ais-instalacao__item p:last-child { color: var(--ais-apoio); }
.ais-contratar__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 48px;
	padding: 26px 30px;
	border-radius: 14px;
	background: var(--ais-superficie);
}
.ais-contratar__cta p { font-family: var(--ais-titulo); font-size: 21px; color: var(--ais-carvao); }

/* ------------------------------------------------------------------ */
/* Bloco 9: Implantação                                                */
/* ------------------------------------------------------------------ */

.ais-passos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 56px !important; counter-reset: none; }
.ais-passo { position: relative; padding-top: 70px; }
.ais-passo::before {
	content: "";
	position: absolute;
	top: 23px; left: 56px; right: -24px;
	height: 2px;
	background: var(--ais-borda);
}
.ais-passo:last-child::before { display: none; }
.ais-passo__num {
	position: absolute; top: 0; left: 0;
	width: 48px; height: 48px;
	border-radius: 50%;
	background: var(--ais-verde);
	color: #232224;
	font-family: var(--ais-titulo);
	font-weight: 700;
	font-size: 20px;
	display: flex; align-items: center; justify-content: center;
}
.ais-passo h3 { font-size: 21px; font-weight: 500; color: var(--ais-carvao); }
.ais-passo p { margin-top: 8px !important; color: var(--ais-apoio); }

/* ------------------------------------------------------------------ */
/* Bloco 10: Perguntas                                                 */
/* ------------------------------------------------------------------ */

.ais-faq__grade { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.ais-faq__lista { border-top: 1px solid var(--ais-borda); }
.ais-faq__item { border-bottom: 1px solid var(--ais-borda); }
.ais-faq__item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 22px 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--ais-titulo);
	font-size: 20px;
	font-weight: 500;
	color: var(--ais-carvao);
}
.ais-faq__item summary::-webkit-details-marker { display: none; }
.ais-faq__ic { color: var(--ais-verde-texto); transition: transform .2s; }
.ais-faq__item[open] .ais-faq__ic { transform: rotate(45deg); }
.ais-faq__item p { padding: 0 48px 24px 0; color: var(--ais-apoio); }

/* ------------------------------------------------------------------ */
/* Bloco 11: Contato                                                   */
/* ------------------------------------------------------------------ */

.ais-contato {
	position: relative;
	overflow: hidden;
	background: var(--ais-carvao);
	color: #fff;
	padding: clamp(64px, 8vw, 112px) 0;
	scroll-margin-top: 68px;
}
.ais-contato__grafismo { left: -60px; bottom: -40px; width: 340px; }
.ais-contato__grade { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.ais-contato .ais-h2 { color: var(--ais-verde); max-width: 14ch; }
.ais-contato__apoio { margin-top: 18px !important; font-size: 20px; color: rgba(255, 255, 255, .88); max-width: 34ch; }

.ais-cartao-form {
	background: #fff;
	color: var(--ais-texto);
	border-radius: 14px;
	padding: clamp(24px, 3vw, 40px);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45);
}
.ais .ais-form { margin: 0; }
.ais-form__linha { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ais-campo { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; min-width: 0; }
.ais-campo label, .ais-campo legend { font-size: 15px; font-weight: 600; color: var(--ais-carvao); }
.ais-campo label span[aria-hidden] { color: var(--ais-verde-texto); }
.ais .ais-form input[type="text"],
.ais .ais-form input[type="email"],
.ais .ais-form input[type="tel"],
.ais .ais-form select {
	width: 100%;
	height: 48px;
	margin: 0 !important;
	padding: 10px 14px;
	border: 1px solid #c9ccc9;
	border-radius: 6px;
	background: #fff;
	color: var(--ais-texto);
	font-family: var(--ais-corpo);
	font-size: 16px;
	font-weight: 400;
	text-transform: none;
}
.ais .ais-form select {
	appearance: none;
	padding-right: 40px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23434244' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;
}
.ais .ais-form input:focus, .ais .ais-form select:focus { border-color: var(--ais-verde-texto); box-shadow: 0 0 0 3px rgba(15, 122, 60, .18); }
.ais .ais-form [aria-invalid="true"] { border-color: #b3261e; }
.ais-interesses { border: 0; padding: 0; margin: 4px 0 20px; }
.ais-interesses legend { margin-bottom: 10px; padding: 0; }
.ais-opcional { font-weight: 400; color: var(--ais-apoio); }
.ais-interesses__opcoes { display: flex; flex-wrap: wrap; gap: 8px; }
.ais-chip { position: relative; cursor: pointer; margin: 0; }
.ais-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ais-chip span {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid #c9ccc9;
	border-radius: 999px;
	font-size: 15px;
	color: var(--ais-texto);
	transition: background-color .15s, border-color .15s;
}
.ais-chip input:checked + span { background: rgba(29, 213, 104, .16); border-color: var(--ais-verde-texto); color: var(--ais-verde-texto); font-weight: 600; }
.ais-chip input:focus-visible + span { outline: 2px solid var(--ais-verde-texto); outline-offset: 2px; }
.ais-form__enviar { width: 100%; }
.ais-form__enviar[disabled] { opacity: .6; cursor: progress; }
.ais-form__aviso { margin-top: 14px !important; font-size: 14px; color: var(--ais-apoio); }
.ais-form__aviso a { text-decoration: underline; }
.ais-form__erro { background: #fdecea; color: #8c1d18; border-radius: 6px; padding: 10px 14px; margin-bottom: 16px !important; font-size: 15px; }
.ais-form__ok { display: flex; gap: 14px; align-items: flex-start; font-size: 19px; color: var(--ais-carvao); outline: none; }
.ais-form__ok .ais-ic { width: 32px; height: 32px; color: var(--ais-verde-texto); stroke-width: 2.2; }
.ais-form__isca { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ------------------------------------------------------------------ */
/* Páginas de destaque                                                 */
/* ------------------------------------------------------------------ */

.ais-problema__grade { display: grid; grid-template-columns: minmax(0, .5fr) minmax(0, 1.5fr); gap: 32px; align-items: start; }
.ais-problema__grade > .ais-rotulo { margin-top: 12px; }
.ais-problema__texto { margin-top: 20px !important; font-size: 20px; color: var(--ais-apoio); max-width: 56ch; }

.ais-fluxo { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-top: 48px !important; }
.ais-fluxo__passo {
	position: relative;
	background: #fff;
	border: 1px solid var(--ais-borda);
	border-radius: var(--ais-raio);
	padding: 22px 20px;
}
.ais-fluxo__num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--ais-verde); color: #232224;
	font-family: var(--ais-titulo); font-weight: 700;
	margin-bottom: 14px;
}
.ais-fluxo__passo h3 { font-size: 18px; font-weight: 500; color: var(--ais-carvao); line-height: 1.3; }
.ais-fluxo__passo p { font-size: 15px; color: var(--ais-apoio); margin-top: 8px !important; line-height: 1.5; }
.ais-fluxo--sequencia .ais-fluxo__passo:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 38px; right: -13px;
	width: 10px; height: 10px;
	border-top: 2px solid var(--ais-verde-texto);
	border-right: 2px solid var(--ais-verde-texto);
	transform: rotate(45deg);
	z-index: 2;
}

.ais-recursos__grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 48px !important; }
.ais-recurso h3 { font-size: 19px; font-weight: 500; color: var(--ais-carvao); margin-top: 18px; }
.ais-recurso p { font-size: 16px; color: var(--ais-apoio); margin-top: 8px !important; }
.ais-recurso .ais-ic-caixa { background: var(--ais-superficie); border-color: transparent; }

.ais-capturas__grade { display: grid; gap: 32px; margin-top: 48px; align-items: start; }
.ais-capturas__grade--2 { grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); }
.ais-capturas__grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ais--destaque[data-ais-destaque="lgpd"] .ais-capturas__grade--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ais-outras { padding: 56px 0 72px; }
.ais-outras .ais-rotulo { font-size: 16px; }
.ais-outras__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ais-outra {
	display: flex; align-items: center; gap: 14px;
	padding: 18px 20px;
	border: 1px solid var(--ais-borda);
	border-radius: var(--ais-raio);
	text-decoration: none !important;
	transition: border-color .2s;
	height: 100%;
}
.ais-outra:hover { border-color: var(--ais-verde-texto); }
.ais-outra > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; font-size: 15px; color: var(--ais-apoio); line-height: 1.4; }
.ais-outra strong { font-family: var(--ais-titulo); font-weight: 500; font-size: 18px; color: var(--ais-carvao); }
.ais-outra > .ais-ic { color: var(--ais-verde-texto); }

/* ------------------------------------------------------------------ */
/* Sem as capturas: ilustrações e ícones no lugar                      */
/* ------------------------------------------------------------------ */

.ais-topo__grade--so-texto { grid-template-columns: minmax(0, 1fr); }
.ais-topo__grade--so-texto .ais-h1 { max-width: 18ch; }
.ais-topo__grade--so-texto .ais-topo__sub { max-width: 56ch; }

.ais-destaque__visual--icone { height: 150px; padding: 0; align-items: center; color: #fff; }
.ais-destaque__visual--icone .ais-ic { width: 56px; height: 56px; stroke-width: 1.2; }
.ais-destaque__visual--icone .ais-ic .d { stroke: var(--ais-verde); }

.ais-celular__icone {
	width: min(100%, 300px);
	aspect-ratio: 1;
	margin-inline: auto;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--ais-borda);
	display: flex; align-items: center; justify-content: center;
	color: var(--ais-carvao);
}
.ais-celular__icone .ais-ic { width: 38%; height: 38%; stroke-width: 1; }

.ais-capturas__grade--1 { grid-template-columns: minmax(0, 960px); }

.ais-ilus {
	margin: 0;
	background: #fff;
	border: 1px solid var(--ais-borda);
	border-radius: 14px;
	padding: 24px;
	box-shadow: 0 18px 48px -24px rgba(30, 30, 32, .25);
	font-size: 14px;
}
.ais-ilus__topo { display: flex; gap: 12px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--ais-borda); margin-bottom: 18px; color: var(--ais-carvao); }
.ais-ilus__topo > .ais-ic { width: 40px; height: 40px; padding: 9px; border-radius: 10px; background: var(--ais-superficie); }
.ais-ilus__topo strong { display: block; font-family: var(--ais-titulo); font-weight: 500; font-size: 16px; }
.ais-ilus__topo span { color: var(--ais-apoio); font-size: 13px; }
.ais-ilus__barra { height: 8px; border-radius: 99px; background: var(--ais-superficie); overflow: hidden; margin-bottom: 18px; }
.ais-ilus__barra span { display: block; height: 100%; background: var(--ais-verde); border-radius: 99px; }
.ais-ilus__colunas { display: grid; grid-template-columns: 1.3fr 1fr; gap: 20px; }
.ais-ilus__rot { display: flex; align-items: center; gap: 6px; font-weight: 600; color: var(--ais-apoio); margin-bottom: 10px !important; font-size: 13px; }
.ais-ilus__rot--ok { color: var(--ais-verde-texto); }
.ais-ilus__rot .ais-ic { width: 16px; height: 16px; stroke-width: 2.4; }
.ais-ilus__linha { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.ais-ilus__linha i { width: 22px; height: 22px; border-radius: 50%; background: #dfe9e2; flex: none; }
.ais-ilus__linha b { height: 8px; border-radius: 99px; background: #e4e6e4; display: block; }
.ais-ilus__linha em { margin-left: auto; font-style: normal; font-size: 11px; color: var(--ais-apoio); white-space: nowrap; }
.ais-ilus__linha--falta i { background: #eceded; }
.ais-ilus__msg { border-radius: 12px; padding: 12px 14px; margin-bottom: 12px; max-width: 88%; }
.ais-ilus__msg--pergunta { margin-left: auto; background: var(--ais-carvao); color: #fff; font-size: 14px; }
.ais-ilus__msg--resposta { background: var(--ais-superficie); }
.ais-ilus__msg--resposta b { display: block; height: 8px; border-radius: 99px; background: #dcdfdc; margin: 6px 0; }
.ais-ilus__fonte {
	display: inline-flex; align-items: center; gap: 6px;
	margin-top: 10px;
	padding: 5px 10px;
	border-radius: 99px;
	background: rgba(29, 213, 104, .14);
	color: var(--ais-verde-texto);
	font-size: 12.5px; font-weight: 600;
}
.ais-ilus__fonte .ais-ic { width: 15px; height: 15px; }

/* ------------------------------------------------------------------ */
/* Telas menores                                                       */
/* ------------------------------------------------------------------ */

@media (max-width: 1199px) {
	.ais-dores__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ais-fluxo { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ais-fluxo--sequencia .ais-fluxo__passo::after { display: none; }
	.ais-v02 { grid-template-columns: 1fr; gap: 0; max-width: 460px; margin-inline: auto; }
	.ais-v02__liga { width: 2px; height: 26px; margin: 6px auto; background: repeating-linear-gradient(180deg, var(--ais-verde) 0 5px, transparent 5px 9px); }
	.ais-v02__liga span { display: none; }
}

@media (max-width: 991px) {
	.ais { font-size: 16px; }
	.ais-topo { padding-top: calc(67px + 40px); }
	.ais-topo__grade, .ais-topo__grade--destaque,
	.ais-dif, .ais-seguranca__grade, .ais-celular__grade, .ais-faq__grade,
	.ais-contato__grade, .ais-problema__grade { grid-template-columns: 1fr; }
	.ais-topo__icone { display: none; }
	.ais-dif--invertido .ais-dif__texto { order: 0; }
	.ais-selos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ais-grupo__lista, .ais-destaques__grade, .ais-pacotes, .ais-recursos__grade, .ais-outras__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ais-capturas__grade--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ais-passos { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
	.ais-passo:nth-child(2)::before { display: none; }
	.ais-v02--compacto { margin-inline: 0; }
	.ais-losangos { width: 200px; opacity: .2; }
}

@media (max-width: 767px) {
	.ais-dores__grade, .ais-grupo__lista, .ais-destaques__grade, .ais-pacotes,
	.ais-instalacao, .ais-recursos__grade, .ais-outras__lista, .ais-fluxo,
	.ais-capturas__grade--2, .ais-capturas__grade--3,
	.ais--destaque[data-ais-destaque="lgpd"] .ais-capturas__grade--2,
	.ais-form__linha { grid-template-columns: 1fr; }
	.ais-passos { grid-template-columns: 1fr; row-gap: 0; }
	.ais-passo { padding: 0 0 32px 68px; min-height: 48px; }
	.ais-passo::before { top: 52px; bottom: 4px; left: 23px; right: auto; width: 2px; height: auto; display: block !important; }
	.ais-passo:last-child::before { display: none !important; }
	.ais-selos li { font-size: 15px; padding-right: 8px; }
	.ais-botoes .ais-botao { flex: 1 1 100%; }
	.ais-contratar__cta { flex-direction: column; align-items: stretch; text-align: left; }
	.ais-faq__item summary { font-size: 18px; }
	.ais-faq__item p { padding-right: 0; }
	.ais-destaque__visual { height: 230px; }
	.ais-dor { display: grid; grid-template-columns: 48px 1fr; column-gap: 16px; padding: 22px; }
	.ais-dor .ais-ic-caixa { grid-row: span 2; }
	.ais-dor h3 { margin: 0 0 6px; }
	.ais-v02__cofres > div { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	.ais *, .ais *::before, .ais *::after { transition: none !important; scroll-behavior: auto !important; }
}
