/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	font-family: "Visby CF", system-ui, sans-serif;
}

/* ============================================================
   PAGE WRAPPER
   ============================================================ */
.page-wrapper {
	display: flex;
	flex-direction: column;
	background: #FFFFFF;
}

/* ============================================================
   DARK SECTION WRAPPER
   ============================================================ */
.dark-section {
	align-self: stretch;
	background: #0A0B0D;
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero-section {
	align-self: stretch;
	background: #0A0B0D;
	padding-bottom: 1px;
}

.hero-bg {
	align-self: stretch;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	background-image: url('images/banner-hero.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding-top: 120px;
}

/* ============================================================
   NAVBAR
   ============================================================ */
#navbar-sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	display: flex;
	justify-content: center;
	padding-top: 0;
	transition: padding-top 0.35s ease;
}

#navbar {
	max-width: 1200px;
	box-sizing: border-box;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 22px 28px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 0 0 30px 30px;
	border-top: none;
	border-right: 1px solid #028CF3;
	border-bottom: 1px solid #028CF3;
	border-left: 1px solid #028CF3;
	background: linear-gradient(66deg, rgba(2, 140, 243, 0.00) -39.97%, rgba(2, 140, 243, 0.30) 43.16%, rgba(2, 140, 243, 0.00) 136.91%);
	backdrop-filter: blur(5px);
	transition: border-radius 0.35s ease;
}

#navbar-sticky.scrolled {
	padding-top: 10px;
}

#navbar-sticky.scrolled #navbar {
	border-radius: 30px;
	border: 1px solid #028CF3;
}

.hero-logo {
	width: 200px;
	height: auto;
	object-fit: contain;
}

.hero-nav-links {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 30px;
}

.hero-nav-links span {
	font-size: 15px;
	font-weight: bold;
}

.nav-link-active {
	color: #028CF3;
}

.nav-link {
	color: #E7EEF2;
}

.btn-navbar-cta {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #028CF3;
	border-radius: 8px;
	border: none;
	padding: 13px 22px;
	text-align: left;
	cursor: pointer;
}

.btn-navbar-cta span {
	color: #E7EEF2;
	font-size: 15px;
	font-weight: bold;
}

/* ============================================================
   HERO CONTENT
   ============================================================ */
.hero-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	gap: 40px;
}

.hero-badge {
	display: flex;
	align-items: center;
	box-shadow: 0px 0px 25px #0B0C0D66;
}

.hero-badge-chevron-left {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 9px;
}

.hero-badge-text {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 8px;
}

.hero-badge-chevron-right {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

.hero-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-left: 98px;
	padding-right: 98px;
	gap: 40px;
}

.hero-title {
	font-size: 52px;
	font-weight: 700;
	font-style: normal;
	line-height: 100%;
	letter-spacing: -2px;
	text-align: center;
	max-width: 900px;
	width: 100%;
}

.hero-title-blue {
	color: #028CF3;
}

.hero-title-light {
	color: #E7EEF2;
}

.hero-subtitle {
	color: #E7EEF2;
	font-size: 22px;
	font-weight: 400;
	text-align: center;
	max-width: 720px;
	width: 100%;
}

.hero-buttons {
	display: flex;
	align-items: center;
	gap: 16px;
}

.btn-hero-primary {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #028CF3;
	border-radius: 8px;
	border: none;
	height: 60px;
	padding: 0 28px;
	cursor: pointer;
}

.btn-hero-primary span {
	color: #E7EEF2;
	font-size: 16px;
	font-weight: bold;
}

.btn-hero-secondary {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border-radius: 8px;
	border: 1px solid #E7EEF2;
	height: 60px;
	padding: 0 21px;
	cursor: pointer;
}

.btn-hero-secondary span {
	color: #E7EEF2;
	font-size: 16px;
}

.hero-spacer {
	height: 80px;
	align-self: stretch;
}

/* ============================================================
   SCROLL STORY — QUEM SOMOS
   ============================================================ */
#scroll-story-wrapper {
	position: relative;
	background: #0A0B0D;
}

#scroll-story-sticky {
	height: 100vh;
	background: #0A0B0D;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 48px;
	overflow: hidden;
}

.section-label {
	display: flex;
	align-items: center;
	gap: 8px;
}

.section-label-chevron {
	color: #028CF3;
	font-size: 20px;
	font-weight: 700;
}

.section-label-text {
	color: #028CF3;
	font-family: 'Visby CF', system-ui, sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 4.4px;
	text-transform: uppercase;
}

/* section-label variant without letter-spacing (used in some sections) */
.section-label-text-plain {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

#story-container {
	position: relative;
	width: 100%;
	max-width: 960px;
	padding: 0 48px;
	height: 120px; /* acomoda 2 linhas em 40px */
}

