/* ==========================================================================
   Andrade & Alvares — Estilos do tema
   Índice:
   1. Tokens (cores, tipografia, espaçamentos)
   2. Reset e base
   3. Layout utilitário
   4. Tipografia de seção (kicker, títulos)
   5. Botões
   6. Header / navegação
   7. Hero
   8. Faixa de diferenciais (badges)
   9. Soluções (cards)
   10. Quem somos
   11. Depoimentos (carrossel)
   12. CTA final
   13. Rodapé
   14. Blog / arquivos (fallback)
   15. Página de contato
   16. Página de soluções
   17. Página quem somos
   18. Páginas jurídicas
   19. Responsivo
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--aae-primary: #285FE7;
	--aae-primary-dark: #1c47ba;
	--aae-dark: #122142;
	--aae-dark-soft: #17284f;
	--aae-light: #F1F5FF;
	--aae-white: #ffffff;
	--aae-text: #1b2333;
	--aae-text-muted: #5b6478;
	--aae-border: #e3e8f7;

	--aae-font: 'Sora', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	--aae-radius-sm: 10px;
	--aae-radius-md: 16px;
	--aae-radius-lg: 24px;
	--aae-radius-pill: 999px;

	--aae-container: 1240px;
	--aae-section-space: clamp(64px, 8vw, 112px);
}

/* 2. Reset e base ----------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 96px;
}

body {
	margin: 0;
	font-family: var(--aae-font);
	color: var(--aae-text);
	background: var(--aae-white);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4 {
	font-family: var(--aae-font);
	font-weight: 700;
	margin: 0 0 16px;
	color: var(--aae-dark);
	line-height: 1.2;
}

p {
	margin: 0 0 16px;
}

button {
	font-family: inherit;
	cursor: pointer;
}

/* 3. Layout utilitário -------------------------------------------------------- */
.aae-container {
	width: 100%;
	max-width: var(--aae-container);
	margin: 0 auto;
	padding: 0 24px;
}

.aae-section {
	padding: var(--aae-section-space) 0;
}

.aae-dots {
	position: absolute;
	width: 88px;
	height: 88px;
	background-image: radial-gradient(currentColor 1.6px, transparent 1.6px);
	background-size: 12px 12px;
	color: var(--aae-primary);
	opacity: .35;
	z-index: 0;
}
.aae-dots--tl { top: -16px; left: -16px; }
.aae-dots--tr { top: -16px; right: -16px; }
.aae-dots--bl { bottom: -16px; left: -16px; }
.aae-dots--br { bottom: -16px; right: -16px; }

/* 4. Tipografia de seção ------------------------------------------------------ */
.aae-kicker {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--aae-primary);
	margin-bottom: 12px;
}

.aae-section__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 32px;
	margin-bottom: 48px;
}

.aae-section__head--split {
	align-items: center;
}

.aae-section__title {
	font-size: clamp(28px, 3.4vw, 40px);
	max-width: 560px;
}

.aae-section__title span {
	color: var(--aae-primary);
}

.aae-section__text {
	max-width: 420px;
	color: var(--aae-text-muted);
	margin: 0;
}

/* 5. Botões ------------------------------------------------------------------ */
.aae-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 26px;
	border-radius: var(--aae-radius-sm);
	font-weight: 600;
	font-size: 15px;
	white-space: nowrap;
	transition: transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
	border: 1.5px solid transparent;
}
.aae-btn:hover {
	transform: translateY(-1px);
}

.aae-btn--primary {
	background: var(--aae-primary);
	color: var(--aae-white);
}
.aae-btn--primary:hover {
	background: var(--aae-primary-dark);
}

.aae-btn--outline {
	background: transparent;
	color: var(--aae-white);
	border-color: rgba(255, 255, 255, .4);
}
.aae-btn--outline:hover {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .7);
}

.aae-btn--light {
	background: var(--aae-white);
	color: var(--aae-dark);
}
.aae-btn--light:hover {
	background: var(--aae-light);
}

/* Botão do header (stroke, sem preenchimento) precisa inverter as cores
   quando o header vira branco ao rolar — senão fica branco sobre branco. */
