/* ==========================================================================
   RODOKARLLA — estilos do tema
   Cores da marca: grafite #1b222a · dourado #ecb562 · branco
   Tipografia: Sora (títulos, geométrica e larga como o logo) e Plus Jakarta Sans (texto).
   Efeitos (tela de carregamento, cursor, partículas, inclinação 3D) no fim do arquivo.
   ========================================================================== */

/* Fontes (servidas pelo próprio tema) ------------------------------------- */
@font-face {
	font-family: "Sora";
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url("../fonts/sora-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Plus Jakarta Sans";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/jakarta-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Plus Jakarta Sans";
	font-style: italic;
	font-weight: 400 600;
	font-display: swap;
	src: url("../fonts/jakarta-italic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Tokens ------------------------------------------------------------------ */
:root {
	--rk-grafite: #1b222a;
	--rk-grafite-2: #252e38;
	--rk-escuro: #11161b;
	--rk-ouro: #ecb562;
	--rk-ouro-hover: #f3c57e;
	--rk-ouro-realce: #b97b20;     /* dourado de títulos sobre fundo claro */
	--rk-ouro-texto: #8a5d1c;      /* dourado de textos pequenos sobre fundo claro */
	--rk-ouro-claro: #fbf3e6;
	--rk-claro: #f6f3ec;          /* creme quente, cor de palha */
	--rk-borda: #e9e3d6;
	--rk-texto: #1b222a;
	--rk-texto-suave: #4d5461;
	--rk-texto-claro: #c9ced6;     /* texto secundário sobre fundo escuro */
	--rk-whats: #1faa53;
	--rk-online: #22c55e;

	--rk-font-titulo: "Sora", "Segoe UI", Arial, sans-serif;
	--rk-font-texto: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;

	--rk-raio: 20px;
	--rk-sombra: 0 18px 40px rgba(27, 34, 42, 0.1);
	--rk-header-h: 72px;
	--rk-largura: 1200px;
}

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--rk-header-h) + 12px);
}

body {
	margin: 0;
	background: #fff;
	color: var(--rk-texto);
	font-family: var(--rk-font-texto);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 0.5em;
	font-family: var(--rk-font-titulo);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

h1,
h2 {
	text-wrap: balance;
}

p {
	margin: 0 0 1em;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

figure {
	margin: 0;
}

button {
	font: inherit;
}

.rk-icon {
	flex-shrink: 0;
	width: 1.25em;
	height: 1.25em;
}

:focus-visible {
	outline: 3px solid var(--rk-ouro);
	outline-offset: 3px;
}

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

.rk-skip {
	position: absolute;
	top: -100px;
	left: 16px;
	z-index: 1000;
	padding: 12px 18px;
	border-radius: 999px;
	background: var(--rk-ouro);
	color: var(--rk-grafite);
	font-weight: 700;
	text-decoration: none;
}

.rk-skip:focus {
	top: 16px;
}

/* Layout ------------------------------------------------------------------ */
.rk-container {
	width: 100%;
	max-width: calc(var(--rk-largura) + 40px);
	margin-inline: auto;
	padding-inline: 20px;
}

.rk-container--narrow {
	max-width: 900px;
}

.rk-section {
	padding-block: clamp(64px, 8vw, 104px);
}

.rk-escuro {
	background: var(--rk-grafite);
	color: #fff;
}

/* Cabeçalho de seção ------------------------------------------------------ */
.rk-head {
	max-width: 720px;
	margin-bottom: clamp(40px, 5vw, 64px);
}

.rk-head--center {
	margin-inline: auto;
	text-align: center;
}

.rk-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	color: var(--rk-ouro-texto);
	font-family: var(--rk-font-titulo);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

.rk-eyebrow::before,
.rk-head--center .rk-eyebrow::after {
	content: "";
	width: 24px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.rk-escuro .rk-eyebrow,
.rk-contato .rk-eyebrow {
	color: var(--rk-ouro);
}

.rk-head__title {
	margin-bottom: 0;
	font-size: clamp(1.65rem, 1.15rem + 1.9vw, 2.45rem);
	font-weight: 600;
	line-height: 1.14;
	letter-spacing: -0.035em;
}

/* Trecho em destaque dos títulos: dourado com um brilho que atravessa as letras. */
.rk-realce {
	color: var(--rk-ouro-realce);
}

.rk-escuro .rk-realce,
.rk-hero .rk-realce,
.rk-pagina-topo .rk-realce,
.rk-contato .rk-realce {
	color: var(--rk-ouro);
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.rk-realce {
		background-image: linear-gradient(100deg, var(--rk-ouro-realce) 30%, #e2a245 44%, #f3cf8c 50%, #e2a245 56%, var(--rk-ouro-realce) 70%);
		background-size: 250% 100%;
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		animation: rk-brilho 6s linear infinite;
	}

	.rk-escuro .rk-realce,
	.rk-hero .rk-realce,
	.rk-pagina-topo .rk-realce,
	.rk-contato .rk-realce {
		background-image: linear-gradient(100deg, var(--rk-ouro) 30%, #f6d08f 44%, #fff4dd 50%, #f6d08f 56%, var(--rk-ouro) 70%);
	}
}

@keyframes rk-brilho {
	from {
		background-position: 200% 0;
	}

	to {
		background-position: -50% 0;
	}
}

.rk-head__text {
	margin: 16px 0 0;
	color: var(--rk-texto-suave);
	font-size: 1rem;
}

.rk-head--center .rk-head__text {
	max-width: 600px;
	margin-inline: auto;
}

.rk-escuro .rk-head__text,
.rk-contato .rk-head__text {
	color: var(--rk-texto-claro);
}

/* Botões ------------------------------------------------------------------ */
.rk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 48px;
	padding: 0 24px;
	border: 2px solid transparent;
	border-radius: 999px;
	font-family: var(--rk-font-titulo);
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}

.rk-btn:hover {
	transform: translateY(-2px);
}

.rk-btn .rk-icon {
	width: 17px;
	height: 17px;
}

.rk-btn--claro {
	border-color: var(--rk-borda);
	background: #fff;
	color: var(--rk-grafite);
}

.rk-btn--claro:hover {
	border-color: var(--rk-ouro);
}

.rk-btn--primary {
	background: var(--rk-ouro);
	color: var(--rk-grafite);
}

.rk-btn--primary:hover {
	background: var(--rk-ouro-hover);
}

.rk-btn--dark {
	background: var(--rk-grafite);
	color: #fff;
}

.rk-btn--dark:hover {
	background: var(--rk-grafite-2);
}

.rk-btn--contorno {
	border-color: rgba(255, 255, 255, 0.45);
	color: #fff;
}

.rk-btn--contorno:hover {
	border-color: #fff;
	background: #fff;
	color: var(--rk-grafite);
}

/* Redes sociais ----------------------------------------------------------- */
.rk-social {
	display: flex;
	gap: 10px;
	margin-top: 24px;
}

.rk-social a {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	color: inherit;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.rk-social a:hover {
	border-color: var(--rk-ouro);
	background: var(--rk-ouro);
	color: var(--rk-grafite);
}

.rk-social .rk-icon {
	width: 17px;
	height: 17px;
}

/* Cabeçalho --------------------------------------------------------------- */
.rk-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--rk-grafite);
	transition: background-color 0.35s, box-shadow 0.35s;
}

/* Sobre a foto da capa (e do topo das páginas internas) o cabeçalho começa transparente. */
.rk-topo-foto .rk-header {
	position: fixed;
	right: 0;
	left: 0;
	background: transparent;
}

.rk-topo-foto .rk-header::before {
	content: "";
	position: absolute;
	inset: 0 0 -24px;
	z-index: -1;
	background: linear-gradient(180deg, rgba(17, 22, 27, 0.72), rgba(17, 22, 27, 0));
	pointer-events: none;
	transition: opacity 0.35s;
}

.rk-header.is-scrolled,
.rk-header.is-menu-aberto {
	background: rgba(27, 34, 42, 0.94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.rk-header.is-scrolled::before,
.rk-header.is-menu-aberto::before {
	opacity: 0;
}

.admin-bar .rk-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .rk-header {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.admin-bar .rk-header {
		top: 0;
	}
}

.rk-header__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	height: var(--rk-header-h);
}

.rk-logo {
	display: block;
	flex-shrink: 0;
	margin-right: auto;
}

.rk-logo__img {
	width: auto;
	height: 40px;
}

.rk-menu-toggle {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	cursor: pointer;
}

.rk-menu-toggle .rk-icon {
	width: 20px;
	height: 20px;
}

.rk-menu-toggle .rk-icon--fechar,
.rk-menu-toggle[aria-expanded="true"] .rk-icon--abrir {
	display: none;
}

.rk-menu-toggle[aria-expanded="true"] .rk-icon--fechar {
	display: block;
}

/* Menu em telas menores: painel que abre abaixo do cabeçalho */
.rk-nav {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	max-height: calc(100vh - var(--rk-header-h));
	padding: 8px 20px 24px;
	overflow-y: auto;
	background: var(--rk-grafite);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.3);
	visibility: hidden;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}

.rk-nav.is-open {
	visibility: visible;
	opacity: 1;
	transform: none;
}

.rk-menu a {
	display: block;
	padding: 13px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: #fff;
	font-family: var(--rk-font-titulo);
	font-size: 0.95rem;
	font-weight: 500;
	text-decoration: none;
}

.rk-menu a:hover,
.rk-menu a.is-active {
	color: var(--rk-ouro);
}

.rk-menu .rk-menu__item--contato a {
	margin-top: 18px;
	padding: 12px 20px;
	border: 0;
	border-radius: 999px;
	background: var(--rk-ouro);
	color: var(--rk-grafite);
	text-align: center;
}

@media (min-width: 992px) {
	.rk-logo {
		margin-right: 0;
	}

	.rk-nav {
		position: static;
		max-height: none;
		margin-left: auto;
		padding: 0;
		overflow: visible;
		background: none;
		border: 0;
		box-shadow: none;
		visibility: visible;
		opacity: 1;
		transform: none;
	}

	.rk-menu {
		display: flex;
		align-items: center;
		gap: 2px;
	}

	.rk-menu a {
		position: relative;
		padding: 8px 14px;
		border: 0;
		color: rgba(255, 255, 255, 0.85);
		font-size: 0.84rem;
		transition: color 0.2s, background-color 0.2s;
	}

	/* Sublinhado dourado que se desenha da esquerda para a direita. */
	.rk-menu a::after {
		content: "";
		position: absolute;
		right: 14px;
		bottom: 2px;
		left: 14px;
		height: 2px;
		border-radius: 2px;
		background: var(--rk-ouro);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.3s ease;
	}

	.rk-menu a:hover,
	.rk-menu a.is-active {
		color: #fff;
	}

	.rk-menu a:hover::after,
	.rk-menu a.is-active::after {
		transform: scaleX(1);
	}

	.rk-menu .rk-menu__item--contato {
		margin-left: 12px;
	}

	.rk-menu .rk-menu__item--contato a {
		margin: 0;
		padding: 7px 18px;
		border: 1.5px solid var(--rk-ouro);
		background: transparent;
		color: var(--rk-ouro);
	}

	.rk-menu .rk-menu__item--contato a::after {
		display: none;
	}

	.rk-menu .rk-menu__item--contato a:hover,
	.rk-menu .rk-menu__item--contato a.is-active {
		background: var(--rk-ouro);
		color: var(--rk-grafite);
	}

	.rk-menu-toggle {
		display: none;
	}
}

/* Capa: carrossel de fotos ------------------------------------------------ */
.rk-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: max(620px, 100vh);
	min-height: max(620px, 100svh);
	padding-block: calc(var(--rk-header-h) + 56px) 140px;
	overflow: hidden;
	background: var(--rk-escuro);
	color: #fff;
}

.rk-hero__slides {
	position: absolute;
	inset: -3%;
	z-index: -2;
	transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.rk-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.4s ease;
}

.rk-hero__slide.is-ativo {
	opacity: 1;
}

.rk-hero__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.1);
}

