/* 
=========================================
  Convertr - Unified Stylesheet (main.css)
  All pages: Home, Sou do Varejo, Sou do Atacado
=========================================
*/

/* Base Styles & Variables */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

@font-face {
	font-family: 'Maison Neue';
	src: url('../fonts/MaisonNeue-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Maison Neue';
	src: url('../fonts/MaisonNeue-Book.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Maison Neue';
	src: url('../fonts/MaisonNeue-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Maison Neue';
	src: url('../fonts/MaisonNeue-Demi.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Maison Neue';
	src: url('../fonts/MaisonNeue-Extended-Extra-Bold.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Colors */
	--color-primary: #25282A;
	--color-secondary: #00DB80;
	--color-purple: #8257FD;
	--color-purple-light: #9B82FF;
	--color-green-light: #1DD485;

	--color-text: #3A3A4A;
	--color-text-light: #8E8E9F;
	--color-text-white: #FFFFFF;
	--color-text-muted: rgba(255, 255, 255, 0.6);

	--color-bg: #FFFFFF;
	--color-bg-light: #F7F7F9;
	--color-bg-dark: #221D35;
	--color-border: #E5E5EA;

	--font-family: 'Maison Neue', sans-serif;
	--border-radius-sm: 8px;
	--border-radius-md: 16px;
	--border-radius-lg: 24px;

	--fs-h1: 3.75rem;
	/* 60px */
	--fs-h1-sm: 3.5rem;
	/* 56px */
	--fs-h2: 3rem;
	/* 48px */
	--fs-h3-lg: 2.5rem;
	/* 40px */
	--fs-h3: 2.25rem;
	/* 36px */
	--fs-xxl: 2rem;
	/* 32px */
	--fs-xl: 1.5rem;
	/* 24px */
	--fs-lg: 1.25rem;
	/* 20px */
	--fs-md: 1.125rem;
	/* 18px */
	--fs-body: 1rem;
	/* 16px */
	--fs-sm: 0.875rem;
	/* 14px */
	--fs-xs: 0.75rem;
	/* 12px */
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
}

html,
body {
	min-height: 100vh;
}

body {
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}

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

p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

html.page-caixa-preta {
	background-color: #0c051a;
}

body {
	margin: 0 auto;
	padding: 0;
	max-width: 1920px;
	position: relative;
	font-family: var(--font-family);
	font-size: var(--fs-body);
	color: var(--color-text);
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
}

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

b,
b {
	font-weight: 600;
}

/* Typography Utils */
.text-highlight {
	color: var(--color-purple);
}

.text-highlight--green {
	color: var(--color-secondary);
}

.text-highlight--red {
	color: #CE2525;
}

/* 
=========================================
ARROW
=========================================
*/
.arrow-right::after {
	content: '';
	border-right: 1px solid #25282A;
	border-bottom: 1px solid #25282A;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
	transition: .3s;
	display: inline-block;
	margin-bottom: 3px;
	position: static;
	display: flex;
}


/* 
=========================================
BLOCK: Button 
=========================================
*/
.button {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 24px;
	border-radius: 80px;
	font-weight: 500;
	font-size: var(--fs-body);
	cursor: pointer;
	border: none;
	transition: all 0.2s ease;
	white-space: nowrap;
	gap: 10px;
	width: fit-content;
}

@media (max-width: 576px) {
	.button {
		padding: 10px 20px;
		font-size: var(--fs-sm);
	}
}

.button--primary {
	background-color: var(--color-secondary);
	color: #fff;
}

.button--primary:hover {
	background-color: #00c06f;
	transform: translateY(-2px);
}

.button--dark {
	background-color: #25282A;
	color: #FFF;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.button--dark:hover {
	background-color: #332d4a;
}

.button--purple {
	background-color: var(--color-purple);
	color: var(--color-text-white);
}

.button--outline-dark {
	background-color: transparent;
	color: var(--color-text);
	border: 1px solid var(--color-border);
}

.button--large {
	padding: 14px 24px;
	font-size: var(--fs-body);
}

.button-arrow::after {
	content: '';
	background-image: url(../media/icons/arrow-icon.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	display: flex;
	width: 12px;
	height: 9px;
}

.button--dark.button-arrow::after {
	filter: brightness(0) invert(1);
}

@media (max-width: 932px) {
	.button--large {
		padding: 14px 24px;
		font-size: 15px;
	}
}

.button--full {
	width: 100%;
}

.button--icon-only {
	padding: 12px;
	border-radius: 50%;
	width: 48px;
	height: 48px;
}

/* 
=========================================
BLOCK: Badge 
=========================================
*/
.badge {
	display: inline-block;
	padding: 3px 16px 0 16px;
	font-size: var(--fs-xs);
	font-weight: 600;
	border-radius: 40px;
	text-transform: uppercase;
	color: #fff;
	width: fit-content;
}

.badge--purple {
	background-color: var(--color-purple);
	color: #FFF;
}

.badge--green {
	background-color: var(--color-secondary);
	color: #111;
}

.badge--red {
	background-color: rgba(255, 59, 48, 0.1);
	color: #FF3B30;
}

.badge--small {
	padding: 4px 8px;
	font-size: 10px;
}

.badge--white {
	background-color: white;
	width: 16px;
	height: 16px;
	display: inline-block;
	border-radius: 50%;
	vertical-align: middle;
}

/* Dots */
.dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	display: inline-block;
}

.dot--red {
	background-color: #E80202;
}

/* 
=========================================
BLOCK: Input 
=========================================
*/
.input {
	padding: 14px 20px;
	border-radius: var(--border-radius-md);
	border: 1px solid var(--color-border);
	font-size: 15px;
	outline: none;
	font-family: inherit;
}

@media (max-width: 576px) {
	.input {
		padding: 12px 16px;
		font-size: var(--fs-sm);
	}
}

.input--outline {
	background-color: transparent;
	width: 100%;
}

.input-group {
	display: flex;
	gap: 8px;
	width: 100%;
}

.input-group--wide {
	max-width: 480px;
	margin: 0 auto;
}

.w-full {
	flex-grow: 1;
}

/* 
=========================================
BLOCK: Header 
=========================================
*/
.header {
	--header-bg: transparent;
	--header-text: #25282A;
	--header-logo-span: #9E9E9E;
	--header-nav-link: #25282A;
	--header-nav-link-hover: #25282A;
	--header-arrow: #25282A;
	--header-hover-bar: #25282A;
	--header-button-outline: var(--color-green-light);
	--header-button-outline-text: var(--color-green-light);
	--header-button-outline-hover: #fff;
	--header-dropdown-bg: #fff;
	--header-dropdown-border: #E7EAF1;
	--header-dropdown-title: var(--color-primary);
	--header-dropdown-icon-bg: #fff;
	--header-dropdown-icon-border: #D4D4D4;
	--header-dropdown-filter: none;
	--header-menu-icon: var(--color-purple);

	min-height: 97px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	z-index: 10;
	position: relative;
	background-color: var(--header-bg);
	transition: background-color 0.3s;
	left: 0;
}

.header--light {
	--header-bg: #fff;
}

.header--dark {
	--header-text: #fff;
	--header-logo-span: #D4D4D4;
	--header-nav-link: #fff;
	--header-nav-link-hover: #fff;
	--header-arrow: #fff;
	--header-hover-bar: #fff;
	--header-button-outline-text: #fff;
	--header-dropdown-bg: #16181A;
	--header-dropdown-border: #2E3132;
	--header-dropdown-title: #fff;
	--header-dropdown-icon-bg: transparent;
	--header-dropdown-icon-border: #fff;
	--header-dropdown-filter: brightness(0) invert(1);
	--header-menu-icon: #fff;
}

.header--fixed {
	--header-bg: #FFF;
	--header-text: #25282A;
	--header-logo-span: #9E9E9E;
	--header-nav-link: #25282A;
	--header-nav-link-hover: #25282A;
	--header-arrow: #25282A;
	--header-hover-bar: #25282A;
	--header-button-outline: var(--color-green-light);
	--header-button-outline-text: var(--color-green-light);
	--header-dropdown-bg: #fff;
	--header-dropdown-border: #E7EAF1;
	--header-dropdown-title: var(--color-primary);
	--header-dropdown-icon-bg: #fff;
	--header-dropdown-icon-border: #D4D4D4;
	--header-dropdown-filter: none;
	--header-menu-icon: var(--color-purple);

	position: fixed;
	top: 0;
	left: 50%;
	width: 100%;
	max-width: 1920px;
	animation: headerFixed .3s forwards;
	z-index: 1000;
	box-shadow: 0 48px 100px 0 rgba(0, 0, 0, .08);
	transform: translateX(-50%) translateY(-100%);
}

.header--dark:has(.header-nav__item--has-dropdown:hover) {
	--header-bg: #16181A;
}

.header--fixed:has(.header-nav__item--has-dropdown:hover) {
	--header-bg: #fff;
}

@keyframes headerFixed {
	to {
		transform: translateX(-50%) translateY(0);
	}
}

.header__container {
	display: flex;
	width: 100%;
	align-items: center;
	gap: 50px;
	padding: 0 120px;
	min-height: 97px;
}

.header__logo-container {
	display: flex;
	align-items: center;
	gap: 16px;
}

.header__logo-container span {
	color: var(--header-logo-span);
	font-size: var(--fs-xs);
	font-weight: 400;
}

.header__logo {
	min-width: 179px;
	height: 36px;
	display: flex;
	align-items: center;
}

.header__logo img {
	height: 100%;
	width: auto;
}

.header__nav {
	display: flex;
	flex-grow: 1;
	justify-content: flex-end;
}

.header-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.header-nav__item {
	display: flex;
	justify-content: center;
	align-items: center;
}

.header-nav__item-mobile {
	display: none;
	justify-content: center;
	align-items: center;
}

.header-nav__link {
	font-size: var(--fs-body);
	font-weight: 400;
	color: var(--header-nav-link);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .5s;
	min-height: 98px;
	text-decoration: none;
	gap: 10px;
}

.header-nav__link:hover,
.header-nav__link-active {
	color: var(--header-nav-link-hover);
}

.header-nav__link-active {
	font-weight: 600;
}

.nav__arrow {
	border-right: 1px solid var(--header-arrow);
	border-bottom: 1px solid var(--header-arrow);
	width: 5px;
	height: 5px;
	transform: rotate(45deg);
	transition: .3s;
	display: inline-block;
	margin-bottom: 3px;
	position: static;
	display: flex;
}

.header-nav__item--has-dropdown:hover .nav__arrow {
	transform: rotate(225deg);
}

.header-nav__item--dropdown-open>.header-nav__link .nav__arrow {
	transform: rotate(225deg);
}

.hover-bar {
	width: 0;
	height: 2px;
	background-color: var(--header-hover-bar);
	position: absolute;
	bottom: 0;
	left: 0;
	transition: .3s;
	opacity: 0;
}

.header__actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
}

.header__menu-toggle {
	display: none;
	width: 20px;
	height: 20px;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: transparent;
	border: none;
	cursor: pointer;
	overflow: hidden;
}

.header__menu-toggle .menu-icon {
	display: flex;
	width: 20px;
	height: 14px;
	border-top: 2px solid var(--header-menu-icon);
	position: relative;
	transition: .3s;
}

.header__menu-toggle .menu-icon::before {
	content: '';
	width: 15px;
	height: 2px;
	background-color: var(--header-menu-icon);
	position: absolute;
	right: 0;
	top: 12px;
}

.header__menu-toggle .menu-icon::after {
	content: '';
	width: 12px;
	height: 2px;
	background-color: var(--header-menu-icon);
	position: absolute;
	top: calc(50% - 2px);
	right: 0;
}

.header__menu-toggle .close-icon {
	position: relative;
	width: 0;
	height: 20px;
	display: flex;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}


.header__menu-toggle .close-icon::before,
.header__menu-toggle .close-icon::after {
	width: 18px;
	height: 2px;
	background-color: var(--header-menu-icon);
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - 9px);
}


.header__menu-toggle .close-icon::before {
	transform: rotate(-45deg);
}

.header__menu-toggle .close-icon::after {
	transform: rotate(45deg);
}

.header__menu-toggle.active .menu-icon {
	width: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-40px);
}

.header__menu-toggle.active .close-icon {
	width: 20px;
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

@media (max-width: 1280px) {
	.nav__arrow {
		border-color: #25282A;
	}
}

@media (max-width: 932px) {
	.header__container {
		padding: 0 16px;
	}

	.header,
	.header--dark,
	.header__container {
		min-height: 56px;
	}

	.header__logo {
		min-width: 144px;
		height: 29px;
	}
}

/* BUTTONS V3 */
.btn {
	padding: 0 30px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: var(--fs-body);
	font-weight: 300;
	color: #25282A;
	border-radius: 40px;
	background-color: transparent;
	transition: 0.3s;
	cursor: pointer;
	text-decoration: none;
}

.button--outline {
	border: 2px solid #25282A;
}

.header .button--outline {
	border-color: var(--header-button-outline);
	color: var(--header-button-outline-text);
}

.header .button--outline:hover {
	background-color: var(--header-button-outline);
	border-color: var(--header-button-outline);
	color: var(--header-button-outline-hover);
}

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

.btn--primary {
	background-color: var(--color-purple);
	color: #fff;
}

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

.btn.calculator::before {
	content: "";
	width: 20px;
	min-width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-size: 20px;
	background-image: url(/assets/media/icons/calculator-icon.svg);
	transition: .3s;
	margin-right: 12px;
}

.header--dark .btn.calculator::before,
.hero--dark .btn.calculator::before {
	filter: invert(1);
}

.button--outline:hover::before {
	filter: invert(1);
}

/* RESPONSIVE HEADER */
@media (max-width: 1640px) {
	.header__container {
		padding: 0 40px;
	}
}

@media (max-width: 1440px) {
	.header__container {
		padding: 0 40px;
		gap: 25px;
	}

	.header__logo-container span {
		display: none;
	}
}

@media (max-width: 1280px) {
	.header__nav {
		position: fixed;
		right: 0;
		top: 97px;
		width: 240px;
		display: block;
		z-index: 10;
		transform: translateX(100%);
		transition: .3s;
	}

	.header__container {
		justify-content: space-between;
	}

	.header__actions {
		display: none;
	}

	.header__nav-open {
		transform: translateX(-8px);
	}

	.header__menu-toggle {
		display: inline-flex;
		order: 2;
	}

	.header-nav__list {
		flex-direction: column;
		gap: 0;
		background-color: #FFF;
		box-shadow: 0 48px 100px 0 rgba(0, 0, 0, .08);
		border-radius: var(--border-radius-sm);
		width: 100%;
	}

	.header-nav__item,
	.header-nav__item-mobile {
		width: 100%;
	}

	.header-nav__item {
		flex-direction: column;
	}

	.header-nav__link {
		min-height: 45px;
		justify-content: flex-end;
		border-bottom: 1px solid #f6f6f6;
		width: 100%;
		font-size: var(--fs-sm);
		padding: 0 12px;
		font-weight: 500;
		color: #25282A;
	}

	.header-nav__link:hover,
	.header-nav__link-active {
		color: #25282A;
	}

	.header-nav__item-mobile:last-child .header-nav__link {
		border: none;
		border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
	}

	.header-nav__item-mobile {
		display: flex;
	}

	.header-nav__link-custom {
		background-color: #1DD485;
		border-bottom-color: #25c47f;
		color: #fff !important;
		font-weight: 500;
	}

	.header-nav__link-custom:hover {
		background-color: #00c06f;
	}

	.nav__dropdown {
		display: none;
	}

	.header-nav__item--dropdown-open .nav__dropdown {
		display: block;
		position: static;
		visibility: visible;
		opacity: 1;
		transform: none;
		border: none;
		box-shadow: none;
		background-color: #f6f6f6;
		width: 100%;
	}

	.header-nav__item--dropdown-open .nav__dropdown-container {
		max-width: 100%;
	}

	.header-nav__item--dropdown-open .nav__dropdown-grid {
		flex-direction: column;
		padding: 0;
		gap: 0;
	}

	.header-nav__item--dropdown-open .nav__dropdown-item {
		width: 100%;
		gap: 10px;
		border-bottom: 1px solid #ededed;
		flex-direction: row-reverse;
		padding: 7px 16px;
	}

	.header-nav__item--dropdown-open .nav__dropdown-item:hover {
		padding-right: 20px;
	}

	.header-nav__item--dropdown-open .nav__dropdown-item:last-child {
		border-bottom: none;
	}

	.header-nav__item--dropdown-open .nav__dropdown-icon {
		width: 30px;
		height: 30px;
		border-radius: 6px;
		border-color: #D4D4D4;
		background-color: #fff;
	}

	.header-nav__item--dropdown-open .nav__dropdown-title {
		font-size: var(--fs-sm);
		color: #25282A;
		font-weight: 500;
	}

	.header-nav__item--dropdown-open .nav__dropdown-desc {
		display: none;
	}

	.header-nav__item--dropdown-open .nav__dropdown-icon img {
		filter: none !important;
		max-width: 14px;
	}

	.header-nav__item--has-dropdown:hover .nav__arrow {
		transform: rotate(45deg);
	}

	.header-nav__item--dropdown-open .nav__arrow {
		transform: rotate(225deg) !important;
	}

	.hover-bar {
		display: none;
	}

	.dot {
		width: 8px;
		height: 8px;
	}
}

@media (max-width: 932px) {
	.header__container {
		padding: 0 20px;
	}

	.header__actions {
		display: none;
	}
}

@media (max-width: 480px) {
	.header__nav {
		top: 67px;
	}
}


/* 
=========================================
BLOCK: Mega Menu Dropdown
=========================================
*/
.header-nav__item--has-dropdown:hover .nav__dropdown {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.nav__indicator {
	display: inline-block;
	margin-left: 4px;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid currentColor;
	vertical-align: middle;
	transition: transform 0.2s;
}

.header-nav__item--has-dropdown:hover .nav__indicator {
	transform: rotate(180deg);
}

.nav__dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: var(--header-dropdown-bg);
	border-top: 1px solid var(--header-dropdown-border);
	border-bottom: 1px solid var(--header-dropdown-border);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
	visibility: hidden;
	opacity: 0;
	transform: translateY(10px);
	transition: all 0.25s ease;
	z-index: 100;
}

.nav__dropdown-container {
	max-width: 1280px;
	margin: 0 auto;
}

/* Grid Links (Right Side) */
.nav__dropdown-grid {
	padding: 50px 3%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 26px;
}

.nav__dropdown-item {
	display: flex;
	align-items: center;
	gap: 20px;
	text-decoration: none;
	transition: all .2s;
	width: calc(100% / 4 - 20px);
}

.nav__dropdown-item:hover .nav__dropdown-title {
	text-decoration: underline;
}

.nav__dropdown-icon {
	width: 56px;
	height: 56px;
	border-radius: 8px;
	border: 1px solid var(--header-dropdown-icon-border);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: var(--fs-lg);
	color: var(--color-primary);
	background-color: var(--header-dropdown-icon-bg);
}

.nav__dropdown-icon img {
	filter: var(--header-dropdown-filter);
}

.nav__dropdown-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.nav__dropdown-title {
	font-size: var(--fs-body);
	font-weight: 600;
	color: var(--header-dropdown-title);
}

.nav__dropdown-desc {
	font-size: var(--fs-sm);
	color: #A7A7A7;
}

/* 
=========================================
BLOCK: Page Title (Varejo / Atacado)
=========================================
*/
.page-title {
	text-align: center;
	padding: 30px 3% 0 3%;
}

.page-title__heading {
	font-size: var(--fs-h3);
	font-weight: 500;
	color: #25282A;
	margin: 0;
	letter-spacing: -0.5px;
	line-height: 60px;
}

/* 
=========================================
BLOCK: Hero (Home - Dark)
=========================================
*/
.hero {
	background-color: #fff;
	color: var(--color-text-white);
	position: relative;
	overflow: hidden;
}

.owl-carousel .owl-stage::after {
	display: none !important;
}

.hero__container {
	width: 100%;
	list-style: none;
}

.header--home {
	position: absolute;
}

.header--home.header--fixed {
	position: fixed;
}

.hero__cta {
	width: 202px;
}

.hero__slide {
	display: flex;
	gap: 40px;
	align-items: flex-end;
	position: relative;
	max-width: fit-content;
	margin: 0 auto;
}

.hero__content {
	position: absolute;
	height: calc(100% - 97px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 2;
	padding: 0 96px;
	gap: 26px;
}

.hero__title {
	font-size: var(--fs-h1);
	line-height: 1.05;
	font-weight: 400;
	letter-spacing: -.5px;
	line-height: 60px;
}

.hero__title-convertr {
	color: var(--color-purple);
}

.hero__description {
	font-size: var(--fs-md);
	line-height: 28px;
	color: #D4D4D4;
	max-width: 510px;
}

.hero__visual {
	position: relative;
	overflow: hidden;
}

.hero__visual img {
	width: 100%;
	display: flex;
	min-height: 764px;
	object-fit: cover;
}

.hero__visual-shimmer {
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg,
			transparent 25%,
			rgba(255, 255, 255, .04) 37%,
			transparent 63%);
	animation: shimmer 2.5s infinite;
}

@keyframes shimmer {
	0% {
		transform: translateX(-100%);
	}

	100% {
		transform: translateX(100%);
	}
}

/* Hero Owl Carousel */
.hero .owl-carousel .owl-nav {
	top: calc(50% - 64px);
}

.hero .owl-carousel .owl-nav button {
	background-color: transparent !important;
}

.hero .owl-carousel .owl-nav button:hover {
	background-color: transparent !important;
	box-shadow: none;
}

.hero .owl-carousel .owl-nav button::before {
	border-color: #fff !important;
	width: 10px;
	height: 10px;
}

.hero .owl-carousel .owl-nav button.owl-prev {
	left: 30px;
}

.hero .owl-carousel .owl-nav button.owl-next {
	right: 30px;
}

.hero__arrow {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .2);
	background: transparent;
	color: rgba(255, 255, 255, .6);
	font-size: var(--fs-xl);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .2s;
}

.hero__arrow:hover {
	border-color: rgba(255, 255, 255, .5);
	color: #fff;
}

/* 
=========================================
BLOCK: Hero Inner Pages (Varejo / Atacado)
=========================================
*/
.hero-varejo {
	background-color: #FFF;
	padding: 20px 3% 50px 3%;
}

.hero-varejo__container {
	max-width: 1480px;
	margin: 0 auto;
	display: flex;
	gap: 64px;
	align-items: center;
}

.hero-varejo__image {
	min-width: 50%;
	max-height: 700px;
	background-color: #F0E8DB;
	border-radius: var(--border-radius-md);
	overflow: hidden;
}

.hero-varejo__image--atacado {
	background-color: #1A1A2E;
}

.hero-varejo__content {
	display: flex;
	flex-direction: column;
}

.hero-varejo__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	line-height: 1;
	color: var(--color-primary);
	margin: 0;
	letter-spacing: -0.5px;
	margin-top: 24px;
}

.hero-varejo__title b {
	font-weight: 500;
}

.hero-varejo__description {
	font-size: var(--fs-md);
	line-height: 1.6;
	color: #656565;
	margin: 20px 0 20px 0;
}

.hero-varejo__team {
	display: flex;
	gap: 8px;
	margin-top: 30px;
	display: none;
}

.hero-varejo__team-member {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.hero-varejo__team-avatar {
	border-radius: var(--border-radius-md);
	background-color: #FFF;
	border: 2px solid var(--color-purple);
	padding: 8px;
}

.hero-varejo__team-avatar img {
	border-radius: var(--border-radius-sm);
}

.hero-varejo__team-name {
	font-size: 11px;
	color: var(--color-text-light);
	text-align: center;
	max-width: 90px;
}

.hero-varejo__team-member {
	cursor: pointer;
	transition: transform 0.2s ease;
}

.hero-varejo__team-member:hover {
	transform: translateY(-4px);
}

@media (max-width: 1440px) {

	.hero__title {
		font-size: var(--fs-xxl);
		line-height: 36px;
	}

	.hero__description {
		font-size: var(--fs-body);
		line-height: 20px;
	}

	.hero__content {
		gap: 16px;
	}

	.hero__visual img {
		min-height: 570px;
	}

	.hero .owl-carousel .owl-nav button.owl-prev {
		left: 16px;
	}

	.hero .owl-carousel .owl-nav button.owl-next {
		right: 16px;
	}
}

@media (max-width: 1024px) {

	.hero__content {
		padding: 0 40px;
	}
}

@media (max-width: 932px) {

	.hero__content {
		padding: 0 20px;
	}
}

@media (max-width: 480px) {

	.hero-varejo {
		padding: 10px 3% 40px 3%;
	}

	.hero__content {
		justify-content: flex-end;
		padding: 0 20px 20px;
	}

	.integrations__title {
		font-size: var(--fs-xl);
	}

	.centralization__image {
		max-height: 200px;
	}

	.challenges__subtitle {
		margin-bottom: 30px;
	}

	.motivos__subtitle {
		margin: 0 auto 30px auto;
	}

	.motivos__grid {
		margin-bottom: 38px;
	}

	.case-card__overlay {
		gap: 20px;
	}
}

/* Video Modal */
.video-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

.video-modal--active {
	opacity: 1;
	visibility: visible;
}

.video-modal__container {
	position: relative;
	width: 90%;
	max-width: 400px;
	background: #25282A;
	border-radius: var(--border-radius-lg);
	overflow: hidden;
}

.video-modal__video {
	width: 100%;
	height: auto;
	display: block;
}

.video-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	color: #fff;
	font-size: var(--fs-xl);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s;
	z-index: 10;
}

.video-modal__close:hover {
	transform: scale(1.1);
}

/* 
=========================================
BLOCK: Brands 
=========================================
*/
.brands {
	padding: 50px 0 80px;
	background-color: var(--color-bg);
	text-align: center;
}

.brands__label {
	display: block;
	font-size: var(--fs-sm);
	color: #656565;
	margin: 0 0 16px
}

.brands__title {
	font-size: var(--fs-h3);
	font-weight: 500;
	color: var(--color-primary);
	margin: 0 0 56px;
	letter-spacing: -0.5px;
	padding: 0 40px;
	line-height: 40px;
}

.brands__carousel-container {
	display: flex;
	flex-direction: column;
	gap: 50px;
	max-width: 100vw;
	overflow: hidden;
	position: relative;
	margin: 0 -24px;
}

/* Optional fade gradient at the edges of the carousel */
.brands__carousel-container::before,
.brands__carousel-container::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 15vw;
	max-width: 150px;
	z-index: 2;
	pointer-events: none;
}