.aae-header.is-scrolled .aae-btn--outline {
	color: var(--aae-dark);
	border-color: var(--aae-border);
}
.aae-header.is-scrolled .aae-btn--outline:hover {
	background: var(--aae-light);
	border-color: var(--aae-primary);
}

.aae-btn__arrow {
	width: 16px;
	height: 16px;
}

.aae-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	color: var(--aae-primary);
}
.aae-link-arrow .aae-icon {
	width: 16px;
	height: 16px;
	transition: transform .15s ease;
}
.aae-link-arrow:hover .aae-icon {
	transform: translateX(3px);
}

/* 6. Header / navegação -------------------------------------------------------- */
.aae-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--aae-dark);
	transition: background-color .25s ease, box-shadow .25s ease;
}

.aae-header.is-scrolled {
	background: var(--aae-white);
	box-shadow: 0 4px 24px rgba(18, 33, 66, .08);
}

.aae-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 20px 24px;
}

.aae-logo {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.aae-logo__img {
	height: 34px;
	width: auto;
}

.aae-logo__img--dark {
	display: none;
}

.aae-header.is-scrolled .aae-logo__img--light {
	display: none;
}
.aae-header.is-scrolled .aae-logo__img--dark {
	display: block;
}

.aae-nav-menu {
	display: flex;
	align-items: center;
	gap: 32px;
}

.aae-nav-menu a {
	position: relative;
	display: inline-block;
	padding-bottom: 6px;
	font-size: 15px;
	font-weight: 500;
	color: var(--aae-white);
	transition: color .15s ease;
}
.aae-header.is-scrolled .aae-nav-menu a {
	color: var(--aae-dark);
}
.aae-nav-menu a:hover {
	color: var(--aae-primary);
}

.aae-nav-menu .current-menu-item > a,
.aae-nav-menu .current_page_item > a,
.aae-nav-menu .aae-nav-menu__item--current > a {
	color: var(--aae-primary);
}
.aae-nav-menu .current-menu-item > a::after,
.aae-nav-menu .current_page_item > a::after,
.aae-nav-menu .aae-nav-menu__item--current > a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--aae-primary);
}

.aae-header__actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

.aae-nav-toggle {
	display: none;
	background: none;
	border: none;
	padding: 6px;
	color: var(--aae-white);
}
.aae-header.is-scrolled .aae-nav-toggle {
	color: var(--aae-dark);
}
.aae-nav-toggle .aae-icon {
	width: 26px;
	height: 26px;
}
.aae-nav-toggle__close {
	display: none;
}
.aae-nav-toggle[aria-expanded="true"] .aae-nav-toggle__open {
	display: none;
}
.aae-nav-toggle[aria-expanded="true"] .aae-nav-toggle__close {
	display: block;
}

.aae-mobile-menu {
	/* Absoluto (relativo ao .aae-header, que é sticky/positioned) — abre
	   flutuando por cima do conteúdo, em vez de empurrar a página. */
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--aae-dark);
	padding: 8px 24px 24px;
	box-shadow: 0 16px 32px rgba(18, 33, 66, .18);
}
.aae-mobile-menu .aae-nav-menu {
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}
.aae-mobile-menu .aae-nav-menu a {
	display: block;
	width: 100%;
	padding: 12px 0;
	color: var(--aae-white);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

/* 7. Hero ---------------------------------------------------------------------- */
.aae-hero {
	background: linear-gradient(180deg, var(--aae-dark) 0%, var(--aae-dark-soft) 100%);
	color: var(--aae-white);
}

.aae-hero__inner {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	align-items: center;
	gap: 48px;
	padding-top: 56px;
	padding-bottom: 64px;
}

.aae-hero__title {
	color: var(--aae-white);
	font-size: clamp(26px, 3.4vw, 40px);
	font-weight: 400;
}
.aae-hero__title strong {
	font-weight: 700;
}

.aae-hero__text {
	color: rgba(255, 255, 255, .78);
	max-width: 460px;
	font-size: 17px;
}

.aae-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 8px;
}

.aae-hero__media {
	position: relative;
}
.aae-hero__media img {
	/* A imagem já traz os cantos arredondados, os pontilhados e o selo
	   de engrenagem "assados" no próprio PNG — nada de decoração extra aqui. */
	width: 100%;
}