/* Aproximação lenta da foto ativa (efeito "Ken Burns"). */
.rk-hero__slide.is-ativo img {
	animation: rk-aproxima 9s ease-out forwards;
}

@keyframes rk-aproxima {
	from {
		transform: scale(1.14);
	}

	to {
		transform: scale(1.02);
	}
}

/* Vídeo em loop: aproxima e escurece um pouco conforme a página rola (--rk-rolagem vai de 0 a 1). */
.rk-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(calc(1.04 + var(--rk-rolagem, 0) * 0.14));
	filter: brightness(calc(1 - var(--rk-rolagem, 0) * 0.35));
	will-change: transform;
}

.rk-hero__slides--video::after {
	background:
		linear-gradient(0deg, rgba(17, 22, 27, 0.88) 0%, rgba(17, 22, 27, 0) 40%),
		linear-gradient(90deg, rgba(17, 22, 27, 0.86) 0%, rgba(17, 22, 27, 0.55) 40%, rgba(17, 22, 27, 0.08) 75%);
}

.rk-hero__pausa .rk-icon--tocar,
.rk-hero__pausa[aria-pressed="true"] .rk-icon--pausar {
	display: none;
}

.rk-hero__pausa[aria-pressed="true"] .rk-icon--tocar {
	display: block;
}

.rk-hero__pausa .rk-icon {
	width: 15px;
	height: 15px;
}

/* Escurece o lado do texto para a leitura, deixando o caminhão à mostra. */
.rk-hero__slides::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(0deg, rgba(17, 22, 27, 0.9) 0%, rgba(17, 22, 27, 0) 42%),
		linear-gradient(90deg, rgba(17, 22, 27, 0.9) 0%, rgba(17, 22, 27, 0.66) 45%, rgba(17, 22, 27, 0.18) 85%);
}

.rk-hero__particulas {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.rk-hero__content {
	max-width: 720px;
	transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.rk-selo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 24px;
	padding: 7px 15px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.07);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	font-family: var(--rk-font-titulo);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.rk-selo__ponto {
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--rk-ouro);
	box-shadow: 0 0 0 4px rgba(236, 181, 98, 0.25);
	animation: rk-piscar 2s ease-in-out infinite;
}

@keyframes rk-piscar {
	50% {
		box-shadow: 0 0 0 7px rgba(236, 181, 98, 0.05);
	}
}

/* Selo sendo "digitado" letra por letra. */
[data-rk-digitar].is-digitando::after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 1em;
	margin-left: 3px;
	background: var(--rk-ouro);
	vertical-align: -0.15em;
	animation: rk-caret 0.8s steps(1) infinite;
}

@keyframes rk-caret {
	50% {
		opacity: 0;
	}
}

.rk-hero__title {
	margin-bottom: 20px;
	font-size: clamp(2.1rem, 1.2rem + 3.4vw, 3.7rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.04em;
}

.rk-hero__text {
	max-width: 540px;
	margin-bottom: 32px;
	color: #dfe3e8;
	font-size: clamp(0.98rem, 0.95rem + 0.2vw, 1.08rem);
}

.rk-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.rk-hero__actions .rk-btn--primary {
	background: #fff;
	color: var(--rk-grafite);
}

.rk-hero__actions .rk-btn--primary:hover {
	background: var(--rk-ouro);
}

/* Entrada da capa depois da tela de carregamento: palavras do título sobem girando em 3D. */
.rk-palavra {
	display: inline-block;
}

.rk-palavras {
	perspective: 900px;
}

.rk-palavras .rk-palavra {
	opacity: 0;
	transform: translateY(0.55em) rotateX(-75deg);
	transform-origin: 50% 100%;
	filter: blur(6px);
}

.rk-pronto .rk-palavras .rk-palavra {
	animation: rk-palavra 0.9s cubic-bezier(0.2, 0.75, 0.25, 1) forwards;
	animation-delay: calc(var(--rk-i, 0) * 85ms + 150ms);
}

@keyframes rk-palavra {
	to {
		opacity: 1;
		transform: none;
		filter: blur(0);
	}
}

/* Com a capa animada, o brilho do destaque acompanha a entrada da palavra. */
.rk-pronto .rk-palavras .rk-realce.rk-palavra {
	animation: rk-palavra 0.9s cubic-bezier(0.2, 0.75, 0.25, 1) forwards, rk-brilho 6s linear 1.2s infinite;
	animation-delay: calc(var(--rk-i, 0) * 85ms + 150ms), 1.2s;
}

.rk-js .rk-hero .rk-selo,
.rk-js .rk-hero__text,
.rk-js .rk-hero__actions,
.rk-js .rk-hero__controles,
.rk-js .rk-pagina-topo__texto {
	opacity: 0;
	translate: 0 18px;
}

.rk-pronto .rk-hero .rk-selo,
.rk-pronto .rk-hero__text,
.rk-pronto .rk-hero__actions,
.rk-pronto .rk-hero__controles,
.rk-pronto .rk-pagina-topo__texto {
	animation: rk-sobe 0.8s cubic-bezier(0.2, 0.75, 0.25, 1) forwards;
}

.rk-pronto .rk-hero__text,
.rk-pronto .rk-pagina-topo__texto {
	animation-delay: 0.65s;
}

.rk-pronto .rk-hero__actions {
	animation-delay: 0.85s;
}

.rk-pronto .rk-hero__controles {
	animation-delay: 1.1s;
}

@keyframes rk-sobe {
	to {
		opacity: 1;
		translate: none;
	}
}

/* Setas e marcadores do carrossel (o marcador ativo enche conforme o tempo da foto). */
.rk-hero__controles {
	position: absolute;
	bottom: 34px;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 14px;
	transform: translateX(-50%);
}

.rk-hero__seta {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.rk-hero__seta:hover {
	border-color: var(--rk-ouro);
	background: var(--rk-ouro);
	color: var(--rk-grafite);
}

.rk-hero__seta .rk-icon {
	width: 18px;
	height: 18px;
}

.rk-hero__pontos {
	display: flex;
	gap: 6px;
}

.rk-hero__ponto {
	display: grid;
	align-items: center;
	width: 38px;
	height: 18px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.rk-hero__ponto span {
	position: relative;
	display: block;
	height: 3px;
	overflow: hidden;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.3);
}

.rk-hero__ponto span::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--rk-ouro);
	transform: scaleX(var(--rk-p, 0));
	transform-origin: left;
}