.story-slide {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.story-line-wrap {
	position: relative;
	overflow: hidden;
	display: inline-block;
	clip-path: inset(0% 100% 0% 0%);
}

.story-line {
	display: block;
	color: #E7EEF2;
	font-family: "Visby CF", system-ui, sans-serif;
	font-size: 40px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -1.5px;
	white-space: nowrap;
}

.story-bar {
	position: absolute;
	inset: 0;
	background: #028CF3;
	z-index: 2;
	pointer-events: none;
	display: block;
}

/* ============================================================
   STATS CARDS
   ============================================================ */
.stats-section {
	background: #0A0B0D;
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 18px;
	padding: 0 40px 80px;
	position: relative;
	z-index: 2;
	margin-top: -220px;
}

.stat-card {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #0F1114B0;
	border-radius: 10px;
	padding: 20px 32px;
	gap: 4px;
	min-height: 88px;
	text-align: left;
	cursor: pointer;
	border: none;
	font-family: inherit;
}

.stat-card-number {
	color: #028CF3;
	font-size: 26px;
	font-weight: bold;
}

.stat-card-label {
	color: #E7EEF2;
	font-size: 13px;
	white-space: nowrap;
}

/* ============================================================
   CONSULTORIA SECTION
   ============================================================ */
.consultoria-section {
	align-self: stretch;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #028CF3;
	position: relative;
	overflow: hidden;
}

.consultoria-bg-blur {
	position: absolute;
	bottom: -521px;
	right: -386px;
	width: 1286px;
	height: 778px;
	border-radius: 1286px;
	background: #E7EEF2;
	filter: blur(150px);
	pointer-events: none;
	z-index: 1;
}

.consultoria-img-left {
	width: 540px;
	height: 620px;
	object-fit: fill;
}

.consultoria-img-right {
	width: 540px;
	height: 620px;
	object-fit: fill;
}

.consultoria-card {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	border-radius: 30px;
	border: 1px solid #028CF3;
	background: linear-gradient(173deg, rgba(231, 238, 242, 0.00) -0.52%, rgba(231, 238, 242, 0.31) 46.42%, rgba(231, 238, 242, 0.00) 99.34%);
	backdrop-filter: blur(5px);
	display: flex;
	width: 820px;
	height: auto;
	min-height: 420px;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 24px;
	flex-shrink: 0;
	padding: 38px 48px 52px;
}

.consultoria-label {
	display: flex;
	align-items: center;
}

.consultoria-label-chevron-left {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
	margin-right: 9px;
}

.consultoria-label-text {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
	margin-right: 8px;
}

.consultoria-label-chevron-right {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
}

.consultoria-headline {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.05;
}

.consultoria-headline-dark {
	color: #0B0C0D;
	font-size: 48px;
	font-weight: bold;
	text-align: center;
	text-shadow: 0px 2px 14px rgba(0,0,0,0.15);
}

.consultoria-headline-light {
	color: #E7EEF2;
	font-size: 48px;
	font-weight: bold;
	text-align: center;
	text-shadow: 0px 2px 14px rgba(0,0,0,0.15);
}

.consultoria-body {
	color: #E7EEF2;
	font-size: 19px;
	text-align: center;
	width: 100%;
	max-width: 560px;
}

.consultoria-cta-link {
	color: #0B0C0D;
	font-size: 16px;
	font-weight: bold;
	text-decoration-line: underline;
}

.consultoria-badges {
	position: absolute;
	bottom: -24px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 16px;
	z-index: 5;
}

.consultoria-badge-btn {
	display: flex;
	align-items: center;
	background: #E7EEF2;
	border-radius: 143px;
	border: none;
	gap: 12px;
	cursor: pointer;
	font-family: inherit;
	font-weight: 700;
}

.consultoria-badge-btn-1 {
	padding: 12px 18px;
}

.consultoria-badge-btn-2 {
	padding: 12px 39px;
}

.consultoria-badge-btn-3 {
	padding: 12px 28px;
}

.consultoria-badge-icon {
	border-radius: 143px;
	width: 24px;
	height: 24px;
	object-fit: fill;
}

.consultoria-badge-label {
	color: #028CF3;
	font-size: 17px;
	font-weight: bold;
	white-space: nowrap;
}

/* ============================================================
   ASSISTÊNCIA TÉCNICA SECTION
   ============================================================ */
.assistencia-section {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 100px;
	padding-bottom: 100px;
	padding-left: 160px;
	gap: 48px;
	background-image: url('images/bannerfundocelular.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.assistencia-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
}

.assistencia-label-row {
	display: flex;
	align-items: center;
	margin-right: 437px;
}

.assistencia-label-chevron-left {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 9px;
}

.assistencia-label-text {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 7px;
}

.assistencia-label-chevron-right {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

.assistencia-titles {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 41px;
}

.assistencia-headline-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 2px;
	padding-left: 3px;
	padding-right: 3px;
	gap: 0;
}

.assistencia-headline {
	color: #E7EEF2;
	font-size: 48px;
	font-weight: bold;
	line-height: 1;
}

.assistencia-headline-blue {
	color: #028CF3;
}

.assistencia-body {
	color: #E7EEF2;
	font-size: 19px;
	margin-right: 0;
	width: 520px;
}

.btn-assistencia-cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #028CF3;
	border-radius: 8px;
	border: none;
	padding: 15px 28px;
	margin-right: 485px;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
}

.btn-assistencia-cta span {
	color: #E7EEF2;
	font-size: 19px;
	font-weight: bold;
}

.assistencia-stats {
	display: flex;
	align-items: center;
	gap: 30px;
}

.assistencia-stat-card {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #E7EEF208;
	border-radius: 12px;
	border: none;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	position: relative;
}

.assistencia-stat-card::before {
	content: '';
	position: absolute;
	inset: -1px;
	border-radius: 13px;
	padding: 1px;
	background: conic-gradient(from var(--border-angle), transparent 75%, #7dd3fc 85%, #028CF3 88%, #7dd3fc 91%, transparent 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: spin-border 5s linear infinite;
}

@property --border-angle {
	syntax: '<angle>';
	initial-value: 0deg;
	inherits: false;
}

@keyframes spin-border {
	to { --border-angle: 360deg; }
}

.assistencia-stat-card-1 {
	padding: 3px 7px;
}

.assistencia-stat-card-2 {
	padding: 3px 8px;
}

.assistencia-stat-card-3 {
	padding: 3px 5px;
}

.assistencia-stat-inner-1 {
	display: flex;
	flex-direction: column;
	align-items: center;
	border-radius: 12px;
	border: 1px solid #00000000;
	padding: 18px 13px;
	gap: 11px;
}

.assistencia-stat-inner-2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	border-radius: 12px;
	border: 1px solid #00000000;
	padding: 19px 10px;
	gap: 11px;
}

.assistencia-stat-inner-3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	border-radius: 12px;
	border: 1px solid #00000000;
	padding: 18px 15px;
	gap: 11px;
}

.assistencia-stat-number {
	color: #028CF3;
	font-size: 34px;
	font-weight: bold;
}

.assistencia-stat-label {
	color: #E7EEF2;
	font-size: 16px;
}

/* ============================================================
   TECNOLOGIA SELECIONADA / PRODUTOS SECTION
   ============================================================ */
.produtos-section {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #E7EDF105;
	padding-top: 76px;
	padding-bottom: 76px;
	gap: 44px;
}

.produtos-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 39px;
}

.produtos-label {
	display: flex;
	align-items: center;
}

.produtos-label-chevron-left {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 9px;
}

.produtos-label-text {
	color: #028CF3;
	font-family: 'Visby CF', system-ui, sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 4.4px;
	text-transform: uppercase;
	margin-right: 7px;
}

.produtos-label-chevron-right {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

.produtos-headlines {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 1px;
	padding-left: 21px;
	padding-right: 21px;
	gap: 31px;
}

.produtos-headline {
	color: #E7EEF2;
	font-size: 34px;
	font-weight: bold;
}

.produtos-headline-blue {
	color: #028CF3;
}

.produtos-body {
	color: #E7EEF2;
	font-size: 19px;
}

.produtos-cats {
	display: flex;
	align-items: center;
	gap: 60px;
}

.cat-card {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: rgba(231, 238, 242, 0.03);
	border-radius: 14px;
	border: 1px solid rgba(231, 238, 242, 0.10);
	padding: 29px 61px;
	gap: 10px;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
	font-family: inherit;
}

.cat-card:hover {
	background: rgba(2, 140, 243, 0.10);
	border-color: #028CF3;
}

.cat-card-label {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
}

.link-row {
	display: flex;
	align-items: center;
	border-radius: 8px;
	padding-left: 28px;
	padding-right: 28px;
	gap: 9px;
	margin-top: 24px;
}

.link-row span {
	color: #028CF3;
	font-size: 19px;
	font-weight: bold;
	text-decoration-line: underline;
}

/* ============================================================
   ACESSÓRIOS SECTION
   ============================================================ */
.acessorios-section {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 88px;
	padding-bottom: 88px;
	gap: 36px;
}

.acessorios-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 39px;
}

.acessorios-label {
	display: flex;
	align-items: center;
}

.acessorios-label-chevron-left {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 9px;
}