.brands__carousel-container::before {
	left: 0;
	background: linear-gradient(to right, var(--color-bg) 0%, transparent 100%);
}

.brands__carousel-container::after {
	right: 0;
	background: linear-gradient(to left, var(--color-bg) 0%, transparent 100%);
}

.brands__track {
	display: flex;
	width: max-content;
}

.brands__track--right {
	animation: scroll-left 50s linear infinite;
}

.brands__track--left {
	animation: scroll-right 50s linear infinite;
}

.brands__grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 60px;
	padding: 0 24px;
	align-items: center;
}

.brands__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.85;
	transition: opacity .2s;
	flex: 0 0 auto;
}

.brands__logo:hover {
	opacity: 1;
}

.brands__logo img {
	max-height: 40px;
	width: auto;
	min-width: 110px;
	max-width: 140px;
	object-fit: contain;
	filter: brightness(0) invert(.1);
}

@media (max-width: 1024px) {

	.brands__title {
		padding: 0 3%;
	}
}

@media (max-width: 932px) {
	.brands {
		padding: 40px 0 40px;
	}
}

@media (max-width: 480px) {
	.brands__title {
		margin: 0 0 30px;
	}

	.brands__carousel-container {
		gap: 20px;
	}

	.features__container,
	.segments__container {
		padding: 20px 3%;
	}
}

@keyframes scroll-left {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(calc(-33.333%));
	}
}

@keyframes scroll-right {
	0% {
		transform: translateX(calc(-33.333%));
	}

	100% {
		transform: translateX(0);
	}
}

/* 
=========================================
BLOCK: Segments (Home only)
=========================================
*/
.segments {
	background-color: var(--color-bg-light);
}

.segments__container {
	padding: 88px 40px;
	max-width: 1600px;
	margin: 0 auto;
	text-align: center;
}

.segments__title {
	font-size: var(--fs-h3);
	font-weight: 500;
	color: var(--color-primary);
	margin: 0 0 8px;
}

.segments__subtitle {
	font-size: var(--fs-body);
	color: #656565;
	margin: 0;
}

.segments__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	text-align: left;
	align-items: baseline;
}

.segments .button {
	font-size: 14px;
	font-weight: 400;
}

@media (max-width: 1024px) {

	.segments__container {
		padding: 40px 3%;
	}
}

@media (max-width: 932px) {

	.segments__grid {
		grid-template-columns: 1fr;
		margin-top: 20px;
		gap: 0;
	}
}

/* 
=========================================
BLOCK: Segment Card (Home only)
=========================================
*/
.segment-card {
	border-radius: var(--border-radius-lg);
}

.segment-card__image-placeholder {
	width: 100%;
	height: 240px;
	background-color: #E2DFEB;
}

.segment-card__content {
	margin-top: 24px;
}

.segment-card__title {
	color: #25282A;
	font-size: var(--fs-xl);
	margin: 0 0 16px 0;
	font-weight: 500;
}

.segment-card__description {
	color: #656565;
	font-size: var(--fs-body);
	margin: 0 0 24px;
	line-height: 24px;
}

.segment-card img {
	width: 100%;
}

/* 
=========================================
BLOCK: Ecosystem (Home only)
=========================================
*/
.ecosystem {
	background-color: var(--color-bg);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.ecosystem__container {
	padding: 80px 40px;
	position: relative;
	z-index: 1;
}

.ecosystem__title {
	color: #25282A;
	font-size: var(--fs-h3);
	font-weight: 400;
	line-height: 43px;
	margin-bottom: 40px;
}

.ecosystem__cta {
	margin: 0 auto 63px;
	width: 249px;
}

.ecosystem__number-display {
	position: relative;
}

.ecosystem__number {
	font-size: clamp(3rem, 10vw, 16.75rem);
	font-weight: 800;
	color: var(--color-purple);
}

.ecosystem__number::before {
	content: "R$";
	font-size: var(--fs-h1);
}

.ecosystem__floating-images {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: hidden;
}

.eco-img {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: transform 0.4s ease, opacity 0.3s ease;
}

.eco-img img {
	width: 100%;
	border-radius: var(--border-radius-sm);
}

.eco-img--1 {
	top: 34%;
	left: calc(50% - 724px);
}

.eco-img--1 img {
	filter: blur(.9px);
}

.eco-img--2 {
	top: 69%;
	left: calc(50% - 547px);
	z-index: 2;
}

.eco-img--3 {
	top: 19%;
	left: calc(50% + 665px);
}

.eco-img--3 img {
	filter: blur(2.6px);
}

.eco-img--4 {
	top: 44%;
	left: calc(50% + 236px);
}

.eco-img--5 {
	top: 84%;
	left: calc(50% + 513px);
}

@media (max-width: 1440px) {

	.eco-img img {
		max-width: 80px;
	}

	.eco-img--1 {
		top: 39%;
		left: calc(50% - 500px);
	}

	.eco-img--2 {
		top: 71%;
		left: calc(50% - 357px);
	}

	.eco-img--3 {
		top: 25%;
		left: calc(50% + 465px);
	}

	.eco-img--4 {
		top: 48%;
		left: calc(50% - 140px);
	}

	.eco-img--5 {
		left: calc(50% + 354px);
	}
}

@media (max-width: 1024px) {

	.ecosystem__container {
		padding: 40px 3% 0 3%;
	}

	.ecosystem__cta {
		margin: 0 auto 40px;
	}

	.ecosystem__floating-images {
		display: none;
	}
}

@media (max-width: 480px) {
	.ecosystem__number::before {
		font-size: var(--fs-xl);
	}

	.ecosystem__number {
		font-size: clamp(2rem, 24vw, 16.75rem);
	}
}

/* 
=========================================
BLOCK: Features (Home only)
=========================================
*/
.features {
	background-color: #fff;
}

.features__container {
	max-width: 1480px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	gap: 64px;
	padding: 80px 3%;
}

.features__content {
	max-width: 740px;
	width: 100%;
}

.features__title {
	color: #25282A;
	font-size: var(--fs-h3);
	font-weight: 400;
	margin: 0 0 40px;
	line-height: 40px;
	letter-spacing: -.5px;
}

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

.features__item {
	border-bottom: 1px solid var(--color-border);
	padding: 33px 40px;
	display: flex;
	align-items: center;
	position: relative;
	gap: 32px;
}

.features__item--active {
	align-items: center;
}

.features__item-text {
	flex-grow: 1;
}

.features__item-header span {
	color: #25282A;
	font-size: var(--fs-body);
	font-weight: 400;
	display: flex;
	align-items: center;
	width: 100%;
}

.features__item-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	cursor: pointer;
	z-index: 1;
}

.features__item-icon {
	font-size: var(--fs-xl);
	background-size: 100%;
	background-repeat: no-repeat;
	display: flex;
	flex-shrink: 0;
	position: relative;
	z-index: 2;
	pointer-events: none;
}

.features__item--active .features__item-icon {
	filter: brightness(0) saturate(100%) invert(70%) sepia(97%) saturate(6499%) hue-rotate(239deg) brightness(101%) contrast(98%);
}

.features__item-icon.sale {
	background-image: url(../media/icons/hand-coin-icon.svg);
	width: 24px;
	height: 27px;
}

.features__item-icon.control {
	background-image: url(../media/icons/edit-icon.svg);
	width: 27px;
	height: 27px;
}

.features__item-icon.platform {
	background-image: url(../media/icons/phone-icon.svg);
	width: 20px;
	height: 27px;
}

.features__item-icon.integration {
	background-image: url(../media/icons/server-icon.svg);
	width: 26px;
	height: 26px;
	stroke-width: 1px;
}

.features__item-icon.management {
	background-image: url(../media/icons/line-chart-up-icon.svg);
	width: 26px;
	height: 26px;
}

.features__item-icon.box {
	background-image: url(../media/icons/box-icon.svg);
	width: 23px;
	height: 23px;
}

.features__item-toggle {
	margin-left: auto;
	color: var(--color-text-light);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	position: relative;
	z-index: 2;
	pointer-events: none;
}

.features__item-toggle::after {
	content: '';
	width: 10px;
	height: 10px;
	border-right: 2px solid #25282A;
	border-bottom: 2px solid #25282A;
	border-left: 0;
	border-top: 0;
	transform: rotate(45deg);
	transition: transform 0.3s ease;
	display: block;
}

.features__item-body {
	color: #656565;
	position: relative;
	z-index: 2;
}

.features__item-body p {
	color: #656565;
	margin: 14px 0 16px;
	font-size: 0.938rem;
}

.features__link {
	color: #25282A;
	font-size: var(--fs-sm);
	display: flex;
	font-weight: 400;
	align-items: center;
	gap: 10px;
}

.features__item:not(.features__item--active) .features__item-body {
	overflow: hidden;
}

.features__visual {
	flex-shrink: 0;
}

.features__visual img {
	border-radius: var(--border-radius-md);
	display: flex;
}

@media (max-width: 1280px) {

	.features__item {
		padding: 16px;
	}
}

@media (max-width: 1024px) {

	.features__container {
		padding: 40px 3%;
		flex-direction: column;
		gap: 40px;
	}

	.features__visual {
		flex-shrink: 1;
		display: flex;
		justify-content: center;
	}

	.features__item {
		gap: 16px;
	}
}

@media (max-width: 932px) {

	.features__item-body p,
	.features__item-header span {
		font-size: var(--fs-sm);
	}

	.features__item-icon {
		max-width: 20px;
	}
}

/* 
=========================================
BLOCK: Cases Carousel (Varejo / Atacado)
=========================================
*/
.cases-carousel {
	padding: 10px 8px 20px 8px;
}

.cases-carousel__container {
	margin: 0 auto;
	display: flex;
	align-items: center;
	position: relative;
}

.main .cases-carousel .owl-carousel .owl-nav button.owl-prev {
	left: 0;
	border-radius: 0 40px 40px 0;
}