/* 8. Faixa de diferenciais ------------------------------------------------------ */
.aae-badges {
	/* Sem padding próprio: a largura/centralização vem só de
	   .aae-badges__inner (mesma classe .aae-container do hero),
	   pra ficar sempre com a mesma largura do conteúdo da hero. */
}

.aae-badges__inner {
	/* O conteúdo da hero (.aae-hero__inner) fica 24px para dentro do
	   container por causa do padding lateral de .aae-container — então
	   a faixa precisa descontar esse mesmo padding (24px de cada lado)
	   pra bater exatamente com a largura do conteúdo, não do container. */
	max-width: calc(var(--aae-container) - 48px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	padding: 32px;
	background: #0D1A36;
	border-radius: var(--aae-radius-md) var(--aae-radius-md) 0 0;
}

.aae-badge {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.aae-badge:not(:first-child) {
	border-left: 1px solid rgba(255, 255, 255, .1);
	padding-left: 24px;
}

.aae-badge__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--aae-primary);
}
.aae-badge__icon .aae-icon {
	width: 24px;
	height: 24px;
}

.aae-badge__title {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--aae-white);
	line-height: 1.35;
}

/* 9. Soluções ------------------------------------------------------------------- */
.aae-solutions {
	background: var(--aae-white);
}

.aae-solutions__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.aae-card {
	position: relative;
	overflow: hidden;
	background: var(--aae-white);
	border: 1px solid var(--aae-border);
	border-radius: var(--aae-radius-md);
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.aae-card:hover {
	box-shadow: 0 20px 40px rgba(18, 33, 66, .08);
	border-color: transparent;
	transform: translateY(-2px);
}

/* Faixa decorativa no topo do card — atrás do ícone/título. */
.aae-card__strip {
	/* Termina na metade da altura do ícone: 32px de padding do body
	   + metade dos 44px do ícone = 54px. */
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 54px;
	background-image: url('https://andradeealvares.com/wp-content/uploads/2026/08/faixa-cards-home.png');
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
}

.aae-card__body {
	position: relative;
	z-index: 1;
	padding: 32px;
}

.aae-card__icon {
	display: block;
	width: 44px;
	height: 44px;
	margin-bottom: 20px;
}

.aae-card__title {
	font-size: 19px;
	margin-bottom: 10px;
}

.aae-card__text {
	color: var(--aae-text-muted);
	font-size: 15px;
	margin-bottom: 20px;
}

.aae-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: 14px;
	color: var(--aae-primary);
}
.aae-card__link .aae-icon {
	width: 15px;
	height: 15px;
	transition: transform .15s ease;
}
.aae-card__link:hover .aae-icon {
	transform: translateX(3px);
}

/* 10. Quem somos ---------------------------------------------------------------- */
.aae-about {
	background: var(--aae-light);
}

.aae-about__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

.aae-about__media {
	position: relative;
}
.aae-about__media img {
	/* A imagem já traz o cartão "Resultados sólidos", o ícone de
	   engrenagem, a foto secundária e os pontilhados "assados" no
	   próprio PNG — nada de decoração extra aqui. */
	width: 100%;
}

.aae-about__content p {
	color: var(--aae-text-muted);
}

/* 11. Depoimentos ----------------------------------------------------------------- */
.aae-testimonials {
	/* Mesmo fundo do "Quem somos" — precisa da borda pra separar as duas. */
	background: var(--aae-light);
	border-top: 1px solid var(--aae-border);
}

/* Título com peso normal e só o trecho em destaque em negrito (mesmo
   padrão do H1 da hero) — sem cor diferenciada, é preto igual ao resto. */
.aae-testimonials .aae-section__title {
	font-weight: 400;
}
.aae-testimonials .aae-section__title span {
	font-weight: 700;
	color: inherit;
}

.aae-carousel-nav {
	display: flex;
	gap: 4px;
	flex: 0 0 auto;
}

.aae-carousel-nav__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: none;
	background: transparent;
	color: var(--aae-text-muted);
	transition: color .15s ease;
}
.aae-carousel-nav__btn:hover {
	color: var(--aae-primary);
}
.aae-carousel-nav__btn .aae-icon {
	width: 20px;
	height: 20px;
}