.rk-hero__ponto.is-ativo span {
	background: rgba(255, 255, 255, 0.5);
}

.rk-hero__rolar {
	position: absolute;
	bottom: 34px;
	left: max(20px, calc((100% - var(--rk-largura)) / 2));
	display: block;
	width: 24px;
	height: 40px;
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-radius: 14px;
}

.rk-hero__rolar span {
	position: absolute;
	top: 7px;
	left: 50%;
	width: 4px;
	height: 8px;
	margin-left: -2px;
	border-radius: 2px;
	background: var(--rk-ouro);
	animation: rk-rolar 1.8s ease-in-out infinite;
}

@keyframes rk-rolar {
	0% {
		opacity: 0;
		transform: translateY(0);
	}

	30% {
		opacity: 1;
	}

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

@media (min-width: 768px) {
	.rk-hero__controles {
		right: max(20px, calc((100% - var(--rk-largura)) / 2));
		left: auto;
		transform: none;
	}
}

@media (max-width: 767px) {
	.rk-hero {
		align-items: flex-end;
		padding-block: calc(var(--rk-header-h) + 72px) 110px;
	}

	.rk-hero__slides::after {
		background: linear-gradient(0deg, rgba(17, 22, 27, 0.96) 0%, rgba(17, 22, 27, 0.8) 50%, rgba(17, 22, 27, 0.25) 100%);
	}

	.rk-hero__actions .rk-btn {
		flex: 1 1 100%;
	}

	.rk-hero__rolar {
		display: none;
	}
}

/* Faixa de números -------------------------------------------------------- */
.rk-numeros {
	background: var(--rk-ouro);
	color: var(--rk-grafite);
}

.rk-numeros__lista {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.rk-numero {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 30px 12px;
	text-align: center;
}

.rk-numero__valor {
	font-family: var(--rk-font-titulo);
	font-size: clamp(2.1rem, 1.6rem + 1.6vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
}

.rk-numero__rotulo {
	margin-top: 10px;
	font-family: var(--rk-font-titulo);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

@media (max-width: 599px) {
	.rk-numero:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

@media (min-width: 600px) {
	.rk-numeros__lista {
		grid-template-columns: repeat(var(--rk-cols, 3), 1fr);
	}

	.rk-numero {
		padding: 44px 16px;
	}

	.rk-numero + .rk-numero {
		border-left: 1px solid rgba(27, 34, 42, 0.18);
	}
}

/* Onde estamos ------------------------------------------------------------ */
.rk-unidades__grid {
	display: grid;
	gap: 32px;
	align-items: center;
}

.rk-mapa {
	padding: clamp(24px, 4vw, 40px);
	border-radius: 28px;
	background: var(--rk-claro);
}

.rk-mapa__svg {
	display: block;
	width: 100%;
	max-width: 520px;
	height: auto;
	margin-inline: auto;
	overflow: visible;
}

.rk-mapa__uf {
	fill: #e4dfd4;
	stroke: var(--rk-claro);
	stroke-width: 1.4;
	stroke-linejoin: round;
}

.rk-mapa__uf.is-ativa {
	fill: var(--rk-grafite);
}

.rk-mapa__sigla,
.rk-mapa__tipo {
	font-family: var(--rk-font-titulo);
	text-anchor: middle;
}

.rk-mapa__sigla {
	fill: var(--rk-ouro);
	font-size: 19px;
	font-weight: 700;
}

.rk-mapa__tipo {
	fill: #e3e6ea;
	font-size: 8.5px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

@media (max-width: 599px) {
	.rk-mapa__sigla {
		font-size: 26px;
	}

	.rk-mapa__tipo {
		display: none;
	}
}

.rk-mapa__legenda {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 18px;
	color: var(--rk-texto-suave);
	font-size: 0.84rem;
}

.rk-mapa__legenda span {
	width: 14px;
	height: 14px;
	border-radius: 4px;
	background: var(--rk-grafite);
}

.rk-unidades__lista {
	display: grid;
	gap: 14px;
}

.rk-unidade {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 18px;
	align-items: start;
	padding: 20px 22px;
	border: 1px solid var(--rk-borda);
	border-radius: var(--rk-raio);
	background: #fff;
	transition: box-shadow 0.25s, border-color 0.25s;
}

.rk-unidade:hover {
	border-color: transparent;
	box-shadow: var(--rk-sombra);
}

.rk-unidade__uf {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: var(--rk-grafite);
	color: var(--rk-ouro);
	font-family: var(--rk-font-titulo);
	font-size: 1.25rem;
	font-weight: 700;
}

.rk-unidade__tipo {
	margin: 0;
	color: var(--rk-ouro-texto);
	font-family: var(--rk-font-titulo);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rk-unidade__local {
	margin: 2px 0 0;
	font-size: 1.08rem;
}

.rk-unidade__endereco,
.rk-unidade__cnpj {
	margin: 6px 0 0;
	color: var(--rk-texto-suave);
	font-size: 0.88rem;
}

.rk-unidade__links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	margin: 10px 0 0;
}

.rk-unidade__links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--rk-ouro-texto);
	font-family: var(--rk-font-titulo);
	font-size: 0.86rem;
	font-weight: 600;
	text-decoration: none;
}

.rk-unidade__links a:hover {
	text-decoration: underline;
}

.rk-unidade__links .rk-icon {
	width: 16px;
	height: 16px;
}

@media (min-width: 992px) {
	.rk-unidades__grid {
		grid-template-columns: 1.1fr 0.9fr;
		gap: 48px;
	}
}

/* Faixa de palavras em movimento ----------------------------------------- */
.rk-faixa {
	overflow: hidden;
	padding-block: 22px;
	background: var(--rk-grafite);
	color: #fff;
}

.rk-faixa__trilho {
	display: flex;
	width: max-content;
	animation: rk-faixa 45s linear infinite;
}

.rk-faixa:hover .rk-faixa__trilho {
	animation-play-state: paused;
}

.rk-faixa__lista {
	display: flex;
	flex-shrink: 0;
}

.rk-faixa__lista li {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding-inline: 28px;
	font-family: var(--rk-font-titulo);
	font-size: 0.98rem;
	font-weight: 500;
	white-space: nowrap;
}

.rk-faixa__lista .rk-icon {
	width: 20px;
	height: 20px;
	color: var(--rk-ouro);
}

@keyframes rk-faixa {
	to {
		transform: translateX(-50%);
	}
}

/* Quem somos -------------------------------------------------------------- */
.rk-sobre {
	background: var(--rk-claro);
}

.rk-sobre__grid {
	display: grid;
	gap: 56px;
	align-items: center;
}

.rk-sobre .rk-head {
	margin-bottom: 28px;
}

.rk-prosa p {
	color: var(--rk-texto-suave);
}

.rk-prosa p:first-child {
	color: var(--rk-texto);
	font-size: 1.04rem;
}

.rk-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
}

.rk-chips li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border: 1px solid var(--rk-borda);
	border-radius: 999px;
	background: #fff;
	font-family: var(--rk-font-titulo);
	font-size: 0.84rem;
	font-weight: 500;
}

.rk-chips .rk-icon {
	width: 16px;
	height: 16px;
	color: var(--rk-ouro-realce);
}

.rk-sobre__foto {
	position: relative;
	width: 100%;
	max-width: 540px;
	margin-inline: auto;
	aspect-ratio: 4 / 5;
}

.rk-sobre__img {
	width: 100%;
	height: 100%;
	border-radius: 28px;
	object-fit: cover;
}

.rk-sobre__selo {
	position: absolute;
	top: 28px;
	left: -14px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 14px 20px;
	border-radius: 18px;
	background: var(--rk-ouro);
	box-shadow: 0 14px 30px rgba(27, 34, 42, 0.25);
	color: var(--rk-grafite);
	font-family: var(--rk-font-titulo);
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
}

.rk-sobre__selo small {
	margin-bottom: 4px;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

@media (min-width: 992px) {
	.rk-sobre__grid {
		grid-template-columns: 1.05fr 0.95fr;
		gap: 80px;
	}
}

/* Linha do tempo */
.rk-trajeto {
	margin-top: clamp(72px, 9vw, 104px);
}

.rk-trajeto__titulo {
	margin-bottom: 36px;
	font-size: 1.25rem;
}

.rk-trajeto__lista {
	position: relative;
	display: grid;
	gap: 32px;
	padding-left: 40px;
}

.rk-trajeto__lista::before {
	content: "";
	position: absolute;
	top: 6px;
	bottom: 6px;
	left: 10px;
	width: 2px;
	background: #ddd8cd;
}

.rk-marco {
	position: relative;
}

.rk-marco::before {
	content: "";
	position: absolute;
	top: 4px;
	left: -38px;
	width: 18px;
	height: 18px;
	border: 4px solid var(--rk-claro);
	border-radius: 50%;
	background: var(--rk-ouro);
	box-shadow: 0 0 0 2px var(--rk-ouro);
}

.rk-marco__ano {
	display: inline-block;
	margin-bottom: 10px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--rk-grafite);
	color: var(--rk-ouro);
	font-family: var(--rk-font-titulo);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rk-marco__titulo {
	margin-bottom: 6px;
	font-size: 1.04rem;
}

.rk-marco__texto {
	margin: 0;
	color: var(--rk-texto-suave);
	font-size: 0.9rem;
	line-height: 1.6;
}

@media (min-width: 900px) {
	.rk-trajeto__lista {
		grid-template-columns: repeat(var(--rk-cols, 4), 1fr);
		gap: 36px;
		padding: 34px 0 0;
	}

	.rk-trajeto__lista::before {
		top: 8px;
		right: 0;
		bottom: auto;
		left: 0;
		width: auto;
		height: 2px;
	}

	.rk-marco::before {
		top: -34px;
		left: 0;
	}
}

/* Cartões (serviços e propósito) ----------------------------------------- */
.rk-cartoes {
	display: grid;
	gap: 20px;
	perspective: 1200px;
}

.rk-cartao {
	padding: 30px;
	border: 1px solid var(--rk-borda);
	border-radius: var(--rk-raio);
	background: #fff;
	transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s, opacity 0.7s;
}

.rk-cartao:hover {
	border-color: transparent;
	box-shadow: var(--rk-sombra);
	transform: translateY(-4px);
}

.rk-cartao__icone {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin-bottom: 22px;
	border-radius: 16px;
	background: var(--rk-ouro-claro);
	color: var(--rk-ouro-realce);
}

.rk-cartao__icone .rk-icon {
	width: 26px;
	height: 26px;
}

.rk-cartao__titulo {
	margin-bottom: 8px;
	font-size: 1.1rem;
}

.rk-cartao__texto,
.rk-cartao__texto p {
	margin: 0;
	color: var(--rk-texto-suave);
	font-size: 0.92rem;
	line-height: 1.65;
}

@media (min-width: 640px) {
	.rk-cartoes {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	.rk-cartoes {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}
}

/* Variante escura */
.rk-cartoes--escuro .rk-cartao {
	border-color: rgba(255, 255, 255, 0.09);
	background: rgba(255, 255, 255, 0.04);
}

.rk-cartoes--escuro .rk-cartao:hover {
	border-color: rgba(236, 181, 98, 0.4);
	box-shadow: none;
}

.rk-cartoes--escuro .rk-cartao__icone {
	background: rgba(236, 181, 98, 0.12);
	color: var(--rk-ouro);
}

.rk-cartoes--escuro .rk-cartao__texto,
.rk-cartoes--escuro .rk-cartao__texto p {
	color: var(--rk-texto-claro);
}

@media (min-width: 900px) {
	.rk-cartoes--escuro {
		grid-template-columns: repeat(var(--rk-cols, 3), 1fr);
	}
}

/* Como trabalhamos -------------------------------------------------------- */
.rk-como {
	background: var(--rk-claro);
}

.rk-etapas {
	position: relative;
	perspective: 1200px;
	display: grid;
	gap: 36px;
	padding-left: 88px;
}

/* Linha ligando as etapas */
.rk-etapas::before {
	content: "";
	position: absolute;
	top: 32px;
	bottom: 32px;
	left: 31px;
	width: 2px;
	background: repeating-linear-gradient(180deg, #d6d0c3 0 8px, transparent 8px 16px);
}

.rk-etapa {
	position: relative;
}

.rk-etapa__num {
	position: absolute;
	top: -8px;
	left: -88px;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border: 2px solid var(--rk-ouro);
	border-radius: 50%;
	background: #fff;
	color: var(--rk-grafite);
	font-family: var(--rk-font-titulo);
	font-size: 1.04rem;
	font-weight: 700;
}

.rk-etapa__titulo {
	margin-bottom: 8px;
	font-size: 1.08rem;
}

.rk-etapa__texto {
	margin: 0;
	color: var(--rk-texto-suave);
	font-size: 0.92rem;
}

@media (min-width: 900px) {
	.rk-etapas {
		grid-template-columns: repeat(var(--rk-cols, 4), 1fr);
		gap: 32px;
		padding: 0;
		text-align: center;
	}

	.rk-etapas::before {
		top: 32px;
		right: 12.5%;
		bottom: auto;
		left: 12.5%;
		width: auto;
		height: 2px;
		background: repeating-linear-gradient(90deg, #d6d0c3 0 8px, transparent 8px 16px);
	}

	.rk-etapa__num {
		position: relative;
		top: 0;
		left: 0;
		margin: 0 auto 24px;
	}
}

/* Propósito --------------------------------------------------------------- */
.rk-proposito {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.rk-proposito::before {
	content: "";
	position: absolute;
	top: -240px;
	left: 50%;
	z-index: -1;
	width: 900px;
	height: 480px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(236, 181, 98, 0.14), transparent);
	transform: translateX(-50%);
}

/* Parceiros e segmentos atendidos ------------------------------------------ */
.rk-parceiros {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}

.rk-parceiro {
	position: relative;
	display: grid;
	place-items: center;
	width: 210px;
	height: 130px;
	padding: 16px;
	border: 1px solid var(--rk-borda);
	border-radius: var(--rk-raio);
	background: #fff;
	text-decoration: none;
	transition: box-shadow 0.25s, border-color 0.25s;
}

.rk-parceiro:hover {
	border-color: transparent;
	box-shadow: var(--rk-sombra);
}

.rk-parceiro img {
	width: auto;
	max-width: 100%;
	max-height: 98px;
	border-radius: 10px;
	object-fit: contain;
}

.rk-parceiro__nome {
	font-family: var(--rk-font-titulo);
	font-size: 1.05rem;
	font-weight: 600;
	text-align: center;
}

/* Com muitos logos, eles passam em movimento contínuo. */
.rk-parceiros-wrap--rolando {
	overflow: hidden;
	padding-block: 12px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.rk-parceiros__trilho {
	display: flex;
	width: max-content;
	animation: rk-faixa 40s linear infinite;
}

.rk-parceiros-wrap--rolando:hover .rk-parceiros__trilho {
	animation-play-state: paused;
}

.rk-parceiros-wrap--rolando .rk-parceiros {
	flex-wrap: nowrap;
	padding-right: 20px;
}

.rk-segmentos__titulo {
	margin: 56px 0 20px;
	color: var(--rk-texto-suave);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-align: center;
	text-transform: uppercase;
}

.rk-segmentos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.rk-segmento {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 18px 7px 7px;
	border: 1px solid var(--rk-borda);
	border-radius: 999px;
	background: #fff;
	font-family: var(--rk-font-titulo);
	font-size: 0.88rem;
	font-weight: 500;
	transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
}

.rk-segmento:hover {
	border-color: var(--rk-ouro);
	box-shadow: 0 10px 24px rgba(27, 34, 42, 0.08);
	transform: translateY(-3px);
}

.rk-segmento__icone {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--rk-ouro-claro);
	color: var(--rk-ouro-texto);
	transition: background-color 0.25s, color 0.25s;
}

.rk-segmento:hover .rk-segmento__icone {
	background: var(--rk-ouro);
	color: var(--rk-grafite);
}

.rk-segmento__icone .rk-icon {
	width: 18px;
	height: 18px;
}

.rk-segmentos__nota {
	margin: 26px 0 0;
	color: var(--rk-texto-suave);
	font-size: 0.88rem;
	font-style: italic;
	text-align: center;
}

.rk-segmentos__nota a {
	color: var(--rk-ouro-texto);
	font-weight: 700;
}

/* Avaliações de clientes --------------------------------------------------- */
.rk-avaliacoes {
	background: var(--rk-claro);
}

.rk-avaliacoes__aviso {
	max-width: 720px;
	margin: -12px auto 32px;
	padding: 12px 18px;
	border: 1px dashed var(--rk-ouro-realce);
	border-radius: 14px;
	background: var(--rk-ouro-claro);
	color: var(--rk-ouro-texto);
	font-size: 0.85rem;
	text-align: center;
}

.rk-avaliacoes__nota {
	display: flex;
	align-items: center;
	gap: 14px;
	width: max-content;
	max-width: 100%;
	margin: -12px auto 32px;
	padding: 12px 22px;
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--rk-sombra);
}

.rk-avaliacoes__nota strong {
	margin-right: 6px;
	font-family: var(--rk-font-titulo);
	font-size: 1.6rem;
	line-height: 1;
}

.rk-avaliacoes__nota .rk-estrelas {
	display: inline-flex;
}

.rk-avaliacoes__nota small {
	display: block;
	margin-top: 2px;
	color: var(--rk-texto-suave);
	font-size: 0.78rem;
}

.rk-avaliacoes__google,
.rk-avaliacao__google {
	color: #4285f4;
}

.rk-avaliacoes__google {
	width: 34px;
	height: 34px;
}

.rk-estrelas {
	display: flex;
	gap: 2px;
	margin: 0;
	color: #f5b301;
}

.rk-estrelas .rk-icon {
	width: 16px;
	height: 16px;
}

.rk-estrelas .is-vazia {
	color: #d9d4c8;
}

.rk-carrossel {
	position: relative;
}

.rk-carrossel__trilho {
	display: grid;
	grid-auto-columns: 100%;
	grid-auto-flow: column;
	gap: 20px;
	margin-inline: -6px;
	padding: 14px 6px 28px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.rk-carrossel__trilho::-webkit-scrollbar {
	display: none;
}

.rk-carrossel__item {
	display: flex;
	scroll-snap-align: start;
}

.rk-avaliacao {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
	padding: 26px;
	border: 1px solid var(--rk-borda);
	border-radius: var(--rk-raio);
	background: #fff;
	transition: border-color 0.25s, box-shadow 0.25s;
}

.rk-avaliacao:hover {
	border-color: transparent;
	box-shadow: var(--rk-sombra);
}

.rk-avaliacao::before {
	content: "\201D";
	position: absolute;
	right: 22px;
	bottom: -22px;
	color: var(--rk-ouro);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 5rem;
	line-height: 1;
	opacity: 0.25;
}

.rk-avaliacao--exemplo {
	border-style: dashed;
	border-color: #d8cfbd;
}

.rk-avaliacao__autor {
	display: flex;
	align-items: center;
	gap: 12px;
}

.rk-avaliacao__avatar {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--rk-grafite);
	color: var(--rk-ouro);
	font-family: var(--rk-font-titulo);
	font-size: 1.05rem;
	font-weight: 700;
}

.rk-avaliacao__nome {
	margin: 0;
	font-size: 0.98rem;
}

.rk-avaliacao__empresa {
	margin: 0;
	color: var(--rk-texto-suave);
	font-size: 0.8rem;
}

.rk-avaliacao__google {
	align-self: flex-start;
	width: 20px;
	height: 20px;
	margin-left: auto;
}

.rk-avaliacao__texto {
	margin: 0;
	color: #3a404b;
	font-size: 0.92rem;
	font-style: italic;
}

.rk-avaliacao__texto p {
	margin: 0;
}

.rk-avaliacao__tag {
	position: absolute;
	top: -10px;
	left: 22px;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--rk-ouro);
	color: var(--rk-grafite);
	font-family: var(--rk-font-titulo);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.rk-carrossel__seta {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-top: -36px;
	padding: 0;
	border: 1px solid var(--rk-borda);
	border-radius: 50%;
	background: #fff;
	box-shadow: var(--rk-sombra);
	color: var(--rk-grafite);
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}

.rk-carrossel__seta:hover {
	border-color: var(--rk-ouro);
	background: var(--rk-ouro);
}

.rk-carrossel__seta .rk-icon {
	width: 18px;
	height: 18px;
}

.rk-carrossel__seta--anterior {
	left: -10px;
}

.rk-carrossel__seta--proxima {
	right: -10px;
}

.rk-carrossel__pontos {
	display: flex;
	justify-content: center;
	gap: 8px;
}

.rk-carrossel__pontos button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #d6d1c6;
	cursor: pointer;
	transition: width 0.3s, background-color 0.3s;
}

.rk-carrossel__pontos button.is-ativo {
	width: 26px;
	background: var(--rk-ouro-realce);
}

.rk-carrossel.is-estatico .rk-carrossel__seta,
.rk-carrossel.is-estatico .rk-carrossel__pontos {
	display: none;
}

.rk-avaliacoes__mais {
	margin: 28px 0 0;
	text-align: center;
}

@media (min-width: 700px) {
	.rk-carrossel__trilho {
		grid-auto-columns: calc((100% - 20px) / 2);
	}
}

@media (min-width: 1024px) {
	.rk-carrossel__trilho {
		grid-auto-columns: calc((100% - 40px) / 3);
	}
}

@media (min-width: 1300px) {
	.rk-carrossel__seta--anterior {
		left: -60px;
	}

	.rk-carrossel__seta--proxima {
		right: -60px;
	}
}

/* Contato (chamada final) e rodapé, no mesmo fundo escuro ------------------ */
.rk-contato,
.rk-footer {
	background: var(--rk-escuro);
	color: var(--rk-texto-claro);
}

.rk-contato {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: #fff;
}

.rk-contato::before {
	content: "";
	position: absolute;
	top: -260px;
	left: 50%;
	z-index: -1;
	width: 1000px;
	height: 560px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(236, 181, 98, 0.16), transparent);
	transform: translateX(-50%);
}

.rk-contato .rk-head {
	margin-bottom: 36px;
}

.rk-contato__acoes {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}

.rk-contato__extras {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 32px;
	margin-top: 32px;
	color: var(--rk-texto-claro);
	font-size: 0.9rem;
}

.rk-contato__extras li {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.rk-contato__extras .rk-icon {
	width: 18px;
	height: 18px;
	color: var(--rk-ouro);
}

.rk-contato__extras a {
	text-decoration: none;
}

.rk-contato__extras a:hover {
	color: var(--rk-ouro);
}

@media (max-width: 479px) {
	.rk-contato__acoes .rk-btn {
		flex: 1 1 100%;
	}
}

.rk-footer {
	font-size: 0.9rem;
}

.rk-footer__grid {
	display: grid;
	gap: 40px;
	padding-block: 56px 48px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rk-footer__logo {
	display: inline-block;
	margin-bottom: 18px;
}

.rk-footer__logo-img {
	width: auto;
	height: 52px;
}

.rk-footer__titulo {
	margin-bottom: 18px;
	color: var(--rk-ouro);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.rk-footer a {
	text-decoration: none;
}

.rk-footer a:hover {
	color: var(--rk-ouro);
}

.rk-footer__links a.is-active {
	color: var(--rk-ouro);
}

.rk-footer__links li + li,
.rk-footer__unidades li + li {
	margin-top: 12px;
}

.rk-footer__contato li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.rk-footer__contato li + li {
	margin-top: 12px;
}

.rk-footer__contato .rk-icon {
	width: 17px;
	height: 17px;
	margin-top: 4px;
	color: var(--rk-ouro);
}

.rk-footer__razao {
	margin-bottom: 14px;
	color: #fff;
	font-weight: 700;
}

.rk-footer__unidades strong,
.rk-footer__rntrc strong {
	color: #fff;
	font-weight: 700;
}

.rk-footer__unidades span {
	display: block;
	font-size: 0.9rem;
}

.rk-footer__rntrc {
	margin: 16px 0 0;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rk-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 0.82rem;
}

.rk-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	padding-block: 22px;
}

.rk-footer__bottom p {
	margin: 0;
}

/* Espaço para o botão flutuante do WhatsApp não cobrir o texto. */
@media (max-width: 639px) {
	.rk-footer__bottom-inner {
		padding-right: 76px;
	}
}

.rk-footer__bottom-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}

.rk-footer__top {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.rk-footer__top .rk-icon {
	width: 15px;
	height: 15px;
}

@media (min-width: 640px) {
	.rk-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	.rk-footer__grid {
		grid-template-columns: 1.4fr 1fr 1.2fr 1.2fr;
		gap: 48px;
	}
}

/* Botão flutuante do WhatsApp (com rótulo no computador) ------------------ */
.rk-whats {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	display: flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	text-decoration: none;
}

.rk-whats__icone {
	position: relative;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--rk-whats);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	transition: transform 0.2s;
}

/* Onda que sai do botão, chamando a atenção sem piscar. */
.rk-whats__icone::before {
	content: "";
	position: absolute;
	inset: 0;
	border: 2px solid var(--rk-whats);
	border-radius: 50%;
	animation: rk-onda 2.4s ease-out infinite;
}

@keyframes rk-onda {
	from {
		opacity: 0.6;
		transform: scale(1);
	}

	to {
		opacity: 0;
		transform: scale(1.6);
	}
}

.rk-whats:hover .rk-whats__icone {
	transform: scale(1.06);
}

.rk-whats .rk-icon {
	width: 30px;
	height: 30px;
}

.rk-whats__rotulo {
	display: none;
	align-items: center;
	gap: 8px;
	padding: 8px 14px 8px 12px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	color: var(--rk-grafite);
	font-family: var(--rk-font-titulo);
	font-size: 0.72rem;
	font-weight: 600;
	white-space: nowrap;
}

.rk-whats__rotulo::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--rk-online);
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2);
}

@media (min-width: 768px) {
	.rk-whats__rotulo {
		display: inline-flex;
	}
}

/* Entrada dos blocos ao rolar (só com JavaScript ativo) -------------------- */
/* Usa as propriedades translate/scale/rotate, separadas do transform da inclinação 3D. */
.rk-anima [data-revela] {
	opacity: 0;
	translate: 0 28px;
	transition: opacity 0.8s ease, translate 0.8s cubic-bezier(0.2, 0.75, 0.25, 1), scale 0.8s cubic-bezier(0.2, 0.75, 0.25, 1), rotate 0.8s cubic-bezier(0.2, 0.75, 0.25, 1);
}

.rk-anima [data-revela="esquerda"] {
	translate: -48px 0;
}

.rk-anima [data-revela="direita"] {
	translate: 48px 0;
}

.rk-anima [data-revela="zoom"] {
	translate: none;
	scale: 0.9;
}

.rk-anima [data-revela="virar"] {
	transform-origin: 50% 100%;
	rotate: x 55deg;
}

.rk-anima [data-revela].is-visivel {
	opacity: 1;
	translate: none;
	scale: none;
	rotate: none;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.rk-anima [data-revela] {
		opacity: 1;
		translate: none;
		scale: none;
		rotate: none;
	}

	.rk-faixa__trilho,
	.rk-parceiros__trilho {
		animation: none;
	}
}

/* Páginas internas -------------------------------------------------------- */
.rk-page {
	padding-block: clamp(48px, 7vw, 88px);
}

.rk-page__title {
	margin-bottom: 28px;
	font-size: clamp(2rem, 1.4rem + 2.2vw, 2.8rem);
	font-weight: 600;
	letter-spacing: -0.02em;
}

.rk-content {
	color: #3a404b;
}

.rk-content ul,
.rk-content ol {
	margin: 0 0 1em;
	padding-left: 1.4em;
	list-style: revert;
}

.rk-content h2,
.rk-content h3 {
	margin-top: 1.6em;
}

.rk-content a {
	color: var(--rk-ouro-texto);
}

/* Topo das páginas internas ------------------------------------------------ */
.rk-pagina-topo {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: calc(var(--rk-header-h) + clamp(56px, 8vw, 104px)) clamp(56px, 7vw, 92px);
	background: var(--rk-escuro);
	color: #fff;
}

.rk-pagina-topo__media {
	position: absolute;
	inset: -3%;
	z-index: -2;
	transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.rk-pagina-topo__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation: rk-aproxima 14s ease-out forwards;
}

.rk-pagina-topo__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(0deg, rgba(17, 22, 27, 0.85) 0%, rgba(17, 22, 27, 0) 55%),
		linear-gradient(90deg, rgba(17, 22, 27, 0.94) 0%, rgba(17, 22, 27, 0.75) 50%, rgba(17, 22, 27, 0.5) 100%);
}