.main .cases-carousel .owl-carousel .owl-nav button.owl-next {
	right: 0;
	border-radius: 40px 0 0 40px;
}

/* 
=========================================
BLOCK: Case Card
=========================================
*/
.case-card {
	border-radius: var(--border-radius-md);
	overflow: hidden;
	position: relative;
}

.case-card .case-card__hover-info {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 32px 40px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	background-color: #FFF;
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
	transform: translateY(100%);
}

.case-card:hover .case-card__hover-info {
	opacity: 1;
	z-index: 1;
	transform: translateY(0);
}

.case-card__info-title {
	font-size: var(--fs-xl);
	font-weight: 600;
	color: var(--color-purple);
	letter-spacing: -0.5px;
	line-height: 1;
}

.case-card__info-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	list-style: none;
}

.case-card__info-content li {
	font-size: var(--fs-sm);
	font-weight: 400;
	background-color: #F8F9FB;
	padding: 4px 8px;
	border-radius: var(--border-radius-sm);
}

.case-card__overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 50px 16px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.case-card__brand {
	font-size: var(--fs-body);
	font-weight: 700;
	display: block;
	width: 200px;
	margin: 0 auto;
}

.case-card__brand img {
	filter: brightness(0) invert(1);
}

.case-card__stat {
	font-size: var(--fs-xl);
	line-height: 1.5;
	color: #FFF;
	letter-spacing: -0.5px;
	text-align: center;
	max-width: 350px;
	margin: 0 auto;
}

.case-card__stat b {
	font-weight: 700;
}

.case-card__link {
	font-size: var(--fs-sm);
	font-weight: 500;
	letter-spacing: -0.5px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 8px;
	color: #FFF;
}

.case-card__link img {
	width: 24px !important;
	animation: translateUpDown 1.5s ease-in-out infinite;
}

@keyframes translateUpDown {
	0% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-5px);
	}

	100% {
		transform: translateY(0);
	}
}

/* 
=========================================
BLOCK: Centralização (Varejo / Atacado)
=========================================
*/
.centralization {
	margin: 40px 0 80px 0;
	padding: 0 3%;
}

.centralization__container {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	gap: 64px;
	align-items: center;
	max-width: 1480px;
}

.centralization__image {
	background-color: #1A1A2E;
	border-radius: var(--border-radius-md);
	overflow: hidden;
	min-width: 60%;
}

.centralization__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	line-height: 1;
	color: #25282A;
	letter-spacing: -0.5px;
	margin: 16px 0;
}

.centralization__title b {
	font-weight: 500;
}

.centralization__description {
	font-size: var(--fs-md);
	font-weight: 400;
	line-height: 1.7;
	color: #656565;
	margin-bottom: 24px;
}

/* 
=========================================
BLOCK: Challenges (Varejo / Atacado)
=========================================
*/
.challenges {
	padding: 40px 3%;
	text-align: center;
}

.challenges__container {
	max-width: 1200px;
	margin: 0 auto;
}

.challenges__label {
	display: block;
	font-size: var(--fs-body);
	font-weight: 400;
	color: #656565;
	letter-spacing: 0.2px;
}

.challenges__title {
	font-size: var(--fs-h3);
	font-weight: 500;
	color: #25282A;
	margin: 0 0 16px 0;
	line-height: 1.2;
}

.challenges__subtitle {
	font-size: var(--fs-body);
	color: #25282A;
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 50px;
}

.challenges__subtitle b {
	font-weight: 600;
}

.challenges__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	text-align: left;
}

/* 
=========================================
BLOCK: Challenge Card
=========================================
*/
.challenge-card {
	background-color: #F8F9FB;
	border-radius: var(--border-radius-md);
	padding: 32px;
	transition: all .2s;
	border: 1px solid #FFF;
}

.challenge-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
	border-color: #ebebeb;
}

.challenge-card__icon {
	font-size: 28px;
	display: block;
	margin-bottom: 16px;
}

.challenge-card__title {
	font-size: var(--fs-lg);
	font-weight: 600;
	color: #CE2525;
	margin: 0 0 12px 0;
	letter-spacing: -0.5px;
}

.challenge-card__description {
	font-size: var(--fs-body);
	color: #656565;
	line-height: 1.6;
	margin: 0;
}

/* 
=========================================
BLOCK: Motivos / Dark Section (Varejo / Atacado)
=========================================
*/
.motivos {
	background-color: #16181A;
	color: #FFF;
	padding: 80px 3%;
	text-align: center;
}

.motivos__container {
	max-width: 1200px;
	margin: 0 auto;
}

.motivos__label {
	display: block;
	font-size: var(--fs-body);
	color: #D4D4D4;
	font-weight: 400;
	letter-spacing: 0.2px;
}

.motivos__title {
	font-size: var(--fs-h3);
	font-weight: 500;
	margin: 0 0 16px 0;
	line-height: 1.2;
}

.motivos__subtitle {
	font-size: var(--fs-md);
	color: #D4D4D4;
	line-height: 1.6;
	letter-spacing: -0.5px;
	max-width: 460px;
	margin: 0 auto 50px auto;
}

.motivos__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	text-align: left;
	margin-bottom: 48px;
}

.motivos .button {
	margin: 0 auto;
}

.integrations {
	padding: 20px 3%;
}

/* 
=========================================
BLOCK: Motivo Card
=========================================
*/
.motivo-card {
	background-color: #202126;
	border: 1px solid #202126;
	border-radius: var(--border-radius-md);
	transition: all .2s;
	padding: 32px;
}

.motivo-card:hover {
	border-color: #25282A;
	box-shadow: 0 4px 12px rgb(255 255 255 / 3%);
}

.motivo-card__icon {
	font-size: 28px;
	display: block;
	margin-bottom: 16px;
	color: var(--color-secondary);
}

.motivo-card__icon img {
	filter: brightness(0) saturate(100%) invert(78%) sepia(54%) saturate(677%) hue-rotate(88deg) brightness(87%) contrast(89%);
}

.motivo-card__title {
	font-size: var(--fs-lg);
	font-weight: 600;
	color: #FFF;
	letter-spacing: -0.5px;
	margin: 0 0 12px 0;
}

.motivo-card__description {
	font-size: var(--fs-body);
	color: #D4D4D4;
	line-height: 1.6;
	margin: 0;
}

/* 
=========================================
BLOCK: Testimonials (Home / Varejo)
=========================================
*/
.testimonials {
	margin-top: 24px;
}

.testimonials__container {
	padding: 32px 0;
}

.testimonials__title {
	color: #25282A;
	font-size: var(--fs-h2);
	font-weight: 400;
	margin: 0 0 80px 0;
	line-height: 58px;
	text-align: center;
}

.testimonials__title b {
	font-weight: 600;
}

.testimonials__grid {
	display: flex;
	justify-content: center;
	align-items: stretch;
}

.testimonial-video {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
	transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
		opacity 0.3s ease,
		filter 0.3s ease;
	opacity: 0.8;
	transform: scale(.9);
	filter: brightness(0.9);
	cursor: pointer;
}

.owl-item.center .testimonial-video {
	opacity: 1;
	transform: scale(1);
	filter: brightness(1);
}

.testimonial-video:hover {
	filter: brightness(1);
}

/* Thumbnail container */
.testimonial-video__thumbnail {
	position: relative;
	width: 100%;
	height: 640px;
	border-radius: 12px;
	overflow: hidden;
	background-color: #000;
}

/* Video preview inside thumbnail */
.testimonial-video__preview {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Fallback placeholder (no video) */
.testimonial-video__placeholder {
	width: 100%;
	height: 100%;
	background-color: #2A2545;
	background-size: cover;
	background-position: center;
}

/* Play button overlay */
.testimonial-video__play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 48px;
	height: 48px;
	background-color: rgb(0 0 0 / 0.4);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 2;
	pointer-events: none;
}

.testimonials .owl-item.center .testimonial-video__play-btn,
.testimonial-video:hover .testimonial-video__play-btn {
	opacity: 1;
}

.testimonial-video__play-btn svg {
	width: 24px;
	height: 24px;
	color: #FFF;
}

.testimonial-video__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 340px;
}

.testimonial-video__brand {
	width: 100%;
	max-width: 328px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #E7EAF1;
	color: #25282A;
	font-size: var(--fs-sm);
	font-weight: 500;
	margin: 0 auto;
	border-radius: 80px;
}

.testimonials__labels {
	display: flex;
	justify-content: center;
	margin-top: 16px;
}

.testimonials__label {
	padding: 12px 48px;
	background-color: #E5E5EA;
	border-radius: 40px;
	font-size: var(--fs-sm);
	color: var(--color-text);
}

/* ---- Testimonial Video Modal ---- */
.testimonial-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	animation: testimonialFadeIn 0.3s ease;
}

.testimonial-modal__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(0 0 0 / 60%);
	backdrop-filter: blur(4px);
}

.testimonial-modal__player {
	position: relative;
	background-color: #000;
	border-radius: var(--border-radius-md);
	overflow: hidden;
	width: 90%;
	max-width: 480px;
	/* aspect-ratio: 9/16; */
	max-height: 90vh;
	animation: testimonialSlideIn 0.3s ease-out;
	z-index: 1;
}

.testimonial-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	background-color: rgb(0 0 0 / 0.4);
	border: none;
	border-radius: 50%;
	color: #FFF;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	transition: background-color 0.2s;
	padding: 0;
}

.testimonial-modal__close:hover {
	background-color: rgb(0 0 0 / 0.8);
}

.testimonial-modal__close svg {
	width: 24px;
	height: 24px;
}

.testimonial-modal__video {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@keyframes testimonialFadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes testimonialSlideIn {
	from {
		transform: scale(0.9);
		opacity: 0;
	}

	to {
		transform: scale(1);
		opacity: 1;
	}
}

@media (max-width: 1024px) {

	.testimonials__title {
		font-size: var(--fs-h3);
		line-height: 38px;
		margin: 0 0 60px;
	}
}

@media (max-width: 932px) {

	.testimonial-video__thumbnail {
		height: 440px;
	}
}

@media (max-width: 480px) {
	.testimonials {
		margin-top: 0;
	}

	.testimonials__title {
		margin-bottom: 30px;
		font-size: var(--fs-xxl);
	}

	.case-card .case-card__hover-info {
		padding: 20px 16px;
	}

	.testimonial-modal__player {
		width: 95%;
		max-width: none;
	}
}

/* 
=========================================
BLOCK: Integrations (Varejo / Atacado)
=========================================
*/
.integrations {
	padding: 120px 3% 60px 3%;
	text-align: center;
	position: relative;
	overflow: hidden;
	margin-top: 40px;
}

.integrations__container {
	position: relative;
	z-index: 10;
	max-width: 780px;
	margin: 0 auto;
}

.integrations__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	color: var(--color-primary);
	letter-spacing: -0.5px;
	margin: 0 0 24px 0;
	line-height: 1;
}

.integrations__description {
	font-size: var(--fs-md);
	color: #656565;
	line-height: 1.7;
	margin-bottom: 50px;
	letter-spacing: -0.5px;
}

.integrations .button {
	margin: 0 auto;
}

.integrations__floating-logos {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
}

.erp-logo {
	position: absolute;
	background-color: #F8F9FB;
	border-radius: var(--border-radius-md);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 24px;
	top: 50%;
	transform: translateY(-50%);
}

.erp-logo img {
	height: 38px;
	width: 90px;
	object-fit: contain;
}

.erp-logo--totvs {
	top: 15%;
	left: calc(50% - 500px);
}

.erp-logo--tiny {
	top: 20%;
	left: calc(50% - 280px);
	filter: blur(1px);
	opacity: 0.6;
	padding: 10px 20px;
}

.erp-logo--tiny img {
	height: 28px;
}

.erp-logo--sap {
	top: 16%;
	left: calc(50% + 150px);
	padding: 24px 30px;
}

.erp-logo--sisplan {
	top: 35%;
	left: calc(50% + 340px);
	padding: 20px;
}

.erp-logo--sisplan img {
	height: 28px;
}

.erp-logo--linx {
	top: 35%;
	left: calc(50% - 600px);
	filter: blur(1px);
	opacity: 0.8;
}

.erp-logo--senior {
	top: 25%;
	left: calc(50% + 530px);
	filter: blur(2px);
	opacity: 0.7;
}

.erp-logo--bling {
	top: 65%;
	left: calc(50% - 480px);
	padding: 30px 40px;
}

.erp-logo--organiza {
	top: 55%;
	left: calc(50% + 500px);
}

.erp-logo--produtec {
	top: 70%;
	left: calc(50% + 300px);
	filter: blur(2px);
	opacity: 0.6;
}

.erp-logo--systextil {
	top: 75%;
	left: calc(50% - 670px);
	filter: blur(2px);
	opacity: 0.7;
}

.erp-logo--millennium {
	top: 75%;
	left: calc(50% + 560px);
	filter: blur(2px);
	opacity: 0.7;
	padding: 15px 20px;
}

@media (max-width: 1024px) {
	.centralization__container {
		flex-wrap: wrap;
	}

	.centralization__image {
		width: 100%;
		height: 300px;
	}
}

@media (max-width: 932px) {
	.hero-varejo__container {
		flex-wrap: wrap;
		gap: 34px;
	}

	.hero-varejo__image {
		max-height: 300px;
	}

	.centralization {
		margin: 40px 0 20px 0;
	}

	.centralization__container {
		gap: 34px;
	}

	.centralization__image {
		max-height: 200px;
	}

	.motivos__grid,
	.challenges__grid {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 16px;
	}

	.motivos__grid::-webkit-scrollbar,
	.challenges__grid::-webkit-scrollbar {
		height: 0;
	}

	.motivo-card,
	.challenge-card {
		min-width: auto;
		max-width: 360px;
		flex-shrink: 0;
	}

	.integrations__title,
	.centralization__title,
	.hero-varejo__title {
		font-size: var(--fs-h3);
	}

	.integrations__description,
	.centralization__description,
	.hero-varejo__description {
		font-size: var(--fs-body);
	}

	.motivos {
		padding: 40px 3%;
	}

	.integrations {
		padding: 20px 3%;
	}
}

/*
=========================================
BLOCK: CTA Faturamento (Home)
=========================================
*/
.cta-faturamento {
	background-color: var(--color-bg-light);
	text-align: center;
}

.cta-faturamento__container {
	padding: 80px 40px;
}

.cta-faturamento__title {
	color: #25282A;
	font-size: var(--fs-h2);
	font-weight: 400;
	margin: 0 0 40px 0;
	line-height: 58px;
}

@media (max-width: 1280px) {

	.cta-faturamento__title {
		font-size: var(--fs-h3);
		line-height: 40px;
	}
}

@media (max-width: 1024px) {

	.cta-faturamento__container {
		padding: 40px 3%;
	}
}

@media (max-width: 1024px) {

	.cta-faturamento__title {
		font-size: var(--fs-xxl);
		line-height: 36px;
	}
}

/* 
=========================================
BLOCK: Chatbot Widget (Home only)
=========================================
*/
.chatbot-widget {
	position: fixed;
	bottom: 24px;
	right: 24px;
	background-color: var(--color-bg);
	border-radius: var(--border-radius-lg);
	box-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);
	width: 220px;
	overflow: hidden;
	border: 1px solid var(--color-border);
	z-index: 1000;
	padding: 16px;
}

.chatbot-widget__close {
	position: absolute;
	top: 8px;
	right: 10px;
	background: none;
	border: none;
	font-size: var(--fs-body);
	color: var(--color-text-light);
	cursor: pointer;
	line-height: 1;
}

.chatbot-widget__bubble {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-bottom: 12px;
}

.chatbot-widget__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	flex-shrink: 0;
}

.chatbot-widget__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.chatbot-widget__label {
	font-size: var(--fs-xs);
	font-weight: 700;
	color: var(--color-secondary);
}

.chatbot-widget__sub {
	font-size: 10px;
	color: var(--color-text-light);
	line-height: 1.3;
}

.chatbot-widget__timer-row {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	font-size: var(--fs-lg);
	font-weight: 700;
	color: var(--color-primary);
	margin-bottom: 10px;
	padding: 8px;
	background-color: var(--color-bg-light);
	border-radius: var(--border-radius-sm);
}

.chatbot-widget__separator {
	font-size: var(--fs-md);
	color: var(--color-text-light);
}

.chatbot-widget__time small {
	font-size: 9px;
	font-weight: 500;
	color: var(--color-text-light);
	display: block;
	text-align: center;
}

.chatbot-widget__cta {
	display: block;
	text-align: center;
	padding: 10px;
	border-radius: 40px;
	background-color: var(--color-secondary);
	color: #111;
	font-weight: 700;
	font-size: 13px;
	text-decoration: none;
	transition: background-color .2s;
}

.chatbot-widget__cta:hover {
	background-color: #00c06f;
}

/* 
=========================================
BLOCK: Especialistas Hero
=========================================
*/
.esp-hero {
	padding: 20px 3% 40px 3%;
}

.esp-hero__container {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	gap: 64px;
	align-items: center;
	max-width: 1480px;
}

.esp-hero__content {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.esp-hero__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	letter-spacing: -0.5px;
	color: #25282A;
	line-height: 1;
}

.esp-hero__description {
	font-size: var(--fs-md);
	font-weight: 400;
	color: #25282A;
}

.esp-hero__description b {
	font-weight: 500;
}

.esp-hero__image {
	border-radius: var(--border-radius-md);
	min-width: 60%;
	max-height: 700px;
	overflow: hidden;
}

/* 
=========================================
BLOCK: Fashion Segments (Especialistas)
=========================================
*/
.fashion-segments {
	background-color: #F8F9FB;
	padding: 80px 3%;
	margin-top: 70px;
}

.fashion-segments__container {
	max-width: 1480px;
	margin: 0 auto;
}

.fashion-segments__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	color: #25282A;
	line-height: 1;
	text-align: center;
	max-width: 840px;
	margin: 0 auto 30px auto;
}

.fashion-segments__description {
	font-size: var(--fs-md);
	color: #656565;
	line-height: 1.5;
	max-width: 700px;
	margin: 0 auto 60px;
	text-align: center;
}

.fashion-segments__grid {
	display: flex;
	gap: 40px 24px;
	margin-bottom: 48px;
	flex-wrap: wrap;
}