.aae-carousel {
	overflow: hidden;
}

.aae-carousel__track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.aae-carousel__track::-webkit-scrollbar {
	display: none;
}

.aae-testimonial {
	/* Só existem 3 depoimentos — divisão exata em 3, sem sobrar vão morto
	   no fim da linha (não tem um 4º card pra espiar de verdade). */
	scroll-snap-align: start;
	flex: 0 0 calc((100% - 48px) / 3);
	background: var(--aae-white);
	border: 1px solid var(--aae-border);
	border-radius: var(--aae-radius-md);
	padding: 28px;
	display: flex;
	flex-direction: column;
}

.aae-testimonial__icon {
	color: var(--aae-primary);
	margin-bottom: 16px;
}
.aae-testimonial__icon .aae-icon {
	width: 26px;
	height: 26px;
}

.aae-testimonial__quote {
	color: var(--aae-text);
	font-size: 14.5px;
	flex: 1;
}

.aae-testimonial__divider {
	height: 1px;
	background: var(--aae-border);
	margin: 20px 0;
}

.aae-testimonial__author {
	display: flex;
	align-items: center;
	gap: 12px;
}

.aae-testimonial__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--aae-light);
	color: var(--aae-text-muted);
	flex: 0 0 auto;
}
.aae-testimonial__avatar .aae-icon {
	width: 18px;
	height: 18px;
}
.aae-testimonial__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aae-testimonial__author strong {
	display: block;
	font-size: 14.5px;
	color: var(--aae-dark);
}
.aae-testimonial__author small {
	display: block;
	font-size: 13px;
	color: var(--aae-text-muted);
}

/* 12. CTA final --------------------------------------------------------------------- */
.aae-cta {
	/* Mesmo fundo da seção de depoimentos logo acima — sem branco atrás
	   do card. */
	background: var(--aae-light);
	padding: 0 24px var(--aae-section-space);
}

.aae-cta__inner {
	/* Mesma largura do conteúdo da hero/badges — não estica a página toda. */
	position: relative;
	max-width: calc(var(--aae-container) - 48px);
	min-height: 340px;
	margin: 0 auto;
	background: var(--aae-dark);
	color: var(--aae-white);
	border-radius: var(--aae-radius-lg);
	display: flex;
	gap: 24px;
	/* Sem overflow:hidden de propósito — a foto precisa poder
	   ultrapassar a borda superior do card. */
}

.aae-cta__content {
	flex: 1 1 55%;
	padding: 56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.aae-cta__content .aae-btn {
	/* .aae-cta__content é flex-column; sem isso o botão estica
	   e vira 100% da largura da coluna. */
	align-self: flex-start;
}

.aae-cta__title {
	color: var(--aae-white);
	font-size: clamp(28px, 3.4vw, 40px);
}

.aae-cta__content p {
	color: rgba(255, 255, 255, .78);
	max-width: 420px;
}

.aae-cta__media {
	position: relative;
	flex: 0 0 40%;
}
.aae-cta__media img {
	/* Colada embaixo (bottom:0) e mais alta que o card (calc +56px),
	   então a parte de cima "escapa" pra fora do card. */
	position: absolute;
	inset: auto 0 0 auto;
	width: 100%;
	height: calc(100% + 56px);
	object-fit: contain;
	object-position: bottom right;
}

/* 13. Rodapé -------------------------------------------------------------------------- */
.aae-footer {
	background: var(--aae-white);
	color: var(--aae-text-muted);
}

.aae-footer__top {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
	padding: 72px 24px 48px;
}

.aae-footer__brand .aae-logo__img,
.aae-footer__brand img {
	height: 32px;
	width: auto;
	margin-bottom: 20px;
}

.aae-footer__contact {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.aae-footer__contact a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--aae-text);
	font-weight: 500;
	font-size: 14px;
	border: 1px solid var(--aae-border);
	border-radius: var(--aae-radius-sm);
	padding: 10px 16px;
	transition: border-color .15s ease, color .15s ease;
}
.aae-footer__contact a:hover {
	border-color: var(--aae-primary);
	color: var(--aae-primary);
}
.aae-footer__contact .aae-icon {
	width: 16px;
	height: 16px;
	color: var(--aae-primary);
}

