@font-face {
	font-family: "Roboto";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../webfonts/roboto-latin-variable.woff2") format("woff2");
}

:root {
	--primary: #5f9f33;
	--primary-accessible: #35651e;
	--secondary: #143b38;
	--primary-dark: #214e45;
	--primary-soft: #edf4e8;
	--color-text: #1c2b29;
	--color-muted: #64726f;
	--color-border: #dce5e1;
	--color-surface: #ffffff;
	--color-background: #f4f6f3;
	--color-success: #16a34a;
	--color-whatsapp: #25d366;
	--shadow-sm: 0 8px 24px rgba(20, 59, 56, 0.07);
	--shadow-md: 0 22px 58px rgba(20, 59, 56, 0.14);
	--radius-sm: 0.75rem;
	--radius-md: 1.125rem;
	--radius-lg: 1.75rem;
	--transition: 180ms ease;
	--site-header-height: 5.25rem;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	text-size-adjust: 100%;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

button,
input,
select,
textarea {
	font: inherit;
}

.container {
	width: min(100% - 2rem, 82.5rem);
	margin-inline: auto;
}

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body {
	margin: 0;
	background: var(--color-surface);
	color: var(--color-text);
	font-family: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

main {
	min-height: 45vh;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color var(--transition), background-color var(--transition), border-color var(--transition), transform var(--transition);
}

a:hover {
	color: var(--primary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--secondary);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

p:last-child {
	margin-bottom: 0;
}

:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--primary) 42%, transparent);
	outline-offset: 3px;
}

::selection {
	background: var(--primary);
	color: #fff;
}

.skip-link {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 1100;
	padding: 0.7rem 1rem;
	border-radius: 0.6rem;
	background: var(--secondary);
	color: #fff;
	transform: translateY(-150%);
}

.skip-link:focus {
	color: #fff;
	transform: translateY(0);
}

.section-tag,
.seo-hero__tag,
.faixa-page__tag {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 0.85rem;
	color: var(--primary-accessible);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.section-tag::before,
.seo-hero__tag::before,
.faixa-page__tag::before {
	width: 1.9rem;
	height: 2px;
	background: currentColor;
	content: "";
}

.section-heading {
	max-width: 46rem;
	margin-bottom: 2.25rem;
}

.section-heading h2,
.pagina-produtos__intro h2,
.pagina-informacoes__intro h2,
.contato-page__intro h2,
.mapa-site__intro h2,
.politica-page__intro h2,
.erro-404__intro h2 {
	margin-bottom: 0.85rem;
	font-size: clamp(1.8rem, 4vw, 2.65rem);
}

.section-heading p,
.pagina-produtos__intro p,
.pagina-informacoes__intro p,
.contato-page__intro p,
.mapa-site__intro p,
.politica-page__intro p,
.erro-404__intro p {
	max-width: 44rem;
	color: var(--color-muted);
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-height: 2.5rem;
	padding: .55rem .9rem;
	border: 1px solid transparent;
	border-radius: 0.7rem;
	background: transparent;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
}

.btn-primary {
	--bs-btn-bg: var(--primary-dark);
	--bs-btn-border-color: var(--primary-dark);
	--bs-btn-color: #fff;
	--bs-btn-hover-bg: var(--primary-dark);
	--bs-btn-hover-border-color: var(--primary-dark);
	background: var(--primary-dark);
	border-color: var(--primary-dark);
	color: #fff;
}

.btn-primary:hover { background: color-mix(in srgb, var(--primary-dark) 82%, #000); border-color: color-mix(in srgb, var(--primary-dark) 82%, #000); color: #fff; }

.btn-danger {
	--bs-btn-bg: var(--primary-dark);
	--bs-btn-border-color: var(--primary-dark);
	--bs-btn-color: #fff;
	--bs-btn-hover-bg: var(--primary-dark);
	--bs-btn-hover-border-color: var(--primary-dark);
	background: var(--primary-dark);
	border-color: var(--primary-dark);
	color: #fff;
}

.btn-secondary {
	--bs-btn-bg: var(--secondary);
	--bs-btn-border-color: var(--secondary);
	--bs-btn-hover-bg: color-mix(in srgb, var(--secondary) 82%, #000);
	--bs-btn-hover-border-color: color-mix(in srgb, var(--secondary) 82%, #000);
	background: var(--secondary);
	border-color: var(--secondary);
	color: #fff;
}

.btn-outline-primary {
	--bs-btn-color: var(--primary);
	--bs-btn-border-color: var(--primary);
	--bs-btn-hover-bg: var(--primary);
	--bs-btn-hover-border-color: var(--primary);
	border-color: var(--primary);
	color: var(--primary-dark);
}

.btn-outline-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }

.btn-outline-secondary {
	--bs-btn-color: var(--secondary);
	--bs-btn-border-color: var(--secondary);
	--bs-btn-hover-bg: var(--secondary);
	--bs-btn-hover-border-color: var(--secondary);
	border-color: var(--secondary);
	color: var(--secondary);
}

.btn-outline-secondary:hover { background: var(--secondary); border-color: var(--secondary); color: #fff; }

.btn-sm { min-height: 2rem; padding: .35rem .65rem; font-size: .875rem; }
.btn-lg { min-height: 3rem; padding: .75rem 1.15rem; font-size: 1.05rem; }
.w-100 { width: 100% !important; }
.d-flex { display: flex !important; }
.align-items-center { align-items: center !important; }
.justify-content-between { justify-content: space-between !important; }
.gap-1 { gap: .25rem !important; }
.gap-2 { gap: .5rem !important; }
.text-center { text-align: center !important; }
.text-decoration-none { text-decoration: none !important; }
.text-muted { color: var(--color-muted) !important; }
.bg-white { background: #fff !important; }
.border-top { border-top: 1px solid var(--color-border) !important; }
.align-middle { vertical-align: middle !important; }
.row { display: flex; flex-wrap: wrap; margin-inline: -.75rem; }
.row > * { width: 100%; padding-inline: .75rem; }
.col-12 { flex: 0 0 auto; width: 100%; }
.col-4 { flex: 0 0 auto; width: 33.333333%; }
@media (min-width: 768px) {
	.col-md-4 { flex: 0 0 auto; width: 33.333333%; }
	.col-md-6 { flex: 0 0 auto; width: 50%; }
}
@media (min-width: 992px) {
	.col-lg-4 { flex: 0 0 auto; width: 33.333333%; }
	.col-lg-8 { flex: 0 0 auto; width: 66.666667%; }
}
.alert { padding: .8rem 1rem; border: 1px solid transparent; border-radius: .5rem; }
.alert-danger { border-color: #f1aeb5; background: #f8d7da; color: #842029; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table { width: 100%; border-collapse: collapse; }
.table > :not(caption) > * > * { padding: .5rem; border-bottom: 1px solid var(--color-border); }

.text-primary {
	color: var(--primary) !important;
}

.text-secondary {
	color: var(--secondary) !important;
}

.bg-primary {
	background-color: var(--primary) !important;
}

.bg-secondary {
	background-color: var(--secondary) !important;
}

.border-primary {
	border-color: var(--primary) !important;
}

.border-secondary {
	border-color: var(--secondary) !important;
}

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1030;
	min-height: var(--site-header-height);
	border-bottom: 1px solid rgba(226, 232, 240, 0.8);
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(14px);
	transition: box-shadow var(--transition), min-height var(--transition);
}

.site-header.is-scrolled {
	box-shadow: 0 8px 32px rgba(15, 23, 42, 0.09);
}

.site-header__grid {
	display: grid;
	grid-template-columns: minmax(9rem, 13rem) 1fr auto;
	align-items: center;
	gap: 2rem;
	min-height: var(--site-header-height);
}

.site-header__brand {
	display: inline-flex;
	align-items: center;
	width: fit-content;
}

.site-header__brand img {
	display: block;
	width: auto;
	max-width: 10.5rem;
	height: 3.25rem;
	object-fit: contain;
}

.site-nav {
	justify-self: center;
}

.site-nav__list,
.site-nav__submenu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav__list {
	display: flex;
	align-items: center;
	gap: 0.2rem;
}

.site-nav__item {
	position: relative;
	display: flex;
	align-items: center;
}

.site-nav__link {
	display: inline-flex;
	align-items: center;
	padding: 0.8rem 0.7rem;
	color: var(--secondary);
	font-size: 0.9rem;
	font-weight: 600;
}

.site-nav__link:hover,
.site-nav__link.is-active,
.site-nav__link[aria-current="page"] {
	color: var(--primary);
}

.site-nav__submenu-button {
	display: grid;
	width: 1.8rem;
	height: 1.8rem;
	margin-left: -0.45rem;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--color-muted);
	font-size: 0.68rem;
	transition: background var(--transition), color var(--transition), transform var(--transition);
}

.site-nav__submenu-button[aria-expanded="true"] {
	color: var(--primary);
	transform: rotate(180deg);
}

.site-nav__submenu {
	position: absolute;
	top: calc(100% + 0.65rem);
	left: 0;
	width: min(20rem, 80vw);
	max-height: 24rem;
	padding: 0.65rem;
	overflow-y: auto;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	box-shadow: var(--shadow-md);
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.5rem);
	transition: opacity var(--transition), transform var(--transition);
}

.site-nav__submenu a {
	display: block;
	padding: 0.7rem 0.8rem;
	border-radius: 0.55rem;
	color: var(--color-text);
	font-size: 0.86rem;
}

.site-nav__submenu a:hover {
	background: var(--primary-soft);
	color: var(--primary);
}

.site-nav__item:hover > .site-nav__submenu,
.site-nav__item:focus-within > .site-nav__submenu,
.site-nav__item.is-open > .site-nav__submenu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.site-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.7rem;
}

.site-header__cta {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.78rem 1.05rem;
	border: 1px solid color-mix(in srgb, var(--color-whatsapp) 82%, #fff);
	border-radius: 0.45rem;
	background: linear-gradient(135deg, #25d366, #128c4b);
	box-shadow: 0 10px 24px color-mix(in srgb, var(--color-whatsapp) 26%, transparent);
	color: #fff;
	font-size: 0.84rem;
	font-weight: 700;
}

.site-header__cta::after,
.catalogo-card__button::after {
	position: absolute;
	top: -80%;
	left: -35%;
	width: 24%;
	height: 260%;
	background: rgba(255, 255, 255, 0.38);
	content: "";
	transform: rotate(24deg) translateX(-240%);
	transition: transform 550ms ease;
}

.site-header__cta:hover {
	background: linear-gradient(135deg, #20bd5a, #0f7b41);
	color: #fff;
	transform: translateY(-2px);
}

.site-header__cta:hover::after,
.catalogo-card__button:hover::after {
	transform: rotate(24deg) translateX(760%);
}

.site-header__menu-button {
	display: none;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	place-items: center;
	border: 1px solid var(--color-border);
	border-radius: 0.7rem;
	background: #fff;
	color: var(--secondary);
}

.whatsapp-fixed {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 1020;
	display: grid;
	width: 3.65rem;
	height: 3.65rem;
	place-items: center;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--color-whatsapp);
	box-shadow: 0 14px 30px rgba(37, 211, 102, 0.3);
	color: #fff;
	font-size: 1.65rem;
}

.whatsapp-fixed:hover {
	background: #1fb657;
	color: #fff;
	transform: translateY(-3px);
}

/* Mobile drawer */
.menu-drawer {
	position: fixed;
	inset: 0;
	z-index: 1080;
	overflow: hidden;
	visibility: hidden;
}

.menu-drawer.is-open {
	visibility: visible;
}

.menu-drawer__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: rgba(15, 23, 42, 0.58);
	opacity: 0;
	transition: opacity var(--transition);
}

.menu-drawer.is-open .menu-drawer__overlay {
	opacity: 1;
}

.menu-drawer__panel {
	position: absolute;
	top: 0.75rem;
	right: 0;
	width: min(25rem, 90vw);
	max-height: calc(100% - 1.5rem);
	padding: 1.25rem;
	overflow-y: auto;
	border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--color-border));
	border-radius: 1rem 0 0 1rem;
	background: #fff;
	box-shadow: var(--shadow-md);
	opacity: 0;
	transform: translateX(104%) scale(0.985);
	transition: opacity 200ms ease, transform 300ms cubic-bezier(.22, .8, .24, 1);
}

.menu-drawer.is-open .menu-drawer__panel {
	opacity: 1;
	transform: translateX(0) scale(1);
}

.menu-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-border);
}

.menu-drawer__head img {
	width: auto;
	height: 2.75rem;
	object-fit: contain;
}

.menu-drawer__head button {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--color-background);
	color: var(--secondary);
}

.menu-drawer__nav {
	padding-top: 0.9rem;
}

.menu-drawer__nav .site-nav__list,
.menu-drawer__nav .site-nav__item {
	display: block;
	margin-bottom: 0.5rem;
	border: 1px solid var(--color-border);
	border-radius: 0.55rem;
	background: var(--color-surface);
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.menu-drawer__nav .site-nav__item:hover,
.menu-drawer__nav .site-nav__item:focus-within,
.menu-drawer__nav .site-nav__item:has(.site-nav__link.is-active) {
	border-color: color-mix(in srgb, var(--primary) 55%, var(--color-border));
	box-shadow: 0 8px 20px color-mix(in srgb, var(--primary) 8%, transparent);
	transform: translateX(-3px);
}

.menu-drawer__nav .site-nav__link {
	width: calc(100% - 2.5rem);
	padding: 0.8rem 0.85rem;
}

.menu-drawer__nav .site-nav__submenu-button {
	position: absolute;
	top: 0.62rem;
	right: 0;
	width: 2.3rem;
	height: 2.3rem;
	border-radius: 0.4rem;
	background: var(--primary-soft);
	color: var(--primary);
}

.menu-drawer__nav .site-nav__submenu {
	position: static;
	display: none;
	width: 100%;
	max-height: none;
	margin: 0 0.55rem 0.55rem;
	width: calc(100% - 1.1rem);
	padding: 0.4rem;
	border: 0;
	background: var(--color-background);
	box-shadow: none;
	opacity: 1;
	pointer-events: auto;
	transform: none;
}

.menu-drawer__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	margin-top: 0.85rem;
	padding: 0.9rem 1rem;
	border-radius: 0.5rem;
	background: linear-gradient(135deg, #25d366, #128c4b);
	box-shadow: 0 10px 24px color-mix(in srgb, var(--color-whatsapp) 24%, transparent);
	color: #fff;
	font-weight: 800;
}

.menu-drawer__cta:hover { color: #fff; transform: translateY(-2px); }

.menu-drawer__nav .site-nav__item.is-open > .site-nav__submenu {
	display: block;
}

.mobile-contact-bar {
	display: none;
}

/* Footer */
.site-footer {
	padding: 4.75rem 0 1.25rem;
	background: var(--secondary);
	color: #cbd5e1;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: minmax(15rem, 1.5fr) repeat(2, minmax(9rem, 0.75fr)) minmax(14rem, 1fr);
	gap: 2.5rem;
}

.site-footer__brand {
	display: inline-flex;
	margin-bottom: 1.25rem;
	padding: 0.55rem 0.8rem;
	border-radius: 0.7rem;
	background: #fff;
}

.site-footer__brand img {
	width: auto;
	height: 2.6rem;
	object-fit: contain;
}

.site-footer__about p {
	max-width: 26rem;
	color: #94a3b8;
	font-size: 0.9rem;
}

.site-footer h2 {
	margin-bottom: 1.15rem;
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0;
}

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

.site-footer__nav li + li {
	margin-top: 0.55rem;
}

.site-footer__nav a {
	color: #94a3b8;
	font-size: 0.88rem;
}

.site-footer__nav a:hover {
	color: #fff;
}

.site-footer__contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.site-footer__contact > a,
.site-footer__contact > p {
	display: flex;
	gap: 0.7rem;
	margin: 0 0 0.8rem;
	color: #94a3b8;
	font-size: 0.86rem;
	word-break: break-word;
}

.site-footer__contact i {
	flex: 0 0 1rem;
	margin-top: 0.3rem;
	color: #60a5fa;
	text-align: center;
}

.site-footer__social {
	display: flex;
	gap: 0.6rem;
	margin-top: 1.25rem;
}

.site-footer__social a {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	border: 1px solid rgba(148, 163, 184, 0.22);
	border-radius: 50%;
	color: #cbd5e1;
}

.site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 3.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(148, 163, 184, 0.16);
	color: #94a3b8;
	font-size: 0.75rem;
}

.site-footer__bottom a {
	color: #94a3b8;
}

.site-footer__credit {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
}

.site-footer__credit img {
	width: auto;
	height: 3rem;
	padding: 0.15rem 0.35rem;
	border-radius: 0.4rem;
	object-fit: contain;
}

.site-footer__validators {
	display: flex;
	gap: 0.55rem;
}

.validator-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 7.4rem;
	padding: 0.42rem 0.62rem;
	border: 1px solid rgba(148, 163, 184, 0.24);
	border-radius: 0.55rem;
	background: rgba(255, 255, 255, 0.04);
	line-height: 1;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.validator-badge:hover {
	border-color: rgba(148, 163, 184, 0.55);
	background: rgba(255, 255, 255, 0.08);
	transform: translateY(-1px);
}

.validator-badge > i {
	font-size: 1.55rem;
}

.validator-badge--html > i {
	color: #f97316;
}

.validator-badge--css > i {
	color: #38bdf8;
}

.validator-badge span {
	display: grid;
	gap: 0.14rem;
}

.validator-badge strong {
	color: #e2e8f0;
	font-size: 0.7rem;
	letter-spacing: 0.04em;
}

.validator-badge small {
	color: #94a3b8;
	font-size: 0.52rem;
	letter-spacing: 0.02em;
}

/* Page header */
.faixa-page {
	position: relative;
	padding: 3.4rem 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--primary) 55%, transparent), transparent 30%),
		linear-gradient(135deg, var(--primary), var(--secondary));
	color: #cbd5e1;
}

.faixa-page__content {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
}

.faixa-page__tag {
	color: #fff;
}

.faixa-page h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(2rem, 5vw, 3.35rem);
}

.faixa-page__breadcrumb {
	max-width: 48%;
}

.breadcrumb {
	--bs-breadcrumb-divider-color: #94a3b8;
	--bs-breadcrumb-item-active-color: #cbd5e1;
	justify-content: flex-end;
	margin: 0;
	font-size: 0.82rem;
}

.breadcrumb a {
	color: #fff;
}

/* Home */
.home-hero {
	position: relative;
	padding: clamp(4.5rem, 9vw, 8rem) 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--primary) 20%, transparent), transparent 32%),
		linear-gradient(145deg, #f8fafc 0%, #eff6ff 50%, #fff 100%);
}

.home-hero::after {
	position: absolute;
	right: -10rem;
	bottom: -12rem;
	width: 32rem;
	height: 32rem;
	border: 4rem solid color-mix(in srgb, var(--primary) 5%, transparent);
	border-radius: 50%;
	content: "";
}

.home-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	align-items: center;
	gap: clamp(2.5rem, 7vw, 6rem);
}

.home-hero h1 {
	max-width: 50rem;
	margin-bottom: 1.35rem;
	font-size: clamp(2.6rem, 6vw, 5rem);
}

.home-hero__lead {
	max-width: 43rem;
	margin-bottom: 2rem;
	color: var(--color-muted);
	font-size: clamp(1rem, 2vw, 1.18rem);
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}

.home-hero__actions .btn {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.85rem 1.25rem;
}

.home-hero__panel {
	position: relative;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid rgba(148, 163, 184, 0.25);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.82);
	box-shadow: var(--shadow-md);
	backdrop-filter: blur(10px);
}

.home-hero__panel-label {
	margin-bottom: 1.25rem;
	color: var(--primary);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.home-hero__checklist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-hero__checklist li {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--color-border);
}

.home-hero__checklist li:last-child {
	border-bottom: 0;
}

.home-hero__checklist i {
	margin-top: 0.2rem;
	color: var(--color-success);
}

.home-stats {
	padding: 0 0 5rem;
	background: #fff;
}

.home-stats__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: -1.75rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #fff;
	box-shadow: var(--shadow-sm);
}

.home-stat {
	padding: 1.6rem;
	text-align: center;
}

.home-stat + .home-stat {
	border-left: 1px solid var(--color-border);
}

.home-stat strong {
	display: block;
	margin-bottom: 0.25rem;
	color: var(--secondary);
	font-size: 1.25rem;
}

.home-stat span {
	color: var(--color-muted);
	font-size: 0.82rem;
}

.home-services,
.home-about,
.home-cta,
.pagina-produtos,
.pagina-informacoes,
.contato-page,
.mapa-site-page,
.politica-page,
.erro-404,
.empresa-page,
.produto-detalhe {
	padding: clamp(4rem, 8vw, 6.5rem) 0;
}

.home-services,
.pagina-informacoes,
.politica-page,
.erro-404 {
	background: var(--color-background);
}

.service-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

.service-card {
	height: 100%;
	padding: 1.75rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #fff;
	box-shadow: var(--shadow-sm);
}

.service-card__icon {
	display: grid;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1.25rem;
	place-items: center;
	border-radius: 0.85rem;
	background: var(--primary-soft);
	color: var(--primary);
	font-size: 1.2rem;
}

.service-card h3 {
	font-size: 1.15rem;
}

.service-card p {
	color: var(--color-muted);
	font-size: 0.9rem;
}

.home-about__grid,
.empresa-page__grid,
.produto-detalhe__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: clamp(2rem, 7vw, 5rem);
}

.home-about__visual,
.empresa-page__visual,
.produto-detalhe__visual {
	min-height: 25rem;
	border-radius: var(--radius-lg);
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--secondary) 94%, transparent), color-mix(in srgb, var(--primary) 88%, transparent)),
		var(--secondary);
	box-shadow: var(--shadow-md);
}

.home-about__visual,
.empresa-page__visual {
	display: grid;
	padding: 2rem;
	place-items: end start;
	color: #fff;
}

.home-about__visual strong,
.empresa-page__visual strong {
	max-width: 20rem;
	color: #fff;
	font-size: clamp(1.5rem, 3vw, 2.3rem);
	line-height: 1.3;
}

.content-checklist {
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.content-checklist li {
	display: flex;
	gap: 0.7rem;
	margin-top: 0.7rem;
}

.content-checklist i {
	margin-top: 0.3rem;
	color: var(--color-success);
}

.home-cta {
	padding-top: 1rem;
	background: #fff;
}

.home-cta__box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: clamp(2rem, 5vw, 3.5rem);
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--primary-dark), var(--secondary));
	color: #cbd5e1;
}

.home-cta__box h2 {
	max-width: 38rem;
	margin-bottom: 0.6rem;
	color: #fff;
	font-size: clamp(1.65rem, 4vw, 2.65rem);
}

.home-cta__box .btn {
	flex: 0 0 auto;
	padding: 0.85rem 1.25rem;
	background: #fff;
	color: var(--secondary);
}

/* Forms */
.form-control,
.form-select {
	display: block;
	width: 100%;
	min-height: 3.2rem;
	padding: .75rem .85rem;
	border: 1px solid var(--color-border);
	border-radius: 0.7rem;
	background: #fff;
	color: var(--secondary);
}

