/* ==========================================================================
   Audiovisual Agendamentos – front-end
   Estilos encapsulados em .ava (não afetam o tema). Mobile-first.
   ========================================================================== */

body.ava-canvas { margin: 0; background: #08080a; }

/* Cores do tema escuro (padrão). O topo com a foto (hero) usa sempre estas,
   mesmo quando o site está no tema claro. */
.ava,
.ava[data-tema="claro"] .ava-hero {
	--ava-bg: #08080a;
	--ava-bg-2: #0d0d11;
	--ava-surface: #141419;
	--ava-surface-2: #1b1b22;
	--ava-line: rgba(255, 255, 255, 0.08);
	--ava-line-2: rgba(255, 255, 255, 0.14);
	--ava-text: #f4f2ee;
	--ava-muted: #a6a4ae;
	--ava-dim: #6f6d78;
	--ava-accent: #ff4d2e;
	--ava-accent-2: #ffb547;
	--ava-grad: linear-gradient(120deg, #ff4d2e 0%, #ff8a3d 55%, #ffb547 100%);
	--ava-on-accent: #170b05;
	--ava-ok: #34d399;
	--ava-wa: #25d366;
	--ava-erro: #ff7b7b;
	--ava-radius: 20px;
	--ava-display: 'Sora', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--ava-body: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

.ava {
	position: relative;
	background: var(--ava-bg);
	color: var(--ava-text);
	font-family: var(--ava-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
	text-align: left;
}

.ava--embed {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Reset local */
.ava *, .ava *::before, .ava *::after { box-sizing: border-box; }
.ava h1, .ava h2, .ava h3, .ava p, .ava ul, .ava ol, .ava li, .ava figure,
.ava blockquote, .ava dl, .ava dt, .ava dd, .ava fieldset, .ava legend { margin: 0; padding: 0; }
.ava ul, .ava ol { list-style: none; }
.ava fieldset { border: 0; min-width: 0; }
.ava img, .ava video, .ava svg { display: block; max-width: 100%; }
.ava a { color: inherit; text-decoration: none; box-shadow: none; }
.ava button, .ava input, .ava textarea, .ava select { font: inherit; color: inherit; letter-spacing: normal; text-transform: none; }
.ava button { background: none; border: 0; padding: 0; margin: 0; cursor: pointer; }
.ava [hidden] { display: none !important; }
.ava :focus-visible { outline: 2px solid var(--ava-accent-2); outline-offset: 3px; }
.ava ::selection { background: rgba(255, 138, 61, 0.35); color: #fff; }

.ava .ava-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 768px) { .ava .ava-container { padding: 0 32px; } }

/* --------------------------------------------------------------------------
   Botões
   ------------------------------------------------------------------------ */
.ava .ava-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 24px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-family: var(--ava-display);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.ava .ava-btn svg { width: 18px; height: 18px; flex: none; transition: transform .2s ease; }
.ava .ava-btn:hover svg { transform: translateX(3px); }
.ava .ava-btn--sm { min-height: 40px; padding: 0 16px; font-size: 14px; }
.ava .ava-btn--lg { min-height: 56px; padding: 0 30px; font-size: 16px; }
.ava .ava-btn--block { width: 100%; }

.ava .ava-btn--primary {
	background: var(--ava-grad);
	color: var(--ava-on-accent);
	box-shadow: 0 12px 32px -12px rgba(255, 77, 46, 0.65);
}
.ava .ava-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 18px 42px -14px rgba(255, 77, 46, 0.8); color: var(--ava-on-accent); }

.ava .ava-btn--ghost { background: rgba(255, 255, 255, 0.04); border-color: var(--ava-line-2); color: var(--ava-text); }
.ava .ava-btn--ghost:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.32); color: var(--ava-text); }

.ava .ava-btn--wa { background: var(--ava-wa); color: #03210e; box-shadow: 0 12px 32px -12px rgba(37, 211, 102, 0.6); }
.ava .ava-btn--wa:hover { transform: translateY(-2px); color: #03210e; }
.ava .ava-btn--wa:hover svg { transform: none; }

.ava .ava-btn[disabled] { opacity: .65; cursor: progress; transform: none; }

/* --------------------------------------------------------------------------
   Navegação (somente em tela cheia)
   ------------------------------------------------------------------------ */
.ava .ava-nav {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(8, 8, 10, 0.62);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	backdrop-filter: blur(16px) saturate(140%);
	border-bottom: 1px solid var(--ava-line);
}
.admin-bar .ava .ava-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .ava .ava-nav { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ava .ava-nav { top: 0; } }

.ava .ava-nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 66px; }
.ava .ava-brand { display: inline-flex; align-items: center; gap: 10px; font-family: var(--ava-display); font-weight: 700; font-size: 17px; letter-spacing: -0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ava .ava-nav__links { display: none; gap: 30px; font-size: 14px; color: var(--ava-muted); }
.ava .ava-nav__links a { position: relative; transition: color .2s; }
.ava .ava-nav__links a:hover { color: var(--ava-text); }
.ava .ava-nav__links a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 2px;
	border-radius: 2px;
	background: var(--ava-grad, var(--ava-accent-2));
	transform: scaleX(0);
	transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.ava .ava-nav__links a.is-atual { color: var(--ava-text); }
.ava .ava-nav__links a.is-atual::after { transform: scaleX(1); }
@media (min-width: 900px) { .ava .ava-nav__links { display: flex; } }
.ava .ava-nav .ava-btn { flex: none; white-space: nowrap; }
.ava .ava-nav__acoes { display: flex; align-items: center; gap: 18px; flex: none; }
.ava .ava-nav__fone { display: none; align-items: center; gap: 8px; font-family: var(--ava-display); font-size: 14px; font-weight: 600; color: var(--ava-text); white-space: nowrap; }
.ava .ava-nav__fone svg { width: 18px; height: 18px; color: var(--ava-wa); }
.ava .ava-nav__fone:hover { color: var(--ava-wa); }
@media (min-width: 1100px) { .ava .ava-nav__fone { display: inline-flex; } }

/* Botão sol/lua do tema */
.ava .ava-tema-site {
	display: grid;
	place-items: center;
	flex: none;
	width: 40px;
	height: 40px;
	border: 1px solid var(--ava-line-2);
	border-radius: 50%;
	color: var(--ava-text);
	transition: border-color .2s, background-color .2s, transform .3s ease;
}
.ava .ava-tema-site:hover { border-color: var(--ava-accent-2); background: color-mix(in srgb, var(--ava-accent-2) 12%, transparent); }
.ava .ava-tema-site:active { transform: rotate(-25deg) scale(.94); }
.ava .ava-tema-site svg { width: 18px; height: 18px; }
.ava .ava-tema-site__lua { display: none; }
.ava[data-tema="claro"] .ava-tema-site__sol { display: none; }
.ava[data-tema="claro"] .ava-tema-site__lua { display: block; }
@media (max-width: 420px) {
	.ava .ava-nav__acoes { gap: 8px; }
	.ava .ava-tema-site { width: 36px; height: 36px; }
	/* No celular o botão vira só "Agendar", para o nome da empresa caber inteiro. */
	.ava .ava-so-largo { display: none; }
	.ava .ava-nav .ava-btn--sm { padding: 0 14px; }
}
@media (max-width: 380px) {
	.ava .ava-btn--lg { padding: 0 20px; font-size: 15px; }
	.ava .ava-brand { font-size: 16px; }
}
.ava .ava-brand { min-width: 0; }

/* Menu do celular: botão ☰ que vira X e painel que desce do topo */
.ava .ava-menu-btn {
	display: grid;
	place-items: center;
	flex: none;
	width: 40px;
	height: 40px;
	border: 1px solid var(--ava-line-2);
	border-radius: 50%;
	color: var(--ava-text);
	transition: border-color .2s, background-color .2s;
}
.ava .ava-menu-btn:hover,
.ava .ava-nav.is-menu .ava-menu-btn { border-color: var(--ava-accent-2); background: color-mix(in srgb, var(--ava-accent-2) 12%, transparent); }
.ava .ava-menu-btn__barras { position: relative; display: block; width: 16px; height: 12px; }
.ava .ava-menu-btn__barras i {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform .35s cubic-bezier(.2, .8, .2, 1), opacity .2s, top .35s cubic-bezier(.2, .8, .2, 1);
}
.ava .ava-menu-btn__barras i:nth-child(1) { top: 0; }
.ava .ava-menu-btn__barras i:nth-child(2) { top: 5px; width: 70%; }
.ava .ava-menu-btn__barras i:nth-child(3) { top: 10px; }
.ava .ava-nav.is-menu .ava-menu-btn__barras i:nth-child(1) { top: 5px; transform: rotate(45deg); }
.ava .ava-nav.is-menu .ava-menu-btn__barras i:nth-child(2) { opacity: 0; transform: translateX(6px); }
.ava .ava-nav.is-menu .ava-menu-btn__barras i:nth-child(3) { top: 5px; transform: rotate(-45deg); }

.ava .ava-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	max-height: calc(100vh - 66px);
	max-height: calc(100dvh - 66px);
	overflow-y: auto;
	overscroll-behavior: contain;
	z-index: 2;
	background: var(--ava-bg);
	border-bottom: 1px solid var(--ava-line-2);
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: opacity .3s ease, transform .35s cubic-bezier(.2, .8, .2, 1), visibility .35s;
}
.ava .ava-nav.is-menu .ava-menu { opacity: 1; visibility: visible; transform: none; }
/* Fundo escurecido: um toque fora fecha o menu (sem acionar o que está atrás). */
.ava .ava-menu-fundo {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 1;
	height: 100vh;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s;
}
.ava .ava-nav.is-menu .ava-menu-fundo { opacity: 1; visibility: visible; }
html.ava-menu-aberto { overflow: hidden; }
/* Com o menu aberto, a bolinha do WhatsApp e o atalho do Sistema saem da frente. */
html.ava-menu-aberto .ava .ava-flutuante,
html.ava-menu-aberto .ava .ava-atalho-admin { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s, visibility .2s; }
.ava .ava-menu__inner { display: flex; flex-direction: column; padding-top: 8px; padding-bottom: 20px; }
.ava .ava-menu__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 2px;
	border-bottom: 1px solid var(--ava-line);
	font-family: var(--ava-display);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--ava-text);
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .35s ease, transform .4s cubic-bezier(.2, .8, .2, 1), color .2s;
}
.ava .ava-menu__link svg { width: 20px; height: 20px; color: var(--ava-dim); transition: transform .2s, color .2s; }
.ava .ava-menu__link:hover,
.ava .ava-menu__link:focus-visible { color: var(--ava-accent-2); }
.ava .ava-menu__link:hover svg { transform: translateX(3px); color: var(--ava-accent-2); }
.ava .ava-menu__link.is-atual { color: var(--ava-accent-2); }
.ava .ava-menu__rodape {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .35s ease, transform .4s cubic-bezier(.2, .8, .2, 1);
}
.ava .ava-nav.is-menu .ava-menu__link,
.ava .ava-nav.is-menu .ava-menu__rodape { opacity: 1; transform: none; transition-delay: calc(var(--i, 0) * 45ms + 60ms); }
.ava .ava-menu__whats,
.ava .ava-menu__tema {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--ava-line-2);
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ava-text);
}
.ava .ava-menu__whats svg { width: 18px; height: 18px; color: var(--ava-wa); }
.ava .ava-menu__insta svg { color: #e1306c; }
@media (max-width: 374px) { .ava .ava-menu__insta-texto { display: none; } }
.ava .ava-menu__tema svg { width: 18px; height: 18px; }
.ava .ava-menu__tema .ava-tema-site__sol,
.ava .ava-menu__tema .ava-tema-site__lua { line-height: 0; }
@media (min-width: 900px) {
	.ava .ava-menu-btn,
	.ava .ava-menu,
	.ava .ava-menu-fundo { display: none; }
}
@media (max-width: 420px) {
	.ava .ava-menu-btn { width: 36px; height: 36px; }
}
/* Celulares bem estreitos (320px): aperta um pouco para a marca caber inteira. */
@media (max-width: 359px) {
	.ava .ava-brand { gap: 6px; font-size: 15px; }
	.ava .ava-nav__inner { gap: 10px; }
	.ava .ava-nav__acoes { gap: 6px; }
	.ava .ava-nav .ava-btn--sm { padding: 0 12px; }
	.ava .ava-menu-btn { width: 34px; height: 34px; }
}
/* No celular o sol/lua fica dentro do menu ☰, para o nome da empresa caber inteiro. */
@media (max-width: 560px) {
	.ava .ava-nav__acoes > .ava-tema-site { display: none; }
}

.ava .ava-rec {
	display: inline-block;
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ava-accent);
	box-shadow: 0 0 0 0 rgba(255, 77, 46, 0.6);
	animation: ava-rec 1.8s ease-out infinite;
}

/* --------------------------------------------------------------------------
   Hero
   ------------------------------------------------------------------------ */
.ava .ava-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: 88vh;
	min-height: 88svh;
	padding: 120px 0 72px;
	overflow: hidden;
}
@media (min-width: 1024px) { .ava .ava-hero { align-items: center; padding: 140px 0 110px; } }

.ava .ava-hero__media {
	position: absolute;
	inset: 0;
	z-index: -3;
	background:
		radial-gradient(55% 45% at 78% 22%, rgba(255, 77, 46, 0.28), transparent 70%),
		radial-gradient(45% 45% at 12% 85%, rgba(255, 181, 71, 0.14), transparent 70%),
		var(--ava-bg);
}
.ava .ava-hero__media video,
.ava .ava-hero__media img { width: 100%; height: 100%; object-fit: cover; max-width: none; }
/* Foto de dia: aparece por cima, com troca suave, quando o site está claro */
.ava .ava-hero__media .ava-hero__claro { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s ease !important; }
.ava[data-tema="claro"] .ava-hero__media .ava-hero__claro { opacity: 1; }
.ava .ava-so-claro { display: none !important; }
.ava[data-tema="claro"] .ava-so-claro { display: block !important; }
.ava[data-tema="claro"] .ava-so-escuro { display: none !important; }