/* Com vídeo, o escurecimento é mais leve para a cena aparecer. */
.rk-pagina-topo__media--video::after {
	background:
		linear-gradient(0deg, rgba(17, 22, 27, 0.8) 0%, rgba(17, 22, 27, 0) 50%),
		linear-gradient(90deg, rgba(17, 22, 27, 0.9) 0%, rgba(17, 22, 27, 0.6) 45%, rgba(17, 22, 27, 0.15) 85%);
}

.rk-pagina-topo .rk-hero__controles {
	bottom: 24px;
}

@media (max-width: 767px) {
	.rk-pagina-topo:has(.rk-hero__controles) {
		padding-bottom: 104px;
	}
}

.rk-pagina-topo__inner {
	transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.rk-trilha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 22px;
	color: var(--rk-texto-claro);
	font-size: 0.82rem;
}

.rk-trilha a {
	color: #fff;
	text-decoration: none;
}

.rk-trilha a:hover {
	color: var(--rk-ouro);
}

.rk-trilha .rk-icon {
	width: 14px;
	height: 14px;
	color: var(--rk-ouro);
}

.rk-pagina-topo__titulo {
	max-width: 780px;
	margin-bottom: 16px;
	font-size: clamp(1.9rem, 1.25rem + 2.5vw, 3.1rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.035em;
}

.rk-pagina-topo__texto {
	max-width: 600px;
	margin: 0;
	color: #dfe3e8;
	font-size: 1.02rem;
}

.rk-page-extra {
	padding-top: 0;
}

/* Página de contato: canais, unidades e dados da empresa ------------------- */
.rk-canais__grid {
	display: grid;
	gap: 40px;
}

.rk-canais .rk-head {
	margin-bottom: 32px;
}

.rk-canais__lista {
	display: grid;
	gap: 14px;
}

.rk-canal {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 20px;
	border: 1px solid var(--rk-borda);
	border-radius: var(--rk-raio);
	background: #fff;
	transition: border-color 0.25s, box-shadow 0.25s;
}

.rk-canal:hover {
	border-color: transparent;
	box-shadow: var(--rk-sombra);
}

.rk-canal__icone {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: var(--rk-grafite);
	color: var(--rk-ouro);
}

.rk-canal__icone .rk-icon {
	width: 20px;
	height: 20px;
}

.rk-canal--whats .rk-canal__icone {
	background: var(--rk-whats);
	color: #fff;
}

.rk-canal__corpo {
	min-width: 0;
}

.rk-canal__rotulo {
	margin: 0 0 2px;
	color: var(--rk-ouro-texto);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rk-canal__valor {
	margin: 0;
	color: var(--rk-grafite);
	font-family: var(--rk-font-titulo);
	font-size: 0.98rem;
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

/* Com um único link, o cartão inteiro é clicável. */
.rk-canal--link a.rk-canal__valor::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

a.rk-canal__valor {
	display: block;
}

a.rk-canal__valor:hover {
	color: var(--rk-ouro-realce);
}

.rk-canal__extra {
	margin: 2px 0 0;
	color: var(--rk-texto-suave);
	font-size: 0.82rem;
}

.rk-canais__social {
	margin-top: 32px;
}

.rk-canais__subtitulo {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rk-canais__subtitulo .rk-icon {
	width: 17px;
	height: 17px;
}

.rk-social--claro {
	margin-top: 0;
}

.rk-social--claro a {
	border-color: var(--rk-borda);
	color: var(--rk-grafite);
}

.rk-canais__cartao {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 28px;
	border-radius: 24px;
	background: var(--rk-grafite);
	color: var(--rk-texto-claro);
}

.rk-canais__cartao::before {
	content: "";
	position: absolute;
	top: -140px;
	right: -140px;
	z-index: -1;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(236, 181, 98, 0.18), transparent);
}

.rk-canais__cartao .rk-canais__subtitulo {
	color: var(--rk-ouro);
}

.rk-canais__unidades li {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 14px;
	padding-block: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rk-canais__unidades li:first-child {
	padding-top: 4px;
	border-top: 0;
}

.rk-canais__unidades .rk-unidade__uf {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.07);
	font-size: 1.02rem;
}

.rk-canais__unidades .rk-unidade__tipo,
.rk-canais__unidades .rk-unidade__links a {
	color: var(--rk-ouro);
}

.rk-canais__local {
	margin: 0;
	color: #fff;
	font-family: var(--rk-font-titulo);
	font-size: 1rem;
	font-weight: 600;
}

.rk-canais__info {
	margin: 4px 0 0;
	font-size: 0.85rem;
}

.rk-canais__empresa {
	display: flex;
	gap: 14px;
	margin-top: 16px;
	padding: 22px;
	border: 1px solid var(--rk-borda);
	border-radius: var(--rk-raio);
	background: var(--rk-claro);
}

.rk-canais__razao {
	margin: 0 0 4px;
	font-family: var(--rk-font-titulo);
	font-weight: 600;
}

.rk-canais__empresa .rk-canais__info {
	color: var(--rk-texto-suave);
}

.rk-canais__empresa strong {
	color: var(--rk-grafite);
}

@media (min-width: 600px) {
	.rk-canais__lista {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	.rk-canais__grid {
		grid-template-columns: 1.15fr 0.85fr;
		gap: 56px;
		align-items: start;
	}
}

/* Perguntas frequentes ----------------------------------------------------- */
.rk-faq {
	background: var(--rk-claro);
}

.rk-faq__grid {
	display: grid;
	gap: 36px;
}

.rk-faq .rk-head {
	margin-bottom: 28px;
}

.rk-faq__lista {
	display: grid;
	gap: 12px;
}

.rk-faq__item {
	border: 1px solid var(--rk-borda);
	border-radius: 18px;
	background: #fff;
	transition: border-color 0.25s, box-shadow 0.25s;
}

.rk-faq__item[open] {
	border-color: transparent;
	box-shadow: var(--rk-sombra);
}

.rk-faq__pergunta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 22px;
	font-family: var(--rk-font-titulo);
	font-size: 0.96rem;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}

.rk-faq__pergunta::-webkit-details-marker {
	display: none;
}

.rk-faq__pergunta .rk-icon {
	width: 30px;
	height: 30px;
	padding: 6px;
	border-radius: 50%;
	background: var(--rk-ouro-claro);
	color: var(--rk-ouro-texto);
	transition: transform 0.3s, background-color 0.3s, color 0.3s;
}

.rk-faq__item[open] .rk-faq__pergunta .rk-icon {
	background: var(--rk-ouro);
	color: var(--rk-grafite);
	transform: rotate(45deg);
}

.rk-faq__resposta {
	padding: 0 22px 20px;
	color: var(--rk-texto-suave);
	font-size: 0.92rem;
}

.rk-faq__resposta p:last-child {
	margin: 0;
}

.rk-faq__item[open] .rk-faq__resposta {
	animation: rk-abre 0.4s ease;
}

@keyframes rk-abre {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@media (min-width: 992px) {
	.rk-faq__grid {
		grid-template-columns: 0.8fr 1.2fr;
		gap: 64px;
		align-items: start;
	}

	.rk-faq__intro {
		position: sticky;
		top: calc(var(--rk-header-h) + 32px);
	}
}

/* Mapa: pulso dourado sobre os estados com unidade ------------------------- */
.rk-mapa__pulso {
	fill: var(--rk-ouro);
	opacity: 0;
	transform-box: fill-box;
	transform-origin: center;
	animation: rk-pulso 2.8s ease-out infinite;
}

.rk-mapa__pulso:nth-of-type(2) {
	animation-delay: 0.9s;
}

.rk-mapa__pulso:nth-of-type(3) {
	animation-delay: 1.8s;
}

@keyframes rk-pulso {
	0% {
		opacity: 0.5;
		transform: scale(0.4);
	}

	100% {
		opacity: 0;
		transform: scale(2.4);
	}
}

/* Texto com uma luz dourada passando (rodapé) ------------------------------ */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.rk-brilho-texto {
		background-image: linear-gradient(100deg, rgba(201, 206, 214, 0.75) 35%, var(--rk-ouro) 50%, rgba(201, 206, 214, 0.75) 65%);
		background-size: 250% 100%;
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		animation: rk-brilho 5s linear infinite;
	}
}

/* ==========================================================================
   Efeitos
   ========================================================================== */

/* Tela de carregamento ----------------------------------------------------- */
.rk-carregando {
	display: none;
}

.rk-js .rk-carregando {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 30px;
	background: radial-gradient(ellipse at center, #26303a 0%, var(--rk-escuro) 70%);
	transition: opacity 0.7s ease, visibility 0.7s ease;
}

.rk-pronto .rk-carregando {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.rk-js:not(.rk-pronto) .rk-com-carregamento {
	overflow: hidden;
}

.rk-carregando__marca {
	position: relative;
	width: min(300px, 62vw);
	perspective: 800px;
	animation: rk-logo-entra 1.2s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* Halo pulsando atrás do logo. */
.rk-carregando__marca::before {
	content: "";
	position: absolute;
	inset: -30%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(236, 181, 98, 0.35) 0%, rgba(236, 181, 98, 0.08) 45%, transparent 70%);
	filter: blur(12px);
	animation: rk-halo 2.6s ease-in-out infinite;
}

/* Brilho recortado no formato do logo. */
.rk-carregando__marca::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, transparent 40%, rgba(255, 255, 255, 0.85) 50%, transparent 60%);
	background-size: 250% 100%;
	-webkit-mask: var(--rk-logo) center / contain no-repeat;
	mask: var(--rk-logo) center / contain no-repeat;
	animation: rk-brilho 1.8s linear 0.6s infinite;
}

.rk-carregando__logo {
	position: relative;
	width: 100%;
	height: auto;
}

.rk-revisita .rk-carregando__marca {
	animation-duration: 0.5s;
}

@keyframes rk-logo-entra {
	from {
		opacity: 0;
		transform: translateY(26px) scale(0.85) rotateX(45deg);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes rk-halo {
	50% {
		opacity: 0.55;
		transform: scale(1.12);
	}
}

/* Estrada tracejada que vai sendo "pavimentada" de dourado conforme carrega. */
.rk-carregando__estrada {
	--rk-largura-estrada: min(260px, 60vw);
	position: relative;
	width: var(--rk-largura-estrada);
	height: 3px;
	border-radius: 3px;
	background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.25) 0 14px, transparent 14px 26px);
}

.rk-carregando__estrada::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 3px;
	background: var(--rk-ouro);
	transform: scaleX(var(--rk-progresso, 0));
	transform-origin: left;
}

.rk-carregando__caminhao {
	position: absolute;
	bottom: 5px;
	left: 0;
	color: var(--rk-ouro);
	translate: calc(var(--rk-progresso, 0) * (var(--rk-largura-estrada) - 28px)) 0;
}

.rk-carregando__caminhao .rk-icon {
	display: block;
	width: 28px;
	height: 28px;
	animation: rk-trepida 0.3s ease-in-out infinite alternate;
}

@keyframes rk-trepida {
	to {
		transform: translateY(-1.5px) rotate(-1deg);
	}
}

.rk-carregando__pct {
	margin: 0;
	color: rgba(255, 255, 255, 0.6);
	font-family: var(--rk-font-titulo);
	font-size: 0.72rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.2em;
}

/* Cursor personalizado (só em computadores com mouse) ---------------------- */
@media (hover: hover) and (pointer: fine) {
	body.rk-com-cursor {
		cursor: url("../img/cursor/seta.svg") 4 3, auto;
	}

	body.rk-com-cursor :is(a, button, summary, label, select, [role="button"]) {
		cursor: url("../img/cursor/mao.svg") 11 3, pointer;
	}
}

/* Roda que acompanha o mouse e gira conforme ele anda. */
.rk-cursor {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10001;
	width: 38px;
	height: 38px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s;
	will-change: transform;
}

.rk-cursor.is-visivel {
	opacity: 0.9;
}

.rk-cursor svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.rk-cursor.is-grande svg {
	transform: scale(1.6);
}

.rk-cursor.is-apertado svg {
	transform: scale(0.8);
}

.rk-cursor__pneu {
	fill: none;
	stroke: rgba(27, 34, 42, 0.85);
	stroke-width: 4;
}

.rk-cursor__aro,
.rk-cursor__raios {
	fill: none;
	stroke: var(--rk-ouro);
	stroke-linecap: round;
}

.rk-cursor__aro {
	stroke-width: 2;
}

.rk-cursor__raios {
	stroke-width: 1.5;
}

.rk-cursor__cubo {
	fill: var(--rk-ouro);
}

/* Inclinação 3D dos cartões ao passar o mouse ------------------------------ */
.rk-tilt {
	position: relative;
	transform: perspective(900px) rotateX(var(--rk-rx, 0deg)) rotateY(var(--rk-ry, 0deg));
	transform-style: preserve-3d;
	transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s, border-color 0.3s;
}

.rk-tilt.is-inclinado,
.rk-tilt:hover {
	transform: perspective(900px) rotateX(var(--rk-rx, 0deg)) rotateY(var(--rk-ry, 0deg)) translateY(-4px);
}

.rk-tilt.is-inclinado {
	transition: transform 0.1s linear, box-shadow 0.3s, border-color 0.3s;
}

/* Reflexo de luz que segue o mouse. */
.rk-tilt::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(circle at var(--rk-bx, 50%) var(--rk-by, 50%), rgba(255, 255, 255, 0.35), transparent 55%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}

.rk-tilt.is-inclinado::after {
	opacity: 1;
}

.rk-escuro .rk-tilt::after,
.rk-canais__cartao.rk-tilt::after {
	background: radial-gradient(circle at var(--rk-bx, 50%) var(--rk-by, 50%), rgba(236, 181, 98, 0.16), transparent 55%);
}

/* Cartões que também entram ao rolar: soma as duas transições. */
.rk-anima .rk-tilt[data-revela] {
	transition: opacity 0.8s ease, translate 0.8s cubic-bezier(0.2, 0.75, 0.25, 1), scale 0.8s cubic-bezier(0.2, 0.75, 0.25, 1), rotate 0.8s cubic-bezier(0.2, 0.75, 0.25, 1), transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s, border-color 0.3s;
}

.rk-anima .rk-tilt[data-revela].is-inclinado {
	transition: opacity 0.8s ease, translate 0.8s cubic-bezier(0.2, 0.75, 0.25, 1), transform 0.1s linear, box-shadow 0.3s, border-color 0.3s;
}

/* ==========================================================================
   Agro, atendimento 24h e curvas de nível
   ========================================================================== */

/* Textura de curvas de nível (relevo de lavoura), usada em fundos escuros -- */
.rk-curvas {
	position: relative;
	isolation: isolate;
}

.rk-curvas::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: url("../img/curvas.svg") center / cover no-repeat;
	opacity: 0.18;
	pointer-events: none;
	-webkit-mask-image: radial-gradient(ellipse at 70% 35%, #000 15%, transparent 78%);
	mask-image: radial-gradient(ellipse at 70% 35%, #000 15%, transparent 78%);
}

/* Selo verde "online" (atendimento 24h) ----------------------------------- */
.rk-online {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px 5px 10px;
	border-radius: 999px;
	background: rgba(34, 197, 94, 0.12);
	color: #15803d;
	font-family: var(--rk-font-titulo);
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
	white-space: nowrap;
}

.rk-online__ponto {
	position: relative;
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--rk-online);
}

.rk-online__ponto::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: var(--rk-online);
	animation: rk-online 1.8s ease-out infinite;
}

@keyframes rk-online {
	from {
		opacity: 0.7;
		transform: scale(1);
	}

	to {
		opacity: 0;
		transform: scale(3);
	}
}

.rk-hero .rk-online,
.rk-footer .rk-online,
.rk-canal--24h .rk-online {
	background: rgba(74, 222, 128, 0.12);
	color: #4ade80;
}

.rk-hero__online {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin: 26px 0 0;
	color: #dfe3e8;
	font-size: 0.86rem;
}

.rk-js .rk-hero__online {
	opacity: 0;
	translate: 0 18px;
}

.rk-pronto .rk-hero__online {
	animation: rk-sobe 0.8s cubic-bezier(0.2, 0.75, 0.25, 1) 1s forwards;
}

.rk-footer .rk-online {
	margin-top: 18px;
}

/* Na chamada do rodapé, o traço da chamada vira o ponto verde de "online". */
.rk-contato--24h .rk-eyebrow::before {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--rk-online);
	box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.2);
	animation: rk-piscar-verde 2s ease-in-out infinite;
}