textarea.form-control {
	min-height: 8rem;
}

.form-control:focus,
.form-select:focus {
	border-color: color-mix(in srgb, var(--primary) 65%, transparent);
	box-shadow: 0 0 0 0.22rem color-mix(in srgb, var(--primary) 12%, transparent);
}

.form-group {
	margin-bottom: 1rem;
}

.form-status {
	margin-top: 1rem;
	font-size: 0.85rem;
}

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

/* SEO */
.seo-hero {
	position: relative;
	padding: clamp(4rem, 8vw, 6.5rem) 0;
	background:
		radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--primary) 60%, transparent), transparent 32%),
		linear-gradient(135deg, var(--primary), var(--secondary));
}

.seo-hero h1 {
	margin-bottom: 1rem;
	color: #fff;
	font-size: clamp(2.45rem, 6vw, 4.6rem);
}

.seo-hero__content p {
	max-width: 36rem;
	color: #cbd5e1;
	font-size: 1.05rem;
}

.seo-hero__form,
.contato-form-card,
.orcamento-form-card {
	padding: clamp(1.4rem, 4vw, 2rem);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #fff;
	box-shadow: var(--shadow-md);
}

.seo-hero__form::before {
	display: block;
	margin-bottom: 1rem;
	color: var(--secondary);
	font-size: 1.1rem;
	font-weight: 700;
	content: "Solicite um orçamento";
}

.scroll-to-content {
	position: absolute;
	bottom: -1.5rem;
	left: 50%;
	transform: translateX(-50%);
}

.scroll-to-content a {
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border: 4px solid #fff;
	border-radius: 50%;
	background: var(--primary);
	color: #fff;
}

.conteudo-seo {
	padding: clamp(4.5rem, 9vw, 7rem) 0;
}

.breadcrump-seo {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-border);
}

.breadcrump-seo .breadcrumb {
	justify-content: flex-start;
}

.breadcrump-seo .breadcrumb a {
	color: var(--primary);
}

.breadcrump-seo .breadcrumb-item.active {
	color: var(--color-muted);
}

.seo-content-layout {
	display: flow-root;
}

.imagens-seo {
	float: right;
	width: min(46%, 33rem);
	margin: 0 0 1.5rem 2.2rem;
}

.imagens-seo a {
	display: block;
	overflow: hidden;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
}

.imagens-seo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 300ms ease;
}

.imagens-seo a:hover img {
	transform: scale(1.025);
}

.texto-seo {
	color: var(--color-text);
}

.texto-seo h2,
.texto-seo h3 {
	margin: 2.15rem 0 0.9rem;
}

.texto-seo h2 {
	font-size: clamp(1.55rem, 3vw, 2.15rem);
}

.texto-seo h3 {
	font-size: clamp(1.25rem, 2.5vw, 1.6rem);
}

.texto-seo p,
.texto-seo li {
	color: #475569;
}

.faixa-informacoes {
	clear: both;
	margin: 2.5rem 0;
	padding: 1.7rem;
	border-radius: var(--radius-md);
	background: linear-gradient(135deg, var(--primary), var(--secondary));
	color: #dbeafe;
}

.faixa-informacoes h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.35rem, 3vw, 1.85rem);
}

.faixa-informacoes .btn-whatsapp {
	text-align: right;
}

.faixa-informacoes a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.8rem 1rem;
	border-radius: 0.7rem;
	background: #fff;
	color: var(--secondary);
	font-weight: 700;
}

.mais-visitados,
.regioes-bloco,
.texto-direitos-autorais {
	clear: both;
	margin-top: 4rem;
}

.mais-visitados {
	position: relative;
}

.mais-visitados__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.35rem;
}

.mais-visitados__header h2,
.regioes-bloco > h2 {
	margin: 0;
	font-size: clamp(1.45rem, 3vw, 2rem);
}

.regioes-bloco > h2 {
	margin-bottom: 1.35rem;
}

.mais-visitados__controls {
	display: flex;
	flex: 0 0 auto;
	gap: 0.5rem;
	visibility: hidden;
}

.mais-visitados.is-carousel-ready .mais-visitados__controls {
	visibility: visible;
}

.box-mais-visitado {
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #fff;
}

.box-mais-visitado img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.box-mais-visitado h3 {
	margin: 0;
	padding: 1rem;
	font-size: 0.98rem;
}

.mais-visitados .swiper {
	width: 100%;
	padding-bottom: 0.25rem;
}

.mais-visitados .swiper-button-next,
.mais-visitados .swiper-button-prev {
	position: static;
	width: 2.35rem;
	height: 2.35rem;
	margin: 0;
	flex: 0 0 2.35rem;
	border-radius: 50%;
	background: var(--secondary);
	color: #fff;
}

.mais-visitados .swiper-button-next svg,
.mais-visitados .swiper-button-prev svg {
	width: 0.75rem;
	height: 0.75rem;
}

.mais-visitados .swiper:not(.swiper-initialized) .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	width: 100%;
}

.mais-visitados .swiper:not(.swiper-initialized) .swiper-slide {
	width: auto;
}

.regioes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.regioes button {
	padding: 0.55rem 0.85rem;
	border: 1px solid var(--color-border);
	border-radius: 999px;
	background: #fff;
	color: var(--color-text);
	font-size: 0.82rem;
	font-weight: 600;
}

.regioes button:hover,
.regioes button.active {
	border-color: var(--primary);
	background: var(--primary);
	color: #fff;
}

.regioes-modal {
	border: 0;
	border-radius: var(--radius-md);
}

.regioes-modal .modal-header {
	border-color: var(--color-border);
}

.regioes-modal .modal-title {
	margin: 0;
	color: var(--secondary);
	font-weight: 700;
}

.regioes-modal__lista {
	margin: 0;
	padding-left: 1rem;
	color: var(--color-muted);
	font-size: 0.86rem;
}

.regioes-modal__lista li + li {
	margin-top: 0.4rem;
}

.texto-direitos-autorais {
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--primary);
	background: var(--color-background);
	color: var(--color-muted);
	font-size: 0.78rem;
}

.texto-direitos-autorais a {
	color: var(--primary);
	text-decoration: underline;
}

/* Listing cards */
.pagina-produtos__intro,
.pagina-informacoes__intro,
.contato-page__intro,
.mapa-site__intro,
.politica-page__intro,
.erro-404__intro {
	margin-bottom: 2.5rem;
}

.produtos-grid,
.informacoes-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.produto-card,
.informacao-card {
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #fff;
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition), transform var(--transition);
}

.produto-card:hover,
.informacao-card:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-4px);
}

.produto-card__link,
.informacao-card__link {
	display: flex;
	height: 100%;
	flex-direction: column;
}

.produto-card__media,
.informacao-card__media {
	margin: 0;
	overflow: hidden;
	background: #e2e8f0;
}

.produto-card__media img,
.informacao-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 7 / 5;
	object-fit: cover;
	transition: transform 300ms ease;
}

.produto-card:hover img,
.informacao-card:hover img {
	transform: scale(1.035);
}

.produto-card__body,
.informacao-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.35rem;
}

.produto-card__body h3,
.informacao-card__body h3 {
	font-size: 1.12rem;
}

.produto-card__body p,
.informacao-card__body p {
	color: var(--color-muted);
	font-size: 0.86rem;
}

.produto-card__action,
.informacao-card__action {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
	color: var(--primary);
	font-size: 0.84rem;
	font-weight: 700;
}

.informacao-card__label {
	margin-bottom: 0.55rem;
	color: var(--primary);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

/* Contact and budget */
.contato-page__row {
	--bs-gutter-x: 2rem;
	--bs-gutter-y: 2rem;
}

.contato-form-card__head {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin-bottom: 1.3rem;
}

.contato-form-card__icon {
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: 0.8rem;
	background: var(--primary-soft);
	color: var(--primary);
}

.contato-form-card__subtitle {
	margin: 0;
	color: var(--color-muted);
	font-size: 0.75rem;
	text-transform: uppercase;
}

.contato-form-card__title {
	margin: 0;
	color: var(--secondary);
	font-size: 1.2rem;
	font-weight: 700;
}

.contato-info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.9rem;
	margin-bottom: 1.25rem;
}

.contato-info__card {
	display: flex;
	gap: 0.85rem;
	padding: 1.1rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #fff;
}

.contato-info__icon {
	display: grid;
	flex: 0 0 2.4rem;
	height: 2.4rem;
	place-items: center;
	border-radius: 0.65rem;
	background: var(--primary-soft);
	color: var(--primary);
}

.contato-info__label {
	margin: 0 0 0.25rem;
	color: var(--color-muted);
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
}

.contato-info__content p:last-child,
.contato-info__content a {
	margin: 0;
	color: var(--secondary);
	font-size: 0.82rem;
	font-weight: 600;
	word-break: break-word;
}

.contato-map {
	overflow: hidden;
	border-radius: var(--radius-md);
	background: #e2e8f0;
	box-shadow: var(--shadow-sm);
}

.contato-map iframe {
	display: block;
	width: 100%;
	height: 22rem;
	border: 0;
}

.orcamento-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(17rem, 0.85fr);
	gap: 2rem;
}

.orcamento-aside {
	padding: 1.75rem;
	border-radius: var(--radius-md);
	background: var(--secondary);
	color: #cbd5e1;
}

.orcamento-aside h2 {
	color: #fff;
	font-size: 1.55rem;
}

.orcamento-aside a {
	color: #fff;
	font-weight: 600;
}

.orcamento-aside__item {
	display: flex;
	gap: 0.75rem;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.orcamento-aside__item i {
	margin-top: 0.3rem;
	color: #60a5fa;
}

/* Company and product detail */
.empresa-values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	margin-top: 2.5rem;
}

.empresa-value {
	padding: 1.35rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #fff;
}

.empresa-value i {
	margin-bottom: 0.85rem;
	color: var(--primary);
	font-size: 1.25rem;
}

.empresa-value h3 {
	font-size: 1rem;
}

.empresa-value p {
	color: var(--color-muted);
	font-size: 0.82rem;
}

.produto-detalhe__visual {
	min-height: 0;
	overflow: hidden;
	background: #e2e8f0;
}

.produto-detalhe__visual img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Sitemap and 404 */
.mapa-site__grid,
.erro-404__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.mapa-site__card,
.erro-404__card {
	min-width: 0;
	padding: 1.5rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #fff;
}

.mapa-site__card--wide,
.erro-404__card--wide {
	grid-column: span 1;
}

.mapa-site__card h3,
.erro-404__card h3 {
	font-size: 1.05rem;
}

.mapa-site__card ul,
.erro-404__card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mapa-site__card li + li,
.erro-404__card li + li {
	margin-top: 0.55rem;
}

.mapa-site__card a,
.erro-404__card a {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	color: var(--color-muted);
	font-size: 0.86rem;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.mapa-site__card a i,
.erro-404__card a i {
	flex: 0 0 auto;
	margin-top: .24em;
}

.mapa-site__card a:hover,
.erro-404__card a:hover {
	color: var(--primary);
	transform: translateX(3px);
}

.erro-404__box {
	margin-bottom: 4rem;
	text-align: center;
}

.erro-404__content {
	max-width: 48rem;
	margin: 0 auto;
}

.erro-404__code {
	display: block;
	margin-bottom: 0.5rem;
	background: linear-gradient(135deg, var(--primary), var(--secondary));
	background-clip: text;
	color: transparent;
	font-size: clamp(5rem, 18vw, 10rem);
	font-weight: 700;
	letter-spacing: -0.08em;
	line-height: 0.9;
}

.erro-404__content h2 {
	font-size: clamp(1.5rem, 4vw, 2.25rem);
}

.erro-404__content p {
	color: var(--color-muted);
}

.erro-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.8rem;
	margin-top: 1.5rem;
}

.erro-404__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.8rem 1.05rem;
	border: 1px solid var(--primary);
	border-radius: 0.7rem;
	font-weight: 600;
}

.erro-404__btn--primary {
	background: var(--primary);
	color: #fff;
}

.erro-404__btn--outline {
	color: var(--primary);
}

/* Privacy */
.politica-page__layout {
	display: grid;
	grid-template-columns: minmax(13rem, 0.32fr) minmax(0, 1fr);
	align-items: start;
	gap: 2rem;
}

.politica-page__summary {
	position: sticky;
	top: calc(var(--site-header-height) + 1.5rem);
	padding: 1.3rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #fff;
	border-top: 4px solid var(--primary);
	box-shadow: var(--shadow-sm);
}

.politica-page__summary-title {
	color: var(--secondary);
	font-weight: 700;
}

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

.politica-page__summary li + li {
	margin-top: 0.55rem;
}

.politica-page__summary a {
	display: block;
	padding: .45rem .55rem;
	border-left: 2px solid transparent;
	border-radius: .25rem;
	color: var(--color-muted);
	font-size: 0.82rem;
}

.politica-page__summary a:hover,
.politica-page__summary a:focus-visible {
	border-left-color: var(--primary);
	background: var(--primary-soft);
	color: var(--primary);
}

.politica-page__content {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #fff;
}

.politica-page__content section {
	scroll-margin-top: 7rem;
}

.politica-page__content section + section {
	margin-top: 2.75rem;
	padding-top: 2.75rem;
	border-top: 1px solid var(--color-border);
}

.politica-page__content h2 {
	font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.politica-page__content h3 {
	margin-top: 1.65rem;
	font-size: 1.12rem;
}

.politica-page__content p,
.politica-page__content li {
	color: #475569;
	font-size: 0.92rem;
}

/* Cookie banner and feedback dialog */
.cookie-banner {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
	z-index: 1090;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	max-width: 68rem;
	margin: 0 auto;
	padding: 1.2rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #fff;
	box-shadow: var(--shadow-md);
}

.cookie-banner[hidden] {
	display: none;
}

.cookie-banner h2 {
	margin-bottom: 0.25rem;
	font-size: 1rem;
}

.cookie-banner p {
	margin: 0;
	color: var(--color-muted);
	font-size: 0.78rem;
}

.cookie-banner p a {
	color: var(--primary-accessible);
	text-decoration: underline;
}

.cookie-banner__actions {
	display: flex;
	flex: 0 0 auto;
	gap: 0.6rem;
}

.cookie-banner__actions .btn {
	white-space: nowrap;
	font-size: 0.78rem;
}

.site-dialog {
	width: min(32rem, calc(100% - 2rem));
	max-height: calc(100vh - 2rem);
	padding: 0;
	border: 0;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
}

.site-dialog.is-email-preview {
	width: min(52rem, calc(100% - 2rem));
}

.site-dialog::backdrop {
	background: rgba(15, 23, 42, 0.62);
	backdrop-filter: blur(3px);
}

.site-dialog__content {
	position: relative;
	padding: 2rem;
}

.site-dialog__close {
	position: absolute;
	top: 0.7rem;
	right: 0.7rem;
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--color-background);
	color: var(--secondary);
}

.site-dialog [data-dialog-message] h2 {
	padding-right: 2rem;
	font-size: 1.35rem;
}

.site-dialog__preview-notice {
	margin-bottom: 0.65rem;
	color: #475569;
	font-size: 0.88rem;
}

.site-dialog__preview-subject {
	margin-bottom: 1rem;
	padding: 0.65rem 0.8rem;
	border-radius: 0.5rem;
	background: #f1f5f9;
	color: #334155;
	font-size: 0.78rem;
	font-weight: 700;
}

.site-dialog__email-frame {
	display: block;
	width: 100%;
	height: min(32rem, 62vh);
	border: 1px solid var(--color-border);
	border-radius: 0.65rem;
	background: #f1f5f9;
}

/* Catálogos: listagens, detalhes, galeria e formulários */
.pagina-catalogo,
.catalogo-page,
.catalogo-detalhe,
.catalogo-relacionados,
.formulario-catalogo,
.pagina-informacoes,
.conteudo-seo {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.catalogo-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.catalogo-card {
	overflow: hidden;
	height: 100%;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #fff;
	box-shadow: var(--shadow-sm);
}

.catalogo-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--primary-soft);
}

.catalogo-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.catalogo-card:hover .catalogo-card__media img { transform: scale(1.035); }
.catalogo-card__body { padding: 1.15rem; }
.catalogo-card__body h3 { margin: 0 0 0.85rem; font-size: 1.1rem; }
.catalogo-card__link,
.informacao-card__action { color: var(--primary); font-weight: 700; }

