/* ==========================================================================
   Blueground – Design System
   Cores tiradas do símbolo do logo (roxo #7A12AE e verde #11DE3B).
   Regras: roxo é a cor de ação (botões, links, destaques); o verde é só gráfico
   (faixas, ícones, selos com texto escuro), porque verde sobre branco não tem contraste
   para texto. Um destaque por tela, muito branco, só fotos reais da operação.
   ========================================================================== */

:root {
	/* Marca */
	--bg-roxo: #7A12AE;          /* ação: botões, links, títulos de destaque (8,3:1 com branco) */
	--bg-roxo-escuro: #5A0D82;   /* hover de botões */
	--bg-roxo-claro: #F3ECF8;    /* fundos de destaque suaves */
	--bg-verde: #11DE3B;         /* gráfico: faixas, ícones, marcadores (nunca texto sobre branco) */
	--bg-verde-texto: #0B7A25;   /* verde para texto sobre branco (5,4:1) */
	--bg-verde-claro: #E4FBE8;
	--bg-noite: #1C0B2B;         /* rodapé e seções escuras */
	--bg-noite-2: #2B1340;

	/* Neutros */
	--bg-titulo: #2A1043;        /* títulos: roxo-escuro da marca no lugar do preto (14:1) */
	--bg-texto: #352C40;         /* texto principal: grafite arroxeado (12:1) */
	--bg-texto-2: #625A70;       /* texto secundário (6,3:1) */
	--bg-borda: #E5E0EB;
	--bg-fundo: #FFFFFF;
	--bg-fundo-2: #F7F5FA;       /* faixas alternadas */

	/* Tipografia */
	--bg-fonte-titulo: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
	--bg-fonte-texto: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;

	/* Medidas */
	--bg-largura: 1200px;
	--bg-gutter: clamp(16px, 4vw, 32px);
	--bg-raio: 6px;
	--bg-raio-g: 12px;
	--bg-sombra: 0 10px 30px rgba(34, 26, 44, .10);
	--bg-sombra-p: 0 2px 8px rgba(34, 26, 44, .08);
	--bg-secao: clamp(44px, 5.5vw, 72px);
	--bg-topo-altura: 68px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--bg-topo-altura) + 16px); }