.rk-contato--24h .rk-head--center .rk-eyebrow::after {
	display: none;
}

@keyframes rk-piscar-verde {
	50% {
		box-shadow: 0 0 0 7px rgba(34, 197, 94, 0.05);
	}
}

/* Faixa de números flutuando sobre a borda da capa (página inicial) -------- */
.rk-numeros--flutuante {
	position: relative;
	z-index: 3;
	margin-top: -78px;
	background: none;
}

.rk-numeros--flutuante .rk-numeros__lista {
	overflow: hidden;
	border-radius: 26px;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0) 45%), var(--rk-ouro);
	box-shadow: 0 26px 60px rgba(17, 22, 27, 0.28);
}

.rk-hero:has(+ .rk-numeros--flutuante) {
	padding-bottom: 190px;
}

.rk-hero:has(+ .rk-numeros--flutuante) .rk-hero__controles,
.rk-hero:has(+ .rk-numeros--flutuante) .rk-hero__rolar {
	bottom: 112px;
}

@media (max-width: 599px) {
	.rk-numeros--flutuante .rk-numero:nth-child(n + 3) {
		border-top: 1px solid rgba(27, 34, 42, 0.14);
	}

	.rk-numeros--flutuante .rk-numero:nth-child(even) {
		border-left: 1px solid rgba(27, 34, 42, 0.14);
	}
}