.catalogo-detalhe__layout {
	display: grid;
	grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

.catalogo-sidebar {
	position: sticky;
	top: calc(var(--site-header-height) + 1.5rem);
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #fff;
	box-shadow: var(--shadow-sm);
}

.catalogo-sidebar__head { padding: 1.35rem; background: var(--secondary); }
.catalogo-sidebar__head span { color: color-mix(in srgb, var(--primary) 65%, #fff); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.catalogo-sidebar__head h2 { margin: .3rem 0 0; color: #fff; font-size: 1.2rem; }
.catalogo-sidebar ul { margin: 0; padding: .6rem; list-style: none; }
.catalogo-sidebar a { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem; border-radius: .45rem; font-size: .9rem; font-weight: 600; }
.catalogo-sidebar a:hover,
.catalogo-sidebar a.is-active { background: var(--primary-soft); color: var(--primary-accessible); }

.galeria-catalogo { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-block: 1.75rem; }
.galeria-catalogo__item { overflow: hidden; aspect-ratio: 4 / 3; border-radius: .55rem; background: var(--primary-soft); }
.galeria-catalogo__item--principal { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.galeria-catalogo img { width: 100%; height: 100%; object-fit: cover; }
.catalogo-detalhe__texto { padding-block: 1rem; }
.catalogo-detalhe__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.btn-whatsapp { background: #075e54; color: #fff; }
.catalogo-relacionados { background: var(--color-background); }
.catalogo-relacionados__swiper:not(.swiper-initialized) .swiper-wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.catalogo-relacionados__swiper:not(.swiper-initialized) .swiper-slide { width: auto; }
.catalogo-relacionados__head,
.mais-visitados__header { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.5rem; }
.carousel-controls,
.mais-visitados__controls { display: flex; gap: .5rem; }
.carousel-controls .swiper-button-prev,
.carousel-controls .swiper-button-next,
.mais-visitados__controls .swiper-button-prev,
.mais-visitados__controls .swiper-button-next { position: static; width: 2.6rem; height: 2.6rem; margin: 0; border: 0; border-radius: .45rem; background: var(--secondary); color: #fff; }
.swiper-button-prev::after,
.swiper-button-next::after { font-size: .75rem; font-weight: 900; }

/* Página de SEO */
.seo-content-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.imagens-seo { float: none; width: 100%; margin: 0; overflow: hidden; border-radius: var(--radius-sm); box-shadow: var(--shadow-md); }
.imagens-seo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.texto-seo { max-width: 58rem; }
.texto-seo--continuacao { margin-block: 3rem; }
.faixa-informacoes { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-block: 3rem; padding: clamp(1.5rem, 4vw, 2.25rem); border-left: 4px solid var(--color-whatsapp); border-radius: var(--radius-sm); background: color-mix(in srgb, var(--color-whatsapp) 9%, #fff); }
.faixa-informacoes span { color: #15803d; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.faixa-informacoes h2 { margin: .25rem 0; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.faixa-informacoes h2 { color: var(--secondary); }
.faixa-informacoes p { margin: 0; color: var(--color-text); }
.faixa-informacoes > a { flex: 0 0 auto; padding: .8rem 1.1rem; border-radius: .45rem; background: #075e54; color: #fff; font-weight: 700; }
.mais-visitados,
.regioes-explorer,
.texto-direitos-autorais { margin-top: clamp(3rem, 7vw, 5rem); }
.box-mais-visitado { overflow: hidden; height: 100%; border: 1px solid var(--color-border); border-radius: .6rem; background: #fff; }
.box-mais-visitado img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.box-mais-visitado h3 { margin: 0; padding: 1rem; font-size: 1rem; }

.regioes-explorer { padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-background); }
.regioes-explorer header { max-width: 48rem; margin-bottom: 1.35rem; }
.regioes-explorer__tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.regioes-explorer__tabs button { padding: .62rem .85rem; border: 1px solid var(--color-border); border-radius: .35rem; background: #fff; color: var(--secondary); font-size: .8rem; font-weight: 700; }
.regioes-explorer__tabs button:hover,
.regioes-explorer__tabs button.is-active { border-color: var(--primary-dark); background: var(--primary-dark); color: #fff; }
.regioes-explorer__panels { margin-top: 1rem; }
.regioes-explorer__panels > div { padding: 1.25rem; border-left: 3px solid var(--primary); background: #fff; }
.regioes-explorer__panels ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem 1.5rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.regioes-explorer__panels li::before { margin-right: .5rem; color: var(--primary); content: "•"; }
.texto-direitos-autorais { padding: 1rem 1.2rem; border-left: 3px solid var(--primary); background: var(--color-background); color: var(--color-muted); font-size: .78rem; }
.texto-direitos-autorais a { color: var(--primary-accessible); }

.formulario-catalogo__card { max-width: 58rem; margin-inline: auto; }
.formulario-informacoes-wrap { padding-block: clamp(3rem, 7vw, 5rem); background: var(--color-background); }
.formulario-informacoes { display: grid; grid-template-columns: minmax(18rem, .82fr) minmax(0, 1.28fr); overflow: hidden; max-width: 74rem; margin-inline: auto; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-md); }
.formulario-informacoes__contact { position: relative; isolation: isolate; overflow: hidden; padding: clamp(2rem, 5vw, 3.25rem); background: var(--secondary); color: #fff; }
.formulario-informacoes__eyebrow { display: flex; align-items: center; gap: .65rem; margin-bottom: 1.5rem; color: color-mix(in srgb, var(--primary) 62%, #fff); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.formulario-informacoes__eyebrow::before { width: 1.8rem; height: 2px; background: var(--primary); content: ""; }
.formulario-informacoes__contact h2 { max-width: 25rem; margin: 0; color: #fff; font-size: clamp(1.8rem, 3.5vw, 2.45rem); line-height: 1.12; }
.formulario-informacoes__contact > p { max-width: 27rem; margin: 1.25rem 0 1.75rem; color: color-mix(in srgb, #fff 78%, var(--secondary)); line-height: 1.7; }
.formulario-informacoes__channels { position: relative; z-index: 2; display: grid; gap: .65rem; }
.formulario-informacoes__channels a { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr); align-items: center; gap: .85rem; min-height: 4rem; padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.18); border-radius: .5rem; background: rgba(255,255,255,.08); color: #fff; }
.formulario-informacoes__channels a:hover { border-color: color-mix(in srgb, var(--primary) 65%, #fff); background: rgba(255,255,255,.13); color: #fff; transform: translateY(-2px); }
.formulario-informacoes__channels i { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: .4rem; background: var(--primary); color: #fff; }
.formulario-informacoes__channels span { min-width: 0; }
.formulario-informacoes__channels small,
.formulario-informacoes__channels strong { display: block; }
.formulario-informacoes__channels small { margin-bottom: .12rem; color: color-mix(in srgb, #fff 67%, var(--secondary)); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.formulario-informacoes__channels strong { overflow-wrap: anywhere; font-size: .84rem; }
.formulario-informacoes__decoration { position: absolute; right: -7rem; bottom: -10rem; z-index: -1; width: 24rem; height: 24rem; border: 2.2rem solid color-mix(in srgb, var(--primary) 20%, transparent); border-radius: 50%; }
.formulario-informacoes__panel { padding: clamp(2rem, 5vw, 3.25rem); }
.formulario-informacoes__intro { max-width: 38rem; margin-bottom: 1.75rem; }
.formulario-informacoes__intro h2 { margin: .65rem 0 .75rem; font-size: clamp(1.85rem, 3.6vw, 2.6rem); line-height: 1.08; }
.formulario-informacoes__intro p { margin: 0; color: var(--color-muted); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.form-grid__full { grid-column: 1 / -1; }
.form-grid label { display: block; margin-bottom: .4rem; color: var(--secondary); font-size: .85rem; font-weight: 700; }
.form-grid input,
.form-grid select,
.form-grid textarea { width: 100%; padding: .75rem .85rem; border: 1px solid var(--color-border); border-radius: .45rem; background: #fff; color: var(--secondary); }
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus { border-color: var(--primary); outline: 3px solid var(--primary-soft); }
.formulario-catalogo { background: var(--color-background); }
.formulario-catalogo__card { padding: clamp(1.5rem, 5vw, 3rem); border-radius: var(--radius-sm); background: #fff; box-shadow: var(--shadow-sm); }

/* Faixa interna compartilhada: arte abstrata vinculada às cores do tema */
.faixa-page {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient(112deg, color-mix(in srgb, var(--primary) 96%, #000), var(--primary) 52%, color-mix(in srgb, var(--primary) 76%, var(--secondary)));
}
.faixa-page::before {
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image:
		linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 34px 34px;
	content: "";
	mask-image: linear-gradient(90deg, transparent 18%, #000 62%);
}
.faixa-page::after {
	position: absolute;
	top: -11rem;
	right: -5rem;
	z-index: -1;
	width: 37rem;
	height: 37rem;
	border: 5.5rem solid rgba(255,255,255,.07);
	border-radius: 45% 55% 62% 38%;
	content: "";
	transform: rotate(22deg);
}
.faixa-page__art { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.faixa-page__art span { position: absolute; display: block; border: 1px solid rgba(255,255,255,.14); transform: rotate(35deg); }
.faixa-page__art span:nth-child(1) { top: -5rem; right: 22%; width: 13rem; height: 22rem; background: rgba(255,255,255,.035); }
.faixa-page__art span:nth-child(2) { right: 7%; bottom: -8rem; width: 18rem; height: 18rem; border-radius: 50%; }
.faixa-page__art span:nth-child(3) { top: 25%; right: 42%; width: 4.5rem; height: 4.5rem; background: color-mix(in srgb, var(--secondary) 14%, transparent); }
.faixa-page .container { position: relative; z-index: 1; }
.faixa-page h1,
.faixa-page p,
.faixa-page a,
.faixa-page .faixa-page__tag { color: #fff; }
.faixa-page__title p { max-width: 48rem; margin: .7rem 0 0; color: rgba(255,255,255,.78); font-size: .95rem; }
.whatsapp-fixed { width: 4rem; height: 4rem; border: 0; background: var(--color-whatsapp); box-shadow: 0 12px 30px color-mix(in srgb, var(--color-whatsapp) 38%, transparent); }
.whatsapp-fixed i { position: relative; z-index: 1; font-size: 1.8rem; }
.whatsapp-fixed__pulse { position: absolute; inset: 0; border: 2px solid var(--color-whatsapp); border-radius: 50%; animation: whatsapp-pulse 2s infinite; }
@keyframes whatsapp-pulse { 70%, 100% { opacity: 0; transform: scale(1.45); } }
.site-footer__social { display: flex; gap: .55rem; margin-top: 1.25rem; }
.site-footer__social a,
.site-footer__social span { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border: 1px solid color-mix(in srgb, var(--primary) 38%, transparent); border-radius: .4rem; color: color-mix(in srgb, var(--primary) 68%, #fff); }
.site-footer__social a:hover { border-color: var(--primary); background: var(--primary); color: #fff; }
.site-footer__contact i { color: color-mix(in srgb, var(--primary) 70%, #fff); }

/* Cards de catálogo com chamada premium */
.catalogo-card { transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition); }
.catalogo-card:hover { border-color: color-mix(in srgb, var(--primary) 32%, var(--color-border)); box-shadow: var(--shadow-md); transform: translateY(-5px); }
.catalogo-card__body { display: flex; min-height: 8.25rem; flex-direction: column; }
.catalogo-card__body h3 { margin-bottom: 1rem; }
.catalogo-card__button,
.catalogo-card__link {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
	width: 100%;
	margin-top: auto;
	padding: .72rem .9rem;
	border: 1px solid var(--primary);
	border-radius: .42rem;
	background: linear-gradient(115deg, var(--primary), color-mix(in srgb, var(--primary) 70%, var(--secondary)));
	box-shadow: 0 8px 18px color-mix(in srgb, var(--primary) 16%, transparent);
	color: #fff;
	font-size: .82rem;
	font-weight: 800;
}
.catalogo-card__button:hover,
.catalogo-card__link:hover { border-color: var(--primary-dark); color: #fff; transform: translateY(-2px); }
.catalogo-card__button i,
.catalogo-card__link i { transition: transform var(--transition); }
.catalogo-card__button:hover i,
.catalogo-card__link:hover i { transform: translateX(4px); }

/* Textos e placeholders das listagens */
.informacao-card__body { padding: 1.55rem; }
.informacao-card__body p { line-height: 1.7; text-align: justify; text-wrap: pretty; }
.informacao-card__media img[src$="sem-imagem.webp"],
.catalogo-card__media img[src$="sem-imagem.webp"] { object-fit: cover; }

/* Contato premium */
.contato-premium { padding: clamp(4rem, 8vw, 7rem) 0; background: linear-gradient(180deg, var(--color-background), #fff 55%); }
.contato-premium__intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .65fr); align-items: end; gap: clamp(2rem, 6vw, 5rem); margin-bottom: 2.5rem; }
.contato-premium__intro h2 { max-width: 48rem; margin: 0; font-size: clamp(2rem, 4.5vw, 3.5rem); }
.contato-premium__intro p { margin: 0 0 .35rem; color: var(--color-muted); font-size: 1.02rem; }
.contato-premium__shell { display: grid; grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); overflow: hidden; border: 1px solid var(--color-border); border-radius: .85rem; background: #fff; box-shadow: 0 28px 70px rgba(15,23,42,.12); }
.contato-premium__aside { position: relative; isolation: isolate; padding: clamp(2rem, 4vw, 3rem); overflow: hidden; background: var(--secondary); color: #cbd5e1; }
.contato-premium__aside::after { position: absolute; right: -7rem; bottom: -8rem; z-index: -1; width: 20rem; height: 20rem; border: 3rem solid color-mix(in srgb, var(--primary) 22%, transparent); border-radius: 50%; content: ""; }
.contato-premium__aside-head > span { color: color-mix(in srgb, var(--primary) 72%, #fff); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contato-premium__aside-head h2 { margin: .65rem 0 .9rem; color: #fff; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.contato-premium__aside-head p { color: #94a3b8; }
.contato-premium__channels { display: grid; gap: .7rem; margin-top: 2rem; }
.contato-premium__channels > a,
.contato-premium__channels > div { display: flex; align-items: flex-start; gap: .85rem; padding: .9rem; border: 1px solid rgba(255,255,255,.1); border-radius: .5rem; background: rgba(255,255,255,.045); color: #fff; }
.contato-premium__channels > a:hover { border-color: color-mix(in srgb, var(--primary) 65%, transparent); background: color-mix(in srgb, var(--primary) 10%, transparent); color: #fff; transform: translateX(3px); }
.contato-premium__channels i { flex: 0 0 2.25rem; display: grid; height: 2.25rem; place-items: center; border-radius: .42rem; background: var(--primary); color: #fff; }
.contato-premium__channels span { display: grid; min-width: 0; }
.contato-premium__channels small { color: #94a3b8; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contato-premium__channels strong { overflow-wrap: anywhere; font-size: .86rem; font-weight: 600; }
.contato-premium__form { padding: clamp(2rem, 5vw, 3.5rem); }
.contato-premium__form-head { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.75rem; }
.contato-premium__form-head small { color: var(--primary-accessible); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contato-premium__form-head h2 { margin: .15rem 0 0; font-size: 1.55rem; }
.contato-premium__form-icon { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border-radius: .5rem; background: var(--primary-soft); color: var(--primary); font-size: 1.1rem; }
.contato-premium__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.contato-premium__fields label { display: block; margin-bottom: .4rem; color: var(--secondary); font-size: .82rem; font-weight: 700; }
.contato-premium__fields input,
.contato-premium__fields select,
.contato-premium__fields textarea { width: 100%; min-height: 3.2rem; padding: .78rem .85rem; border: 1px solid var(--color-border); border-radius: .42rem; background: var(--color-background); color: var(--secondary); outline: 0; transition: border-color var(--transition), box-shadow var(--transition), background var(--transition); }
.contato-premium__fields input:focus,
.contato-premium__fields select:focus,
.contato-premium__fields textarea:focus { border-color: var(--primary); background: #fff; box-shadow: 0 0 0 .22rem var(--primary-soft); }
.contato-premium__message { grid-column: 1 / -1; }
.contato-premium__submit { display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; margin-top: 1rem; padding: .9rem 1.05rem; border: 0; border-radius: .42rem; background: linear-gradient(115deg, var(--primary), color-mix(in srgb, var(--primary) 66%, var(--secondary))); box-shadow: 0 12px 26px color-mix(in srgb, var(--primary) 18%, transparent); color: #fff; font-weight: 800; transition: transform var(--transition), box-shadow var(--transition); }
.contato-premium__submit:hover { box-shadow: 0 16px 30px color-mix(in srgb, var(--primary) 25%, transparent); transform: translateY(-2px); }
.contato-premium__map { margin-top: 2rem; overflow: hidden; border: 1px solid var(--color-border); border-radius: .75rem; background: #fff; box-shadow: var(--shadow-sm); }
.contato-premium__map-head { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.15rem; border-bottom: 1px solid var(--color-border); }
.contato-premium__map-icon { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; place-items: center; border-radius: .45rem; background: var(--primary-soft); color: var(--primary); }
.contato-premium__map-head small { color: var(--primary-accessible); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.contato-premium__map-head h2 { margin: .12rem 0 0; font-size: 1.15rem; }
.contato-premium__map-frame { overflow: hidden; }
.contato-premium__map iframe { display: block; width: 100%; height: 27rem; border: 0; }

/* Barra de contato móvel */
.mobile-contact-bar { position: fixed; right: .65rem; bottom: .65rem; left: .65rem; z-index: 1070; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: .6rem; background: var(--secondary); box-shadow: 0 16px 36px rgba(15,23,42,.28); }
.mobile-contact-bar a { display: flex; align-items: center; justify-content: center; gap: .55rem; min-height: 3.25rem; color: #fff; font-size: .82rem; font-weight: 800; }
.mobile-contact-bar a + a { background: #075e54; }
.mobile-contact-bar a:hover { color: #fff; }

/* Responsividade mantida no arquivo principal */
@media (max-width: 1199.98px) {
	.catalogo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
	:root { --site-header-height: 4.65rem; }
	.site-nav { display: none; }
	.site-header__menu-button { display: grid; }
	.site-header__grid { grid-template-columns: 1fr auto; }
	.site-header__cta { display: none; }
	.catalogo-grid,
	.informacoes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.catalogo-detalhe__layout,
	.seo-content-layout { grid-template-columns: 1fr; }
	.catalogo-relacionados__swiper:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.faixa-page__content { align-items: flex-start; flex-direction: column; }
	.faixa-page__breadcrumb { max-width: none; }
	.faixa-page .breadcrumb { justify-content: flex-start; }
	.catalogo-sidebar { position: static; }
	.imagens-seo { order: -1; max-width: 40rem; }
	.regioes-explorer__panels ul { grid-template-columns: repeat(2, 1fr); }
	.contato-premium__intro,
	.contato-premium__shell { grid-template-columns: 1fr; }
	.contato-premium__intro { align-items: start; gap: 1rem; }
	.formulario-informacoes { grid-template-columns: 1fr; }
	.formulario-informacoes__contact h2,
	.formulario-informacoes__contact > p { max-width: 38rem; }
	.formulario-informacoes__channels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mapa-site__grid,
	.erro-404__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-footer__about { grid-column: 1 / -1; }
	.site-footer__contact,
	.site-footer__contact > a,
	.site-footer__contact > p,
	.site-footer__contact span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
}

@media (max-width: 767.98px) {
	body { padding-bottom: 0; }
	.cookie-banner {
		right: .75rem;
		bottom: calc(4.5rem + env(safe-area-inset-bottom));
		left: .75rem;
		align-items: stretch;
		flex-direction: column;
		gap: 1rem;
		max-height: calc(100dvh - 6rem);
		padding: 1rem;
		overflow-y: auto;
		border-radius: .75rem;
	}
	.cookie-banner > div:first-child { min-width: 0; }
	.cookie-banner h2 { font-size: .95rem; }
	.cookie-banner p { font-size: .78rem; line-height: 1.55; }
	.cookie-banner__actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}
	.cookie-banner__actions .btn { width: 100%; min-height: 2.8rem; padding-inline: .65rem; }
	.catalogo-grid,
	.informacoes-grid,
	.form-grid { grid-template-columns: 1fr; }
	.catalogo-relacionados__swiper:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: 1fr; }
	.form-grid__full { grid-column: auto; }
	.faixa-informacoes,
	.catalogo-relacionados__head,
	.mais-visitados__header { align-items: stretch; flex-direction: column; }
	.faixa-informacoes > a { align-self: flex-start; }
	.regioes-explorer__panels ul { grid-template-columns: 1fr; }
	.galeria-catalogo { grid-template-columns: repeat(2, 1fr); }
	.site-footer { padding-bottom: calc(5.25rem + env(safe-area-inset-bottom)); }
	.site-footer__grid { grid-template-columns: 1fr; }
	.site-footer__about { grid-column: auto; }
	.site-footer__bottom { align-items: flex-start; flex-direction: column; }
	.whatsapp-fixed { display: none; }
	.mobile-contact-bar {
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		padding-bottom: env(safe-area-inset-bottom);
		border: 0;
		border-radius: 0;
	}
	.contato-premium__fields { grid-template-columns: 1fr; }
	.contato-premium__message { grid-column: auto; }
	.formulario-informacoes__channels { grid-template-columns: 1fr; }
	.mapa-site__grid,
	.erro-404__grid { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
	.faixa-page { padding-block: 2.75rem; }
	.catalogo-page,
	.catalogo-detalhe,
	.catalogo-relacionados,
	.formulario-catalogo,
	.pagina-informacoes,
	.conteudo-seo { padding-block: 3.25rem; }
	.galeria-catalogo { grid-template-columns: 1fr; }
	.catalogo-detalhe__actions { display: grid; }
	.menu-drawer__panel { top: .4rem; width: calc(100% - 1.25rem); max-height: calc(100% - 5rem); padding: 1rem; border-radius: .85rem 0 0 .85rem; }
	.menu-drawer__nav .site-nav__link { padding-block: .72rem; }
	.contato-premium__form,
	.contato-premium__aside { padding: 1.5rem; }
	.contato-premium__map iframe { height: 21rem; }
	.formulario-informacoes-wrap { padding-block: 2.25rem; }
	.formulario-informacoes { border-radius: .75rem; }
	.formulario-informacoes__contact,
	.formulario-informacoes__panel { padding: 1.5rem; }
	.mapa-site__card,
	.erro-404__card { padding: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* =========================================================
   FAEX - DESIGN SYSTEM
========================================================= */
.section-space { padding-block: clamp(4.5rem, 8vw, 8.5rem); }
.faex-eyebrow { display: inline-flex; align-items: center; gap: .75rem; color: var(--primary-accessible); font-size: .72rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.faex-eyebrow::before { width: 2rem; height: 2px; background: var(--primary); content: ""; }
.faex-heading { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(17rem, .65fr); align-items: end; gap: 3rem; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.faex-heading h2 { max-width: 50rem; margin: .8rem 0 0; color: #142421; font-size: clamp(2rem, 4.2vw, 4.25rem); line-height: 1.04; letter-spacing: -.045em; }
.faex-heading > p { margin: 0; color: var(--color-muted); }
.faex-heading--light h2, .faex-heading--light p, .faex-heading--light .faex-text-link { color: #fff; }
.faex-text-link { display: inline-flex; align-items: center; gap: .75rem; color: var(--primary-accessible); font-weight: 800; text-decoration: none; }
.faex-text-link i { transition: transform var(--transition); }
.faex-text-link:hover i { transform: translateX(.35rem); }
.btn { border-radius: .25rem; letter-spacing: .01em; }
.btn-primary { background: var(--primary-dark); border-color: var(--primary-dark); }
.btn-ghost { border: 1px solid rgba(255,255,255,.5); color: #fff; }
.btn-ghost:hover { background: #fff; color: var(--secondary); }

/* =========================================================
   FAEX - IDENTIDADE / LOGO
========================================================= */
.site-header__brand img { width: 8.4rem; height: 4.35rem; object-fit: contain; }
.site-footer__brand img { width: 9rem; height: auto; }

/* =========================================================
   FAEX - HEADER
========================================================= */
.home-page .site-header { position: fixed; border-bottom-color: rgba(255,255,255,.14); background: linear-gradient(to bottom, rgba(8,25,24,.72), transparent); box-shadow: none; }
.home-page .site-header:not(.is-scrolled) .site-nav__link { color: #fff; }
.home-page .site-header:not(.is-scrolled) .site-header__brand img { filter: drop-shadow(0 2px 8px rgba(0,0,0,.2)); }
.site-header.is-scrolled, .home-page .site-header.is-scrolled { border-bottom-color: rgba(20,59,56,.1); background: rgba(255,255,255,.9); box-shadow: 0 10px 35px rgba(15,44,40,.08); backdrop-filter: blur(16px); }
.site-header__cta { border-radius: .25rem; background: var(--primary-dark); }

/* =========================================================
   FAEX - HOME - HERO
========================================================= */
.faex-hero { position: relative; min-height: min(56rem, 100svh); overflow: hidden; background: var(--secondary); color: #fff; }
.faex-hero__image, .faex-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.faex-hero__image { object-fit: cover; object-position: center; filter: saturate(.72) contrast(1.08); }
.faex-hero__veil { background: linear-gradient(90deg, rgba(8,27,26,.96) 0%, rgba(11,36,34,.83) 42%, rgba(11,36,34,.28) 75%, rgba(11,36,34,.12)), linear-gradient(0deg, rgba(9,28,27,.62), transparent 55%); }
.faex-hero__container { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.1fr) 14rem; align-items: end; min-height: min(56rem, 100svh); padding-block: calc(var(--site-header-height) + 5rem) 6rem; gap: 4rem; }
.faex-hero__content { max-width: 52rem; }
.faex-hero .faex-eyebrow { color: #c2e29e; }
.faex-hero h1 { margin: 1.25rem 0 1.5rem; max-width: 52rem; color: #fff; font-size: clamp(3rem, 6.3vw, 6.6rem); line-height: .93; letter-spacing: -.065em; text-wrap: balance; }
.faex-hero__content > p { max-width: 42rem; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.4vw, 1.2rem); }
.faex-hero__actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.faex-hero__proof { padding: 1.5rem 0 0 1.5rem; border-left: 1px solid rgba(255,255,255,.25); }
.faex-hero__proof span, .faex-hero__proof small { display: block; color: rgba(255,255,255,.62); }
.faex-hero__proof strong { display: block; color: #c2e29e; font-size: 3.25rem; line-height: 1; }
.faex-hero__scroll { position: absolute; right: 2rem; bottom: 2rem; z-index: 3; display: flex; align-items: center; gap: .75rem; color: rgba(255,255,255,.7); font-size: .72rem; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }

/* =========================================================
   FAEX - HOME - GESTÃO COMPLETA
========================================================= */
.faex-chain { background: #f4f6f3; }
.faex-chain__track { display: grid; grid-template-columns: repeat(6, 1fr); border-block: 1px solid var(--color-border); }
.faex-chain__step { position: relative; min-height: 21rem; padding: 2rem 1.35rem; border-right: 1px solid var(--color-border); color: inherit; text-decoration: none; transition: background var(--transition), transform var(--transition); }
.faex-chain__step:first-child { border-left: 1px solid var(--color-border); }
.faex-chain__step > span { color: var(--primary-accessible); font: 800 .72rem/1 "Roboto"; letter-spacing: .12em; }
.faex-chain__step h3 { margin: 5.5rem 0 .8rem; color: #142421; font-size: 1.18rem; line-height: 1.2; }
.faex-chain__step p { margin: 0; color: var(--color-muted); font-size: .88rem; line-height: 1.55; }
.faex-chain__step i { position: absolute; right: 1.35rem; bottom: 1.5rem; color: var(--primary-accessible); }
.faex-chain__step:hover { z-index: 1; background: #fff; box-shadow: var(--shadow-md); transform: translateY(-.5rem); }

/* =========================================================
   FAEX - HOME - EMPRESA
========================================================= */
.faex-home-about__grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.faex-home-about__visual { position: relative; }
.faex-home-about__visual img { display: block; width: 100%; min-height: 34rem; object-fit: cover; }
.faex-home-about__visual > div { position: absolute; right: -2rem; bottom: 2rem; width: 15rem; padding: 1.5rem; background: var(--secondary); color: #fff; }
.faex-home-about__visual strong, .faex-home-about__visual span { display: block; }
.faex-home-about__visual strong { color: #c2e29e; font-size: 1.3rem; }
.faex-home-about__visual span { margin-top: .35rem; color: rgba(255,255,255,.7); font-size: .82rem; }
.faex-home-about__content h2 { margin: 1rem 0 1.5rem; color: #142421; font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1.04; letter-spacing: -.045em; }
.faex-checks { display: grid; gap: .7rem; margin: 1.5rem 0 2rem; padding: 0; list-style: none; }
.faex-checks i { margin-right: .6rem; color: var(--primary-accessible); }

/* =========================================================
   FAEX - HOME - SERVIÇOS
========================================================= */
.faex-home-services { overflow: hidden; background: var(--secondary); color: rgba(255,255,255,.7); }
.faex-home-services .faex-eyebrow { color: #c2e29e; }
.faex-services-editorial { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.faex-service-tile { grid-column: span 3; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); }
.faex-service-tile--featured { grid-column: span 6; }
.faex-service-tile__media { display: block; overflow: hidden; height: 13rem; }
.faex-service-tile--featured .faex-service-tile__media { height: 20rem; }
.faex-service-tile img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); transition: transform .5s ease, filter .5s ease; }
.faex-service-tile:hover img { filter: saturate(1); transform: scale(1.035); }
.faex-service-tile > div { position: relative; min-height: 15.5rem; padding: 1.4rem; }
.faex-service-tile > div > span { color: #9ccf6c; font-size: .7rem; font-weight: 800; }
.faex-service-tile h3 { margin: 1rem 0 .8rem; font-size: 1.2rem; line-height: 1.2; }
.faex-service-tile h3 a { color: #fff; text-decoration: none; }
.faex-service-tile p { font-size: .86rem; line-height: 1.55; }
.faex-service-tile > div > a:last-child { position: absolute; right: 1.4rem; bottom: 1.4rem; color: #9ccf6c; }

/* =========================================================
   FAEX - HOME - CER
========================================================= */
.faex-home-cer { background: #edf0ec; }
.faex-home-cer__grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.faex-home-cer__content h2, .faex-home-waste__content h2 { margin: 1rem 0 1.5rem; color: #142421; font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1.05; letter-spacing: -.045em; }
.faex-cer-points { display: grid; grid-template-columns: 1fr 1fr; margin: 2rem 0; border-top: 1px solid var(--color-border); }
.faex-cer-points span { padding: .8rem 0; border-bottom: 1px solid var(--color-border); font-weight: 700; }
.faex-note { display: flex; gap: .75rem; margin: 1.5rem 0; color: var(--color-muted); font-size: .8rem; }
.faex-home-cer__media { position: relative; margin: 0; }
.faex-home-cer__media img { display: block; width: 100%; min-height: 36rem; object-fit: cover; }
.faex-home-cer__media figcaption { position: absolute; right: 0; bottom: 0; padding: 1rem 1.25rem; background: rgba(20,59,56,.92); color: #fff; font-size: .78rem; }

/* =========================================================
   FAEX - HOME - RESÍDUOS
========================================================= */
.faex-home-waste__grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.faex-home-waste__media { overflow: hidden; border-radius: 50% 50% .5rem .5rem; }
.faex-home-waste__media img { display: block; width: 100%; min-height: 34rem; object-fit: cover; }
.faex-waste-tags { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.5rem 0 2rem; }
.faex-waste-tags span { border: 1px solid var(--color-border); border-radius: 999px; padding: .48rem .8rem; color: var(--color-muted); font-size: .78rem; }

/* =========================================================
   FAEX - HOME - NA MÍDIA
========================================================= */
.faex-home-media, .faex-media-archive { background: #f4f6f3; }
.faex-media-grid, .faex-media-archive__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.faex-media-card { overflow: hidden; border: 1px solid var(--color-border); background: #fff; }
.faex-media-card__media { display: block; overflow: hidden; aspect-ratio: 1.46; background: #e9eeeb; }
.faex-media-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.faex-media-card:hover .faex-media-card__media img { transform: scale(1.03); }
.faex-media-card > div { padding: 1.5rem; }
.faex-media-card > div > span, .faex-media-card time { color: var(--primary-accessible); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.faex-media-card time { float: right; color: var(--color-muted); }
.faex-media-card h3 { margin: 1rem 0 1.4rem; font-size: 1.25rem; line-height: 1.3; }
.faex-media-card h3 a { color: #142421; text-decoration: none; }
.faex-media-card p { color: var(--color-muted); font-size: .88rem; }

/* =========================================================
   FAEX - HOME - CTA
========================================================= */
.faex-home-cta { padding-top: 0; }
.faex-home-cta__box { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3rem; overflow: hidden; padding: clamp(2.5rem, 6vw, 5rem); background: linear-gradient(120deg, #102f2d, #24594e); color: #fff; }
.faex-home-cta__box::after { position: absolute; right: -8rem; width: 26rem; height: 26rem; border: 3rem solid rgba(164,210,115,.12); border-radius: 50%; content: ""; }
.faex-home-cta h2 { position: relative; z-index: 1; max-width: 50rem; margin: 1rem 0; font-size: clamp(2rem, 4.2vw, 4.3rem); line-height: 1.02; letter-spacing: -.045em; }
.faex-home-cta p { max-width: 42rem; color: rgba(255,255,255,.7); }
.faex-home-cta .faex-eyebrow { color: #c2e29e; }
.faex-home-cta .btn { position: relative; z-index: 1; }

/* =========================================================
   FAEX - HOME - CONTATO
========================================================= */
.faex-home-contact { background: #f4f6f3; }
.faex-home-contact__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem, 7vw, 7rem); }
.faex-home-contact h2 { margin: 1rem 0; color: #142421; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1; }
.faex-contact-summary { display: grid; gap: .75rem; margin-top: 2rem; }
.faex-contact-summary a, .faex-contact-summary p { display: flex; align-items: center; gap: .8rem; margin: 0; color: inherit; text-decoration: none; }
.faex-contact-summary i { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; background: var(--primary-soft); color: var(--primary-accessible); }
.faex-contact-summary small, .faex-contact-summary strong { display: block; }
.faex-contact-summary small { color: var(--color-muted); }
.faex-home-contact__form { padding: clamp(1.5rem, 4vw, 3rem); background: #fff; box-shadow: var(--shadow-sm); }

/* =========================================================
   FAEX - EMPRESA
========================================================= */
.faex-company__grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.faex-company__content h2 { margin: 1rem 0 1.5rem; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: 1.02; letter-spacing: -.05em; }
.faex-company__numbers { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 2.5rem; border-block: 1px solid var(--color-border); }
.faex-company__numbers div { padding: 1.3rem .8rem; border-right: 1px solid var(--color-border); }
.faex-company__numbers strong, .faex-company__numbers span { display: block; }
.faex-company__numbers strong { color: var(--primary-accessible); font-size: 2rem; }
.faex-company__numbers span { color: var(--color-muted); font-size: .75rem; }
.faex-company__media { position: relative; margin: 0; }
.faex-company__media img { display: block; min-height: 38rem; object-fit: cover; }
.faex-company__media figcaption { position: absolute; right: 0; bottom: 0; width: min(20rem,80%); padding: 1.5rem; background: var(--secondary); color: #fff; }
.faex-company__media figcaption span,.faex-company__media figcaption strong{display:block}.faex-company__media figcaption span{color:#c2e29e;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.faex-principles{background:#f4f6f3}.faex-principles__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--color-border)}.faex-principles article{padding:2rem;background:#fff}.faex-principles i{color:var(--primary-accessible);font-size:1.4rem}.faex-principles h3{margin:2.5rem 0 .75rem}.faex-principles p{margin:0;color:var(--color-muted);font-size:.88rem}

/* =========================================================
   FAEX - SERVIÇO - DETALHE / SIDEBAR / GALERIAS
========================================================= */
.catalogo-sidebar { border-radius: 0; }
.catalogo-sidebar__head { background: var(--secondary); }
.catalogo-sidebar a { border-radius: 0; }
.galeria-catalogo__item { border-radius: 0; aspect-ratio: 2 / 1; }
.service-copy > p { font-size: 1.05rem; }
.service-copy ul { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 2rem 0; padding: 0; list-style: none; }
.service-copy li { display: flex; gap: .7rem; padding: .85rem; background: var(--color-background); }
.service-copy li i { margin-top: .35rem; color: var(--primary-accessible); }
.service-note { display: flex; gap: .9rem; margin: 2rem 0; padding: 1.1rem 1.25rem; border-left: 3px solid var(--primary); background: var(--primary-soft); color: #31433f; }
.service-note p { margin: 0; font-size: .86rem; }
.service-note i { margin-top: .3rem; color: var(--primary-accessible); }
.service-contact { margin-top: 3.5rem; padding: clamp(1.5rem,4vw,3rem); background: #f4f6f3; }
.service-contact__copy h2 { margin: .8rem 0; font-size: clamp(1.7rem,3vw,2.8rem); line-height: 1.08; }
.service-contact form { margin-top: 2rem; }

/* =========================================================
   FAEX - CER / ESTRUTURA / RESÍDUOS
========================================================= */
.faex-structure__intro { display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(3rem,7vw,7rem)}.faex-structure__intro h2,.faex-waste-list__header h2{margin:1rem 0 1.5rem;font-size:clamp(2.2rem,4.5vw,4.5rem);line-height:1.02;letter-spacing:-.05em}.faex-structure__image{display:block;overflow:hidden}.faex-structure__image img{display:block;width:100%;min-height:36rem;object-fit:cover;transition:transform .5s ease}.faex-structure__image:hover img{transform:scale(1.025)}.faex-structure__features{display:grid;grid-template-columns:repeat(4,1fr);margin-top:1px;background:var(--color-border);gap:1px}.faex-structure__features article{padding:2rem;background:#fff}.faex-structure__features span{color:var(--primary-accessible);font-size:.7rem;font-weight:800}.faex-structure__features h3{margin:2rem 0 .6rem}.faex-structure__features p{margin:0;color:var(--color-muted);font-size:.85rem}.faex-waste-list__header{display:grid;grid-template-columns:1fr .8fr;align-items:end;gap:3rem}.faex-waste-search{margin:3rem 0 1rem;padding:1.2rem;background:var(--secondary);color:#fff}.faex-waste-search label{display:block;margin-bottom:.5rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.faex-waste-search>div{display:flex;align-items:center;background:#fff;color:var(--color-text)}.faex-waste-search i{padding-left:1rem}.faex-waste-search input{width:100%;border:0;padding:1rem}.faex-waste-search p{margin:.6rem 0 0;color:rgba(255,255,255,.65);font-size:.75rem}.faex-waste-list__items{display:grid;grid-template-columns:1fr 1fr;max-height:46rem;margin:0;padding:0;overflow-y:auto;scrollbar-gutter:stable;border:1px solid var(--color-border);list-style:none}.faex-waste-list__items li{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.25rem;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.faex-waste-list__items span{color:var(--primary-accessible);font-weight:800}.faex-waste-list__items p{margin:0}.faex-waste-list__items li[hidden]{display:none}

/* =========================================================
   FAEX - NA MÍDIA / ARTIGO
========================================================= */
.faex-media-archive__filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.faex-media-archive__filters button{border:1px solid var(--color-border);border-radius:999px;background:#fff;padding:.5rem 1rem}.faex-media-archive__filters button.is-active{border-color:var(--primary-dark);background:var(--primary-dark);color:#fff}.faex-article__layout{display:grid;grid-template-columns:minmax(0,1fr) 21rem;gap:clamp(3rem,7vw,7rem)}.faex-article__header>div{display:flex;gap:1rem;color:var(--primary-accessible);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.faex-article__header h2{margin:1rem 0 1.5rem;font-size:clamp(2.2rem,4.5vw,4.5rem);line-height:1.02;letter-spacing:-.05em}.faex-article__archive-note{display:flex;gap:.8rem;padding:1rem;border-left:3px solid var(--primary);background:var(--primary-soft);font-size:.82rem}.faex-article__image{margin:2rem 0}.faex-article__image img{display:block;width:100%;max-height:38rem;object-fit:cover}.faex-article__content{font-size:1.06rem}.faex-article__content p{margin:0 0 1.35rem}.faex-article__aside{position:sticky;top:calc(var(--site-header-height) + 2rem);align-self:start;padding:1.6rem;background:#f4f6f3}.faex-article__aside ul{margin:1.5rem 0 0;padding:0;list-style:none}.faex-article__aside li{border-top:1px solid var(--color-border)}.faex-article__aside a{display:grid;padding:1rem 0;color:inherit;text-decoration:none}.faex-article__aside small{color:var(--primary-accessible);font-weight:800}.faex-article__aside span{font-size:.86rem;line-height:1.35}

/* =========================================================
   FAEX - MODAL DO SITE
========================================================= */
.promo-modal{width:min(62rem,calc(100% - 2rem));max-height:calc(100svh - 2rem);padding:0;border:0;background:transparent;color:var(--color-text);overflow:visible}.promo-modal::backdrop{background:rgba(6,22,21,.78);backdrop-filter:blur(7px)}.promo-modal__shell{position:relative;display:grid;grid-template-columns:1.1fr .9fr;max-height:calc(100svh - 2rem);overflow:auto;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.34)}.promo-modal__shell:has(.promo-modal__media:only-child){grid-template-columns:1fr}.promo-modal__media{min-height:25rem;background:#e8eeea}.promo-modal__media img{display:block;width:100%;height:100%;object-fit:cover}.promo-modal__content{align-self:center;padding:clamp(2rem,5vw,4.5rem)}.promo-modal__content h2{margin:1rem 0;font-size:clamp(2rem,4vw,3.8rem);line-height:1.02;letter-spacing:-.045em}.promo-modal__content p{color:var(--color-muted)}.promo-modal__close{position:absolute;top:.8rem;right:.8rem;z-index:2;display:grid;width:2.7rem;height:2.7rem;place-items:center;border:0;border-radius:50%;background:rgba(16,47,45,.92);color:#fff}

/* =========================================================
   FAEX - FOOTER
========================================================= */
.site-footer{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 10%,rgba(237,155,50,.14),transparent 28%),linear-gradient(135deg,#0c2927,#142421 58%,#0b2220)}.site-footer::after{position:absolute;right:-10rem;bottom:-13rem;width:35rem;height:35rem;border:4rem solid rgba(237,155,50,.035);border-radius:50%;content:""}.site-footer__grid,.site-footer__bottom{position:relative;z-index:1}

/* =========================================================
   FAEX - ANIMAÇÕES / RESPONSIVO
========================================================= */
[data-reveal]{transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1),clip-path .9s ease}[data-reveal]:not(.is-revealed){opacity:0;transform:translateY(1.5rem)}[data-reveal="image"]:not(.is-revealed),[data-reveal="mask"]:not(.is-revealed){clip-path:inset(0 0 100% 0);transform:none}[data-reveal="scale"]:not(.is-revealed){transform:scale(.94)}[data-reveal="hero"]:not(.is-revealed){transform:translateX(-2rem)}[data-reveal].is-revealed{opacity:1;transform:none;clip-path:inset(0)}[data-reveal="stagger"]>*{transition:opacity .55s ease,transform .55s ease}[data-reveal="stagger"]:not(.is-revealed)>*{opacity:0;transform:translateY(1.4rem)}[data-reveal="stagger"].is-revealed>*{opacity:1;transform:none}[data-reveal="stagger"]>*:nth-child(2){transition-delay:.08s}[data-reveal="stagger"]>*:nth-child(3){transition-delay:.16s}[data-reveal="stagger"]>*:nth-child(4){transition-delay:.24s}[data-reveal="stagger"]>*:nth-child(5){transition-delay:.32s}[data-reveal="stagger"]>*:nth-child(6){transition-delay:.4s}
@media(max-width:1199.98px){.faex-chain__track{grid-template-columns:repeat(3,1fr)}.faex-chain__step{min-height:17rem}.faex-chain__step h3{margin-top:3rem}.faex-service-tile{grid-column:span 6}.faex-principles__grid,.faex-structure__features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991.98px){.faex-hero__container{grid-template-columns:1fr;align-content:end}.faex-hero__proof{display:none}.faex-heading,.faex-home-about__grid,.faex-home-cer__grid,.faex-home-waste__grid,.faex-home-contact__grid,.faex-company__grid,.faex-structure__intro,.faex-waste-list__header,.faex-article__layout{grid-template-columns:1fr}.faex-home-about__visual>div{right:1rem}.faex-home-cer__content{order:2}.faex-media-grid,.faex-media-archive__grid{grid-template-columns:repeat(2,1fr)}.faex-home-cta__box{grid-template-columns:1fr}.faex-article__aside{position:static}.site-header__brand img{width:7.4rem;height:3.8rem}}
@media(max-width:767.98px){.section-space{padding-block:4rem}.faex-chain__track{grid-template-columns:1fr 1fr}.faex-chain__step{min-height:15rem}.faex-service-tile,.faex-service-tile--featured{grid-column:span 12}.faex-service-tile--featured .faex-service-tile__media{height:15rem}.faex-media-grid,.faex-media-archive__grid,.faex-waste-list__items{grid-template-columns:1fr}.faex-company__numbers{grid-template-columns:1fr}.faex-company__numbers div{border-right:0;border-bottom:1px solid var(--color-border)}.service-copy ul{grid-template-columns:1fr}.promo-modal__shell{grid-template-columns:1fr}.promo-modal__media{min-height:12rem;max-height:40svh}.promo-modal__content{padding:1.5rem}.faex-hero__scroll{display:none}}
@media(max-width:575.98px){.faex-hero{min-height:46rem}.faex-hero__container{min-height:46rem;padding-bottom:3.5rem}.faex-hero h1{font-size:clamp(2.65rem,14vw,4rem)}.faex-hero__actions{display:grid}.faex-chain__track{grid-template-columns:1fr}.faex-chain__step{min-height:13rem}.faex-chain__step h3{margin-top:2rem}.faex-home-about__visual img,.faex-home-cer__media img,.faex-home-waste__media img,.faex-company__media img,.faex-structure__image img{min-height:24rem}.faex-principles__grid,.faex-structure__features{grid-template-columns:1fr}.faex-cer-points{grid-template-columns:1fr}.faex-waste-list__items li{grid-template-columns:2.5rem 1fr}.faex-heading{gap:1.5rem}.faex-heading h2{font-size:2.2rem}.promo-modal{width:calc(100% - 1rem);max-height:calc(100svh - 1rem)}.promo-modal__shell{max-height:calc(100svh - 1rem)}}
@media(prefers-reduced-motion:reduce){[data-reveal],[data-reveal]>*{opacity:1!important;transform:none!important;clip-path:none!important}}

/* ========================================================================== */

/* ========================================================================== */
/* FAEX — DIREÇÃO DE ARTE V2 / 2026                                            */
/* ========================================================================== */
:root {
  --faex-ink: #0b2523;
  --faex-petrol: #0f3f3a;
  --faex-petrol-2: #082f2c;
  --faex-green: #66ad35;
  --faex-sage: #5d9e91;
  --faex-sage-deep: #3f786e;
  --faex-lime: #b7e56a;
  --faex-amber: #eba943;
  --faex-orange: #ed9b32;
  --faex-orange-deep: #ce711c;
  --faex-orange-soft: #fff3e3;
  --faex-mist: #f2f6f1;
  --faex-line: rgba(11, 37, 35, .12);
  --faex-radius: 22px;
  --faex-shadow: 0 28px 80px rgba(5, 34, 31, .13);
}

html { scroll-behavior: smooth; }
body { color: var(--faex-ink); background: #fff; }
.container { width: min(1320px, calc(100% - 48px)); }
.section-space { padding-block: clamp(84px, 9vw, 148px); }

.btn,
.site-header__cta,
.contato-premium__submit,
.menu-drawer__cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 10px !important;
  padding: 14px 22px;
  border-width: 1px;
  font-weight: 800;
  letter-spacing: -.01em;
  box-shadow: 0 10px 28px rgba(11, 63, 58, .14);
  transform: translateZ(0);
  transition: transform .35s ease, box-shadow .35s ease, color .35s ease, background .35s ease, border-color .35s ease;
}
.btn::before,
.site-header__cta::before,
.contato-premium__submit::before,
.menu-drawer__cta::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -40% auto -40% -45%;
  width: 34%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transition: left .65s cubic-bezier(.22,.61,.36,1);
  pointer-events: none;
}
.btn > *,
.site-header__cta > *,
.contato-premium__submit > *,
.menu-drawer__cta > * { position: relative; z-index: 2; }
.site-header__cta::after { display: none; }
.btn:hover::before,
.site-header__cta:hover::before,
.contato-premium__submit:hover::before,
.menu-drawer__cta:hover::before { left: 115%; }
.btn:hover,
.site-header__cta:hover,
.contato-premium__submit:hover,
.menu-drawer__cta:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(11, 63, 58, .22); }
.btn-primary { background: linear-gradient(135deg, #1d6a59, #0f4c46); border-color: #57bd73; color: #fff; }
.btn-outline-primary { background: rgba(255,255,255,.7); border-color: rgba(19, 87, 76, .45); color: var(--faex-petrol); }
.btn-outline-primary:hover { background: var(--faex-petrol); border-color: var(--faex-petrol); color: #fff; }
.btn-light { background: #fff; border-color: #fff; color: var(--faex-petrol); }
.btn-ghost { border: 1px solid rgba(255,255,255,.52); color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.btn-whatsapp { background: #1eaa5a; border-color: #55d88a; color: #fff; }

.faex-eyebrow,
.section-tag {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #4c9228;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.faex-eyebrow::before,
.section-tag::before { content: ""; width: 30px; height: 2px; background: linear-gradient(90deg, var(--faex-green), var(--faex-lime)); }
.faex-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .55fr) auto; gap: 48px; align-items: end; margin-bottom: 58px; }
.faex-heading h2 { max-width: 860px; margin: 16px 0 0; font-size: clamp(38px, 4.4vw, 68px); line-height: .98; letter-spacing: -.055em; }
.faex-heading > p { margin: 0; color: #5c6f6b; font-size: 17px; line-height: 1.75; }
.faex-heading--center { grid-template-columns: 1fr; max-width: 920px; margin-inline: auto; text-align: center; justify-items: center; }
.faex-heading--center h2 { margin-inline: auto; }
.faex-heading--center > p { max-width: 680px; }

[data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
[data-reveal="image"], [data-reveal="mask"], [data-reveal="scale"] { transform: translateY(26px) scale(.975); }
[data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1; transform: none; transition: none; } }

/* Adia layout e pintura das seções fora da primeira tela, sem alterar o fluxo
   nem o espaço reservado durante a rolagem. */
@supports (content-visibility: auto) {
	.home-page main > section:not(.faex-hero):not(.faex-chain) {
		content-visibility: auto;
		contain-intrinsic-size: auto 900px;
	}
}

/* Header integrado ao banner */
.home-page .site-header { position: absolute; inset: 0 0 auto; z-index: 40; background: linear-gradient(180deg, rgba(3,28,25,.86), rgba(3,28,25,.24)); border-bottom-color: rgba(255,255,255,.14); box-shadow: none; }
.home-page .site-header__brand img { filter: drop-shadow(0 8px 16px rgba(0,0,0,.24)); }
.home-page .site-nav__link { color: #fff; }
.home-page .site-nav__submenu-button { color: rgba(255,255,255,.72); }
.home-page .site-header__cta { color: #fff; border-color: rgba(140,231,158,.8); background: rgba(17,90,74,.68); backdrop-filter: blur(12px); }
.site-header { transition: background .3s ease, box-shadow .3s ease; }
.site-header.is-scrolled,
.home-page .site-header.is-scrolled { position: fixed; background: rgba(6,39,36,.96); box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.site-header.is-scrolled .site-nav__link { color: #fff; }

/* Hero */
.faex-hero { min-height: 100svh; height: 100svh; max-height: 1080px; display: flex; align-items: center; position: relative; overflow: hidden; background: var(--faex-petrol-2); }
.faex-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% center; transform: scale(1.015); }
.faex-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,25,23,.95) 0%, rgba(4,40,34,.85) 40%, rgba(15,61,43,.35) 67%, rgba(28,70,26,.13) 100%), linear-gradient(0deg, rgba(3,28,25,.65), transparent 35%); }
.faex-hero::before { content:""; position:absolute; z-index:1; inset:0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, #000, transparent 72%); }
.faex-hero__container { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 850px) 220px; gap: 80px; align-items: end; padding-top: 96px; padding-bottom: 92px; }
.faex-hero__content { max-width: 900px; }
.faex-hero__content .faex-eyebrow { color: var(--faex-lime); }
.faex-hero__content h1 { max-width: 930px; margin: 22px 0 26px; color: #fff; font-size: clamp(54px, 6.2vw, 104px); line-height: .9; letter-spacing: -.065em; text-wrap: balance; }
.faex-hero__content > p { max-width: 720px; margin: 0; color: rgba(255,255,255,.84); font-size: clamp(17px, 1.35vw, 21px); line-height: 1.7; }
.faex-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.faex-hero__proof { border-left: 1px solid rgba(255,255,255,.3); padding: 20px 0 20px 24px; color: #fff; }
.faex-hero__proof span,.faex-hero__proof small { display:block; color:rgba(255,255,255,.68); }
.faex-hero__proof strong { display:block; margin:6px 0; color:var(--faex-lime); font-size:54px; line-height:1; }
.faex-hero__trust { position: absolute; z-index: 3; inset: auto 0 0; background: rgba(5,36,32,.82); border-top: 1px solid rgba(255,255,255,.13); backdrop-filter: blur(16px); }
.faex-hero__trust .container { display:grid; grid-template-columns:repeat(3,1fr); }
.faex-hero__trust span { min-height:72px; display:flex; align-items:center; gap:10px; padding:14px 28px; color:rgba(255,255,255,.68); border-right:1px solid rgba(255,255,255,.11); }
.faex-hero__trust span:first-child { border-left:1px solid rgba(255,255,255,.11); }
.faex-hero__trust i { color:var(--faex-lime); }
.faex-hero__trust strong { color:#fff; }
.faex-hero__scroll { bottom: 96px; }

/* Processo */
.faex-chain { position:relative; overflow:hidden; background: radial-gradient(circle at 5% 15%, rgba(102,173,53,.15), transparent 25%), radial-gradient(circle at 92% 82%, rgba(15,63,58,.11), transparent 30%), #f4f7f3; }
.faex-chain::before { content:"06"; position:absolute; right:-1vw; top:-7vw; color:rgba(15,63,58,.035); font-size:32vw; font-weight:900; line-height:1; letter-spacing:-.1em; }
.faex-chain__track { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.faex-chain__step { position:relative; min-height:330px; display:flex; flex-direction:column; padding:32px; border:1px solid rgba(12,57,52,.12); border-radius:var(--faex-radius); background:rgba(255,255,255,.88); box-shadow:0 14px 45px rgba(11,53,48,.07); overflow:hidden; transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease; }
.faex-chain__step::before { content:""; position:absolute; inset:0; background:linear-gradient(145deg, transparent 55%, rgba(102,173,53,.12)); opacity:0; transition:.4s; }
.faex-chain__step:hover { transform:translateY(-10px); border-color:rgba(102,173,53,.55); box-shadow:0 28px 60px rgba(11,53,48,.14); }
.faex-chain__step:hover::before { opacity:1; }
.faex-chain__number { position:absolute; right:20px; top:8px; color:rgba(15,63,58,.07); font-size:88px; font-weight:900; letter-spacing:-.08em; }
.faex-chain__icon { width:68px; height:68px; display:grid; place-items:center; color:var(--faex-petrol); border-radius:18px; background:linear-gradient(145deg,#e8f6dc,#fff); box-shadow:inset 0 0 0 1px rgba(102,173,53,.24),0 12px 28px rgba(51,105,44,.12); }
.faex-chain__icon svg { width:34px; height:34px; }
.faex-chain__step h3 { position:relative; margin:38px 0 12px; font-size:24px; letter-spacing:-.035em; }
.faex-chain__step p { position:relative; margin:0; color:#63726f; line-height:1.65; }
.faex-chain__step > .faex-chain__arrow { position:relative; margin-top:auto; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--faex-petrol); color:#fff; transition:.35s; }
.faex-chain__arrow i { position:static; inset:auto; display:block; color:inherit; font-size:14px; line-height:1; transform:none; }
.faex-chain__step:hover .faex-chain__arrow { transform:translateX(8px); background:var(--faex-green); }

/* Sobre */
.faex-home-about { background:#fff; overflow:hidden; }
.faex-home-about__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr); gap:clamp(55px,7vw,110px); align-items:center; }
.faex-home-about__visual { position:relative; min-height:650px; }
.faex-home-about__visual > img { width:100%; height:650px; object-fit:cover; border-radius:26px 120px 26px 26px; box-shadow:var(--faex-shadow); }
.faex-home-about__visual::before { content:""; position:absolute; z-index:-1; width:65%; aspect-ratio:1; left:-8%; bottom:-8%; border-radius:50%; background:repeating-radial-gradient(circle,rgba(102,173,53,.22) 0 2px,transparent 3px 18px); }
.faex-home-about__badge { position:absolute; right:-24px; top:46px; width:150px; height:150px; display:flex; flex-direction:column; justify-content:center; align-items:center; border-radius:50%; background:linear-gradient(145deg,var(--faex-lime),var(--faex-green)); color:var(--faex-ink); box-shadow:0 22px 50px rgba(57,105,40,.3); text-align:center; }
.faex-home-about__badge span,.faex-home-about__badge small { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.faex-home-about__badge strong { font-size:36px; line-height:1.05; }
.faex-home-about__caption { position:absolute; left:28px; right:28px; bottom:28px; display:flex; align-items:center; gap:15px; padding:18px 20px; border:1px solid rgba(255,255,255,.3); border-radius:15px; background:rgba(7,42,38,.84); color:#fff; backdrop-filter:blur(14px); }
.faex-home-about__caption i { color:var(--faex-lime); font-size:24px; }
.faex-home-about__caption strong,.faex-home-about__caption span { display:block; }
.faex-home-about__content h2 { margin:18px 0 24px; font-size:clamp(40px,4.2vw,66px); line-height:.98; letter-spacing:-.055em; }
.faex-home-about__content > p { color:#566966; font-size:18px; line-height:1.75; }
.faex-about-pillars { display:grid; gap:0; margin:32px 0; border-block:1px solid var(--faex-line); }
.faex-about-pillars > div { display:grid; grid-template-columns:48px 1fr; gap:16px; align-items:center; padding:18px 0; border-bottom:1px solid var(--faex-line); }
.faex-about-pillars > div:last-child { border-bottom:0; }
.faex-about-pillars > div > span { color:var(--faex-green); font-weight:900; }
.faex-about-pillars strong,.faex-about-pillars small { display:block; }
.faex-about-pillars small { margin-top:2px; color:#7a8a87; }

/* Serviços */
.faex-home-services { position:relative; overflow:hidden; background:linear-gradient(145deg,#0b3632,#0d4841); color:#fff; }
.faex-home-services::before,.service-catalog-page::before { content:""; position:absolute; inset:0; opacity:.55; background:radial-gradient(circle at 15% 25%,rgba(174,226,92,.13),transparent 28%),radial-gradient(circle at 88% 70%,rgba(50,145,112,.18),transparent 32%),linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.025) 48% 49%,transparent 49%); }
.faex-home-services::after { content:""; position:absolute; width:700px; height:700px; right:-300px; top:-320px; border:120px solid rgba(183,229,106,.06); border-radius:50%; }
.faex-home-services .container { position:relative; z-index:1; }
.faex-heading--light h2,.faex-heading--light p { color:#fff; }
.faex-heading--light .faex-eyebrow { color:var(--faex-lime); }
.faex-services-editorial { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.faex-service-tile { grid-column:auto!important; position:relative; border:1px solid rgba(255,255,255,.13); border-radius:20px; overflow:hidden; background:rgba(255,255,255,.055); box-shadow:0 25px 70px rgba(0,0,0,.16); transition:transform .4s ease,border-color .4s ease,background .4s ease; }
.faex-service-tile:hover { transform:translateY(-9px); border-color:rgba(183,229,106,.65); background:rgba(255,255,255,.09); }
.faex-service-tile__media { position:relative; display:block; height:280px; overflow:hidden; }
.faex-service-tile__media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,37,33,.7),transparent 55%); }
.faex-service-tile__media img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.faex-service-tile:hover img { transform:scale(1.07); }
.faex-service-tile__icon { position:absolute; z-index:2; left:22px; bottom:20px; width:60px; height:60px; display:grid; place-items:center; border-radius:16px; color:var(--faex-ink); background:linear-gradient(145deg,var(--faex-lime),#fff); box-shadow:0 15px 30px rgba(0,0,0,.24); }
.faex-service-tile__icon svg { width:32px;height:32px; }
.faex-service-tile__index { position:absolute; z-index:2; right:20px; top:18px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:rgba(7,42,38,.72); color:#fff; border:1px solid rgba(255,255,255,.3); backdrop-filter:blur(8px); font-weight:900; }
.faex-service-tile > div { min-height:270px; display:flex; flex-direction:column; padding:28px; }
.faex-service-tile h3 { margin:0 0 14px; font-size:23px; line-height:1.14; letter-spacing:-.035em; }
.faex-service-tile h3 a { color:#fff; }
.faex-service-tile p { margin:0; color:rgba(255,255,255,.66); line-height:1.65; }
.faex-service-tile__link { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:22px; color:var(--faex-lime); border-top:1px solid rgba(255,255,255,.1); font-weight:800; }
.faex-service-tile__link i { width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(183,229,106,.12);transition:.3s; }
.faex-service-tile:hover .faex-service-tile__link i { transform:translateX(5px);background:var(--faex-lime);color:var(--faex-ink); }

/* CER */
.faex-home-cer { position:relative; overflow:hidden; background:linear-gradient(180deg,#f4f7f3,#fff); }
.faex-home-cer__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); align-items:center; gap:clamp(60px,8vw,120px); }
.faex-home-cer__media { position:relative; margin:0; height:680px; }
.faex-home-cer__media img { width:100%;height:100%;object-fit:cover;border-radius:120px 24px 24px 24px;box-shadow:var(--faex-shadow); }
.faex-home-cer__media figcaption { position:absolute; left:26px; right:26px; bottom:26px; padding:20px 22px; border-radius:15px; background:rgba(7,42,38,.86); color:#fff; backdrop-filter:blur(12px); }
.faex-home-cer__media figcaption span,.faex-home-cer__media figcaption strong { display:block; }
.faex-home-cer__media figcaption span { margin-bottom:5px;color:var(--faex-lime);font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.12em; }
.faex-home-cer__content h2 { margin:18px 0 24px;font-size:clamp(42px,4.2vw,66px);line-height:.98;letter-spacing:-.055em; }
.faex-home-cer__content > p { color:#5c6d69;font-size:17px;line-height:1.72; }
.faex-cer-points { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:32px 0; }
.faex-cer-points span { display:flex;align-items:center;gap:12px;min-height:78px;padding:16px;border:1px solid var(--faex-line);border-radius:14px;background:#fff;font-weight:800;box-shadow:0 10px 25px rgba(15,63,58,.05); }
.faex-cer-points i { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf5e3;color:#4c9228; }
.faex-note { display:flex;gap:10px;padding:14px 16px;border-radius:10px;background:#f2f6ef;font-size:13px!important; }

/* Resíduos */
.faex-home-waste { background:#fff; }
.faex-home-waste__grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:clamp(60px,8vw,120px);align-items:center; }
.faex-home-waste__media { position:relative;height:630px; }
.faex-home-waste__media img { width:100%;height:100%;object-fit:cover;border-radius:24px 24px 120px 24px;box-shadow:var(--faex-shadow); }
.faex-home-waste__media > div { position:absolute;right:-34px;bottom:40px;width:170px;min-height:170px;display:flex;flex-direction:column;justify-content:center;padding:25px;border-radius:20px;background:linear-gradient(145deg,var(--faex-green),var(--faex-lime));color:var(--faex-ink);box-shadow:0 22px 50px rgba(65,126,45,.28); }
.faex-home-waste__media strong { font-size:48px;line-height:1; }
.faex-home-waste__media span { margin-top:8px;font-size:12px;font-weight:800;text-transform:uppercase; }
.faex-home-waste__content h2 { margin:18px 0 24px;font-size:clamp(42px,4.2vw,66px);line-height:.98;letter-spacing:-.055em; }
.faex-home-waste__content > p { color:#5c6d69;font-size:17px;line-height:1.72; }
.faex-waste-tags { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:30px 0; }
.faex-waste-tags span { display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--faex-line);border-radius:10px;color:#516461;background:#f9fbf8; }
.faex-waste-tags b { color:var(--faex-green);font-size:11px; }

/* Mídia */
.faex-home-media,.faex-media-archive { position:relative;background:#f3f6f3;overflow:hidden; }
.faex-home-media::before,.faex-media-archive::before { content:"";position:absolute;width:650px;height:650px;left:-320px;top:-340px;border:110px solid rgba(102,173,53,.06);border-radius:50%; }
.faex-media-grid,.faex-media-archive__grid { position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.faex-media-card { border:1px solid var(--faex-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 15px 45px rgba(12,54,50,.07);transition:transform .4s ease,box-shadow .4s ease; }
.faex-media-card:hover { transform:translateY(-8px);box-shadow:0 28px 60px rgba(12,54,50,.14); }
.faex-media-card__media { display:block;height:260px;overflow:hidden;background:linear-gradient(145deg,#0c3d38,#67aa38); }
.faex-media-card__media img { width:100%;height:100%;object-fit:cover;transition:transform .6s ease; }
.faex-media-card:hover img { transform:scale(1.06); }
.faex-media-card > div { padding:26px; }
.faex-media-card > div > span { display:inline-flex;padding:6px 9px;border-radius:6px;background:#eaf5e3;color:#477f2c;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em; }
.faex-media-card time { float:right;color:#7f8e8a;font-size:12px; }
.faex-media-card h3 { clear:both;margin:18px 0 12px;font-size:22px;line-height:1.25;letter-spacing:-.035em; }
.faex-media-card p { color:#687774;line-height:1.6; }

/* CTA */
.faex-home-cta { padding-block:90px;background:#fff; }
.faex-home-cta__box { position:relative;min-height:570px;border-radius:28px;overflow:hidden;box-shadow:var(--faex-shadow); }
.faex-home-cta__box > img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center; }
.faex-home-cta__overlay { position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,35,31,.96),rgba(7,57,49,.84) 52%,rgba(7,57,49,.2)); }
.faex-home-cta__box::after { content:"";position:absolute;right:-120px;top:-120px;width:430px;height:430px;border:75px solid rgba(183,229,106,.15);border-radius:50%; }
.faex-home-cta__copy { position:relative;z-index:2;max-width:800px;padding:clamp(55px,7vw,95px);color:#fff; }
.faex-home-cta__copy .faex-eyebrow { color:var(--faex-lime); }
.faex-home-cta__copy h2 { margin:18px 0 22px;font-size:clamp(44px,5vw,74px);line-height:.96;letter-spacing:-.06em; }
.faex-home-cta__copy p { max-width:640px;color:rgba(255,255,255,.72);font-size:18px;line-height:1.7; }
.faex-home-cta__copy > div { display:flex;flex-wrap:wrap;gap:14px;margin-top:30px; }

/* Contato Home */
.faex-home-contact { position:relative;background:linear-gradient(145deg,#eef4ed,#f9fbf8);overflow:hidden; }
.faex-home-contact::before { content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(14,65,58,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(14,65,58,.035) 1px,transparent 1px);background-size:54px 54px; }
.faex-home-contact__grid { position:relative;display:grid;grid-template-columns:minmax(340px,.75fr) minmax(0,1.25fr);gap:70px;align-items:start; }
.faex-home-contact__intro { position:sticky;top:140px; }
.faex-home-contact__intro h2 { margin:18px 0 20px;font-size:clamp(44px,4.6vw,70px);line-height:.95;letter-spacing:-.055em; }
.faex-home-contact__intro > p { color:#5e706c;font-size:17px;line-height:1.7; }
.faex-contact-summary { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px; }
.faex-contact-summary > * { display:flex;align-items:center;gap:13px;min-height:82px;padding:15px;border:1px solid var(--faex-line);border-radius:13px;background:rgba(255,255,255,.75); }
.faex-contact-summary i { width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e8f4e2;color:#4e922e; }
.faex-contact-summary small,.faex-contact-summary strong { display:block; }
.faex-contact-summary small { margin-bottom:3px;color:#7d8c89; }
.faex-home-contact__form { padding:42px;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 30px 80px rgba(10,54,48,.13);backdrop-filter:blur(12px); }
.faex-home-contact__form header { margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--faex-line); }
.faex-home-contact__form header span { color:#4c9228;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.14em; }
.faex-home-contact__form header h3 { margin:7px 0 0;font-size:28px;letter-spacing:-.035em; }
.faex-home-contact__form input,.faex-home-contact__form textarea,.faex-home-contact__form select { min-height:58px;border-radius:10px;border:1px solid #d6e0dc;background:#f9fbfa; }
.faex-home-contact__form textarea { min-height:150px; }

/* Páginas institucionais */
.company-story__grid,.structure-hero__grid,.waste-intro__grid { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:clamp(55px,7vw,100px);align-items:center; }
.company-story__visual { position:relative;min-height:690px; }
.company-story__visual > img { width:100%;height:690px;object-fit:cover;border-radius:26px 100px 26px 26px;box-shadow:var(--faex-shadow); }
.company-story__seal { position:absolute;right:-30px;top:42px;width:145px;height:145px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(145deg,var(--faex-lime),var(--faex-green));box-shadow:0 22px 45px rgba(64,121,40,.28); }
.company-story__seal span,.company-story__seal small { font-size:10px;font-weight:900;text-transform:uppercase; }
.company-story__seal strong { font-size:34px;line-height:1.1; }
.company-story__quote { position:absolute;left:28px;right:80px;bottom:28px;display:flex;gap:14px;padding:22px;border-radius:14px;background:rgba(5,41,37,.86);color:#fff;backdrop-filter:blur(12px); }
.company-story__quote i { color:var(--faex-lime); }
.company-story__quote p { margin:0;font-weight:800; }
.company-story__content h2,.structure-hero__content h2,.waste-intro h2 { margin:18px 0 24px;font-size:clamp(42px,4.5vw,68px);line-height:.97;letter-spacing:-.055em; }
.company-story__content p,.structure-hero__content p,.waste-intro p { color:#5d6e6b;line-height:1.75; }
.company-story__lead,.structure-hero__lead { color:var(--faex-ink)!important;font-size:19px;font-weight:650; }
.company-story__stats { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0; }
.company-story__stats > div { padding:16px;border-radius:12px;background:#f1f6ee;border:1px solid var(--faex-line); }
.company-story__stats strong,.company-story__stats span { display:block; }
.company-story__stats strong { color:#4d922d;font-size:27px; }
.company-story__stats span { margin-top:4px;color:#687875;font-size:12px; }
.company-purpose { position:relative;overflow:hidden;background:linear-gradient(145deg,#0b3733,#0e4b43);color:#fff; }
.company-purpose::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0,rgba(183,229,106,.15),transparent 30%),radial-gradient(circle at 90% 90%,rgba(85,165,100,.18),transparent 35%); }
.company-purpose .container { position:relative; }
.company-purpose .faex-heading h2,.company-purpose .faex-heading p { color:#fff; }
.company-purpose .faex-eyebrow { color:var(--faex-lime); }
.company-purpose__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.company-purpose__grid article { position:relative;min-height:360px;padding:34px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.055);overflow:hidden; }
.company-purpose__grid article > small { position:absolute;right:22px;top:10px;color:rgba(255,255,255,.06);font-size:78px;font-weight:900; }
.company-purpose__icon { width:64px;height:64px;display:grid;place-items:center;border-radius:17px;background:var(--faex-lime);color:var(--faex-ink);font-size:24px; }
.company-purpose__grid h3 { margin:52px 0 15px;font-size:30px; }
.company-purpose__grid p { color:rgba(255,255,255,.7);line-height:1.7; }
.company-method { background:#f3f6f2; }
.company-method__grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start; }
.company-method h2 { margin:18px 0 20px;font-size:clamp(40px,4vw,62px);line-height:.98;letter-spacing:-.05em; }
.company-method p { color:#61716e;line-height:1.7; }
.company-method__steps { display:grid;gap:12px; }
.company-method__steps article { display:grid;grid-template-columns:70px 1fr;gap:22px;padding:26px;border:1px solid var(--faex-line);border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(12,54,50,.06); }
.company-method__steps article > span { color:var(--faex-green);font-size:27px;font-weight:900; }
.company-method__steps h3 { margin:0 0 5px;font-size:21px; }
.company-method__steps p { margin:0; }

.structure-hero__media { position:relative;display:block;height:680px;border-radius:100px 24px 24px 24px;overflow:hidden;box-shadow:var(--faex-shadow); }
.structure-hero__media > img { width:100%;height:100%;object-fit:cover; }
.structure-hero__media::after { content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(5,38,34,.9)); }
.structure-hero__media > span { position:absolute;z-index:2;right:20px;top:20px;padding:9px 12px;border-radius:8px;background:rgba(5,38,34,.75);color:#fff;backdrop-filter:blur(8px); }
.structure-hero__media > div { position:absolute;z-index:2;left:26px;right:26px;bottom:25px;color:#fff; }
.structure-hero__media small,.structure-hero__media strong { display:block; }
.structure-hero__media small { color:var(--faex-lime);text-transform:uppercase;font-weight:900;letter-spacing:.1em; }
.structure-hero__media strong { margin-top:5px;font-size:22px; }
.structure-hero__actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:30px; }
.structure-features { position:relative;background:#f2f6f1;overflow:hidden; }
.structure-features__grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px; }
.structure-features__grid article { position:relative;min-height:320px;padding:28px;border:1px solid var(--faex-line);border-radius:18px;background:#fff;box-shadow:0 14px 40px rgba(12,54,50,.06); }
.structure-features__grid article > span { width:58px;height:58px;display:grid;place-items:center;border-radius:15px;background:#e9f4e3;color:#4b912d;font-size:22px; }
.structure-features__grid small { position:absolute;right:20px;top:17px;color:rgba(13,63,57,.1);font-size:52px;font-weight:900; }
.structure-features__grid h3 { margin:60px 0 12px;font-size:22px; }
.structure-features__grid p { color:#687874;line-height:1.65; }
.structure-flow { background:linear-gradient(145deg,#0b3733,#0f4d45);color:#fff; }
.structure-flow__grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start; }
.structure-flow h2 { margin:18px 0;font-size:clamp(40px,4vw,62px);line-height:.98;letter-spacing:-.05em; }
.structure-flow p { color:rgba(255,255,255,.7);line-height:1.7; }
.structure-flow .faex-eyebrow { color:var(--faex-lime); }
.structure-flow ol { list-style:none;margin:0;padding:0;display:grid;gap:12px; }
.structure-flow li { display:grid;grid-template-columns:58px 1fr;gap:20px;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.05); }
.structure-flow li > span { color:var(--faex-lime);font-size:22px;font-weight:900; }
.structure-flow strong,.structure-flow small { display:block; }
.structure-flow strong { font-size:20px; }
.structure-flow small { margin-top:6px;color:rgba(255,255,255,.62); }
.structure-disclaimer { display:flex;gap:14px;margin-block:35px;padding:20px 24px;border-left:4px solid var(--faex-green);border-radius:0 12px 12px 0;background:#eef5e9;color:#52625f; }

.waste-intro figure { position:relative;margin:0;height:620px; }
.waste-intro figure > img { width:100%;height:100%;object-fit:cover;border-radius:24px 100px 24px 24px;box-shadow:var(--faex-shadow); }
.waste-intro figcaption { position:absolute;left:24px;right:24px;bottom:24px;display:flex;align-items:center;gap:14px;padding:18px;border-radius:13px;background:rgba(7,42,38,.86);color:#fff;backdrop-filter:blur(10px); }
.waste-intro figcaption i { color:var(--faex-lime);font-size:22px; }
.waste-intro figcaption strong { display:block; }
.waste-intro__facts { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px; }
.waste-intro__facts > div { display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--faex-line);border-radius:14px;background:#f7faf6; }
.waste-intro__facts strong { color:var(--faex-green);font-size:38px; }
.waste-intro__facts i { color:var(--faex-green);font-size:30px; }
.waste-catalog { position:relative;background:#f2f6f1; }
.faex-waste-search { margin-bottom:18px;padding:24px;border-radius:16px;background:linear-gradient(145deg,#0b3733,#0f4b43);box-shadow:0 18px 45px rgba(8,50,44,.18); }
.faex-waste-search label { color:var(--faex-lime); }
.faex-waste-search > div { border-radius:10px;overflow:hidden; }
.faex-waste-list__items { display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;border:0!important; }
.faex-waste-list__items li { min-height:110px;display:grid!important;grid-template-columns:52px 1fr;align-items:stretch;padding:0!important;border:1px solid var(--faex-line)!important;border-radius:13px;background:#fff;overflow:hidden;transition:.3s; }
.faex-waste-list__items li:hover { transform:translateY(-4px);border-color:rgba(102,173,53,.55)!important;box-shadow:0 15px 35px rgba(12,54,50,.09); }
.faex-waste-list__items li > span { display:grid;place-items:center;background:#e9f4e3;color:#4c9228;font-weight:900; }
.faex-waste-list__items li > div { display:flex;align-items:center;gap:12px;padding:18px; }
.faex-waste-list__items li i { color:#73b74c; }
.faex-waste-list__items li p { margin:0;line-height:1.5; }

/* Formulário interno */
.internal-contact-band { padding-block:58px;background:linear-gradient(115deg,#0a3833,#116052);color:#fff;overflow:hidden; }
.internal-contact-band .container { display:flex;justify-content:space-between;align-items:center;gap:40px; }
.internal-contact-band .faex-eyebrow { color:var(--faex-lime); }
.internal-contact-band h2 { margin:10px 0 6px;font-size:clamp(30px,3vw,46px);letter-spacing:-.04em; }
.internal-contact-band p { margin:0;color:rgba(255,255,255,.7); }
.internal-contact-form { padding-block:85px; }
.service-contact { padding:45px!important;border:1px solid var(--faex-line);border-radius:22px;background:#f4f7f3;box-shadow:0 20px 55px rgba(12,54,50,.08); }
.service-contact__copy { max-width:760px;margin-bottom:30px; }
.service-contact__copy h2 { margin:12px 0;font-size:clamp(32px,3vw,48px);letter-spacing:-.045em; }
.service-contact form { padding:32px;border-radius:16px;background:#fff; }
.service-contact input,.service-contact textarea { border-radius:9px!important;background:#f9fbfa!important;min-height:55px; }

/* Catálogo e detalhes de serviço */
.service-catalog-page { position:relative;padding-block:120px;background:linear-gradient(180deg,#f2f6f1,#fff);overflow:hidden; }
.service-catalog-page .catalogo-grid { position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.service-catalog-page .catalogo-card { border:1px solid var(--faex-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(12,54,50,.08);transition:.4s; }
.service-catalog-page .catalogo-card:hover { transform:translateY(-8px);box-shadow:0 30px 70px rgba(12,54,50,.15); }
.catalogo-card__media { position:relative;height:270px;display:block;overflow:hidden; }
.catalogo-card__media img { width:100%;height:100%;object-fit:cover;transition:.6s; }
.catalogo-card:hover .catalogo-card__media img { transform:scale(1.06); }
.catalogo-card__media::after { content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(5,40,35,.75)); }
.catalogo-card__icon { position:absolute;z-index:2;left:20px;bottom:18px;width:58px;height:58px;display:grid;place-items:center;border-radius:15px;background:var(--faex-lime);color:var(--faex-ink);box-shadow:0 12px 28px rgba(0,0,0,.22); }
.catalogo-card__icon svg { width:31px;height:31px; }
.catalogo-card__media small { position:absolute;z-index:2;right:18px;top:16px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(5,40,35,.72);color:#fff;font-weight:900; }
.service-catalog-page .catalogo-card__body { min-height:300px;display:flex;flex-direction:column;padding:26px; }
.service-catalog-page .catalogo-card__body h3 { margin:0 0 13px;font-size:23px;line-height:1.15; }
.service-catalog-page .catalogo-card__body p { color:#657572;line-height:1.62; }
.service-catalog-page .catalogo-card__button { margin-top:auto;align-self:flex-start; }
.service-detail { padding-block:100px;background:linear-gradient(180deg,#fff,#f4f7f3); }
.catalogo-detalhe__layout { display:grid;grid-template-columns:280px minmax(0,1fr);gap:50px;align-items:start; }
.catalogo-detalhe__main { min-width:0; }
.catalogo-detalhe__intro { display:grid!important;grid-template-columns:82px 1fr;gap:22px;align-items:start;padding:34px;border-radius:20px;background:#fff;border:1px solid var(--faex-line);box-shadow:0 15px 45px rgba(12,54,50,.06); }
.service-detail__icon { width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,var(--faex-lime),#eaffcc);color:var(--faex-ink); }
.service-detail__icon svg { width:38px;height:38px; }
.catalogo-detalhe__intro h2 { margin:10px 0 14px;font-size:clamp(35px,3.8vw,58px);line-height:1;letter-spacing:-.05em; }
.catalogo-detalhe__intro p { color:#60716d;font-size:17px;line-height:1.7; }
.galeria-catalogo { width:100%;min-width:0;margin-block:24px!important;overflow:hidden; }
.galeria-catalogo__item--principal { position:relative;width:100%!important;min-width:0!important;max-width:100%!important;height:520px!important;border-radius:20px!important;overflow:hidden;box-shadow:var(--faex-shadow); }
.galeria-catalogo__item--principal img { width:100%;height:100%!important;object-fit:cover!important; }
.galeria-catalogo__item--principal::after { content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(5,39,34,.88)); }
.service-detail__image-label { position:absolute;z-index:2;left:28px;bottom:25px;color:#fff; }
.service-detail__image-label small,.service-detail__image-label strong { display:block; }
.service-detail__image-label small { color:var(--faex-lime);font-weight:900;text-transform:uppercase;letter-spacing:.1em; }
.service-detail__image-label strong { margin-top:4px;font-size:21px; }
.galeria-catalogo__item--principal > i { position:absolute;z-index:2;right:22px;top:22px;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:rgba(5,39,34,.7);color:#fff; }
.service-detail__trust { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px; }
.service-detail__trust span { display:flex;align-items:center;gap:10px;padding:16px;border:1px solid var(--faex-line);border-radius:11px;background:#fff;font-weight:800; }
.service-detail__trust i { color:var(--faex-green); }
.service-copy { padding:38px!important;border-radius:20px;background:#fff;border:1px solid var(--faex-line); }
.service-copy h2 { font-size:34px;letter-spacing:-.04em; }
.service-copy p { color:#5c6e6a;line-height:1.75; }
.service-copy ul { display:grid!important;grid-template-columns:1fr 1fr;gap:10px; }
.service-copy li { padding:14px!important;border-radius:10px;background:#eff6eb; }
.catalogo-detalhe__actions { display:flex;flex-wrap:wrap;gap:12px;margin-block:25px; }
.service-detail .service-contact { margin-top:28px; }

/* Mídia e artigos */
.faex-media-archive__filters { display:flex;flex-wrap:wrap;gap:9px;margin-bottom:35px; }
.faex-media-archive__filters button { min-width:72px;padding:11px 16px;border:1px solid var(--faex-line);border-radius:9px;background:#fff;color:var(--faex-petrol);font-weight:800;transition:.3s; }
.faex-media-archive__filters button:hover,.faex-media-archive__filters button.is-active { background:var(--faex-petrol);border-color:var(--faex-petrol);color:#fff;transform:translateY(-2px); }
.faex-article { background:linear-gradient(180deg,#f2f6f1,#fff); }
.faex-article__layout { display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:55px;align-items:start; }
.faex-article__main { padding:45px;border:1px solid var(--faex-line);border-radius:22px;background:#fff;box-shadow:0 25px 70px rgba(12,54,50,.08); }
.faex-article__meta { display:flex!important;flex-wrap:wrap;align-items:center;gap:10px; }
.faex-article__meta span,.faex-article__meta time,.faex-article__meta small { float:none!important;display:inline-flex!important;align-items:center;gap:6px;padding:7px 10px;border-radius:7px;background:#edf5e8;color:#4e7e3a!important;font-size:11px!important;font-weight:900;text-transform:uppercase;letter-spacing:.06em; }
.faex-article__header h2 { margin:24px 0;font-size:clamp(38px,4.5vw,66px);line-height:1;letter-spacing:-.055em; }
.faex-article__archive-note { display:flex;gap:12px;padding:17px;border-left:4px solid var(--faex-amber);border-radius:0 10px 10px 0;background:#fff8e9;color:#705f3f;line-height:1.6; }
.faex-article__image { margin:30px 0;overflow:hidden;border-radius:18px;box-shadow:0 18px 45px rgba(12,54,50,.12); }
.faex-article__image img { width:100%;height:auto;max-height:590px;object-fit:cover; }
.faex-article__content { max-width:780px;margin-inline:auto; }
.faex-article__content p { font-size:18px;line-height:1.9;color:#40534f; }
.faex-article__content p:first-child { font-size:22px;color:var(--faex-ink);font-weight:650; }
.faex-article__footer { display:flex;justify-content:space-between;gap:12px;margin-top:38px;padding-top:30px;border-top:1px solid var(--faex-line); }
.faex-article__aside { position:sticky;top:120px;padding:28px;border-radius:18px;background:linear-gradient(145deg,#0b3733,#0e4b43);color:#fff;box-shadow:0 20px 55px rgba(7,48,43,.18); }
.faex-article__aside .faex-eyebrow { color:var(--faex-lime); }
.faex-article__aside h2 { color:#fff;font-size:28px; }
.faex-article__aside ul { margin:0;padding:0;list-style:none; }
.faex-article__aside li { border-top:1px solid rgba(255,255,255,.12); }
.faex-article__aside a { display:block;padding:18px 0;color:#fff; }
.faex-article__aside small { display:block;margin-bottom:5px;color:var(--faex-lime);font-weight:800; }
.faex-article__aside span { display:block;line-height:1.35;color:rgba(255,255,255,.78); }

/* Mapa */
.mapa-site-page { padding-block:110px;background:linear-gradient(180deg,#f2f6f1,#fff); }
.mapa-site__intro { max-width:800px;margin-bottom:50px; }
.mapa-site__intro h2 { margin:14px 0;font-size:clamp(40px,4.5vw,66px);line-height:1;letter-spacing:-.055em; }
.mapa-site__grid { display:grid!important;grid-template-columns:1fr 1fr!important;gap:22px!important; }
.mapa-site__card,.mapa-site__card--wide { grid-column:auto!important;min-height:380px;max-height:430px;padding:30px!important;border:1px solid var(--faex-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 18px 50px rgba(12,54,50,.08);overflow:hidden; }
.mapa-site__card h3 { margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--faex-line);font-size:26px;color:var(--faex-petrol); }
.mapa-site__card ul { max-height:310px;overflow-y:auto;padding-right:10px;scrollbar-color:var(--faex-green) #edf2eb;scrollbar-width:thin; }
.mapa-site__card li a { display:flex;gap:10px;padding:11px 0;border-bottom:1px solid rgba(12,54,50,.07);transition:.25s; }
.mapa-site__card li a:hover { padding-left:7px;color:var(--faex-green); }

/* Contato interno */
.contato-premium { padding-block:110px;background:linear-gradient(180deg,#f2f6f1,#fff); }
.contato-premium__intro h2 { font-size:clamp(42px,4.5vw,68px);line-height:.98;letter-spacing:-.055em; }
.contato-premium__shell { border-radius:24px!important;overflow:hidden;box-shadow:0 30px 80px rgba(10,54,48,.14)!important; }
.contato-premium__aside { padding:0 38px 38px!important;background:linear-gradient(160deg,#0b3733,#0e4d45)!important; }
.contato-premium__visual { position:relative;height:300px;margin:0 -38px 34px;overflow:hidden; }
.contato-premium__visual::after { content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0b3733); }
.contato-premium__visual img { width:100%;height:100%;object-fit:cover; }
.contato-premium__visual figcaption { position:absolute;z-index:2;left:30px;bottom:20px;color:#fff;font-weight:800; }
.contato-premium__visual figcaption i { color:var(--faex-lime);margin-right:8px; }
.contato-premium__aside-head h2 { font-size:36px!important; }
.contato-premium__channels > * { border-radius:12px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.1)!important; }
.contato-premium__form { padding:48px!important;background:#fff!important; }
.contato-premium__fields input,.contato-premium__fields select,.contato-premium__fields textarea { min-height:58px;border-radius:10px!important;background:#f8faf8!important; }
.contato-premium__submit { border-radius:10px!important;background:linear-gradient(135deg,#1d6a59,#0f4c46)!important;color:#fff!important; }
.contato-premium__map { border-radius:20px!important;overflow:hidden;box-shadow:0 18px 50px rgba(12,54,50,.09); }

/* Responsividade */
@media (max-width: 1100px) {
  .site-nav { display: none; }
  .site-header__menu-button { display: grid; }
  .site-header__grid { grid-template-columns: 1fr auto; }
  .site-header__cta { display: none !important; }
  .faex-heading { grid-template-columns:1fr;gap:20px;align-items:start; }
  .faex-hero__container { grid-template-columns:1fr; }
  .faex-hero__proof { display:none; }
  .faex-chain__track,.faex-services-editorial,.service-catalog-page .catalogo-grid { grid-template-columns:repeat(2,1fr); }
  .faex-home-about__grid,.faex-home-cer__grid,.faex-home-waste__grid,.company-story__grid,.structure-hero__grid,.waste-intro__grid { grid-template-columns:1fr 1fr;gap:45px; }
  .faex-home-about__visual,.faex-home-about__visual > img,.faex-home-cer__media,.faex-home-waste__media,.company-story__visual,.company-story__visual > img,.structure-hero__media,.waste-intro figure { height:560px;min-height:560px; }
  .structure-features__grid { grid-template-columns:1fr 1fr; }
  .faex-home-contact__grid { grid-template-columns:1fr; }
  .faex-home-contact__intro { position:static; }
  .faex-article__layout { grid-template-columns:1fr; }
  .faex-article__aside { position:static; }
}

.service-detail { padding-bottom: 60px; }
.service-detail + .catalogo-relacionados { padding-top: 70px; }

@media (max-width: 767px) {
  .site-header__cta { display: none !important; }
  .container { width:min(100% - 30px,1320px); }
  .section-space { padding-block:76px; }
  .home-page .site-header { position:absolute; }
  .faex-hero { height:100svh;min-height:650px;max-height:none; }
  .faex-hero__image { object-position:68% center; }
  .faex-hero__veil { background:linear-gradient(90deg,rgba(2,25,23,.96),rgba(3,38,32,.8) 74%,rgba(3,38,32,.48)); }
  .faex-hero__container { display:block;padding-top:110px;padding-bottom:122px; }
  .faex-hero__content h1 { max-width:680px;font-size:clamp(48px,14vw,74px);line-height:.92; }
  .faex-hero__content > p { font-size:16px;line-height:1.6; }
  .faex-hero__actions .btn { width:100%; }
  .faex-hero__trust .container { grid-template-columns:1fr 1fr; }
  .faex-hero__trust span { min-height:58px;padding:10px;font-size:11px; }
  .faex-hero__trust span:last-child { display:none; }
  .faex-hero__scroll { display:none; }
  .faex-heading h2 { font-size:clamp(38px,11vw,54px); }
  .faex-chain__track,.faex-services-editorial,.service-catalog-page .catalogo-grid,.company-purpose__grid,.faex-media-grid,.faex-media-archive__grid { grid-template-columns:1fr; }
  .faex-chain__step { min-height:300px; }
  .faex-home-about__grid,.faex-home-cer__grid,.faex-home-waste__grid,.company-story__grid,.structure-hero__grid,.waste-intro__grid,.company-method__grid,.structure-flow__grid { grid-template-columns:1fr; }
  .faex-home-about__visual,.faex-home-about__visual > img,.faex-home-cer__media,.faex-home-waste__media,.company-story__visual,.company-story__visual > img,.structure-hero__media,.waste-intro figure { height:470px;min-height:470px; }
  .faex-home-about__visual > img,.faex-home-cer__media img,.faex-home-waste__media img,.company-story__visual > img,.structure-hero__media,.waste-intro figure > img { border-radius:20px 70px 20px 20px; }
  .faex-home-about__badge,.company-story__seal { width:116px;height:116px;right:12px;top:18px; }
  .faex-home-about__badge strong,.company-story__seal strong { font-size:28px; }
  .faex-home-about__caption { left:14px;right:14px;bottom:14px; }
  .faex-home-about__content h2,.faex-home-cer__content h2,.faex-home-waste__content h2,.company-story__content h2,.structure-hero__content h2,.waste-intro h2 { font-size:clamp(38px,11vw,54px); }
  .faex-cer-points,.faex-waste-tags,.faex-contact-summary,.waste-intro__facts,.company-story__stats { grid-template-columns:1fr; }
  .faex-home-waste__media > div { right:14px;bottom:14px;width:140px;min-height:140px; }
  .faex-home-cta__box { min-height:620px; }
  .faex-home-cta__overlay { background:linear-gradient(90deg,rgba(4,35,31,.97),rgba(7,57,49,.74)); }
  .faex-home-cta__copy { padding:38px 25px; }
  .faex-home-cta__copy h2 { font-size:clamp(40px,11vw,58px); }
  .faex-home-cta__copy .btn { width:100%; }
  .faex-home-contact__form,.service-contact,.service-contact form,.faex-article__main,.contato-premium__form { padding:24px!important; }
  .structure-features__grid { grid-template-columns:1fr; }
  .internal-contact-band .container { flex-direction:column;align-items:flex-start; }
  .internal-contact-band .btn { width:100%; }
  .faex-waste-list__items { grid-template-columns:1fr!important; }
  .catalogo-detalhe__layout { grid-template-columns:1fr; }
  .catalogo-detalhe__layout > aside { order:2;position:static!important; }
  .catalogo-detalhe__main { order:1; }
  .catalogo-detalhe__intro { grid-template-columns:1fr;padding:24px; }
  .galeria-catalogo__item--principal { height:380px!important; }
  .service-detail__trust,.service-copy ul { grid-template-columns:1fr; }
  .mapa-site__grid { grid-template-columns:1fr!important; }
  .mapa-site__card,.mapa-site__card--wide { min-height:340px;max-height:400px; }
  .faex-article__footer { flex-direction:column; }
  .faex-article__footer .btn { width:100%; }
  .contato-premium__shell { display:block!important; }
  .contato-premium__aside { padding-inline:24px!important; }
  .contato-premium__visual { margin-inline:-24px; }
}

@media (max-width: 420px) {
  .faex-hero__content h1 { font-size:43px; }
  .faex-hero__content .faex-eyebrow { font-size:10px; }
  .faex-service-tile__media,.catalogo-card__media { height:235px; }
  .faex-home-about__visual,.faex-home-about__visual > img,.faex-home-cer__media,.faex-home-waste__media,.company-story__visual,.company-story__visual > img,.structure-hero__media,.waste-intro figure { height:410px;min-height:410px; }
}

/* FAEX refinement pass 03: robust reveals, contrast and responsive rhythm */
[data-reveal].is-revealed,
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
}
[data-reveal="image"],
[data-reveal="mask"],
[data-reveal="scale"] {
  opacity: 1 !important;
  transform: none !important;
  clip-path: inset(0) !important;
}
[data-reveal="stagger"].is-revealed > *,
[data-reveal="stagger"].is-visible > * {
  opacity: 1;
  transform: none;
}
.faex-ui-icon { width: 1.9rem; height: 1.9rem; display: block; flex: 0 0 auto; }

.site-header,
.site-header.is-scrolled,
.home-page .site-header.is-scrolled {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.faixa-page {
  isolation: isolate;
  min-height: 285px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 14% 105%, rgba(237, 155, 50, .32), transparent 31%),
    radial-gradient(circle at 78% 25%, rgba(190, 240, 107, .24), transparent 23%),
    radial-gradient(circle at 98% 110%, rgba(0, 44, 37, .44), transparent 38%),
    linear-gradient(118deg, #367f25 0%, #58a832 48%, #2f7e37 100%);
  box-shadow: inset 0 -1px rgba(255,255,255,.14), 0 24px 55px rgba(13,56,48,.14);
}
.faixa-page::before {
  opacity: .55;
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, transparent 8%, #000 45%, #000 92%);
}
.faixa-page::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(4,42,35,.24), transparent 52%, rgba(5,49,42,.14));
  pointer-events: none;
}
.faixa-page__content { width: 100%; }
.faixa-page h1 { max-width: 780px; text-shadow: 0 10px 28px rgba(8,46,39,.2); }

.faex-chain .faex-heading { max-width: 800px; margin-bottom: 46px; }
.faex-chain .faex-heading h2 { max-width: 760px; font-size: clamp(36px,3.8vw,58px); }
.faex-chain__track { gap: 16px; }
.faex-chain__track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.faex-chain__step { min-width: 0; }
.faex-chain__step { min-height: 285px; padding: 28px; }
.faex-chain__number { top: 10px; font-size: 72px; }
.faex-chain__icon { width: 62px; height: 62px; }
.faex-chain__icon svg { width: 32px; height: 32px; }
.faex-chain__step h3 { margin-top: 28px; font-size: 22px; }

.company-purpose .faex-heading h2,
.company-purpose .faex-heading p,
.company-purpose__grid h3,
.structure-flow h2,
.internal-contact-band h2,
.faex-home-cta__copy h2 { color: #fff !important; }
.company-purpose__grid article { min-height: 315px; }
.company-purpose__grid h3 { margin-top: 40px; }
.company-purpose__icon .faex-ui-icon,
.structure-features__grid .faex-ui-icon { width: 30px; height: 30px; }
.faex-cer-points .faex-ui-icon { width: 26px; height: 26px; color: #4c9228; }
.structure-features__grid article > span { color: #346b2b; }
.waste-intro__facts .faex-ui-icon { width: 32px; height: 32px; color: var(--faex-green); }

.internal-contact-band {
  position: relative;
  isolation: isolate;
  padding-block: 76px;
  background:
    radial-gradient(circle at 84% 12%, rgba(183,229,106,.2), transparent 26%),
    linear-gradient(118deg,#082f2c 0%,#0b4e45 52%,#116957 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.08), inset 0 -1px rgba(0,0,0,.2);
}
.internal-contact-band::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  right: -110px;
  top: -205px;
  border: 70px solid rgba(183,229,106,.09);
  border-radius: 50%;
}
.internal-contact-band h2 { text-shadow: 0 10px 30px rgba(0,0,0,.18); }

.service-contact {
  display: grid;
  grid-template-columns: minmax(260px,.72fr) minmax(0,1.65fr);
  gap: clamp(30px,4vw,60px);
  align-items: start;
}
.service-contact__copy { margin: 10px 0 0; }
.service-contact form { margin: 0; }
.service-contact .form-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.service-contact textarea { min-height: 145px; resize: vertical; }

.catalogo-card__media,
.faex-service-tile__media {
  height: auto;
  aspect-ratio: 24 / 17;
}
.galeria-catalogo__item--principal {
  height: auto !important;
  aspect-ratio: 24 / 17;
}
.catalogo-relacionados__swiper .swiper-wrapper { align-items: stretch; }
.catalogo-relacionados__swiper .swiper-slide { height: auto; }
.catalogo-relacionados__swiper .box-mais-visitado,
.catalogo-relacionados__swiper .box-mais-visitado > a { height: 100%; }
.catalogo-relacionados__swiper .box-mais-visitado > a { display: flex; flex-direction: column; }
.catalogo-relacionados__swiper .box-mais-visitado img { aspect-ratio: 24 / 17; object-fit: cover; }
.catalogo-relacionados__swiper .box-mais-visitado h3 { min-height: 74px; display: flex; align-items: flex-start; }

.contato-premium__shell {
  align-items: start;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none !important;
  gap: 24px;
}
.contato-premium__aside,
.contato-premium__form { overflow: hidden; border-radius: 22px; box-shadow: 0 24px 65px rgba(10,54,48,.12); }
.contato-premium__visual { height: 235px; margin-bottom: 26px; }
.contato-premium__aside { padding-bottom: 30px !important; }
.contato-premium__form { padding: 40px !important; }
.contato-premium__fields textarea { min-height: 150px; resize: vertical; }

.faex-article__content { max-width: 730px; }
.faex-article__content p { margin-bottom: 1.55rem; font-weight: 400; text-wrap: pretty; }
.faex-article__content p:not(:first-child) { text-indent: 1.8rem; }
.faex-article__content p:first-child { font-size: 20px; line-height: 1.75; }
.faex-article__source { margin: 28px 0; padding: 20px; border: 1px solid var(--faex-line); border-radius: 14px; background: #f3f8f0; }
.faex-media-card__links { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 18px; }
.faex-media-card__links .faex-source-link { font-size: 13px; color: #59706a; }

/* O menu móvel usa uma cópia da navegação principal. Mantém o contraste
   próprio do painel mesmo quando a página inicial deixa o menu desktop branco. */
.home-page .menu-drawer__nav .site-nav__link,
.menu-drawer__nav .site-nav__link { color: var(--faex-ink); }
.home-page .menu-drawer__nav .site-nav__submenu-button,
.menu-drawer__nav .site-nav__submenu-button {
  color: #2f742b;
  background: #e8f4df;
}
.menu-drawer__nav .site-nav__link:hover,
.menu-drawer__nav .site-nav__link.is-active,
.menu-drawer__nav .site-nav__link[aria-current="page"] { color: #347f2e; }
.menu-drawer__nav .site-nav__submenu a { color: var(--faex-ink); }

/* Identidade FAEX: ícones históricos, acentos laranja e logos sem caixas artificiais */
.faex-service-icon { display:block; overflow:visible; }
.faex-service-icon .icon-teal { stroke:#1d756c; }
.faex-service-icon .icon-lime { stroke:#90c73e; }
.faex-service-icon .icon-soft { stroke:#cddf9e; }
.faex-service-icon .icon-orange { stroke:#ed9b32; }
.faex-service-icon .icon-orange-fill { fill:#ed9b32; stroke:none; }
.faex-chain__icon { width:76px; height:76px; background:linear-gradient(145deg,#fff8ee,#fff); box-shadow:inset 0 0 0 1px rgba(237,155,50,.32),0 14px 30px rgba(118,71,22,.12); }
.faex-chain__icon svg { width:55px; height:55px; }
.faex-chain__number { color:rgba(224,126,31,.13); }
.faex-chain__step::before { background:linear-gradient(145deg,transparent 52%,rgba(237,155,50,.13)); }
.faex-chain__step:hover { border-color:rgba(237,155,50,.58); }
.faex-chain__step:hover .faex-chain__arrow { background:var(--faex-orange-deep); }
.faex-service-tile__icon { width:72px; height:72px; background:linear-gradient(145deg,#fff7e9,#fff); box-shadow:inset 0 0 0 1px rgba(237,155,50,.3),0 15px 30px rgba(0,0,0,.24); }
.faex-service-tile__icon svg { width:54px; height:54px; }
.faex-service-tile__index { border-color:rgba(237,155,50,.75); }
.faex-service-tile__link { color:#ffc56f; }
.faex-service-tile:hover { border-color:rgba(237,155,50,.68); }
.faex-service-tile:hover .faex-service-tile__link i { background:var(--faex-orange); color:#192f2a; }
.catalogo-card__icon,
.service-detail__icon { background:linear-gradient(145deg,#fff7e9,#fff); box-shadow:inset 0 0 0 1px rgba(237,155,50,.3),0 12px 28px rgba(0,0,0,.16); }
.catalogo-card__icon { width:68px; height:68px; }
.catalogo-card__icon svg { width:50px; height:50px; }
.service-detail__icon svg { width:54px; height:54px; }
.faex-eyebrow::before,
.section-tag::before { background:linear-gradient(90deg,var(--faex-green),var(--faex-orange)); }
.faex-home-about__badge,
.company-story__seal { background:linear-gradient(145deg,#f7c46f,var(--faex-orange)); box-shadow:0 22px 50px rgba(203,112,25,.25); }
.faex-home-waste__media > div { background:linear-gradient(145deg,#f5c46f,var(--faex-orange)); box-shadow:0 22px 50px rgba(203,112,25,.25); }
.faex-home-services::before,.service-catalog-page::before { background:radial-gradient(circle at 15% 25%,rgba(237,155,50,.14),transparent 28%),radial-gradient(circle at 88% 70%,rgba(50,145,112,.18),transparent 32%),linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.025) 48% 49%,transparent 49%); }
.faex-home-services::after { border-color:rgba(237,155,50,.075); }
.faex-home-cta__box::after,.internal-contact-band::after { border-color:rgba(237,155,50,.16); }
.faex-home-contact .btn-primary,
.service-contact .btn-primary,
.contato-premium .btn-primary { background:linear-gradient(135deg,var(--faex-orange),var(--faex-orange-deep)); border-color:var(--faex-orange); color:#fff; box-shadow:0 14px 30px rgba(206,113,28,.23); }
.faex-home-contact .btn-primary:hover,
.service-contact .btn-primary:hover,
.contato-premium .btn-primary:hover { background:linear-gradient(135deg,#f4aa48,#bd6216); border-color:#bd6216; transform:translateY(-2px); }
.site-footer__brand { margin-bottom:1.25rem; padding:0; border-radius:0; background:transparent; }
.site-footer__brand img { width:10rem; height:auto; filter:drop-shadow(0 12px 24px rgba(0,0,0,.22)); }
.site-footer__social a:hover { border-color:var(--faex-orange); background:var(--faex-orange); color:#173d38; transform:translateY(-3px); }

/* Carrossel contínuo de clientes e parceiros */
.faex-clients { position:relative; overflow:hidden; background:linear-gradient(180deg,#f8faf6,#fff); border-block:1px solid rgba(15,63,58,.08); }
.faex-clients::before { content:""; position:absolute; width:430px; height:430px; left:-250px; top:-280px; border:76px solid rgba(237,155,50,.08); border-radius:50%; }
.faex-clients__header { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.55fr); gap:60px; align-items:end; margin-bottom:44px; }
.faex-clients__header h2 { max-width:760px; margin:16px 0 0; font-size:clamp(36px,4vw,60px); line-height:1; letter-spacing:-.052em; }
.faex-clients__header p { margin:0; color:#62736f; font-size:17px; line-height:1.7; }
.faex-clients__viewport { position:relative; overflow:hidden; padding-block:8px 18px; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.faex-clients__track { display:flex; width:max-content; animation:faex-clients-scroll 38s linear infinite; will-change:transform; }
.faex-clients__group { display:flex; flex:none; gap:18px; padding-right:18px; }
.faex-client-logo { width:230px; height:126px; flex:none; display:grid; place-items:center; padding:24px 28px; border:1px solid rgba(15,63,58,.11); border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 14px 38px rgba(10,51,46,.07); }
.faex-client-logo::after { content:""; position:absolute; inset:auto 28px 0; height:3px; border-radius:4px 4px 0 0; background:linear-gradient(90deg,var(--faex-green),var(--faex-orange)); opacity:0; transform:scaleX(.45); transition:.3s ease; }
.faex-client-logo { position:relative; }
.faex-client-logo img { display:block; width:100%; max-width:174px; height:72px; object-fit:contain; filter:saturate(.82); transition:filter .3s ease,transform .3s ease; }
.faex-client-logo--dark { background:linear-gradient(145deg,#0b3733,#123f3b); }
.faex-client-logo:hover { border-color:rgba(237,155,50,.45); box-shadow:0 22px 48px rgba(10,51,46,.12); transform:translateY(-5px); }
.faex-client-logo:hover::after { opacity:1; transform:scaleX(1); }
.faex-client-logo:hover img { filter:saturate(1); transform:scale(1.04); }
.faex-clients__viewport:hover .faex-clients__track,
.faex-clients__viewport:focus-within .faex-clients__track { animation-play-state:paused; }
@keyframes faex-clients-scroll { to { transform:translateX(-50%); } }

@media (max-width: 1100px) {
  .faex-chain__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-contact { grid-template-columns: 1fr; }
  .service-contact__copy { max-width: 760px; }
  .contato-premium__shell { grid-template-columns: minmax(300px,.85fr) minmax(0,1.15fr); }
}

@media (max-width: 767px) {
  .faex-chain__track { grid-template-columns: 1fr; }
  .faixa-page { min-height: 245px; padding-block: 54px; }
  .faex-chain .faex-heading { text-align: left; justify-items: start; }
  .faex-chain__step { min-height: 270px; }
  .service-contact { padding: 24px !important; }
  .service-contact .form-grid { grid-template-columns: 1fr; }
  .service-contact .form-grid__full { grid-column: auto; }
  .contato-premium__shell { display: grid !important; grid-template-columns: 1fr; }
  .contato-premium__form { padding: 26px !important; }
  .contato-premium__visual { height: 220px; }
  .catalogo-relacionados__swiper .box-mais-visitado h3 { min-height: auto; }
  .faex-article__content p:not(:first-child) { text-indent: 1.2rem; }
  .faex-clients__header { grid-template-columns:1fr; gap:18px; margin-bottom:32px; }
  .faex-clients__header h2 { font-size:clamp(34px,11vw,48px); }
  .faex-client-logo { width:180px; height:106px; padding:20px; }
  .faex-client-logo img { height:62px; }
  .faex-clients__track { animation-duration:30s; }
}

@media (prefers-reduced-motion: reduce) {
  .faex-clients__viewport { overflow-x:auto; mask-image:none; scrollbar-width:thin; }
  .faex-clients__track { animation:none; }
  .faex-clients__group[aria-hidden="true"] { display:none; }
}

/* Segundo nível de equilíbrio cromático: laranja como ação e destaque */
.btn-primary {
  --bs-btn-bg: var(--faex-orange);
  --bs-btn-border-color: var(--faex-orange);
  --bs-btn-hover-bg: var(--faex-orange-deep);
  --bs-btn-hover-border-color: var(--faex-orange-deep);
  background:linear-gradient(135deg,#ffc66d,var(--faex-orange));
  border-color:var(--faex-orange);
  box-shadow:0 13px 30px rgba(206,113,28,.24);
  color:var(--faex-ink);
}
.btn-primary:hover {
  background:linear-gradient(135deg,#ffd184,#e78621);
  border-color:#e78621;
  box-shadow:0 17px 36px rgba(185,92,18,.3);
  color:var(--faex-ink);
  transform:translateY(-2px);
}
.faex-hero .btn-primary,
.faex-home-cta .btn-light,
.internal-contact-band .btn-light {
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#ffc66d,var(--faex-orange));
  border-color:#f3ad4d;
  box-shadow:0 16px 36px rgba(213,119,28,.3);
  color:var(--faex-ink);
}
.faex-hero .btn-primary:hover,
.faex-home-cta .btn-light:hover,
.internal-contact-band .btn-light:hover { background:linear-gradient(135deg,#ffd184,#e78621); border-color:#ffd184; color:var(--faex-ink); }
.faex-text-link { color:var(--faex-orange-deep); }
.faex-heading--light .faex-text-link { color:#ffc46d; }
.faex-text-link:hover { color:var(--faex-orange); }
.catalogo-card__button { border-color:rgba(206,113,28,.48); color:var(--faex-orange-deep); }
.catalogo-card__button:hover { background:var(--faex-orange); border-color:var(--faex-orange); color:#fff; }
.site-nav__link:hover,
.site-nav__link.is-active,
.site-nav__link[aria-current="page"] { color:var(--faex-orange-deep); }
.home-page .site-nav__link:hover,
.home-page .site-nav__link.is-active { color:#ffc46d; }
.faixa-page__art span:nth-child(2) { border-color:rgba(255,190,94,.34); box-shadow:0 0 55px rgba(237,155,50,.1); }
.faixa-page__art span:nth-child(3) { border-color:rgba(255,190,94,.4); background:rgba(237,155,50,.16); }
.faex-about-pillars > div > span,
.company-method__steps article > span,
.structure-flow li > span { color:var(--faex-orange); }
.faex-cer-points span:nth-child(even) i,
.faex-contact-summary i { background:var(--faex-orange-soft); color:var(--faex-orange-deep); }
.faex-cer-points span:nth-child(even) { border-color:rgba(237,155,50,.24); }
.faex-waste-tags span:nth-child(3n+2) { border-color:rgba(237,155,50,.28); background:#fffaf3; }
.faex-waste-tags span:nth-child(3n+2) b,
.faex-waste-tags b { color:var(--faex-orange-deep); }
.company-purpose__grid article:nth-child(2) .company-purpose__icon { background:linear-gradient(145deg,#ffd387,var(--faex-orange)); }
.company-purpose__grid article:nth-child(2) { border-color:rgba(237,155,50,.32); }
.internal-contact-band { background:radial-gradient(circle at 78% 0,rgba(237,155,50,.2),transparent 29%),linear-gradient(118deg,#082f2c 0%,#0b4e45 52%,#116957 100%); }
.site-footer__contact i { color:#f1aa49; }
.site-footer__social a { border-color:rgba(237,155,50,.34); color:#f1aa49; }
.validator-badge i { color:#f1aa49; }
.faex-chain__step > .faex-chain__number { top:15px; right:20px; color:#a95312; font-size:13px; letter-spacing:.08em; }
.faex-chain__step:nth-child(even) > .faex-chain__arrow { background:var(--faex-orange-deep); }
.faex-home-contact .btn-primary,
.service-contact .btn-primary,
.contato-premium .btn-primary { background:linear-gradient(135deg,#ffc66d,var(--faex-orange)); border-color:var(--faex-orange); color:var(--faex-ink); }
.faex-home-contact .btn-primary:hover,
.service-contact .btn-primary:hover,
.contato-premium .btn-primary:hover { background:linear-gradient(135deg,#ffd184,#e78621); border-color:#e78621; color:var(--faex-ink); }

/* Finalização visual: ativos oficiais, verdes mais leves e transições suaves */
.faex-chain__icon .faex-service-icon,
.faex-service-tile__icon .faex-service-icon,
.catalogo-card__icon .faex-service-icon,
.service-detail__icon .faex-service-icon {
  width: 82%;
  height: 82%;
  object-fit: contain;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  filter: drop-shadow(0 8px 15px rgba(11,55,49,.14));
}
.faex-chain__icon .faex-service-icon { width: 62px; height: 62px; }
.faex-service-tile__icon .faex-service-icon { width: 58px; height: 58px; }
.catalogo-card__icon .faex-service-icon { width: 55px; height: 55px; }
.service-detail__icon .faex-service-icon { width: 59px; height: 59px; }
.faex-chain__icon,
.faex-service-tile__icon,
.catalogo-card__icon,
.service-detail__icon {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.faex-home-contact__grid {
  grid-template-columns: minmax(450px,.92fr) minmax(0,1.08fr);
  gap: clamp(42px,5vw,72px);
}
.faex-contact-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
.faex-contact-summary > * {
  min-width: 0;
  min-height: 104px;
  padding: 18px;
}
.faex-contact-summary i { flex: 0 0 42px; width: 42px; height: 42px; }
.faex-contact-summary > * > span { min-width: 0; }
.faex-contact-summary strong { white-space: nowrap; font-size: clamp(.86rem,1vw,1rem); }

.faex-home-services {
  color: var(--faex-ink);
  background:
    linear-gradient(180deg,rgba(255,255,255,0) 78%,#fff 100%),
    radial-gradient(circle at 12% 8%,rgba(237,155,50,.18),transparent 25%),
    linear-gradient(145deg,color-mix(in srgb,var(--faex-sage) 58%,#fff) 0%,var(--faex-sage) 48%,color-mix(in srgb,var(--faex-sage) 30%,#fff) 82%,#fff 100%);
}
.faex-home-services::before { opacity: .38; }
.faex-home-services .faex-heading--light h2,
.faex-home-services .faex-heading--light p { color: var(--faex-ink); }
.faex-home-services .faex-heading--light .faex-eyebrow { color: #3f792a; }
.faex-home-services .faex-heading--light .faex-text-link { color: var(--faex-orange-deep); }
.faex-home-services .faex-service-tile {
  border-color: rgba(17,71,61,.15);
  background: rgba(255,255,255,.78);
  box-shadow: 0 24px 58px rgba(34,87,60,.12);
}
.faex-home-services .faex-service-tile:hover {
  border-color: rgba(213,119,28,.48);
  background: rgba(255,255,255,.94);
}
.faex-home-services .faex-service-tile img { filter:saturate(.96) contrast(1.02); }
.faex-home-services .faex-service-tile:hover img { filter:saturate(1.05) contrast(1.03); }
.faex-home-services .faex-service-tile h3 a { color: var(--faex-ink); }
.faex-home-services .faex-service-tile p { color: #586b66; }
.faex-home-services .faex-service-tile__link {
  color: var(--faex-orange-deep);
  border-top-color: rgba(17,71,61,.11);
}
.faex-home-services .faex-service-tile__link i { background: var(--faex-orange-soft); }

.company-purpose {
  color: var(--faex-ink);
  background: linear-gradient(180deg,color-mix(in srgb,var(--faex-sage) 22%,#fff) 0%,color-mix(in srgb,var(--faex-sage) 8%,#fff) 34%,#fff 100%);
}
.company-purpose::before {
  background: radial-gradient(circle at 5% 5%,rgba(93,158,145,.2),transparent 28%),radial-gradient(circle at 95% 12%,rgba(237,155,50,.2),transparent 25%);
}
.company-purpose .faex-heading h2,
.company-purpose .faex-heading p { color: var(--faex-ink) !important; }
.company-purpose .faex-eyebrow { color: #477f2c; }
.company-purpose__grid { gap: 16px; align-items: stretch; }
.company-purpose__grid .company-purpose__card {
  display: flex;
  min-height: 0;
  padding: 0;
  border: 1px solid rgba(18,67,60,.13);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(15,63,58,.11);
  flex-direction: column;
}
.company-purpose__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.company-purpose__media::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(7,43,38,.45)); }
.company-purpose__media img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.company-purpose__card:hover .company-purpose__media img { transform:scale(1.045); }
.company-purpose__media > span {
  position: absolute;
  z-index: 2;
  right: 18px;
  top: 18px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(7,43,38,.78);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.company-purpose__body { position:relative; flex:1; padding:30px 28px 32px; }
.company-purpose__body .company-purpose__icon {
  position: absolute;
  right: 24px;
  top: -34px;
  width: 62px;
  height: 62px;
  border: 5px solid rgba(255,255,255,.75);
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 30px rgba(13,58,51,.16);
}
.company-purpose__grid .company-purpose__body h3 { margin:0 0 13px; color:var(--faex-ink) !important; font-size:30px; }
.company-purpose__grid .company-purpose__body p { margin:0; line-height:1.68; }
.company-purpose__card--vision .company-purpose__body { background:var(--faex-sage-deep); }
.company-purpose__card--vision .company-purpose__body h3,
.company-purpose__card--vision .company-purpose__body p { color:#fff !important; }
.company-purpose__card--mission .company-purpose__body { background:var(--faex-sage); }
.company-purpose__card--mission .company-purpose__body h3,
.company-purpose__card--mission .company-purpose__body p { color:#fff !important; }
.company-purpose__card--values .company-purpose__body { background:#f3aa4e; }
.company-purpose__card--values .company-purpose__body p { color:#47321e; }

.structure-flow {
  position: relative;
  color: var(--faex-ink);
  background:
    linear-gradient(180deg,rgba(255,255,255,0) 76%,#fff 100%),
    radial-gradient(circle at 8% 8%,rgba(237,155,50,.16),transparent 26%),
    linear-gradient(145deg,color-mix(in srgb,var(--faex-sage) 58%,#fff),var(--faex-sage) 55%,color-mix(in srgb,var(--faex-sage) 26%,#fff) 86%,#fff);
}
.structure-flow h2 { color:var(--faex-ink) !important; }
.structure-flow p { color:#526962; }
.structure-flow .faex-eyebrow { color:#477f2c; }
.structure-flow li {
  border-color:rgba(17,70,61,.13);
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 35px rgba(26,83,59,.08);
}
.structure-flow small { color:#647772; }

.internal-contact-band {
  color: var(--faex-ink);
  padding-bottom: 98px;
  background:
    linear-gradient(180deg,rgba(255,255,255,0) 66%,#fff 100%),
    radial-gradient(circle at 82% 0,rgba(237,155,50,.21),transparent 28%),
    linear-gradient(118deg,color-mix(in srgb,var(--faex-sage) 76%,#fff) 0%,var(--faex-sage) 55%,color-mix(in srgb,var(--faex-sage) 28%,#fff) 82%,#fff 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.55);
}
.internal-contact-band h2 { color:var(--faex-ink) !important; text-shadow:none; }
.internal-contact-band p { color:#39594f; }
.internal-contact-band .faex-eyebrow { color:#356d29; }
.internal-contact-band::after { border-color:rgba(237,155,50,.2); }

/* Verde institucional + laranja em pontos de decisão e interação */
.faex-eyebrow::before,
.section-tag::before {
  background: linear-gradient(90deg,var(--faex-sage),var(--faex-orange));
}
.faex-home-services .faex-eyebrow::before,
.company-purpose .faex-eyebrow::before,
.structure-flow .faex-eyebrow::before,
.internal-contact-band .faex-eyebrow::before {
  background: var(--faex-orange);
}
.faex-home-services .faex-heading--light .faex-eyebrow,
.structure-flow .faex-eyebrow,
.internal-contact-band .faex-eyebrow { color:var(--faex-ink); }
.internal-contact-band p { color:#173f3a; }
.faex-chain__step:nth-child(odd),
.faex-service-tile:nth-child(odd),
.catalogo-card:nth-child(odd) {
  border-color: rgba(237,155,50,.32);
}
.faex-chain__step:nth-child(odd)::before {
  background: linear-gradient(90deg,var(--faex-orange),transparent);
}
.faex-chain__step:nth-child(odd) > .faex-chain__arrow,
.faex-service-tile:nth-child(odd) .faex-service-tile__link i {
  background: var(--faex-orange-deep);
  color: #fff;
}
.company-purpose__card--mission .company-purpose__icon,
.company-purpose__card--values .company-purpose__icon {
  color: var(--faex-orange-deep);
}
.company-purpose__card--mission .company-purpose__media > span,
.company-purpose__card--values .company-purpose__media > span {
  background: var(--faex-orange-deep);
}
.structure-flow li:nth-child(even),
.faex-contact-summary > :nth-child(even) {
  border-color: rgba(237,155,50,.3);
}
.structure-flow li:nth-child(even) > span,
.faex-contact-summary > :nth-child(even) i {
  color: var(--faex-orange-deep);
}

@media (max-width: 1100px) {
  .faex-home-contact__grid { grid-template-columns:1fr; }
  .faex-contact-summary { max-width:700px; }
}
@media (max-width: 767px) {
  .faex-contact-summary { grid-template-columns:1fr; }
  .faex-contact-summary > * { min-height:90px; }
  .faex-contact-summary strong { white-space:normal; overflow-wrap:anywhere; }
  .company-purpose__media { aspect-ratio:16 / 9; }
  .company-purpose__body { padding:26px 24px 30px; }
  .internal-contact-band { padding-bottom:84px; }
}

/* Refinamento final da home: enquadramento, cards e acentos institucionais */
.faex-hero__container {
  grid-template-columns:minmax(0,780px) 190px;
  align-items:center;
  min-height:100svh;
  padding-top:calc(var(--site-header-height) + 58px);
  padding-bottom:108px;
  gap:clamp(48px,7vw,112px);
}
.faex-hero__content { max-width:780px; text-align:left; }
.faex-hero__content h1 {
  max-width:780px;
  font-size:clamp(50px,5.15vw,82px);
  line-height:.94;
}
.faex-hero__content h1 span { color:var(--faex-orange); }
.faex-hero__proof {
  align-self:center;
  padding:0;
  border-left:0;
}
.faex-hero__proof strong { color:#fff; }
.faex-hero__proof small { max-width:180px; color:#ffb34f; font-weight:750; line-height:1.5; }

.faex-chain__track { border-block:0; }
.faex-chain__step,
.faex-chain__step:first-child {
  border:1px solid rgba(237,155,50,.48);
}
.faex-chain__step::before { content:none; }

.faex-home-services {
  background:var(--faex-sage);
}
.faex-home-services::before {
  opacity:1;
  background:
    radial-gradient(circle at 7% 8%,rgba(255,255,255,.26),transparent 24%),
    radial-gradient(circle at 84% 18%,rgba(237,155,50,.2),transparent 23%),
    linear-gradient(125deg,transparent 0 37%,rgba(255,255,255,.065) 37% 38%,transparent 38% 67%,rgba(11,55,49,.055) 67% 68%,transparent 68%);
}
.faex-home-services::after {
  width:620px;
  height:620px;
  right:-245px;
  top:-270px;
  border:90px solid rgba(237,155,50,.14);
}
.faex-home-services .faex-service-tile {
  border-color:rgba(237,155,50,.72);
  background:rgba(255,255,255,.9);
}
.faex-home-services .faex-service-tile > div {
  min-height:258px;
  background:
    radial-gradient(circle at 100% 0,rgba(237,155,50,.22),transparent 32%),
    linear-gradient(150deg,#fffaf4 0%,#f8e3ca 68%,#f4cf9f 100%);
  box-shadow:inset 0 -5px var(--faex-orange);
}
.faex-home-services .faex-heading h2 > span { color:#a74f0c; }
.faex-home-services .faex-service-tile h3 {
  min-height:2.3em;
  margin-bottom:12px;
  font-size:clamp(19px,1.35vw,22px);
  line-height:1.15;
}
.faex-home-services .faex-service-tile h3 a { color:var(--faex-ink); }
.faex-home-services .faex-service-tile p { color:#4d5d59; }
.faex-home-services .faex-service-tile > div > .faex-service-tile__link {
  position:static;
  right:auto;
  bottom:auto;
  justify-content:flex-start;
  align-self:flex-start;
  gap:8px;
  padding-top:0;
  color:var(--faex-orange-deep);
  border-top:0;
}
.faex-home-services .faex-service-tile__link i,
.faex-home-services .faex-service-tile:nth-child(odd) .faex-service-tile__link i,
.faex-home-services .faex-service-tile:hover .faex-service-tile__link i {
  width:auto;
  height:auto;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--faex-orange-deep);
  font-size:11px;
}

.faex-waste-tags span:nth-child(odd) {
  border-color:rgba(63,120,110,.34);
  background:color-mix(in srgb,var(--faex-sage) 17%,#fff);
}
.faex-waste-tags span:nth-child(even) {
  border-color:rgba(237,155,50,.38);
  background:color-mix(in srgb,var(--faex-orange) 14%,#fff);
}
.faex-waste-tags span:nth-child(odd) b { color:var(--faex-sage-deep); }
.faex-waste-tags span:nth-child(even) b { color:var(--faex-orange-deep); }

.faex-home-cta__copy { max-width:720px; }
.faex-home-cta__copy h2 {
  max-width:680px;
  font-size:clamp(38px,4vw,60px);
  line-height:1;
}
.faex-home-cta__copy .faex-eyebrow { color:#ffb34f; }
.faex-home-cta__copy .faex-eyebrow::before { background:var(--faex-orange); }
.faex-home-cta__box::after { border-color:rgba(237,155,50,.23); }

@media (max-width:991.98px) {
  .faex-hero__container { display:block; min-height:100svh; padding-top:calc(var(--site-header-height) + 76px); padding-bottom:124px; }
  .faex-hero__content h1 { max-width:670px; font-size:clamp(46px,10vw,68px); }
  .faex-home-services .faex-service-tile h3 { min-height:auto; }
}
@media (max-width:575.98px) {
  .faex-hero__container { min-height:46rem; padding-top:calc(var(--site-header-height) + 48px); }
  .faex-hero__content h1 { font-size:clamp(39px,12vw,52px); }
  .faex-home-cta__copy h2 { font-size:clamp(34px,10vw,46px); }
}

/* Direção aprovada: branco + verde sólido #5d9e91 + abstratos laranja */
.faex-home-services {
  color:var(--faex-ink);
  background:#fff;
}
.faex-home-services::before {
  opacity:1;
  background:
    linear-gradient(128deg,transparent 0 18%,rgba(237,155,50,.075) 18% 20%,transparent 20% 72%,rgba(237,155,50,.055) 72% 74%,transparent 74%),
    radial-gradient(circle at 8% 12%,rgba(237,155,50,.13),transparent 24%);
}
.faex-home-services::after {
  width:640px;
  height:640px;
  right:-250px;
  top:-300px;
  border:92px solid rgba(237,155,50,.13);
}
.faex-home-services .faex-service-tile,
.faex-home-services .faex-service-tile:hover {
  border-color:var(--faex-orange);
  background:#fff;
}
.faex-home-services .faex-service-tile > div {
  background:#5d9e91;
  box-shadow:none;
}
.faex-home-services .faex-service-tile h3 a,
.faex-home-services .faex-service-tile p,
.faex-home-services .faex-service-tile > div > .faex-service-tile__link,
.faex-home-services .faex-service-tile > div > .faex-service-tile__link i,
.faex-home-services .faex-service-tile:nth-child(odd) .faex-service-tile__link i,
.faex-home-services .faex-service-tile:hover .faex-service-tile__link i {
  color:#fff;
}

.company-purpose__body .company-purpose__icon,
.company-purpose__grid article:nth-child(2) .company-purpose__icon,
.company-purpose__card--mission .company-purpose__icon,
.company-purpose__card--values .company-purpose__icon {
  border-color:#fff;
  background:#fff;
  color:#111;
}
.company-purpose__icon .faex-ui-icon { color:#111; }
.company-purpose__media > span,
.company-purpose__card--mission .company-purpose__media > span,
.company-purpose__card--values .company-purpose__media > span {
  background:#fff;
  box-shadow:0 8px 22px rgba(7,43,38,.16);
}
.company-purpose__card--vision .company-purpose__media > span,
.company-purpose__card--values .company-purpose__media > span {
  border:1px solid rgba(93,158,145,.36);
  color:#3f786e;
}
.company-purpose__card--mission .company-purpose__media > span {
  border:1px solid rgba(237,155,50,.42);
  color:var(--faex-orange-deep);
}
.company-purpose__media img { filter:saturate(.78) contrast(1.04); }
.company-purpose__card:hover .company-purpose__media img { filter:saturate(.9) contrast(1.04); }

.internal-contact-band {
  color:var(--faex-ink);
  background:#5d9e91;
  box-shadow:none;
}
.internal-contact-band::after {
  border-color:rgba(237,155,50,.34);
}
.internal-contact-band h2 { color:var(--faex-ink) !important; }
.internal-contact-band p { color:#173f3a; }
.internal-contact-band .faex-eyebrow { color:var(--faex-ink); }

.faixa-page {
  background:#5d9e91;
  box-shadow:0 20px 48px rgba(13,56,48,.12);
}
.faixa-page::before {
  opacity:1;
  background-image:
    linear-gradient(rgba(237,155,50,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(237,155,50,.12) 1px,transparent 1px);
  background-size:42px 42px;
}
.faixa-page::after {
  inset:auto;
  top:-11rem;
  right:-5rem;
  width:37rem;
  height:37rem;
  border:5.5rem solid rgba(237,155,50,.2);
  border-radius:45% 55% 62% 38%;
  background:none;
}
.faixa-page__art span { border-color:rgba(237,155,50,.44); }
.faixa-page__art span:nth-child(1) { background:rgba(237,155,50,.08); }
.faixa-page__art span:nth-child(2) { border-color:rgba(237,155,50,.52); box-shadow:0 0 55px rgba(237,155,50,.12); }
.faixa-page__art span:nth-child(3) { border-color:rgba(237,155,50,.58); background:rgba(237,155,50,.22); }

/* Ajustes finais solicitados: leitura, contraste e navegação */
.faex-hero__content h1 {
  line-height:1.02;
  letter-spacing:-.052em;
}

.faex-chain__icon,
.faex-chain__step:nth-child(odd) .faex-chain__icon,
.faex-chain__step:nth-child(even) .faex-chain__icon {
  width:76px;
  height:76px;
  padding:7px;
  border-radius:18px;
  background:#5d9e91;
  box-shadow:0 14px 30px rgba(38,91,81,.22);
}
.faex-chain__step:nth-child(even) .faex-chain__icon {
  background:var(--faex-orange);
  box-shadow:0 14px 30px rgba(206,113,28,.2);
}
.faex-chain__icon .faex-service-icon {
  width:100%;
  height:100%;
  filter:none;
}

.faixa-page {
  background:#518b80;
}
.faixa-page__breadcrumb .breadcrumb-item,
.faixa-page__breadcrumb .breadcrumb-item a,
.faixa-page__breadcrumb .breadcrumb-item.active {
  color:rgba(255,255,255,.9) !important;
  opacity:1;
}
.faixa-page__breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color:rgba(255,255,255,.72);
}

/* A lista abre encostada no item: não existe mais uma faixa morta que encerra o hover. */
.site-nav__submenu {
  top:calc(100% - .15rem);
  z-index:30;
  padding-top:.8rem;
}
.site-nav__submenu a {
  position:relative;
  z-index:1;
}

@media (max-width:575.98px) {
  .faex-hero__content h1 { line-height:1.04; letter-spacing:-.045em; }
}

/* Empresa: ícones editoriais sem numeração, com volume e acabamento bicolor */
.company-purpose__media > span { display:none; }
.company-purpose__body .company-purpose__icon,
.company-purpose__grid article:nth-child(2) .company-purpose__icon,
.company-purpose__card--mission .company-purpose__icon,
.company-purpose__card--values .company-purpose__icon {
  top:-40px;
  right:24px;
  width:76px;
  height:76px;
  padding:14px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.92);
  border-radius:23px;
  background:
    radial-gradient(circle at 25% 20%,rgba(255,255,255,.98) 0 18%,transparent 19%),
    linear-gradient(145deg,#ffffff 8%,#dceee9 100%);
  color:#2f7569;
  box-shadow:0 16px 36px rgba(8,50,44,.2),inset 0 0 0 5px rgba(93,158,145,.1);
  transform:rotate(-2deg);
}
.company-purpose__body .company-purpose__icon::before {
  position:absolute;
  inset:8px;
  z-index:-1;
  border:1px solid rgba(93,158,145,.2);
  border-radius:16px;
  content:"";
}
.company-purpose__body .company-purpose__icon::after {
  position:absolute;
  right:8px;
  bottom:8px;
  z-index:-1;
  width:17px;
  height:17px;
  border-radius:50%;
  background:var(--faex-orange);
  box-shadow:0 0 0 5px rgba(237,155,50,.14);
  content:"";
}
.company-purpose__icon .faex-ui-icon {
  width:38px;
  height:38px;
  color:inherit;
  stroke-width:1.55;
  filter:drop-shadow(0 5px 8px rgba(28,83,73,.16));
}
.company-purpose__grid article.company-purpose__card--mission .company-purpose__icon {
  background:linear-gradient(145deg,#fff 8%,#fff0dc 100%);
  color:#c96e17;
  box-shadow:0 16px 36px rgba(129,73,22,.2),inset 0 0 0 5px rgba(237,155,50,.12);
  transform:rotate(2deg);
}
.company-purpose__grid article.company-purpose__card--mission .company-purpose__icon::before {
  border-color:rgba(237,155,50,.25);
}
.company-purpose__grid article.company-purpose__card--mission .company-purpose__icon::after {
  background:#5d9e91;
  box-shadow:0 0 0 5px rgba(93,158,145,.14);
}
.company-purpose__card--values .company-purpose__icon {
  background:linear-gradient(145deg,#fff 4%,#edf6f3 52%,#fff0dc 100%);
  color:#245f56;
}

@media (max-width:575.98px) {
  .company-purpose__body .company-purpose__icon,
  .company-purpose__grid article:nth-child(2) .company-purpose__icon,
  .company-purpose__card--mission .company-purpose__icon,
  .company-purpose__card--values .company-purpose__icon {
    right:20px;
    width:68px;
    height:68px;
    padding:13px;
  }
  .company-purpose__icon .faex-ui-icon { width:34px; height:34px; }
}

/* Home e Empresa: informações sobre a foto sem encobrir as pessoas */
.faex-home-about__visual,
.company-story__visual {
  isolation:isolate;
  overflow:hidden;
}

.faex-home-about__badge,
.company-story__seal {
  top:auto!important;
  right:22px!important;
  bottom:22px!important;
  width:158px!important;
  height:auto!important;
  min-height:96px;
  padding:14px 18px 13px!important;
  justify-content:flex-start;
  align-items:flex-start;
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px;
  background:rgba(255,255,255,.93)!important;
  color:var(--faex-ink)!important;
  box-shadow:0 18px 42px rgba(5,42,37,.2);
  text-align:left;
  backdrop-filter:blur(16px);
}

.faex-home-about__badge::before,
.company-story__seal::before {
  position:absolute;
  top:14px;
  bottom:14px;
  left:0;
  width:4px;
  border-radius:0 4px 4px 0;
  background:var(--faex-orange);
  content:"";
}

.faex-home-about__badge span,
.faex-home-about__badge small,
.company-story__seal span,
.company-story__seal small {
  font-size:9px;
  line-height:1.3;
  letter-spacing:.1em;
}

.faex-home-about__badge strong,
.company-story__seal strong {
  margin:1px 0 3px;
  color:#447f74;
  font-size:31px;
  line-height:1;
  letter-spacing:-.045em;
}

.faex-home-about__badge small,
.company-story__seal small {
  max-width:122px;
  color:#4e615d;
}

.faex-home-about__caption,
.company-story__quote {
  left:22px!important;
  right:auto!important;
  bottom:22px!important;
  width:min(330px,calc(100% - 224px))!important;
  min-height:96px;
  gap:13px;
  padding:15px 17px!important;
  border:1px solid rgba(255,255,255,.32);
  border-radius:18px;
  background:rgba(7,54,48,.9);
  box-shadow:0 18px 42px rgba(3,35,31,.24);
  backdrop-filter:blur(16px);
}

.faex-home-about__caption i,
.company-story__quote i {
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--faex-orange);
  color:#fff;
  font-size:17px;
  box-shadow:0 9px 20px rgba(209,113,22,.28);
}

.faex-home-about__caption i::before {
  content:"✓";
  font-family:Arial,sans-serif;
  font-size:20px;
  font-weight:900;
}

.company-story__quote i::before {
  content:"“";
  font-family:Georgia,serif;
  font-size:30px;
  font-weight:900;
  line-height:1;
  transform:translateY(3px);
}

.faex-home-about__caption span {
  color:rgba(255,255,255,.76);
  font-size:12px;
  line-height:1.45;
}

.faex-home-about__caption strong {
  margin-bottom:2px;
  color:#fff;
  font-size:16px;
  line-height:1.25;
}

.company-story__quote p {
  color:#fff;
  font-size:14px;
  line-height:1.4;
}

@media (max-width:767.98px) {
  .faex-home-about__badge,
  .company-story__seal {
    top:auto!important;
    right:12px!important;
    bottom:98px!important;
    width:128px!important;
    height:auto!important;
    min-height:74px;
    padding:10px 13px 10px 16px!important;
    border-radius:14px;
  }

  .faex-home-about__badge::before,
  .company-story__seal::before {
    top:11px;
    bottom:11px;
    width:3px;
  }

  .faex-home-about__badge strong,
  .company-story__seal strong {
    font-size:25px;
  }

  .faex-home-about__badge span,
  .faex-home-about__badge small,
  .company-story__seal span,
  .company-story__seal small {
    font-size:7.5px;
  }

  .faex-home-about__caption,
  .company-story__quote {
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    width:auto!important;
    min-height:74px;
    padding:11px 13px!important;
    border-radius:14px;
  }

  .faex-home-about__caption i,
  .company-story__quote i {
    flex-basis:38px;
    width:38px;
    height:38px;
    border-radius:11px;
    font-size:15px;
  }

  .faex-home-about__caption strong { font-size:14px; }
  .faex-home-about__caption span,
  .company-story__quote p { font-size:11px; }
}

@media (max-width:380px) {
  .faex-home-about__badge,
  .company-story__seal {
    right:10px!important;
    bottom:94px!important;
    width:120px!important;
  }

  .faex-home-about__caption,
  .company-story__quote {
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
  }
}

/* Fechamento institucional: arte original da FAEX e navegação mais limpa. */
@media (min-width:1200px) {
  .site-header__grid {
    grid-template-columns:auto 1fr;
    gap:clamp(2.5rem,5vw,6rem);
  }

  .site-nav {
    justify-self:end;
  }

  .site-header__actions {
    display:none;
  }
}

.company-purpose-original {
  background:#fff;
}

.company-purpose-original img {
  display:block;
  width:100%;
  max-width:1303px;
  height:auto;
  margin-inline:auto;
}

.faixa-page__breadcrumb .breadcrumb {
  font-size:.98rem;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.faixa-page__breadcrumb .breadcrumb-item,
.faixa-page__breadcrumb .breadcrumb-item a,
.faixa-page__breadcrumb .breadcrumb-item.active {
  color:#fff !important;
  opacity:1;
  text-shadow:0 1px 2px rgba(21,66,58,.2);
}

@media (max-width:767.98px) {
  .company-purpose-original {
    padding-block:2.25rem;
  }

  .company-purpose-original .container {
    padding-inline:1rem;
  }

  .faixa-page__breadcrumb .breadcrumb {
    font-size:.9rem;
  }
}

/* Empresa: SVGs autorais com suporte leve e consistente */
.company-purpose__body .company-purpose__icon,
.company-purpose__grid article:nth-child(2) .company-purpose__icon,
.company-purpose__card--mission .company-purpose__icon,
.company-purpose__card--values .company-purpose__icon {
  top:-32px;
  right:22px;
  width:64px;
  height:64px;
  padding:13px;
  overflow:visible;
  isolation:auto;
  border:1px solid rgba(18,67,60,.12);
  border-radius:20px;
  background:rgba(255,255,255,.97);
  color:#397f73;
  box-shadow:0 12px 30px rgba(8,50,44,.14);
  transform:none;
}

.company-purpose__body .company-purpose__icon::before,
.company-purpose__body .company-purpose__icon::after {
  display:none;
}

.company-purpose__icon .faex-ui-icon {
  width:36px;
  height:36px;
  overflow:visible;
  color:inherit;
  stroke-width:1.45;
  filter:none;
}

.company-purpose__icon .faex-ui-icon__accent {
  stroke:var(--faex-orange);
}

.company-purpose__icon .faex-ui-icon__accent-fill {
  fill:var(--faex-orange);
}

.company-purpose__grid article.company-purpose__card--mission .company-purpose__icon {
  border-color:rgba(237,155,50,.25);
  background:rgba(255,250,243,.98);
  color:#c97521;
  box-shadow:0 12px 30px rgba(133,75,22,.13);
  transform:none;
}

.company-purpose__grid article.company-purpose__card--mission .company-purpose__icon .faex-ui-icon__accent {
  stroke:#4b8f82;
}

.company-purpose__card--values .company-purpose__icon {
  border-color:rgba(18,67,60,.13);
  background:rgba(255,255,255,.97);
  color:#286e63;
}

@media (max-width:575.98px) {
  .company-purpose__body .company-purpose__icon,
  .company-purpose__grid article:nth-child(2) .company-purpose__icon,
  .company-purpose__card--mission .company-purpose__icon,
  .company-purpose__card--values .company-purpose__icon {
    top:-28px;
    right:18px;
    width:58px;
    height:58px;
    padding:12px;
    border-radius:18px;
  }

  .company-purpose__icon .faex-ui-icon {
    width:32px;
    height:32px;
  }
}