.aae-footer__col h3 {
	color: var(--aae-dark);
	font-size: 16px;
	margin-bottom: 20px;
}
.aae-footer__col ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.aae-footer__col a {
	font-size: 14.5px;
	color: var(--aae-text-muted);
	transition: color .15s ease;
}
.aae-footer__col a:hover {
	color: var(--aae-primary);
}
.aae-footer__see-all {
	color: var(--aae-primary) !important;
	font-weight: 700;
}

.aae-footer__bottom {
	border-top: 1px solid var(--aae-border);
}
.aae-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
	padding: 24px;
	font-size: 13.5px;
	color: var(--aae-text-muted);
}
.aae-footer__bottom-inner p:last-child {
	color: var(--aae-dark);
	font-weight: 700;
}

/* 13b. Página genérica (Contato, políticas, termos...) -------------------------------- */
.aae-main--page {
	padding: var(--aae-section-space) 0;
}
.aae-page {
	max-width: 820px;
}
.aae-page__title {
	font-size: clamp(28px, 3.4vw, 40px);
}
.aae-page__thumb {
	margin-bottom: 32px;
	border-radius: var(--aae-radius-md);
	overflow: hidden;
}
.aae-page__content {
	color: var(--aae-text);
}
.aae-page__content p {
	color: var(--aae-text-muted);
}
.aae-page__content a {
	color: var(--aae-primary);
	font-weight: 600;
	text-decoration: underline;
}

/* 14. Blog / arquivos (fallback) ------------------------------------------------------- */
.aae-main--archive {
	padding: var(--aae-section-space) 0;
}
.aae-archive {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
}
.aae-post-card {
	border: 1px solid var(--aae-border);
	border-radius: var(--aae-radius-md);
	overflow: hidden;
}
.aae-post-card__thumb img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.aae-post-card__body {
	padding: 24px;
}
.aae-pagination {
	margin-top: 40px;
	text-align: center;
}

/* 15. Página de contato ----------------------------------------------------------------- */
.aae-contact-hero {
	background: var(--aae-dark) url('https://andradeealvares.com/wp-content/uploads/2026/08/background-contato.png') top center / cover no-repeat;
	color: var(--aae-white);
	padding: 64px 0 88px;
}

.aae-contact-hero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}
.aae-contact-hero__inner > * {
	/* Sem isso, um item de grid não encolhe além do conteúdo intrínseco
	   (ex.: o e-mail sem espaços) e empurra a coluna pra fora da tela. */
	min-width: 0;
}

.aae-contact-intro__title {
	color: var(--aae-white);
	font-size: clamp(32px, 4vw, 44px);
}

.aae-contact-intro__text {
	color: rgba(255, 255, 255, .78);
	max-width: 460px;
}

.aae-contact-channels {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 32px;
}

.aae-contact-channel {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--aae-radius-md);
	padding: 18px 20px;
	flex-wrap: wrap;
}

.aae-contact-channel__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: var(--aae-primary);
	flex: 0 0 auto;
}
.aae-contact-channel__icon .aae-icon {
	width: 20px;
	height: 20px;
}

.aae-contact-channel__label {
	flex: 1 1 160px;
	min-width: 0;
	font-weight: 600;
	color: var(--aae-white);
	overflow-wrap: break-word;
	word-break: break-word;
}

.aae-btn--icon {
	width: 44px;
	height: 44px;
	padding: 0;
	justify-content: center;
	flex: 0 0 auto;
}
.aae-btn--icon .aae-icon {
	width: 18px;
	height: 18px;
}

.aae-btn--block {
	display: flex;
	width: 100%;
	justify-content: center;
	border: none;
}

.aae-contact-form {
	background: var(--aae-white);
	color: var(--aae-text);
	border-radius: var(--aae-radius-lg);
	padding: 40px;
}

.aae-form-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	border-radius: var(--aae-radius-sm);
	padding: 12px 16px;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: 600;
}
.aae-form-notice .aae-icon {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}
.aae-form-notice--ok {
	background: #e6f7ec;
	color: #1a7a41;
}
.aae-form-notice--erro {
	background: #fdecec;
	color: #b3261e;
}