@media (max-width: 767px) {
	.rk-numeros--flutuante {
		margin-top: -52px;
	}

	.rk-hero:has(+ .rk-numeros--flutuante) {
		padding-bottom: 150px;
	}

	.rk-hero:has(+ .rk-numeros--flutuante) .rk-hero__controles {
		bottom: 80px;
	}
}

/* Parceiros: logos um pouco mais compactos na faixa em movimento */
.rk-parceiros-sec .rk-head {
	margin-bottom: 36px;
}

.rk-parceiros-wrap--rolando .rk-parceiro {
	width: 196px;
	height: 116px;
}

.rk-parceiros-wrap--rolando .rk-parceiro img {
	max-height: 84px;
}

/* Trilha do agro: do plantio à colheita ------------------------------------ */
.rk-agro {
	margin-top: clamp(48px, 6vw, 72px);
	padding: clamp(32px, 5vw, 64px) clamp(22px, 4vw, 56px);
	overflow: hidden;
	border-radius: 32px;
	background: radial-gradient(ellipse at 85% 0%, rgba(236, 181, 98, 0.16), transparent 55%), var(--rk-grafite);
	color: var(--rk-texto-claro);
}

.rk-agro__head {
	max-width: 640px;
	margin-bottom: 48px;
}

.rk-agro .rk-eyebrow {
	color: var(--rk-ouro);
}