.acessorios-label-text {
	color: #028CF3;
	font-family: 'Visby CF', system-ui, sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 4.4px;
	text-transform: uppercase;
	margin-right: 8px;
}

.acessorios-label-chevron-right {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

.acessorios-headlines {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 1px;
	padding-left: 114px;
	padding-right: 114px;
	gap: 32px;
}

.acessorios-headline {
	color: #E7EEF2;
	font-size: 34px;
	font-weight: bold;
}

.acessorios-headline-blue {
	color: #028CF3;
}

.acessorios-body {
	color: #E7EEF2;
	font-size: 19px;
}

.acessorios-cards {
	display: flex;
	align-items: center;
}

.acc-card {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: rgba(231, 238, 242, 0.03);
	border-radius: 12px;
	border: 1px solid rgba(231, 237, 241, 0.11);
	gap: 10px;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
	font-family: inherit;
}

.acc-card:hover {
	background: rgba(2, 140, 243, 0.10);
	border-color: #028CF3;
}

.acc-card-1 { padding: 22px 59px; margin-right: 18px; }
.acc-card-2 { padding: 23px 49px; margin-right: 18px; }
.acc-card-3 { padding: 23px 60px; margin-right: 19px; }
.acc-card-4 { padding: 23px 24px; margin-right: 18px; }
.acc-card-5 { padding: 23px 64px; margin-right: 19px; }
.acc-card-6 { padding: 23px 21px; }

.acc-card-label {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
}

/* ============================================================
   HASS BENEFÍCIOS SECTION
   ============================================================ */
.beneficios-section {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	background-image: url('images/cartao-preview.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding-top: 52px;
	padding-bottom: 52px;
	gap: 44px;
}

.beneficios-inner {
	display: flex;
	align-items: flex-start;
	gap: 59px;
}

.beneficios-img-col {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-top: 16px;
}

.btn-em-breve {
	display: flex;
	align-items: center;
	background: #E7EEF2;
	border-top-left-radius: 63px;
	border-top-right-radius: 63px;
	border: none;
	padding: 6px 61px;
	margin-left: 149px;
	gap: 8px;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
}

.btn-em-breve span {
	color: #0A0B0D;
	font-size: 20px;
	font-weight: bold;
}

.beneficios-img-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-right: 16px;
	position: relative;
}

.beneficios-main-img {
	width: 420px;
	height: 250px;
	object-fit: fill;
}

.beneficios-side-img {
	position: absolute;
	bottom: 1px;
	right: -16px;
	width: 100px;
	height: 248px;
	object-fit: fill;
}

.beneficios-content-col {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 7px;
	padding-bottom: 7px;
	gap: 39px;
}

.beneficios-label {
	display: flex;
	align-items: center;
	margin-right: 327px;
}

.beneficios-label-chevron-left {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 9px;
}

.beneficios-label-text {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 8px;
}

.beneficios-label-chevron-right {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

.beneficios-headlines {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 8px;
	padding-left: 1px;
	padding-right: 12px;
	gap: 21px;
}

.beneficios-headline {
	color: #E7EEF2;
	font-size: 34px;
	font-weight: bold;
	width: 440px;
	line-height: 1.1;
}

.beneficios-headline-blue {
	color: #028CF3;
	white-space: nowrap;
}

.beneficios-body {
	color: #E7EEF2;
	font-size: 16px;
	width: 430px;
}

.beneficios-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 381px;
}

.beneficios-list-item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.beneficios-list-item-1 { margin-bottom: 6px; }
.beneficios-list-item-2 { margin-bottom: 9px; }
.beneficios-list-item-3 { margin-bottom: 9px; }

.beneficios-list-icon {
	width: 7px;
	height: 7px;
	object-fit: fill;
}

.beneficios-list-label {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
}

.btn-membro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #028CF3;
	border-radius: 8px;
	border: none;
	padding: 15px 28px;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
}

.btn-membro span {
	color: #E7EEF2;
	font-size: 19px;
	font-weight: bold;
}

/* ============================================================
   CONTEÚDO & EDUCAÇÃO (BLOG) SECTION
   ============================================================ */
.blog-section {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #0A0B0D;
	padding-top: 48px;
	padding-bottom: 48px;
	gap: 44px;
}

.blog-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-left: 41px;
	padding-right: 41px;
	gap: 47px;
}

.blog-label {
	display: flex;
	align-items: center;
}

.blog-label-chevron-left {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 9px;
}

.blog-label-text {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 8px;
}

.blog-label-chevron-right {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

.blog-headline {
	color: #E7EEF2;
	font-size: 38px;
	font-weight: bold;
}

.blog-headline-blue {
	color: #028CF3;
}

.blog-cards {
	display: flex;
	align-items: center;
	gap: 24px;
}

.blog-card {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #E7EEF208;
	border-radius: 14px;
	border: 1px solid #E7EEF226;
}

.blog-card-img {
	border-radius: 14px;
	width: 360px;
	height: 200px;
	object-fit: fill;
}

.blog-card-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 18px 28px;
	gap: 30px;
}

.btn-blog-tag {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: none;
	border-radius: 149px;
	border: 1px solid #028CF3;
	padding: 8px 10px;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
}

.btn-blog-tag-notebooks {
	padding: 8px 12px;
}

.btn-blog-tag span {
	color: #028CF3;
	font-size: 16px;
	font-weight: bold;
}

.blog-card-content-1 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 43px;
	gap: 39px;
}

.blog-card-content-2 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 1px;
	padding-right: 21px;
	gap: 18px;
}

.blog-card-content-3 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 1px;
	gap: 37px;
}

.blog-card-title-1 {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
	width: 256px;
}

.blog-card-title-2 {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
	width: 278px;
}

.blog-card-title-3 {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
	width: 299px;
}

.blog-card-meta {
	color: #E7EDF1;
	font-size: 16px;
}

.blog-card-meta-3 {
	color: #E7EDF1;
	font-size: 16px;
	margin-right: 200px;
}

.blog-link-row {
	display: flex;
	align-items: center;
	border-radius: 8px;
	padding: 14px 28px;
	gap: 9px;
}

.blog-link-row span {
	color: #028CF3;
	font-size: 19px;
	font-weight: bold;
	text-decoration-line: underline;
}

/* ============================================================
   DEPOIMENTOS SECTION
   ============================================================ */
.depoimentos-section {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #E7EDF105;
	padding-top: 96px;
	padding-bottom: 96px;
}

.depoimentos-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 59px;
	gap: 39px;
}

.depoimentos-label {
	display: flex;
	align-items: center;
}

.depoimentos-label-chevron-left {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 9px;
}

.depoimentos-label-text {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
	margin-right: 8px;
}

.depoimentos-label-chevron-right {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

.depoimentos-headline-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 1px;
	padding-left: 124px;
	padding-right: 124px;
}

.depoimentos-headline {
	color: #E7EEF2;
	font-size: 38px;
	font-weight: bold;
}

.depoimentos-headline-blue {
	color: #028CF3;
}