/* Loader do botão de envio do formulário. */
.aae-btn__spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, .4);
	border-top-color: var(--aae-white);
	border-radius: 50%;
	animation: aae-spin .7s linear infinite;
}
.aae-btn--loadable.is-loading {
	opacity: .85;
	cursor: not-allowed;
	pointer-events: none;
}
.aae-btn--loadable.is-loading .aae-btn__spinner {
	display: inline-block;
}
@keyframes aae-spin {
	to {
		transform: rotate(360deg);
	}
}

.aae-field {
	margin-bottom: 20px;
}
.aae-field label {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--aae-dark);
	margin-bottom: 8px;
}

.aae-field input,
.aae-field textarea,
.aae-select select {
	width: 100%;
	font-family: var(--aae-font);
	font-size: 14.5px;
	color: var(--aae-text);
	background: var(--aae-white);
	border: 1px solid var(--aae-border);
	border-radius: var(--aae-radius-sm);
	padding: 13px 16px;
}
.aae-field input::placeholder,
.aae-field textarea::placeholder {
	color: #9aa3b8;
}
.aae-field input:focus,
.aae-field textarea:focus,
.aae-select select:focus {
	outline: none;
	border-color: var(--aae-primary);
}
.aae-field textarea {
	resize: vertical;
	min-height: 120px;
}

.aae-select {
	position: relative;
}
.aae-select select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 40px;
	cursor: pointer;
}
.aae-select__icon {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	color: var(--aae-text-muted);
	pointer-events: none;
}

.aae-form__honeypot {
	/* Escondido sem usar "left: -9999px" — deslocamentos extremos podem
	   forçar overflow horizontal na página em alguns navegadores. */
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* 16. Página de soluções ----------------------------------------------------------------- */
.aae-solutions-hero {
	background: var(--aae-dark) url('https://andradeealvares.com/wp-content/uploads/2026/08/background-quemsomos.png') top center / cover no-repeat;
	color: var(--aae-white);
	padding: 64px 0 80px;
}
.aae-solutions-hero__title {
	color: var(--aae-white);
	font-size: clamp(32px, 4vw, 44px);
	margin-bottom: 12px;
}
.aae-solutions-hero__text {
	color: rgba(255, 255, 255, .78);
	max-width: 560px;
	margin: 0;
}

.aae-solutions-list {
	background: var(--aae-white);
	padding: var(--aae-section-space) 0;
}

.aae-solution-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 48px;
	padding: 88px 0;
	border-bottom: 1px solid var(--aae-border);
}
.aae-solution-row:first-child {
	padding-top: 0;
}
.aae-solution-row:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.aae-solution-row--reverse .aae-solution-row__media {
	order: 2;
}
.aae-solution-row--reverse .aae-solution-row__content {
	order: 1;
}

.aae-solution-row__media img {
	width: 100%;
}

.aae-solution-row__title {
	font-size: clamp(22px, 2.4vw, 28px);
	margin-bottom: 20px;
}

.aae-solution-row__bullets {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 28px;
}
.aae-solution-row__bullets li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--aae-text-muted);
	font-size: 15px;
}
.aae-solution-row__bullet-icon {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--aae-primary);
}

/* 17. Página quem somos ------------------------------------------------------------------- */
.aae-about-page-hero {
	background: var(--aae-dark) url('https://andradeealvares.com/wp-content/uploads/2026/08/background-quemsomos.png') top center / cover no-repeat;
	color: var(--aae-white);
	padding: 64px 0 80px;
}
.aae-about-page-hero__title {
	color: var(--aae-white);
	font-size: clamp(32px, 4vw, 44px);
	margin-bottom: 12px;
}
.aae-about-page-hero__text {
	color: rgba(255, 255, 255, .78);
	max-width: 560px;
	margin: 0;
}

.aae-divider {
	border: none;
	border-top: 1px solid var(--aae-border);
	margin: 48px 0;
}

/* Nossa História -------------------------------------------------------------------------- */
.aae-about-history__columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	margin-top: 24px;
}
.aae-about-history__columns p {
	color: var(--aae-text-muted);
	margin: 0;
}

