/*
Theme Name: Twenty Twenty - SOLOBRASID
Theme URI: https://solobrasid.com/
Description: Tema filho Twenty Twenty otimizado para a identidade SOLOBRASID, com cobertura total padronizada nos posts.
Author: SOLOBRASID
Template: twentytwenty
Version: 3.0.0
Text Domain: twentytwenty-child
*/

:root {
	--sb-black: #0b0d0e;
	--sb-charcoal: #171a1c;
	--sb-text: #24282a;
	--sb-muted: #657074;
	--sb-line: #e4e8e9;
	--sb-light: #f5f7f7;
	--sb-white: #ffffff;
	--sb-cyan: #00e5ee;
	--sb-cyan-dark: #008f96;
	--sb-teal: #66cdd0;
	--sb-content: 1040px;
	--sb-shell: 1320px;
}

html { scroll-behavior: smooth; }
body {
	margin: 0;
	color: var(--sb-text);
	background: var(--sb-white);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif !important;
	font-size: 17px;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
}
body, button, input, select, textarea { letter-spacing: 0; }
h1, h2, h3, h4, h5, h6 {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif !important;
	color: var(--sb-black);
	font-weight: 750;
	letter-spacing: -0.025em;
	line-height: 1.16;
}
a { color: var(--sb-cyan-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover, a:focus { color: var(--sb-black); }

/* Header */
.sb-site-header {
	position: relative;
	z-index: 100;
	width: 100%;
	background: rgba(255,255,255,.98);
	border-bottom: 1px solid var(--sb-line);
}
.sb-header-inner {
	max-width: var(--sb-shell);
	min-height: 84px;
	margin: 0 auto;
	padding: 0 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
}
.sb-brand { display: inline-flex; width: 225px; flex: 0 0 auto; }
.sb-brand img { display: block; width: 100%; height: auto; }
.sb-primary-nav { margin-left: auto; }
.sb-primary-menu, .sb-primary-menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.sb-primary-menu { display: flex; align-items: center; gap: 4px; }
.sb-primary-menu > li { position: relative; margin: 0; }
.sb-primary-menu > li > a {
	display: block;
	padding: 31px 13px;
	color: var(--sb-black) !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .035em;
	text-decoration: none;
	text-transform: uppercase;
}
.sb-primary-menu > li > a:hover,
.sb-primary-menu > li.current-menu-item > a,
.sb-primary-menu > li.current-menu-ancestor > a { color: var(--sb-cyan-dark) !important; }
.sb-primary-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 260px;
	padding: 10px;
	background: var(--sb-white);
	border: 1px solid var(--sb-line);
	box-shadow: 0 16px 40px rgba(0,0,0,.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: .18s ease;
}
.sb-primary-menu li:hover > .sub-menu,
.sb-primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.sb-primary-menu .sub-menu a {
	display: block;
	padding: 10px 12px;
	color: var(--sb-text) !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.sb-primary-menu .sub-menu a:hover { background: var(--sb-light); color: var(--sb-black) !important; }
.sb-menu-toggle { display: none; background: none; border: 0; padding: 10px; cursor: pointer; }
.sb-menu-toggle span:not(.screen-reader-text) { display: block; width: 25px; height: 2px; margin: 5px 0; background: var(--sb-light); }

/* Single post: cobertura única */
.sb-cover {
	position: relative;
	min-height: 660px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--sb-black);
}
.sb-cover-background {
	position: absolute;
	inset: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: var(--sb-white);
}
.sb-cover-overlay { position: absolute; inset: 0; background: rgba(255,255,255,.50); }
.sb-cover-inner {
	position: relative;
	z-index: 2;
	width: min(100% - 56px, var(--sb-shell));
	margin: 0 auto;
	padding: 110px 0 86px;
}
.sb-cover-kicker {
	display: inline-flex;
	align-items: center;
	margin-bottom: 20px;
	padding: 8px 14px;
	background: var(--sb-teal);
	border-radius: 999px;
	color: var(--sb-black);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .055em;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.sb-cover-kicker a { color: var(--sb-black) !important; font-weight: 800; text-decoration: none; }
.sb-cover-title {
	max-width: 1000px;
	margin: 0;
	color: var(--sb-black) !important;
	font-size: clamp(40px, 4.6vw, 64px);
	font-weight: 800;
	letter-spacing: -.035em;
	text-wrap: balance;
}
.sb-content-wrap { width: min(100% - 48px, var(--sb-content)); margin: 0 auto; padding: 72px 0 88px; }
.sb-entry-content { max-width: none !important; width: 100%; margin: 0 !important; font-size: 18px; }
.sb-entry-content > * { max-width: 100% !important; }
.sb-entry-content p { margin: 0 0 1.45em; }
.sb-entry-content h2 { margin: 2.2em 0 .72em; font-size: clamp(28px, 3vw, 38px); }
.sb-entry-content h3 { margin: 1.9em 0 .65em; font-size: clamp(23px, 2.4vw, 30px); }
.sb-entry-content h4 { font-size: 21px; }
.sb-entry-content ul, .sb-entry-content ol { margin-bottom: 1.6em; }
.sb-entry-content img { max-width: 100%; height: auto; border-radius: 3px; }
.sb-entry-content table { width: 100%; border-collapse: collapse; font-size: 16px; }
.sb-entry-content th, .sb-entry-content td { padding: 13px 15px; border: 1px solid var(--sb-line); }
.sb-entry-content th { background: var(--sb-light); font-weight: 750; }
.sb-entry-content blockquote { margin: 2em 0; padding: 8px 0 8px 24px; border-left: 4px solid var(--sb-cyan); color: #41494c; }

/* Remove elementos redundantes do Twenty Twenty nos posts */
.sb-single-post .post-meta-single,
.sb-single-post .post-meta-edit-link-wrapper,
.sb-single-post .pagination-single,
.sb-single-post .entry-categories-inner { display: none !important; }

/* Footer */
.sb-site-footer {
	background: #000000;
	color: #ffffff;
	border-top: 4px solid var(--sb-teal);
}
.sb-footer-main {
	max-width: var(--sb-shell);
	margin: 0 auto;
	padding: 64px 28px 48px;
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr 1fr;
	gap: 48px;
}
.sb-footer-brand img { width: 220px; height: auto; filter: brightness(0) invert(1); opacity: .94; }
.sb-footer-brand p { max-width: 330px; margin: 22px 0 0; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.7; }
.sb-footer-col h2 {
	margin: 0 0 20px;
	padding-bottom: 10px;
	color: var(--sb-white);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	border-bottom: 2px solid var(--sb-teal);
}
.sb-footer-menu { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.sb-footer-menu li {
	margin: 0 0 7px !important;
	color: rgba(255,255,255,.74);
	font-size: 14px;
}
.sb-footer-menu a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 0;
	color: #ffffff !important;
	font-weight: 700;
	line-height: 1.45;
	text-decoration: none;
	transition: color .18s ease, transform .18s ease;
}
.sb-footer-menu a::before {
	content: "";
	width: 7px;
	height: 7px;
	flex: 0 0 7px;
	border-radius: 50%;
	background: var(--sb-teal);
	transition: transform .18s ease, background-color .18s ease;
}
.sb-footer-menu a:hover,
.sb-footer-menu a:focus {
	color: var(--sb-teal) !important;
	transform: translateX(3px);
}
.sb-footer-menu a:hover::before,
.sb-footer-menu a:focus::before { transform: scale(1.25); }
.sb-footer-menu a:focus-visible {
	outline: 2px solid var(--sb-teal);
	outline-offset: 4px;
	border-radius: 2px;
}
.sb-footer-bottom {
	border-top: 1px solid rgba(255,255,255,.16);
	padding: 24px 28px;
	text-align: center;
	background: #000000;
}
.sb-footer-bottom p { margin: 0; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.6; }

/* Twenty Twenty/home compatibility */
.header-titles .site-description { display: none; }
.home-custom-full .entry-header { display: none !important; }

@media (min-width: 1200px) {
	.sb-cover { min-height: 720px; }
	.sb-cover-background {
		inset: 0;
		background-size: cover;
		background-position: center center;
	}
	.sb-cover-inner { padding: 150px 0 104px; }
}

@media (max-width: 1000px) {
	.sb-header-inner { min-height: 72px; }
	.sb-brand { width: 190px; }
	.sb-menu-toggle { display: block; }
	.sb-primary-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; margin: 0; padding: 8px 20px 20px; background: var(--sb-white); border-bottom: 1px solid var(--sb-line); box-shadow: 0 12px 22px rgba(0,0,0,.08); }
	.sb-primary-nav.is-open { display: block; }
	.sb-primary-menu { display: block; }
	.sb-primary-menu > li > a { padding: 12px 8px; }
	.sb-primary-menu .sub-menu { position: static; min-width: 0; margin-left: 14px; padding: 0 0 6px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
	.sb-footer-main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
	body { font-size: 16px; }
	.sb-header-inner { padding: 0 18px; }
	.sb-brand { width: 170px; }
	.sb-cover { min-height: 460px; }
	.sb-cover-inner { width: min(100% - 36px, var(--sb-shell)); padding: 72px 0 52px; }
	.sb-cover-title { font-size: clamp(34px, 10vw, 48px); }
	.sb-content-wrap { width: min(100% - 36px, var(--sb-content)); padding: 52px 0 64px; }
	.sb-entry-content { font-size: 17px; line-height: 1.7; }
	.sb-footer-main { grid-template-columns: 1fr; gap: 34px; padding: 48px 20px 38px; }
	.sb-footer-bottom { padding: 20px; }
}

/* Footer SOLOBRASID — override definitivo do Twenty Twenty */
#site-footer.sb-site-footer,
body #site-footer.sb-site-footer,
body:not(.overlay-header) #site-footer.sb-site-footer {
	background: #000000 !important;
	background-color: #000000 !important;
	color: #ffffff !important;
}
#site-footer.sb-site-footer .sb-footer-main,
#site-footer.sb-site-footer .sb-footer-brand,
#site-footer.sb-site-footer .sb-footer-col,
#site-footer.sb-site-footer .sb-footer-bottom {
	background-color: #000000 !important;
	color: #ffffff !important;
}
#site-footer.sb-site-footer .sb-footer-col h2 {
	color: #ffffff !important;
}
#site-footer.sb-site-footer .sb-footer-menu,
#site-footer.sb-site-footer .sb-footer-menu li,
#site-footer.sb-site-footer .sb-footer-menu a,
#site-footer.sb-site-footer .sb-footer-menu a:visited {
	color: #ffffff !important;
}
#site-footer.sb-site-footer .sb-footer-menu a:hover,
#site-footer.sb-site-footer .sb-footer-menu a:focus {
	color: var(--sb-teal) !important;
}
#site-footer.sb-site-footer .sb-footer-brand p {
	color: rgba(255,255,255,.82) !important;
}
#site-footer.sb-site-footer .sb-footer-bottom p {
	color: rgba(255,255,255,.74) !important;
}