.ava .ava-hero__glow {
	position: absolute;
	width: 60vmax;
	height: 60vmax;
	right: -18vmax;
	top: -22vmax;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(255, 110, 60, 0.22), transparent);
	filter: blur(10px);
	animation: ava-drift 18s ease-in-out infinite alternate;
	pointer-events: none;
}
.ava .ava-hero__grain {
	position: absolute;
	inset: 0;
	opacity: .07;
	mix-blend-mode: overlay;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.ava .ava-hero__shade {
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(90deg, rgba(8, 8, 10, 0.72) 0%, rgba(8, 8, 10, 0.4) 50%, rgba(8, 8, 10, 0) 85%),
		linear-gradient(180deg, rgba(8, 8, 10, 0.3) 0%, rgba(8, 8, 10, 0.5) 55%, var(--ava-bg) 100%);
}

.ava .ava-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	border: 1px solid var(--ava-line-2);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-size: 13px;
	color: #d2d0d8;
	letter-spacing: .02em;
}
.ava .ava-hero__title {
	margin-top: 22px;
	max-width: 15ch;
	font-family: var(--ava-display);
	font-weight: 800;
	font-size: clamp(40px, 7.6vw, 92px);
	line-height: 1.02;
	letter-spacing: -0.04em;
	color: var(--ava-text);
	text-wrap: balance;
}
.ava .ava-hero__title em {
	font-style: normal;
	background: var(--ava-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.ava .ava-eyebrow svg { width: 16px; height: 16px; color: var(--ava-accent); }

/* Bandeira de Roraima */
.ava .ava-bandeira,
.ava .ava-eyebrow .ava-bandeira {
	flex: none;
	width: 20px;
	height: 14px;
	border-radius: 2px;
	overflow: hidden;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22);
}

/* Visor de câmera sobre o hero: cantoneiras, REC, timecode */
.ava .ava-visor {
	--visor-cor: rgba(255, 255, 255, 0.72);
	--visor-tam: 26px;
	--visor-esp: 2px;
	position: absolute;
	inset: 16px;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(var(--visor-cor), var(--visor-cor)) top left / var(--visor-tam) var(--visor-esp) no-repeat,
		linear-gradient(var(--visor-cor), var(--visor-cor)) top left / var(--visor-esp) var(--visor-tam) no-repeat,
		linear-gradient(var(--visor-cor), var(--visor-cor)) top right / var(--visor-tam) var(--visor-esp) no-repeat,
		linear-gradient(var(--visor-cor), var(--visor-cor)) top right / var(--visor-esp) var(--visor-tam) no-repeat,
		linear-gradient(var(--visor-cor), var(--visor-cor)) bottom left / var(--visor-tam) var(--visor-esp) no-repeat,
		linear-gradient(var(--visor-cor), var(--visor-cor)) bottom left / var(--visor-esp) var(--visor-tam) no-repeat,
		linear-gradient(var(--visor-cor), var(--visor-cor)) bottom right / var(--visor-tam) var(--visor-esp) no-repeat,
		linear-gradient(var(--visor-cor), var(--visor-cor)) bottom right / var(--visor-esp) var(--visor-tam) no-repeat;
	font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace;
	font-size: 11px;
	letter-spacing: .08em;
	color: rgba(255, 255, 255, 0.88);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
}
@media (min-width: 768px) {
	.ava .ava-visor { inset: 26px; --visor-tam: 36px; font-size: 12.5px; }
}
.ava .ava-visor__rec { position: absolute; top: 12px; left: 14px; display: inline-flex; align-items: center; gap: 7px; font-weight: 700; }
.ava .ava-visor__rec .ava-rec { width: 9px; height: 9px; animation: ava-rec 1.8s ease-out infinite, ava-pisca 1.2s steps(1) infinite; }
.ava .ava-visor__tc { position: absolute; top: 12px; right: 14px; font-variant-numeric: tabular-nums; }
.ava .ava-visor__info { position: absolute; bottom: 12px; left: 14px; opacity: .75; }
@media (min-width: 768px) {
	.ava .ava-visor__rec, .ava .ava-visor__tc { top: 16px; }
	.ava .ava-visor__rec, .ava .ava-visor__info { left: 20px; }
	.ava .ava-visor__tc { right: 20px; }
	.ava .ava-visor__info { bottom: 16px; }
}
@keyframes ava-pisca {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.15; }
}
.ava .ava-credito {
	display: block;
	font-size: 11px;
	line-height: 1.3;
	color: rgba(255, 255, 255, 0.6);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.ava .ava-hero__credito { position: absolute; right: 30px; bottom: 28px; max-width: 55%; text-align: right; }
@media (min-width: 768px) { .ava .ava-hero__credito { right: 46px; bottom: 42px; } }
.ava .ava-hero__sub { max-width: 58ch; margin-top: 22px; font-size: clamp(16px, 1.6vw, 19px); color: #c9c7d0; }
.ava .ava-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.ava .ava-hero__actions .ava-btn { flex: 1 1 100%; }
@media (min-width: 560px) { .ava .ava-hero__actions .ava-btn { flex: 0 0 auto; } }
/* Número em destaque no topo */
.ava .ava-hero__contato { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 18px; }
@media (min-width: 560px) { .ava .ava-hero__contato { flex-direction: row; align-items: center; gap: 22px; } }
.ava .ava-fone {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 8px 20px 8px 8px;
	border-radius: 999px;
	border: 1px solid rgba(37, 211, 102, 0.5);
	background: rgba(8, 8, 10, 0.55);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #fff;
	transition: background-color .2s, border-color .2s, transform .2s;
}
.ava .ava-fone:hover { background: rgba(37, 211, 102, 0.16); border-color: var(--ava-wa); transform: translateY(-1px); color: #fff; }
.ava .ava-fone__icone { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--ava-wa); color: #fff; }
.ava .ava-fone__icone svg { width: 24px; height: 24px; }
.ava .ava-fone__texto { display: flex; flex-direction: column; line-height: 1.2; }
.ava .ava-fone__texto small { font-size: 12px; color: #b8f3cd; }
.ava .ava-fone__texto strong { font-family: var(--ava-display); font-size: 21px; font-weight: 700; letter-spacing: .01em; color: #fff; }
.ava .ava-fone__ligar { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; color: #d6d4dc; text-decoration: underline; text-underline-offset: 4px; }
.ava .ava-fone__ligar svg { width: 17px; height: 17px; color: var(--ava-accent-2); }
.ava .ava-fone__ligar:hover { color: #fff; }

.ava .ava-hero__trust { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 30px; font-size: 14px; color: var(--ava-muted); }
.ava .ava-hero__trust li { display: inline-flex; align-items: center; gap: 8px; }
.ava .ava-hero__trust svg { width: 16px; height: 16px; color: var(--ava-accent-2); }

/* --------------------------------------------------------------------------
   Seções
   ------------------------------------------------------------------------ */
.ava .ava-section { position: relative; padding: 88px 0; scroll-margin-top: 70px; }
@media (min-width: 1024px) { .ava .ava-section { padding: 128px 0; } }

.ava .ava-head { max-width: 720px; margin-bottom: 48px; }
.ava .ava-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.ava .ava-kicker {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .2em;
	color: var(--ava-accent-2);
}
.ava .ava-kicker::before { content: ''; width: 26px; height: 1px; background: currentColor; }
.ava .ava-h2 {
	margin-top: 16px;
	font-family: var(--ava-display);
	font-weight: 700;
	font-size: clamp(30px, 4.4vw, 52px);
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: var(--ava-text);
	text-wrap: balance;
}
.ava .ava-lead { margin-top: 18px; font-size: clamp(16px, 1.5vw, 18px); color: var(--ava-muted); }

/* Cards de serviço */
.ava .ava-cards { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 900px) { .ava .ava-cards { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; } }

.ava .ava-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 30px 26px 26px;
	border-radius: var(--ava-radius);
	border: 1px solid var(--ava-line);
	background: linear-gradient(180deg, var(--ava-surface) 0%, var(--ava-bg-2) 100%);
	overflow: hidden;
	transition: border-color .35s ease, transform .35s ease;
}
.ava .ava-card::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 138, 61, 0.7), transparent);
	opacity: 0;
	transition: opacity .35s ease;
}
.ava .ava-card:hover { border-color: rgba(255, 138, 61, 0.35); transform: translateY(-4px); }
.ava .ava-card:hover::before { opacity: 1; }
.ava .ava-card__top { display: flex; align-items: flex-start; justify-content: space-between; }
.ava .ava-card__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	color: var(--ava-accent-2);
	background: rgba(255, 77, 46, 0.1);
	border: 1px solid rgba(255, 138, 61, 0.25);
}
.ava .ava-card__icon svg { width: 24px; height: 24px; }
.ava .ava-card__num { font-family: var(--ava-display); font-size: 13px; letter-spacing: .12em; color: var(--ava-dim); }
.ava .ava-card h3 { margin-top: 26px; font-family: var(--ava-display); font-size: 21px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; color: var(--ava-text); }
.ava .ava-card p { margin-top: 12px; font-size: 15.5px; color: var(--ava-muted); }
.ava .ava-card ul { display: grid; gap: 10px; margin: 22px 0 28px; }
.ava .ava-card li { display: flex; gap: 10px; font-size: 14.5px; color: #d6d4dc; }
.ava .ava-card li svg { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--ava-accent-2); }
.ava .ava-card .ava-btn { margin-top: auto; }

/* Ilustração de fundo do card (traço suave, atrás do texto; segue o tema) */
.ava .ava-card--ilus > :not(.ava-card__fundo) { position: relative; z-index: 1; }
.ava .ava-card__fundo {
	--ilus-linha: color-mix(in srgb, var(--ava-text) 13%, transparent);
	--ilus-acento: color-mix(in srgb, var(--ava-accent) 32%, transparent);
	position: absolute;
	right: -26px;
	bottom: 64px;
	z-index: 0;
	width: min(290px, 78%);
	color: var(--ilus-linha);
	opacity: .8;
	pointer-events: none;
	transform: rotate(-3deg);
	transform-origin: 100% 100%;
	transition: opacity .5s ease, transform .7s cubic-bezier(.2, .7, .2, 1);
}
.ava .ava-card__fundo .ava-ilus { display: block; width: 100%; height: auto; overflow: visible; }
.ava .ava-card__fundo .ava-ilus * { vector-effect: non-scaling-stroke; }
.ava .ava-card__fundo .ava-ilus__acento { color: var(--ilus-acento); }
.ava .ava-card:hover .ava-card__fundo { opacity: 1; transform: rotate(0deg) translate(-8px, -6px); }
.ava[data-tema="claro"] .ava-card__fundo { --ilus-linha: color-mix(in srgb, var(--ava-text) 15%, transparent); --ilus-acento: color-mix(in srgb, var(--ava-accent) 34%, transparent); }

/* Detalhes vivos ao passar o mouse: REC pisca, pino pula, curtida pulsa */
.ava .ava-card:hover .ava-ilus__rec { animation: ava-ilus-rec 1.1s steps(2, jump-none) infinite; }
.ava .ava-card:hover .ava-ilus__pino { animation: ava-ilus-pino 1.2s ease-in-out infinite; transform-box: fill-box; transform-origin: 50% 100%; }
.ava .ava-card:hover .ava-ilus__curtida,
.ava .ava-card:hover .ava-ilus__bolha { animation: ava-ilus-pulsa 1.4s ease-in-out infinite; transform-box: fill-box; transform-origin: 50% 50%; }
@keyframes ava-ilus-rec { 0% { opacity: 1; } 100% { opacity: .15; } }
@keyframes ava-ilus-pino { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes ava-ilus-pulsa { 0%, 100% { transform: scale(1); } 45% { transform: scale(1.18); } }

/* Como funciona */
.ava .ava-steps { display: grid; gap: 22px; margin-top: 64px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .ava .ava-steps { grid-template-columns: repeat(3, 1fr); gap: 28px; } }
.ava .ava-step { padding-top: 22px; border-top: 1px solid var(--ava-line-2); }
.ava .ava-step__n { display: block; font-family: var(--ava-display); font-size: 13px; letter-spacing: .12em; color: var(--ava-accent); }
.ava .ava-step strong { display: block; margin-top: 8px; font-family: var(--ava-display); font-size: 17px; font-weight: 600; color: var(--ava-text); }
.ava .ava-step p { margin-top: 6px; font-size: 15px; color: var(--ava-muted); }

/* --------------------------------------------------------------------------
   Trabalhos privados (cofre com código)
   ------------------------------------------------------------------------ */
.ava .ava-cofre {
	border-radius: 26px;
	border: 1px solid var(--ava-line-2);
	background:
		radial-gradient(60% 80% at 50% 0%, rgba(255, 138, 61, 0.1), transparent 70%),
		var(--ava-surface);
	padding: 28px 20px;
}
@media (min-width: 768px) { .ava .ava-cofre { padding: 44px; } }

/* Capas desfocadas atrás do cadeado (some quando o acesso é liberado). */
.ava .ava-cofre--capa { position: relative; overflow: hidden; isolation: isolate; }
.ava .ava-cofre__capas {
	position: absolute;
	inset: 0;
	z-index: -1;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 3px;
	pointer-events: none;
	transition: opacity .6s ease, visibility .6s;
}
.ava .ava-cofre__capas img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .7;
	transform: scale(1.06);
	animation: ava-capa-respira 14s ease-in-out infinite alternate !important;
}
.ava .ava-cofre__capas img:nth-child(2) { animation-delay: -5s !important; }
.ava .ava-cofre__capas img:nth-child(3) { animation-delay: -9s !important; }
@keyframes ava-capa-respira { from { transform: scale(1.06); } to { transform: scale(1.16); } }
.ava .ava-cofre__capas::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(60% 70% at 50% 42%, color-mix(in srgb, var(--ava-surface) 42%, transparent), color-mix(in srgb, var(--ava-surface) 80%, transparent)),
		linear-gradient(180deg, transparent 55%, var(--ava-surface));
}
@media (max-width: 559px) { .ava .ava-cofre__capas img:nth-child(n+2) { display: none; } }
.ava .ava-cofre.is-aberto .ava-cofre__capas { opacity: 0; visibility: hidden; }

.ava .ava-cofre__form { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 520px; margin: 0 auto; }
.ava .ava-cofre__icone {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	color: var(--ava-accent-2);
	background: rgba(255, 138, 61, 0.1);
	border: 1px solid rgba(255, 138, 61, 0.35);
}
.ava .ava-cofre__icone svg { width: 32px; height: 32px; }
.ava .ava-cofre__titulo { margin-top: 16px; }
.ava .ava-cofre__titulo strong { display: block; font-family: var(--ava-display); font-size: 21px; color: var(--ava-text); }
.ava .ava-cofre__titulo span { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--ava-dim); }
.ava .ava-cofre__linha { display: flex; flex-direction: column; gap: 10px; width: 100%; margin-top: 22px; }
@media (min-width: 560px) { .ava .ava-cofre__linha { flex-direction: row; } }
.ava .ava-cofre__rotulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ava .ava-cofre__linha input {
	flex: 1;
	min-height: 52px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid var(--ava-line-2);
	background: #0b0b0f;
	color: var(--ava-text);
	font-size: 18px;
	letter-spacing: .3em;
	text-align: center;
}
.ava .ava-cofre__linha input::placeholder { letter-spacing: normal; color: var(--ava-dim); }
.ava .ava-cofre__linha input:focus { outline: none; border-color: var(--ava-accent-2); box-shadow: 0 0 0 3px rgba(255, 181, 71, 0.18); }
.ava .ava-cofre__form .ava-alerta { width: 100%; }
.ava .ava-cofre__pedir { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-size: 14px; color: var(--ava-muted); text-decoration: underline; text-underline-offset: 4px; }
.ava .ava-cofre__pedir svg { width: 16px; height: 16px; color: var(--ava-wa); }
.ava .ava-cofre__pedir:hover { color: var(--ava-text); }