/* Nossa trajetória -------------------------------------------------------------------------- */
.aae-about-timeline__note {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--aae-text-muted);
	font-size: 14px;
	margin: 0;
	max-width: 260px;
}
.aae-about-timeline__note .aae-icon {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	color: var(--aae-primary);
}

.aae-about-timeline .aae-carousel-nav {
	margin-top: 24px;
}

.aae-timeline-card {
	position: relative;
	overflow: hidden;
	/* 3 cards inteiros + uma lasca do próximo espiando na borda. */
	flex: 0 0 calc((100% - 48px) / 3.3);
	background: var(--aae-white);
	border: 1px solid var(--aae-border);
	border-radius: var(--aae-radius-md);
}
.aae-timeline-card__strip {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 54px;
	background-image: url('https://andradeealvares.com/wp-content/uploads/2026/08/faixa-cards-home.png');
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
}
.aae-timeline-card__body {
	position: relative;
	z-index: 1;
	padding: 28px;
}
.aae-timeline-card__year {
	display: inline-block;
	background: var(--aae-light);
	color: var(--aae-primary);
	font-weight: 700;
	font-size: 14px;
	padding: 6px 14px;
	border-radius: var(--aae-radius-sm);
	margin-bottom: 20px;
}
.aae-timeline-card__title {
	font-size: 18px;
	margin-bottom: 16px;
}
.aae-timeline-card__bullets {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.aae-timeline-card__bullets li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: var(--aae-text-muted);
	font-size: 14px;
}
.aae-timeline-card__bullet-icon {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	color: var(--aae-primary);
}

/* Missão, Visão e Valores + Equipe (mesma seção clara) --------------------------------------- */
.aae-about-mission-team {
	background: var(--aae-light);
}

.aae-about-mission {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}
.aae-about-mission__media img {
	width: 100%;
}

.aae-accordion {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.aae-accordion-item {
	background: var(--aae-white);
	border: 1px solid var(--aae-border);
	border-radius: var(--aae-radius-md);
	overflow: hidden;
}
.aae-accordion-item__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 20px 24px;
	background: none;
	border: none;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	color: var(--aae-dark);
	text-align: left;
}
.aae-accordion-item__icon {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	color: var(--aae-primary);
}
.aae-accordion-item__icon--minus {
	display: none;
}
.aae-accordion-item.is-open .aae-accordion-item__icon--plus {
	display: none;
}
.aae-accordion-item.is-open .aae-accordion-item__icon--minus {
	display: block;
}
.aae-accordion-item__panel {
	padding: 0 24px 20px;
}
.aae-accordion-item:not(.is-open) .aae-accordion-item__panel {
	display: none;
}
.aae-accordion-item__panel p {
	color: var(--aae-text-muted);
	margin: 0;
}

/* Conheça nossa Equipe ------------------------------------------------------------------------ */
.aae-about-team .aae-section__title {
	font-weight: 400;
}
.aae-about-team .aae-section__title span {
	font-weight: 700;
	color: inherit;
}

.aae-team-grid {
	display: grid;
	/* auto-fit: se sobrar só 1 ou 2 cards, eles esticam pra preencher a
	   largura em vez de deixar coluna(s) vazia(s) — com 3+ cards continua
	   3 por linha, já que o mínimo de 300px não deixa uma 4ª coluna caber. */
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
}

.aae-team-card {
	background: var(--aae-white);
	border: 1px solid var(--aae-border);
	border-radius: var(--aae-radius-md);
	overflow: hidden;
}
.aae-team-card__photo img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.aae-team-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
}
.aae-team-card__name {
	display: block;
	font-size: 15px;
	color: var(--aae-dark);
}
.aae-team-card__role {
	display: block;
	font-size: 13.5px;
	color: var(--aae-text-muted);
}
.aae-team-card__linkedin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--aae-primary);
	color: var(--aae-white);
	transition: background-color .15s ease;
}
.aae-team-card__linkedin:hover {
	background: var(--aae-primary-dark);
}
.aae-team-card__linkedin .aae-icon {
	width: 18px;
	height: 18px;
}