.depoimentos-cards-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 60px;
	gap: 20px;
}

.depoimentos-cards-row {
	display: flex;
	align-items: center;
	gap: 24px;
}

.dep-card {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #028BF312;
	border-radius: 12px;
	border: 1px solid #E7EEF21A;
}

.dep-card-1 { padding: 27px 49px 27px 25px; }
.dep-card-2 { padding: 26px 42px 26px 24px; }
.dep-card-3 { padding: 27px 24px; }

.dep-card-stars {
	border-radius: 12px;
	width: 75px;
	height: 13px;
	margin-bottom: 19px;
	object-fit: fill;
}

.dep-card-author {
	display: flex;
	align-items: center;
	margin-bottom: 24px;
	gap: 12px;
}

.dep-card-avatar {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #028CF3;
	border-radius: 20px;
}

.dep-card-avatar-1 { padding-left: 13px; padding-right: 13px; }
.dep-card-avatar-2 { padding-left: 15px; padding-right: 15px; }
.dep-card-avatar-3 { padding-left: 14px; padding-right: 14px; }

.dep-card-avatar span {
	color: #0A0B0D;
	font-size: 16px;
	font-weight: bold;
}

.dep-card-name {
	color: #E7EEF2;
	font-size: 16px;
	font-weight: bold;
}

.dep-card-text-1 {
	color: #E7EEF2;
	font-size: 16px;
	width: 271px;
}

.dep-card-text-2 {
	color: #E7EEF2;
	font-size: 16px;
	width: 279px;
}

.dep-card-text-3 {
	color: #E7EEF2;
	font-size: 16px;
	width: 288px;
}

.depoimentos-dots {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dot-active {
	width: 24px;
	height: 3px;
	background: #028CF3;
	border-radius: 2px;
}

.dot-inactive {
	width: 8px;
	height: 3px;
	background: #E7EEF24D;
	border-radius: 2px;
}

.depoimentos-stats {
	display: flex;
	align-items: center;
	gap: 60px;
}

.dep-stat-card {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	background: #E7EEF208;
	border-radius: 12px;
	border: 1px solid #E7EEF21A;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
}

.dep-stat-card-1 { padding: 12px 19px; gap: 12px; }
.dep-stat-card-2 { padding: 12px 26px; gap: 13px; }
.dep-stat-card-3 { padding: 12px 22px; gap: 12px; }

.dep-stat-number {
	color: #F1AF02;
	font-size: 16px;
	font-weight: bold;
}

.dep-stat-label {
	color: #E7EEF2;
	font-size: 16px;
}

/* ============================================================
   FALE COM A HASS (CONTATO) SECTION
   ============================================================ */
.contato-section {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #E7EEF2;
	padding-top: 60px;
}

.contato-header {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 24px;
}

.contato-header-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 12px;
	padding-left: 64px;
	padding-right: 64px;
	gap: 20px;
}

.contato-label {
	display: flex;
	align-items: center;
	gap: 9px;
}

.contato-label span {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

.contato-headline {
	color: #0A0B0D;
	font-size: 48px;
	font-weight: bold;
	text-align: center;
	white-space: nowrap;
	line-height: 0.9;
}

.contato-headline-blue {
	color: #028CF3;
}

.contato-whatsapp-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
}

.btn-mais-rapido {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #028CF3;
	border-top-left-radius: 63px;
	border-top-right-radius: 63px;
	border: none;
	padding: 6px 55px;
	text-align: center;
	cursor: pointer;
	font-family: inherit;
}

.btn-mais-rapido span {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
}

.contato-cards-wrap {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 82px;
}

.contato-cards-row {
	display: flex;
	align-items: stretch;
	gap: 24px;
}

.contato-card-presencial {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	border-radius: 30px;
	border: none;
	background: rgba(2, 140, 243, 0.03);
	backdrop-filter: blur(5px);
	padding-top: 39px;
	padding-bottom: 39px;
	position: relative;
}

.contato-card-presencial::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 30px;
	padding: 1px;
	background: linear-gradient(135deg, transparent 0%, rgba(2, 140, 243, 0.6) 40%, rgba(2, 140, 243, 0.6) 60%, transparent 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.contato-card-body-1 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 29px;
	margin-left: 52px;
	margin-right: 52px;
	gap: 15px;
}

.contato-card-title-row-1 {
	display: flex;
	align-items: center;
	margin-right: 94px;
	gap: 10px;
}

.contato-card-title-icon-1 {
	width: 48px;
	height: 59px;
	object-fit: fill;
}

.contato-card-title-text {
	color: #0A0B0D;
	font-size: 38px;
	font-weight: bold;
}

.contato-card-desc {
	color: #0A0B0D;
	font-size: 16px;
	width: 300px;
}

.contato-card-desc-2 {
	color: #0A0B0D;
	font-size: 16px;
	margin-right: 0;
	width: 300px;
}

.contato-card-desc-3 {
	color: #0A0B0D;
	font-size: 16px;
	width: 300px;
}

.contato-card-link-row-1 {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
	margin-left: 52px;
	gap: 9px;
}

.contato-card-link-row-1 span {
	color: #028CF3;
	font-size: 19px;
	font-weight: bold;
	text-decoration-line: underline;
}

.contato-card-map-img {
	border-radius: 30px;
	width: 384px;
	height: 234px;
	margin-left: 52px;
	object-fit: fill;
}

.contato-card-col-right {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.contato-card-whatsapp {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	border-radius: 30px;
	border: none;
	background: rgba(2, 140, 243, 0.03);
	backdrop-filter: blur(5px);
	padding-top: 39px;
	padding-bottom: 39px;
	gap: 29px;
	position: relative;
}

.contato-card-whatsapp::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 30px;
	padding: 1px;
	background: linear-gradient(135deg, transparent 0%, rgba(2, 140, 243, 0.6) 40%, rgba(2, 140, 243, 0.6) 60%, transparent 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.contato-card-email {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	border-radius: 30px;
	border: none;
	background: rgba(2, 140, 243, 0.03);
	backdrop-filter: blur(5px);
	padding-top: 39px;
	padding-bottom: 39px;
	gap: 29px;
	position: relative;
}

.contato-card-email::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 30px;
	padding: 1px;
	background: linear-gradient(135deg, transparent 0%, rgba(2, 140, 243, 0.6) 40%, rgba(2, 140, 243, 0.6) 60%, transparent 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.contato-card-body-2 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-left: 53px;
	margin-right: 53px;
	gap: 15px;
}

.contato-card-title-row-2 {
	display: flex;
	align-items: center;
	padding-right: 85px;
	gap: 10px;
}

.contato-card-title-icon-2 {
	width: 57px;
	height: 59px;
	object-fit: fill;
}

.contato-card-link-row-2 {
	display: flex;
	align-items: center;
	margin-left: 53px;
	gap: 9px;
}

.contato-card-link-row-2 span {
	color: #028CF3;
	font-size: 19px;
	font-weight: bold;
	text-decoration-line: underline;
}

.contato-card-body-3 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-left: 52px;
	margin-right: 71px;
	gap: 14px;
}

.contato-card-title-row-3 {
	display: flex;
	align-items: center;
	margin-right: 165px;
	gap: 12px;
}

.contato-card-title-icon-3 {
	width: 64px;
	height: 59px;
	object-fit: fill;
}

.contato-card-link-row-3 {
	display: flex;
	align-items: center;
	margin-left: 52px;
	gap: 9px;
}

.contato-card-link-row-3 span {
	color: #028CF3;
	font-size: 19px;
	font-weight: bold;
	text-decoration-line: underline;
}

/* ============================================================
   FAQ SECTION
   ============================================================ */
.faq-section {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #E7EDF103;
	padding-top: 60px;
	padding-bottom: 60px;
	gap: 36px;
}

.faq-label {
	display: flex;
	align-items: center;
	gap: 9px;
}

.faq-label span {
	color: #028CF3;
	font-size: 20px;
	font-weight: bold;
}

.faq-list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	width: 100%;
	max-width: 1124px;
}