body { margin: 0; background: var(--bg-fundo); color: var(--bg-texto); font: 400 16px/1.65 var(--bg-fonte-texto); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--bg-roxo); text-underline-offset: 3px; }
a:hover { color: var(--bg-roxo-escuro); }
:focus-visible { outline: 3px solid var(--bg-roxo); outline-offset: 3px; border-radius: 2px; }
h1, h2, h3, h4 { font-family: var(--bg-fonte-titulo); color: var(--bg-titulo); line-height: 1.18; margin: 0 0 .5em; letter-spacing: -.012em; }
h1 { font-size: clamp(28px, 3vw, 40px); font-weight: 700; }
h2 { font-size: clamp(22px, 2vw, 28px); font-weight: 600; }
h3 { font-size: clamp(18px, 1.5vw, 21px); font-weight: 700; }
h4 { font-size: 17px; font-weight: 700; }
p { margin: 0 0 1em; }
.bg-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bg-pular { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--bg-roxo); color: #fff; padding: 10px 16px; border-radius: var(--bg-raio); }
.bg-pular:focus { top: 12px; color: #fff; }
.bg-container { width: 100%; max-width: calc(var(--bg-largura) + 2 * var(--bg-gutter)); margin: 0 auto; padding: 0 var(--bg-gutter); }
.bg-estreito { max-width: calc(820px + 2 * var(--bg-gutter)); }
.bg-principal { outline: none; }

/* ---------- Botões ---------- */
.bg-botao { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 22px; border: 2px solid var(--bg-roxo); border-radius: var(--bg-raio); background: var(--bg-roxo); color: #fff; font: 600 15px/1.2 var(--bg-fonte-texto); text-decoration: none; cursor: pointer; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.bg-botao:hover { background: var(--bg-roxo-escuro); border-color: var(--bg-roxo-escuro); color: #fff; }
.bg-botao:active { transform: translateY(1px); }
.bg-botao-contorno { background: transparent; color: var(--bg-roxo); }
.bg-botao-contorno:hover { background: var(--bg-roxo-claro); color: var(--bg-roxo-escuro); }
.bg-botao-claro { background: #fff; border-color: #fff; color: var(--bg-roxo); }
.bg-botao-claro:hover { background: var(--bg-verde); border-color: var(--bg-verde); color: var(--bg-noite); }
.bg-botao-vazado-claro { background: transparent; border-color: rgba(255,255,255,.7); color: #fff; }
.bg-botao-vazado-claro:hover { background: rgba(255,255,255,.12); border-color: #fff; color: #fff; }
.bg-botao-pequeno { min-height: 40px; padding: 8px 18px; font-size: 14px; }
.bg-botoes { display: flex; flex-wrap: wrap; gap: 12px; }
.bg-link-seta { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; }
.bg-link-seta::after { content: "→"; transition: transform .2s; }
.bg-link-seta:hover::after { transform: translateX(4px); }

/* ---------- Elementos de marca ---------- */
/* Rótulo acima dos títulos, com o "corte" diagonal do símbolo */
.bg-rotulo { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; font: 700 13px/1 var(--bg-fonte-texto); letter-spacing: .12em; text-transform: uppercase; color: var(--bg-roxo); }
.bg-rotulo::before { content: ""; width: 18px; height: 14px; background: linear-gradient(115deg, var(--bg-verde) 0 45%, transparent 45% 55%, var(--bg-roxo) 55%); transform: skewX(-20deg); }
.bg-escuro .bg-rotulo, .bg-hero .bg-rotulo { color: #fff; }
.bg-escuro .bg-rotulo::before, .bg-hero .bg-rotulo::before { background: linear-gradient(115deg, var(--bg-verde) 0 45%, transparent 45% 55%, #C690E6 55%); }
/* Faixa verde/roxa (topo do rodapé e divisórias) */
.bg-faixa-marca { height: 6px; background: linear-gradient(90deg, var(--bg-verde) 0 33%, var(--bg-roxo) 33%); }

/* ---------- Barra de acesso (acima do cabeçalho) ---------- */
.bg-barra-acesso { background: var(--bg-noite); color: #CFC3DA; font-size: 13px; }
.bg-barra-acesso .bg-container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 36px; }
.bg-barra-acesso a { color: #E9E1F1; text-decoration: none; }
.bg-barra-acesso a:hover { color: #fff; text-decoration: underline; }
.bg-barra-info span { margin: 0 6px; }
.bg-barra-info a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.bg-barra-info svg { width: 14px; height: 14px; fill: none; stroke: var(--bg-verde); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bg-barra-links { display: flex; gap: 20px; }
.bg-barra-links a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.bg-barra-links svg { width: 15px; height: 15px; fill: none; stroke: var(--bg-verde); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bg-menu-acesso { display: none; }
@media (max-width: 1023px) {
	.bg-barra-acesso { display: none; }
	.bg-menu-acesso { display: flex; gap: 12px; }
	.bg-menu-acesso a { flex: 1; padding: 12px; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio); text-align: center; font-weight: 600; text-decoration: none; }
}

/* ---------- Tela de login (Área do Cliente / Extranet) ---------- */
.bg-login { display: grid; grid-template-columns: 1.1fr 1fr; min-height: calc(100vh - var(--bg-topo-altura) - 36px); }
.bg-login-lado { position: relative; display: flex; align-items: flex-end; padding: clamp(32px, 5vw, 72px); color: #fff; background: var(--bg-noite) var(--bg-foto) center / cover no-repeat; isolation: isolate; }
.bg-login-lado::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(28,11,43,.95) 0%, rgba(28,11,43,.7) 55%, rgba(28,11,43,.35) 100%); }
.bg-login-lado h2 { color: #fff; max-width: 520px; }
.bg-login-lado p { color: #E9E1F1; max-width: 520px; font-size: 17px; }
.bg-login-lado .bg-rotulo { color: #fff; }
.bg-login-lado .bg-rotulo::before { background: linear-gradient(115deg, var(--bg-verde) 0 45%, transparent 45% 55%, #C690E6 55%); }
.bg-login-lado .bg-checklist { margin: 0; }
.bg-login-lado .bg-checklist li { border-color: rgba(255,255,255,.15); color: #fff; }
.bg-login-caixa { display: flex; align-items: center; justify-content: center; padding: clamp(32px, 5vw, 64px) var(--bg-gutter); background: var(--bg-fundo-2); }
.bg-login-form { width: 100%; max-width: 420px; padding: clamp(28px, 4vw, 40px); background: #fff; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); box-shadow: var(--bg-sombra); display: grid; gap: 16px; }
.bg-login-logo { width: 180px; height: auto; margin-bottom: 4px; }
.bg-login-form h1 { margin: 0; font-size: 28px; }
.bg-login-sub { margin: -8px 0 4px; color: var(--bg-texto-2); font-size: 15px; }
.bg-senha { position: relative; }
.bg-senha input { padding-right: 52px; }
.bg-senha-ver { position: absolute; right: 4px; top: 4px; width: 40px; height: 40px; border: 0; border-radius: var(--bg-raio); background: none; color: var(--bg-texto-2); cursor: pointer; }
.bg-senha-ver:hover, .bg-senha-ver[aria-pressed="true"] { color: var(--bg-roxo); }
.bg-senha-ver svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.bg-login-linha { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; }
.bg-login-entrar { width: 100%; }
.bg-login-seguro { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; font-size: 13px; color: var(--bg-texto-2); }
.bg-login-seguro svg { width: 14px; height: 14px; fill: none; stroke: var(--bg-verde-texto); stroke-width: 2; }
.bg-login-outro { margin: 4px 0 0; padding-top: 16px; border-top: 1px solid var(--bg-borda); text-align: center; font-size: 14px; color: var(--bg-texto-2); }
.bg-aviso-info { background: var(--bg-roxo-claro); color: #3D0A5C; border: 1px solid #D9C2EA; margin: 0; }
@media (max-width: 860px) {
	.bg-login { grid-template-columns: 1fr; min-height: 0; }
	.bg-login-lado { min-height: 260px; }
	.bg-login-lado .bg-checklist { display: none; }
	.bg-login-caixa { order: -1; }
}

/* ---------- Cabeçalho ---------- */
.bg-topo { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.97); border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s; }
.bg-topo.bg-rolou { border-color: var(--bg-borda); box-shadow: var(--bg-sombra-p); }
.admin-bar .bg-topo { top: 32px; }
.bg-topo-linha { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--bg-topo-altura); }
.bg-marca { display: block; flex: none; line-height: 0; }
.bg-marca img { width: 200px; height: auto; }
.bg-menu { display: flex; align-items: center; gap: 28px; }
.bg-menu > ul { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.bg-menu > ul > li { position: relative; }
.bg-menu > ul > li > a, .bg-sub-botao { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border: 0; border-radius: var(--bg-raio); background: none; color: var(--bg-texto); font: 500 15px/1.2 var(--bg-fonte-texto); text-decoration: none; cursor: pointer; }
.bg-menu > ul > li > a:hover, .bg-sub-botao:hover, .bg-sub-botao[aria-expanded="true"] { color: var(--bg-roxo); background: var(--bg-roxo-claro); }
.bg-menu > ul > li.bg-ativo > a, .bg-menu > ul > li.bg-ativo > .bg-sub-botao { color: var(--bg-roxo); font-weight: 600; }
.bg-sub-botao svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .2s; }
.bg-sub-botao[aria-expanded="true"] svg { transform: rotate(180deg); }
.bg-sub { position: absolute; top: calc(100% + 8px); left: 50%; width: 340px; transform: translateX(-50%); background: #fff; border: 1px solid var(--bg-borda); border-top: 3px solid var(--bg-roxo); border-radius: var(--bg-raio); box-shadow: var(--bg-sombra); padding: 8px; opacity: 0; visibility: hidden; transition: opacity .15s, visibility .15s; }
.bg-sub-botao[aria-expanded="true"] + .bg-sub { opacity: 1; visibility: visible; }
.bg-sub ul { list-style: none; margin: 0; padding: 0; }
.bg-sub a { display: block; padding: 12px 14px; border-radius: var(--bg-raio); text-decoration: none; color: var(--bg-texto); }
.bg-sub a:hover, .bg-sub a[aria-current] { background: var(--bg-roxo-claro); }
.bg-sub strong { display: block; font-family: var(--bg-fonte-titulo); font-size: 16px; color: var(--bg-roxo); }
.bg-sub span { display: block; font-size: 13px; line-height: 1.45; color: var(--bg-texto-2); }
.bg-menu-botao { display: none; width: 48px; height: 48px; border: 0; border-radius: var(--bg-raio); background: none; cursor: pointer; }
.bg-menu-icone { display: grid; gap: 5px; width: 24px; margin: 0 auto; }
.bg-menu-icone i { display: block; height: 2px; background: var(--bg-texto); border-radius: 2px; transition: transform .2s, opacity .2s; }
.bg-menu-botao[aria-expanded="true"] .bg-menu-icone i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.bg-menu-botao[aria-expanded="true"] .bg-menu-icone i:nth-child(2) { opacity: 0; }
.bg-menu-botao[aria-expanded="true"] .bg-menu-icone i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1023px) {
	:root { --bg-topo-altura: 64px; }
	.bg-marca img { width: 168px; }
	.bg-menu-botao { display: block; }
	.bg-menu { position: fixed; z-index: 51; inset: var(--bg-topo-altura) 0 0 0; width: auto; min-width: 0; max-width: 100vw; box-sizing: border-box; flex-direction: column; align-items: stretch; gap: 16px; padding: 16px var(--bg-gutter) 32px; background: #fff; border-top: 1px solid var(--bg-borda); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; transform: translateX(100%); visibility: hidden; transition: transform .22s ease, visibility 0s linear .22s; }
	.admin-bar .bg-menu { top: calc(var(--bg-topo-altura) + 46px); }
	.bg-menu.bg-aberto { transform: translateX(0); visibility: visible; transition: transform .22s ease, visibility 0s; }
	.bg-menu > ul { flex-direction: column; align-items: stretch; gap: 0; }
	.bg-menu > ul > li { border-bottom: 1px solid var(--bg-borda); }
	.bg-menu > ul > li > a, .bg-sub-botao { width: 100%; justify-content: space-between; padding: 16px 4px; font-size: 17px; border-radius: 0; }
	.bg-menu > ul > li > a:hover, .bg-sub-botao:hover, .bg-sub-botao[aria-expanded="true"] { background: none; }
	.bg-sub { position: static; width: auto; transform: none; border: 0; box-shadow: none; padding: 0 0 12px; display: none; opacity: 1; visibility: visible; }
	.bg-sub-botao[aria-expanded="true"] + .bg-sub { display: block; }
	.bg-topo-cta { width: 100%; min-height: 48px; }
	body.bg-menu-aberto { overflow: hidden; }
}

/* ---------- Seções ---------- */
.bg-secao { padding: var(--bg-secao) 0; }
.bg-secao-alt { background: var(--bg-fundo-2); }
.bg-escuro { background: var(--bg-noite); color: #E9E1F1; }
.bg-escuro h2, .bg-escuro h3 { color: #fff; }
.bg-cabeca { max-width: 720px; margin-bottom: clamp(24px, 3vw, 36px); }
.bg-cabeca-centro { margin-left: auto; margin-right: auto; text-align: center; }
.bg-cabeca p { font-size: 16px; color: var(--bg-texto-2); }
.bg-escuro .bg-cabeca p { color: #CFC3DA; }

/* ---------- Abertura da Home: slides com setas e pontos (29/10/2026) ---------- */
.bg-abertura { position: relative; background: var(--bg-noite); color: #fff; overflow: hidden; isolation: isolate; }
.bg-abertura-trilho { display: grid; }
.bg-abertura-slide { grid-area: 1 / 1; position: relative; display: flex; align-items: center; min-height: min(70vh, 580px); padding: 88px 0 72px; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; isolation: isolate; }
.bg-abertura-slide.bg-ativo { opacity: 1; visibility: visible; z-index: 1; }
.bg-abertura-foto { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.bg-abertura-slide::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(28,11,43,.94) 0%, rgba(28,11,43,.74) 42%, rgba(28,11,43,.12) 100%), linear-gradient(0deg, rgba(28,11,43,.85) 0%, transparent 45%); }
.bg-abertura-titulo { margin: 0 0 14px; max-width: 640px; color: #fff; font-size: clamp(28px, 3.2vw, 42px); font-weight: 700; line-height: 1.12; }
.bg-abertura-titulo em { font-style: normal; color: var(--bg-verde); }
.bg-abertura-texto { max-width: 540px; margin-bottom: 24px; font-size: 16px; color: #E9E1F1; }
.bg-abertura .bg-rotulo { color: #fff; }
.bg-abertura .bg-rotulo::before { background: linear-gradient(115deg, var(--bg-verde) 0 45%, transparent 45% 55%, #C690E6 55%); }
/* Controles discretos no canto: pontos, pausa e setas (só com JavaScript) */
.bg-abertura-controles { position: absolute; left: 0; right: 0; bottom: 28px; z-index: 2; display: none; align-items: center; justify-content: flex-end; gap: 10px; pointer-events: none; }
.bg-js .bg-abertura-controles { display: flex; }
.bg-abertura-controles > * { pointer-events: auto; }
.bg-abertura-pontos { display: flex; gap: 8px; margin-right: 10px; }
.bg-abertura-pontos button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.45); cursor: pointer; transition: width .3s, background .3s; }
.bg-abertura-pontos button:hover { background: rgba(255,255,255,.8); }
.bg-abertura-pontos button[aria-current="true"] { width: 28px; background: var(--bg-verde); }
.bg-abertura-controles > button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(28,11,43,.4); color: #fff; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.bg-abertura-controles > button:hover { background: #fff; border-color: #fff; color: var(--bg-roxo); }
.bg-abertura-controles svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bg-abertura-pausa { width: 36px !important; height: 36px !important; }
.bg-abertura-pausa svg { width: 14px; height: 14px; fill: currentColor; stroke: none; }
.bg-abertura-pausa .bg-ic-play, .bg-abertura.bg-pausado .bg-abertura-pausa .bg-ic-pausa { display: none; }
.bg-abertura.bg-pausado .bg-abertura-pausa .bg-ic-play { display: inline; }
/* Entrada do texto e zoom lento da foto do slide ativo (só sem "reduzir movimento") */
@media (prefers-reduced-motion: no-preference) {
	.bg-abertura-slide.bg-ativo .bg-abertura-conteudo > * { animation: bg-sobe .7s ease both; }
	.bg-abertura-slide.bg-ativo .bg-abertura-conteudo > :nth-child(2) { animation-delay: .12s; }
	.bg-abertura-slide.bg-ativo .bg-abertura-conteudo > :nth-child(3) { animation-delay: .24s; }
	.bg-abertura-slide.bg-ativo .bg-abertura-conteudo > :nth-child(4) { animation-delay: .36s; }
	.bg-abertura-slide.bg-ativo .bg-abertura-foto { animation: bg-zoom 9s ease-out both; }
}
@keyframes bg-zoom { from { transform: scale(1.09); } to { transform: scale(1.001); } }
@keyframes bg-sobe { from { opacity: 0; transform: translateY(22px); } }
@media (max-width: 760px) {
	.bg-abertura-slide { min-height: clamp(480px, 72svh, 560px); padding: 64px 0 90px; }
	.bg-abertura-slide::before { background: linear-gradient(0deg, rgba(28,11,43,.96) 0%, rgba(28,11,43,.82) 55%, rgba(28,11,43,.45) 100%); }
	.bg-abertura .bg-botao { flex: 1 1 100%; }
	.bg-abertura-controles { right: var(--bg-gutter); bottom: 14px; left: auto; width: max-content; max-width: calc(100% - 2 * var(--bg-gutter)); margin: 0; padding: 6px; justify-content: center; gap: 7px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(28,11,43,.82); backdrop-filter: blur(8px); }
	.bg-abertura-pontos { margin-right: auto; }
	.bg-abertura-controles > button { width: 40px; height: 40px; }
}

/* ---------- Cartões de serviço ---------- */
.bg-grade-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bg-grade-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.bg-grade-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 991px) { .bg-grade-3, .bg-grade-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .bg-grade-3, .bg-grade-2, .bg-grade-4 { grid-template-columns: 1fr; } }
.bg-cartao-servico { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); overflow: hidden; text-decoration: none; color: var(--bg-texto); transition: box-shadow .25s, transform .25s, border-color .25s; }
.bg-cartao-servico:hover { color: var(--bg-texto); box-shadow: var(--bg-sombra); transform: translateY(-3px); border-color: transparent; }
.bg-cartao-servico figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bg-fundo-2); }
.bg-cartao-servico figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.bg-cartao-servico:hover figure img { transform: scale(1.04); }
.bg-cartao-servico-corpo { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.bg-cartao-servico h3 { margin-bottom: 8px; }
.bg-cartao-servico p { color: var(--bg-texto-2); font-size: 15px; }
.bg-cartao-servico ul { list-style: none; margin: 0 0 20px; padding: 0; font-size: 14px; color: var(--bg-texto); flex: 1; }
.bg-cartao-servico li { position: relative; padding: 5px 0 5px 20px; border-top: 1px solid var(--bg-borda); }
.bg-cartao-servico li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 8px; height: 8px; background: var(--bg-verde); transform: skewX(-20deg); }
.bg-cartao-servico .bg-link-seta { color: var(--bg-roxo); }

/* ---------- Bloco dividido (texto + foto) ---------- */
.bg-dividido { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
.bg-dividido-foto { position: relative; margin: 0; }
.bg-dividido-foto img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--bg-raio-g); }
.bg-dividido-foto::after { content: ""; position: absolute; right: -14px; bottom: -14px; width: 42%; height: 42%; z-index: -1; border-radius: var(--bg-raio-g); background: repeating-linear-gradient(115deg, var(--bg-verde) 0 10px, transparent 10px 20px); opacity: .35; }
.bg-dividido-foto figcaption { margin-top: 10px; font-size: 13px; color: var(--bg-texto-2); }
@media (max-width: 860px) { .bg-dividido { grid-template-columns: 1fr; } .bg-dividido-foto { order: -1; } }
.bg-checklist { list-style: none; margin: 0 0 28px; padding: 0; }
.bg-checklist li { position: relative; padding: 8px 0 8px 32px; border-bottom: 1px solid var(--bg-borda); }
.bg-checklist li::before { content: ""; position: absolute; left: 0; top: 13px; width: 18px; height: 18px; border-radius: 50%; background: var(--bg-verde-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230B7A25' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; }
.bg-escuro .bg-checklist li { border-color: rgba(255,255,255,.12); }

/* ---------- Rede de bases na Home ---------- */
.bg-home-rede { grid-template-columns: 1fr 1.15fr; }
.bg-home-bases { list-style: none; margin: 8px 0 28px; padding: 0; }
.bg-home-bases li { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--bg-borda); font-size: 14px; color: var(--bg-texto-2); }
.bg-home-bases strong { display: block; font-size: 16px; color: var(--bg-titulo); }
.bg-home-iata { flex: none; width: 52px; padding: 6px 0; border-radius: var(--bg-raio); background: var(--bg-roxo); color: #fff; text-align: center; font: 700 14px/1 var(--bg-fonte-titulo); letter-spacing: .06em; }
.bg-home-rede .bg-mp-svg { max-height: 420px; }
@media (max-width: 860px) { .bg-home-rede .bg-dividido-foto, .bg-home-rede > div:last-child { order: 0; } }

/* ---------- Vídeos ---------- */
.bg-video-local { position: relative; border-radius: var(--bg-raio-g); overflow: hidden; background: var(--bg-noite); aspect-ratio: 16 / 9; }
.bg-video-local video { display: block; width: 100%; height: 100%; object-fit: cover; }
.bg-video-pausa { position: absolute; right: 12px; bottom: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(28,11,43,.7); cursor: pointer; }
.bg-video-pausa::before, .bg-video-pausa::after { content: ""; position: absolute; top: 13px; width: 4px; height: 14px; background: #fff; border-radius: 1px; }
.bg-video-pausa::before { left: 14px; }
.bg-video-pausa::after { left: 22px; }
.bg-video-pausa[aria-pressed="true"]::before { left: 15px; width: 0; height: 0; top: 12px; background: none; border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent #fff; }
.bg-video-pausa[aria-pressed="true"]::after { display: none; }
.bg-video-pausa:hover { background: var(--bg-roxo); }
.bg-videos { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 8px 0 16px; }
@media (max-width: 600px) { .bg-videos { grid-template-columns: 1fr; } }
.bg-video-yt { margin: 0; }
.bg-video-play, .bg-video-yt iframe { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; border-radius: var(--bg-raio-g); overflow: hidden; background: var(--bg-noite); cursor: pointer; }
.bg-video-play img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s, opacity .3s; opacity: .85; }
.bg-video-play:hover img { transform: scale(1.03); opacity: 1; }
.bg-video-icone { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: var(--bg-roxo); box-shadow: 0 6px 20px rgba(0,0,0,.3); transition: transform .2s, background .2s; }
.bg-video-icone svg { width: 28px; height: 28px; margin-left: 4px; fill: #fff; }
.bg-video-play:hover .bg-video-icone { transform: scale(1.08); background: var(--bg-roxo-escuro); }
.bg-video-yt figcaption { padding: 12px 2px 0; }
.bg-video-yt figcaption strong { display: block; font-family: var(--bg-fonte-titulo); font-size: 17px; }
.bg-video-yt figcaption span { display: block; font-size: 14px; color: var(--bg-texto-2); }
.bg-video-yt figcaption small { display: block; margin-top: 4px; font-size: 12px; color: var(--bg-texto-2); }
.bg-texto .bg-videos + p { margin-top: 0; }

/* ---------- Diferenciais ---------- */
.bg-diferencial { padding: 22px; border-radius: var(--bg-raio-g); background: var(--bg-noite-2); border: 1px solid rgba(255,255,255,.08); }
.bg-diferencial-icone { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 10px; background: rgba(17,222,59,.12); color: var(--bg-verde); }
.bg-diferencial-icone svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bg-diferencial h3 { font-size: 18px; }
.bg-diferencial p { margin: 0; font-size: 15px; color: #CFC3DA; }

/* ---------- Faixa de chamada ---------- */
.bg-chamada { position: relative; overflow: hidden; padding: clamp(32px, 4vw, 52px) 0; background: var(--bg-roxo); color: #fff; isolation: isolate; }
.bg-chamada::after { content: ""; position: absolute; z-index: -1; top: -20%; right: -6%; width: 46%; height: 140%; background: linear-gradient(115deg, transparent 0 30%, rgba(17,222,59,.9) 30% 48%, transparent 48% 56%, rgba(255,255,255,.1) 56% 74%, transparent 74%); }
.bg-chamada-linha { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.bg-chamada h2 { color: #fff; margin: 0 0 8px; max-width: 640px; }
.bg-chamada p { margin: 0; color: #EBDDF5; max-width: 600px; font-size: 16px; }
@media (max-width: 700px) { .bg-chamada::after { width: 70%; opacity: .5; } .bg-chamada .bg-botoes, .bg-chamada .bg-botao { width: 100%; } }

/* ---------- Faixa de título (páginas internas) ---------- */
.bg-faixa-titulo { position: relative; padding: clamp(32px, 4vw, 52px) 0 clamp(28px, 3.5vw, 44px); background: var(--bg-fundo-2); border-bottom: 1px solid var(--bg-borda); isolation: isolate; }
.bg-faixa-titulo h1 { font-size: clamp(26px, 2.8vw, 36px); margin-bottom: 10px; }
.bg-faixa-resumo { max-width: 660px; margin: 0; font-size: 16px; color: var(--bg-texto-2); }
.bg-faixa-titulo.bg-com-foto { padding: clamp(56px, 7vw, 96px) 0 clamp(32px, 4vw, 48px); background: var(--bg-noite) var(--bg-foto) center / cover no-repeat; border: 0; color: #fff; }
.bg-faixa-titulo.bg-com-foto::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(28,11,43,.92) 0%, rgba(28,11,43,.65) 55%, rgba(28,11,43,.25) 100%); }
.bg-faixa-titulo.bg-com-foto h1 { color: #fff; }
.bg-faixa-titulo.bg-com-foto .bg-faixa-resumo { color: #E9E1F1; }
.bg-faixa-selos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 880px; margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--bg-borda); }
.bg-faixa-selos li { padding: 16px 20px 0; border-left: 1px solid var(--bg-borda); }
.bg-faixa-selos li:first-child { padding-left: 0; border-left: 0; }
.bg-faixa-selos strong { display: block; margin-bottom: 4px; font: 700 clamp(19px, 1.8vw, 24px)/1.15 var(--bg-fonte-titulo); color: var(--bg-titulo); }
.bg-faixa-selos span { display: block; font-size: 14px; line-height: 1.4; color: var(--bg-texto-2); }
.bg-com-foto .bg-faixa-selos, .bg-com-foto .bg-faixa-selos li { border-color: rgba(255,255,255,.22); }
.bg-com-foto .bg-faixa-selos strong { color: #fff; }
.bg-com-foto .bg-faixa-selos span { color: #CFC3DA; }
.bg-faixa-botoes { margin-top: 28px; }
@media (max-width: 700px) {
	.bg-faixa-selos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
	.bg-faixa-selos li, .bg-faixa-selos li:first-child { padding: 14px 0 0; border-left: 0; }
	.bg-faixa-botoes, .bg-faixa-botoes .bg-botao { width: 100%; }
}
.bg-trilha { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; font-size: 14px; color: var(--bg-texto-2); }
.bg-trilha a { color: inherit; }
.bg-com-foto .bg-trilha { color: #CFC3DA; }

/* ---------- Texto do editor (páginas) ---------- */
.bg-texto { padding: clamp(32px, 4vw, 52px) 0; font-size: 16px; }
.bg-texto > :first-child { margin-top: 0; }
.bg-texto h2 { font-size: clamp(21px, 1.9vw, 26px); margin: 1.5em 0 .55em; }
.bg-texto h3 { margin: 1.4em 0 .5em; }
.bg-texto ul, .bg-texto ol { padding-left: 0; margin: 0 0 1.4em; list-style: none; counter-reset: bg-n; }
.bg-texto ul li, .bg-texto ol li { position: relative; padding: 6px 0 6px 30px; }
.bg-texto ul li::before { content: ""; position: absolute; left: 4px; top: 15px; width: 10px; height: 10px; background: var(--bg-verde); transform: skewX(-20deg); }
.bg-texto ol li { counter-increment: bg-n; padding-left: 40px; }
.bg-texto ol li::before { content: counter(bg-n); position: absolute; left: 0; top: 6px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--bg-roxo); color: #fff; font: 700 14px/1 var(--bg-fonte-titulo); }
.bg-texto strong { color: var(--bg-titulo); }
.bg-texto p { color: var(--bg-texto); }
.bg-texto .bg-destaque { padding: 20px 24px; margin: 24px 0; border-left: 4px solid var(--bg-verde); background: var(--bg-fundo-2); border-radius: 0 var(--bg-raio) var(--bg-raio) 0; }
.bg-lista-links li a { font-weight: 600; }
.bg-texto .bg-tabela { width: 100%; margin: 8px 0 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bg-texto table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 15px; }
.bg-texto th, .bg-texto td { padding: 12px 14px; border-bottom: 1px solid var(--bg-borda); text-align: left; vertical-align: top; }
.bg-texto thead th { background: var(--bg-noite); color: #fff; font: 600 14px/1.3 var(--bg-fonte-texto); }
.bg-texto thead th:first-child { border-radius: var(--bg-raio) 0 0 0; }
.bg-texto thead th:last-child { border-radius: 0 var(--bg-raio) 0 0; }
.bg-texto tbody tr:nth-child(even) { background: var(--bg-fundo-2); }
.bg-texto td strong { color: var(--bg-roxo); }
.bg-texto tbody td:first-child { min-width: 190px; }
.bg-texto .bg-nota { font-size: 14px; color: var(--bg-texto-2); }
.bg-texto details { border: 1px solid var(--bg-borda); border-radius: var(--bg-raio); margin: 0 0 10px; background: #fff; }
.bg-texto summary { padding: 16px 18px; cursor: pointer; font-weight: 600; color: var(--bg-texto); list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.bg-texto summary::-webkit-details-marker { display: none; }
.bg-texto summary::after { content: "+"; font: 700 20px/1 var(--bg-fonte-titulo); color: var(--bg-roxo); }
.bg-texto details[open] summary::after { content: "–"; }
.bg-texto details > p { padding: 0 18px 16px; margin: 0; }
.bg-texto .bg-cartoes-mini { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 8px 0 24px; }
.bg-texto .bg-cartoes-mini a { display: block; padding: 18px; border: 1px solid var(--bg-borda); border-top: 3px solid var(--bg-roxo); border-radius: var(--bg-raio); text-decoration: none; color: var(--bg-texto); transition: box-shadow .2s; }
.bg-texto .bg-cartoes-mini a:hover { box-shadow: var(--bg-sombra-p); }
.bg-texto .bg-cartoes-mini strong { display: block; color: var(--bg-roxo); font-family: var(--bg-fonte-titulo); font-size: 17px; }
.bg-texto .bg-cartoes-mini span { display: block; font-size: 14px; color: var(--bg-texto-2); }
.bg-texto .bg-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin: 8px 0 10px; }
.bg-texto .bg-numeros > div { padding: 20px 18px; border-radius: var(--bg-raio); background: var(--bg-noite); border-bottom: 3px solid var(--bg-verde); }
.bg-texto .bg-numeros strong { display: block; margin-bottom: 6px; color: #fff; font: 700 clamp(21px, 2vw, 28px)/1.1 var(--bg-fonte-titulo); }
.bg-texto .bg-numeros span { display: block; font-size: 14px; line-height: 1.4; color: #CFC3DA; }
.bg-videos-um { grid-template-columns: 1fr; max-width: 640px; }

/* ---------- Página de serviço ---------- */
.bg-servico-grade { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 5vw, 64px); align-items: start; }
.bg-servico-lado { position: sticky; top: calc(var(--bg-topo-altura) + 24px); padding: clamp(40px, 5vw, 64px) 0; display: grid; gap: 24px; }
.bg-servico-grade-largo { display: block; }
.bg-servico-grade-largo .bg-servico-texto { max-width: 100%; }
.bg-servico-cta-inline { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: clamp(36px, 5vw, 56px); padding: clamp(22px, 3vw, 34px); border-radius: var(--bg-raio-g); background: var(--bg-noite); color: #E9E1F1; }
.bg-servico-cta-inline .bg-rotulo { margin-bottom: 10px; color: #fff; }
.bg-servico-cta-inline .bg-rotulo::before { background: linear-gradient(115deg, var(--bg-verde) 0 45%, transparent 45% 55%, #C690E6 55%); }
.bg-servico-cta-inline h2 { margin: 0 0 8px; color: #fff; font-size: clamp(20px, 2vw, 25px); }
.bg-servico-cta-inline p { max-width: 650px; margin: 0; color: #CFC3DA; }
.bg-servico-cta-inline .bg-botao { flex: 0 0 auto; background: #fff; border-color: #fff; color: var(--bg-roxo); }
.bg-servico-cta-inline .bg-botao:hover { background: var(--bg-verde); border-color: var(--bg-verde); color: var(--bg-noite); }
.bg-cartao-cta { padding: 28px; border-radius: var(--bg-raio-g); background: var(--bg-noite); color: #E9E1F1; }
.bg-cartao-cta .bg-rotulo { color: #fff; }
.bg-cartao-cta .bg-rotulo::before { background: linear-gradient(115deg, var(--bg-verde) 0 45%, transparent 45% 55%, #C690E6 55%); }
.bg-cartao-cta h2 { color: #fff; font-size: 24px; }
.bg-cartao-cta p { font-size: 15px; color: #CFC3DA; }
.bg-cartao-cta .bg-botao { width: 100%; background: #fff; border-color: #fff; color: var(--bg-roxo); }
.bg-cartao-cta .bg-botao:hover { background: var(--bg-verde); border-color: var(--bg-verde); color: var(--bg-noite); }
.bg-cartao-cta-email { display: block; margin-top: 14px; text-align: center; font-size: 14px; color: #E9E1F1; }
.bg-cartao-cta-email:hover { color: #fff; }
.bg-outros { padding: 24px; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); }
.bg-outros h2 { font-size: 18px; margin-bottom: 12px; }
.bg-outros a { display: block; padding: 12px 0; border-top: 1px solid var(--bg-borda); text-decoration: none; }
.bg-outros strong { display: block; color: var(--bg-roxo); }
.bg-outros span { display: block; font-size: 14px; color: var(--bg-texto-2); }
@media (max-width: 991px) { .bg-servico-grade { grid-template-columns: 1fr; } .bg-servico-lado { position: static; padding-top: 0; } }
@media (max-width: 700px) { .bg-servico-cta-inline { align-items: stretch; } .bg-servico-cta-inline .bg-botao { width: 100%; } }

/* ---------- Galeria ---------- */
.bg-galeria { padding: 0 0 var(--bg-secao); }
.bg-galeria-grade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.bg-galeria-grade figure { margin: 0; aspect-ratio: 4 / 3; max-height: 240px; overflow: hidden; border-radius: var(--bg-raio); background: var(--bg-fundo-2); }
.bg-galeria-grade img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 760px) { .bg-galeria-grade { grid-template-columns: repeat(2, 1fr) !important; } }
.bg-galeria-grade figure a, .bg-gal-grade figure a { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.bg-galeria-grade figure img, .bg-gal-grade figure img { transition: transform .4s; }
.bg-galeria-grade figure a:hover img, .bg-gal-grade figure a:hover img { transform: scale(1.04); }
.bg-galeria-mais { margin: 16px 0 0; text-align: right; }

/* ---------- Página Galeria ---------- */
.bg-gal-filtro { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.bg-gal-filtro[hidden] { display: none; }
.bg-gal-filtro button { padding: 9px 16px; border: 1px solid var(--bg-borda); border-radius: 999px; background: #fff; color: var(--bg-texto); font: 600 14px/1.2 var(--bg-fonte-texto); cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.bg-gal-filtro button:hover { border-color: var(--bg-roxo); color: var(--bg-roxo); }
.bg-gal-filtro button[aria-pressed="true"] { background: var(--bg-roxo); border-color: var(--bg-roxo); color: #fff; }
.bg-gal-grupo { margin-top: 32px; }
.bg-gal-grupo[hidden] { display: none; }
.bg-gal-grupo h2 { font-size: clamp(22px, 2.2vw, 28px); margin-bottom: 16px; }
.bg-gal-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.bg-gal-grade figure { margin: 0; }
.bg-gal-grade figure a { height: auto; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--bg-raio); background: var(--bg-fundo-2); }
.bg-gal-grade img { width: 100%; height: 100%; object-fit: cover; }
.bg-gal-grade figcaption { padding: 8px 2px 0; font-size: 14px; line-height: 1.4; color: var(--bg-texto-2); }
@media (max-width: 560px) { .bg-gal-grade { grid-template-columns: 1fr 1fr; gap: 10px; } .bg-gal-grade figcaption { font-size: 13px; } }
.bg-gal-dialogo { width: 100vw; max-width: none; height: 100vh; max-height: none; margin: 0; padding: 56px 64px; border: 0; background: rgba(14, 6, 22, .94); color: #fff; }
.bg-gal-dialogo::backdrop { background: rgba(14, 6, 22, .7); }
.bg-gal-dialogo figure { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 100%; margin: 0; }
.bg-gal-dialogo img { max-width: 100%; max-height: calc(100% - 48px); object-fit: contain; border-radius: var(--bg-raio); }
.bg-gal-dialogo figcaption { max-width: 760px; text-align: center; font-size: 15px; color: #E9E1F1; }
.bg-gal-dialogo button { position: absolute; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font: 400 32px/1 var(--bg-fonte-texto); cursor: pointer; }
.bg-gal-dialogo button:hover, .bg-gal-dialogo button:focus-visible { background: var(--bg-verde); color: var(--bg-noite); }
.bg-gal-fechar { top: 12px; right: 12px; }
.bg-gal-ant { left: 8px; top: 50%; transform: translateY(-50%); }
.bg-gal-prox { right: 8px; top: 50%; transform: translateY(-50%); }
@media (max-width: 760px) { .bg-gal-dialogo { padding: 64px 12px 72px; } .bg-gal-ant, .bg-gal-prox { top: auto; bottom: 12px; transform: none; } .bg-gal-ant { left: calc(50% - 56px); } .bg-gal-prox { right: calc(50% - 56px); } }

/* ---------- Formulário ---------- */
.bg-contato-grade { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.4fr); gap: clamp(24px, 4vw, 48px); align-items: start; padding: clamp(32px, 4vw, 52px) 0 var(--bg-secao); }
.bg-texto > .bg-contato-grade { padding-top: 0; padding-bottom: 0; }
@media (max-width: 900px) { .bg-contato-grade { grid-template-columns: 1fr; } .bg-contato-grade > .bg-form { grid-column: 1; grid-row: 1; } .bg-contato-grade > .bg-contato-info { grid-column: 1; grid-row: 2; } }
.bg-contato-info { padding: clamp(20px, 3vw, 30px); border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); background: var(--bg-fundo-2); }
.bg-contato-info h2 { font-size: 23px; }
.bg-contato-item { display: flex; gap: 14px; padding: 14px 0; border-top: 1px solid var(--bg-borda); }
.bg-contato-item svg { flex: none; width: 24px; height: 24px; margin-top: 2px; fill: none; stroke: var(--bg-roxo); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bg-contato-item strong { display: block; font-size: 14px; color: var(--bg-texto-2); font-weight: 600; }
.bg-contato-item p, .bg-contato-item a { margin: 0; font-size: 16px; }
.bg-form { padding: clamp(20px, 3vw, 32px); background: #fff; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); box-shadow: var(--bg-sombra-p); }
.bg-form-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.bg-campo-largo { grid-column: 1 / -1; }
@media (max-width: 360px) { .bg-form-grade { grid-template-columns: 1fr; } }
.bg-campo label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--bg-texto); }
.bg-campo label .bg-obrig { color: #B42318; }
.bg-campo input, .bg-campo select, .bg-campo textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #CBC3D5; border-radius: var(--bg-raio); background: #fff; color: var(--bg-texto); font: 400 16px/1.4 var(--bg-fonte-texto); transition: border-color .2s, box-shadow .2s; }
.bg-campo textarea { min-height: 100px; resize: vertical; }
.bg-campo input:focus, .bg-campo select:focus, .bg-campo textarea:focus { outline: none; border-color: var(--bg-roxo); box-shadow: 0 0 0 3px rgba(122,18,174,.18); }
.bg-campo [aria-invalid="true"] { border-color: #B42318; }
.bg-campo-erro { display: block; margin-top: 4px; font-size: 13px; color: #B42318; }
.bg-consentimento { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--bg-texto-2); }
.bg-consentimento input { flex: none; width: 20px; height: 20px; min-height: 0; margin-top: 2px; accent-color: var(--bg-roxo); }
.bg-mel { position: absolute !important; left: -9999px; }

/* ---------- Formulário de contato em etapas (29/10/2026) ---------- */
.bg-form-topo { margin-bottom: 8px; }
.bg-form-topo h2 { margin: 0 0 4px; font-size: clamp(21px, 1.9vw, 25px); }
.bg-form-topo p { margin: 0; font-size: 14px; color: var(--bg-texto-2); }
.bg-form-etapa { margin: 0 0 10px; padding: 12px 0 0; border: 0; border-top: 1px solid var(--bg-borda); min-width: 0; }
.bg-form-etapa legend { padding: 0; margin-bottom: 8px; font: 700 16px/1.3 var(--bg-fonte-titulo); color: var(--bg-titulo); }
.bg-servicos-opcoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 760px) { .bg-servicos-opcoes { grid-template-columns: 1fr; } }
.bg-servicos-instrucao { margin: -6px 0 9px; font-size: 13px; color: var(--bg-texto-2); }
.bg-form-etapa.bg-invalido legend, .bg-form-etapa.bg-invalido .bg-servicos-grupo-nome { color: #B42318; }
.bg-form-etapa.bg-invalido .bg-servico-opcao span { border-color: #E8A39B; }
.bg-servicos-grupo { overflow: hidden; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio); background: var(--bg-fundo-2); }
.bg-servicos-grupo-nome { display: flex; align-items: center; gap: 8px; padding: 10px 12px; list-style: none; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--bg-texto-2); cursor: pointer; }
.bg-servicos-grupo-nome::-webkit-details-marker { display: none; }
.bg-servicos-grupo-nome::after { content: "+"; margin-left: auto; font-size: 18px; font-weight: 400; line-height: 1; }
.bg-servicos-grupo[open] .bg-servicos-grupo-nome::after { content: "−"; }
.bg-servicos-grupo-nome span { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 999px; background: #fff; font-size: 11px; letter-spacing: 0; }
.bg-servicos-grupo-opcoes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 0 10px 10px; }
.bg-servico-opcao { position: relative; cursor: pointer; }
.bg-servico-opcao input { position: absolute; opacity: 0; pointer-events: none; }
.bg-servico-opcao span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid #CBC3D5; border-radius: var(--bg-raio); background: #fff; font-size: 12px; line-height: 1.25; color: var(--bg-texto); transition: border-color .15s, background .15s, color .15s; }
.bg-servico-opcao:hover span { border-color: var(--bg-roxo); color: var(--bg-roxo); }
.bg-servico-opcao input:checked + span { border-color: var(--bg-roxo); background: var(--bg-roxo); color: #fff; }
.bg-servico-opcao input:checked + span::before { content: "✓"; font-weight: 700; }
.bg-servico-opcao input:focus-visible + span { outline: 3px solid var(--bg-roxo); outline-offset: 2px; }
.bg-campo-rotulo { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--bg-texto); }
.bg-campo-ajuda { display: block; margin-top: 5px; font-size: 12px; line-height: 1.4; color: var(--bg-texto-2); }
.bg-form-subrotulo { grid-column: 1 / -1; margin: 2px 0 -4px; padding-top: 12px; border-top: 1px solid var(--bg-borda); font-size: 13px; font-weight: 700; color: var(--bg-titulo); }
.bg-form-detalhes { overflow: hidden; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio); background: var(--bg-fundo-2); }
.bg-form-detalhes summary { display: flex; align-items: center; gap: 8px; padding: 11px 12px; list-style: none; font-size: 13px; font-weight: 600; color: var(--bg-roxo); cursor: pointer; }
.bg-form-detalhes summary::-webkit-details-marker { display: none; }
.bg-form-detalhes summary::after { content: "+"; margin-left: auto; font-size: 18px; font-weight: 400; line-height: 1; }
.bg-form-detalhes[open] summary::after { content: "−"; }
.bg-form-detalhes > .bg-form-grade { padding: 4px 12px 12px; }
.bg-retorno { display: flex; flex-wrap: wrap; gap: 8px; }
.bg-retorno label { position: relative; margin: 0; cursor: pointer; }
.bg-retorno input { position: absolute; opacity: 0; pointer-events: none; }
.bg-retorno span { display: inline-block; padding: 9px 16px; border: 1px solid #CBC3D5; border-radius: var(--bg-raio); font-size: 14px; font-weight: 500; }
.bg-retorno input:checked + span { border-color: var(--bg-roxo); background: var(--bg-roxo-claro); color: var(--bg-roxo); font-weight: 600; }
.bg-retorno input:focus-visible + span { outline: 3px solid var(--bg-roxo); outline-offset: 2px; }
.bg-campo-contador { display: block; margin-top: 4px; font-size: 12px; color: var(--bg-texto-2); text-align: right; }
.bg-form-enviar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.bg-form-enviar .bg-botao { width: 100%; min-height: 52px; font-size: 16px; box-shadow: 0 5px 16px rgba(122,18,174,.18); }
.bg-form-enviar .bg-botao[disabled] { opacity: .7; cursor: progress; }
.bg-form-enviar small { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--bg-texto-2); }
.bg-form-enviar small svg { width: 15px; height: 15px; fill: none; stroke: var(--bg-verde-texto); stroke-width: 2; }
.bg-form-sucesso { text-align: center; }
.bg-form-sucesso-icone { display: grid; place-items: center; width: 64px; height: 64px; margin: 4px auto 16px; border-radius: 50%; background: var(--bg-verde-claro); }
.bg-form-sucesso-icone svg { width: 34px; height: 34px; fill: none; stroke: var(--bg-verde-texto); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.bg-form-sucesso h2 { margin-bottom: 8px; }
.bg-form-protocolo { display: inline-block; margin: 0 0 14px; padding: 8px 16px; border: 1px dashed var(--bg-roxo); border-radius: var(--bg-raio); background: var(--bg-roxo-claro); font-size: 15px; }
.bg-form-protocolo strong { font: 700 17px/1 var(--bg-fonte-titulo); letter-spacing: .04em; color: var(--bg-roxo); }
.bg-form-sucesso p { max-width: 460px; margin-left: auto; margin-right: auto; color: var(--bg-texto-2); }
.bg-form-sucesso .bg-botoes { justify-content: center; margin-top: 18px; }
.bg-aviso { padding: 16px 18px; margin-bottom: 20px; border-radius: var(--bg-raio); font-size: 15px; }
.bg-aviso-ok { background: var(--bg-verde-claro); color: #0A5C1D; border: 1px solid #A9EDB7; }
.bg-aviso-erro { background: #FDECEA; color: #8A1C12; border: 1px solid #F5C2BC; }

/* ---------- Carreiras ---------- */
.bg-passos { counter-reset: bg-p; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; list-style: none; padding: 0; margin: 0 0 32px; }
.bg-passos li { counter-increment: bg-p; padding: 24px; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); }
.bg-passos li::before { content: counter(bg-p, decimal-leading-zero); display: block; margin-bottom: 10px; font: 800 28px/1 var(--bg-fonte-titulo); color: var(--bg-roxo); }
.bg-passos strong { display: block; margin-bottom: 4px; }
.bg-passos span { font-size: 15px; color: var(--bg-texto-2); }
@media (max-width: 760px) { .bg-passos { grid-template-columns: 1fr; } }

/* ---------- Rodapé ---------- */
.bg-rodape { background: var(--bg-noite); color: #CFC3DA; font-size: 14px; }
.bg-rodape a { color: #E9E1F1; text-decoration: none; }
.bg-rodape a:hover { color: #fff; text-decoration: underline; }
.bg-rodape-grade { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 32px; padding-top: 44px; padding-bottom: 32px; }
@media (max-width: 991px) { .bg-rodape-grade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .bg-rodape-grade { grid-template-columns: 1fr; gap: 32px; } }
.bg-rodape h2 { margin-bottom: 16px; font: 700 13px/1 var(--bg-fonte-texto); letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.bg-rodape ul { list-style: none; margin: 0; padding: 0; }
.bg-rodape li { padding: 3px 0; }
.bg-rodape-logo { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.bg-rodape-logo:hover { text-decoration: none !important; }
.bg-rodape-logo span { font: 400 15px/1.1 var(--bg-fonte-titulo); color: #CFC3DA; }
.bg-rodape-logo strong { display: block; font-size: 22px; font-weight: 700; color: #fff; letter-spacing: -.01em; }
.bg-rodape-social { display: inline-flex; align-items: center; gap: 8px; margin: 4px 20px 0 0; }
.bg-rodape-social svg { width: 20px; height: 20px; fill: currentColor; }
.bg-rodape address { font-style: normal; margin-bottom: 18px; line-height: 1.7; }
.bg-rodape-horario { font-size: 13px; color: #A99BB8; }
.bg-rodape .bg-botao-claro { color: var(--bg-roxo); }
.bg-rodape .bg-botao-claro:hover { color: var(--bg-noite); text-decoration: none; }
.bg-rodape-legal { border-top: 1px solid rgba(255,255,255,.1); padding: 14px 0; font-size: 12.5px; color: #A99BB8; }
.bg-rodape-legal .bg-container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }

/* ---------- Animação de entrada (respeita "reduzir movimento") ---------- */
@media (prefers-reduced-motion: no-preference) {
	.bg-js .bg-revela { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
	.bg-js .bg-revela.bg-visivel { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; } }

/* ---------- Extranet com login Microsoft (28/10/2026) ---------- */
.bg-botao-ms { width: 100%; background: #fff; border: 1px solid #8C8C8C; color: var(--bg-texto); }
.bg-botao-ms:hover, .bg-botao-ms:focus-visible { background: #F3F3F3; border-color: #8C8C8C; color: var(--bg-texto); }
.bg-botao-ms svg { width: 20px; height: 20px; flex: 0 0 20px; }
.bg-ext { padding-top: clamp(32px, 5vw, 56px); padding-bottom: var(--bg-secao); }
.bg-ext-topo { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding-bottom: 20px; margin-bottom: 8px; border-bottom: 1px solid var(--bg-borda); }
.bg-ext-topo h1 { margin: 0; font-size: clamp(28px, 4vw, 38px); }
.bg-ext-topo p { margin: 4px 0 0; color: var(--bg-texto-2); font-size: 15px; }
.bg-ext-mural { margin: 20px 0 4px; padding: 14px 18px; background: var(--bg-roxo-claro); border-left: 4px solid var(--bg-roxo); border-radius: 0 var(--bg-raio) var(--bg-raio) 0; }
.bg-ext-mural strong { display: block; margin-bottom: 4px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--bg-roxo); }
.bg-ext-mural p { margin: 0; }
.bg-ext-busca { margin: 24px 0 0; }
.bg-ext-busca input { width: 100%; max-width: 360px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio); font: inherit; }
.bg-ext-busca input:focus { outline: 2px solid var(--bg-roxo); outline-offset: 1px; }
.bg-ext-bloco h2 { margin: 32px 0 14px; font: 700 13px/1 var(--bg-fonte-texto); letter-spacing: .12em; text-transform: uppercase; color: var(--bg-texto-2); }
.bg-ext-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.bg-ext-sistema { display: flex; gap: 14px; align-items: flex-start; padding: 18px; background: #fff; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); color: var(--bg-texto); text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.bg-ext-sistema:hover, .bg-ext-sistema:focus-visible { border-color: var(--bg-roxo); box-shadow: var(--bg-sombra-p); color: var(--bg-texto); }
.bg-ext-sistema strong { display: block; margin-bottom: 2px; font-family: var(--bg-fonte-titulo); font-size: 17px; }
.bg-ext-sistema span span { font-size: 14px; color: var(--bg-texto-2); }
.bg-ext-ico { flex: 0 0 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: var(--bg-raio); background: var(--bg-roxo-claro); color: var(--bg-roxo); }
.bg-ext-ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.bg-ext-novo { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 10px; background: var(--bg-verde); color: var(--bg-noite); font: 700 10.5px/1.4 var(--bg-fonte-texto); font-style: normal; letter-spacing: .05em; text-transform: uppercase; vertical-align: middle; }
.bg-ext .bg-login-seguro { justify-content: flex-start; margin-top: 32px; }
.bg-ext-bloco[hidden], .bg-ext-sistema[hidden], .bg-ext-vazio[hidden] { display: none; }
@media (max-width: 900px) { .bg-ext-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .bg-ext-grade { grid-template-columns: 1fr; } .bg-ext-topo { flex-direction: column; align-items: flex-start; } }

/* ---------- Página não encontrada (404, 29/10/2026) ---------- */
.bg-404 { position: relative; overflow: hidden; padding: clamp(48px, 7vw, 88px) 0; background: var(--bg-noite); color: #E9E1F1; isolation: isolate; }
.bg-404::after { content: ""; position: absolute; z-index: -1; top: -20%; right: -8%; width: 44%; height: 140%; background: linear-gradient(115deg, transparent 0 30%, rgba(17,222,59,.16) 30% 46%, transparent 46% 54%, rgba(122,18,174,.35) 54% 76%, transparent 76%); }
.bg-404-linha { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center; gap: 32px; }
.bg-404 .bg-rotulo { color: #fff; }
.bg-404 .bg-rotulo::before { background: linear-gradient(115deg, var(--bg-verde) 0 45%, transparent 45% 55%, #C690E6 55%); }
.bg-404 h1 { color: #fff; margin-bottom: 12px; }
.bg-404-texto > p { max-width: 560px; color: #CFC3DA; }
.bg-404-sugestao { padding: 10px 14px; border-left: 3px solid var(--bg-verde); background: rgba(255,255,255,.06); border-radius: 0 var(--bg-raio) var(--bg-raio) 0; }
.bg-404-sugestao a { color: #fff; font-weight: 600; }
.bg-404 .bg-botoes { margin-top: 24px; }
.bg-404-numero { justify-self: center; font: 800 clamp(96px, 16vw, 200px)/1 var(--bg-fonte-titulo); letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.35); background: linear-gradient(115deg, var(--bg-verde) 0 40%, #C690E6 60%); -webkit-background-clip: text; background-clip: text; opacity: .9; user-select: none; }
.bg-404-atalhos { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 28px 0 0; padding: 0; list-style: none; }
@media (max-width: 760px) { .bg-404-linha { grid-template-columns: 1fr; } .bg-404-numero { order: -1; justify-self: start; font-size: 88px; } .bg-404 .bg-botao { flex: 1 1 100%; } }

/* ---------- Aviso de cookies (LGPD, 29/10/2026): faixa no pé da tela ---------- */
.bg-cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: var(--bg-noite); color: #E9E1F1; border-top: 3px solid var(--bg-verde); box-shadow: 0 -10px 30px rgba(28, 11, 43, .25); }
.bg-cookies[hidden] { display: none; }
.bg-cookies-faixa { display: flex; align-items: center; justify-content: space-between; gap: 16px 28px; padding-top: 16px; padding-bottom: 16px; }
.bg-cookies-texto strong { display: block; margin-bottom: 2px; font: 700 15px/1.3 var(--bg-fonte-titulo); color: #fff; }
.bg-cookies-texto p { margin: 0; max-width: 720px; font-size: 14px; line-height: 1.5; color: #CFC3DA; }
.bg-cookies-texto a { color: #fff; }
.bg-cookies-botoes { display: flex; flex: none; flex-wrap: wrap; gap: 8px; }
.bg-cookies .bg-botao-contorno { border-color: rgba(255,255,255,.55); color: #fff; }
.bg-cookies .bg-botao-contorno:hover, .bg-cookies .bg-botao-contorno[aria-expanded="true"] { background: rgba(255,255,255,.12); border-color: #fff; color: #fff; }
.bg-cookies .bg-botao:not(.bg-botao-contorno) { background: #fff; border-color: #fff; color: var(--bg-roxo); }
.bg-cookies .bg-botao:not(.bg-botao-contorno):hover { background: var(--bg-verde); border-color: var(--bg-verde); color: var(--bg-noite); }
.bg-cookies-painel { display: grid; gap: 10px; padding-bottom: 18px; }
.bg-cookies-painel[hidden] { display: none; }
.bg-cookies-cat { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--bg-raio); background: var(--bg-noite-2); cursor: pointer; }
.bg-cookies-cat strong { display: block; font-size: 14.5px; color: #fff; }
.bg-cookies-cat small { display: block; font-size: 13px; line-height: 1.45; color: #CFC3DA; }
.bg-cookies-cat input { flex: none; width: 40px; height: 22px; margin: 0; appearance: none; border-radius: 999px; background: rgba(255,255,255,.25); position: relative; cursor: pointer; transition: background .2s; }
.bg-cookies-cat input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .2s; }
.bg-cookies-cat input:checked { background: var(--bg-verde); }
.bg-cookies-cat input:checked::after { transform: translateX(18px); }
.bg-cookies-cat input:disabled { opacity: .6; cursor: not-allowed; }
.bg-cookies-cat input:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.bg-cookies-rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.bg-cookies-prazo { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: #CFC3DA; }
.bg-cookies-prazo select { padding: 6px 8px; border: 1px solid rgba(255,255,255,.3); border-radius: var(--bg-raio); background: var(--bg-noite-2); color: #fff; font: inherit; }
.bg-rodape-cookies { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.bg-rodape-cookies:hover { color: #fff; text-decoration: underline; }
@media (max-width: 760px) {
	.bg-cookies-faixa { flex-direction: column; align-items: stretch; padding-top: 14px; padding-bottom: 14px; }
	.bg-cookies-botoes .bg-botao { flex: 1 1 auto; }
	.bg-cookies-texto p { font-size: 13.5px; }
}

/* ---------- Idioma no cabeçalho fixo (29/10/2026): sempre visível, no computador e no celular ---------- */
.bg-menu { order: 2; }
.bg-idioma-topo { position: relative; order: 3; flex: none; }
.bg-idioma-topo summary { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border: 1px solid var(--bg-borda); border-radius: 999px; color: var(--bg-texto); font: 600 13px/1 var(--bg-fonte-texto); letter-spacing: .04em; list-style: none; cursor: pointer; transition: border-color .2s, color .2s; }
.bg-idioma-topo summary::-webkit-details-marker { display: none; }
.bg-idioma-topo summary:hover, .bg-idioma-topo[open] summary { border-color: var(--bg-roxo); color: var(--bg-roxo); }
.bg-idioma-topo svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.bg-idioma-lista { position: absolute; right: 0; top: calc(100% + 8px); z-index: 60; display: grid; min-width: 180px; padding: 6px; background: #fff; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); box-shadow: var(--bg-sombra); }
.bg-idioma-lista a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: var(--bg-raio); color: var(--bg-texto); font-size: 14.5px; text-decoration: none; }
.bg-idioma-lista a:hover { background: var(--bg-fundo-2); color: var(--bg-roxo); }
.bg-idioma-lista a[aria-current] { background: var(--bg-roxo-claro); color: var(--bg-roxo); font-weight: 600; }
.bg-idioma-lista b { width: 24px; font-size: 12px; letter-spacing: .06em; color: var(--bg-roxo); }
@media (min-width: 1024px) and (max-width: 1279px) {
	.bg-topo-linha { gap: 14px; }
	.bg-marca img { width: 164px; }
	.bg-menu { gap: 14px; }
	.bg-menu > ul > li > a, .bg-sub-botao { padding: 10px 9px; font-size: 14.5px; }
	.bg-topo-cta { padding-left: 14px; padding-right: 14px; }
}
@media (max-width: 1023px) {
	.bg-idioma-topo { order: 0; margin-left: auto; }
	.bg-topo-linha { gap: 10px; }
}

/* ---------- Vagas e banco de talentos (28/10/2026) ---------- */
.bg-vagas { margin-top: 48px; }
.bg-texto .bg-vagas-lista, .bg-vagas-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.bg-texto .bg-vagas-lista li { margin: 0; padding: 0; }
.bg-texto .bg-vagas-lista li::before { display: none; }
.bg-vagas-lista li[hidden] { display: none; }
.bg-vaga-cartao { display: grid; gap: 8px; padding: 20px 22px; background: #fff; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); color: var(--bg-texto); text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.bg-vaga-cartao:hover, .bg-vaga-cartao:focus-visible { border-color: var(--bg-roxo); box-shadow: var(--bg-sombra-p); color: var(--bg-texto); }
.bg-vaga-cartao strong { font-family: var(--bg-fonte-titulo); font-size: 20px; line-height: 1.25; }
.bg-vaga-area { font: 700 12px/1 var(--bg-fonte-texto); letter-spacing: .12em; text-transform: uppercase; color: var(--bg-roxo); }
.bg-vaga-selos { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.bg-vaga-selo { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--bg-fundo-2); border: 1px solid var(--bg-borda); font-size: 13px; color: var(--bg-texto-2); }
.bg-vaga-selo-pcd { background: var(--bg-verde-claro); border-color: #A9EDB7; color: #0A5C1D; font-weight: 600; }
.bg-faixa-titulo .bg-vaga-selos { margin-top: 14px; }
.bg-faixa-titulo .bg-vaga-selo { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.25); color: #fff; }
.bg-vaga-prazo { font-size: 14px; color: var(--bg-texto-2); }
.bg-vagas-filtro { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.bg-vagas-filtro button { min-height: 40px; padding: 6px 16px; border: 1px solid var(--bg-borda); border-radius: 999px; background: #fff; font: 600 14px var(--bg-fonte-texto); color: var(--bg-texto); cursor: pointer; }
.bg-vagas-filtro button.ativo { background: var(--bg-roxo); border-color: var(--bg-roxo); color: #fff; }
.bg-vagas-vazio { padding: 20px 22px; background: var(--bg-fundo-2); border-radius: var(--bg-raio-g); }
.bg-vagas-banco { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 28px; padding: 22px 24px; background: var(--bg-roxo-claro); border-radius: var(--bg-raio-g); }
.bg-vagas-banco strong { display: block; font-family: var(--bg-fonte-titulo); font-size: 19px; color: var(--bg-titulo); }
.bg-vagas-banco span { display: block; max-width: 560px; color: var(--bg-texto-2); font-size: 15px; }
.bg-vaga-sobre { font-size: 18px; }
.bg-vaga-ficha { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin: 24px 0; padding: 18px 20px; background: var(--bg-fundo-2); border-radius: var(--bg-raio-g); }
.bg-vaga-ficha div { margin: 0; }
.bg-vaga-ficha dt { font: 700 12px/1.4 var(--bg-fonte-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--bg-texto-2); }
.bg-vaga-ficha dd { margin: 2px 0 0; font-weight: 600; color: var(--bg-texto); }
.bg-cand-form { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--bg-borda); scroll-margin-top: calc(var(--bg-topo-altura) + 16px); }
.bg-cand-form input[type="file"] { width: 100%; padding: 12px; border: 1px dashed var(--bg-borda); border-radius: var(--bg-raio); background: var(--bg-fundo-2); font: inherit; }

/* ---------- Menu com painéis largos, modelo Swissport (28/10/2026) ---------- */
.bg-menu > ul > li.bg-tem-sub { position: static; }
.bg-sub.bg-mega { top: 100%; left: 0; right: 0; width: auto; transform: translateY(-6px); padding: 32px 0 36px; border: 0; border-top: 1px solid var(--bg-borda); border-bottom: 3px solid var(--bg-roxo); border-radius: 0; box-shadow: 0 18px 30px rgba(34, 26, 44, .12); transition: opacity .18s, transform .18s, visibility .18s; }
.bg-sub-botao[aria-expanded="true"] + .bg-sub.bg-mega { transform: none; }
.bg-mega-grade { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 2.4fr) minmax(240px, 1.05fr); gap: 40px; align-items: start; }
.bg-mega-intro { padding-right: 8px; border-right: 1px solid var(--bg-borda); }
.bg-mega-intro .bg-mega-titulo { margin: 0 0 10px; font-family: var(--bg-fonte-titulo); font-size: 22px; font-weight: 700; line-height: 1.2; color: var(--bg-texto); }
.bg-mega-intro p { margin: 0 0 16px; padding-right: 24px; font-size: 15px; line-height: 1.55; color: var(--bg-texto-2); }
.bg-mega-grupos { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 28px; }
.bg-mega .bg-mega-g { display: block; margin: 0 0 10px; padding: 0 0 8px; border-bottom: 1px solid var(--bg-borda); font: 700 13px/1.3 var(--bg-fonte-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--bg-roxo); text-decoration: none; }
.bg-mega a.bg-mega-g:hover { color: var(--bg-roxo-escuro); background: none; }
.bg-mega ul { display: grid; gap: 2px; }
.bg-mega li a, .bg-mega li span { display: block; padding: 6px 0; border-radius: 0; font-size: 15px; line-height: 1.4; color: var(--bg-texto); text-decoration: none; }
.bg-mega li span { color: var(--bg-texto-2); }
.bg-mega li a:hover, .bg-mega li a[aria-current] { background: none; color: var(--bg-roxo); text-decoration: underline; text-underline-offset: 3px; }
.bg-mega-destaque { display: block; overflow: hidden; border-radius: var(--bg-raio-g); background: var(--bg-fundo-2); color: var(--bg-texto); text-decoration: none; transition: box-shadow .2s; }
.bg-mega-destaque:hover { box-shadow: var(--bg-sombra-p); color: var(--bg-texto); }
.bg-mega-destaque img { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.bg-mega-destaque-txt { display: block; padding: 14px 16px 16px; }
.bg-mega-destaque .bg-rotulo { margin-bottom: 8px; font-size: 11px; }
.bg-mega-destaque strong { display: block; font-family: var(--bg-fonte-titulo); font-size: 17px; line-height: 1.3; color: var(--bg-titulo); }
.bg-mega-destaque-txt > span:last-child { display: block; margin-top: 4px; font-size: 14px; line-height: 1.5; color: var(--bg-texto-2); }
@media (min-width: 1024px) and (max-width: 1199px) { .bg-mega-grade { grid-template-columns: minmax(200px, 1fr) minmax(0, 2.2fr); } .bg-mega-destaque { display: none; } }
@media (max-width: 1023px) {
	.bg-sub.bg-mega { transform: none; padding: 0 0 14px; border: 0; box-shadow: none; }
	.bg-mega-grade { display: block; padding: 0; }
	.bg-mega-intro { border: 0; padding: 0; }
	.bg-mega-intro .bg-mega-titulo, .bg-mega-intro p, .bg-mega-destaque { display: none; }
	.bg-mega-intro .bg-link-seta { display: inline-flex; margin: 0 0 12px; font-weight: 600; }
	.bg-mega-grupos { grid-template-columns: 1fr; gap: 16px; }
	.bg-mega .bg-mega-g { margin-bottom: 4px; }
}
@media (prefers-reduced-motion: reduce) { .bg-sub.bg-mega { transition: none; transform: none; } }
.bg-sub.bg-mega a.bg-mega-destaque { padding: 0; border-radius: var(--bg-raio-g); }
.bg-sub.bg-mega a.bg-mega-destaque:hover { background: var(--bg-fundo-2); }
.bg-sub.bg-mega .bg-mega-intro a.bg-link-seta { display: inline-flex; padding: 0; border-radius: 0; }
.bg-sub.bg-mega .bg-mega-intro a.bg-link-seta:hover { background: none; }
.bg-sub.bg-mega .bg-mega-destaque .bg-rotulo { display: inline-flex; font-size: 11px; line-height: 1; color: var(--bg-roxo); }
.bg-sub.bg-mega .bg-mega-destaque strong { font-size: 17px; color: var(--bg-titulo); }

/* ---------- Quem Somos (28/10/2026) ---------- */
.bg-qs-intro { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.bg-texto .bg-qs-intro h2 { margin-top: 0; }
.bg-texto .bg-qs-hex { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 12px; margin: 0; padding: 0; }
.bg-texto .bg-qs-hex li { padding: 0; display: grid; justify-items: center; gap: 10px; text-align: center; }
.bg-texto .bg-qs-hex li::before { display: none; }
.bg-texto .bg-qs-hex li:nth-child(3n+2) { transform: translateY(42px); }
.bg-qs-hex-forma { display: grid; place-items: center; width: 112px; aspect-ratio: 1 / 1.1547; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: var(--bg-roxo-claro); color: var(--bg-roxo); transition: background .2s, color .2s; }
.bg-qs-hex li:nth-child(2) .bg-qs-hex-forma, .bg-qs-hex li:nth-child(4) .bg-qs-hex-forma, .bg-qs-hex li:nth-child(6) .bg-qs-hex-forma { background: var(--bg-roxo); color: #fff; }
.bg-qs-hex li:nth-child(3) .bg-qs-hex-forma { background: var(--bg-verde-claro); color: var(--bg-verde-texto); }
.bg-qs-hex-forma svg { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.bg-texto .bg-qs-hex strong { font: 700 13px/1.3 var(--bg-fonte-texto); letter-spacing: .06em; text-transform: uppercase; color: var(--bg-texto); max-width: 150px; }
.bg-qs-pv { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: clamp(56px, 7vw, 88px) 0 0; scroll-margin-top: calc(var(--bg-topo-altura) + 24px); }
.bg-qs-cartao { padding: clamp(24px, 3vw, 36px); background: var(--bg-fundo-2); border-radius: var(--bg-raio-g); border-top: 4px solid var(--bg-roxo); }
.bg-texto .bg-qs-cartao p { margin: 0; font-size: 17px; line-height: 1.65; }
.bg-qs-cartao-escuro { background: var(--bg-noite); border-top-color: var(--bg-verde); }
.bg-texto .bg-qs-cartao-escuro p { color: #E9E1F1; }
.bg-qs-cartao-escuro .bg-rotulo { color: #fff; }
.bg-qs-cartao-escuro .bg-rotulo::before { background: linear-gradient(115deg, var(--bg-verde) 0 45%, transparent 45% 55%, #C690E6 55%); }
.bg-qs-valores { margin: clamp(56px, 7vw, 88px) 0 0; scroll-margin-top: calc(var(--bg-topo-altura) + 24px); }
.bg-texto .bg-qs-valores h2 { margin-top: 0; }
.bg-qs-valores-grade { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 24px; }
.bg-qs-valor { padding: 22px 18px; background: #fff; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); }
.bg-qs-valor-icone { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 14px; border-radius: 50%; background: var(--bg-roxo-claro); color: var(--bg-roxo); }
.bg-qs-valor-icone svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.bg-texto .bg-qs-valor h3 { margin: 0 0 6px; font-size: 18px; color: var(--bg-roxo); text-transform: uppercase; letter-spacing: .04em; }
.bg-texto .bg-qs-valor p { margin: 0; font-size: 15px; line-height: 1.55; }
@media (max-width: 1100px) { .bg-qs-valores-grade { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 860px) { .bg-qs-intro, .bg-qs-pv { grid-template-columns: 1fr; } .bg-texto .bg-qs-hex { margin-bottom: 42px; } }
@media (max-width: 600px) { .bg-qs-valores-grade { grid-template-columns: 1fr; } .bg-qs-hex-forma { width: 88px; } .bg-qs-hex-forma svg { width: 32px; height: 32px; } .bg-texto .bg-qs-hex strong { font-size: 11.5px; } }

/* ---------- Refino executivo (28/10/2026, referência: swissport.com) ---------- */
.bg-barra-acesso .bg-container { min-height: 32px; }
.bg-barra-acesso { font-size: 12.5px; }
.bg-rotulo { margin-bottom: 10px; font-size: 12px; }
.bg-cartao-foto { position: relative; display: block; aspect-ratio: 4 / 3.3; overflow: hidden; border-radius: var(--bg-raio-g); background: var(--bg-noite); color: #fff; text-decoration: none; isolation: isolate; }
.bg-cartao-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; z-index: -2; }
.bg-cartao-foto::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(28,11,43,0) 35%, rgba(28,11,43,.88) 100%); }
.bg-cartao-foto:hover img, .bg-cartao-foto:focus-visible img { transform: scale(1.05); }
.bg-cartao-foto-txt { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 24px; }
.bg-cartao-foto-txt strong { display: block; font: 600 clamp(20px, 1.9vw, 24px)/1.2 var(--bg-fonte-titulo); color: #fff; }
.bg-cartao-foto-txt span { display: block; margin-top: 4px; font-size: 14.5px; color: #E9E1F1; }
.bg-cartao-foto-txt em { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-style: normal; font-size: 13.5px; font-weight: 600; color: #fff; opacity: .9; }
.bg-cartao-foto-txt em::after { content: "→"; transition: transform .2s; }
.bg-cartao-foto:hover .bg-cartao-foto-txt em::after { transform: translateX(4px); }
.bg-cartao-foto:hover { color: #fff; }
.bg-home-rede .bg-mp { max-width: 560px; margin-left: auto; }
.bg-dividido .bg-video-local { max-width: 560px; margin-left: auto; }

/* ---------- Home: números, Ground Handling e prévia da galeria (29/10/2026) ---------- */
.bg-home-numeros ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.bg-home-numeros li { padding: 22px 20px; border-radius: var(--bg-raio-g); background: var(--bg-noite-2); border: 1px solid rgba(255,255,255,.08); border-top: 3px solid var(--bg-verde); }
.bg-home-numeros small { display: block; margin-bottom: 10px; font: 700 11.5px/1.3 var(--bg-fonte-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--bg-verde); }
.bg-home-numeros strong { display: block; margin-bottom: 6px; font: 700 clamp(26px, 2.4vw, 32px)/1.1 var(--bg-fonte-titulo); color: #fff; letter-spacing: -.01em; }
.bg-home-numeros span { display: block; font-size: 14px; line-height: 1.45; color: #CFC3DA; }
@media (max-width: 991px) { .bg-home-numeros ul { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px) { .bg-home-numeros li { padding: 18px 16px; } .bg-home-numeros strong { font-size: 24px; } }
.bg-home-gh { grid-template-columns: 1.05fr 1fr; }
.bg-home-gh .bg-dividido-foto::after { right: auto; left: -14px; }
.bg-home-galeria-topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.bg-home-galeria-topo .bg-cabeca { margin-bottom: 0; }
.bg-home-galeria-topo .bg-link-seta { flex: none; margin-bottom: 6px; }
.bg-home-galeria { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bg-home-galeria figure { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--bg-raio-g); background: var(--bg-fundo-2); }
.bg-home-galeria figure a { display: block; height: 100%; cursor: zoom-in; }
.bg-home-galeria img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.bg-home-galeria figure a:hover img { transform: scale(1.05); }
@media (max-width: 760px) {
	.bg-home-galeria { grid-template-columns: 1fr 1fr; gap: 10px; }
	.bg-home-galeria-topo { flex-direction: column; align-items: flex-start; }
}

/* Abertura da Home ocupa a primeira tela inteira no computador (barra de acesso 32 px + cabeçalho):
   a seção seguinte não aparece cortada embaixo. */
@media (min-width: 992px) {
	.bg-abertura-slide { min-height: clamp(480px, calc(100svh - var(--bg-topo-altura) - 32px), 820px); }
}

/* ---------- Notebook (tela larga e baixa, 29/10/2026) ----------
   Notebooks de 13" a 15" mostram ~1280–1536 px de largura com só ~650–750 px de altura útil:
   abertura, faixas de título e respiro das seções encolhem para cada bloco caber numa tela. */
@media (min-width: 992px) and (max-height: 860px) {
	:root { --bg-secao: 56px; }
	.bg-abertura-slide { padding: 56px 0 64px; }
	.bg-faixa-titulo.bg-com-foto { padding: 48px 0 36px; }
	.bg-faixa-selos { margin-top: 22px; }
	.bg-faixa-selos li { padding-top: 12px; }
	.bg-faixa-botoes { margin-top: 22px; }
	.bg-cabeca { margin-bottom: 24px; }
	.bg-home-rede .bg-mp-svg { max-height: 370px; }
	.bg-cartao-foto { aspect-ratio: 4 / 3; }
	.bg-checklist li { padding: 6px 0 6px 32px; }
	.bg-checklist li::before { top: 11px; }
	.bg-servico-lado { padding: 40px 0; }
}
/* ---------- Painel do menu com a identidade da marca (28/10/2026): menos branco, com hierarquia ---------- */
.bg-sub.bg-mega { padding: 24px 0 28px; background: linear-gradient(180deg, #F7F4FA 0%, #EFE8F5 100%); border: 0; box-shadow: 0 24px 40px rgba(28, 11, 43, .2); }
.bg-sub.bg-mega::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--bg-verde) 0 33%, var(--bg-roxo) 33% 100%); }
.bg-mega-grade { gap: 20px; align-items: start; }
.bg-mega-intro { position: relative; overflow: hidden; padding: 26px 24px; border: 0; border-radius: var(--bg-raio-g); background: var(--bg-noite); color: #fff; isolation: isolate; }
.bg-mega-intro::after { content: ""; position: absolute; z-index: -1; right: -18px; bottom: -18px; width: 72px; height: 72px; background: repeating-linear-gradient(115deg, rgba(17,222,59,.5) 0 6px, transparent 6px 14px); opacity: .45; }
.bg-mega-intro .bg-mega-titulo { font-size: 20px; color: #fff; }
.bg-mega-intro p { padding-right: 0; font-size: 14.5px; color: #CFC3DA; }
.bg-sub.bg-mega .bg-mega-intro a.bg-link-seta { color: var(--bg-verde); font-size: 14.5px; font-weight: 600; white-space: nowrap; }
.bg-sub.bg-mega .bg-mega-intro a.bg-link-seta:hover { color: #fff; }
.bg-mega-grupos { gap: 14px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); align-items: start; }
.bg-mega-grupo { padding: 16px 16px 10px; background: #fff; border: 1px solid #E7DFEF; border-radius: var(--bg-raio-g); box-shadow: 0 1px 2px rgba(34, 26, 44, .05); }
.bg-mega .bg-mega-g { margin: 0 0 8px; padding: 0 0 10px; border-bottom: 2px solid var(--bg-roxo-claro); font-size: 12.5px; }
.bg-mega li a, .bg-mega li span { margin: 0 -8px; padding: 7px 8px; border-radius: 6px; font-size: 14.5px; }
.bg-mega li a:hover, .bg-mega li a[aria-current] { background: var(--bg-roxo-claro); color: var(--bg-roxo); text-decoration: none; }
.bg-sub.bg-mega a.bg-mega-destaque { background: #fff; border: 1px solid #E7DFEF; }
.bg-sub.bg-mega a.bg-mega-destaque:hover { background: #fff; border-color: var(--bg-roxo); }
.bg-menu > ul > li > .bg-sub-botao[aria-expanded="true"] { background: var(--bg-roxo); color: #fff; }
@media (max-width: 1023px) {
	.bg-sub.bg-mega { padding: 0 0 14px; background: none; box-shadow: none; }
	.bg-sub.bg-mega::before, .bg-mega-intro::after { display: none; }
	.bg-mega-intro { padding: 0; background: none; color: inherit; }
	.bg-sub.bg-mega .bg-mega-intro a.bg-link-seta { color: var(--bg-roxo); }
	.bg-mega-grupo { padding: 0; background: none; border: 0; box-shadow: none; }
	.bg-menu > ul > li > .bg-sub-botao[aria-expanded="true"] { background: none; color: var(--bg-roxo); }
}

/* ---------- Painel do menu no computador (29/10/2026): um bloco branco só, colunas com divisória fina
   e tudo na mesma altura, no lugar das caixinhas soltas de alturas diferentes. ---------- */
@media (min-width: 1024px) {
	.bg-sub.bg-mega { padding: 0; background: #fff; box-shadow: 0 28px 48px rgba(28, 11, 43, .22); }
	.bg-mega-grade { grid-template-columns: 250px minmax(0, 1fr) 280px; gap: 0; align-items: stretch; padding-top: 28px; padding-bottom: 28px; }
	.bg-mega-intro { display: flex; flex-direction: column; padding: 24px 22px; }
	.bg-mega-intro .bg-link-seta { margin-top: auto; }
	/* subgrid: os títulos dos grupos dividem a mesma linha, então as listas começam na mesma altura */
	.bg-mega-grupos { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 0; padding: 4px 0; }
	.bg-mega-grupo { display: grid; grid-row: span 2; grid-template-rows: subgrid; align-content: start; min-width: 0; padding: 0 26px; background: none; border: 0; border-left: 1px solid var(--bg-borda); border-radius: 0; box-shadow: none; }
	.bg-mega-grupo:first-child { border-left: 0; }
	.bg-mega-grupo ul { align-content: start; }
	.bg-mega .bg-mega-g { margin: 0 0 10px; padding: 0 0 10px; border-bottom: 2px solid var(--bg-verde); font-size: 12px; letter-spacing: .08em; }
	.bg-mega li a, .bg-mega li span { margin: 0 -10px; padding: 7px 10px; font-size: 14.5px; line-height: 1.35; }
	.bg-sub.bg-mega a.bg-mega-destaque { display: flex; flex-direction: column; margin-left: 4px; background: var(--bg-fundo-2); border: 0; }
	.bg-sub.bg-mega a.bg-mega-destaque:hover { background: var(--bg-roxo-claro); }
	.bg-mega-destaque img { aspect-ratio: 16 / 10; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.bg-mega-grade { grid-template-columns: 220px minmax(0, 1fr); }
	.bg-sub.bg-mega a.bg-mega-destaque { display: none; }
	.bg-mega-grupo { padding: 0 18px; }
}

/* ---------- Menu do celular e tablet (28/10/2026): hierarquia, cores da marca e telefone ---------- */
.bg-menu-tel { display: none; }
@media (max-width: 1023px) {
	.bg-menu { gap: 14px; padding: 0 var(--bg-gutter) calc(28px + env(safe-area-inset-bottom)); border-top: 0; box-shadow: inset 0 3px 0 0 transparent; background: linear-gradient(90deg, var(--bg-verde) 0 33%, var(--bg-roxo) 33% 100%) top / 100% 3px no-repeat, #fff; }
	.bg-menu > ul { padding-top: 6px; }
	.bg-menu > ul > li { border-bottom: 1px solid var(--bg-borda); }
	.bg-menu > ul > li > a, .bg-sub-botao { padding: 16px 2px; font: 600 17px/1.25 var(--bg-fonte-titulo); color: var(--bg-titulo); }
	.bg-sub-botao svg { box-sizing: content-box; width: 10px; height: 10px; padding: 7px; border-radius: 50%; background: var(--bg-roxo-claro); color: var(--bg-roxo); }
	.bg-menu > ul > li > .bg-sub-botao[aria-expanded="true"] { color: var(--bg-roxo); }
	.bg-menu > ul > li > .bg-sub-botao[aria-expanded="true"] svg { background: var(--bg-roxo); color: #fff; }
	.bg-sub.bg-mega { margin: 0 0 14px; padding: 14px 16px 6px; background: #F7F4FA; border: 1px solid #ECE4F3; border-radius: var(--bg-raio-g); }
	.bg-sub.bg-mega .bg-mega-intro a.bg-link-seta { display: flex; justify-content: space-between; margin: 0 0 10px; padding: 0 0 12px; border-bottom: 1px solid #E4D9EE; color: var(--bg-roxo); font-size: 15px; white-space: normal; }
	.bg-sub.bg-mega a.bg-mega-destaque { display: none; }
	.bg-mega-grupos { gap: 6px; }
	.bg-mega .bg-mega-g { margin: 8px 0 2px; padding: 0; border: 0; font-size: 11.5px; color: var(--bg-roxo); }
	.bg-mega li a, .bg-mega li span { margin: 0; padding: 10px 0; border-radius: 0; border-bottom: 1px solid #ECE4F3; font-size: 15px; color: var(--bg-texto); }
	.bg-mega li:last-child a, .bg-mega li:last-child span { border-bottom: 0; }
	.bg-mega li a:hover, .bg-mega li a[aria-current] { background: none; color: var(--bg-roxo); }
	.bg-topo-cta { margin-top: 6px; }
	.bg-menu-acesso a { padding: 11px; font-size: 15px; }
	.bg-menu-tel { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: var(--bg-raio-g); background: var(--bg-noite); color: #fff; text-decoration: none; }
	.bg-menu-tel:hover { color: #fff; }
	.bg-menu-tel svg { flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: var(--bg-verde); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
	.bg-menu-tel span { display: grid; gap: 1px; }
	.bg-menu-tel small { font-size: 12px; color: #CFC3DA; }
	.bg-menu-tel strong { font: 700 18px/1.25 var(--bg-fonte-titulo); color: #fff; }
}
/* Cartões de serviço da Home: 3 colunas no tablet (sem o terceiro sozinho) e mais baixos no celular. */
@media (min-width: 700px) and (max-width: 991px) { .bg-grade-3:has(> .bg-cartao-foto) { grid-template-columns: repeat(3, 1fr); gap: 14px; } .bg-cartao-foto { aspect-ratio: 3 / 4; } .bg-cartao-foto-txt { padding: 16px; } }
@media (max-width: 699px) { .bg-cartao-foto { aspect-ratio: 16 / 11; } }
/* Quem Somos no celular: cartões de propósito e visão com texto menor. */
@media (max-width: 600px) { .bg-texto .bg-qs-cartao p { font-size: 16px; } .bg-qs-cartao { padding: 22px 20px; } }

/* Referências regulatórias da manutenção: conteúdo legível, em sequência com os serviços. */
.bg-regulacao { margin: 0 0 var(--bg-secao); padding: clamp(22px, 3.5vw, 36px); border: 1px solid var(--bg-borda); border-radius: var(--bg-raio-g); background: var(--bg-fundo-2); }
.bg-regulacao-cabeca { max-width: 820px; margin-bottom: 22px; }
.bg-regulacao-cabeca .bg-rotulo { display: block; margin-bottom: 8px; }
.bg-regulacao-cabeca h2 { margin: 0 0 10px; }
.bg-regulacao-cabeca p, .bg-regulacao-card p { margin: 0; color: var(--bg-texto-2); line-height: 1.65; }
.bg-regulacao-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.bg-regulacao-card { padding: 20px; border: 1px solid var(--bg-borda); border-radius: var(--bg-raio); background: #fff; }
.bg-regulacao-card h3 { margin: 0 0 9px; font-size: 17px; }
.bg-regulacao-card p { font-size: 14.5px; }
.bg-regulacao-card .bg-regulacao-detalhe { margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--bg-borda); font-size: 13.5px; }
.bg-regulacao-valores { margin: 12px 0 0; padding: 0; list-style: none; }
.bg-regulacao-valores li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 10px; padding: 9px 0; border-top: 1px solid var(--bg-borda); }
.bg-regulacao-valores span { color: var(--bg-texto-2); font-size: 13.5px; line-height: 1.4; }
.bg-regulacao-valores strong { color: var(--bg-roxo); font-size: 13.5px; line-height: 1.4; text-align: right; white-space: nowrap; }
.bg-regulacao-nota { margin: 18px 0 12px; padding-left: 14px; border-left: 3px solid var(--bg-verde); color: var(--bg-texto-2); font-size: 14px; line-height: 1.6; }
.bg-regulacao-fontes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; font-size: 14px; }
.bg-regulacao-fontes a { color: var(--bg-roxo); font-weight: 600; text-underline-offset: 3px; }
@media (max-width: 760px) { .bg-regulacao-grade { grid-template-columns: 1fr; gap: 10px; } .bg-regulacao-card { padding: 17px; } .bg-regulacao-valores li { gap: 6px; } .bg-regulacao-valores span, .bg-regulacao-valores strong { font-size: 12.5px; } }
@media (max-width: 420px) { .bg-regulacao { padding: 20px 16px; } .bg-regulacao-fontes { align-items: flex-start; flex-direction: column; gap: 10px; } }
.bg-parceria-operacional { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); align-items: center; gap: clamp(24px, 4vw, 48px); margin: 0 0 var(--bg-secao); padding: clamp(24px, 4vw, 40px); border-radius: var(--bg-raio-g); background: var(--bg-noite); color: #fff; }
.bg-parceria-operacional .bg-rotulo { display: block; margin-bottom: 9px; color: var(--bg-verde); }
.bg-parceria-operacional h2 { margin: 0 0 12px; color: #fff; }
.bg-parceria-operacional p { max-width: 700px; margin: 0; color: #E9E1F1; line-height: 1.65; }
.bg-parceria-operacional ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.bg-parceria-operacional li { position: relative; padding: 0 0 10px 24px; border-bottom: 1px solid rgba(255,255,255,.16); color: #fff; font-size: 14.5px; line-height: 1.45; }
.bg-parceria-operacional li:last-child { padding-bottom: 0; border-bottom: 0; }
.bg-parceria-operacional li::before { position: absolute; top: .15em; left: 0; color: var(--bg-verde); content: "✓"; font-weight: 700; }
@media (max-width: 760px) { .bg-parceria-operacional { grid-template-columns: 1fr; gap: 20px; } }
@media (max-width: 420px) { .bg-parceria-operacional { padding: 22px 18px; } }