/* =========================================================
   SOLOBRASID UI POLISH — inspirado em interfaces premium,
   com microinterações leves e sem dependências externas.
   ========================================================= */

::selection {
	background: var(--sb-teal);
	color: var(--sb-black);
}

/* Cabeçalho com profundidade sutil e comportamento premium */
.sb-site-header {
	position: sticky;
	top: 0;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 1px 0 rgba(0,0,0,.05);
	transition: box-shadow .25s ease, background-color .25s ease;
}
.sb-brand img {
	transition: transform .28s ease, opacity .28s ease;
}
.sb-brand:hover img,
.sb-brand:focus-visible img {
	transform: translateY(-1px) scale(1.015);
	opacity: .92;
}
.sb-primary-menu > li > a {
	position: relative;
	transition: color .22s ease;
}
.sb-primary-menu > li > a::after {
	content: "";
	position: absolute;
	left: 13px;
	right: 13px;
	bottom: 22px;
	height: 2px;
	background: var(--sb-teal);
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .25s ease;
}
.sb-primary-menu > li > a:hover::after,
.sb-primary-menu > li.current-menu-item > a::after,
.sb-primary-menu > li.current-menu-ancestor > a::after {
	transform: scaleX(1);
	transform-origin: left center;
}

/* Dropdown com entrada mais elegante */
.sb-primary-menu .sub-menu {
	border-radius: 10px;
	box-shadow: 0 22px 55px rgba(0,0,0,.14);
	transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.sb-primary-menu .sub-menu a {
	border-radius: 7px;
	transition: background-color .2s ease, color .2s ease, padding-left .2s ease;
}
.sb-primary-menu .sub-menu a:hover {
	padding-left: 16px;
	background: rgba(102,205,208,.16);
}

/* Hero: efeito Ken Burns contínuo, independente de hover */
.sb-cover-background {
	transform: scale(1.035) translate3d(0, 0, 0);
	transform-origin: center center;
	will-change: transform;
	animation: sb-cover-kenburns 18s ease-in-out infinite alternate;
}
@keyframes sb-cover-kenburns {
	0% { transform: scale(1.035) translate3d(-0.6%, -0.25%, 0); }
	50% { transform: scale(1.075) translate3d(0.35%, 0.2%, 0); }
	100% { transform: scale(1.115) translate3d(0.75%, -0.15%, 0); }
}
.sb-cover::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--sb-teal), transparent);
	opacity: .9;
	z-index: 3;
}
.sb-cover-kicker {
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 8px 24px rgba(0,0,0,.10);
	transition: transform .22s ease, box-shadow .22s ease;
}
.sb-cover-kicker:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0,0,0,.14);
}
.sb-cover-title {
	text-shadow: 0 1px 0 rgba(255,255,255,.35);
}