.fashion-card {
	width: calc(100% / 6 - 20px);
	display: flex;
	text-align: center;
}

@media (max-width: 932px) {
	.fashion-card {
		width: calc(100% / 3 - 20px);
	}
}

.fashion-card:hover .fashion-card__image {
	transform: perspective(400px) rotateX(2deg) rotateY(-4deg) skew(-2deg, -1deg) scale(1.02) translateY(-5px);
}

.fashion-card:hover .fashion-card__image::after {
	box-shadow: inset -4px -4px 0 0px #5733be;
}

.fashion-card__label {
	display: block;
	font-size: var(--fs-body);
	font-weight: 600;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: #25282A;
	margin-bottom: unset;
}

.fashion-card__image {
	border-radius: var(--border-radius-sm);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	height: unset;
	align-items: unset;
	background-color: unset;
	transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease;
}

.fashion-card__image::before {
	content: "";
	position: absolute;
	top: 0;
	left: -150%;
	width: 60%;
	height: 100%;
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0) 100%);
	transform: skewX(-35deg);
	z-index: 2;
	pointer-events: none;
	transition: left 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.fashion-card:hover .fashion-card__image::before {
	left: 200%;
}

.fashion-card img {
	position: relative;
	z-index: 1;
}

.fashion-card__image::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-purple);
	border-radius: var(--border-radius-sm);
	width: 100%;
	height: 75%;
	transition: all .2s;
}

.fashion-segments__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	margin-top: 48px;
}

/* 
=========================================
BLOCK: Offices / Estrutura (Especialistas)
=========================================
*/
.offices {
	padding: 80px 3%;
	background-color: unset;
}

.offices__container {
	max-width: 1480px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	gap: 64px;
	align-items: start;
}

.offices__content {
	max-width: 740px;
	width: 100%;
}

.offices__title {
	font-size: var(--fs-h3);
	font-weight: 400;
	color: #25282A;
	margin: 0 0 24px 0;
	line-height: 1;
	letter-spacing: -0.5px;
}

.offices__description {
	font-size: var(--fs-md);
	color: #656565;
	line-height: 1.5;
	letter-spacing: -0.5px;
	margin-bottom: 40px;
}

.offices__accordion {
	display: flex;
	flex-direction: column;
	list-style: none;
	padding: 0;
	margin: 0;
}

.offices__item {
	border-bottom: 1px solid var(--color-border);
}

.offices__item-header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 0;
	background: none;
	border: none;
	font-size: var(--fs-body);
	font-weight: 500;
	color: var(--color-text);
	cursor: pointer;
	font-family: inherit;
}

.offices__item-toggle {
	font-size: var(--fs-lg);
	color: var(--color-text-light);
}

.offices__item--active .offices__item-header {
	color: var(--color-purple);
	font-weight: 600;
}

.offices__item-body {
	padding: 0 0 24px 0;
	font-size: var(--fs-sm);
	line-height: 1.7;
	color: var(--color-text-light);
	border-left: 3px solid var(--color-purple);
	padding-left: 20px;
	margin-left: 4px;
}

.offices__item-body p {
	margin: 0 0 4px 0;
}

.offices__item-link {
	display: inline-block;
	margin-top: 12px;
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--color-text);
}

.offices__item:not(.offices__item--active) .offices__item-body {
	display: none;
}

.offices__image {
	width: 535px;
	height: 600px;
	max-height: 600px;
	border-radius: var(--border-radius-md);
	flex-shrink: 0;
	overflow: hidden;
}

.offices__image-container {
	width: 100%;
	height: 100%;
	position: relative;
}

.offices__img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.offices__img--active {
	opacity: 1;
}

@media (max-width: 1024px) {
	.offices__container {
		flex-wrap: wrap;
		gap: 40px;
	}
}

@media (max-width: 932px) {
	.esp-hero__container {
		flex-wrap: wrap;
		gap: 20px;
	}

	.esp-hero__content {
		width: 100%;
	}

	.esp-hero__image {
		width: 100%;
		max-height: 300px;
	}

	.fashion-segments__title,
	.esp-hero__title {
		font-size: var(--fs-h3);
	}

	.esp-hero__description {
		font-size: var(--fs-body);
	}

	.fashion-segments__description {
		margin: 0 auto 40px;
	}

	.fashion-segments {
		padding: 40px 3%;
		margin-top: 20px;
	}

	.offices {
		padding: 40px 3%;
	}

	.offices__image {
		max-width: 100%;
	}
}

@media (max-width: 480px) {
	.fashion-segments__grid {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding: 10px;
		margin: 0;
	}

	.fashion-segments__grid::-webkit-scrollbar {
		height: 0;
	}

	.fashion-card {
		width: auto;
		flex-shrink: 0;
	}

	.fashion-segments__actions {
		margin-top: 28px;
	}

	.features__title,
	.offices__description {
		margin-bottom: 20px;
	}
}

/* 
=========================================
BLOCK: Performance Hero
=========================================
*/
.perf-hero {
	padding: 20px 3% 40px 3%;
}

.perf-hero__container {
	max-width: 1480px;
	margin: 0 auto;
	display: flex;
	gap: 64px;
	align-items: center;
}

.perf-hero__image {
	min-width: 50%;
	max-height: 500px;
	background-color: #2A2545;
	border-radius: var(--border-radius-md);
	overflow: hidden;
}

.perf-hero__content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.perf-hero__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	line-height: 1.1;
	color: #25282A;
	letter-spacing: -0.5px;
	margin: 0;
}

.perf-hero__title b {
	font-weight: 600;
}

.perf-hero__description {
	font-size: var(--fs-md);
	line-height: 1.5;
	color: #656565;
}

/* 
=========================================
BLOCK: Performance Services (O que fazemos)
=========================================
*/
.perf-services {
	padding: 80px 3%;
	background-color: #F8F9FB;
	text-align: center;
}

.perf-services__container {
	max-width: 1200px;
	margin: 0 auto;
}

.perf-services__label {
	display: block;
	font-size: var(--fs-sm);
	font-weight: 400;
	letter-spacing: 0.2px;
	color: #656565;
}

.perf-services__title {
	font-size: var(--fs-h3);
	font-weight: 500;
	color: var(--color-primary);
	line-height: 1.2;
	margin: 0 0 16px 0;
}

.perf-services__description {
	font-size: var(--fs-md);
	color: #656565;
	line-height: 1.5;
	letter-spacing: -0.5px;
	max-width: 460px;
	margin: 0 auto 50px;
}

.perf-services__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 32px;
	text-align: left;
}

.perf-service-card {
	background-color: #FFF;
	border-radius: var(--border-radius-md);
	padding: 32px;
	transition: all .2s;
	border: 1px solid #FFF;
}

.perf-service-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
	border-color: #ebebeb;
}

.perf-service-card__icon {
	font-size: 28px;
	display: block;
	margin-bottom: 16px;
}

.perf-service-card__icon img {
	filter: brightness(0) saturate(100%) invert(70%) sepia(97%) saturate(6499%) hue-rotate(239deg) brightness(101%) contrast(98%);
}

.perf-service-card__title {
	font-size: var(--fs-lg);
	font-weight: 600;
	color: var(--color-purple);
	letter-spacing: -0.5px;
	margin: 0 0 12px 0;
}

.perf-service-card__description {
	font-size: var(--fs-body);
	font-weight: 400;
	color: #656565;
	line-height: 1.6;
	margin: 0;
}

.perf-services__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 32px 0;
}

.perf-services__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--color-border);
}

.perf-services__dot--active {
	background-color: var(--color-purple);
}

.perf-services__footnote {
	font-size: var(--fs-md);
	color: #9E9E9E;
	max-width: 700px;
	margin: 0 auto 28px;
	line-height: 1.6;
}

.perf-services__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}

/* 
=========================================
BLOCK: Performance Solution Banner
=========================================
*/
.perf-solution-banner {
	position: relative;
	min-height: 971px;
	background-image: url(../media/banners/performance/background.jpg);
	background-size: cover;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.perf-solution-banner__container {
	max-width: 1200px;
	padding: 80px 160px;
	position: relative;
	z-index: 1;
}

.perf-solution-banner__card {
	background-color: rgb(255 255 255 / 90%);
	border-radius: var(--border-radius-md);
	padding: 50px 40px;
	max-width: 760px;
	backdrop-filter: blur(2px);
}

.perf-solution-banner__title {
	font-size: var(--fs-h2);
	font-weight: 400;
	line-height: 1;
	color: #25282A;
	margin: 16px 0 24px;
}

.perf-solution-banner__title b {
	font-weight: 500;
}

.text-highlight--light {
	color: var(--color-purple-light);
}

.perf-solution-banner__description {
	font-size: var(--fs-md);
	color: #656565;
	line-height: 1.5;
	margin-bottom: 26px;
}

/* 
=========================================
BLOCK: Performance Solutions Grid
=========================================
*/
.perf-solutions {
	padding: 80px 3%;
	background-color: #F8F9FB;
	text-align: center;
}

.perf-solutions__container {
	max-width: 1480px;
	margin: 0 auto;
}

.perf-solutions__title {
	font-size: var(--fs-h3);
	font-weight: 500;
	color: #25282A;
	line-height: 1.2;
}

.perf-solutions__subtitle {
	font-size: var(--fs-body);
	color: #656565;
	font-weight: 400;
	letter-spacing: 0.2px;
	margin-bottom: -70px;
}

.perf-solutions__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 24px;
	margin-bottom: 32px;
	text-align: left;
	align-items: baseline;
}

.solution-card {
	width: calc(50% - 12px);
	text-align: left;
}

.solution-card__image {
	border-radius: var(--border-radius-md);
	margin-bottom: 16px;
	overflow: hidden;
}

.solution-card__image img {
	display: flex;
	width: 100%;
}

.solution-card__title {
	font-size: var(--fs-xl);
	font-weight: 500;
	color: #25282A;
	margin: 0 0 8px 0;
}

.solution-card__description {
	font-size: var(--fs-body);
	color: #656565;
	line-height: 1.5;
	margin: 0 0 16px 0;
	max-width: 90%;
	text-align: left;
}

.solution-card .button {
	padding: 12px 24px 10px 24px;
	font-size: var(--fs-sm);
}

.perf-solutions__grid .button {
	display: none;
}

@media (max-width: 932px) {
	.perf-hero__container {
		flex-wrap: wrap;
		gap: 34px;
	}

	.perf-hero__image {
		max-height: 300px;
	}

	.perf-hero__title {
		font-size: var(--fs-h3);
	}

	.perf-hero__description {
		font-size: var(--fs-body);
	}

	.perf-services {
		padding: 40px 3%;
	}

	.perf-services__grid {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 16px;
	}

	.perf-services__grid::-webkit-scrollbar {
		height: 0;
	}

	.perf-service-card {
		min-width: auto;
		max-width: 360px;
		flex-shrink: 0;
	}

	.perf-solution-banner__container {
		padding: 40px 3%;
	}

	.perf-solution-banner__card {
		padding: 30px;
	}

	.perf-solution-banner {
		min-height: 741px;
		background-position: center;
	}

	.perf-solution-banner__title {
		font-size: var(--fs-h3);
	}

	.perf-services__description,
	.perf-services__footnote,
	.perf-solution-banner__description {
		font-size: var(--fs-body);
	}

	.perf-solutions {
		padding: 40px 3%;
	}
}

@media (max-width: 480px) {
	.perf-services__title {
		font-size: var(--fs-xxl);
	}

	.perf-services__description {
		margin: 0 auto 30px;
	}

	.perf-service-card {
		max-width: 300px;
	}

	.perf-solutions__title {
		font-size: var(--fs-xl);
	}

	.perf-solutions__subtitle {
		margin-bottom: 0;
		margin-top: 10px;
	}

	.solution-card {
		width: 100%;
	}

	.perf-solutions__grid {
		gap: 30px 24px;
	}

	.solution-card__description {
		max-width: 100%;
	}

	.solution-card__title {
		font-size: var(--fs-lg);
	}

	.solution-card .button {
		width: 100%;
	}
}

/* 
=========================================
BLOCK: Vagas Hero
=========================================
*/
.vagas-hero {
	padding: 20px 3% 80px 3%;
	text-align: center;
}

.vagas-hero__container {
	max-width: 1000px;
	margin: 0 auto;
}

.vagas-hero__title {
	font-size: var(--fs-h3-lg);
	font-weight: 400;
	color: #25282A;
	margin: 0 0 12px 0;
}

.vagas-hero__label {
	display: block;
	font-size: var(--fs-body);
}

.vagas-hero__description {
	font-size: var(--fs-body);
	font-weight: 400;
	color: #656565;
	line-height: 1.7;
	max-width: 680px;
	margin: 0 auto 40px auto;
}

.vagas-hero__description b {
	font-weight: 500;
}

.vagas-hero__video {
	max-width: 1000px;
	margin: 0 auto;
}