.ava .ava-cofre__topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.ava .ava-cofre__topo > span { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--ava-ok); }
.ava .ava-cofre__topo svg { width: 18px; height: 18px; }
.ava .ava-cofre__grid { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 900px) { .ava .ava-cofre__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ava .ava-cofre__video video { width: 100%; aspect-ratio: 16 / 9; border-radius: 14px; background: #000; }
.ava .ava-cofre__video.is-vertical video {
	width: auto;
	max-width: 100%;
	height: min(78vh, 640px);
	aspect-ratio: 9 / 16;
	margin: 0 auto;
}
.ava .ava-cofre__video.is-vertical figcaption { text-align: center; align-items: center; }
.ava .ava-cofre__video figcaption { display: flex; flex-direction: column; gap: 2px; padding: 12px 4px 0; }
.ava .ava-cofre__video strong { font-family: var(--ava-display); font-size: 17px; color: var(--ava-text); }
.ava .ava-cofre__video span { font-size: 14px; color: var(--ava-muted); }

/* --------------------------------------------------------------------------
   Agendamento
   ------------------------------------------------------------------------ */
/* A faixa da agenda "nasce" e "some" em degradê: sem linha dura com as seções vizinhas. */
.ava .ava-agendar {
	background:
		radial-gradient(55% 20% at 50% 26%, rgba(255, 77, 46, 0.08), transparent 70%),
		linear-gradient(180deg, transparent 0, var(--ava-bg-2) 180px, var(--ava-bg-2) calc(100% - 220px), transparent 100%);
}
.ava .ava-booking {
	max-width: 1080px;
	margin: 0 auto;
	padding: 20px;
	border-radius: 26px;
	border: 1px solid var(--ava-line-2);
	background: rgba(20, 20, 25, 0.75);
	box-shadow: 0 40px 90px -40px rgba(0, 0, 0, 0.85);
}
@media (min-width: 768px) { .ava .ava-booking { padding: 36px; } }

.ava .ava-bloco { margin-bottom: 30px; }
.ava .ava-booking__grid .ava-bloco { margin-bottom: 0; }
.ava .ava-etapa {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	font-family: var(--ava-display);
	font-size: 15px;
	font-weight: 600;
	color: var(--ava-text);
}
.ava .ava-etapa b {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	font-size: 13px;
	background: var(--ava-grad);
	color: var(--ava-on-accent);
}

/* Seleção de serviço */
.ava .ava-picker { display: grid; gap: 10px; grid-template-columns: 1fr; }
@media (min-width: 720px) { .ava .ava-picker { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } }
.ava .ava-option {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 60px;
	padding: 12px 16px;
	border-radius: 14px;
	border: 1px solid var(--ava-line-2);
	background: var(--ava-surface);
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.ava .ava-option:hover { border-color: rgba(255, 255, 255, 0.28); }
.ava .ava-option input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ava .ava-option__icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 10px; background: rgba(255, 255, 255, 0.05); color: var(--ava-accent-2); }
.ava .ava-option__icon svg { width: 20px; height: 20px; }
.ava .ava-option__text { flex: 1; font-weight: 600; font-size: 15px; line-height: 1.3; }
.ava .ava-option__check { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--ava-line-2); color: transparent; transition: all .2s ease; }
.ava .ava-option__check svg { width: 14px; height: 14px; }
.ava .ava-option:has(input:checked) { border-color: var(--ava-accent); background: rgba(255, 77, 46, 0.08); box-shadow: inset 0 0 0 1px var(--ava-accent); }
.ava .ava-option:has(input:checked) .ava-option__check { background: var(--ava-accent); border-color: var(--ava-accent); color: var(--ava-on-accent); }
.ava .ava-option:has(input:focus-visible) { outline: 2px solid var(--ava-accent-2); outline-offset: 3px; }
.ava .ava-picker.is-invalid .ava-option { border-color: rgba(255, 123, 123, 0.55); }

.ava .ava-booking__grid { display: grid; gap: 34px; grid-template-columns: 1fr; }
@media (min-width: 960px) { .ava .ava-booking__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px; } }

/* Calendário */
.ava .ava-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.ava .ava-cal__head strong { font-family: var(--ava-display); font-size: 17px; font-weight: 600; text-transform: capitalize; }
.ava .ava-cal__nav {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--ava-line-2);
	color: var(--ava-text);
	transition: border-color .2s, background-color .2s;
}
.ava .ava-cal__nav svg { width: 18px; height: 18px; }
.ava .ava-cal__nav:hover:not(:disabled) { border-color: rgba(255, 255, 255, 0.35); background: rgba(255, 255, 255, 0.05); }
.ava .ava-cal__nav:disabled { opacity: .3; cursor: not-allowed; }
.ava .ava-cal__week,
.ava .ava-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.ava .ava-cal__week span { padding: 6px 0; text-align: center; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--ava-dim); }
.ava .ava-cal__grid { min-height: 260px; align-content: start; }
.ava .ava-day {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	min-height: 40px;
	border-radius: 12px;
	border: 1px solid transparent;
	font-size: 15px;
	font-weight: 500;
	color: var(--ava-text);
	transition: border-color .2s, background-color .2s, transform .15s;
}
.ava .ava-day--vazio { pointer-events: none; }
.ava .ava-day.is-available { background: var(--ava-surface-2); border-color: var(--ava-line); }
.ava .ava-day.is-available::after {
	content: '';
	position: absolute;
	bottom: 6px;
	left: 50%;
	width: 4px;
	height: 4px;
	margin-left: -2px;
	border-radius: 50%;
	background: var(--ava-accent-2);
}
.ava .ava-day.is-available:hover { border-color: rgba(255, 138, 61, 0.55); transform: translateY(-1px); }
.ava .ava-day:disabled { color: var(--ava-dim); opacity: .5; cursor: default; }
.ava .ava-day.is-today { box-shadow: inset 0 0 0 1px var(--ava-line-2); }
.ava .ava-day.is-selected { background: var(--ava-grad); border-color: transparent; color: var(--ava-on-accent); font-weight: 700; }
.ava .ava-day.is-selected::after { background: var(--ava-on-accent); }
.ava .ava-cal__msg { grid-column: 1 / -1; padding: 48px 12px; text-align: center; font-size: 14px; color: var(--ava-muted); }

.ava .ava-slots { margin-top: 22px; }
.ava .ava-slots__label { margin-bottom: 12px; font-size: 14px; color: var(--ava-muted); }
.ava .ava-slots__label::first-letter { text-transform: uppercase; }
.ava .ava-slots__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 8px; }
.ava .ava-slot {
	min-height: 46px;
	border-radius: 12px;
	border: 1px solid var(--ava-line-2);
	background: var(--ava-surface);
	font-family: var(--ava-display);
	font-weight: 600;
	font-size: 15px;
	transition: border-color .2s, background-color .2s, color .2s;
}
.ava .ava-slot:hover { border-color: rgba(255, 138, 61, 0.55); }
.ava .ava-slot.is-selected { background: var(--ava-text); border-color: var(--ava-text); color: #0b0b0e; }
.ava .ava-slot.is-busy,
.ava .ava-slot.is-busy:hover {
	background: transparent;
	border-style: dashed;
	border-color: var(--ava-line-2);
	color: var(--ava-dim);
	text-decoration: line-through;
	cursor: not-allowed;
}
.ava .ava-day.is-full {
	opacity: 1;
	color: var(--ava-dim);
	border: 1px dashed var(--ava-line-2);
	text-decoration: line-through;
}

.ava .ava-legenda { display: flex; gap: 18px; margin-top: 12px; font-size: 12.5px; color: var(--ava-dim); }
.ava .ava-legenda span { display: inline-flex; align-items: center; gap: 7px; }
.ava .ava-legenda i { display: inline-block; width: 12px; height: 12px; border-radius: 4px; }
.ava .ava-legenda__livre { background: var(--ava-surface-2); border: 1px solid var(--ava-line-2); }
.ava .ava-legenda__ocupado { border: 1px dashed var(--ava-dim); }
.ava .ava-slots.is-invalid .ava-slots__label { color: var(--ava-erro); }

/* Formulário */
.ava .ava-resumo {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 20px;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px dashed var(--ava-line-2);
	background: rgba(255, 255, 255, 0.02);
	font-size: 14.5px;
	color: var(--ava-muted);
}
.ava .ava-resumo svg { flex: none; width: 20px; height: 20px; margin-top: 1px; color: var(--ava-dim); }
.ava .ava-resumo.is-ready { border-style: solid; border-color: rgba(255, 138, 61, 0.45); background: rgba(255, 77, 46, 0.06); color: var(--ava-text); }
.ava .ava-resumo.is-ready svg { color: var(--ava-accent-2); }

.ava .ava-fields { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 600px) {
	.ava .ava-fields { grid-template-columns: 1fr 1fr; }
	.ava .ava-field--full { grid-column: 1 / -1; }
}
.ava .ava-field label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 500; color: #cfcdd6; }
.ava .ava-field label span { color: var(--ava-dim); font-weight: 400; }
.ava .ava-field input,
.ava .ava-field textarea {
	display: block;
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 13px 15px;
	border-radius: 12px;
	border: 1px solid var(--ava-line-2);
	background: #0b0b0f;
	color: var(--ava-text);
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color .2s, box-shadow .2s;
	-webkit-appearance: none;
	appearance: none;
}
.ava .ava-field textarea { min-height: 112px; resize: vertical; }
.ava .ava-field input::placeholder,
.ava .ava-field textarea::placeholder { color: var(--ava-dim); opacity: 1; }
.ava .ava-field input:focus,
.ava .ava-field textarea:focus { outline: none; border-color: var(--ava-accent-2); box-shadow: 0 0 0 3px rgba(255, 181, 71, 0.18); }
.ava .ava-field.is-invalid input,
.ava .ava-field.is-invalid textarea { border-color: var(--ava-erro); }
.ava .ava-field__erro { margin-top: 6px; font-size: 12.5px; color: var(--ava-erro); }

.ava .ava-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.ava .ava-alerta {
	margin: 18px 0 0;
	padding: 12px 14px;
	border-radius: 12px;
	border: 1px solid rgba(255, 123, 123, 0.4);
	background: rgba(255, 123, 123, 0.08);
	font-size: 14px;
	color: #ffc2c2;
}
.ava .ava-dados .ava-btn { margin-top: 20px; }
.ava .ava-form__nota { margin-top: 12px; text-align: center; font-size: 13px; color: var(--ava-dim); }

/* Sucesso */
.ava .ava-sucesso { max-width: 560px; margin: 0 auto; padding: 20px 0; text-align: center; }
.ava .ava-sucesso__icon {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 24px;
	border-radius: 50%;
	color: var(--ava-ok);
	background: rgba(52, 211, 153, 0.12);
	border: 1px solid rgba(52, 211, 153, 0.35);
	animation: ava-pop .5s cubic-bezier(.2, .9, .3, 1.3) both;
}
.ava .ava-sucesso__icon svg { width: 32px; height: 32px; }
.ava .ava-sucesso h3 { font-family: var(--ava-display); font-size: clamp(26px, 4vw, 34px); letter-spacing: -0.02em; color: var(--ava-text); }
.ava .ava-sucesso h3:focus { outline: none; }
.ava .ava-sucesso > p { margin-top: 10px; color: var(--ava-muted); }
.ava .ava-sucesso dl {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 12px 22px;
	margin: 28px 0;
	padding: 20px 22px;
	border-radius: 16px;
	border: 1px solid var(--ava-line);
	background: var(--ava-surface);
	text-align: left;
}
.ava .ava-sucesso dt { font-size: 13px; color: var(--ava-dim); }
.ava .ava-sucesso dd { font-weight: 600; color: var(--ava-text); }
.ava .ava-sucesso dd::first-letter { text-transform: uppercase; }
/* "Salvar na minha agenda" (Google Agenda e arquivo para iPhone/Outlook) */
.ava .ava-sucesso > .ava-sucesso__agenda { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 10px; margin: -12px 0 24px; font-size: 14px; color: var(--ava-muted); }
.ava .ava-sucesso__agenda svg { width: 18px; height: 18px; color: var(--ava-accent-2); }
.ava .ava-sucesso__agenda a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border: 1px solid var(--ava-line-2); border-radius: 999px; color: var(--ava-text); font-weight: 600; transition: border-color .2s, color .2s; }
.ava .ava-sucesso__agenda a:hover { border-color: var(--ava-accent-2); color: var(--ava-accent-2); }
.ava .ava-sucesso__alerta {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: -8px 0 22px;
	padding: 16px 18px;
	border-radius: 16px;
	border: 1px solid rgba(255, 181, 71, 0.45);
	background: rgba(255, 181, 71, 0.08);
	text-align: left;
}
.ava .ava-sucesso__alerta-icone {
	display: grid;
	place-items: center;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--ava-wa);
	color: #fff;
	animation: ava-rec 1.8s ease-out infinite;
}
.ava .ava-sucesso__alerta-icone svg { width: 20px; height: 20px; }
.ava .ava-sucesso__alerta p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #e9e3d6; }
.ava .ava-sucesso__alerta strong { display: block; margin-bottom: 2px; font-family: var(--ava-display); font-size: 15.5px; color: var(--ava-accent-2); }
.ava .ava-sucesso__acoes { display: grid; gap: 12px; }
.ava .ava-sucesso__secundarios { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 480px) { .ava .ava-sucesso__secundarios { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } }
.ava .ava-sucesso__secundarios .ava-btn { min-height: 48px; padding: 0 16px; font-size: 14.5px; }
.ava .ava-sucesso__secundarios svg { width: 17px; height: 17px; color: var(--ava-accent-2); }