/* Revelação editorial no scroll: subtítulos e parágrafos selecionados */
.sb-entry-content .sb-reveal {
	opacity: 0;
	transform: translate3d(-46px, 0, 0);
	transition:
		opacity .72s cubic-bezier(.2,.7,.2,1) var(--sb-reveal-delay, 0ms),
		transform .82s cubic-bezier(.2,.7,.2,1) var(--sb-reveal-delay, 0ms);
	will-change: opacity, transform;
}
.sb-entry-content .sb-reveal.sb-reveal-paragraph {
	transform: translate3d(-30px, 0, 0);
}
.sb-entry-content .sb-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* Conteúdo editorial */
.sb-entry-content h2,
.sb-entry-content h3 {
	position: relative;
}
.sb-entry-content h2::after {
	content: "";
	display: block;
	width: 58px;
	height: 3px;
	margin-top: 14px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--sb-teal), var(--sb-cyan-dark));
}

.sb-entry-content a:not(.wp-block-button__link) {
	background-image: linear-gradient(var(--sb-teal), var(--sb-teal));
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 1px;
	transition: background-size .2s ease, color .2s ease;
	text-decoration: none;
}
.sb-entry-content a:not(.wp-block-button__link):hover {
	background-size: 100% 3px;
	color: var(--sb-black);
}