.faq-item {
	width: 100%;
	margin-bottom: 8px;
}

.faq-item-closed {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: #E7EEF208;
	border-radius: 12px;
	border: 1px solid #E7EEF21A;
	padding: 23px 25px;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.2s, border-radius 0.2s;
}

.faq-item.is-open .faq-item-closed {
	background: #0B0C0D;
	border-radius: 12px 12px 0 0;
	border-bottom: none;
}

.faq-item-question {
	color: #E7EEF2;
	font-size: 20px;
	font-weight: bold;
	flex: 1;
	text-align: left;
}

.faq-item.is-open .faq-item-question {
	color: #028CF3;
}

.faq-plus {
	color: #028CF3;
	font-size: 22px;
	font-weight: bold;
	flex-shrink: 0;
	margin-left: 16px;
}

.faq-collapse {
	display: none;
	background: #0B0C0D;
	border-radius: 0 0 12px 12px;
	border: 1px solid #E7EEF21A;
	border-top: none;
	padding: 0 25px 33px;
}

.faq-item.is-open .faq-collapse {
	display: block;
}

.faq-answer {
	color: #E7EEF2;
	font-size: 18px;
	display: block;
	padding-top: 24px;
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
	align-self: stretch;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	background: #0B0C0D;
	padding-top: 61px;
	padding-bottom: 101px;
}

.footer-brand {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-right: 59px;
}

.footer-logo {
	width: 260px;
	height: auto;
	margin-bottom: 22px;
	object-fit: contain;
}

.footer-tagline-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 12px;
	margin-bottom: 28px;
	margin-right: 57px;
}

.footer-tagline {
	color: #E7EEF2;
	font-size: 17px;
	font-weight: bold;
	width: 307px;
}

.footer-copy-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 2px;
	padding-right: 105px;
}

.footer-copy {
	color: #E7EEF2;
	font-size: 14px;
}

.footer-col-empresa {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 38px;
	margin-right: 60px;
	gap: 18px;
}

.footer-col-heading-wrap-empresa {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 81px;
}

.footer-col-heading {
	color: #E7EEF2;
	font-size: 17px;
	font-weight: bold;
}

.footer-col-links-empresa {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.footer-link-wrap-qs {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 46px;
}

.footer-link-wrap-blog {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 116px;
}

.footer-link {
	color: #E7EEF2;
	font-size: 17px;
}

.footer-link-fale {
	color: #E7EEF2;
	font-size: 17px;
	margin-right: 48px;
}

.footer-col-servicos {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-right: 60px;
}

.footer-col-heading-wrap-servicos {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 83px;
	margin-bottom: 18px;
}

.footer-link-wrap-consultoria {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 52px;
	margin-bottom: 10px;
}

.footer-link-assistencia {
	color: #E7EEF2;
	font-size: 17px;
	margin-bottom: 10px;
}

.footer-link-wrap-eletronicos {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 58px;
	margin-bottom: 10px;
}

.footer-link-acessorios {
	color: #E7EEF2;
	font-size: 17px;
	margin-bottom: 10px;
	margin-right: 68px;
}

.footer-link-cartao {
	color: #E7EEF2;
	font-size: 17px;
	margin-right: 50px;
}

.footer-col-contato {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 38px;
	margin-right: 60px;
	gap: 18px;
}

.footer-col-heading-wrap-contato {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 84px;
}

.footer-col-links-contato {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.footer-link-wrap-whatsapp {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 67px;
}

.footer-link-wrap-email {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 109px;
}

.footer-link-wrap-loja {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 72px;
}

.footer-col-social {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 92px;
	gap: 18px;
}

.footer-col-heading-wrap-social {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 30px;
}

.footer-social-icons {
	width: 135px;
	height: 27px;
	object-fit: fill;
}

/* ============================================================
   CATEGORY CARD ICONS (unique sizes per icon)
   ============================================================ */
.cat-icon-smartphones { width: 27px; height: 43px; object-fit: contain; }
.cat-icon-notebooks   { width: 45px; height: 45px; object-fit: contain; }
.cat-icon-gamer       { width: 27px; height: 45px; object-fit: contain; }
.cat-icon-apple       { width: 31px; height: 39px; object-fit: contain; }

/* ============================================================
   ACCESSORY CARD ICONS (unique sizes per icon)
   ============================================================ */
.acc-icon-capas        { width: 20px; height: 40px; object-fit: contain; }
.acc-icon-peliculas    { width: 23px; height: 38px; object-fit: contain; }
.acc-icon-cabos        { width: 28px; height: 38px; object-fit: contain; }
.acc-icon-carregadores { width: 19px; height: 38px; object-fit: contain; }
.acc-icon-fones        { width: 43px; height: 37px; object-fit: contain; }
.acc-icon-smartwatches { width: 19px; height: 38px; object-fit: contain; }

/* ============================================================
   EM BREVE BUTTON ICON
   ============================================================ */
.em-breve-icon { width: 18px; height: 16px; object-fit: fill; }

/* ============================================================
   BUTTON EFFECTS — lift, shadow, arrow slide, press
   ============================================================ */

/* ---- CTAs primários (fundo azul #028CF3) ---- */
.btn-navbar-cta,
.btn-hero-primary,
.btn-assistencia-cta,
.btn-membro {
	transition: transform 0.20s ease, box-shadow 0.20s ease;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.14),
		0 3px 0 rgba(0,0,0,0.28),
		0 5px 20px rgba(2,140,243,0.28);
}
.btn-navbar-cta:hover,
.btn-hero-primary:hover,
.btn-assistencia-cta:hover,
.btn-membro:hover {
	transform: translateY(-3px);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.14),
		0 7px 0 rgba(0,0,0,0.22),
		0 12px 32px rgba(2,140,243,0.46);
}
.btn-navbar-cta:active,
.btn-hero-primary:active,
.btn-assistencia-cta:active,
.btn-membro:active {
	transform: translateY(2px);
	box-shadow:
		inset 0 1px 0 rgba(0,0,0,0.10),
		0 0px 0 rgba(0,0,0,0.20),
		0 2px 8px rgba(2,140,243,0.14);
}
/* ---- Ícone → rotaciona para ↗ no hover ---- */
.btn-icon {
	display: inline-block;
	font-style: normal;
	margin-left: 7px;
	font-size: 1em;
	line-height: 1;
	transition: transform 0.30s ease;
	will-change: transform;
}
.btn-navbar-cta:hover .btn-icon,
.btn-hero-primary:hover .btn-icon,
.btn-hero-secondary:hover .btn-icon,
.btn-assistencia-cta:hover .btn-icon,
.btn-membro:hover .btn-icon {
	transform: translateX(6px) rotate(-45deg);
}
.btn-navbar-cta:active .btn-icon,
.btn-hero-primary:active .btn-icon,
.btn-hero-secondary:active .btn-icon,
.btn-assistencia-cta:active .btn-icon,
.btn-membro:active .btn-icon {
	transform: translateX(2px) rotate(-45deg);
}