.vagas-hero__video-placeholder {
	width: 100%;
	background-color: #2A2545;
	border-radius: var(--border-radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.vagas-hero__video-play {
	background-image: url(../media/icons/play-icon.svg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 67px;
	height: 48px;
	display: flex;
	position: absolute;
}

/* 
=========================================
BLOCK: Vagas Culture / Ambiente
=========================================
*/
.vagas-culture {
	padding: 80px 3%;
	background-color: #F8F9FB;
	text-align: center;
}

.vagas-culture__container {
	max-width: 960px;
	margin: 0 auto;
}

.vagas-culture__title {
	font-size: var(--fs-h3);
	font-weight: 500;
	line-height: 1.1;
	color: #25282A;
	margin: 0 0 16px 0;
	letter-spacing: -0.5px;
}

.vagas-culture__description {
	font-size: var(--fs-body);
	font-weight: 500;
	color: #656565;
	line-height: 1.6;
	margin: 0 auto 40px auto;
	max-width: 780px;
}

.vagas-culture__areas {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	margin-bottom: 40px;
}

.vagas-culture__area {
	background-color: #E7EAF1;
	border-radius: var(--border-radius-sm);
	border: 1px solid #E7EAF1;
	padding: 14px 32px;
	text-align: center;
	width: 290px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 85px;
	transition: all 0.2s;
}

.vagas-culture__area:hover {
	border-color: #dedee4;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.vagas-culture__area-title {
	display: block;
	font-size: var(--fs-sm);
	font-weight: 600;
	letter-spacing: -0.5px;
}

.vagas-culture__area-desc {
	display: block;
	font-size: var(--fs-xs);
	color: #25282A;
}

.vagas-culture .button {
	margin: 0 auto;
}

@media (max-width: 932px) {
	.vagas-hero {
		padding: 20px 3% 40px 3%;
	}

	.vagas-hero__title {
		font-size: var(--fs-h3);
	}

	.vagas-hero__description {
		margin: 0 auto 20px auto;
	}

	.vagas-culture {
		padding: 40px 3%;
	}

	.vagas-culture__title {
		font-size: var(--fs-xl);
	}

	.vagas-culture__area {
		width: calc(50% - 8px);
		flex-grow: 1;
	}
}

/* 
=========================================
BLOCK: Casos de Sucesso Hero
=========================================
*/
.casos-hero {
	padding: 40px 0 0;
	text-align: center;
	overflow: hidden;
}

.casos-hero__container {
	margin: 0 auto;
}

.casos-hero__title {
	font-size: var(--fs-h3-lg);
	font-weight: 500;
	color: #25282A;
	margin: 0 0 8px 0;
	letter-spacing: -0.5px;
	padding: 0 3%;
}

.casos-hero__description {
	font-size: var(--fs-md);
	font-weight: 400;
	color: #656565;
	line-height: 1.6;
	padding: 0 3%;
}

.casos-hero__description b,
.casos-hero__description .text-highlight {
	font-weight: 500;
}

.casos-hero__mosaic {
	display: flex;
	flex-direction: column;
	margin-top: 60px;
	max-height: 570px;
	position: relative;
}

.casos-hero__mosaic::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 350px;
	background: #FFF;
	background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.casos-hero__mosaic-contaner {
	padding: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 0 24px;
	animation: slideUpFade 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	opacity: 0;
	transform: translateY(40px);
}

.casos-hero__mosaic-contaner:nth-child(even) {
	flex-direction: row-reverse;
}

.casos-hero__mosaic-contaner:nth-child(1) {
	animation-delay: 0.1s;
}

.casos-hero__mosaic-contaner:nth-child(2) {
	animation-delay: 0.2s;
}

.casos-hero__mosaic-contaner:nth-child(3) {
	animation-delay: 0.3s;
}

.casos-hero__mosaic-contaner:nth-child(4) {
	animation-delay: 0.4s;
}

.casos-hero__mosaic-contaner:nth-child(5) {
	animation-delay: 0.5s;
}

.casos-hero__brand {
	width: 182px;
	height: 110px;
	padding: 8px;
	background-color: #F8F9FB;
	border-radius: var(--border-radius-md);
	font-size: var(--fs-md);
	font-weight: 700;
	color: var(--color-primary);
	opacity: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes slideUpFade {
	0% {
		opacity: 0;
		transform: translateY(40px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.casos-hero__brand:nth-child(even) {
	margin-top: 25px;
}

.casos-hero__brand:nth-child(odd) {
	margin-top: -40px;
}

.casos-hero__brand img {
	max-height: 48px;
	max-width: 110px;
	filter: brightness(0);
}

/* 
=========================================
BLOCK: Casos Tabs
=========================================
*/
.casos-tabs {
	padding: 0 24px;
	margin-top: 60px;
}

.casos-tabs__container {
	width: fit-content;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	border: 1px solid #E7EAF1;
	border-bottom: 0;
	border-radius: var(--border-radius-md) var(--border-radius-md) 0 0;
	overflow: hidden;
	background-color: #FFF;
}

.casos-tabs__tab {
	width: 340px;
	padding: 20px;
	font-size: var(--fs-xl);
	font-weight: 400;
	color: #9E9E9E;
	letter-spacing: -0.5px;
	background: none;
	border: none;
	cursor: pointer;
	transition: all 0.2s;
	border-right: 1px solid #E7EAF1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.casos-tabs__tab:last-child {
	border-right: none;
}

.casos-tabs__tab--active {
	color: var(--color-purple);
	font-weight: 500;
	background-color: #F8F9FB;
}

.casos-tabs__tab:hover {
	color: var(--color-purple);
}

.casos-tabs__tab-icon {
	background-image: url(/assets/media/icons/bag-icon.svg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 20px;
	height: 21px;
}

.casos-tabs__tab--active .casos-tabs__tab-icon {
	filter: brightness(0) saturate(100%) invert(70%) sepia(97%) saturate(6499%) hue-rotate(239deg) brightness(101%) contrast(98%);
}

/* 
=========================================
BLOCK: Casos Content + Sidebar
=========================================
*/
.casos-content__container {
	max-width: 1920px;
	margin: 0 auto;
}

.casos-content__list {
	display: flex;
	flex-direction: column;
}

/* 
=========================================
BLOCK: Caso Study
=========================================
*/
.caso-study {
	animation: fadeIn 0.2s ease-in-out;
	padding: 80px 3%;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.caso-study .badge {
	margin-bottom: 25px;
}

.caso-study:nth-child(odd) {
	background-color: #F8F9FB;
}

.caso-study:nth-child(odd) .caso-study__layout {
	flex-direction: row-reverse;
}

.caso-study__layout {
	display: flex;
	gap: 64px;
	align-items: center;
	max-width: 1200px;
}

.caso-study__image {
	background-color: #FFF;
	border-radius: var(--border-radius-md);
	overflow: hidden;
	max-height: 840px;
	max-width: 542px;
	width: 542px;
	flex-shrink: 0;
	position: relative;
}

.caso-study__logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 200px;
	max-height: 60px;
	min-height: 30px;
	width: auto;
	height: auto;
	filter: brightness(0) invert(1);
}

.caso-study__image--dark {
	background-color: #1A1A2E;
}

.caso-study__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.caso-study__brand {
	font-size: var(--fs-h1);
	font-weight: 400;
	line-height: 50px;
	color: #25282A;
	margin: 0;
	letter-spacing: -0.5px;
}

.caso-study__brand b {
	font-weight: 600;
}

.caso-study__category {
	font-size: var(--fs-h1);
	font-weight: 400;
	letter-spacing: -0.5px;
	line-height: 1.2;
	margin: 0;
}

.caso-study__section {
	font-size: var(--fs-body);
	line-height: 1.4;
	color: #656565;
	margin: 10px 0 20px 0;
}

.caso-study__section p {
	margin: 0;
}

.caso-study__solution {
	background-color: #F8F9FB;
	border-radius: var(--border-radius-md);
	padding: 32px;
	font-size: var(--fs-body);
	line-height: 1.4;
	color: #25282A;
	border: 1px solid #E5E5EA;
}

.caso-study:nth-child(odd) .caso-study__solution {
	background-color: #FFF;
}

.caso-study__solution p {
	margin: 0;
}

.caso-study__result {
	margin-top: 26px;
}

.caso-study__result-title {
	font-size: var(--fs-xxl);
	font-weight: 500;
	color: #25282A;
	margin: 0 0 12px 0;
	line-height: 1.2;
}

.caso-study__result-title b {
	font-weight: 600;
	color: var(--color-purple);
}

.caso-study__result-list {
	font-size: var(--fs-body);
	font-weight: 400;
	line-height: 1.5;
	color: #656565;
	margin: 0;
	list-style-type: none;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.caso-study__info .button {
	margin-top: 20px;
}

/* 
=========================================
BLOCK: Casos Sidebar
=========================================
*/
.casos-sidebar {
	position: fixed;
	right: 60px;
	top: 0;
	z-index: 2;
	opacity: 0;
	visibility: hidden;
	transform: translateY(100px);
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.casos-sidebar__nav {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-end;
	padding: 16px;
	border-radius: 10px;
	position: relative;
}

.casos-sidebar__nav::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgb(255 255 255 / 50%);
	border-radius: 8px;
	backdrop-filter: blur(2px);
}

.casos-sidebar__link {
	font-size: var(--fs-body);
	color: #25282A;
	font-weight: 500;
	text-align: right;
	padding-right: 16px;
	border-right: 3px solid var(--color-border);
	transition: all 0.2s;
	z-index: 1;
}

.casos-sidebar__link:hover {
	text-decoration: underline;
}

.casos-sidebar__link--active {
	color: var(--color-purple);
	font-weight: 600;
	border-right-color: var(--color-purple);
}

@media (max-width: 1024px) {
	.caso-study__layout {
		flex-wrap: wrap;
		width: 100%;
		gap: 34px;
	}

	.caso-study__image {
		width: 100%;
		max-width: 100%;
		max-height: 300px;
	}

	.caso-study__image img:not(.caso-study__logo) {
		width: 100%;
		object-fit: cover;
	}
}

@media (max-width: 932px) {
	.casos-hero__title {
		font-size: var(--fs-h3);
	}

	.casos-hero__description {
		font-size: var(--fs-body);
	}

	.caso-study__brand {
		font-size: var(--fs-h2);
	}

	.caso-study__category {
		font-size: var(--fs-h3);
	}

	.caso-study {
		padding: 40px 3%;
	}

	.casos-tabs {
		padding: 0 16px;
	}

	.casos-tabs__container {
		width: 100%;
	}

	.casos-tabs__tab {
		flex: 1;
		padding: 12px 20px;
	}
}

@media (max-width: 480px) {
	.casos-sidebar {
		display: none;
	}

	.casos-tabs__tab {
		font-size: var(--fs-md);
	}

	.caso-study__solution {
		padding: 16px;
	}

	.casos-hero__mosaic-contaner {
		gap: 0 10px;
	}

	.casos-hero__brand {
		width: 152px;
		height: 80px;
	}

	.casos-hero__brand:nth-child(odd) {
		margin-top: -30px;
	}

	.casos-hero__brand:nth-child(even) {
		margin-top: 10px;
	}

	.casos-hero__brand img {
		max-height: 38px;
		max-width: 100px;
	}
}

/*
=========================================
BLOCK: Recursos Nativos (Hero)
=========================================
*/
.rec-hero {
	padding: 20px 3% 40px 3%;
}

.rec-hero__container {
	max-width: 1480px;
	margin: 0 auto;
	display: flex;
	gap: 64px;
	align-items: center;
}

.rec-hero__image {
	min-width: 50%;
	max-height: 700px;
	background-color: #25282A;
	border-radius: var(--border-radius-md);
	overflow: hidden;
}

.rec-hero__content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.rec-hero__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	line-height: 1.1;
	color: #25282A;
	letter-spacing: -0.5px;
	margin: 0;
}

.rec-hero__description {
	font-size: var(--fs-md);
	line-height: 1.5;
	color: #656565;
}

/*
=========================================
BLOCK: Recursos Thumbnails
=========================================
*/
.rec-thumbnails {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-top: 48px;
	width: 100%;
}

.rec-thumbnails--small {
	margin-top: 32px;
}

.rec-thumb {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: center;
}

.rec-thumb__image {
	aspect-ratio: 9/16;
	background-color: var(--color-border);
	border-radius: var(--border-radius-md);
	border: 1px solid var(--color-purple);
	overflow: hidden;
	width: 100%;
}

.rec-thumb__text {
	font-size: 11px;
	color: var(--color-text-light);
	line-height: 1.4;
}

/*
=========================================
BLOCK: Recursos Feature Section
=========================================
*/
.rec-feature {
	padding: 80px 3%;
	overflow: hidden;
}

.rec-feature--gray {
	background-color: #F8F9FB;
}

.rec-feature__container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	gap: 64px;
	align-items: center;
}

.rec-feature__container--reverse {
	flex-direction: row-reverse;
}

.rec-feature__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.rec-feature__visual {
	min-width: 540px;
	position: relative;
	display: flex;
}

.rec-feature__visual img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
}

.rec-feature.feature-app .rec-feature__visual img {
	transform: scale(1.5);
	left: 70px;
}

.rec-feature.feature-product-register .rec-feature__visual img {
	transform: scale(1.5);
	left: 110px;
	top: 70px;
}

.rec-feature.feature-video-commerce .rec-feature__visual img {
	transform: scale(1.4);
	left: -80px;
	top: -20px;
}

.rec-feature.feature-messaging .rec-feature__visual img {
	transform: scale(1);
	left: -50px;
}

.rec-feature.feature-abandoned-cart .rec-feature__visual img {
	transform: scale(1.2);
	left: -30px;
}

.rec-feature.feature-chat-commerce .rec-feature__visual img {
	transform: scale(2);
	left: 55px;
}

.rec-feature__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	line-height: 1.1;
	color: #25282A;
	margin: 0 0 24px 0;
	letter-spacing: -0.5px;
}

.rec-feature__title b {
	font-weight: 600;
}

.rec-feature__title span {
	font-size: var(--fs-h3);
	display: block;
	width: 100%;
}

.rec-feature__subtitle {
	font-size: var(--fs-md);
	line-height: 1.5;
	color: #656565;
	margin-bottom: 24px;
}

.rec-feature__heading {
	font-size: var(--fs-xxl);
	font-weight: 500;
	line-height: 1.2;
	color: #25282A;
	margin-bottom: 24px;
}

.rec-feature__label {
	font-size: var(--fs-lg);
	color: #25282A;
	margin-bottom: 16px;
	letter-spacing: -0.5px;
}

.rec-feature__list {
	list-style: none;
	padding: 0;
	margin: 0 0 32px 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.rec-feature__list li {
	font-size: var(--fs-body);
	line-height: 1.5;
	color: #25282A;
	position: relative;
}

.rec-feature__list li span {
	font-weight: 500;
}

.rec-feature__stats {
	list-style: none;
	padding: 0;
	margin: 0 0 32px 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.rec-feature__stats li {
	font-size: var(--fs-body);
	font-weight: 400;
	line-height: 1.5;
	color: #25282A;
}

.rec-feature__stats li b {
	font-weight: 600;
}

/* Mockups placeholders */
.rec-app-mockup,
.rec-dashboard-mockup,
.rec-whatsapp-mockup,
.rec-video-mockup,
.rec-cart-mockup,
.rec-chat-mockup {
	width: 100%;
	height: 843px;
	border-radius: var(--border-radius-md);
	background-image: url(../media/banners/native-features/background.jpg);
	background-size: cover;
	background-position: center;
}

@media (max-width: 932px) {
	.rec-hero__container {
		flex-wrap: wrap;
		gap: 34px;
	}

	.rec-hero__image {
		max-height: 300px;
	}

	.rec-feature__title,
	.rec-hero__title {
		font-size: var(--fs-h3);
	}

	.rec-feature__subtitle,
	.rec-hero__description {
		font-size: var(--fs-body);
	}

	.rec-feature__heading {
		font-size: var(--fs-lg);
	}

	.rec-feature {
		padding: 40px 3%;
	}

	.rec-feature__container {
		flex-wrap: wrap;
		gap: 30px;
		position: relative;
	}

	.rec-feature__content {
		z-index: 1;
	}

	.rec-feature__visual {
		width: 100%;
		min-width: 100%;
	}

	.rec-app-mockup,
	.rec-dashboard-mockup,
	.rec-whatsapp-mockup,
	.rec-cart-mockup,
	.rec-video-mockup,
	.rec-chat-mockup,
	.rec-dashboard-mockup {
		display: none;
	}

	.rec-feature__visual img {
		transform: scale(1) !important;
		position: static;
	}
}

/* 
=========================================
BLOCK: Caixa Preta da Moda
=========================================
*/

/* Body dark override */
.body--dark {
	background-color: var(--color-bg-dark);
}

/* Button outline light */
.button--outline-light {
	background-color: transparent;
	color: var(--color-text-white);
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.button--outline-light:hover {
	border-color: rgba(255, 255, 255, 0.6);
}

.button--md {
	padding: 12px 24px 10px 24px;
}

.button--small {
	padding: 10px 20px;
	font-size: 13px;
}

/* CPM Hero */
.cpm-hero {
	background-color: #0c051a;
	padding: 100px 40px 0 40px;
}

.cpm-hero__container {
	max-width: 1680px;
	margin: 0 auto;
	position: relative;
}

.cpm-hero__content {
	z-index: 2;
	position: absolute;
	top: 0;
	left: 90px;
	width: 576px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cpm-hero__title {
	font-size: var(--fs-h1);
	font-weight: 500;
	color: #FFF;
	line-height: 1.05;
	margin: 0 0 24px 0;
	letter-spacing: -0.5px;
}

.cpm-hero__description {
	font-size: var(--fs-md);
	line-height: 1.5;
	color: #D4D4D4;
	margin-bottom: 30px;
	max-width: 440px;
}

.cpm-hero__actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.cpm-hero__image {
	position: relative;
}

/* CPM Problems */
.cpm-problems {
	background-color: #0c051a;
	padding: 80px 3%;
	text-align: center;
}

.cpm-problems__container {
	max-width: 1200px;
	margin: 0 auto;
}

.cpm-problems__title {
	font-size: var(--fs-h3);
	font-weight: 500;
	color: #FFF;
	line-height: 1.2;
	max-width: 640px;
	margin: 0 auto 28px auto;
}

.cpm-problems__subtitle {
	font-size: var(--fs-md);
	line-height: 1.5;
	color: #D4D4D4;
	margin: 0 auto 64px auto;
	max-width: 1110px;
}

.cpm-problems__grid {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 64px;
}

.cpm-problem-card {
	background-color: #161326;
	border: 1px solid #161326;
	border-radius: var(--border-radius-md);
	padding: 32px;
	transition: all .2s;
	text-align: left;
	min-width: 380px;
	height: 200px;
}

.cpm-problem-card:hover {
	border-color: #24203d;
	box-shadow: 0 4px 12px rgb(255 255 255 / 3%);
}

.cpm-problem-card__icon {
	font-size: var(--fs-xxl);
	display: block;
	margin-bottom: 24px;
	color: var(--color-purple-light);
}

.cpm-problem-card__icon img {
	filter: brightness(0) saturate(100%) invert(70%) sepia(97%) saturate(6499%) hue-rotate(239deg) brightness(101%) contrast(98%);
}

.cpm-problem-card__title {
	font-size: var(--fs-md);
	font-weight: 600;
	color: var(--color-text-white);
	margin: 0 0 12px 0;
	letter-spacing: -0.5px;
}

.cpm-problem-card__text {
	font-size: var(--fs-body);
	color: #D4D4D4;
	line-height: 1.5;
	margin: 0;
}

.cpm-problems__quote {
	font-size: var(--fs-h3);
	font-weight: 500;
	color: #FFF;
	line-height: 1.2;
	letter-spacing: -0.5px;
	max-width: 760px;
	margin: 0 auto;
}

/* CPM About (specialist + content) */
.cpm-about {
	background-color: #161326;
	padding: 80px 3%;
}

.cpm-about__container {
	max-width: 1480px;
	margin: 0 auto;
	display: flex;
	gap: 64px;
	align-items: center;
}

.cpm-about__image {
	min-width: 50%;
	max-height: 700px;
	border-radius: var(--border-radius-md);
	overflow: hidden;
}

.cpm-about__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.cpm-about__title {
	font-size: var(--fs-h1);
	font-weight: 600;
	line-height: 1;
	color: #FFF;
	margin: 8px 0 16px 0;
	letter-spacing: -0.5px;
}

.cpm-about__description {
	font-size: var(--fs-md);
	line-height: 1.5;
	color: #D4D4D4;
	margin-bottom: 16px;
}

.cpm-about__list {
	list-style: none;
	padding-left: 0;
	margin: 0 0 16px 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.cpm-about__list li {
	font-size: var(--ds-md);
	color: #D4D4D4;
	line-height: 1.5;
}

.cpm-about__list li span {
	font-weight: 500;
	color: #D4D4D4;
}

/* CPM Stage (full-width photo w/ overlay) */
.cpm-stage {
	background-image: url(../media/banners/black-box/banner02.jpg);
	background-size: cover;
	background-position: center;
	min-height: 971px;
	object-fit: cover;
	position: relative;
	display: flex;
	align-items: center;
}

.cpm-stage__overlay {
	background-color: rgba(123, 92, 250, 0.9);
	border-radius: var(--border-radius-md);
	padding: 50px 40px;
	max-width: 650px;
	margin-left: 10%;
	position: relative;
	z-index: 2;
}

.cpm-stage__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	color: #FFF;
	margin: 0 0 24px 0;
	line-height: 1;
}

.cpm-stage__title b {
	font-weight: 500;
}

.cpm-stage__list {
	list-style: none;
	padding-left: 0;
	margin: 0 0 26px 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.cpm-stage__list li {
	font-size: var(--fs-md);
	color: #FFF;
	line-height: 1.5;
}

.cpm-stage__list li span {
	font-weight: 500;
}

.cpm-stage__list .text-highlight {
	color: #FFF;
}

/* CPM Modules */
.cpm-modules {
	background-color: #0c051a;
	padding: 80px 0;
	text-align: center;
}

.cpm-modules__container {
	margin: 0 auto;
}

.cpm-modules__title {
	font-size: var(--fs-h3);
	font-weight: 500;
	color: #FFF;
	margin: 0 0 16px 0;
	letter-spacing: -0.5px;
	line-height: 1;
	padding: 0 3%;
}

.cpm-modules__subtitle {
	font-size: var(--fs-body);
	line-height: 1.5;
	color: #D4D4D4;
	margin: 0 auto 50px auto;
	max-width: 710px;
	padding: 0 3%;
}

.cpm-modules__carousel {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0 8px;
}

.cpm-modules__track {
	display: flex;
	gap: 24px;
	overflow: hidden;
	flex: 1;
}

.cpm-module-card {
	border-radius: var(--border-radius-md);
	overflow: hidden;
	position: relative;
}

.cpm-module-card__image {
	background-color: rgba(123, 92, 250, 0.2);
}

.cpm-module-card__label {
	display: block;
	font-size: var(--fs-body);
	font-weight: 600;
	letter-spacing: 4.5px;
	color: #88DBDF;
	text-transform: uppercase;
}

.cpm-module-card__title {
	font-size: var(--fs-xl);
	line-height: 1.2;
	font-weight: 600;
	color: #FFF;
	text-align: center;
	max-width: 240px;
}

.cpm-module-card__title span {
	font-size: var(--fs-lg);
	font-weight: 500;
}

.cpm-module-card__overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 100%;
}

.cpm-module-card__hover-info {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 32px;
	border-radius: var(--border-radius-md);
	display: flex;
	flex-direction: column;
	gap: 24px;
	background-color: #161326;
	opacity: 0;
	transition: opacity 0.2s ease;
	margin: 32px;
	text-align: left;
}

.owl-item.center .cpm-module-card__hover-info,
.owl-item.center-active .cpm-module-card__hover-info,
.cpm-module-card:hover .cpm-module-card__hover-info {
	opacity: 1;
	z-index: 1;
}

.cpm-module-card__info-title {
	font-size: var(--fs-xl);
	font-weight: 600;
	color: var(--color-purple);
	letter-spacing: -0.5px;
	line-height: 1;
}

.cpm-module-card__info-title span {
	font-size: var(--fs-lg);
	color: #FFF;
}

.cpm-module-card__info-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	list-style: none;
}

.cpm-module-card__info-content li {
	font-size: var(--fs-sm);
	color: #FFF;
	font-weight: 400;
	background-color: #0C051A;
	padding: 4px 8px;
	border-radius: var(--border-radius-sm);
}

.cpm-module-card__info-content li b {
	font-weight: 400;
}

.cpm-module-card__info-content li span {
	padding-left: 5px;
	color: #D4D4D4;
}

.main .cpm-modules .owl-carousel .owl-nav button {
	background-color: #161326 !important;
}

.main .cpm-modules .owl-carousel .owl-nav button.owl-prev {
	left: 0;
	border-radius: 0 40px 40px 0;
}

.main .cpm-modules .owl-carousel .owl-nav button.owl-next {
	right: 0;
	border-radius: 40px 0 0 40px;
}

.main .cpm-modules .owl-carousel .owl-nav button::before {
	border-left-color: #8257FD;
	border-bottom-color: #8257FD;
}

.main .cpm-modules .owl-dot {
	background-color: rgb(130 87 253 / 30%) !important;
}

.main .cpm-modules .owl-dot.active {
	background-color: #8257FD !important;
}

/* CPM Checklist */
.cpm-checklist {
	background-color: #0c051a;
	padding: 40px 3% 80px 3%;
}

.cpm-checklist__container {
	max-width: 1260px;
	margin: 0 auto;
	display: flex;
	gap: 64px;
	align-items: center;
}

.cpm-checklist__title {
	font-size: var(--fs-h3);
	font-weight: 400;
	color: #FFF;
	margin: 0 0 16px 0;
	line-height: 1.2;
}

.cpm-checklist__description {
	font-size: var(--fs-md);
	line-height: 1.5;
	color: #D4D4D4;
	margin-bottom: 32px;
}

.cpm-checklist__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cpm-checklist__item {
	display: flex;
	align-items: center;
	gap: 24px;
	font-size: var(--fs-md);
	line-height: 1.5;
	color: #FFF;
	padding: 30px;
	border-bottom: 1px solid #232526;
}

.cpm-checklist__item:last-child {
	border-bottom: 0;
}

.cpm-checklist__check {
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	background-color: #1DD485;
	border-radius: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cpm-checklist__check img {
	width: 12px;
}

.cpm-checklist__image {
	min-width: 535px;
	max-height: 675px;
	background-color: #0c051a;
	border-radius: var(--border-radius-md);
	overflow: hidden;
}

/* CPM CTA */
.cpm-cta {
	background-color: #0c051a;
	padding: 100px 3%;
	text-align: center;
}

.cpm-cta__container {
	max-width: 860px;
	margin: 0 auto;
}

.cpm-cta__title {
	font-size: var(--fs-h1);
	font-weight: 400;
	color: #FFF;
	margin: 0 0 24px 0;
	line-height: 1;
}

.cpm-cta__title span {
	font-weight: 500;
}

.cpm-cta__text {
	font-size: var(--fs-md);
	font-weight: 400;
	line-height: 1.5;
	color: #FFF;
	letter-spacing: -0.5px;
	max-width: 640px;
	margin: 0 auto 50px auto;
}

.cpm-cta__text b {
	font-weight: 600;
}

.cpm-cta__actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

/* CPM FAQ */
.cpm-faq {
	padding: 0 3% 80px 3%;
	background-color: #0c051a;
}

.cpm-faq__container {
	max-width: 900px;
	margin: 0 auto;
	background-color: #161326;
	border-radius: var(--border-radius-md);
	padding: 60px 80px;
	text-align: center;
}

.cpm-faq__title {
	font-size: var(--fs-h2);
	font-weight: 400;
	color: #FFFF;
	margin: 0 0 16px 0;
}

.cpm-faq__subtitle {
	font-size: 15px;
	color: var(--color-text-muted);
	margin-bottom: 48px;
}

.cpm-faq__list {
	text-align: left;
}

.cpm-faq__item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cpm-faq__item:last-child {
	border-bottom: none;
}

.cpm-faq__question {
	font-size: var(--fs-lg);
	font-weight: 400;
	color: #FFF;
	padding: 24px 0;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cpm-faq__question::-webkit-details-marker {
	display: none;
}

.cpm-faq__question::after {
	content: '';
	width: 10px;
	height: 10px;
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	border-left: 0;
	border-top: 0;
	transform: rotate(45deg);
	transition: transform 0.3s ease;
	display: block;
}

details[open] .cpm-faq__question::after {
	transform: rotate(225deg);
}

.cpm-faq__answer {
	padding: 0 0 24px 0;
}

.cpm-faq__answer p {
	margin: 0;
	line-height: 1.7;
	font-size: var(--fs-body);
	color: #D4D4D4;
}

@media (max-width: 1280px) {
	.cpm-hero {
		padding: 100px 3% 0 3%;
	}
}

@media (max-width: 1024px) {
	.cpm-problem-card {
		min-width: calc(50% - 12px);
	}
}

@media (max-width: 932px) {
	.cpm-hero {
		padding: 80px 3% 0 3%;
	}

	.cpm-hero__title {
		font-size: var(--fs-h3);
	}

	.cpm-hero__description {
		font-size: var(--fs-body);
	}

	.cpm-hero__content {
		left: 40px;
	}

	.cpm-problems {
		padding: 40px 3%;
	}

	.cpm-problems__subtitle {
		font-size: var(--fs-body);
		margin: 0 auto 40px auto;
	}

	.cpm-problems__grid {
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 16px;
		justify-content: flex-start;
		margin-bottom: 40px;
	}

	.cpm-problems__grid::-webkit-scrollbar {
		height: 0;
	}

	.cpm-problem-card {
		min-width: 300px;
	}

	.cpm-about {
		padding: 40px 3%;
	}

	.cpm-about__container {
		flex-wrap: wrap;
		gap: 34px;
	}

	.cpm-about__image {
		max-height: 400px;
	}

	.cpm-problems__title,
	.cpm-problems__quote,
	.cpm-modules__title,
	.cpm-checklist__title,
	.cpm-faq__title,
	.cpm-cta__title,
	.cpm-stage__title,
	.cpm-about__title {
		font-size: var(--fs-xxl);
	}

	.cpm-faq__question,
	.cpm-checklist__item,
	.cpm-checklist__description,
	.cpm-stage__list li,
	.cpm-about__description {
		font-size: var(--fs-body);
	}

	.cpm-checklist__item {
		padding: 20px;
	}

	.cpm-stage {
		min-height: 600px;
		background-position: center;
	}

	.cpm-stage__overlay {
		padding: 40px 3%;
		margin: 0 3%;
	}

	.cpm-modules {
		padding: 40px 0;
	}

	.cpm-checklist {
		padding: 20px 3% 40px 3%;
	}

	.cpm-checklist__container {
		flex-wrap: wrap;
		gap: 34px;
	}

	.cpm-checklist__image {
		max-height: 300px;
		min-width: auto;
		display: none;
	}

	.cpm-cta {
		padding: 40px 3%;
	}

	.cpm-cta__text {
		font-size: var(--fs-body);
		margin: 0 auto 40px auto;
	}

	.cpm-faq__container {
		padding: 40px 20px;
	}

	.cpm-faq__title {
		font-size: var(--fs-xl);
		margin: 0 0 10px 0;
	}
}

@media (max-width: 480px) {
	.cpm-hero__content {
		position: static;
		width: 100%;
		margin-bottom: 20px;
	}

	.cpm-checklist__item {
		padding: 20px 3%;
	}

	.cpm-module-card__hover-info {
		margin: 16px;
		padding: 25px 20px;
	}
}

/* 
=========================================
BLOCK: Mapa (Live Sales Map)
=========================================
*/
.mapa-hero {
	position: relative;
	min-height: calc(100vh - 80px);
	background-color: #0D0B1A;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
	background-size: 60px 60px;
	overflow: hidden;
}

.mapa-hero__map {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.mapa-hero__cities {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.mapa-city {
	position: absolute;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.35);
	font-weight: 500;
	letter-spacing: 0.5px;
	pointer-events: none;
}

.mapa-city--main {
	font-size: var(--fs-body);
	font-weight: 700;
	color: rgba(255, 255, 255, 0.5);
	letter-spacing: 2px;
}

/* Green dots */
.mapa-dots {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.mapa-dot {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--color-secondary);
	box-shadow: 0 0 8px rgba(0, 219, 128, 0.5);
}

.mapa-dot--pulse {
	width: 16px;
	height: 16px;
	animation: mapaPulse 2s ease-in-out infinite;
}

@keyframes mapaPulse {

	0%,
	100% {
		box-shadow: 0 0 8px rgba(0, 219, 128, 0.5);
		transform: scale(1);
	}

	50% {
		box-shadow: 0 0 20px rgba(0, 219, 128, 0.8), 0 0 40px rgba(0, 219, 128, 0.3);
		transform: scale(1.3);
	}
}

/* Store tooltip */
.mapa-tooltip {
	position: absolute;
	z-index: 5;
}

.mapa-tooltip__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 20px;
	background-color: #1A1830;
	border: 1px solid var(--color-secondary);
	border-radius: var(--border-radius-md);
	white-space: nowrap;
}

.mapa-tooltip__logo {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: var(--color-purple);
	color: var(--color-text-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: var(--fs-body);
	flex-shrink: 0;
}

.mapa-tooltip__info {
	display: flex;
	flex-direction: column;
}

.mapa-tooltip__name {
	font-size: var(--fs-sm);
	color: var(--color-text-white);
}

.mapa-tooltip__city {
	font-size: var(--fs-xs);
	color: var(--color-text-muted);
}

.mapa-tooltip__value {
	font-size: var(--fs-body);
	font-weight: 700;
	color: var(--color-secondary);
}

/* Left overlay */
.mapa-hero__overlay {
	position: relative;
	z-index: 10;
	max-width: 520px;
	padding: 80px 24px 80px 80px;
}

.mapa-hero__title {
	font-size: var(--fs-h2);
	font-weight: 500;
	line-height: 1.1;
	color: var(--color-text-white);
	margin: 24px 0;
	letter-spacing: -1.5px;
}

.mapa-hero__description {
	font-size: var(--fs-body);
	line-height: 1.6;
	color: var(--color-text-muted);
	margin-bottom: 32px;
}

/* Stats cards */
.mapa-stats {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 48px;
}

.mapa-stat-card {
	background-color: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--border-radius-lg);
	padding: 32px;
}

.mapa-stat-card__label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--color-text-white);
	text-transform: uppercase;
	margin-bottom: 8px;
}

.mapa-stat-card__number {
	display: block;
	font-size: var(--fs-h2);
	font-weight: 700;
	color: var(--color-secondary);
	line-height: 1;
	margin-bottom: 12px;
}

.mapa-stat-card__text {
	font-size: var(--fs-sm);
	line-height: 1.5;
	color: var(--color-text-muted);
	margin: 0;
}

/* 
=========================================
BLOCK: Owl Carousel 2 — Theme Overrides
=========================================
*/
.owl-carousel .owl-stage {
	display: flex;
	align-items: stretch;
}

.owl-carousel .owl-item {
	float: none;
}

/* Dots */
.main .owl-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 32px;
	padding: 0 3%;
}

.main .owl-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #D4D4D4 !important;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: background-color 0.2s, transform 0.2s;
}

.main .owl-dot:hover {
	background-color: var(--color-purple-light) !important;
}

.main .owl-dot.active {
	background-color: var(--color-purple) !important;
}

/* Nav Arrows */
.owl-carousel .owl-nav {
	position: absolute;
	top: calc(50% - 40px);
	width: 100%;
	display: flex;
	justify-content: space-between;
	transform: translateY(-50%);
	pointer-events: none;
	padding: 0 8px;
	box-sizing: border-box;
}

.owl-carousel .owl-nav button {
	pointer-events: all;
	width: 40px;
	height: 40px;
	border-radius: 40px;
	background-color: #FFF !important;
	font-size: 0;
	color: transparent !important;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s;
	position: absolute;
}

.owl-carousel .owl-nav button:hover {
	background-color: #f5f5f5 !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.owl-carousel .owl-nav button span {
	line-height: 1;
}

.owl-carousel .owl-nav button.owl-prev {
	left: 30px;
}

.owl-carousel .owl-nav button.owl-next {
	right: 30px;
}

.owl-carousel .owl-nav button::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-left: 2px solid #25282A;
	border-bottom: 2px solid #25282A;
	transform: rotate(45deg);
	transition: .3s;
	margin-left: 3px;
	border-radius: 1px 0 1px 0;
}

.owl-carousel .owl-nav button.owl-next::before {
	transform: rotate(45deg) scale(-1);
	margin-left: -3px;
}

/* Hide Owl nav on brands (auto-scroll only) */
.brands__grid.owl-carousel .owl-nav {
	display: none;
}

@media (max-width: 1024px) {
	.owl-carousel .owl-nav {
		display: none;
	}
}

/* 
=========================================
BLOCK: Accordion Transitions
=========================================
*/
.features__item-toggle,
.offices__item-toggle {
	color: var(--color-text-light);
	font-size: var(--fs-lg);
	transition: transform 0.3s ease;
}

.features__item--active .features__item-toggle {
	transform: rotate(0deg);
}

.features__item--active .features__item-toggle::after {
	transform: rotate(225deg);
}

.offices__item--active .offices__item-toggle {
	transform: rotate(180deg);
}

.features__item-header {
	font-weight: 500;
	color: #25282A;
}

.features__item-header,
.offices__item-header {
	cursor: pointer;
	user-select: none;
}

.features__item--active {
	border-left-color: var(--color-purple);
	background-color: #fff;
	box-shadow: 0 48px 100px 0 rgba(0, 0, 0, 0.08);
	border-bottom-color: transparent;
	border-bottom-right-radius: var(--border-radius-sm);
}

.features__item--active .features__item-header span {
	color: var(--color-purple);
	font-weight: 500;
}

.features__item--active .features__item-toggle {
	color: var(--color-purple);
}

.features__item {
	border-left: 3px solid transparent;
}

.features__link:hover {
	text-decoration: underline;
}

/* Active item left border accent */
.features__item--active {
	border-left-color: var(--color-purple);
	background-color: #fff;
}

/* FAQ <details> smooth open */
.cpm-faq__item summary {
	cursor: pointer;
	user-select: none;
	transition: all .2s;
	gap: 10px;
}

.cpm-faq__item summary:hover,
.cpm-faq__item[open] summary {
	color: var(--color-purple);
}

/* 
=========================================
BLOCK: Accessibility (A11y)
=========================================
*/
.skip-to-main {
	position: absolute;
	top: -100px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-purple);
	color: white;
	padding: 8px 16px;
	z-index: 9999;
	border-radius: 0 0 8px 8px;
	font-weight: 600;
	text-decoration: none;
	transition: top 0.2s;
}

.skip-to-main:focus {
	top: 0;
}

/* 
=========================================
BLOCK: Footer
=========================================
*/
/* 
=========================================
BLOCK: Footer Styles (Light and Dark via variables)
=========================================
*/
.footer {
	--footer-bg: #fff;
	--footer-border: #E7EAF1;
	--footer-headline: #25282A;
	--footer-title: #656565;
	--footer-text: #656565;
	--footer-link: #9E9E9E;
	--footer-link-hover: var(--color-purple);
	--footer-icon: none;
	--footer-address-bg: #F8F9FB;
	--footer-copyright: #9E9E9E;
	--footer-input-border: #25282A;
	--footer-input-text: #25282A;
	--footer-input-placeholder: #D4D4D4;

	background-color: var(--footer-bg);
	color: var(--footer-text);
	border-top: 1px solid var(--footer-border);
}

/* Footer Dark Theme Variables */
.footer--dark {
	--footer-bg: #16181a;
	--footer-border: #232526;
	--footer-headline: var(--color-purple);
	--footer-title: var(--color-purple);
	--footer-text: #E2E8F0;
	--footer-link: #D4D4D4;
	--footer-link-hover: #fff;
	--footer-icon: invert(1);
	--footer-address-bg: #202126;
	--footer-copyright: var(--color-text-muted);
	--footer-input-border: #fff;
	--footer-input-text: #fff;
	--footer-input-placeholder: #D4D4D4;
}


.footer__container {
	max-width: 1480px;
	margin: 0 auto;
	padding: 80px 40px 20px;
}

.footer__newsletter {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
	margin-bottom: 80px;
}

.footer__newsletter-title {
	font-size: 28px;
	font-weight: 400;
	margin: 0;
}

.footer__form {
	display: flex;
	gap: 16px;
}

.footer__links-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 32px;
	margin-bottom: 80px;
}

.footer__column-title {
	font-size: var(--fs-sm);
	color: var(--color-text);
	margin-bottom: 24px;
}

.footer__link-list,
.footer__address-list {
	list-style: none;
	padding: 0;
	margin: 0;
	color: var(--color-text-light);
	font-size: 13px;
	line-height: 2;
}

.footer__link-list a:hover {
	color: var(--color-purple);
}

.footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 40px 0 0;
	border-top: 2px solid var(--footer-border);
}

.footer__logo-text {
	font-size: var(--fs-xl);
	font-weight: 800;
	color: var(--color-purple);
	margin-right: 32px;
}

.footer__legal {
	display: inline-flex;
	gap: 24px;
	font-size: 13px;
	color: var(--color-text-light);
}

.footer__social {
	display: flex;
	align-items: center;
	gap: 24px;
	font-size: var(--fs-sm);
	font-weight: 600;
}

.footer__copyright {
	text-align: right;
	font-size: var(--fs-xs);
	color: var(--footer-copyright);
}

.newsletter {
	margin-bottom: 80px;
}

.newsletter__container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 80px;
	position: relative;
}

.newsletter__headline {
	color: var(--color-primary);
    font-size: var(--fs-xl);
    font-weight: 300;
}

.footer--dark .newsletter__headline {
	color: #FFF;
}

.newsletter__headline b {
	font-weight: 500;
}

#hubspot-cta-faturamento form fieldset {
	border: 0;
}