/* Imagens do conteúdo com acabamento de card premium */
.sb-entry-content figure,
.sb-entry-content .wp-block-image {
	overflow: hidden;
	border-radius: 12px;
}
.sb-entry-content figure img,
.sb-entry-content .wp-block-image img {
	transition: transform .45s cubic-bezier(.2,.6,.2,1), box-shadow .25s ease;
}
.sb-entry-content figure:hover img,
.sb-entry-content .wp-block-image:hover img {
	transform: scale(1.018);
}

/* Botões Gutenberg / CTAs */
.sb-entry-content .wp-block-button__link,
.sb-entry-content .wp-element-button {
	position: relative;
	overflow: hidden;
	border-radius: 999px !important;
	border: 1px solid var(--sb-black) !important;
	background: var(--sb-black) !important;
	color: var(--sb-white) !important;
	font-weight: 800;
	letter-spacing: .01em;
	box-shadow: 0 10px 28px rgba(0,0,0,.12);
	transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease;
}
.sb-entry-content .wp-block-button__link:hover,
.sb-entry-content .wp-element-button:hover {
	transform: translateY(-2px);
	background: var(--sb-teal) !important;
	color: var(--sb-black) !important;
	box-shadow: 0 16px 34px rgba(0,0,0,.16);
}

/* Tabelas mais sofisticadas para especificações técnicas */
.sb-entry-content table {
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 0 8px 30px rgba(0,0,0,.05);
}
.sb-entry-content tbody tr {
	transition: background-color .18s ease;
}
.sb-entry-content tbody tr:hover {
	background: rgba(102,205,208,.09);
}
.sb-entry-content th {
	background: var(--sb-black);
	color: var(--sb-white);
}

/* Blocos de citação / informação */
.sb-entry-content blockquote {
	position: relative;
	padding: 22px 24px 22px 28px;
	border-left: 4px solid var(--sb-teal);
	border-radius: 0 10px 10px 0;
	background: linear-gradient(90deg, rgba(102,205,208,.12), rgba(102,205,208,.025));
}

/* Rodapé com interação mais elegante */
.sb-footer-col h2 {
	position: relative;
	border-bottom-color: rgba(102,205,208,.35);
}
.sb-footer-col h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 54px;
	height: 2px;
	background: var(--sb-teal);
}
.sb-footer-menu a {
	transition: color .2s ease, transform .2s ease, text-shadow .2s ease;
}
.sb-footer-menu a:hover,
.sb-footer-menu a:focus {
	text-shadow: 0 0 18px rgba(102,205,208,.45);
}

/* Suavização das caixas genéricas do Gutenberg */
.sb-entry-content .wp-block-group.has-background,
.sb-entry-content .wp-block-columns.has-background,
.sb-entry-content .wp-block-cover {
	border-radius: 14px;
	overflow: hidden;
}