.rk-agro__titulo {
	margin: 0;
	color: #fff;
	font-size: clamp(1.55rem, 1.1rem + 1.7vw, 2.2rem);
	letter-spacing: -0.035em;
}

.rk-agro .rk-realce {
	color: var(--rk-ouro);
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.rk-agro .rk-realce {
		background-image: linear-gradient(100deg, var(--rk-ouro) 30%, #f6d08f 44%, #fff4dd 50%, #f6d08f 56%, var(--rk-ouro) 70%);
	}
}

.rk-agro__texto {
	margin: 14px 0 0;
	font-size: 0.96rem;
}

.rk-agro__trilha {
	position: relative;
	--rk-trilha: 1;
}

.rk-agro__etapas {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 30px;
}

.rk-agro__etapa {
	display: grid;
	grid-template-columns: 68px 1fr;
	column-gap: 20px;
	align-items: start;
}

.rk-agro__icone {
	display: grid;
	grid-row: span 3;
	place-items: center;
	width: 68px;
	height: 68px;
	border: 2px solid rgba(236, 181, 98, 0.35);
	border-radius: 50%;
	background: var(--rk-grafite-2);
	color: var(--rk-ouro);
	transition: background-color 0.45s, color 0.45s, border-color 0.45s, box-shadow 0.45s, transform 0.45s;
}

.rk-agro__icone .rk-icon {
	width: 30px;
	height: 30px;
}

.rk-agro__etapa.is-alcancada .rk-agro__icone {
	border-color: var(--rk-ouro);
	background: var(--rk-ouro);
	box-shadow: 0 0 0 8px rgba(236, 181, 98, 0.12);
	color: var(--rk-grafite);
	transform: scale(1.04);
}

.rk-agro__fase {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 6px;
	color: var(--rk-ouro);
	font-family: var(--rk-font-titulo);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rk-agro__fase span {
	color: rgba(255, 255, 255, 0.4);
}

.rk-agro__carga {
	margin: 0 0 8px;
	color: #fff;
	font-size: 1.1rem;
}

.rk-agro__desc {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.6;
}

/* A estrada liga os ícones; o trecho já percorrido fica dourado e o caminhão anda junto com a rolagem. */
.rk-agro__estrada {
	position: absolute;
	top: 34px;
	bottom: 40px;
	left: 32px;
	width: 4px;
	border-radius: 4px;
	background: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0 12px, transparent 12px 22px);
}

.rk-agro__asfalto {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--rk-ouro);
	transform: scaleY(var(--rk-trilha));
	transform-origin: top;
	transition: transform 0.3s linear;
}