/* Selo "Sem compromisso" */
.ava .ava-sucesso dd.ava-sucesso__servico { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.ava .ava-selo-sc {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px 3px 7px;
	border-radius: 999px;
	border: 1px solid rgba(52, 211, 153, 0.5);
	background: rgba(52, 211, 153, 0.14);
	color: #7ee8bd;
	font-family: var(--ava-display);
	font-size: 12.5px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .01em;
	white-space: nowrap;
}
.ava .ava-selo-sc svg { width: 13px; height: 13px; stroke-width: 2.6; }
.ava .ava-sucesso__acoes svg { width: 20px; height: 20px; }

/* --------------------------------------------------------------------------
   Portfólio e depoimentos
   ------------------------------------------------------------------------ */
.ava .ava-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.ava .ava-filtro {
	padding: 9px 18px;
	border-radius: 999px;
	border: 1px solid var(--ava-line-2);
	font-size: 14px;
	color: var(--ava-muted);
	transition: all .2s ease;
}
.ava .ava-filtro:hover { color: var(--ava-text); border-color: rgba(255, 255, 255, 0.3); }
.ava .ava-filtro.is-active { background: var(--ava-text); border-color: var(--ava-text); color: #0b0b0e; }

.ava .ava-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .ava .ava-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ava .ava-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; } }

.ava .ava-work__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
	background: var(--ava-surface);
	border: 1px solid var(--ava-line);
}
.ava button.ava-work__media { cursor: zoom-in; }
.ava button.ava-work__media[data-ava-embed] { cursor: pointer; }
.ava .ava-work__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1), opacity .3s; }
.ava .ava-work:hover .ava-work__media img { transform: scale(1.05); }
.ava .ava-work__ph {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 24px;
	text-align: center;
	font-family: var(--ava-display);
	font-weight: 700;
	font-size: 20px;
	color: rgba(255, 255, 255, 0.85);
	background:
		radial-gradient(80% 80% at 80% 10%, rgba(255, 77, 46, 0.35), transparent 60%),
		radial-gradient(70% 70% at 10% 90%, rgba(255, 181, 71, 0.2), transparent 60%),
		var(--ava-surface-2);
}
.ava .ava-work__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	color: #fff;
	background: rgba(8, 8, 10, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.3);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	transition: transform .3s ease, background-color .3s ease;
}
.ava .ava-work__play svg { width: 24px; height: 24px; margin-left: 3px; }
.ava .ava-work:hover .ava-work__play { transform: translate(-50%, -50%) scale(1.08); background: var(--ava-accent); }
.ava .ava-work figcaption { padding: 16px 4px 0; }
.ava .ava-work__tipo { font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ava-accent-2); }
.ava .ava-work h3 { margin-top: 6px; font-family: var(--ava-display); font-size: 18px; font-weight: 600; line-height: 1.3; color: var(--ava-text); }
.ava .ava-work p { margin-top: 4px; font-size: 14px; color: var(--ava-muted); }

.ava .ava-quotes { display: grid; gap: 18px; margin-top: 72px; grid-template-columns: 1fr; }
@media (min-width: 900px) { .ava .ava-quotes { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } }
.ava .ava-quote { position: relative; padding: 32px 28px 26px; border-radius: var(--ava-radius); border: 1px solid var(--ava-line); background: var(--ava-surface); }
.ava .ava-quote::before {
	content: '\201C';
	position: absolute;
	top: 6px;
	left: 22px;
	font-family: var(--ava-display);
	font-size: 64px;
	line-height: 1;
	color: var(--ava-accent);
	opacity: .55;
}
.ava .ava-quote blockquote { border: 0; padding: 0; margin: 0; font-style: normal; }
.ava .ava-quote blockquote p { position: relative; font-size: 17px; line-height: 1.6; color: var(--ava-text); }
.ava .ava-quote figcaption { margin-top: 18px; font-size: 14px; color: var(--ava-muted); }

.ava .ava-dica {
	margin-top: 18px;
	padding: 16px 18px;
	border-radius: 14px;
	border: 1px dashed rgba(255, 181, 71, 0.45);
	background: rgba(255, 181, 71, 0.06);
	font-size: 14px;
	color: #e9dcc4;
}
.ava .ava-dica a { color: var(--ava-accent-2); text-decoration: underline; }

/* --------------------------------------------------------------------------
   Faixa de números
   ------------------------------------------------------------------------ */