#hubspot-newsletter form,
#hubspot-cta-faturamento form {
	position: relative;
}

#hubspot-newsletter form fieldset,
#hubspot-cta-faturamento form fieldset {
	display: flex;
	flex-grow: 1;
	gap: 24px;
}

#hubspot-newsletter .input,
#hubspot-cta-faturamento .input {
	width: 310px;
	margin: 0;
	border: none;
	padding: 0;
}

#hubspot-newsletter .legal-consent-container,
#hubspot-cta-faturamento .legal-consent-container {
	display: none;
}

#hubspot-newsletter .hs-email .input,
#hubspot-cta-faturamento .hs-email .input {
	width: 400px;
}

#hubspot-newsletter .hs-form-field,
#hubspot-cta-faturamento .hs-form-field {
	width: 100%;
}

#hubspot-newsletter .hs-form-field > label,
#hubspot-cta-faturamento .hs-form-field > label {
	display: none;
}

#hubspot-newsletter input[type="text"],
#hubspot-cta-faturamento input[type="text"],
#hubspot-newsletter input[type="email"],
#hubspot-cta-faturamento input[type="email"],
#hubspot-newsletter input[type="tel"],
#hubspot-cta-faturamento input[type="tel"] {
	width: 100%;
	height: 51px;
	border: 2px solid #9D9D9D;
	border-radius: 80px;
	padding: 0 24px;
	font-size: 16px;
	font-weight: 500;
	color: #25282A;
	box-shadow: inset 0 0 0 30px #f8f8f8 !important;
	-webkit-box-shadow: 0 0 0 30px #FFF inset !important;
	-webkit-text-fill-color: #25282A !important;
	background-color: transparent !important;
}

