/*
 * Classes utilitarias do tema.
 *
 * Responsabilidade: oferecer utilitarios pequenos e previsiveis para
 * alinhamento, espacamento, acessibilidade e largura de conteudo.
 */

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

.rnen-flow > * + * {
	margin-block-start: var(--rnen-flow-space, var(--rnen-space-4));
}

.rnen-text-left {
	text-align: left;
}

.rnen-text-center {
	text-align: center;
}

.rnen-text-right {
	text-align: right;
}

.rnen-text-muted {
	color: var(--rnen-color-text-muted);
}

.rnen-bg-surface {
	background-color: var(--rnen-color-surface);
}

.rnen-bg-background {
	background-color: var(--rnen-color-background);
}

.rnen-w-full {
	width: 100%;
}

.rnen-mx-auto {
	margin-inline: auto;
}

.rnen-mt-0 {
	margin-block-start: var(--rnen-space-0);
}

.rnen-mb-0 {
	margin-block-end: var(--rnen-space-0);
}

.rnen-mt-4 {
	margin-block-start: var(--rnen-space-4);
}

.rnen-mb-4 {
	margin-block-end: var(--rnen-space-4);
}

.rnen-mt-8 {
	margin-block-start: var(--rnen-space-8);
}

.rnen-mb-8 {
	margin-block-end: var(--rnen-space-8);
}

.rnen-p-4 {
	padding: var(--rnen-space-4);
}

.rnen-p-6 {
	padding: var(--rnen-space-6);
}

.rnen-py-8 {
	padding-block: var(--rnen-space-8);
}

.rnen-py-12 {
	padding-block: var(--rnen-space-12);
}

/*
 * Design System refinements.
 *
 * Responsabilidade: unificar medidas visuais compartilhadas entre Home, Sobre
 * e Contato sem alterar a estrutura dos componentes.
 */

.rnen-hero-home,
.rnen-manifesto,
.rnen-processo,
.rnen-cursos,
.rnen-parceiros,
.rnen-faq,
.rnen-cta,
.rnen-sobre,
.rnen-contato {
	padding-block: var(--rnen-section-padding-y);
}

.rnen-hero-home__container,
.rnen-sobre__hero-grid,
.rnen-contato__hero-grid {
	gap: var(--rnen-space-12);
	align-items: center;
}

.rnen-hero-home__content,
.rnen-sobre__hero-content,
.rnen-contato__hero-content {
	max-width: 48rem;
}

.rnen-hero-home__title,
.rnen-sobre__hero-title,
.rnen-contato__hero-title {
	max-width: var(--rnen-hero-title-max-width);
	margin-block-end: var(--rnen-space-5);
	font-size: var(--rnen-font-size-5xl);
	line-height: var(--rnen-line-height-tight);
	letter-spacing: 0;
}

.rnen-hero-home__description,
.rnen-sobre__hero-text,
.rnen-contato__hero-text {
	max-width: var(--rnen-text-max-width);
	font-size: var(--rnen-font-size-lg);
	line-height: var(--rnen-line-height-base);
}

.rnen-hero-home__media,
.rnen-sobre__hero-media,
.rnen-contato__hero-media {
	width: 100%;
	max-width: var(--rnen-hero-media-width);
	justify-self: end;
}

.rnen-hero-home__image,
.rnen-sobre__hero-image,
.rnen-contato__hero-image {
	aspect-ratio: var(--rnen-hero-media-ratio);
	border-radius: var(--rnen-card-radius);
	box-shadow: var(--rnen-shadow-md);
}

.rnen-manifesto__title,
.rnen-processo__title,
.rnen-cursos__title,
.rnen-parceiros__title,
.rnen-faq__title,
.rnen-cta__title,
.rnen-sobre__section-title,
.rnen-sobre__cta-title,
.rnen-contato__section-title,
.rnen-contato__cta-title {
	max-width: var(--rnen-title-max-width);
	font-size: var(--rnen-font-size-4xl);
	line-height: var(--rnen-line-height-heading);
	letter-spacing: 0;
}