/* ---- Secundário (transparente, borda branca) ---- */
.btn-hero-secondary {
	transition: transform 0.20s ease, box-shadow 0.20s ease, background 0.20s ease, border-color 0.20s ease;
}
.btn-hero-secondary:hover {
	transform: translateY(-3px);
	background: rgba(2,140,243,0.08);
	border-color: rgba(2,140,243,0.65);
	box-shadow: 0 8px 28px rgba(2,140,243,0.22);
}
.btn-hero-secondary:active {
	transform: translateY(2px);
	box-shadow: none;
	background: rgba(2,140,243,0.04);
}

/* ---- Cards clicáveis (stat, cat, acc, dep-stat) ---- */
.stat-card,
.cat-card,
.acc-card,
.dep-stat-card {
	transition: transform 0.20s ease, box-shadow 0.20s ease, background 0.20s ease, border-color 0.20s ease;
}
.stat-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(2,140,243,0.18);
	border: 1px solid rgba(2,140,243,0.35);
}
.cat-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(2,140,243,0.20);
}
.acc-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(2,140,243,0.20);
}
.dep-stat-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 18px rgba(2,140,243,0.16);
	border-color: rgba(2,140,243,0.35);
}
.stat-card:active,
.cat-card:active,
.acc-card:active,
.dep-stat-card:active {
	transform: translateY(1px);
	box-shadow: none;
}

/* ---- Badges consultoria ---- */
.consultoria-badge-btn {
	transition: transform 0.20s ease, box-shadow 0.20s ease;
	box-shadow: 0 2px 8px rgba(0,0,0,0.10);
}
.consultoria-badge-btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(2,140,243,0.24);
}
.consultoria-badge-btn:active {
	transform: translateY(1px);
	box-shadow: none;
}

/* ---- Blog tags ---- */
.btn-blog-tag {
	transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}
.btn-blog-tag:hover {
	background: rgba(2,140,243,0.12);
	transform: translateY(-2px);
	box-shadow: 0 4px 14px rgba(2,140,243,0.20);
}
.btn-blog-tag:active {
	transform: translateY(1px);
	box-shadow: none;
}

/* ---- Em Breve (fundo branco) ---- */
.btn-em-breve {
	transition: transform 0.20s ease, box-shadow 0.20s ease;
	box-shadow: 0 2px 10px rgba(0,0,0,0.10);
}
.btn-em-breve:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.16);
}
.btn-em-breve:active {
	transform: translateY(1px);
	box-shadow: none;
}

/* ---- Mais Rápido (label pill azul) ---- */
.btn-mais-rapido {
	transition: transform 0.20s ease, box-shadow 0.20s ease;
	box-shadow: 0 3px 12px rgba(2,140,243,0.30);
}
.btn-mais-rapido:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(2,140,243,0.44);
}
.btn-mais-rapido:active {
	transform: translateY(1px);
	box-shadow: none;
}

/* ---- FAQ toggle ---- */
.faq-item-closed {
	transition: background 0.20s ease, border-radius 0.20s ease, box-shadow 0.20s ease, transform 0.15s ease;
}
.faq-item-closed:hover {
	transform: translateX(3px);
	box-shadow: inset 3px 0 0 #028CF3;
}
.faq-item-closed:active {
	transform: translateX(0);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (min-width: 769px) {
	#navbar {
		padding: clamp(14px, 1.7vw, 22px) clamp(16px, 2vw, 28px);
	}
	.hero-logo {
		width: clamp(130px, 14vw, 200px);
		height: auto;
		object-fit: contain;
	}
	.hero-nav-links {
		gap: clamp(12px, 2vw, 30px);
	}
	.hero-nav-links span {
		font-size: clamp(12px, 1.1vw, 15px) !important;
	}
	.hero-badge span {
		font-size: clamp(11px, 1.2vw, 16px) !important;
	}
	.hero-content {
		padding-left: clamp(20px, 5vw, 80px);
		padding-right: clamp(20px, 5vw, 80px);
	}
	.hero-title {
		font-size: clamp(32px, 3.8vw, 52px);
		max-width: min(900px, 80vw);
		width: 100%;
	}
	.hero-subtitle {
		font-size: clamp(15px, 1.7vw, 22px);
		max-width: min(720px, 62vw);
		width: 100%;
	}
}

/* ============================================================
   MOBILE NAV — HAMBURGER & OVERLAY
   ============================================================ */
.nav-hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	cursor: pointer;
	gap: 5px;
	padding: 0;
	flex-shrink: 0;
}

.nav-hamburger span {
	display: block;
	width: 24px;
	height: 2px;
	background: #E7EEF2;
	border-radius: 2px;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.nav-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-nav {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1500;
	background: rgba(10, 11, 13, 0.97);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 48px;
	backdrop-filter: blur(12px);
}

.mobile-nav.is-open { display: flex; }

.mobile-nav-close {
	position: absolute;
	top: 20px;
	right: 20px;
	background: none;
	border: 1px solid rgba(231, 238, 242, 0.3);
	border-radius: 8px;
	color: #E7EEF2;
	font-size: 22px;
	cursor: pointer;
	padding: 6px 14px;
	font-family: inherit;
}

.mobile-nav-links-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
}

.mobile-nav-links-wrap span {
	font-size: 24px;
	font-weight: bold;
	cursor: pointer;
	font-family: inherit;
}