.footer #hubspot-newsletter input[type="text"],
.footer #hubspot-newsletter input[type="email"],
.footer #hubspot-newsletter input[type="tel"] {
	border: 2px solid #9D9D9D !important;
	color: #25282A !important;
}

.footer.footer--dark #hubspot-newsletter input[type="text"],
.footer.footer--dark #hubspot-newsletter input[type="email"],
.footer.footer--dark #hubspot-newsletter input[type="tel"] {
	color: #FFF !important;
	box-shadow: inset 0 0 0 30px #16181a !important;
	-webkit-box-shadow: 0 0 0 30px #16181a inset !important;
	-webkit-text-fill-color: #FFF !important;
}

#hubspot-newsletter input[type="text"]:focus,
#hubspot-cta-faturamento input[type="text"]:focus,
#hubspot-newsletter input[type="email"]:focus,
#hubspot-cta-faturamento input[type="email"]:focus,
#hubspot-newsletter input[type="tel"]:focus,
#hubspot-cta-faturamento input[type="tel"]:focus {
	outline: none;
	border-color: var(--color-purple);
}

#hubspot-newsletter input[type="text"]:-webkit-autofill,
#hubspot-cta-faturamento input[type="text"]:-webkit-autofill,
#hubspot-newsletter input[type="email"]:-webkit-autofill,
#hubspot-cta-faturamento input[type="email"]:-webkit-autofill,
#hubspot-newsletter input[type="tel"]:-webkit-autofill,
#hubspot-cta-faturamento input[type="tel"]:-webkit-autofill {
	transition: background-color 5000s ease-in-out 0s, color 5000s ease-in-out 0s !important;
}



#hubspot-newsletter input[type="text"].error,
#hubspot-cta-faturamento input[type="text"].error,
#hubspot-newsletter input[type="email"].error,
#hubspot-cta-faturamento input[type="email"].error,
#hubspot-newsletter input[type="tel"].error,
#hubspot-cta-faturamento input[type="tel"].error {
	border-color: #dc3545;
}

#hubspot-newsletter input[type="email"],
#hubspot-cta-faturamento input[type="email"] {
	padding-right: 48px;
}

#hubspot-newsletter input::placeholder,
#hubspot-cta-faturamento input::placeholder {
	color: #D4D4D4;
	-webkit-text-fill-color: #D4D4D4 !important;
}

.footer #hubspot-newsletter input::placeholder {
	color: var(--footer-input-placeholder);
	-webkit-text-fill-color: var(--footer-input-placeholder) !important;
}

#hubspot-newsletter input[type="checkbox"],
#hubspot-cta-faturamento input[type="checkbox"],
#hubspot-newsletter label[for*="LEGAL_CONSENT"],
#hubspot-cta-faturamento label[for*="LEGAL_CONSENT"] {
	display: none;
}

#hubspot-newsletter input[type="submit"],
#hubspot-cta-faturamento input[type="submit"] {
	border-radius: 31px;
	border: 2px solid var(--color-purple);
	background-color: var(--color-purple);
	color: var(--color-purple);
	font-weight: bold;
	cursor: pointer;
	font-size: 0;
	width: 31px;
	height: 31px;
	position: relative;
	transition: .3s;
}

#hubspot-newsletter .hs_submit,
#hubspot-cta-faturamento .hs_submit {
	position: absolute;
	right: 10px;
	top: 10px;
}

#hubspot-newsletter .actions,
#hubspot-cta-faturamento .actions {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

#hubspot-newsletter .actions::before,
#hubspot-cta-faturamento .actions::before {
	content: '';
	background-image: url(../media/icons/arrow-lg-icon.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	display: flex;
	width: 12px;
	height: 13px;
	position: absolute;
	filter: brightness(0) invert(1);
	z-index: 1;
	pointer-events: none;
}

#hubspot-newsletter .hs_error_rollup,
#hubspot-cta-faturamento .hs_error_rollup {
	display: none;
}

#hubspot-newsletter .hs-error-msgs,
#hubspot-cta-faturamento .hs-error-msgs {
	position: absolute;
	margin-top: 4px;
	padding: 0 24px;
	text-decoration: none;
	list-style: none;
}

#hubspot-newsletter .hs-error-msgs label,
#hubspot-cta-faturamento .hs-error-msgs label {
	font-size: var(--fs-sm);
	font-weight: 300;
	color: #dc3545;
}

.footer__columns {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 80px;
	margin-bottom: 80px;
}

.footer-column {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 30px;
}

.footer-column--addresses .footer-column__heading,
.footer-column__heading {
	font-size: 16px;
	font-weight: 500;
	color: var(--footer-title);
}

.footer-column__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
}

.footer-column__contact {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-column__contact span,
.footer-column__link {
	font-size: 14px;
	font-weight: 400;
	color: var(--footer-link);
	transition: .3s;
}

.footer-column__link:hover,
.footer__legal-links span:hover {
	color: var(--footer-link-hover);
}

.footer-column--addresses {
	display: flex;
	flex-direction: column;
	gap: 0;
	background-color: var(--footer-address-bg);
	border-radius: var(--border-radius-md);
	padding: 48px 40px;
	margin-top: 0;
}

.footer-column--addresses>.footer-column__heading {
	display: none;
}

.footer-column--addresses-inner {
	display: flex;
	flex-direction: row;
	gap: 40px;
}

.footer-column--addresses .footer-column {
	margin: 0;
}

.footer__logo-legal {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.footer__logo {
	width: 167px;
	height: 34px;
}

.footer__legal-links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}

.footer__copyright,
.footer__legal-links a {
	font-size: 14px;
	font-weight: 400;
	color: var(--footer-link);
	transition: .3s;
}

.footer__legal-links a:hover {
	color: var(--footer-link-hover);
}

.footer__legal-links a {
	cursor: pointer;
}

a.footer__legal-links-contact {
	color: var(--footer-title);
}

.footer__copyright-social {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	text-align: right;
	gap: 16px 32px;
}

.footer__social-links {
	display: flex;
	align-items: center;
	gap: 10px 24px;
}

.footer__social-links a:hover i {
	transform: translateY(-5px);
}

.footer__social-link i {
	height: 18px;
	width: 18px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50%;
	transition: .3s;
	display: flex;
	filter: var(--footer-icon);
}

.footer__social-link i.instagram {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OS45OSA0OS45OSI+PHBhdGggZD0iTTI1LjA0IDEyLjE0Yy03LjA2IDAtMTIuOCA1Ljc1LTEyLjggMTIuOHM1Ljc1IDEyLjggMTIuOCAxMi44IDEyLjgtNS43NSAxMi44LTEyLjgtNS43NS0xMi44LTEyLjgtMTIuOHptMCAyMS4xN2MtNC41NCAwLTguMzctMy43My04LjM3LTguMzdzMy43My04LjM3IDguMzctOC4zNyA4LjM3IDMuNzMgOC4zNyA4LjM3LTMuODMgOC4zNy04LjM3IDguMzd6bTE2LjMzLTIxLjY3YzAgMS42MS0xLjMxIDMuMDItMy4wMiAzLjAyLTEuNjEgMC0zLjAyLTEuMzEtMy4wMi0zLjAyczEuMzEtMy4wMiAzLjAyLTMuMDJjMS42MSAwIDMuMDIgMS4zMSAzLjAyIDMuMDJ6bTguNDcgMy4wMmMtLjItNC4wMy0xLjExLTcuNTYtNC4wMy0xMC40OEM0Mi44OSAxLjI2IDM5LjM2LjM1IDM1LjMzLjE1Yy00LjEzLS4yLTE2LjUzLS4yLTIwLjY3IDAtNC4wMy4yLTcuNTYgMS4xMS0xMC40OCA0LjAzQzEuMjYgNy4xLjM1IDEwLjYzLjE1IDE0LjY2Yy0uMiA0LjEzLS4yIDE2LjUzIDAgMjAuNjcuMiA0LjAzIDEuMTEgNy41NiA0LjAzIDEwLjQ4czYuNDUgMy44MyAxMC40OCA0LjAzYzQuMTMuMiAxNi41My4yIDIwLjY3IDAgNC4wMy0uMiA3LjU2LTEuMTEgMTAuNDgtNC4wM3MzLjgzLTYuNDUgNC4wMy0xMC40OGMuMi00LjIzLjItMTYuNTMgMC0yMC42N3ptLTUuMzQgMjVjLS45MSAyLjIyLTIuNTIgMy44My00Ljc0IDQuNzQtMy4zMyAxLjMxLTExLjA5IDEuMDEtMTQuNzIgMS4wMXMtMTEuNDkuMy0xNC43Mi0xLjAxYy0yLjIyLS45MS0zLjgzLTIuNTItNC43NC00Ljc0LTEuMzEtMy4zMy0xLjAxLTExLjA5LTEuMDEtMTQuNzJzLS4zLTExLjQ5IDEuMDEtMTQuNzJDNi40OSA4IDguMSA2LjM5IDEwLjMyIDUuNDhjMy4zMy0xLjMxIDExLjA5LTEuMDEgMTQuNzItMS4wMXMxMS40OS0uMyAxNC43MiAxLjAxYzIuMjIuOTEgMy44MyAyLjUyIDQuNzQgNC43NCAxLjMxIDMuMzMgMS4wMSAxMS4wOSAxLjAxIDE0Ljcycy4zIDExLjQ5LTEuMDEgMTQuNzJ6IiBmaWxsPSIjMDEwMTAxIi8+PC9zdmc+);
}

.footer__social-link i.linkedin {
	background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDAgMTQwIj4KICA8cGF0aCBkPSJNMTI3LjI3LDBIMTIuNzNDNS43LDAsMCw1LjcsMCwxMi43M3YxMTQuNTVjMCw3LjAzLDUuNywxMi43MywxMi43MywxMi43M2gxMTQuNTVjNy4wMywwLDEyLjczLTUuNywxMi43My0xMi43M1YxMi43M2MwLTcuMDMtNS43LTEyLjczLTEyLjczLTEyLjczWk00NC4yNSwxMTQuNTVoLTE4Ljc3di02MC40aDE4Ljc3djYwLjRaTTM0LjY4LDQ1LjUxYy02LjA1LDAtMTAuOTUtNC45MS0xMC45NS0xMC45NXM0LjktMTAuOTQsMTAuOTUtMTAuOTQsMTAuOTQsNC45MSwxMC45NCwxMC45NC00LjkxLDEwLjk1LTEwLjk0LDEwLjk1Wk0xMTQuNTcsMTE0LjU1aC0xOC43NnYtMjkuMzdjMC03LjAxLS4xMy0xNi4wMi05Ljc2LTE2LjAycy0xMS4yNyw3LjYzLTExLjI3LDE1LjUxdjI5Ljg4aC0xOC43NnYtNjAuNGgxOC4wMXY4LjI1aC4yNWMyLjUxLTQuNzUsOC42My05Ljc2LDE3Ljc2LTkuNzYsMTkuMDEsMCwyMi41MiwxMi41MSwyMi41MiwyOC43OCwwLDAsMCwzMy4xMywwLDMzLjEzWiIvPgo8L3N2Zz4=);
}

.footer__social-link i.youtube {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MC4wMiA0OS4yOCI+PHBhdGggZD0iTTY4LjUzIDcuNzRjLS43OS0zLjA3LTMuMTctNS40NS02LjE1LTYuMjVDNTYuOTMgMCAzNS4wMSAwIDM1LjAxIDBTMTMuMSAwIDcuNjQgMS40OWMtMi45Ny43OS01LjM1IDMuMTctNi4xNSA2LjI1QzAgMTMuMTkgMCAyNC42OSAwIDI0LjY5czAgMTEuNSAxLjQ5IDE2Ljk1Yy43OSAzLjA3IDMuMTcgNS4zNSA2LjE1IDYuMTUgNS40NSAxLjQ5IDI3LjM3IDEuNDkgMjcuMzcgMS40OXMyMS45MSAwIDI3LjM3LTEuNDljMi45Ny0uNzkgNS4zNS0zLjA3IDYuMTUtNi4xNSAxLjQ5LTUuNDUgMS40OS0xNi45NSAxLjQ5LTE2Ljk1czAtMTEuNS0xLjQ5LTE2Ljk1ek0yNy43OCAzNS4xMVYxNC4yOUw0Ni4xMiAyNC43IDI3Ljc4IDM1LjExeiIgZmlsbD0iIzAxMDEwMSIvPjwvc3ZnPg==);
}

.footer__cta {
	width: 189px;
}

.footer__copyright {
	width: 100%;
}

@media (max-width: 1440px) { 
	.newsletter #hubspot-newsletter .hs-email .input,
	.newsletter #hubspot-newsletter .input {
		width: 100%;
	}
}

@media (max-width: 1440px) {

	.convert-more-form__left {
		padding: 0 40px;
	}
}

@media (max-width: 1280px) {

	.footer__columns {
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: center;
	}

	.footer-column--addresses {
		gap: 30px;
	}

	.footer__bottom {
		flex-direction: column;
		align-items: center;
		gap: 40px;
	}

	.footer__logo-legal {
		align-items: center;
	}

	.footer__copyright-social {
		align-items: center;
		text-align: center;
		justify-content: center;
		gap: 40px;
	}

	.convert-more-form__left {
		padding: 0 40px;
	}

	.convert-more-form {
		padding: 40px 0 70px;
	}

	.newsletter__container {
		flex-direction: column;
		gap: 40px;
	}
}

@media (max-width: 1280px) {

	.footer__container {
		padding: 40px 3% 20px 3%;
	}

	.footer-column {
		margin: 0;
	}

	.newsletter {
		margin-bottom: 40px;
	}

	.footer__columns {
		margin-bottom: 60px;
		gap: 60px;
	}

	.footer__copyright {
		text-align: center;
	}
}

@media (max-width: 932px) {
	.footer__columns {
		justify-content: flex-start;
		margin-top: 20px;
		gap: 40px 60px;
	}

	.footer-column {
		margin: 0;
	}

	#hubspot-newsletter,
	#hubspot-cta-faturamento {
		width: 100%;
		max-width: 400px;
	}

	.newsletter__container {
		flex-direction: column;
		text-align: center;
		gap: 30px;
		padding: 0;
	}

	#hubspot-newsletter form fieldset,
	#hubspot-cta-faturamento form fieldset {
		flex-direction: column;
	}

	#hubspot-newsletter .input,
	#hubspot-cta-faturamento .input {
		max-width: 400px;
		width: 100% !important;
	}

	#hubspot-newsletter .hs-error-msgs,
	#hubspot-cta-faturamento .hs-error-msgs {
		margin-top: 1px;
	}

	#hubspot-newsletter .hs-error-msgs label,
	#hubspot-cta-faturamento .hs-error-msgs label {
		font-size: 13px;
	}

	#hubspot-newsletter .hs_submit {
		bottom: 10px;
		top: auto;
	}

	.footer-column--addresses {
		padding: 0;
		background-color: var(--bg-surface);
	}

	.footer-column--addresses-inner {
		flex-wrap: wrap;
	}

	.footer-column--addresses .footer-column {
		gap: 10px;
	}

	.footer__legal-links {
		justify-content: center;
	}

	.convert-more-form {
		padding: 60px 0;
	}

	.convert-more-form__left {
		padding: 0;
	}

	.convert-more-form__form {
		align-items: center;
	}

	.convert-more__input-control {
		width: 100%;
		max-width: 400px;
	}

	.last-step .convert-more-form__button {
		width: 100%;
	}

	.convert-more-form__headline {
		font-size: 40px;
	}

	.convert-more-form__subheadline br {
		display: none;
	}

	.convert-more-form__subheadline {
		font-size: 20px;
	}
}

.footer-column__subheading {
	font-size: 14px;
	font-weight: 500;
	color: var(--footer-input-text);
}