.rk-agro__caminhao {
	position: absolute;
	top: calc(var(--rk-trilha) * 100%);
	left: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--rk-ouro);
	box-shadow: 0 0 0 6px rgba(236, 181, 98, 0.18);
	color: var(--rk-grafite);
	transform: translate(-50%, -50%) rotate(90deg);
	transition: top 0.3s linear, left 0.3s linear;
}

.rk-agro__caminhao .rk-icon {
	width: 18px;
	height: 18px;
}

@media (min-width: 900px) {
	.rk-agro__etapas {
		grid-template-columns: repeat(var(--rk-etapas, 4), 1fr);
		gap: 24px;
	}

	.rk-agro__etapa {
		display: block;
		text-align: center;
	}

	.rk-agro__icone {
		margin: 0 auto 22px;
	}

	.rk-agro__fase {
		justify-content: center;
	}

	/* Na horizontal, a estrada vai do centro da primeira etapa ao centro da última. */
	.rk-agro__estrada {
		top: 32px;
		right: auto;
		bottom: auto;
		left: calc((100% - (var(--rk-etapas, 4) - 1) * 24px) / var(--rk-etapas, 4) / 2);
		width: calc((100% + 24px) * (var(--rk-etapas, 4) - 1) / var(--rk-etapas, 4));
		height: 4px;
		background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0 14px, transparent 14px 26px);
	}

	.rk-agro__asfalto {
		transform: scaleX(var(--rk-trilha));
		transform-origin: left;
	}

	.rk-agro__caminhao {
		top: -30px;
		left: calc(var(--rk-trilha) * 100%);
		width: auto;
		height: auto;
		background: none;
		box-shadow: none;
		color: var(--rk-ouro);
		transform: translateX(-50%);
	}

	.rk-agro__caminhao .rk-icon {
		width: 30px;
		height: 30px;
		animation: rk-trepida 0.3s ease-in-out infinite alternate;
	}
}

.rk-agro__outros {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 18px;
	margin-top: 48px;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rk-agro__outros-titulo {
	margin: 0;
	color: var(--rk-ouro);
	font-family: var(--rk-font-titulo);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rk-agro .rk-segmentos {
	justify-content: flex-start;
	gap: 10px;
}

.rk-agro .rk-segmento {
	border-color: rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.05);
	color: #fff;
	font-size: 0.84rem;
}

.rk-agro .rk-segmento:hover {
	border-color: var(--rk-ouro);
	box-shadow: none;
}

.rk-agro .rk-segmento__icone {
	background: rgba(236, 181, 98, 0.14);
	color: var(--rk-ouro);
}

/* Página de contato: cartão do atendimento 24h em destaque ---------------- */
.rk-canal--horario {
	flex-wrap: wrap;
	align-items: center;
}

.rk-canal--horario .rk-online {
	margin-left: auto;
}

.rk-canal--24h {
	grid-column: 1 / -1;
	overflow: hidden;
	border-color: transparent;
	background: var(--rk-grafite);
	color: var(--rk-texto-claro);
}

.rk-canal--24h .rk-canal__icone {
	background: var(--rk-ouro);
	color: var(--rk-grafite);
}

.rk-canal--24h .rk-canal__rotulo {
	color: var(--rk-ouro);
}

.rk-canal--24h .rk-canal__valor {
	color: #fff;
	font-size: 1.04rem;
}

.rk-canal--24h .rk-canal__extra {
	color: var(--rk-texto-claro);
}

/* O trecho em destaque dos títulos quebra de linha inteiro (ex.: "O campo não para. / A gente também não."). */
.rk-head__title .rk-realce,
.rk-agro__titulo .rk-realce {
	display: inline-block;
}