/* Performance e acessibilidade */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.sb-cover-background { animation: none !important; transform: scale(1.035) !important; }
	.sb-entry-content .sb-reveal { opacity: 1 !important; transform: none !important; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

@media (max-width: 782px) {
	.sb-site-header {
		position: relative;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	.sb-primary-menu > li > a::after { display: none; }
	.sb-cover-background { animation-duration: 20s; }
	.sb-entry-content figure:hover img,
	.sb-entry-content .wp-block-image:hover img { transform: none; }
}

/* =========================================================
   RODAPÉ CINEMÁTICO — movimento automático, leve e contínuo
   ========================================================= */
#site-footer.sb-site-footer {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
#site-footer.sb-site-footer::before {
	content: "";
	position: absolute;
	inset: -35% -12%;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 16% 48%, rgba(102,205,208,.16), transparent 24%),
		radial-gradient(circle at 84% 42%, rgba(102,205,208,.10), transparent 22%);
	filter: blur(6px);
	transform: translate3d(-2%,0,0) scale(1.02);
	animation: sb-footer-ambient 16s ease-in-out infinite alternate;
}
#site-footer.sb-site-footer::after {
	content: "";
	position: absolute;
	top: 0;
	left: -28%;
	width: 28%;
	height: 2px;
	z-index: 3;
	pointer-events: none;
	background: linear-gradient(90deg, transparent, var(--sb-teal), #fff, var(--sb-teal), transparent);
	box-shadow: 0 0 16px rgba(102,205,208,.68);
	animation: sb-footer-scan 7.5s cubic-bezier(.45,0,.2,1) infinite;
}
@keyframes sb-footer-ambient {
	0% { transform: translate3d(-2%, -1%, 0) scale(1.02); opacity: .72; }
	50% { transform: translate3d(2%, 1.5%, 0) scale(1.07); opacity: 1; }
	100% { transform: translate3d(4%, -1%, 0) scale(1.03); opacity: .78; }
}
@keyframes sb-footer-scan {
	0%, 8% { transform: translate3d(0,0,0); opacity: 0; }
	14% { opacity: 1; }
	72% { opacity: .95; }
	82%, 100% { transform: translate3d(460%,0,0); opacity: 0; }
}
#site-footer.sb-site-footer .sb-footer-main,
#site-footer.sb-site-footer .sb-footer-bottom {
	position: relative;
	z-index: 1;
}
#site-footer.sb-site-footer .sb-footer-brand,
#site-footer.sb-site-footer .sb-footer-col {
	opacity: 0;
	transform: translate3d(0, 34px, 0);
	transition:
		opacity .7s cubic-bezier(.2,.7,.2,1) var(--sb-footer-delay, 0ms),
		transform .8s cubic-bezier(.2,.7,.2,1) var(--sb-footer-delay, 0ms);
}
#site-footer.sb-site-footer.is-visible .sb-footer-brand,
#site-footer.sb-site-footer.is-visible .sb-footer-col {
	opacity: 1;
	transform: translate3d(0,0,0);
}
#site-footer.sb-site-footer .sb-footer-brand img {
	transition: transform .45s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}
#site-footer.sb-site-footer .sb-footer-brand a:hover img,
#site-footer.sb-site-footer .sb-footer-brand a:focus-visible img {
	transform: translateY(-3px) scale(1.025);
	filter: drop-shadow(0 9px 22px rgba(102,205,208,.18));
}
#site-footer.sb-site-footer .sb-footer-menu a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
#site-footer.sb-site-footer .sb-footer-menu a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 1px;
	background: var(--sb-teal);
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .25s ease;
}
#site-footer.sb-site-footer .sb-footer-menu a:hover::after,
#site-footer.sb-site-footer .sb-footer-menu a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left center;
}
#site-footer.sb-site-footer .sb-footer-bottom {
	border-top-color: rgba(255,255,255,.12) !important;
}

@media (max-width: 782px) {
	#site-footer.sb-site-footer::before {
		inset: -20% -45%;
		animation-duration: 20s;
	}
	#site-footer.sb-site-footer::after {
		width: 44%;
		animation-duration: 8.5s;
	}
}

@media (prefers-reduced-motion: reduce) {
	#site-footer.sb-site-footer::before,
	#site-footer.sb-site-footer::after { animation: none !important; }
	#site-footer.sb-site-footer .sb-footer-brand,
	#site-footer.sb-site-footer .sb-footer-col { opacity: 1 !important; transform: none !important; }
}


/* =========================================================
   COVER GALERIA v2.9 — slideshow cinematográfico
   ========================================================= */
.sb-cover-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	background: var(--sb-black);
}
.sb-cover-media .sb-cover-background {
	inset: -2.5%;
	opacity: 0;
	transform: scale(1.035) translate3d(0,0,0);
	transition: opacity 1.35s cubic-bezier(.4,0,.2,1);
	animation: none;
	will-change: opacity, transform;
}
.sb-cover-media .sb-cover-background.is-active {
	opacity: 1;
	z-index: 2;
	animation: sb-cover-gallery-kenburns 8.5s ease-out both;
}
.sb-cover-media .sb-cover-background:nth-child(even).is-active {
	animation-name: sb-cover-gallery-kenburns-alt;
}
@keyframes sb-cover-gallery-kenburns {
	0% { transform: scale(1.035) translate3d(-.5%, -.25%, 0); }
	100% { transform: scale(1.115) translate3d(.65%, .2%, 0); }
}
@keyframes sb-cover-gallery-kenburns-alt {
	0% { transform: scale(1.04) translate3d(.55%, -.15%, 0); }
	100% { transform: scale(1.12) translate3d(-.65%, .25%, 0); }
}
.sb-cover-overlay { z-index: 1; }
.sb-cover-inner { z-index: 3; }

/* Ícone de porta — somente navegação mobile */
.sb-menu-toggle {
	color: #000 !important;
	line-height: 0;
	border-radius: 10px;
	transition: background-color .2s ease, transform .2s ease;
}
.sb-menu-toggle .sb-door-icon {
	display: block;
	color: #000;
	stroke: currentColor;
}
.sb-menu-toggle:hover,
.sb-menu-toggle:focus-visible {
	background: rgba(102,205,208,.16);
	transform: translateY(-1px);
}
.sb-menu-toggle:focus-visible {
	outline: 2px solid var(--sb-teal);
	outline-offset: 3px;
}
.sb-menu-toggle span:not(.screen-reader-text) { display: none !important; }