.ava .ava-numeros { padding: 8px 0 0; }
.ava .ava-numeros__lista {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid var(--ava-line);
	border-bottom: 1px solid var(--ava-line);
}
@media (min-width: 720px) { .ava .ava-numeros__lista { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } }
.ava .ava-numero { display: flex; align-items: baseline; gap: 14px; padding: 22px 4px; }
.ava .ava-numero + .ava-numero { border-top: 1px solid var(--ava-line); }
@media (min-width: 720px) {
	.ava .ava-numero { flex-direction: column; gap: 6px; padding: 32px 28px; }
	.ava .ava-numero:first-child { padding-left: 0; }
	.ava .ava-numero + .ava-numero { border-top: 0; border-left: 1px solid var(--ava-line); }
}
.ava .ava-numero__valor {
	flex: none;
	min-width: 4.2ch;
	font-family: var(--ava-display);
	font-size: clamp(34px, 4.6vw, 54px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	background: var(--ava-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-variant-numeric: tabular-nums;
}
.ava .ava-numero__texto { font-size: 15px; line-height: 1.4; color: var(--ava-muted); }

/* --------------------------------------------------------------------------
   Por que Flash?
   ------------------------------------------------------------------------ */
.ava .ava-flash { padding-top: 24px; padding-bottom: 24px; }
.ava .ava-flash__card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	padding: 36px 24px;
	border-radius: 28px;
	overflow: hidden;
	border: 1px solid rgba(255, 138, 61, 0.28);
	background:
		radial-gradient(60% 80% at 0% 50%, rgba(255, 138, 61, 0.18), transparent 70%),
		var(--ava-surface);
}
@media (min-width: 860px) {
	.ava .ava-flash__card { grid-template-columns: 220px minmax(0, 1fr); align-items: center; gap: 48px; padding: 56px 56px 56px 40px; }
}
.ava .ava-flash__raio { display: grid; place-items: center; }
.ava .ava-flash__raio svg {
	width: 96px;
	height: 96px;
	filter: drop-shadow(0 0 22px rgba(255, 138, 61, 0.55));
	animation: ava-relampago 5s ease-in-out infinite;
}
@media (min-width: 860px) { .ava .ava-flash__raio svg { width: 170px; height: 170px; } }

/* O raio nasce da fonte da Praça das Águas: começa como a fonte (azul, com os
   jatos) e, quando o card aparece, a forma vira o raio laranja. Sem JS, já é raio. */
.ava .ava-raio__agua { opacity: 0; transition: opacity 1.1s ease !important; }
.ava .ava-raio__fogo { opacity: 1; transition: opacity 1.1s ease !important; }
.ava .ava-raio__jatos { display: none; }
.ava .ava-flash__raio.is-fonte svg { filter: drop-shadow(0 0 18px rgba(56, 189, 248, 0.45)); animation: none !important; }
.ava .ava-flash__raio.is-fonte .ava-raio__agua { opacity: 1; }
.ava .ava-flash__raio.is-fonte .ava-raio__fogo { opacity: 0; }
.ava .ava-flash__raio.is-fonte .ava-raio__jatos { display: block; }
.ava .ava-raio__jatos circle { fill: none; stroke: #e0f2fe; stroke-width: .5; transform-box: fill-box; transform-origin: 50% 50%; animation: bd-jato 1.6s ease-out infinite !important; }
.ava .ava-raio__jatos circle:nth-child(2) { animation-delay: -.5s !important; }
.ava .ava-raio__jatos circle:nth-child(3) { animation-delay: -1s !important; }

/* Coração do "Eu ❤ Boa Vista" */
.ava .ava-coracao { display: inline-block; width: 1em; height: 1em; vertical-align: -.14em; fill: var(--ava-accent); transform-origin: 50% 55%; animation: ava-batida 1.6s ease-in-out infinite !important; }
@keyframes ava-batida { 0%, 100% { transform: scale(1); } 14% { transform: scale(1.22); } 28% { transform: scale(1); } 42% { transform: scale(1.14); } 60% { transform: scale(1); } }
.ava .ava-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ava .ava-flash__sub { margin-top: 12px; font-family: var(--ava-display); font-size: clamp(17px, 2vw, 21px); font-weight: 600; color: var(--ava-accent-2); }
.ava .ava-flash__texto .ava-lead { margin-top: 14px; max-width: 60ch; }

@keyframes ava-relampago {
	0%, 86%, 100% { opacity: 1; filter: drop-shadow(0 0 22px rgba(255, 138, 61, 0.55)); }
	88% { opacity: .55; }
	90% { opacity: 1; filter: drop-shadow(0 0 44px rgba(255, 181, 71, 0.95)); }
	92% { opacity: .7; }
	94% { opacity: 1; }
}

/* --------------------------------------------------------------------------
   Nascemos aqui (fotos da cidade)
   ------------------------------------------------------------------------ */
.ava .ava-cidade { padding-top: 40px; }
@media (min-width: 1024px) { .ava .ava-cidade { padding-top: 56px; } }

/* Celular: carrossel com rolagem lateral */
.ava .ava-cidade__grid {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 80%;
	gap: 12px;
	margin: 0 -20px;
	padding: 0 20px 10px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 20px;
	scrollbar-width: none;
}
.ava .ava-cidade__grid::-webkit-scrollbar { display: none; }
.ava .ava-cidade__foto {
	position: relative;
	aspect-ratio: 4 / 5;
	border-radius: 18px;
	overflow: hidden;
	background: var(--ava-surface);
	border: 1px solid var(--ava-line);
	scroll-snap-align: start;
}
.ava .ava-cidade__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.ava .ava-cidade__foto:hover img { transform: scale(1.04); }

/* Foco de câmera ao passar o mouse (computador) */
@media (hover: hover) and (pointer: fine) {
	.ava .ava-cidade__foto::after {
		--foco-cor: rgba(255, 255, 255, 0.92);
		--foco-tam: 16px;
		content: '';
		position: absolute;
		inset: 20%;
		pointer-events: none;
		opacity: 0;
		transition: opacity .35s ease, inset .35s cubic-bezier(.2, .7, .2, 1);
		background:
			linear-gradient(var(--foco-cor), var(--foco-cor)) top left / var(--foco-tam) 2px no-repeat,
			linear-gradient(var(--foco-cor), var(--foco-cor)) top left / 2px var(--foco-tam) no-repeat,
			linear-gradient(var(--foco-cor), var(--foco-cor)) top right / var(--foco-tam) 2px no-repeat,
			linear-gradient(var(--foco-cor), var(--foco-cor)) top right / 2px var(--foco-tam) no-repeat,
			linear-gradient(var(--foco-cor), var(--foco-cor)) bottom left / var(--foco-tam) 2px no-repeat,
			linear-gradient(var(--foco-cor), var(--foco-cor)) bottom left / 2px var(--foco-tam) no-repeat,
			linear-gradient(var(--foco-cor), var(--foco-cor)) bottom right / var(--foco-tam) 2px no-repeat,
			linear-gradient(var(--foco-cor), var(--foco-cor)) bottom right / 2px var(--foco-tam) no-repeat;
	}
	.ava .ava-cidade__foto:hover::after { opacity: 1; inset: 30%; }
}
.ava .ava-cidade__foto figcaption {
	position: absolute;
	inset: auto 0 0 0;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	padding: 40px 14px 12px;
	background: linear-gradient(180deg, transparent, rgba(8, 8, 10, 0.85));
}
.ava .ava-cidade__legenda { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ava-display); font-size: 15px; font-weight: 600; color: #fff; }
.ava .ava-cidade__legenda svg { flex: none; width: 15px; height: 15px; color: var(--ava-accent-2); }
.ava .ava-cidade__foto .ava-credito {
	position: absolute;
	top: 10px;
	right: 10px;
	max-width: calc(100% - 20px);
	padding: 3px 8px;
	border-radius: 999px;
	background: rgba(8, 8, 10, 0.55);
	font-size: 10.5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: none;
}

/* Tablet e computador: mosaico com a primeira foto em destaque */
@media (min-width: 768px) {
	.ava .ava-cidade__grid {
		grid-auto-flow: row dense;
		grid-auto-columns: auto;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-auto-rows: 200px;
		margin: 0;
		padding: 0;
		overflow: visible;
	}
	.ava .ava-cidade__foto { aspect-ratio: auto; }
	.ava .ava-cidade__foto.is-destaque { grid-column: span 2; grid-row: span 2; }
	.ava .ava-cidade__foto.is-destaque .ava-cidade__legenda { font-size: 18px; }
}
@media (min-width: 1200px) { .ava .ava-cidade__grid { grid-auto-rows: 240px; } }

/* Carrossel da galeria no celular: setas + bolinhas (só aparece quando dá para deslizar) */
.ava .ava-carrossel { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; }
.ava .ava-carrossel__seta { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--ava-line-2); border-radius: 50%; background: var(--ava-surface); color: var(--ava-text); transition: border-color .2s, transform .2s; }
.ava .ava-carrossel__seta:hover { border-color: var(--ava-accent-2); }
.ava .ava-carrossel__seta:active { transform: scale(.94); }
.ava .ava-carrossel__pontos { display: flex; align-items: center; gap: 4px; }
.ava .ava-carrossel__ponto { position: relative; width: 22px; height: 22px; }
.ava .ava-carrossel__ponto::before { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-radius: 999px; background: var(--ava-line-2); transform: translate(-50%, -50%); transition: width .3s ease, background-color .3s ease; }
.ava .ava-carrossel__ponto.is-ativo::before { width: 22px; background: var(--ava-accent); }
@media (hover: hover) and (pointer: fine) { .ava .ava-cidade__grid.is-rolavel { cursor: grab; } }
.ava .ava-cidade__grid.is-arrastando { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.ava .ava-cidade__grid.is-arrastando img { pointer-events: none; }

/* --------------------------------------------------------------------------
   Quem está por trás
   ------------------------------------------------------------------------ */
.ava .ava-sobre { padding-top: 24px; }
@media (min-width: 1024px) { .ava .ava-sobre { padding-top: 48px; } }
.ava .ava-sobre__grid { display: grid; gap: 40px; grid-template-columns: 1fr; align-items: center; }
@media (min-width: 900px) { .ava .ava-sobre__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; } }

.ava .ava-sobre__media {
	position: relative;
	width: 100%;
	max-width: 420px;
	margin: 0 auto;
	aspect-ratio: 4 / 5;
	border-radius: 26px;
	overflow: hidden;
	border: 1px solid var(--ava-line-2);
	background:
		radial-gradient(80% 60% at 80% 0%, rgba(255, 77, 46, 0.28), transparent 70%),
		radial-gradient(70% 60% at 0% 100%, rgba(255, 181, 71, 0.16), transparent 70%),
		var(--ava-surface);
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.9);
}
@media (min-width: 900px) { .ava .ava-sobre__media { margin: 0; } }
.ava .ava-sobre__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.ava .ava-sobre__monograma {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	font-family: var(--ava-display);
	font-weight: 800;
	font-size: clamp(140px, 30vw, 220px);
	line-height: 1;
	background: var(--ava-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.ava .ava-sobre__selo {
	position: absolute;
	left: 16px;
	bottom: 16px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid var(--ava-line-2);
	background: rgba(8, 8, 10, 0.7);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-size: 13px;
	color: #e2e0e8;
}
.ava .ava-sobre__texto .ava-lead + .ava-lead { margin-top: 14px; }
.ava .ava-sobre__lista { display: grid; gap: 12px; margin-top: 28px; }
.ava .ava-sobre__lista li { display: flex; gap: 12px; font-size: 16px; color: #e2e0e8; }
.ava .ava-sobre__lista svg { flex: none; width: 20px; height: 20px; margin-top: 2px; color: var(--ava-accent-2); }
.ava .ava-sobre__assinatura { display: flex; flex-direction: column; gap: 2px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--ava-line); }
.ava .ava-sobre__assinatura strong { font-family: var(--ava-display); font-size: 18px; color: var(--ava-text); }
.ava .ava-sobre__assinatura span { font-size: 14px; color: var(--ava-muted); }

/* --------------------------------------------------------------------------
   Perguntas frequentes
   ------------------------------------------------------------------------ */
.ava .ava-faq__grid { display: grid; gap: 36px; grid-template-columns: 1fr; }
@media (min-width: 960px) {
	.ava .ava-faq__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 72px; align-items: start; }
	.ava .ava-faq .ava-head { position: sticky; top: 110px; margin-bottom: 0; }
}
.ava .ava-faq__whats { margin-top: 28px; }
.ava .ava-faq__whats svg { width: 18px; height: 18px; }
.ava .ava-faq__lista { display: grid; gap: 10px; }
.ava .ava-faq__item {
	border-radius: 16px;
	border: 1px solid var(--ava-line);
	background: var(--ava-surface);
	transition: border-color .2s ease;
}
.ava .ava-faq__item[open] { border-color: rgba(255, 138, 61, 0.35); }
.ava .ava-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 22px;
	list-style: none;
	cursor: pointer;
	font-family: var(--ava-display);
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ava-text);
}
.ava .ava-faq__item summary::-webkit-details-marker { display: none; }
.ava .ava-faq__icone {
	position: relative;
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid var(--ava-line-2);
	color: var(--ava-muted);
	transition: color .2s, border-color .2s;
}
.ava .ava-faq__icone::before,
.ava .ava-faq__icone::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 1.6px;
	border-radius: 2px;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform .25s ease;
}
.ava .ava-faq__icone::after { transform: translate(-50%, -50%) rotate(90deg); }
.ava .ava-faq__item[open] .ava-faq__icone { color: var(--ava-accent-2); border-color: rgba(255, 138, 61, 0.5); }
.ava .ava-faq__item[open] .ava-faq__icone::after { transform: translate(-50%, -50%) rotate(0deg); }
.ava .ava-faq__item p { max-width: 64ch; padding: 0 22px 20px; font-size: 15.5px; color: var(--ava-muted); }

/* --------------------------------------------------------------------------
   CTA final e rodapé
   ------------------------------------------------------------------------ */
.ava .ava-cta { padding: 40px 0 100px; }
.ava .ava-cta__inner {
	position: relative;
	padding: 56px 24px;
	border-radius: 28px;
	text-align: center;
	overflow: hidden;
	border: 1px solid rgba(255, 138, 61, 0.25);
	background:
		radial-gradient(60% 90% at 50% 0%, rgba(255, 77, 46, 0.22), transparent 70%),
		var(--ava-surface);
}
@media (min-width: 768px) { .ava .ava-cta__inner { padding: 80px 48px; } }
.ava .ava-cta .ava-h2 { margin: 0 auto; max-width: 18ch; }
.ava .ava-cta .ava-lead { margin: 18px auto 32px; max-width: 48ch; }