.mobile-nav-links-wrap .nav-link { color: #E7EEF2; }
.mobile-nav-links-wrap .nav-link-active { color: #028CF3; }

.btn-mobile-cta {
	justify-content: center !important;
	align-items: center !important;
	padding: 15px 40px !important;
}

/* ============================================================
   TABLET (max-width: 1024px)
   ============================================================ */
@media (max-width: 1024px) {

	/* ---- Navbar ---- */
	.hero-nav-links { display: none; }
	.btn-navbar-cta { display: none; }
	.nav-hamburger { display: flex; }

	/* ---- Hero ---- */
	.hero-title { font-size: 42px; width: 100%; letter-spacing: -1.5px; }
	.hero-subtitle { font-size: 20px; width: 100%; }

	/* ---- Consultoria ---- */
	.consultoria-img-left, .consultoria-img-right { display: none; }
	.consultoria-section {
		justify-content: center;
		min-height: auto;
		padding: 80px 24px;
	}
	.consultoria-card {
		position: relative;
		top: auto; left: auto;
		transform: none;
		width: 100%; max-width: 700px;
		height: auto;
		margin: 0;
		padding: 50px 40px 36px;
	}
	.consultoria-body { width: 100%; }
	.consultoria-badges {
		position: static;
		transform: none;
		margin-top: 28px;
		flex-wrap: wrap;
		justify-content: center;
	}

	/* ---- Assistência ---- */
	.assistencia-section { padding-left: 40px; padding-right: 40px; }
	.assistencia-label-row { margin-right: 0; }
	.assistencia-body { width: 100%; margin-right: 0; }
	.btn-assistencia-cta { margin-right: 0; }

	/* ---- Benefícios ---- */
	.beneficios-headline { width: 100%; }
	.beneficios-body { width: 100%; }
	.beneficios-headline-blue { white-space: normal; }
	.beneficios-label { margin-right: 0; }
	.beneficios-list { padding-right: 0; }

	/* ---- Contato ---- */
	.contato-headline { white-space: normal; font-size: 44px; }
	.contato-cards-row { flex-direction: column; align-items: stretch; }
	.contato-card-col-right { width: 100%; }
	.contato-card-presencial { width: 100%; }
	.contato-card-desc,
	.contato-card-desc-2,
	.contato-card-desc-3 { width: 100%; }
	.contato-card-map-img { width: calc(100% - 104px); }
	.contato-card-title-row-1,
	.contato-card-title-row-3 { margin-right: 0; }
	.contato-card-title-row-2 { padding-right: 0; }

	/* ---- Footer ---- */
	.footer {
		flex-wrap: wrap;
		padding: 40px 30px 60px;
		gap: 36px;
		justify-content: flex-start;
	}
	.footer-brand { margin-right: 0; min-width: 280px; }
	.footer-col-empresa,
	.footer-col-servicos,
	.footer-col-contato,
	.footer-col-social { margin-right: 0; }
	.footer-col-heading-wrap-empresa,
	.footer-col-heading-wrap-servicos,
	.footer-col-heading-wrap-contato,
	.footer-col-heading-wrap-social { padding-right: 0; }
}

/* ============================================================
   MOBILE (max-width: 768px)
   ============================================================ */
@media (max-width: 768px) {

	/* ---- Títulos balanceados (sem palavra viúva) ---- */
	.hero-title,
	.story-line,
	.consultoria-headline-dark,
	.consultoria-headline-light,
	.assistencia-headline,
	.produtos-headline,
	.acessorios-headline,
	.beneficios-headline,
	.blog-headline,
	.depoimentos-headline,
	.contato-headline {
		text-wrap: balance;
		overflow-wrap: break-word;
	}

	/* ---- Navbar ---- */
	#navbar-sticky { padding-top: 6px; padding-left: 10px; padding-right: 10px; }
	#navbar { padding: 16px 18px; border-radius: 16px; }
	.hero-logo { width: 140px; height: auto; }

	/* ---- Hero ---- */
	.hero-bg {
		padding-top: 86px;
		min-height: 100vh;
		height: 100vh;
		background-image: url('images/banner-mobile.png');
		background-position: center top;
	}
	.hero-body { gap: 32px; padding: 0 8px; }
	.hero-badge-text,
	.hero-badge-chevron-left,
	.hero-badge-chevron-right { font-size: 12px; }
	.hero-content { padding-left: 16px; padding-right: 16px; gap: 20px; }
	.hero-title {
		font-size: 38px;
		width: 100%;
		letter-spacing: -1px;
		line-height: 110%;
		text-align: center;
	}
	.hero-subtitle { font-size: 16px; width: 100%; }
	.hero-buttons {
		flex-direction: row;
		width: 100%;
		padding: 0 16px;
		gap: 10px;
		justify-content: center;
	}
	.btn-hero-primary,
	.btn-hero-secondary {
		flex: 1;
		justify-content: center;
		padding: 13px 10px;
		font-size: 14px;
	}
	.hero-spacer { height: 40px; }

	/* ---- Scroll Story ---- */
	#scroll-story-sticky { gap: 32px; }
	#story-container { padding: 0 24px; }
	#story-container { height: 100px; }
	.story-line { font-size: 26px; white-space: normal; }
	.story-slide { gap: 8px; }

	/* ---- Stats ---- */
	.stats-section { flex-wrap: wrap; padding: 24px 16px 64px; gap: 12px; margin-top: 0; align-items: center; }
	.stat-card { flex: 1 1 calc(50% - 6px); min-width: 130px; padding: 18px 16px; }
	.stat-card-number { font-size: 26px; }
	.stat-card-label { font-size: 13px; }

	/* ---- Consultoria ---- */
	.consultoria-section {
		padding: 50px 16px 60px;
		background: url('images/banner-terceira-sessao.png') center center / cover no-repeat;
	}
	.consultoria-bg-blur { display: none; }
	.consultoria-card { padding: 28px 20px 28px; border-radius: 20px; overflow: visible; }
	.consultoria-headline-dark,
	.consultoria-headline-light { font-size: 32px; }
	.consultoria-body { font-size: 15px; text-align: center; }
	.consultoria-cta-link { font-size: 16px; text-align: center; }
	.consultoria-badges {
		position: static;
		transform: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 8px;
		margin-top: 24px;
		width: 100%;
	}
	.consultoria-badge-btn-1,
	.consultoria-badge-btn-2,
	.consultoria-badge-btn-3 { padding: 10px 14px; }
	.consultoria-badge-label { font-size: 13px; white-space: nowrap; }

	/* ---- Assistência ---- */
	.assistencia-section {
		padding: 60px 20px;
		align-items: flex-start;
		min-height: 900px;
		background: url('images/banner-quarta-sessao.png') top center / cover no-repeat;
	}
	.assistencia-inner { align-items: flex-start; gap: 24px; }
	.assistencia-headline-wrap { align-items: flex-start; }
	.assistencia-headline { font-size: 36px; text-align: left; }
	.assistencia-body {
		font-size: 16px;
		margin-right: 0;
		text-align: left;
		width: 100%;
	}
	.btn-assistencia-cta { align-items: flex-start; }
	.assistencia-stats {
		flex-direction: row;
		align-items: stretch;
		gap: 10px;
		width: 100%;
	}
	.assistencia-stat-card { flex: 1; }
	.assistencia-stat-number { font-size: 22px; }
	.assistencia-stat-label { font-size: 12px; }
	.assistencia-stat-inner-1,
	.assistencia-stat-inner-2,
	.assistencia-stat-inner-3 { padding: 14px 10px; }

	/* ---- Produtos ---- */
	.produtos-section { padding: 60px 20px; }
	.produtos-header { align-items: center; text-align: center; }
	.produtos-label { justify-content: center; }
	.produtos-headline { font-size: 26px; text-align: center; }
	.produtos-body { font-size: 16px; text-align: center; }
	.produtos-headlines { padding-left: 0; padding-right: 0; align-items: center; }
	.produtos-cats { flex-wrap: wrap; gap: 14px; justify-content: center; }
	.cat-card {
		flex: 1 1 calc(50% - 7px);
		max-width: 160px;
		padding: 20px 16px;
	}
	.cat-card-label { font-size: 16px; }

	/* ---- Acessórios ---- */
	.acessorios-section { padding: 60px 20px; }
	.acessorios-headline { font-size: 26px; text-align: center; }
	.acessorios-body { font-size: 16px; text-align: center; }
	.acessorios-headlines { padding-left: 0; padding-right: 0; }
	.acessorios-cards {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: repeat(2, auto);
		gap: 12px;
		width: 100%;
	}
	.acc-card-1, .acc-card-2, .acc-card-3,
	.acc-card-4, .acc-card-5, .acc-card-6 {
		max-width: none;
		padding: 16px 10px;
		margin-right: 0;
	}
	.acc-card-label { font-size: 14px; }

	/* ---- Benefícios ---- */
	.beneficios-section { padding: 60px 20px; gap: 32px; flex-direction: column; align-items: center; }
	.beneficios-inner { flex-direction: column; align-items: center; gap: 28px; width: 100%; }
	.beneficios-img-col {
		display: flex;
		flex-direction: column;
		align-items: center;
		order: 2;
		margin-top: 0;
	}
	.btn-em-breve { margin-left: 0; padding: 6px 40px; }
	.beneficios-main-img { width: 280px; height: auto; }
	.beneficios-side-img { display: none; }
	.beneficios-content-col { align-items: center; padding: 0; gap: 24px; order: 1; width: 100%; }
	.beneficios-headlines { align-items: center; padding: 0; gap: 16px; }
	.beneficios-headline {
		font-size: 28px;
		width: 100%;
		text-align: center;
		line-height: 1.2;
	}
	.beneficios-headline-blue { white-space: normal; }
	.beneficios-body { font-size: 16px; width: 100%; text-align: center; }
	.beneficios-list {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 12px;
		padding-right: 0;
		width: 100%;
		justify-content: center;
	}
	.beneficios-list-item,
	.beneficios-list-item-1,
	.beneficios-list-item-2,
	.beneficios-list-item-3 {
		flex: 0 0 calc(50% - 6px);
		margin-bottom: 0;
	}
	.beneficios-list-label { font-size: 15px; }
	.btn-membro { order: 3; align-self: center; }

	/* ---- Blog ---- */
	.blog-section { padding: 60px 20px; }
	.blog-header { padding-left: 0; padding-right: 0; align-items: center; }
	.blog-label { justify-content: center; }
	.blog-headline { font-size: 26px; text-align: center; }
	.blog-cards {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 20px;
	}
	.blog-card { flex-shrink: 1; width: 100%; }
	.blog-card-img {
		width: 100%;
		height: 180px;
		object-fit: cover;
		border-radius: 14px 14px 0 0;
	}
	.blog-card-title-1,
	.blog-card-title-2,
	.blog-card-title-3 { width: 100%; font-size: 17px; }
	.blog-card-content-1 { padding-right: 0; gap: 20px; }
	.blog-card-content-2 { padding-right: 0; }
	.blog-card-meta-3 { margin-right: 0; }

	/* ---- Depoimentos ---- */
	.depoimentos-section { padding: 60px 20px; }
	.depoimentos-header { align-items: center; }
	.depoimentos-label { justify-content: center; }
	.depoimentos-headline { font-size: 28px; text-align: center; }
	.depoimentos-headline-wrap { padding-left: 0; padding-right: 0; align-items: center; }
	.depoimentos-cards-row { flex-direction: column; gap: 16px; }
	.dep-card-1 { padding: 24px 20px; }
	.dep-card-2 { padding: 24px 20px; }
	.dep-card-3 { padding: 24px 20px; }
	.dep-card-text-1,
	.dep-card-text-2,
	.dep-card-text-3 { width: 100%; }
	.depoimentos-stats {
		flex-direction: column;
		gap: 12px;
		width: 100%;
	}
	.dep-stat-card-1,
	.dep-stat-card-2,
	.dep-stat-card-3 {
		width: 100%;
		justify-content: center;
		padding: 14px 20px;
	}

	/* ---- Contato ---- */
	.contato-section { padding-top: 40px; }
	.contato-headline { font-size: 30px; white-space: normal; }
	.contato-header-inner { padding-left: 20px; padding-right: 20px; }
	.contato-cards-wrap { margin-bottom: 40px; }
	.contato-cards-row { flex-direction: column; padding: 0 20px; gap: 16px; }
	.contato-card-body-1 { margin-left: 20px; margin-right: 20px; }
	.contato-card-body-2 { margin-left: 20px; margin-right: 20px; }
	.contato-card-body-3 { margin-left: 20px; margin-right: 20px; }
	.contato-card-link-row-1 { margin-left: 20px; }
	.contato-card-link-row-2 { margin-left: 20px; }
	.contato-card-link-row-3 { margin-left: 20px; }
	.contato-card-map-img {
		width: calc(100% - 40px);
		margin-left: 20px;
		height: 180px;
	}
	.contato-card-title-text { font-size: 34px; }
	.contato-card-title-row-1,
	.contato-card-title-row-3 { margin-right: 0; }
	.contato-card-title-row-2 { padding-right: 0; }
	.btn-mais-rapido { padding: 6px 30px; }

	/* ---- FAQ ---- */
	.faq-section { padding: 60px 20px; }
	.faq-item-question { font-size: 15px; }
	.faq-answer { font-size: 15px; }

	/* ---- Footer ---- */
	.footer { flex-direction: column; padding: 40px 20px 60px; gap: 32px; }
	.footer-brand { margin-right: 0; width: 100%; }
	.footer-logo { width: 180px; height: auto; }
	.footer-tagline-wrap { margin-right: 0; margin-bottom: 16px; padding-right: 0; }
	.footer-tagline { width: 100%; }
	.footer-copy-wrap { padding-right: 0; }
	.footer-col-empresa { align-items: flex-start; padding-bottom: 0; }
	.footer-col-contato { align-items: flex-start; padding-bottom: 0; }
	.footer-col-social { padding-bottom: 0; }
	.footer-link-wrap-qs,
	.footer-link-wrap-blog { padding-right: 0; }
	.footer-link-fale { margin-right: 0; }
	.footer-link-wrap-consultoria,
	.footer-link-wrap-eletronicos { padding-right: 0; }
	.footer-link-acessorios,
	.footer-link-cartao { margin-right: 0; }
	.footer-link-wrap-whatsapp,
	.footer-link-wrap-email,
	.footer-link-wrap-loja { padding-right: 0; }
	.footer-col-links-contato { align-items: flex-start; }
}