.rnen-manifesto__description,
.rnen-cursos__description,
.rnen-parceiros__description,
.rnen-cta__text,
.rnen-sobre__section-text,
.rnen-sobre__cta-text,
.rnen-contato__section-text,
.rnen-contato__cta-text {
	max-width: var(--rnen-text-max-width);
	font-size: var(--rnen-font-size-lg);
	line-height: var(--rnen-line-height-base);
}

.rnen-hero-home__button,
.rnen-processo__button,
.rnen-cursos__button,
.rnen-cursos__empty-button,
.rnen-cta__button,
.rnen-sobre__button,
.rnen-contato__button,
.rnen-site-header__account-link,
.rnen-site-header__mobile-account-link,
.rnen-site-header__mobile-toggle {
	min-height: var(--rnen-button-min-height);
	padding: var(--rnen-button-padding-y) var(--rnen-button-padding-x);
	font-size: var(--rnen-font-size-md);
	font-weight: var(--rnen-font-weight-semibold);
	line-height: var(--rnen-line-height-tight);
	border-radius: var(--rnen-button-radius);
	transition:
		color var(--rnen-transition-base),
		background-color var(--rnen-transition-base),
		border-color var(--rnen-transition-base),
		box-shadow var(--rnen-transition-base);
}

.rnen-hero-home__button:focus-visible,
.rnen-processo__button:focus-visible,
.rnen-cursos__button:focus-visible,
.rnen-cursos__empty-button:focus-visible,
.rnen-cta__button:focus-visible,
.rnen-sobre__button:focus-visible,
.rnen-contato__button:focus-visible,
.rnen-site-header__account-link:focus-visible,
.rnen-site-header__mobile-account-link:focus-visible,
.rnen-site-header__mobile-toggle:focus-visible {
	outline: var(--rnen-border-width) var(--rnen-border-style) var(--rnen-color-focus);
	outline-offset: var(--rnen-space-1);
}

.rnen-hero-home__button--primary,
.rnen-processo__button,
.rnen-cursos__button,
.rnen-cursos__empty-button,
.rnen-cta__button--primary,
.rnen-sobre__button--primary,
.rnen-contato__button--primary,
.rnen-site-header__account-link,
.rnen-site-header__mobile-account-link,
.rnen-site-header__mobile-toggle {
	color: var(--rnen-color-text-inverse);
	background: var(--rnen-color-primary-700);
	border-color: var(--rnen-color-primary-700);
}

.rnen-hero-home__button--primary:hover,
.rnen-hero-home__button--primary:focus-visible,
.rnen-processo__button:hover,
.rnen-processo__button:focus-visible,
.rnen-cursos__button:hover,
.rnen-cursos__button:focus-visible,
.rnen-cursos__empty-button:hover,
.rnen-cursos__empty-button:focus-visible,
.rnen-cta__button--primary:hover,
.rnen-cta__button--primary:focus-visible,
.rnen-sobre__button--primary:hover,
.rnen-sobre__button--primary:focus-visible,
.rnen-contato__button--primary:hover,
.rnen-contato__button--primary:focus-visible,
.rnen-site-header__account-link:hover,
.rnen-site-header__account-link:focus-visible,
.rnen-site-header__mobile-account-link:hover,
.rnen-site-header__mobile-account-link:focus-visible,
.rnen-site-header__mobile-toggle:hover,
.rnen-site-header__mobile-toggle:focus-visible {
	color: var(--rnen-color-text-inverse);
	background: var(--rnen-color-primary-900);
	border-color: var(--rnen-color-primary-900);
}

.rnen-hero-home__button--secondary,
.rnen-cta__button--secondary,
.rnen-sobre__button--secondary,
.rnen-contato__button--secondary {
	color: var(--rnen-color-primary-700);
	background: var(--rnen-color-neutral-0);
	border-color: var(--rnen-color-primary-700);
}

.rnen-hero-home__button--secondary:hover,
.rnen-hero-home__button--secondary:focus-visible,
.rnen-cta__button--secondary:hover,
.rnen-cta__button--secondary:focus-visible,
.rnen-sobre__button--secondary:hover,
.rnen-sobre__button--secondary:focus-visible,
.rnen-contato__button--secondary:hover,
.rnen-contato__button--secondary:focus-visible {
	color: var(--rnen-color-primary-900);
	background: var(--rnen-color-primary-50);
	border-color: var(--rnen-color-primary-900);
}