/* Rodapé: marca, contato e links em colunas; faixa final com © e CNPJ */
.ava .ava-footer { padding: 44px 0 30px; border-top: 1px solid var(--ava-line); font-size: 14px; color: var(--ava-dim); }
/* No celular, espaço para a bolinha do WhatsApp não cobrir a última linha. */
@media (max-width: 760px) { .ava .ava-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); } }
.ava .ava-footer__grade { display: grid; gap: 30px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .ava .ava-footer__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .ava .ava-footer__grade { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); gap: 48px; } }
@media (min-width: 640px) and (max-width: 959px) { .ava .ava-footer__marca { grid-column: 1 / -1; } }
.ava .ava-footer__marca .ava-brand { color: var(--ava-text); }
.ava .ava-footer__marca p { margin-top: 12px; max-width: 38ch; line-height: 1.55; color: var(--ava-muted); }
.ava .ava-footer__presencial { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; }
.ava .ava-footer__presencial svg { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--ava-accent-2); }
.ava .ava-footer__titulo { margin-bottom: 14px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ava-dim); }
.ava .ava-footer__lista { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ava .ava-footer__lista a { display: inline-flex; align-items: center; gap: 9px; min-height: 28px; color: var(--ava-muted); overflow-wrap: anywhere; transition: color .2s; }
.ava .ava-footer__lista a:hover,
.ava .ava-footer__lista a[aria-current="page"] { color: var(--ava-text); }
.ava .ava-footer__lista svg { flex: none; width: 16px; height: 16px; }
/* Links das seções em duas colunas (fica mais baixo e equilibrado). */
.ava nav.ava-footer__col .ava-footer__lista { display: grid; grid-template-columns: repeat(2, max-content); gap: 10px 32px; }
.ava nav.ava-footer__col .ava-footer__lista li:last-child { grid-column: 1 / -1; }
.ava .ava-footer__fone { color: var(--ava-text) !important; font-weight: 600; }
.ava .ava-footer__fone svg { color: var(--ava-wa); }
.ava .ava-footer__fone:hover { color: var(--ava-wa) !important; }
.ava .ava-footer__email svg { color: var(--ava-accent-2); }
.ava .ava-footer__base {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
	margin-top: 36px;
	padding-top: 20px;
	border-top: 1px solid var(--ava-line);
	font-size: 13px;
}
.ava .ava-footer__origem { display: inline-flex; align-items: center; gap: 8px; color: var(--ava-muted); }
.ava .ava-footer__insta svg,
.ava .ava-sobre__insta svg { color: #e1306c; }
.ava .ava-sobre__insta { display: inline-flex; align-items: center; gap: 8px; color: var(--ava-text); font-weight: 600; transition: color .2s; }
.ava .ava-sobre__insta svg { width: 16px; height: 16px; }
.ava .ava-footer__insta:hover,
.ava .ava-sobre__insta:hover { color: #e1306c !important; }
.ava .ava-sobre__insta { align-self: flex-start; margin-top: 10px; font-size: 14px; }

/* Aviso de privacidade embaixo do botão do formulário */
.ava .ava-form__privacidade {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 8px;
	margin: 10px auto 0;
	max-width: 46ch;
	font-size: 12.5px;
	line-height: 1.5;
	text-align: left;
	color: var(--ava-dim);
}
.ava .ava-form__privacidade svg { flex: none; width: 16px; height: 16px; margin-top: 1px; color: var(--ava-ok, #34d399); }
.ava .ava-form__privacidade a { color: var(--ava-muted); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.ava .ava-form__privacidade a:hover { color: var(--ava-text); }

/* --------------------------------------------------------------------------
   Página de texto (Política de privacidade)
   ------------------------------------------------------------------------ */
.ava .ava-doc__corpo { padding: 56px 0 72px; }
@media (min-width: 768px) { .ava .ava-doc__corpo { padding: 80px 0 96px; } }
.ava .ava-doc__container { max-width: 780px; }
.ava .ava-doc__titulo { margin-top: 14px; font-family: var(--ava-display); font-size: clamp(34px, 6vw, 54px); font-weight: 700; line-height: 1.05; letter-spacing: -0.03em; color: var(--ava-text); }
.ava .ava-doc__data { margin-top: 14px; font-size: 13px; color: var(--ava-dim); }
.ava .ava-doc__resumo {
	margin-top: 36px;
	padding: 24px;
	border: 1px solid var(--ava-line-2);
	border-radius: 20px;
	background:
		radial-gradient(70% 120% at 0% 0%, rgba(255, 138, 61, 0.1), transparent 70%),
		var(--ava-surface);
}
.ava .ava-doc__resumo h2 { font-family: var(--ava-display); font-size: 18px; font-weight: 600; color: var(--ava-text); }
.ava .ava-doc__resumo ul { display: grid; gap: 12px; margin: 16px 0 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .ava .ava-doc__resumo ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; } }
.ava .ava-doc__resumo li { display: flex; gap: 10px; font-size: 15px; line-height: 1.5; color: var(--ava-muted); }
.ava .ava-doc__resumo li svg { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--ava-ok, #34d399); }
.ava .ava-doc__texto { margin-top: 12px; font-size: 16px; line-height: 1.7; color: var(--ava-muted); }
.ava .ava-doc__texto h2 { margin-top: 44px; font-family: var(--ava-display); font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; color: var(--ava-text); }
.ava .ava-doc__texto p,
.ava .ava-doc__texto ul { margin-top: 14px; }
.ava .ava-doc__texto ul { padding-left: 0; list-style: none; }
.ava .ava-doc__texto li { position: relative; padding-left: 22px; }
.ava .ava-doc__texto li + li { margin-top: 8px; }
.ava .ava-doc__texto li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--ava-grad); }
.ava .ava-doc__texto strong { color: var(--ava-text); font-weight: 600; }
.ava .ava-doc__texto a { color: var(--ava-accent-2); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.ava .ava-doc__texto a:hover { color: var(--ava-text); }
.ava .ava-doc__contato {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 56px;
	padding: 24px;
	border: 1px solid var(--ava-line-2);
	border-radius: 20px;
	background: var(--ava-surface);
}
.ava .ava-doc__contato strong { display: block; font-family: var(--ava-display); font-size: 18px; color: var(--ava-text); }
.ava .ava-doc__contato span { display: block; margin-top: 4px; font-size: 14px; color: var(--ava-muted); }
.ava .ava-doc .ava-nav .ava-btn svg { width: 16px; height: 16px; }
.ava .ava-doc .ava-nav .ava-btn:hover svg { transform: translateX(-3px); }
@media (max-width: 560px) {
	.ava .ava-nav__acoes > .ava-tema-site--sempre { display: grid; }
}

/* --------------------------------------------------------------------------
   Botão "Administração" (só o administrador logado vê)
   ------------------------------------------------------------------------ */
.ava .ava-atalho-admin {
	position: fixed;
	left: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 9989;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px 10px 13px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	background: rgba(14, 14, 19, 0.82);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.7);
	color: #f2f0ec;
	font-family: Inter, system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	opacity: .78;
	transition: opacity .2s, border-color .2s, transform .2s;
}
.ava .ava-atalho-admin svg { width: 16px; height: 16px; color: #ff8a3d; }
.ava .ava-atalho-admin:hover,
.ava .ava-atalho-admin:focus-visible { opacity: 1; border-color: rgba(255, 138, 61, 0.6); color: #fff; transform: translateY(-2px); outline: none; }
@media (min-width: 768px) { .ava .ava-atalho-admin { left: 24px; bottom: 24px; } }
@media (max-width: 600px) {
	/* No celular vira só o ícone, para não disputar espaço. */
	.ava .ava-atalho-admin { width: 38px; height: 38px; padding: 0; justify-content: center; opacity: .55; }
	.ava .ava-atalho-admin span { display: none; }
}

/* --------------------------------------------------------------------------
   Bolinha flutuante do WhatsApp
   ------------------------------------------------------------------------ */
.ava .ava-flutuante {
	position: fixed;
	right: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 9990;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	pointer-events: none;
	opacity: 0;
	transform: translateY(18px) scale(.92);
	transition: opacity .3s ease, transform .3s ease;
}
@media (min-width: 768px) { .ava .ava-flutuante { right: 24px; bottom: 24px; } }
.ava .ava-flutuante.is-visible,
.ava:not(.ava-js) .ava-flutuante { opacity: 1; transform: none; }
.ava .ava-flutuante.is-visible > *,
.ava:not(.ava-js) .ava-flutuante > * { pointer-events: auto; }

.ava .ava-flutuante__btn {
	position: relative;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--ava-wa);
	color: #fff;
	box-shadow: 0 12px 28px -8px rgba(37, 211, 102, 0.7), 0 4px 14px rgba(0, 0, 0, 0.4);
	transition: transform .2s ease;
}
.ava .ava-flutuante__btn:hover { transform: scale(1.06); color: #fff; }
.ava .ava-flutuante__btn svg { width: 30px; height: 30px; pointer-events: none; }
@media (min-width: 768px) {
	.ava .ava-flutuante__btn { width: 74px; height: 74px; }
	.ava .ava-flutuante__btn svg { width: 36px; height: 36px; }
}

/* Arrastar a bolinha (mouse e dedo) */
.ava .ava-flutuante__btn {
	cursor: grab;
	touch-action: none;
	-webkit-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
	-webkit-touch-callout: none;
}
.ava .ava-flutuante.is-arrastando { transition: opacity .3s ease; }
.ava .ava-flutuante.is-arrastando .ava-flutuante__btn {
	cursor: grabbing;
	animation: none !important;
	transform: scale(1.1);
	box-shadow: 0 20px 40px -10px rgba(37, 211, 102, 0.8), 0 8px 20px rgba(0, 0, 0, 0.5);
}
.ava .ava-flutuante.is-encaixou .ava-flutuante__btn { animation: ava-encaixe .35s cubic-bezier(.2, .9, .3, 1.4) !important; }
.ava .ava-flutuante.is-esquerda { align-items: flex-start; }
.ava .ava-flutuante.is-esquerda .ava-balao { border-radius: 18px 18px 18px 4px; }
@keyframes ava-encaixe {
	0% { transform: scale(1.1); }
	60% { transform: scale(0.94); }
	100% { transform: scale(1); }
}
.ava .ava-flutuante__btn::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.55);
}
.ava .ava-flutuante.is-visible .ava-flutuante__btn::after { animation: ava-pulso 2.2s ease-out 1s 3; }

.ava .ava-balao {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: min(270px, calc(100vw - 32px));
	padding: 10px 34px 10px 10px;
	border-radius: 18px 18px 4px 18px;
	background: #fff;
	color: #16161a;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
	cursor: pointer;
	animation: ava-pop .35s cubic-bezier(.2, .9, .3, 1.3) both;
}
.ava .ava-balao__foto { flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: 50% 25%; }
.ava .ava-balao p { font-size: 14px; line-height: 1.35; }
.ava .ava-balao strong { display: block; font-size: 13px; color: #16161a; }
.ava .ava-balao span { color: #3a3a42; }
.ava .ava-balao__fechar {
	position: absolute;
	top: 4px;
	right: 6px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	font-size: 18px;
	line-height: 26px;
	color: #77757f;
}
.ava .ava-balao__fechar:hover { background: #f0eff2; color: #16161a; }

/* Computador (mouse): a bolinha "respira" (cresce e diminui) e o ícone dá uma chacoalhada
   a cada poucos segundos. Ao passar o mouse, a animação para para facilitar o clique.
   No celular ela fica parada. Por escolha do cliente, esta animação aparece mesmo para quem
   ativou "reduzir movimento" no sistema (o !important vence a regra geral lá embaixo). */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
	.ava .ava-flutuante.is-visible .ava-flutuante__btn { animation: ava-respira 2.6s ease-in-out infinite !important; }
	.ava .ava-flutuante.is-visible .ava-flutuante__btn svg { animation: ava-chacoalha 6s ease-in-out 2s infinite !important; }
	.ava .ava-flutuante.is-visible .ava-flutuante__btn:hover,
	.ava .ava-flutuante.is-visible .ava-flutuante__btn:hover svg { animation: none !important; }
	.ava .ava-flutuante.is-visible .ava-flutuante__btn:hover { transform: scale(1.12); }
}

@keyframes ava-respira {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.12); }
}
@keyframes ava-chacoalha {
	0%, 82%, 100% { transform: rotate(0deg) translateY(0); }
	85% { transform: rotate(-16deg) translateY(-2px); }
	88% { transform: rotate(14deg) translateY(-2px); }
	91% { transform: rotate(-10deg); }
	94% { transform: rotate(6deg); }
	97% { transform: rotate(-2deg); }
}

@keyframes ava-pulso {
	0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.55); }
	80% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
	100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

/* --------------------------------------------------------------------------
   Lightbox
   ------------------------------------------------------------------------ */
.ava .ava-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 72px 16px 24px;
	background: rgba(4, 4, 6, 0.94);
	animation: ava-fade .25s ease both;
}
.ava .ava-lightbox__body { width: min(1120px, 100%); }
.ava .ava-lightbox__body iframe,
.ava .ava-lightbox__body video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 14px;
	background: #000;
}
.ava .ava-lightbox__body img { width: auto; max-height: 84vh; margin: 0 auto; border-radius: 14px; }
.ava .ava-lightbox__fallback { text-align: center; }
.ava .ava-lightbox__fallback a { color: var(--ava-accent-2); text-decoration: underline; }
.ava .ava-lightbox__close {
	position: absolute;
	top: 16px;
	right: 16px;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1px solid var(--ava-line-2);
	color: #fff;
	background: rgba(255, 255, 255, 0.06);
}
.ava .ava-lightbox__close svg { width: 22px; height: 22px; }

/* --------------------------------------------------------------------------
   Animações
   ------------------------------------------------------------------------ */
.ava.ava-js .ava-reveal { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }
.ava.ava-js .ava-reveal.is-visible { opacity: 1; transform: none; }

@keyframes ava-rec {
	0% { box-shadow: 0 0 0 0 rgba(255, 77, 46, 0.6); }
	70% { box-shadow: 0 0 0 9px rgba(255, 77, 46, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 77, 46, 0); }
}
@keyframes ava-drift {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to { transform: translate3d(-8vmax, 6vmax, 0) scale(1.15); }
}
@keyframes ava-pop {
	from { transform: scale(.6); opacity: 0; }
	to { transform: scale(1); opacity: 1; }
}
@keyframes ava-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.ava *, .ava *::before, .ava *::after { animation: none !important; transition: none !important; }
	.ava.ava-js .ava-reveal { opacity: 1; transform: none; }
}


/* ==========================================================================
   Tema claro do site (botão sol/lua ou horário automático)
   O topo com a foto (hero) continua escuro: as cores dele vêm do bloco do início.
   ========================================================================== */