@media (max-width: 480px) {

	.footer__columns {
		flex-direction: column;
		gap: 0;
		margin-bottom: 20px;
	}

	.footer-column {
		border-bottom: 1px solid var(--color-border);
		gap: 0;
		margin: 0;
		padding: 0;
		width: 100%;
	}

	.footer-column__heading {
		cursor: pointer;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 16px;
		-webkit-user-select: none;
		user-select: none;
	}

	.footer-column__heading::after {
		content: '';
		width: 8px;
		height: 8px;
		border-right: 1px solid var(--color-text-light);
		border-bottom: 1px solid var(--color-text-light);
		transform: rotate(45deg);
		transition: transform 0.2s ease;
		flex-shrink: 0;
	}

	.footer-column--open>.footer-column__heading::after {
		transform: rotate(-135deg);
	}

	.footer-column>.footer-column__list,
	.footer-column>.footer-column__contact {
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		padding-bottom: 0;
	}

	.footer-column--open>.footer-column__list,
	.footer-column--open>.footer-column__contact {
		max-height: 500px;
		opacity: 1;
		padding: 0 16px 16px;
		gap: 0;
	}

	.footer-column--addresses {
		flex-direction: column;
		padding: 0;
		background-color: transparent;
		gap: 0;
		border-radius: 0;
		border-bottom: 1px solid var(--color-border);
	}

	.footer-column--addresses>.footer-column__heading {
		display: flex;
		padding: 16px;
	}

	.footer-column--addresses-inner {
		flex-direction: column;
		gap: 0;
	}

	.footer-column--addresses>.footer-column__list {
		max-height: 0;
		overflow: hidden;
		opacity: 0;
	}

	.footer-column--addresses.footer-column--open>.footer-column__list {
		max-height: 800px;
		opacity: 1;
		padding-bottom: 16px;
		gap: 10px;
	}

	.footer-column--addresses .footer-column {
		border-bottom: none;
		gap: 8px;
		padding: 8px 0;
	}

	.footer-column--addresses .footer-column__contact {
		max-height: none;
		overflow: visible;
		opacity: 1;
		padding-bottom: 0;
	}

	.footer__bottom {
		border-top: 0;
	}

	.footer-column__item {
		width: 100%;
	}

	.footer-column__link {
		width: 100%;
		display: block;
		padding: 10px 0;
	}
}

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

/* 
=========================================
BLOCK: HubSpot CTA Faturamento overrides
=========================================
*/
#hubspot-cta-faturamento {
	max-width: 479px;
	margin: 0 auto;
}

#hubspot-cta-faturamento .input {
	max-width: none;
	width: 100% !important;
	border-radius: 40px;
}

#hubspot-cta-faturamento .hs-email {
	flex-grow: 1;
}

#hubspot-cta-faturamento .hs-email .input {
	width: 100% !important;
}

/* Force hide the Name field and only show Email for CTA Faturamento */
#hubspot-cta-faturamento .hs-form-field {
	display: none !important;
}

#hubspot-cta-faturamento .hs-email {
	display: block !important;
}

/* 
=========================================
  Specialist Popup — Dedicated Stylesheet
=========================================
*/

/* --- Popup Container --- */
.specialist-popup {
	position: fixed;
	bottom: 0;
	right: 24px;
	z-index: 9999;
	font-family: var(--font-family);
}

/* Popup Wrapper */
.specialist-popup__wrapper {
	display: flex;
	justify-content: flex-end;
}

/* --- Popup Card --- */
.specialist-popup__card {
	background: #FFFFFF;
	border-radius: 0 var(--border-radius-md) 0 0;
	box-shadow: 0 48px 100px 0 rgba(0, 0, 0, .08);
	width: 280px;
	overflow: visible;
	position: relative;
	animation: specialist-slide-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
	transform-origin: bottom right;
}

.specialist-popup__card--hidden {
	animation: specialist-slide-out 0.3s ease-in forwards;
	pointer-events: none;
}

/* --- Close Button --- */
.specialist-popup__close {
	position: absolute;
	top: 8px;
	right: 8px;
	background: none;
	border: none;
	font-size: 22px;
	color: #D4D4D4;
	cursor: pointer;
	line-height: 1;
	z-index: 3;
	transition: color 0.2s, transform 0.2s;
	padding: 4px;
	width: 24px;
	height: 24px;
}

.specialist-popup__close:hover {
	color: #25282A;
}

/* --- Header with Photo --- */
.specialist-popup__header {
	position: relative;
	overflow: visible;
	position: absolute;
	left: -118px;
	z-index: -1;
	bottom: 0;
}

.specialist-popup__photo {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: center;
}

.specialist-popup__photo::before {
	content: '';
	position: absolute;
	width: 224px;
	height: 224px;
	background: var(--color-purple);
	border-radius: 100%;
	bottom: -81px;
}

.specialist-popup__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
}

/* --- Body Content --- */
.specialist-popup__body {
	padding: 24px 12px;
}

.specialist-popup__title {
	font-size: 0.956rem;
	font-weight: 600;
	color: #25282A;
	margin: 0 0 6px 0;
	line-height: 15px;
}

.specialist-popup__title span {
	color: var(--color-purple);
}

.specialist-popup__subtitle {
	font-size: 0.669rem;
	color: #8E8E9F;
	line-height: 12px;
	margin: 0 0 12px 0;
}

/* --- Countdown Timer --- */
.specialist-popup__timer {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 2px;
	margin-bottom: 24px;
}

.specialist-popup__time-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #E7EAF1;
	border-radius: 3px;
	min-width: 65px;
	min-height: 30px;
	position: relative;
}

.specialist-popup__time-value {
	font-size: var(--fs-xl);
	font-weight: 600;
	color: #25282A;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.specialist-popup__time-label {
	position: absolute;
	font-size: 0.478rem;
	color: #9E9E9E;
	text-transform: lowercase;
	position: absolute;
	bottom: -12px;
}

.specialist-popup__timer-separator {
	font-size: var(--fs-xl);
	font-weight: 600;
	color: var(--color-purple);
	line-height: 11px;
}

/* --- CTA Button --- */
.specialist-popup__cta {
	width: 147px;
	font-size: var(--fs-sm);
	position: relative;
}

.specialist-popup__cta:active {
	transform: translateY(0);
}

.specialist-popup__cta-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 23px;
	background-color: #fff;
	border: 1px solid #1DD485;
	position: absolute;
	right: -8px;
}

.specialist-popup__cta-icon img {
	width: 12px;
	height: 12px;
}

/* --- Minimized Bubble --- */
.specialist-popup__bubble {
	width: 86px;
	height: 86px;
	border-radius: 86px;
	background: #fff;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 24px rgb(0 0 0 / 8%);
	transition: transform 0.2s, box-shadow 0.2s;
	animation: specialist-bubble-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
	position: absolute;
	bottom: 26px;
	right: 16px;
}

.specialist-popup__bubble .dot {
	position: absolute;
	top: 17px;
	right: 5px;
	width: 16px;
	height: 16px;
	background-color: #1DD485;
}

.specialist-popup__bubble img {
	margin-bottom: 17px;
}

.specialist-popup__bubble--hidden {
	display: none !important;
}

.specialist-popup__bubble:hover {
	box-shadow: 0 0 24px rgba(0, 219, 128, 0.5);
}

.specialist-popup__bubble svg {
	width: 28px;
	height: 28px;
	fill: #FFFFFF;
}

.specialist-popup__bubble::after {
	content: '';
	width: 71px;
	height: 71px;
	background-color: var(--color-purple);
	position: absolute;
	display: flex;
	border-radius: 100%;
	z-index: -1;
	bottom: 7px;
}

/* Pulse ring around bubble */
.specialist-popup__bubble::before {
	content: '';
	position: absolute;
	top: -4px;
	left: -4px;
	right: -4px;
	bottom: -4px;
	border-radius: 50%;
	border: 2px solid var(--color-secondary);
	animation: specialist-pulse 2s ease-in-out infinite;
	z-index: -1;
}

/* --- Animations --- */
@keyframes specialist-slide-in {
	from {
		opacity: 0;
		transform: translateY(20px) scale(0.95);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes specialist-slide-out {
	from {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	to {
		opacity: 0;
		transform: translateY(10px) scale(0.95);
	}
}

@keyframes specialist-bubble-in {
	from {
		opacity: 0;
		transform: scale(0);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes specialist-pulse {

	0%,
	100% {
		opacity: 0.6;
		transform: scale(1);
	}

	50% {
		opacity: 0;
		transform: scale(1.4);
	}
}

@media (max-width: 932px) {
	.specialist-popup__card {
		display: none !important;
	}

	.specialist-popup__bubble {
		display: flex !important;
	}

	.specialist-popup {
		bottom: 16px;
		right: 16px;
	}
}

/* 
=========================================
  Multi-Step Contact Popup — Dedicated Stylesheet
=========================================
*/

/* --- Overlay --- */
.multi-step-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100dvh;
	background: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(4px);
	z-index: 99999;
	font-family: var(--font-family);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.multi-step-popup--active {
	opacity: 1;
	pointer-events: auto;
}

/* --- Main Card --- */
.multi-step-popup__card {
	background: #FFFFFF;
	border-radius: var(--border-radius-md);
	width: 100%;
	max-width: 1375px;
	display: flex;
	position: relative;
	box-shadow: 0 48px 100px 0 rgba(0, 0, 0, .08);
	transform: translateY(20px) scale(0.98);
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
	padding: 24px;
	gap: 24px;
}

.multi-step-popup--active .multi-step-popup__card {
	transform: translateY(0) scale(1);
}

/* --- Close Button --- */
.multi-step-popup__close {
	position: absolute;
	top: 8px;
	right: 8px;
	background: none;
	border: none;
	font-size: 24px;
	color: #D4D4D4;
	cursor: pointer;
	line-height: 1;
	z-index: 10;
	transition: color 0.2s;
	padding: 8px;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.multi-step-popup__close:hover {
	color: #25282A;
}

/* --- Left Column (Image) --- */
.multi-step-popup__left {
	flex-shrink: 0;
	margin-top: -61px;
}

.multi-step-popup__left img {
	border-radius: 12px;
}

/* --- Right Column (Form Area) --- */
.multi-step-popup__right {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	width: 100%;
}

/* --- Form Steps Container --- */
.multi-step-popup__step {
	display: none;
	flex-direction: column;
	text-align: center;
	width: 100%;
	animation: multi-step-fade-in 0.3s ease forwards;
	gap: 24px;
	max-width: 480px;
	margin: 0 auto;
}

.multi-step-popup__step[data-step="1"] {
	gap: 40px;
	align-items: center;
}

.multi-step-popup__step[data-step="4"] {
	gap: 16px;
	align-items: center;
}

.multi-step-popup__step--active {
	display: flex;
}

@keyframes multi-step-fade-in {
	from {
		opacity: 0;
		transform: translateX(10px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* --- Step Top Elements (Logo, Title, Progress) --- */
.multi-step-popup__step-logo {
	width: 100px;
}

.multi-step-popup__step[data-step="1"] .multi-step-popup__title {
	font-size: var(--fs-xxl);
	line-height: 39px;
}

.multi-step-popup__step[data-step="1"] .multi-step-popup__title b,
.multi-step-popup__step[data-step="1"] .multi-step-popup__title strong {
	font-weight: 600;
}

.multi-step-popup__title {
	font-size: var(--fs-xl);
	font-weight: 400;
	color: #25282A;
	line-height: 29px;
}

.multi-step-popup__title b,
.multi-step-popup__title strong {
	font-weight: 500;
}

.multi-step-popup__title-highlight {
	color: var(--color-purple);
	font-weight: 600;
}

.multi-step-popup__progress {
	display: flex;
	gap: 8px;
	width: 100%;
	padding: 0 20px;
}

.multi-step-popup__progress-bar {
	flex: 1;
	padding: 8px 0;
	position: relative;
}

.multi-step-popup__progress-bar-inner {
	height: 6px;
	background: #E7EAF1;
	border-radius: 23px;
	position: relative;
	overflow: hidden;
}

.multi-step-popup__progress-bar--clickable {
	cursor: pointer;
}

.multi-step-popup__progress-bar--active .multi-step-popup__progress-bar-inner::after,
.multi-step-popup__progress-bar--completed .multi-step-popup__progress-bar-inner::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	background: var(--color-purple);
	border-radius: 2px;
}

.multi-step-popup__progress-bar--completed .multi-step-popup__progress-bar-inner::after {
	width: 100%;
}

.multi-step-popup__progress-bar--active .multi-step-popup__progress-bar-inner::after {
	width: 50%;
	/* Just to show it's the current one being filled */
	animation: multi-step-fill 0.4s ease forwards;
}

@keyframes multi-step-fill {
	from {
		width: 0%;
	}

	to {
		width: 100%;
	}
}

/* --- Form Inputs & Controls --- */
.multi-step-popup__form {
	width: 100%;
	max-width: 480px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.multi-step-popup__step-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.multi-step-popup__input-wrapper {
	position: relative;
	width: 100%;
}

.multi-step-popup__input {
	width: 100%;
	padding: 12px 24px;
	position: relative;
	border-radius: 80px;
	border: 2px solid #25282A;
	font-size: var(--fs-body);
	color: #25282A;
	font-weight: 500;
	outline: none;
	font-family: inherit;
	transition: border-color 0.2s, box-shadow 0.2s;
	box-shadow: inset 0 0 0 30px #fff !important;
	-webkit-box-shadow: 0 0 0 30px #fff inset !important;
	-webkit-text-fill-color: #25282A !important;
	background-color: transparent !important;
}

.multi-step-popup__input::placeholder {
	color: #D4D4D4;
	-webkit-text-fill-color: #D4D4D4 !important;
}

.multi-step-popup__input:focus {
	border-color: var(--color-purple);
}

/* Specific to Step 1 (Input with inline arrow button) */
.multi-step-popup__input-wrapper--inline .multi-step-popup__input {
	padding-right: 56px;
}

.multi-step-popup__btn-inline {
	position: absolute;
	right: 10px;
	top: 10px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--color-purple);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}

.multi-step-popup__btn-inline::before {
	content: '';
	background-image: url(../media/icons/arrow-lg-icon.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	display: flex;
	width: 12px;
	height: 13px;
	position: absolute;
	filter: brightness(0) invert(1);
	z-index: 1;
	pointer-events: none;
}

/* Standard Next/Submit Buttons */
.multi-step-popup__submit-btn {
	width: 147px;
	height: 40px;
	font-size: var(--fs-sm);
	gap: 5px;
	line-height: 1;
}

.multi-step-popup__submit-btn::after {
	filter: invert(1);
	background-image: url(../media/icons/arrow-lg-icon.svg);
	width: 12px;
	height: 13px;
}

select.multi-step-popup__input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2325282A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 20px center;
	padding-right: 48px;
}

select.multi-step-popup__input:invalid,
select.multi-step-popup__input option[value=""][disabled] {
	color: #D4D4D4;
	-webkit-text-fill-color: #D4D4D4 !important;
}

select.multi-step-popup__input option {
	color: #25282A;
}

#btnNext2,
#btnNext3 {
	background-color: var(--color-purple);
}

/* --- Responsive --- */
@media (max-width: 1024px) {

	.multi-step-popup__card {
		flex-direction: column;
		align-items: center;
		padding: 0;
	}

	.multi-step-popup {
		height: 100%;
		padding: 3%;
	}

	.multi-step-popup__step[data-step="1"] {
		gap: 24px;
	}

	.multi-step-popup__step {
		padding: 0 3% 24px;
	}

	.multi-step-popup__left img {
		border-radius: 0;
	}

	.multi-step-popup__close:hover {
		color: #fff;
	}

	.multi-step-popup__step-wrapper {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}

@media (max-width: 480px) {

	.multi-step-popup__title,
	.multi-step-popup__step[data-step="1"] .multi-step-popup__title {
		font-size: var(--fs-lg);
		line-height: 22px;
	}

	.multi-step-popup__card {
		border-radius: 16px 16px 6px 6px;
	}

	.multi-step-popup__close {
		top: -18px;
	}
}

.video-modal__content {
	width: 100%;
	max-width: 1000px;
	padding: 0 20px;
}

.video-modal__iframe-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	width: 100%;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
	background-color: #000;
}

.video-modal__iframe-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.vagas-hero__video {
	cursor: pointer;
}

.vagas-hero__video img {
	transition: .3s;
}

.vagas-hero__video:hover img {
	filter: brightness(.9);
}

.vagas-hero__video-play {
	z-index: 1;
}

.video-modal--active {
	z-index: 999999999;
}
/* 
=========================================
BLOCK: Legal Content (Termos e Políticas)
=========================================
*/
.legal-content {
    padding: 40px 0 60px;
    color: #25282A;
    min-height: 60vh;
}

.legal-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 3%;
}

.legal-title {
	font-size: var(--fs-h3-lg);
    font-weight: 500;
    color: #25282A;
    margin: 0 0 40px 0;
    letter-spacing: -0.5px;
	line-height: 1;
}

.legal-body {
    font-size: var(--fs-body);
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.legal-body h2 {
    font-size: var(--fs-xl);
    color: #25282A;
    margin-bottom: 16px;
}

.legal-body h3 {
	font-size: var(--fs-xl);
    color: #25282A;
	font-weight: 600;
}

.legal-body h4 {
	font-weight: 600;
}

.legal-body p {
    margin: 0;
}

.legal-body b {
	font-weight: 500;
}

.legal-body ul {
    padding-left: 20px;
    margin: 0;
}

.legal-body li {
    margin-bottom: 8px;
}

.legal-body .table-scroll {
	position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-sm);
    background: #fff;
}

.legal-body table {
	width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

.legal-body th,
.legal-body td {
	padding: 12px 14px;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    vertical-align: top;
	font-size: var(--fs-sm);
}

.legal-body thead th {
	position: sticky;
    top: 0;
    background: #F8F9FB;
    z-index: 1;
    font-weight: 600;
    border-bottom: 1px solid var(--color-border);
}

.legal-body tbody tr:nth-child(even) td {
	background: #fcfcfc;
}

@media (max-width: 932px) {
    .legal-content {
        padding: 20px 0 40px;
    }

	.legal-title {
		font-size: var(--fs-xl);
		margin: 0 0 30px 0;
	}

	.legal-body {
		gap: 14px;
	}

	.legal-body h2,
	.legal-body h3 {
		font-size: var(--fs-lg);
	}
}