/* 18. Páginas jurídicas ------------------------------------------------------------------- */
.aae-legal-hero {
	background: var(--aae-dark) url('https://andradeealvares.com/wp-content/uploads/2026/08/background-quemsomos.png') top center / cover no-repeat;
	color: var(--aae-white);
	padding: 56px 0;
}
.aae-legal-hero__title {
	color: var(--aae-white);
	font-size: clamp(30px, 3.6vw, 40px);
	margin: 0;
}

.aae-legal-content {
	max-width: 820px;
	color: var(--aae-text-muted);
}
.aae-legal-content > *:first-child {
	margin-top: 0;
}
.aae-legal-content h2 {
	font-size: 22px;
	margin-top: 40px;
}
.aae-legal-content h3 {
	font-size: 17px;
	margin-top: 24px;
	margin-bottom: 8px;
}
.aae-legal-content p {
	color: var(--aae-text-muted);
}
.aae-legal-content ul,
.aae-legal-content ol {
	margin: 0 0 16px;
	padding-left: 22px;
	color: var(--aae-text-muted);
}
.aae-legal-content li {
	margin-bottom: 8px;
}
.aae-legal-content strong {
	color: var(--aae-dark);
}
.aae-legal-content a {
	color: var(--aae-primary);
	font-weight: 600;
	text-decoration: underline;
}
.aae-legal-content__updated {
	display: inline-block;
	font-size: 14px;
	color: var(--aae-text-muted);
	background: var(--aae-light);
	border-radius: var(--aae-radius-sm);
	padding: 8px 16px;
	margin-bottom: 32px;
}

/* 19. Responsivo ------------------------------------------------------------------------ */
@media (max-width: 960px) {
	.aae-hero__inner,
	.aae-about__inner,
	.aae-contact-hero__inner,
	.aae-about-history__columns,
	.aae-about-mission {
		grid-template-columns: 1fr;
	}
	.aae-team-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.aae-timeline-card {
		flex-basis: calc((100% - 24px) / 2);
	}
	.aae-solution-row {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 48px 0;
	}
	.aae-solution-row--reverse .aae-solution-row__media,
	.aae-solution-row--reverse .aae-solution-row__content {
		order: initial;
	}
	.aae-contact-form {
		padding: 28px;
	}
	.aae-cta__inner {
		flex-direction: column;
	}
	.aae-cta__content {
		padding: 40px 24px;
	}
	.aae-cta__media {
		flex-basis: auto;
		width: 100%;
	}
	.aae-cta__media img {
		position: static;
		width: 100%;
		max-width: 320px;
		height: auto;
		margin: 0 auto;
		display: block;
	}
	.aae-badges__inner {
		grid-template-columns: repeat(2, 1fr);
	}
	.aae-badge:nth-child(odd) {
		border-left: none;
		padding-left: 0;
	}
	.aae-badge:nth-child(n+3) {
		border-top: 1px solid rgba(255, 255, 255, .1);
		padding-top: 20px;
	}
	.aae-solutions__grid {
		grid-template-columns: 1fr;
	}
	.aae-footer__top {
		grid-template-columns: 1fr 1fr;
	}
	.aae-testimonial {
		flex-basis: calc((100% - 24px) / 2);
	}
}

@media (max-width: 720px) {
	.aae-nav,
	.aae-header__actions .aae-btn {
		display: none;
	}
	.aae-nav-toggle {
		display: inline-flex;
	}
	.aae-mobile-menu.is-open {
		display: block;
	}
	.aae-badges__inner {
		grid-template-columns: 1fr;
	}
	.aae-badge {
		border-left: none !important;
		padding-left: 0 !important;
	}
	.aae-badge:not(:first-child) {
		border-top: 1px solid rgba(255, 255, 255, .1);
		padding-top: 20px;
	}
	.aae-footer__top {
		grid-template-columns: 1fr;
	}
	.aae-testimonial {
		flex-basis: 88%;
	}
	.aae-team-grid {
		grid-template-columns: 1fr;
	}
	.aae-timeline-card {
		flex-basis: 88%;
	}
	.aae-cta {
		padding-left: 16px;
		padding-right: 16px;
	}
}