html[data-ava-tema="claro"] body.ava-canvas { background: #f6f4ef; }

.ava[data-tema="claro"] {
	--ava-bg: #f6f4ef;
	--ava-bg-2: #eeebe4;
	--ava-surface: #ffffff;
	--ava-surface-2: #f3f0ea;
	--ava-line: rgba(22, 20, 26, 0.09);
	--ava-line-2: rgba(22, 20, 26, 0.17);
	--ava-text: #16151a;
	--ava-muted: #57555f;
	--ava-dim: #75737e;
	--ava-accent: #e8431f;
	--ava-accent-2: #b45309;
	--ava-ok: #0b8f62;
	--ava-erro: #c62828;
	color-scheme: light;
}
.ava[data-tema="claro"] .ava-hero { color: var(--ava-text); color-scheme: dark; }
.ava,
.ava .ava-section,
.ava .ava-nav { transition: background-color .45s ease, color .45s ease, border-color .45s ease; }

.ava[data-tema="claro"] ::selection { background: rgba(232, 67, 31, 0.22); color: #16151a; }
.ava[data-tema="claro"] .ava-nav { background: rgba(246, 244, 239, 0.86); }
.ava[data-tema="claro"] .ava-btn--ghost { background: rgba(22, 20, 26, 0.03); }
.ava[data-tema="claro"] .ava-btn--ghost:hover { background: rgba(22, 20, 26, 0.06); border-color: rgba(22, 20, 26, 0.32); }
.ava[data-tema="claro"] .ava-btn--primary { box-shadow: 0 12px 28px -14px rgba(232, 67, 31, 0.55); }

.ava[data-tema="claro"] .ava-card li { color: #3b3943; }
.ava[data-tema="claro"] .ava-cofre__linha input,
.ava[data-tema="claro"] .ava-field input,
.ava[data-tema="claro"] .ava-field select,
.ava[data-tema="claro"] .ava-field textarea { background: #ffffff; }
.ava[data-tema="claro"] .ava-field label { color: #3b3943; }

.ava[data-tema="claro"] .ava-booking { background: rgba(255, 255, 255, 0.92); box-shadow: 0 40px 90px -50px rgba(22, 20, 26, 0.35); }
.ava[data-tema="claro"] .ava-option:hover { border-color: rgba(22, 20, 26, 0.3); }
.ava[data-tema="claro"] .ava-option__icon { background: rgba(22, 20, 26, 0.05); }
.ava[data-tema="claro"] .ava-cal__nav:hover:not(:disabled) { border-color: rgba(22, 20, 26, 0.35); background: rgba(22, 20, 26, 0.04); }
.ava[data-tema="claro"] .ava-slot.is-selected,
.ava[data-tema="claro"] .ava-filtro.is-active { color: #ffffff; }
.ava[data-tema="claro"] .ava-resumo { background: rgba(22, 20, 26, 0.025); }
.ava[data-tema="claro"] .ava-filtro:hover { border-color: rgba(22, 20, 26, 0.3); }

.ava[data-tema="claro"] .ava-sucesso__alerta p { color: #4d3b12; }
.ava[data-tema="claro"] .ava-dica { color: #6b4b0e; }
.ava[data-tema="claro"] .ava-sobre__lista li { color: #2c2a33; }
.ava[data-tema="claro"] .ava-sobre__media { box-shadow: 0 40px 80px -45px rgba(22, 20, 26, 0.45); }

/* ==========================================================================
   Cena animada antes do rodapé (dia no tema claro, noite no escuro).
   As animações usam !important de propósito: ficam vivas mesmo com
   "reduzir movimento" do aparelho, como a bolinha do WhatsApp.
   ========================================================================== */
.ava .ava-cta:has(+ .ava-cena) { padding-bottom: 8px; }
.ava .ava-cena {
	/* Noite (tema escuro, padrão) */
	--cn-longe: #16161d;
	--cn-meio: #1e1e27;
	--cn-janela: #24242c;
	--cn-acesa: #ffcf85;
	--cn-chao: #101015;
	--cn-agua: #0b0e16;
	--cn-traco: #cfcdd6;
	--cn-traco-suave: #3a3a45;
	--cn-pele: #2b2b34;
	--cn-roupa1: #262630;
	--cn-roupa2: #30303a;
	--cn-cam: #3d3d48;
	--cn-cabelo: #4a4a55;
	--cn-acento: #ff4d2e;
	--cn-luz: #ffb547;
	--cn-predio: #1a1a22;
	--cn-casa1: #1c1c24;
	--cn-casa2: #202029;
	--cn-casa3: #18181f;
	--cn-telhado: #2a2329;
	--cn-porta: #2c2c36;
	--cn-muro: #16161d;
	--cn-arvore: #17231b;
	--cn-arvore2: #1c2b21;
	--cn-arvore-fundo: #121914;
	--cn-tronco: #241e1e;
	--cn-ave: #6f6d78;
	--cn-portal: #3a3224;
	--cn-friso: #4a3424;
	--cn-letra: #fff8ec;
	--cn-letra-lado: #ff6a3d;
	--cn-letra-contorno: #0b0b10;
	--cn-letra-base: #2f6b3c;
	position: relative;
	height: clamp(190px, 26vw, 560px);
	overflow: hidden;
	margin-top: -1px;
}
.ava[data-tema="claro"] .ava-cena {
	/* Dia (tema claro) */
	--cn-longe: #e8e0d1;
	--cn-meio: #dbd0bd;
	--cn-janela: #f4eee3;
	--cn-acesa: #f4eee3;
	--cn-chao: #ece6db;
	--cn-agua: #d9e1df;
	--cn-traco: #3b3943;
	--cn-traco-suave: #c8bda9;
	--cn-pele: #f7efe5;
	--cn-roupa1: #d7ccbb;
	--cn-roupa2: #cbbfac;
	--cn-cam: #3b3943;
	--cn-cabelo: #5b4a3f;
	--cn-acento: #e8431f;
	--cn-luz: #ffb547;
	--cn-predio: #e2d9ca;
	--cn-casa1: #f1e6d4;
	--cn-casa2: #eadfce;
	--cn-casa3: #f3ebdf;
	--cn-telhado: #d9b8a0;
	--cn-porta: #cdbfac;
	--cn-muro: #e6dccb;
	--cn-arvore: #b4be96;
	--cn-arvore2: #a2ad83;
	--cn-arvore-fundo: #d4d8bd;
	--cn-tronco: #b9a58c;
	--cn-ave: #6f6d78;
	--cn-portal: #ecd28f;
	--cn-friso: #a9794e;
	--cn-letra: #ffffff;
	--cn-letra-lado: #f08a5d;
	--cn-letra-contorno: #3b3943;
	--cn-letra-base: #8fb27a;
}
.ava .ava-cena svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ava .ava-cena svg * { transition: fill 1.4s ease, stroke 1.4s ease, opacity 1.4s ease !important; }

/* Cores */
.ava .ava-cena .cn-longe { fill: var(--cn-longe); stroke: var(--cn-longe); stroke-width: 2; }
.ava .ava-cena .cn-meio { fill: var(--cn-meio); }
.ava .ava-cena .cn-jan { fill: var(--cn-janela); }
.ava .ava-cena .cn-jan.cn-acende { fill: var(--cn-acesa); }
.ava .ava-cena .cn-chao { fill: var(--cn-chao); }
.ava .ava-cena .cn-agua { fill: var(--cn-agua); }
.ava .ava-cena .cn-ondas { fill: none; stroke: var(--cn-traco-suave); stroke-width: 1.5; stroke-linecap: round; }
.ava .ava-cena .cn-reflexos { fill: none; stroke: var(--cn-luz); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 2 3; }
.ava .ava-cena .cn-traco { fill: none; stroke: var(--cn-traco); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ava .ava-cena .cn-traco-meio { fill: none; stroke: var(--cn-meio); stroke-width: 2.4; stroke-linecap: round; }
.ava .ava-cena .cn-traco-longe { fill: none; stroke: var(--cn-longe); stroke-width: 2; stroke-linecap: round; }
.ava .ava-cena .cn-pele { fill: var(--cn-pele); stroke: var(--cn-traco); stroke-width: 2; }
.ava .ava-cena .cn-roupa1 { fill: var(--cn-roupa1); stroke: var(--cn-traco); stroke-width: 2; stroke-linejoin: round; }
.ava .ava-cena .cn-roupa2 { fill: var(--cn-roupa2); stroke: var(--cn-traco); stroke-width: 2; stroke-linejoin: round; }
.ava .ava-cena .cn-cam { fill: var(--cn-cam); }
.ava .ava-cena .cn-listra { fill: none; stroke: var(--cn-janela); stroke-width: 2; }
.ava .ava-cena .cn-cabelo { fill: var(--cn-cabelo); }
.ava .ava-cena .cn-acento-fill { fill: var(--cn-acento); stroke: var(--cn-traco); stroke-width: 2; stroke-linejoin: round; }
.ava .ava-cena .cn-rec { fill: var(--cn-acento); }
.ava .ava-cena .cn-luminaria { fill: var(--cn-traco); }
.ava .ava-cena .cn-helice { fill: none; stroke: var(--cn-traco); stroke-width: 1.6; }
.ava .ava-cena .cn-led { fill: var(--cn-acento); }
.ava .ava-cena .cn-brilho { fill: var(--cn-luz); }
.ava .ava-cena .cn-feixe { fill: var(--cn-luz); }
.ava .ava-cena .cn-sol__disco { fill: #ffb547; }
.ava .ava-cena .cn-sol__halo { fill: #ffd8a1; opacity: .45; }
.ava .ava-cena .cn-lua { fill: #f4f2ee; }
.ava .ava-cena .cn-estrela { fill: #f4f2ee; }
.ava .ava-cena .cn-nuvem { fill: #ffffff; }

/* Cidade: um prédio alto, casas térreas e muitas árvores */
.ava .ava-cena .cn-predio { fill: var(--cn-predio); }
.ava .ava-cena .cn-antena { fill: none; stroke: var(--cn-predio); stroke-width: 2.2; stroke-linecap: round; }
.ava .ava-cena .cn-casa1 { fill: var(--cn-casa1); }
.ava .ava-cena .cn-casa2 { fill: var(--cn-casa2); }
.ava .ava-cena .cn-casa3 { fill: var(--cn-casa3); }
.ava[data-tema="claro"] .ava-cena .cn-jan--casa { fill: #d8cab4; }
.ava .ava-cena .cn-telhado { fill: var(--cn-telhado); }
.ava .ava-cena .cn-caixa { fill: var(--cn-porta); }
.ava .ava-cena .cn-porta { fill: var(--cn-porta); }
.ava .ava-cena .cn-muro { fill: var(--cn-muro); }
.ava .ava-cena .cn-portao { fill: none; stroke: var(--cn-porta); stroke-width: 1.6; }
.ava .ava-cena .cn-arvore-fundo { fill: var(--cn-arvore-fundo); }
.ava .ava-cena .cn-copa { fill: var(--cn-arvore); }
.ava .ava-cena .cn-copa--perto { fill: var(--cn-arvore2); }
.ava .ava-cena .cn-tronco { fill: var(--cn-tronco); }
.ava .ava-cena .cn-tronco-traco { fill: none; stroke: var(--cn-tronco); stroke-width: 3.2; stroke-linecap: round; }
.ava .ava-cena .cn-folha { fill: none; stroke: var(--cn-arvore2); stroke-width: 3.4; stroke-linecap: round; }

/* Portal do Milênio */
.ava .ava-cena .cn-portal__pilar { fill: var(--cn-portal); }
.ava .ava-cena .cn-portal__friso { fill: var(--cn-friso); }
.ava .ava-cena .cn-portal__luz.cn-noite { opacity: 1; }
/* LED do Portal trocando de cor devagar: amarelo, rosa, azul, verde-água, branco */
.ava .ava-cena .cn-led-portal { animation: cn-led-portal 14s linear infinite !important; }
.ava .ava-cena .cn-led-portal-base { animation: cn-led-portal-base 14s linear infinite !important; }
@keyframes cn-led-portal { 0%, 100% { stop-color: #ffb547; } 20% { stop-color: #ff5d8f; } 40% { stop-color: #5b8cff; } 60% { stop-color: #3ad6c2; } 80% { stop-color: #fff4dc; } }
@keyframes cn-led-portal-base { 0%, 100% { fill: #ffb547; } 20% { fill: #ff5d8f; } 40% { fill: #5b8cff; } 60% { fill: #3ad6c2; } 80% { fill: #fff4dc; } }
.ava[data-tema="claro"] .ava-cena .cn-portal__luz.cn-noite { opacity: 0; }
.ava .ava-cena .cn-visor { fill: none; stroke: var(--cn-acento); stroke-width: 2.2; stroke-linecap: round; opacity: .75; animation: cn-visor 2.4s ease-in-out infinite !important; }
@keyframes cn-visor { 0%, 100% { opacity: .75; } 50% { opacity: .35; } }

/* Letreiro "Eu ❤ Boa Vista" */
.ava .ava-cena .cn-letreiro__base { fill: var(--cn-letra-base); }
.ava .ava-cena .cn-letreiro__letras { font-family: var(--ava-display); font-size: 26px; font-weight: 800; letter-spacing: .5px; stroke-width: 1.6; stroke-linejoin: round; paint-order: stroke; }
.ava .ava-cena .cn-letreiro__letras--peq { font-size: 15px; stroke-width: 1.2; }
.ava .ava-cena .cn-letreiro__frente .cn-letreiro__letras { fill: var(--cn-letra); stroke: var(--cn-letra-contorno); }
.ava .ava-cena .cn-letreiro__lado .cn-letreiro__letras { fill: var(--cn-letra-lado); stroke: var(--cn-letra-contorno); }
.ava .ava-cena .cn-letreiro__coracao { fill: #e8432f; stroke: var(--cn-letra-contorno); stroke-width: 1.6; stroke-linejoin: round; transform-box: fill-box; transform-origin: 50% 60%; animation: ava-batida 1.8s ease-in-out infinite !important; }
.ava .ava-cena .cn-letreiro__coracao--lado { fill: #9b2c1c; }
/* À noite o letreiro fica aceso: brilho quente em volta, para ler de longe */
.ava:not([data-tema="claro"]) .ava-cena .cn-letreiro__frente { filter: drop-shadow(0 0 5px rgba(255, 214, 160, 0.55)); }

/* Pássaros */
.ava .ava-cena .cn-asa { fill: none; stroke: var(--cn-ave); stroke-width: 1.7; stroke-linecap: round; }
.ava .ava-cena .cn-ave__corpo { fill: var(--cn-ave); }

/* Drone */
.ava .ava-cena .cn-traco--fino { stroke-width: 1.5; }
.ava .ava-cena .cn-rotor__disco { fill: var(--cn-traco); opacity: .12; }
.ava .ava-cena .cn-rotor__pa { fill: none; stroke: var(--cn-traco); stroke-width: 1.8; stroke-linecap: round; }
.ava .ava-cena .cn-lente { fill: var(--cn-luz); opacity: .7; }

/* Dia x noite: o que aparece em cada tema */
.ava .ava-cena .cn-dia { opacity: 0; }
.ava .ava-cena .cn-noite { opacity: 1; }
.ava[data-tema="claro"] .ava-cena .cn-dia { opacity: 1; }
.ava[data-tema="claro"] .ava-cena .cn-noite { opacity: 0; }
.ava .ava-cena .cn-brilho.cn-noite { opacity: .32; }
.ava .ava-cena .cn-feixe.cn-noite { opacity: .16; }
.ava .ava-cena .cn-reflexos.cn-noite { opacity: .55; }
.ava[data-tema="claro"] .ava-cena .cn-brilho.cn-noite,
.ava[data-tema="claro"] .ava-cena .cn-feixe.cn-noite,
.ava[data-tema="claro"] .ava-cena .cn-reflexos.cn-noite { opacity: 0; }

/* Sol se põe e a lua sobe na troca de tema */
.ava .ava-cena .cn-sol { opacity: 0; transform: translateY(150px); transition: transform 1.8s cubic-bezier(.4, 0, .2, 1), opacity 1.6s ease !important; }
.ava[data-tema="claro"] .ava-cena .cn-sol { opacity: 1; transform: none; }
.ava .ava-cena .cn-lua { opacity: 1; transform: none; transition: transform 1.8s cubic-bezier(.4, 0, .2, 1), opacity 1.6s ease !important; }
.ava[data-tema="claro"] .ava-cena .cn-lua { opacity: 0; transform: translateY(70px); }

/* Animações contínuas */
.ava .ava-cena .cn-estrela { animation: cn-pisca 3.2s ease-in-out infinite !important; }
.ava .ava-cena .cn-rec { animation: cn-pisca-seco 1.2s steps(2, jump-none) infinite !important; }
.ava .ava-cena .cn-led { animation: cn-pisca-seco .9s steps(2, jump-none) infinite !important; }
.ava .ava-cena .cn-nuvem { animation: cn-nuvem 80s linear infinite !important; }
.ava .ava-cena .cn-nuvem--2 { animation-duration: 110s !important; animation-delay: -45s !important; }
.ava .ava-cena .cn-nuvem--3 { animation-duration: 95s !important; animation-delay: -70s !important; }
/* Pássaros: o bando atravessa o céu; cada ave sobe e desce no seu ritmo,
   bate as asas duas vezes e plana (asas paradas, levemente erguidas). */
.ava .ava-cena .cn-bando { animation: cn-bando 48s linear infinite !important; animation-delay: -14s !important; }
.ava .ava-cena .cn-ave { animation: cn-ave-onda 2.8s ease-in-out infinite alternate !important; }
.ava .ava-cena .cn-asa--e { transform-box: fill-box; transform-origin: 100% 100%; animation: cn-asa-e 2.2s ease-in-out infinite !important; }
.ava .ava-cena .cn-asa--d { transform-box: fill-box; transform-origin: 0% 100%; animation: cn-asa-d 2.2s ease-in-out infinite !important; }
.ava .ava-cena .cn-bando > g:nth-child(2) .cn-ave { animation-duration: 3.4s !important; animation-delay: -1.2s !important; }
.ava .ava-cena .cn-bando > g:nth-child(2) .cn-asa { animation-duration: 2.5s !important; animation-delay: -.7s !important; }
.ava .ava-cena .cn-bando > g:nth-child(3) .cn-ave { animation-duration: 3.1s !important; animation-delay: -2s !important; }
.ava .ava-cena .cn-bando > g:nth-child(3) .cn-asa { animation-duration: 1.9s !important; animation-delay: -1.3s !important; }

/* Drone: passeia, inclina para o lado em que anda; hélices giram de verdade */
.ava .ava-cena .cn-drone { animation: cn-drone 9s ease-in-out infinite !important; }
.ava .ava-cena .cn-drone__corpo { transform-box: fill-box; transform-origin: 50% 40%; animation: cn-drone-inclina 9s ease-in-out infinite !important; }
.ava .ava-cena .cn-rotor__pa { transform-box: fill-box; transform-origin: 50% 50%; animation: cn-pa .11s linear infinite !important; }
.ava .ava-cena .cn-rotor__pa--2 { animation-delay: -.05s !important; }
.ava .ava-cena .cn-rotor__disco { transform-box: fill-box; transform-origin: 50% 50%; animation: cn-disco .22s linear infinite alternate !important; }

/* Buritis balançando com o vento */
.ava .ava-cena .cn-buriti { transform-box: fill-box; transform-origin: 50% 100%; animation: cn-vento 4.6s ease-in-out infinite alternate !important; }
.ava .ava-cena .cn-claquete { transform-box: fill-box; transform-origin: 0% 100%; animation: cn-claquete 4.2s ease-in-out infinite !important; }
.ava .ava-cena .cn-fala { transform-box: fill-box; transform-origin: 50% 100%; animation: cn-fala 1.8s ease-in-out infinite !important; }
.ava .ava-cena .cn-gesto { transform-box: fill-box; transform-origin: 0% 100%; animation: cn-gesto 2.6s ease-in-out infinite !important; }
.ava .ava-cena .cn-camera { transform-box: fill-box; transform-origin: 40% 100%; animation: cn-camera 9s ease-in-out infinite !important; }
.ava .ava-cena .cn-ondas { animation: cn-ondas 5s ease-in-out infinite alternate !important; }
.ava .ava-cena .cn-reflexos { animation: cn-ondas 3s ease-in-out infinite alternate !important; }
.ava .ava-cena .cn-sol__halo { transform-box: fill-box; transform-origin: 50% 50%; animation: cn-halo 5s ease-in-out infinite alternate !important; }
.ava .ava-cena.is-pausada svg * { animation-play-state: paused !important; }

@keyframes cn-pisca { 0%, 100% { opacity: 1; } 50% { opacity: .2; } }
@keyframes cn-pisca-seco { 0% { opacity: 1; } 100% { opacity: .15; } }
@keyframes cn-nuvem { from { transform: translateX(-240px); } to { transform: translateX(1300px); } }
@keyframes cn-bando { from { transform: translate(-140px, 92px); } 50% { transform: translate(560px, 64px); } to { transform: translate(1340px, 78px); } }
@keyframes cn-ave-onda { from { transform: translateY(-3px); } to { transform: translateY(4px); } }
@keyframes cn-asa-e { 0% { transform: rotate(26deg); } 11% { transform: rotate(-24deg); } 22% { transform: rotate(26deg); } 33% { transform: rotate(-24deg); } 46%, 100% { transform: rotate(8deg); } }
@keyframes cn-asa-d { 0% { transform: rotate(-26deg); } 11% { transform: rotate(24deg); } 22% { transform: rotate(-26deg); } 33% { transform: rotate(24deg); } 46%, 100% { transform: rotate(-8deg); } }
@keyframes cn-drone { 0%, 100% { transform: translate(0, 0); } 30% { transform: translate(46px, -10px); } 50% { transform: translate(52px, -4px); } 80% { transform: translate(-6px, 6px); } }
@keyframes cn-drone-inclina { 0%, 100% { transform: rotate(0); } 15% { transform: rotate(5deg); } 30% { transform: rotate(1deg); } 50% { transform: rotate(0); } 62% { transform: rotate(-5deg); } 80% { transform: rotate(-1deg); } }
@keyframes cn-pa { 0% { transform: scaleX(1); } 25% { transform: scaleX(.12); } 50% { transform: scaleX(-1); } 75% { transform: scaleX(-.12); } 100% { transform: scaleX(1); } }
@keyframes cn-disco { from { opacity: .08; } to { opacity: .2; } }
@keyframes cn-vento { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
@keyframes cn-claquete { 0%, 78%, 100% { transform: rotate(0); } 84% { transform: rotate(-30deg); } 90% { transform: rotate(0); } }
@keyframes cn-fala { 0%, 100% { transform: translateY(0); } 30% { transform: translateY(-1.5px) rotate(-2deg); } 60% { transform: translateY(.5px) rotate(1deg); } }
@keyframes cn-gesto { 0%, 100% { transform: rotate(0); } 40% { transform: rotate(-16deg); } 60% { transform: rotate(-6deg); } }
@keyframes cn-camera { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-2.5deg); } }
@keyframes cn-ondas { from { transform: translateX(-8px); } to { transform: translateX(8px); } }
@keyframes cn-halo { from { transform: scale(1); } to { transform: scale(1.12); } }

/* ==========================================================================
   Bordas: Praça das Águas vista de cima (esquerda) e o leque das avenidas
   de Boa Vista a partir do Centro Cívico (direita). Só em telas largas,
   onde sobra espaço dos lados do conteúdo. Ficam "paradas" enquanto a
   página rola (sticky), com um leve efeito de profundidade.
   ========================================================================== */
.ava .ava-bordas { display: none; }
@media (min-width: 1440px) {
	.ava .ava-bordas { display: block; position: absolute; left: 0; right: 0; top: 0; height: 0; z-index: 1; pointer-events: none; }
}
.ava .ava-bordas {
	/* Noite (tema escuro) */
	--bd-linha: rgba(207, 205, 214, 0.16);
	--bd-via: rgba(255, 255, 255, 0.035);
	--bd-faixa: rgba(207, 205, 214, 0.14);
	--bd-gramado: rgba(70, 120, 80, 0.14);
	--bd-arvore: rgba(80, 140, 95, 0.26);
	--bd-arvore-clara: rgba(80, 140, 95, 0.15);
	--bd-piso: rgba(255, 255, 255, 0.04);
	--bd-agua: rgba(56, 189, 248, 0.28);
	--bd-agua-linha: rgba(125, 211, 252, 0.55);
	--bd-jato: rgba(125, 211, 252, 0.75);
	--bd-poste: rgba(255, 181, 71, 0.35);
	--bd-carro: rgba(207, 205, 214, 0.22);
	--bd-farol: rgba(255, 240, 200, 0.9);
	--bd-lanterna: rgba(255, 80, 60, 0.85);
	--bd-rio: rgba(56, 120, 200, 0.18);
	--bd-avenida: rgba(255, 181, 71, 0.16);
	--bd-anel: rgba(207, 205, 214, 0.07);
	--bd-acento: rgba(255, 77, 46, 0.6);
}
.ava[data-tema="claro"] .ava-bordas {
	/* Dia (tema claro) */
	--bd-linha: rgba(59, 57, 67, 0.2);
	--bd-via: rgba(59, 57, 67, 0.05);
	--bd-faixa: rgba(59, 57, 67, 0.17);
	--bd-gramado: rgba(122, 150, 84, 0.16);
	--bd-arvore: rgba(110, 140, 80, 0.32);
	--bd-arvore-clara: rgba(110, 140, 80, 0.18);
	--bd-piso: rgba(59, 57, 67, 0.04);
	--bd-agua: rgba(55, 138, 221, 0.2);
	--bd-agua-linha: rgba(55, 138, 221, 0.5);
	--bd-jato: rgba(55, 138, 221, 0.6);
	--bd-poste: rgba(59, 57, 67, 0.12);
	--bd-carro: rgba(59, 57, 67, 0.3);
	--bd-farol: rgba(255, 255, 255, 0);
	--bd-lanterna: rgba(232, 67, 31, 0);
	--bd-rio: rgba(55, 138, 221, 0.15);
	--bd-avenida: rgba(59, 57, 67, 0.15);
	--bd-anel: rgba(59, 57, 67, 0.08);
	--bd-acento: rgba(232, 67, 31, 0.55);
}
.ava .ava-bordas__col { position: absolute; top: 0; bottom: 0; width: calc((100% - 1200px) / 2); }
.ava .ava-bordas__col--esq { left: 0; }
.ava .ava-bordas__col--dir { right: 0; }
.ava .ava-bordas__fixo {
	position: sticky;
	top: 92px;
	height: calc(100vh - 130px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 28px;
	opacity: 0;
	transition: opacity .9s ease !important;
}
.ava .ava-bordas.is-pronta .ava-bordas__fixo { opacity: 1; }
.ava .ava-bordas svg { display: block; height: 100%; width: auto; max-width: 100%; overflow: visible; will-change: transform; }
.ava .ava-bordas svg * { transition: fill 1.4s ease, stroke 1.4s ease !important; }

.ava .ava-bordas .bd-via { fill: var(--bd-via); }
.ava .ava-bordas .bd-faixa { fill: none; stroke: var(--bd-faixa); stroke-width: 1.5; stroke-dasharray: 8 10; }
.ava .ava-bordas .bd-zebra { fill: none; stroke: var(--bd-faixa); stroke-width: 3; }
.ava .ava-bordas .bd-gramado { fill: var(--bd-gramado); }
.ava .ava-bordas .bd-linha { fill: none; stroke: var(--bd-linha); stroke-width: 1.2; }
.ava .ava-bordas .bd-piso { fill: var(--bd-piso); }
.ava .ava-bordas .bd-agua { fill: var(--bd-agua); stroke: var(--bd-agua-linha); stroke-width: 1.2; }
.ava .ava-bordas .bd-linha-agua { fill: none; stroke: var(--bd-agua-linha); stroke-width: 1; }
.ava .ava-bordas .bd-linha-agua--centro { fill: var(--bd-agua); stroke-width: 1.4; }
.ava .ava-bordas .bd-rosa { fill: var(--bd-faixa); stroke: var(--bd-linha); stroke-width: .8; }
.ava .ava-bordas .bd-jato { fill: none; stroke: var(--bd-jato); stroke-width: 1.2; transform-box: fill-box; transform-origin: 50% 50%; animation: bd-jato 2.4s ease-out infinite !important; }
.ava .ava-bordas .bd-jato-centro { fill: var(--bd-jato); }
.ava .ava-bordas .bd-coracao { fill: var(--bd-acento); transform-box: fill-box; transform-origin: 50% 50%; animation: bd-coracao 1.6s ease-in-out infinite !important; }
.ava .ava-bordas .bd-arvore { fill: var(--bd-arvore); }
.ava .ava-bordas .bd-arvore--clara { fill: var(--bd-arvore-clara); }
.ava .ava-bordas .bd-poste { fill: var(--bd-poste); }
.ava .ava-bordas .bd-carro__corpo { fill: var(--bd-carro); }
.ava .ava-bordas .bd-farol { fill: var(--bd-farol); }
.ava .ava-bordas .bd-lanterna { fill: var(--bd-lanterna); }
.ava .ava-bordas .bd-rio { fill: var(--bd-rio); }
.ava .ava-bordas .bd-rio-onda { fill: none; stroke: var(--bd-agua-linha); stroke-width: 1.2; stroke-linecap: round; opacity: .6; animation: bd-rio 4s ease-in-out infinite alternate !important; }
.ava .ava-bordas .bd-anel { fill: none; stroke: var(--bd-anel); stroke-width: 1.2; }
.ava .ava-bordas .bd-avenida { fill: none; stroke: var(--bd-avenida); stroke-width: 2.4; }
.ava .ava-bordas .bd-avenida--destaque { stroke: var(--bd-acento); stroke-width: 1.8; stroke-dasharray: 6 7; animation: bd-tracejado 2.4s linear infinite !important; }
.ava .ava-bordas .bd-marco { fill: var(--bd-acento); }
.ava .ava-bordas .bd-portal { fill: none; stroke: var(--bd-acento); stroke-width: 1.6; stroke-linejoin: round; }

/* Carros */
.ava .ava-bordas .bd-carro--desce { animation: bd-desce 22s linear infinite !important; }
.ava .ava-bordas .bd-carro--sobe { animation: bd-sobe 22s linear infinite !important; }
.ava .ava-bordas .bd-carro--leque { animation: bd-leque 24s linear infinite !important; }

/* À noite, as fontes fazem o "show de luzes": a água troca de cor devagar */
.ava:not([data-tema="claro"]) .ava-bordas .bd-praca .bd-agua { animation: bd-show 10s ease-in-out infinite !important; }

@keyframes bd-jato { from { transform: scale(.3); opacity: 1; } to { transform: scale(2.3); opacity: 0; } }
@keyframes bd-coracao { 0%, 100% { transform: scale(1); } 15% { transform: scale(1.15); } 30% { transform: scale(1); } 45% { transform: scale(1.12); } }
@keyframes bd-desce { from { transform: translateY(-30px); } to { transform: translateY(930px); } }
@keyframes bd-sobe { from { transform: translateY(930px); } to { transform: translateY(-30px); } }
@keyframes bd-leque { from { transform: translateX(48px); } to { transform: translateX(980px); } }
@keyframes bd-tracejado { to { stroke-dashoffset: -26; } }
@keyframes bd-rio { from { transform: translateX(-6px); } to { transform: translateX(6px); } }
@keyframes bd-show { 0%, 100% { fill: rgba(56, 189, 248, 0.3); } 33% { fill: rgba(129, 140, 248, 0.34); } 66% { fill: rgba(45, 212, 191, 0.3); } }