@media (prefers-reduced-motion: reduce) {
	.sb-cover-media .sb-cover-background,
	.sb-cover-media .sb-cover-background.is-active {
		animation: none !important;
		transform: scale(1.035) !important;
		transition-duration: .01ms !important;
	}
}

/* =========================================================
   HOME MULTISITE SOLOBRASID v3.0
   ========================================================= */
.sb-home { overflow: hidden; background: #fff; }
.sb-home-shell { width: min(100% - 56px, var(--sb-shell)); margin-inline: auto; }
.sb-home-section { padding: clamp(82px, 8vw, 132px) 0; }
.sb-home-section-tag { display: inline-block; margin-bottom: 18px; color: var(--sb-cyan-dark); font-size: 12px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.sb-home-section h2 { margin: 0; font-size: clamp(36px, 4.2vw, 64px); line-height: 1.02; letter-spacing: -.045em; }
.sb-home-reveal { opacity: 0; transform: translate3d(-34px, 22px, 0); transition: opacity .8s cubic-bezier(.2,.7,.2,1) var(--sb-reveal-delay,0ms), transform .9s cubic-bezier(.2,.7,.2,1) var(--sb-reveal-delay,0ms); }
.sb-home-reveal.is-visible { opacity: 1; transform: translate3d(0,0,0); }

/* Hero cinematográfico */
.sb-home-hero { position: relative; min-height: min(900px, 88vh); display: flex; align-items: center; isolation: isolate; background: #060808; color: #fff; }
.sb-home-hero-media, .sb-home-hero-slide, .sb-home-hero-shade { position: absolute; inset: 0; }
.sb-home-hero-media { overflow: hidden; z-index: -3; }
.sb-home-hero-slide { background-size: cover; background-position: center; opacity: 0; transform: scale(1.03); transition: opacity 1.4s ease; }
.sb-home-hero-slide.is-active { opacity: 1; animation: sb-home-kenburns 7.2s ease-out both; }
.sb-home-hero-slide:nth-child(even).is-active { animation-name: sb-home-kenburns-alt; }
.sb-home-hero-fallback { background: radial-gradient(circle at 75% 20%, rgba(102,205,208,.25), transparent 32%), linear-gradient(135deg,#101617,#050606); }
@keyframes sb-home-kenburns { from{transform:scale(1.03) translate3d(-.5%,0,0)} to{transform:scale(1.12) translate3d(.7%,-.5%,0)} }
@keyframes sb-home-kenburns-alt { from{transform:scale(1.035) translate3d(.5%,-.2%,0)} to{transform:scale(1.125) translate3d(-.7%,.4%,0)} }
.sb-home-hero-shade { z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.56) 48%, rgba(0,0,0,.20) 75%, rgba(0,0,0,.34) 100%); }
.sb-home-hero-shade::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg,rgba(0,0,0,.08),transparent 55%,rgba(0,0,0,.5)); }
.sb-home-hero-inner { padding: 100px 0; }
.sb-home-eyebrow { margin: 0 0 22px; color: var(--sb-teal); font-size: 13px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.sb-home-title { max-width: 990px; margin: 0; color: #fff !important; font-size: clamp(52px, 7.1vw, 108px); font-weight: 850; line-height: .94; letter-spacing: -.058em; text-wrap: balance; }
.sb-home-lead { max-width: 760px; margin: 30px 0 0; color: rgba(255,255,255,.9); font-size: clamp(18px,1.6vw,24px); line-height: 1.55; }
.sb-home-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top: 38px; }
.sb-home-btn { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 24px; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:800; letter-spacing:.035em; text-decoration:none !important; transition:transform .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease; }
.sb-home-btn:hover { transform: translateY(-3px); }
.sb-home-btn-primary { background:var(--sb-teal); color:#000 !important; box-shadow:0 12px 34px rgba(102,205,208,.18); }
.sb-home-btn-primary:hover { background:#fff; color:#000 !important; box-shadow:0 16px 40px rgba(255,255,255,.16); }
.sb-home-btn-ghost { border-color:rgba(255,255,255,.5); color:#fff !important; background:rgba(0,0,0,.12); backdrop-filter:blur(7px); }
.sb-home-btn-ghost:hover { background:#fff; border-color:#fff; color:#000 !important; }
.sb-home-scroll { position:absolute; right:28px; bottom:30px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.75); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; writing-mode:vertical-rl; }
.sb-home-scroll span { display:block; width:1px; height:54px; background:linear-gradient(#fff,transparent); animation:sb-scroll-line 1.8s ease-in-out infinite; }
@keyframes sb-scroll-line { 0%,100%{transform:scaleY(.45);transform-origin:top} 50%{transform:scaleY(1)} }

/* Ticker */
.sb-home-ticker { overflow:hidden; background:#000; color:#fff; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.sb-home-ticker-track { width:max-content; display:flex; align-items:center; gap:28px; padding:18px 0; animation:sb-home-marquee 28s linear infinite; }
.sb-home-ticker span { font-size:12px; font-weight:850; letter-spacing:.12em; white-space:nowrap; }
.sb-home-ticker i { width:7px; height:7px; border-radius:50%; background:var(--sb-teal); box-shadow:0 0 16px rgba(102,205,208,.8); }
@keyframes sb-home-marquee { to{transform:translateX(-50%)} }

/* Intro */
.sb-home-intro { background:#fff; }
.sb-home-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:clamp(48px,8vw,130px); align-items:start; }
.sb-home-sticky-title { position:sticky; top:120px; }
.sb-home-copy { max-width:720px; }
.sb-home-copy p { margin:0 0 24px; color:#4d5659; font-size:18px; }
.sb-home-copy .sb-home-copy-lead { color:var(--sb-black); font-size:clamp(23px,2.2vw,31px); font-weight:650; line-height:1.42; letter-spacing:-.02em; }
.sb-home-text-link { display:inline-flex; align-items:center; gap:10px; margin-top:8px; color:#000 !important; font-size:14px; font-weight:850; text-decoration:none; border-bottom:1px solid #000; padding-bottom:4px; }
.sb-home-text-link span { transition:transform .2s ease; }
.sb-home-text-link:hover span { transform:translateX(5px); }

/* Produtos */
.sb-home-products { background:#0b0d0e; color:#fff; }
.sb-home-products h2 { color:#fff; }
.sb-home-section-head { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(260px,.55fr); gap:60px; align-items:end; margin-bottom:54px; }
.sb-home-section-head > p { margin:0; color:#697477; font-size:16px; }
.sb-home-products .sb-home-section-head > p { color:rgba(255,255,255,.58); }
.sb-home-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.sb-home-product-card { position:relative; min-height:430px; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:18px; color:#fff !important; text-decoration:none !important; background:#15191a; isolation:isolate; }
.sb-home-product-media,.sb-home-product-overlay { position:absolute; inset:0; }
.sb-home-product-media { z-index:-2; background-size:cover; background-position:center; transform:scale(1.03); transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .5s ease; filter:saturate(.8) contrast(1.05); }
.sb-home-product-overlay { z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.84) 88%); }
.sb-home-product-card::after { content:""; position:absolute; inset:0; border:1px solid transparent; border-radius:18px; transition:border-color .35s ease, box-shadow .35s ease; pointer-events:none; }
.sb-home-product-card:hover::after { border-color:rgba(102,205,208,.72); box-shadow:inset 0 0 0 1px rgba(102,205,208,.12),0 20px 70px rgba(0,0,0,.3); }
.sb-home-product-card:hover .sb-home-product-media { transform:scale(1.095); filter:saturate(1) contrast(1.06); }
.sb-home-product-content { position:absolute; inset:0; display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:end; padding:30px; }
.sb-home-card-index { align-self:start; color:var(--sb-teal); font-size:12px; font-weight:850; letter-spacing:.12em; }
.sb-home-product-content h3 { margin:0 0 10px; color:#fff; font-size:clamp(27px,3vw,42px); letter-spacing:-.035em; }
.sb-home-product-content p { max-width:620px; margin:0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.55; }
.sb-home-card-arrow { display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(255,255,255,.35); border-radius:50%; font-size:21px; transition:background .25s ease,color .25s ease,transform .25s ease; }
.sb-home-product-card:hover .sb-home-card-arrow { background:var(--sb-teal); color:#000; border-color:var(--sb-teal); transform:rotate(10deg) scale(1.05); }

/* Técnico */
.sb-home-tech { background:#f1f4f4; }
.sb-home-tech-heading { max-width:950px; margin-bottom:58px; }
.sb-home-tech-heading p { max-width:680px; margin:22px 0 0; color:#616b6e; font-size:18px; }
.sb-home-tech-list { border-top:1px solid #cfd6d7; }
.sb-home-tech-row { display:grid; grid-template-columns:70px minmax(180px,.65fr) minmax(0,1.35fr); gap:34px; padding:32px 0; border-bottom:1px solid #cfd6d7; align-items:start; transition:padding .25s ease,background .25s ease; }
.sb-home-tech-row:hover { padding-left:16px; padding-right:16px; background:rgba(255,255,255,.62); }
.sb-home-tech-number { color:var(--sb-cyan-dark); font-size:12px; font-weight:850; letter-spacing:.1em; }
.sb-home-tech-row h3 { margin:0; font-size:24px; }
.sb-home-tech-row p { margin:0; color:#586164; font-size:16px; }
.sb-home-tech-note { max-width:900px; margin:26px 0 0; color:#758083; font-size:13px; }

/* Cinematic */
.sb-home-cinematic { position:relative; min-height:680px; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; background:#000; }
.sb-home-cinematic-bg,.sb-home-cinematic-shade { position:absolute; inset:0; }
.sb-home-cinematic-bg { z-index:-2; background-image:var(--sb-cinematic-image); background-size:cover; background-position:center; animation:sb-cinematic-zoom 18s ease-in-out infinite alternate; }
@keyframes sb-cinematic-zoom { from{transform:scale(1.02) translate3d(-.5%,0,0)} to{transform:scale(1.12) translate3d(.8%,-.5%,0)} }
.sb-home-cinematic-shade { z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.82)); }
.sb-home-cinematic-content { padding:90px 0; }
.sb-home-cinematic-content h2 { max-width:920px; margin:0 0 34px; color:#fff; font-size:clamp(42px,6vw,82px); line-height:.98; }

/* Setores */
.sb-home-sector-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--sb-line); border-left:1px solid var(--sb-line); }
.sb-home-sector { min-height:135px; display:flex; align-items:flex-end; padding:24px; border-right:1px solid var(--sb-line); border-bottom:1px solid var(--sb-line); color:#171a1c; font-size:18px; font-weight:750; transition:background .25s ease,color .25s ease,transform .25s ease; }
.sb-home-sector:hover { background:#000; color:#fff; transform:translateY(-3px); }

/* Insights */
.sb-home-insights { background:#f6f8f8; }
.sb-home-insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.sb-home-insight-card { background:#fff; border:1px solid #e2e7e8; border-radius:16px; overflow:hidden; transition:transform .3s ease,box-shadow .3s ease; }
.sb-home-insight-card:hover { transform:translateY(-7px); box-shadow:0 22px 55px rgba(0,0,0,.09); }
.sb-home-insight-media { display:block; aspect-ratio:16/10; background:#dbe1e2 center/cover no-repeat; transition:transform .5s ease; }
.sb-home-insight-body { padding:25px; }
.sb-home-insight-body > span { color:var(--sb-cyan-dark); font-size:11px; font-weight:800; letter-spacing:.1em; }
.sb-home-insight-body h3 { margin:10px 0 12px; font-size:24px; }
.sb-home-insight-body h3 a { color:#111 !important; text-decoration:none; }
.sb-home-insight-body p { margin:0; color:#667174; font-size:14px; }

/* CTA */
.sb-home-cta { padding:clamp(72px,8vw,118px) 0; background:#000; color:#fff; }
.sb-home-cta-inner { display:flex; align-items:end; justify-content:space-between; gap:50px; }
.sb-home-cta h2 { max-width:850px; margin:0; color:#fff; font-size:clamp(40px,5.5vw,78px); line-height:.98; letter-spacing:-.045em; }

@media (max-width: 980px) {
  .sb-home-hero { min-height:760px; }
  .sb-home-intro-grid,.sb-home-section-head { grid-template-columns:1fr; gap:36px; }
  .sb-home-sticky-title { position:static; }
  .sb-home-product-grid { grid-template-columns:1fr; }
  .sb-home-tech-row { grid-template-columns:50px 1fr; }
  .sb-home-tech-row p { grid-column:2; }
  .sb-home-sector-grid { grid-template-columns:repeat(2,1fr); }
  .sb-home-insight-grid { grid-template-columns:1fr 1fr; }
  .sb-home-cta-inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 700px) {
  .sb-home-shell { width:min(100% - 36px,var(--sb-shell)); }
  .sb-home-section { padding:72px 0; }
  .sb-home-hero { min-height:680px; }
  .sb-home-hero-inner { padding:82px 0 110px; }
  .sb-home-title { font-size:clamp(44px,14vw,68px); }
  .sb-home-lead { font-size:18px; }
  .sb-home-scroll { display:none; }
  .sb-home-product-card { min-height:390px; }
  .sb-home-product-content { grid-template-columns:1fr auto; padding:23px; }
  .sb-home-card-index { grid-column:1 / -1; }
  .sb-home-product-content p { display:none; }
  .sb-home-tech-row { grid-template-columns:42px 1fr; gap:16px; }
  .sb-home-tech-row:hover { padding-left:0; padding-right:0; }
  .sb-home-cinematic { min-height:560px; }
  .sb-home-sector-grid { grid-template-columns:1fr; }
  .sb-home-sector { min-height:92px; }
  .sb-home-insight-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .sb-home-reveal { opacity:1 !important; transform:none !important; }
  .sb-home-hero-slide.is-active,.sb-home-cinematic-bg,.sb-home-ticker-track,.sb-home-scroll span { animation:none !important; }
}