.rnen-manifesto__pillar,
.rnen-processo__card,
.rnen-cursos__card,
.rnen-cursos__empty,
.rnen-parceiros__logo,
.rnen-faq__item,
.rnen-sobre__card,
.rnen-sobre__step,
.rnen-sobre__audience-card,
.rnen-contato__card,
.rnen-contato__form-wrapper,
.rnen-contato__social-card,
.rnen-contato__map-frame,
.rnen-contato__faq-item {
	border-radius: var(--rnen-card-radius);
	box-shadow: var(--rnen-card-shadow);
}

.rnen-manifesto__pillar,
.rnen-processo__card,
.rnen-sobre__card,
.rnen-sobre__step,
.rnen-contato__card {
	padding: var(--rnen-card-padding);
}

.rnen-manifesto__icon,
.rnen-processo__icon,
.rnen-cursos__empty-icon,
.rnen-sobre__icon,
.rnen-contato__icon {
	width: 4rem;
	height: 4rem;
	margin-block-end: var(--rnen-space-5);
}

.rnen-faq__item,
.rnen-contato__faq-item {
	overflow: hidden;
}

.rnen-faq__question,
.rnen-contato__faq-question {
	min-height: 4.25rem;
	padding: var(--rnen-space-5) var(--rnen-space-12) var(--rnen-space-5) var(--rnen-space-5);
	font-size: var(--rnen-font-size-lg);
}

.rnen-faq__answer,
.rnen-contato__faq-answer {
	padding: 0 var(--rnen-space-5) var(--rnen-space-5);
}

.rnen-parceiros__logo {
	min-height: 8.5rem;
	padding: var(--rnen-space-6);
}

.rnen-parceiros__logo-image {
	max-width: 11rem;
	max-height: 4.25rem;
}

@media (max-width: 63.9375rem) {
	.rnen-hero-home,
	.rnen-manifesto,
	.rnen-processo,
	.rnen-cursos,
	.rnen-parceiros,
	.rnen-faq,
	.rnen-cta,
	.rnen-sobre,
	.rnen-contato {
		padding-block: var(--rnen-section-padding-y-tablet);
	}

	.rnen-hero-home__media,
	.rnen-sobre__hero-media,
	.rnen-contato__hero-media {
		justify-self: start;
		max-width: var(--rnen-hero-media-width);
	}

	.rnen-hero-home__title,
	.rnen-sobre__hero-title,
	.rnen-contato__hero-title {
		max-width: 21ch;
		font-size: var(--rnen-font-size-4xl);
	}
}

@media (max-width: 35.9375rem) {
	.rnen-hero-home,
	.rnen-manifesto,
	.rnen-processo,
	.rnen-cursos,
	.rnen-parceiros,
	.rnen-faq,
	.rnen-cta,
	.rnen-sobre,
	.rnen-contato {
		padding-block: var(--rnen-section-padding-y-mobile);
	}

	.rnen-hero-home__title,
	.rnen-sobre__hero-title,
	.rnen-contato__hero-title,
	.rnen-manifesto__title,
	.rnen-processo__title,
	.rnen-cursos__title,
	.rnen-parceiros__title,
	.rnen-faq__title,
	.rnen-cta__title,
	.rnen-sobre__section-title,
	.rnen-sobre__cta-title,
	.rnen-contato__section-title,
	.rnen-contato__cta-title {
		max-width: none;
		font-size: var(--rnen-font-size-3xl);
	}

	.rnen-hero-home__description,
	.rnen-sobre__hero-text,
	.rnen-contato__hero-text,
	.rnen-manifesto__description,
	.rnen-cursos__description,
	.rnen-parceiros__description,
	.rnen-cta__text,
	.rnen-sobre__section-text,
	.rnen-sobre__cta-text,
	.rnen-contato__section-text,
	.rnen-contato__cta-text {
		font-size: var(--rnen-font-size-md);
	}

	.rnen-hero-home__button,
	.rnen-processo__button,
	.rnen-cursos__button,
	.rnen-cursos__empty-button,
	.rnen-cta__button,
	.rnen-sobre__button,
	.rnen-contato__button {
		width: 100%;
	}
}
