/* ==================================================
   Armony Theme — Base visual técnica (Fase 4B)
   Mobile-first, sem dependências externas.
================================================== */

/* ==================================================
   TOKENS / VARIÁVEIS
================================================== */
:root {
	--armony-color-white: #f1f1ef;
	--armony-color-lavender: #938ec4;
	--armony-color-purple: #5c548d;
	--armony-color-text: #2b2840;
	--armony-color-dark: #151225;
	--armony-color-dark-soft: #211d36;
	--armony-color-dark-muted: #34304f;
	--armony-color-surface: #ffffff;
	--armony-color-surface-soft: #f8f7fb;
	--armony-color-border: rgba(92, 84, 141, 0.18);
	--armony-color-border-dark: rgba(241, 241, 239, 0.16);
	--armony-color-focus: #938ec4;
	--armony-color-shadow: rgba(43, 40, 64, 0.14);

	--armony-font-sans: "Manrope", Arial, sans-serif;
	--armony-font-size-sm: 0.875rem;
	--armony-font-size-base: 1rem;
	--armony-font-size-lg: 1.125rem;
	--armony-font-size-xl: clamp(1.55rem, 5vw, 2.25rem);
	--armony-font-size-2xl: clamp(2.25rem, 9vw, 4.75rem);
	--armony-line-height-tight: 1.08;
	--armony-line-height-base: 1.65;

	--armony-space-1: 0.25rem;
	--armony-space-2: 0.5rem;
	--armony-space-3: 0.75rem;
	--armony-space-4: 1rem;
	--armony-space-5: 1.25rem;
	--armony-space-6: 1.5rem;
	--armony-space-8: 2rem;
	--armony-space-10: 2.5rem;
	--armony-space-12: 3rem;
	--armony-space-16: 4rem;

	--armony-radius-sm: 0.75rem;
	--armony-radius-md: 1.125rem;
	--armony-radius-lg: 1.75rem;
	--armony-radius-pill: 999px;
	--armony-container: 72rem;
	--armony-container-narrow: 52rem;
}

/* ==================================================
   RESET LEVE / BASE
================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--armony-color-white);
	color: var(--armony-color-text);
	font-family: var(--armony-font-sans);
	font-size: var(--armony-font-size-base);
	line-height: var(--armony-line-height-base);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

main {
	display: block;
}

img,
picture,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

button,
input,
select,
textarea {
	font: inherit;
}

a {
	color: var(--armony-color-purple);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--armony-color-lavender);
}

:focus-visible {
	outline: 3px solid var(--armony-color-focus);
	outline-offset: 3px;
}

::selection {
	background: var(--armony-color-purple);
	color: var(--armony-color-white);
}

/* ==================================================
   LAYOUT / CONTAINERS / SECÇÕES
================================================== */
.armony-container {
	width: min(100% - 2rem, var(--armony-container));
	margin-inline: auto;
}

.armony-container--narrow {
	width: min(100% - 2rem, var(--armony-container-narrow));
}

.armony-section {
	padding-block: var(--armony-space-12);
	background: var(--armony-color-white);
}

.armony-section--soft {
	background: var(--armony-color-surface-soft);
}

.armony-section--dark {
	background:
		radial-gradient(circle at top left, rgba(147, 142, 196, 0.22), transparent 34rem),
		linear-gradient(135deg, var(--armony-color-dark), var(--armony-color-dark-soft));
	color: var(--armony-color-white);
}

.armony-section--dark a {
	color: var(--armony-color-white);
}

.armony-section--dark a:hover {
	color: var(--armony-color-lavender);
}

.armony-stack > * + * {
	margin-top: var(--armony-space-5);
}

.armony-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: var(--armony-space-3);
	align-items: center;
}

/* ==================================================
   TIPOGRAFIA / TEXTO
================================================== */
.armony-eyebrow {
	margin: 0 0 var(--armony-space-3);
	color: var(--armony-color-purple);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.armony-section--dark .armony-eyebrow {
	color: var(--armony-color-lavender);
}

.armony-heading {
	margin: 0;
	color: inherit;
	font-size: var(--armony-font-size-xl);
	font-weight: 750;
	letter-spacing: -0.045em;
	line-height: var(--armony-line-height-tight);
}

.armony-heading--hero {
	font-size: var(--armony-font-size-2xl);
}

.armony-text {
	margin: var(--armony-space-4) 0 0;
	max-width: 42rem;
	color: rgba(43, 40, 64, 0.78);
	font-size: var(--armony-font-size-lg);
}

.armony-section--dark .armony-text {
	color: rgba(241, 241, 239, 0.82);
}

.armony-muted {
	color: rgba(43, 40, 64, 0.62);
}

.armony-section--dark .armony-muted {
	color: rgba(241, 241, 239, 0.68);
}

.armony-text-center {
	text-align: center;
}

.armony-text-center .armony-text {
	margin-inline: auto;
}

/* ==================================================
   BOTÕES / CTAS
================================================== */
.armony-button {
	display: inline-flex;
	min-height: 2.875rem;
	align-items: center;
	justify-content: center;
	gap: var(--armony-space-2);
	padding: 0.8rem 1.25rem;
	border: 1px solid transparent;
	border-radius: var(--armony-radius-pill);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.armony-button:hover {
	transform: translateY(-1px);
}

.armony-button--primary {
	background: var(--armony-color-purple);
	color: var(--armony-color-white);
	box-shadow: 0 1rem 2rem rgba(92, 84, 141, 0.22);
}

.armony-button--primary:hover {
	background: var(--armony-color-lavender);
	color: var(--armony-color-white);
}

.armony-button--secondary {
	background: rgba(241, 241, 239, 0.72);
	border-color: var(--armony-color-border);
	color: var(--armony-color-purple);
}

.armony-button--secondary:hover {
	background: var(--armony-color-white);
	border-color: rgba(92, 84, 141, 0.34);
	color: var(--armony-color-text);
}

.armony-section--dark .armony-button--secondary {
	background: rgba(241, 241, 239, 0.08);
	border-color: var(--armony-color-border-dark);
	color: var(--armony-color-white);
}

/* ==================================================
   CARDS / BADGES / GRELHAS
================================================== */
.armony-card {
	padding: var(--armony-space-6);
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-lg);
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 1.25rem 3rem var(--armony-color-shadow);
}

.armony-section--dark .armony-card {
	border-color: var(--armony-color-border-dark);
	background: rgba(241, 241, 239, 0.08);
	box-shadow: none;
}

.armony-card__title {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.2;
}

.armony-card__text {
	margin: var(--armony-space-3) 0 0;
	color: rgba(43, 40, 64, 0.72);
}

.armony-section--dark .armony-card__text {
	color: rgba(241, 241, 239, 0.76);
}

.armony-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--armony-space-2);
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-pill);
	background: rgba(147, 142, 196, 0.12);
	color: var(--armony-color-purple);
	font-size: var(--armony-font-size-sm);
	font-weight: 700;
}

.armony-section--dark .armony-badge {
	border-color: var(--armony-color-border-dark);
	background: rgba(147, 142, 196, 0.18);
	color: var(--armony-color-white);
}

.armony-grid {
	display: grid;
	gap: var(--armony-space-5);
}

.armony-grid--2,
.armony-grid--3,
.armony-grid--4 {
	grid-template-columns: 1fr;
}

/* ==================================================
   UTILITÁRIOS SIMPLES
================================================== */
.armony-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.armony-full-width {
	width: 100%;
}

.armony-no-margin {
	margin: 0;
}

/* ==================================================
   RESPONSIVO
================================================== */
@media (min-width: 48rem) {
	.armony-container {
		width: min(100% - 3rem, var(--armony-container));
	}

	.armony-container--narrow {
		width: min(100% - 3rem, var(--armony-container-narrow));
	}

	.armony-section {
		padding-block: var(--armony-space-16);
	}

	.armony-grid--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.armony-grid--3,
	.armony-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.armony-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.armony-grid--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* ==================================================
   HEADER / FOOTER GLOBAIS (Fase 4C)
================================================== */
.armony-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(248, 247, 251, 0.88);
	border-bottom: 1px solid rgba(92, 84, 141, 0.12);
	backdrop-filter: blur(18px);
}

.home .armony-site-header {
	background: linear-gradient(180deg, rgba(21, 18, 37, 0.74), rgba(21, 18, 37, 0.18));
	border-bottom-color: rgba(241, 241, 239, 0.08);
}

.armony-header-scrolled .armony-site-header {
	background: rgba(33, 29, 54, 0.9);
	border-bottom-color: rgba(241, 241, 239, 0.12);
	box-shadow: 0 1rem 2.5rem rgba(21, 18, 37, 0.16);
}

.armony-header-inner {
	display: flex;
	min-height: 4.5rem;
	align-items: center;
	justify-content: space-between;
	gap: var(--armony-space-4);
}

.armony-brand,
.armony-brand a,
.armony-footer-brand__name {
	display: inline-flex;
	align-items: center;
	color: var(--armony-color-dark);
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	text-decoration: none;
}

.home .armony-brand,
.home .armony-brand a,
.armony-header-scrolled .armony-brand,
.armony-header-scrolled .armony-brand a {
	color: var(--armony-color-white);
}

.armony-brand a:hover,
.armony-footer-brand__name:hover {
	color: var(--armony-color-lavender);
}

.armony-brand .custom-logo-link,
.armony-brand img {
	max-width: 9rem;
	height: auto;
}

.armony-nav-toggle {
	display: inline-flex;
	width: 3rem;
	height: 3rem;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 0.28rem;
	padding: 0;
	border: 1px solid rgba(92, 84, 141, 0.22);
	border-radius: var(--armony-radius-pill);
	background: rgba(255, 255, 255, 0.72);
	color: var(--armony-color-dark);
	cursor: pointer;
}

.home .armony-nav-toggle,
.armony-header-scrolled .armony-nav-toggle {
	border-color: rgba(241, 241, 239, 0.2);
	background: rgba(241, 241, 239, 0.1);
	color: var(--armony-color-white);
}

.armony-nav-toggle__line {
	display: block;
	width: 1.1rem;
	height: 2px;
	border-radius: var(--armony-radius-pill);
	background: currentColor;
	transition: transform 160ms ease, opacity 160ms ease;
}

.armony-nav-toggle__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.armony-mobile-menu-open .armony-nav-toggle {
	position: relative;
	z-index: 70;
	background: rgba(241, 241, 239, 0.12);
	color: var(--armony-color-white);
}

.armony-mobile-menu-open .armony-nav-toggle__line:nth-child(1) {
	transform: translateY(0.38rem) rotate(45deg);
}

.armony-mobile-menu-open .armony-nav-toggle__line:nth-child(2) {
	opacity: 0;
}

.armony-mobile-menu-open .armony-nav-toggle__line:nth-child(3) {
	transform: translateY(-0.38rem) rotate(-45deg);
}

.armony-nav {
	display: none;
}

.armony-nav__list,
.armony-footer-links__list {
	padding: 0;
	margin: 0;
	list-style: none;
}

.armony-nav__list {
	display: grid;
	gap: var(--armony-space-4);
	text-align: center;
}

.armony-nav a {
	color: var(--armony-color-white);
	font-size: clamp(1.55rem, 8vw, 2.35rem);
	font-weight: 750;
	letter-spacing: -0.04em;
	text-decoration: none;
}

.armony-nav a:hover,
.armony-nav a:focus-visible,
.armony-footer-links a:hover,
.armony-footer-links a:focus-visible,
.armony-footer-bottom a:hover,
.armony-footer-bottom a:focus-visible {
	color: var(--armony-color-lavender);
}

.armony-nav__actions {
	display: grid;
	gap: var(--armony-space-3);
	justify-items: center;
}

.armony-nav__login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 1.1rem;
	border: 1px solid rgba(241, 241, 239, 0.22);
	border-radius: var(--armony-radius-pill);
	font-size: var(--armony-font-size-base) !important;
	letter-spacing: 0 !important;
}

.armony-nav__cta {
	width: min(100%, 20rem);
	font-size: var(--armony-font-size-base) !important;
	letter-spacing: 0 !important;
}

.armony-site-main {
	min-height: 40vh;
}

.armony-site-footer {
	background:
		radial-gradient(circle at top right, rgba(147, 142, 196, 0.18), transparent 28rem),
		linear-gradient(135deg, var(--armony-color-dark), #0e0c19);
	color: var(--armony-color-white);
}

.armony-footer-inner {
	display: grid;
	gap: var(--armony-space-8);
	padding-block: var(--armony-space-12);
}

.armony-footer-brand p {
	max-width: 30rem;
	margin: var(--armony-space-4) 0 0;
	color: rgba(241, 241, 239, 0.72);
}

.armony-footer-brand__name {
	color: var(--armony-color-white);
}

.armony-footer-links h2 {
	margin: 0 0 var(--armony-space-4);
	color: var(--armony-color-lavender);
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.armony-footer-links__list {
	display: grid;
	gap: var(--armony-space-2);
}

.armony-footer-links a,
.armony-footer-bottom a {
	color: rgba(241, 241, 239, 0.82);
	text-decoration: none;
}

.armony-footer-bottom {
	display: grid;
	gap: var(--armony-space-2);
	padding-block: var(--armony-space-5);
	border-top: 1px solid rgba(241, 241, 239, 0.12);
	color: rgba(241, 241, 239, 0.62);
	font-size: var(--armony-font-size-sm);
}

.armony-footer-bottom p {
	margin: 0;
}

@media (min-width: 64rem) {
	.armony-header-inner {
		min-height: 5.25rem;
	}

	.armony-nav-toggle {
		display: none;
	}

	.armony-nav {
		position: static;
		display: flex;
		visibility: visible;
		flex: 1;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		gap: var(--armony-space-6);
		padding: 0;
		background: transparent;
		opacity: 1;
		transition: none;
	}

	.armony-nav__list {
		display: flex;
		align-items: center;
		gap: var(--armony-space-5);
		text-align: left;
	}

	.armony-nav a {
		color: var(--armony-color-dark);
		font-size: 0.95rem;
		font-weight: 700;
		letter-spacing: 0;
	}

	.home .armony-nav a,
	.armony-header-scrolled .armony-nav a {
		color: rgba(241, 241, 239, 0.9);
	}

	.armony-nav a:hover,
	.armony-nav a:focus-visible,
	.home .armony-nav a:hover,
	.home .armony-nav a:focus-visible,
	.armony-header-scrolled .armony-nav a:hover,
	.armony-header-scrolled .armony-nav a:focus-visible {
		color: var(--armony-color-lavender);
	}

	.armony-nav__actions {
		display: flex;
		align-items: center;
		gap: var(--armony-space-3);
	}

	.armony-nav__login {
		color: var(--armony-color-purple) !important;
	}

	.home .armony-nav__login,
	.armony-header-scrolled .armony-nav__login {
		color: var(--armony-color-white) !important;
	}

	.armony-nav__cta {
		width: auto;
	}

	.armony-footer-inner {
		grid-template-columns: minmax(0, 2fr) repeat(2, minmax(10rem, 1fr));
		align-items: start;
	}

	.armony-footer-bottom {
		grid-template-columns: 1fr auto;
		align-items: center;
	}
}

/* ==================================================
   HOME VISUAL MVP (Fase 4D)
================================================== */
.home .armony-site-main {
	margin-top: -4.5rem;
}

.armony-home-hero {
	position: relative;
	overflow: hidden;
	padding-block: 8rem 4rem;
	background:
		radial-gradient(circle at 78% 18%, rgba(147, 142, 196, 0.32), transparent 22rem),
		radial-gradient(circle at 10% 20%, rgba(92, 84, 141, 0.36), transparent 24rem),
		linear-gradient(145deg, #0e0c19 0%, var(--armony-color-dark) 48%, var(--armony-color-dark-soft) 100%);
}

.armony-home-hero__inner,
.armony-home-split {
	display: grid;
	gap: var(--armony-space-8);
}

.armony-home-hero__content {
	position: relative;
	z-index: 1;
}

.armony-home-hero__actions,
.armony-home-final-cta__actions {
	margin-top: var(--armony-space-8);
}

.armony-home-hero__visual {
	position: relative;
	min-height: 20rem;
}

.armony-legacy-home-hero__orb {
	position: absolute;
	inset: 8% 5% auto auto;
	width: min(18rem, 70vw);
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		radial-gradient(circle at 35% 30%, rgba(241, 241, 239, 0.72), transparent 0.35rem),
		linear-gradient(145deg, rgba(147, 142, 196, 0.86), rgba(92, 84, 141, 0.34));
	box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.24);
}

.armony-legacy-home-hero__panel {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: grid;
	gap: var(--armony-space-2);
	padding: var(--armony-space-6);
	border: 1px solid rgba(241, 241, 239, 0.18);
	border-radius: var(--armony-radius-lg);
	background: rgba(241, 241, 239, 0.1);
	backdrop-filter: blur(18px);
	box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.24);
}

.armony-legacy-home-hero__panel span,
.armony-legacy-home-hero__panel small {
	color: rgba(241, 241, 239, 0.7);
}

.armony-legacy-home-hero__panel strong {
	font-size: clamp(1.75rem, 9vw, 3.5rem);
	line-height: 1;
	letter-spacing: -0.06em;
}

.armony-home-section-head {
	margin-bottom: var(--armony-space-8);
}

.armony-home-benefit-card,
.armony-home-include-card,
.armony-home-plan-card,
.armony-home-faq-item {
	transition: transform 160ms ease, border-color 160ms ease;
}

.armony-home-benefit-card:hover,
.armony-home-include-card:hover,
.armony-home-plan-card:hover {
	transform: translateY(-0.18rem);
	border-color: rgba(92, 84, 141, 0.34);
}

.armony-home-steps {
	display: grid;
	gap: var(--armony-space-3);
	padding: 0;
	margin: 0;
	list-style: none;
}

.armony-home-steps li {
	display: flex;
	align-items: center;
	gap: var(--armony-space-4);
	padding: var(--armony-space-4);
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-md);
	background: rgba(255, 255, 255, 0.78);
	font-weight: 750;
}

.armony-home-steps span {
	display: inline-flex;
	width: 2.4rem;
	height: 2.4rem;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--armony-color-purple);
	color: var(--armony-color-white);
	font-size: var(--armony-font-size-sm);
}

.armony-home-category-grid {
	display: grid;
	gap: var(--armony-space-4);
}

.armony-legacy-home-category-card {
	position: relative;
	display: flex;
	min-height: 9rem;
	align-items: flex-end;
	padding: var(--armony-space-5);
	overflow: hidden;
	border: 1px solid rgba(241, 241, 239, 0.16);
	border-radius: var(--armony-radius-lg);
	background:
		radial-gradient(circle at top right, rgba(147, 142, 196, 0.32), transparent 12rem),
		linear-gradient(145deg, rgba(241, 241, 239, 0.12), rgba(241, 241, 239, 0.04));
	color: var(--armony-color-white);
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	text-decoration: none;
	transition: transform 160ms ease, border-color 160ms ease;
}

.armony-legacy-home-category-card::before {
	position: absolute;
	top: var(--armony-space-4);
	right: var(--armony-space-4);
	width: 2rem;
	height: 2rem;
	border: 1px solid rgba(241, 241, 239, 0.22);
	border-radius: 50%;
	content: "";
}

.armony-legacy-home-category-card:hover,
.armony-legacy-home-category-card:focus-visible {
	border-color: rgba(147, 142, 196, 0.72);
	color: var(--armony-color-white);
	transform: translateY(-0.18rem);
}

.armony-home-about__card {
	padding: var(--armony-space-6);
	border-radius: var(--armony-radius-lg);
	background:
		radial-gradient(circle at top right, rgba(147, 142, 196, 0.26), transparent 16rem),
		var(--armony-color-dark);
	color: var(--armony-color-white);
}

.armony-home-include-card {
	display: grid;
	gap: var(--armony-space-4);
}

.armony-home-include-card__mark {
	display: inline-flex;
	width: 2.25rem;
	height: 2.25rem;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(147, 142, 196, 0.18);
	color: var(--armony-color-purple);
	font-weight: 900;
}

.armony-home-plan-card {
	display: grid;
	gap: var(--armony-space-5);
	align-content: start;
}

.armony-home-plan-card .armony-button {
	margin-top: var(--armony-space-2);
}

.armony-home-pricing__notice {
	margin: var(--armony-space-6) 0 0;
	color: rgba(43, 40, 64, 0.62);
	font-size: var(--armony-font-size-sm);
	text-align: center;
}

.armony-home-faq-list {
	display: grid;
	gap: var(--armony-space-4);
}

.armony-home-faq-item {
	padding: var(--armony-space-5);
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-md);
	background: rgba(255, 255, 255, 0.82);
}

.armony-home-faq-item h3 {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.25;
}

.armony-home-faq-item p {
	margin: var(--armony-space-3) 0 0;
	color: rgba(43, 40, 64, 0.72);
}

.armony-home-final-cta {
	background:
		radial-gradient(circle at 50% 0%, rgba(147, 142, 196, 0.28), transparent 24rem),
		linear-gradient(145deg, var(--armony-color-dark-soft), #0e0c19);
}

@media (min-width: 48rem) {
	.armony-home-hero {
		padding-block: 10rem 6rem;
	}

	.armony-home-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.home .armony-site-main {
		margin-top: -5.25rem;
	}

	.armony-home-hero__inner,
	.armony-home-split {
		grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
		align-items: center;
	}

	.armony-home-hero__visual {
		min-height: 31rem;
	}

	.armony-legacy-home-hero__panel {
		left: auto;
		width: min(24rem, 100%);
	}

	.armony-home-category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.armony-legacy-home-category-card {
		min-height: 12rem;
	}
}

/* ==================================================
   CATÁLOGO PÚBLICO VISUAL (Fases 4E e 6C)
================================================== */
.armony-catalog-hero {
	padding-block: 7rem 4rem;
	background:
		radial-gradient(circle at 88% 18%, rgba(147, 142, 196, 0.34), transparent 18rem),
		radial-gradient(circle at 10% 0%, rgba(92, 84, 141, 0.34), transparent 22rem),
		linear-gradient(145deg, #0e0c19, var(--armony-color-dark-soft));
}

.armony-catalog {
	background: var(--armony-color-white);
}

.armony-catalog .armony-section {
	background: var(--armony-color-white);
}

.armony-catalog-hero__inner {
	display: grid;
	gap: var(--armony-space-10);
}

.armony-catalog-hero__actions,
.armony-catalog-final-cta__actions {
	margin-top: var(--armony-space-6);
	justify-content: center;
}

.armony-catalog-hero__actions {
	justify-content: flex-start;
}

.armony-catalog-hero__visual {
	display: none;
	gap: var(--armony-space-3);
	padding: var(--armony-space-5);
	border: 1px solid var(--armony-color-border-dark);
	border-radius: var(--armony-radius-lg);
	background: rgba(241, 241, 239, 0.08);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.armony-catalog-hero__visual span {
	padding: var(--armony-space-4);
	border-radius: var(--armony-radius-md);
	background: rgba(147, 142, 196, 0.16);
	color: var(--armony-color-white);
	font-weight: 800;
}

.armony-catalog-filters {
	padding-block: var(--armony-space-6);
}

.armony-catalog-filter-list {
	display: flex;
	gap: var(--armony-space-3);
	overflow-x: auto;
	padding-block: var(--armony-space-2);
}

.armony-catalog-filter {
	flex: 0 0 auto;
	padding: 0.7rem 1rem;
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-pill);
	background: rgba(255, 255, 255, 0.76);
	color: var(--armony-color-text);
	font-weight: 750;
	text-decoration: none;
}

.armony-catalog-filter.is-active,
.armony-catalog-filter:hover {
	background: var(--armony-color-purple);
	color: var(--armony-color-white);
}

.armony-catalog-line__header {
	max-width: 43rem;
	margin-bottom: var(--armony-space-6);
}

.armony-catalog-line__description {
	margin: var(--armony-space-3) 0 0;
	color: rgba(43, 40, 64, 0.72);
	font-size: var(--armony-font-size-lg);
}

.armony-catalog-collection-grid,
.armony-catalog-lesson-strip {
	gap: var(--armony-space-5);
}

.armony-catalog-lesson-strip {
	margin-top: 0;
}

.armony-catalog-scroll-row {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	padding: var(--armony-space-2) var(--armony-space-1) var(--armony-space-5);
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-color: var(--armony-color-lavender) transparent;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.armony-catalog-scroll-row > .armony-catalog-card {
	flex: 0 0 min(82vw, 20rem);
	scroll-snap-align: start;
}

.armony-catalog-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-lg);
	background: var(--armony-color-surface);
	box-shadow: 0 1rem 2.25rem rgba(43, 40, 64, 0.08);
}

.armony-catalog-card.is-placeholder {
	border-style: solid;
}

.armony-catalog-card__media {
	display: grid;
	min-height: 11rem;
	place-items: center;
	background:
		radial-gradient(circle at 78% 20%, rgba(147, 142, 196, 0.34), transparent 9rem),
		linear-gradient(145deg, var(--armony-color-dark-soft), var(--armony-color-purple));
	color: var(--armony-color-white);
	font-size: 0.85rem;
	font-weight: 850;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.armony-catalog-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.armony-catalog-card__body {
	display: grid;
	flex: 1;
	gap: var(--armony-space-4);
	padding: var(--armony-space-5);
}

.armony-catalog-card__body .armony-button {
	align-self: end;
	width: fit-content;
	margin-top: auto;
}

.armony-catalog-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--armony-space-2);
	align-items: center;
	color: rgba(43, 40, 64, 0.62);
	font-size: var(--armony-font-size-sm);
	font-weight: 700;
}

.armony-catalog-card h3,
.armony-catalog-empty h3 {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.2;
}

.armony-catalog-card p,
.armony-catalog-empty p {
	margin: 0;
	color: rgba(43, 40, 64, 0.72);
}

.armony-catalog-card__state {
	width: fit-content;
	padding: 0.35rem 0.75rem;
	border-radius: var(--armony-radius-pill);
	background: rgba(92, 84, 141, 0.1);
	color: var(--armony-color-purple);
	font-size: var(--armony-font-size-sm);
	font-weight: 800;
}

.armony-catalog-empty {
	display: grid;
	gap: var(--armony-space-4);
	margin-bottom: var(--armony-space-6);
	padding: var(--armony-space-6);
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-lg);
	background: var(--armony-color-white);
}

.armony-catalog-card--featured .armony-catalog-card__media {
	min-height: 14rem;
}

.armony-catalog .armony-button,
.armony-catalog .armony-button:visited {
	background: var(--armony-color-lavender);
	border-color: var(--armony-color-lavender);
	color: var(--armony-color-white);
	box-shadow: 0 0.85rem 1.8rem rgba(92, 84, 141, 0.18);
}

.armony-catalog .armony-button:hover,
.armony-catalog .armony-button:focus-visible,
.armony-catalog .armony-button:active {
	background: var(--armony-color-purple);
	border-color: var(--armony-color-purple);
	color: var(--armony-color-white);
}

.armony-catalog-final-cta {
	padding-block: var(--armony-space-16);
}

@media (min-width: 48rem) {
	.armony-catalog-collection-grid,
	.armony-catalog-lesson-strip {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.armony-catalog-scroll-row {
		overflow: visible;
		padding: 0;
		scroll-snap-type: none;
	}

	.armony-catalog-scroll-row > .armony-catalog-card {
		min-width: 0;
	}
}

@media (min-width: 64rem) {
	.armony-catalog-hero {
		padding-block: 9rem 6rem;
	}

	.armony-catalog-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.55fr);
		align-items: center;
	}

	.armony-catalog-hero__visual {
		display: grid;
	}

	.armony-catalog-collection-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.armony-catalog-lesson-strip {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.armony-catalog-collection-grid--featured {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.armony-catalog-card--featured .armony-catalog-card__media {
		min-height: 17rem;
	}
}

/* ==================================================
   ÁREA DE MEMBRO — VISUAL MVP (Fase 4F)
================================================== */
.armony-member {
	background: var(--armony-color-white);
}

.armony-member-hero {
	padding-block: calc(var(--armony-space-16) + 2rem) var(--armony-space-12);
}

.armony-member-hero__inner,
.armony-member-actions__grid,
.armony-member-collection-grid {
	display: grid;
	gap: var(--armony-space-5);
}

.armony-member-note,
.armony-member-empty {
	border: 1px solid var(--armony-color-border-dark);
	border-radius: var(--armony-radius-md);
	padding: var(--armony-space-4);
	background: rgba(241, 241, 239, 0.08);
	color: rgba(241, 241, 239, 0.78);
}

.armony-member-hero__panel,
.armony-member-action,
.armony-member-card,
.armony-member-lesson-row,
.armony-member-search__input {
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-lg);
	background: var(--armony-color-surface);
	box-shadow: 0 1.2rem 3rem rgba(43, 40, 64, 0.08);
}

.armony-member-hero__panel {
	padding: var(--armony-space-6);
	background: rgba(241, 241, 239, 0.08);
	border-color: var(--armony-color-border-dark);
	color: var(--armony-color-white);
}

.armony-member-hero__panel span,
.armony-member-hero__panel small,
.armony-member-action small,
.armony-member-card__meta,
.armony-member-lesson-row p,
.armony-member-lesson-row span {
	color: rgba(43, 40, 64, 0.62);
	font-size: var(--armony-font-size-sm);
}

.armony-member-hero__panel span,
.armony-member-hero__panel strong,
.armony-member-hero__panel small {
	display: block;
}

.armony-member-hero__panel strong {
	margin-block: var(--armony-space-3);
	font-size: clamp(1.6rem, 8vw, 3rem);
	line-height: var(--armony-line-height-tight);
}

.armony-member-hero__panel span,
.armony-member-hero__panel small {
	color: rgba(241, 241, 239, 0.72);
}

.armony-member-actions {
	padding-block: var(--armony-space-8);
}

.armony-member-actions__grid {
	grid-template-columns: 1fr;
}

.armony-member-action {
	display: flex;
	justify-content: space-between;
	gap: var(--armony-space-4);
	padding: var(--armony-space-5);
	color: var(--armony-color-text);
	text-decoration: none;
}

.armony-member-action span {
	font-weight: 750;
}

.armony-member-action:hover {
	border-color: rgba(92, 84, 141, 0.36);
	color: var(--armony-color-purple);
	transform: translateY(-2px);
}

.armony-member-search {
	padding-block: 0 var(--armony-space-8);
}

.armony-member-search__label {
	display: block;
	margin-bottom: var(--armony-space-3);
	font-weight: 750;
}

.armony-member-search__input {
	width: 100%;
	padding: var(--armony-space-4) var(--armony-space-5);
	color: rgba(43, 40, 64, 0.62);
}

.armony-member-section-head {
	margin-bottom: var(--armony-space-6);
}

.armony-member-collection-grid {
	grid-template-columns: 1fr;
}

.armony-member-card {
	overflow: hidden;
}

.armony-member-card__media {
	display: grid;
	min-height: 12rem;
	place-items: center;
	background:
		radial-gradient(circle at 30% 20%, rgba(147, 142, 196, 0.5), transparent 16rem),
		linear-gradient(135deg, var(--armony-color-purple), var(--armony-color-dark));
	color: var(--armony-color-white);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.armony-member-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.armony-member-card__body {
	padding: var(--armony-space-5);
}

.armony-member-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--armony-space-3);
	align-items: center;
	margin-bottom: var(--armony-space-3);
}

.armony-member-card h3,
.armony-member-lesson-row h3 {
	margin: 0;
	color: var(--armony-color-text);
	line-height: 1.2;
}

.armony-member-card p,
.armony-member-lesson-row p {
	margin: var(--armony-space-2) 0 var(--armony-space-5);
}

.armony-member-empty {
	border-color: var(--armony-color-border);
	background: var(--armony-color-surface-soft);
	color: rgba(43, 40, 64, 0.68);
}

.armony-member-empty p {
	margin: 0;
}

.armony-member-lesson-list {
	display: grid;
	gap: var(--armony-space-3);
}

.armony-member-lesson-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--armony-space-4);
	padding: var(--armony-space-4);
}

.armony-member-lesson-row p {
	margin-bottom: 0;
}

.armony-member-lesson-row span {
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-pill);
	padding: var(--armony-space-2) var(--armony-space-3);
	white-space: nowrap;
}

.armony-member-final-note {
	padding-block: var(--armony-space-12);
}

@media (min-width: 48rem) {
	.armony-member-hero__inner {
		grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
		align-items: center;
	}

	.armony-member-actions__grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.armony-member-action {
		min-height: 8rem;
		flex-direction: column;
	}

	.armony-member-collection-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.armony-member-collection-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ==================================================
   PÁGINA INDIVIDUAL DA AULA / PLAYER PLACEHOLDER
================================================== */
.armony-lesson {
	background: var(--armony-color-surface-soft);
}

.armony-lesson-hero,
.armony-lesson-player-section,
.armony-lesson-access {
	background:
		radial-gradient(circle at 80% 0%, rgba(147, 142, 196, 0.34), transparent 24rem),
		linear-gradient(145deg, var(--armony-color-dark), #181425 72%);
}

.armony-lesson-hero__inner {
	display: grid;
	gap: var(--armony-space-6);
	padding-block: var(--armony-space-10) var(--armony-space-8);
}

.armony-lesson-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: var(--armony-space-2);
	align-items: center;
	color: rgba(241, 241, 239, 0.72);
	font-size: var(--armony-font-size-sm);
}

.armony-lesson-hero__content {
	max-width: 46rem;
}

.armony-lesson-hero__content .armony-text,
.armony-lesson-player__content p,
.armony-lesson-access .armony-text,
.armony-lesson-access__note {
	color: rgba(241, 241, 239, 0.76);
}

.armony-lesson-hero__status {
	align-self: start;
}

.armony-badge--light {
	border-color: rgba(241, 241, 239, 0.24);
	background: rgba(241, 241, 239, 0.1);
	color: var(--armony-color-white);
}

.armony-lesson-player-section {
	padding-block: 0 var(--armony-space-12);
}

.armony-lesson-player {
	display: grid;
	gap: var(--armony-space-6);
	border: 1px solid rgba(241, 241, 239, 0.16);
	border-radius: var(--armony-radius-xl);
	padding: var(--armony-space-4);
	background: rgba(241, 241, 239, 0.08);
	box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.26);
}

.armony-lesson-player__frame {
	display: grid;
	min-height: clamp(13rem, 52vw, 31rem);
	place-items: center;
	border: 1px solid rgba(241, 241, 239, 0.14);
	border-radius: calc(var(--armony-radius-xl) - 0.4rem);
	background:
		radial-gradient(circle at 30% 20%, rgba(147, 142, 196, 0.42), transparent 18rem),
		linear-gradient(135deg, rgba(92, 84, 141, 0.68), rgba(13, 11, 22, 0.94));
}

.armony-lesson-player__play {
	position: relative;
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	border: 1px solid rgba(241, 241, 239, 0.34);
	border-radius: 50%;
	background: rgba(241, 241, 239, 0.12);
}

.armony-lesson-player__play::after {
	position: absolute;
	top: 50%;
	left: 52%;
	width: 0;
	height: 0;
	border-block: 0.7rem solid transparent;
	border-left: 1rem solid var(--armony-color-white);
	content: "";
	transform: translate(-35%, -50%);
}

.armony-lesson-player__content {
	padding: var(--armony-space-2) var(--armony-space-2) var(--armony-space-4);
}

.armony-lesson-player__content h2 {
	margin-block: var(--armony-space-2) var(--armony-space-3);
	color: var(--armony-color-white);
	font-size: clamp(1.65rem, 7vw, 3rem);
	line-height: var(--armony-line-height-tight);
}

.armony-lesson-details__grid,
.armony-lesson-related__grid {
	display: grid;
	gap: var(--armony-space-4);
}

.armony-lesson-detail,
.armony-lesson-related-card,
.armony-lesson-related-placeholder {
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-lg);
	padding: var(--armony-space-5);
	background: var(--armony-color-surface);
	box-shadow: 0 1rem 2.5rem rgba(43, 40, 64, 0.07);
}

.armony-lesson-detail span {
	display: block;
	margin-bottom: var(--armony-space-2);
	color: rgba(43, 40, 64, 0.58);
	font-size: var(--armony-font-size-sm);
	font-weight: 750;
}

.armony-lesson-detail strong {
	display: block;
	color: var(--armony-color-text);
	font-size: 1.05rem;
	font-weight: 800;
}

.armony-lesson-highlight {
	margin-top: 0;
}

.armony-lesson-related-card h3 {
	margin-block: var(--armony-space-3) var(--armony-space-2);
	color: var(--armony-color-text);
}

.armony-lesson-related-card p,
.armony-lesson-related-placeholder p {
	margin: 0;
	color: rgba(43, 40, 64, 0.68);
}

.armony-lesson-access__inner {
	max-width: 48rem;
	padding-block: var(--armony-space-12);
	text-align: center;
}

.armony-lesson-access .armony-button-group {
	justify-content: center;
}

.armony-lesson-access__note {
	margin-top: var(--armony-space-6);
	font-size: var(--armony-font-size-sm);
}

@media (min-width: 48rem) {
	.armony-lesson-hero__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
	}

	.armony-lesson-breadcrumb {
		grid-column: 1 / -1;
	}

	.armony-lesson-player {
		padding: var(--armony-space-6);
	}

	.armony-lesson-details__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.armony-lesson-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.armony-lesson-player {
		grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr);
		align-items: center;
	}

	.armony-lesson-player__content {
		padding: var(--armony-space-6);
	}

	.armony-lesson-details__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ==================================================
   PÁGINAS PÚBLICAS AUXILIARES — PLANOS / SOBRE / CONTACTO
================================================== */
.armony-public-page {
	background: var(--armony-color-surface-soft);
}

.armony-public-page--contact,
.armony-public-page--contact .armony-section {
	background: var(--armony-color-white);
}

.armony-page-hero {
	padding-block: var(--armony-space-12);
}

.armony-page-hero__inner {
	display: grid;
	gap: var(--armony-space-8);
	align-items: center;
}

.armony-page-hero__content {
	max-width: 48rem;
}

.armony-page-hero__actions,
.armony-public-final-cta__actions {
	justify-content: center;
	margin-top: var(--armony-space-6);
}

.armony-page-hero__actions {
	justify-content: flex-start;
}

.armony-public-page--contact .armony-page-hero__actions .armony-button--secondary,
.armony-public-page--contact .armony-page-hero__actions .armony-button--secondary:visited,
.armony-public-page--about .armony-page-hero__actions .armony-button--secondary,
.armony-public-page--about .armony-page-hero__actions .armony-button--secondary:visited {
	background: var(--armony-color-lavender);
	border-color: var(--armony-color-lavender);
	color: var(--armony-color-white);
}

.armony-public-page--contact .armony-page-hero__actions .armony-button--secondary:hover,
.armony-public-page--contact .armony-page-hero__actions .armony-button--secondary:focus,
.armony-public-page--contact .armony-page-hero__actions .armony-button--secondary:focus-visible,
.armony-public-page--contact .armony-page-hero__actions .armony-button--secondary:active,
.armony-public-page--about .armony-page-hero__actions .armony-button--secondary:hover,
.armony-public-page--about .armony-page-hero__actions .armony-button--secondary:focus,
.armony-public-page--about .armony-page-hero__actions .armony-button--secondary:focus-visible,
.armony-public-page--about .armony-page-hero__actions .armony-button--secondary:active {
	background: var(--armony-color-purple);
	border-color: var(--armony-color-purple);
	color: var(--armony-color-white);
}

.armony-public-page--plans .armony-button--plans-catalog,
.armony-public-page--plans .armony-button--plans-catalog:visited,
.armony-public-page--plans .armony-button--plans-catalog:focus {
	background: var(--armony-color-lavender);
	border-color: var(--armony-color-lavender);
	color: var(--armony-color-white);
}

.armony-public-page--plans .armony-button--plans-catalog:hover,
.armony-public-page--plans .armony-button--plans-catalog:focus-visible,
.armony-public-page--plans .armony-button--plans-catalog:active {
	background: var(--armony-color-purple);
	border-color: var(--armony-color-purple);
	color: var(--armony-color-white);
}

.armony-public-page--plans .armony-public-final-cta .armony-button--primary,
.armony-public-page--plans .armony-public-final-cta .armony-button--primary:visited,
.armony-public-page--plans .armony-public-final-cta .armony-button--primary:focus {
	background: var(--armony-color-lavender);
	border-color: var(--armony-color-lavender);
	color: var(--armony-color-white);
}

.armony-public-page--plans .armony-public-final-cta .armony-button--primary:hover,
.armony-public-page--plans .armony-public-final-cta .armony-button--primary:focus-visible,
.armony-public-page--plans .armony-public-final-cta .armony-button--primary:active {
	background: var(--armony-color-purple);
	border-color: var(--armony-color-purple);
	color: var(--armony-color-white);
}

.armony-public-page--contact .armony-public-final-cta .armony-button--primary,
.armony-public-page--contact .armony-public-final-cta .armony-button--primary:visited,
.armony-public-page--about .armony-public-final-cta .armony-button--primary,
.armony-public-page--about .armony-public-final-cta .armony-button--primary:visited {
	background: var(--armony-color-lavender);
	border-color: var(--armony-color-lavender);
	color: var(--armony-color-white);
}

.armony-public-page--contact .armony-public-final-cta .armony-button--primary:hover,
.armony-public-page--contact .armony-public-final-cta .armony-button--primary:focus,
.armony-public-page--contact .armony-public-final-cta .armony-button--primary:focus-visible,
.armony-public-page--contact .armony-public-final-cta .armony-button--primary:active,
.armony-public-page--about .armony-public-final-cta .armony-button--primary:hover,
.armony-public-page--about .armony-public-final-cta .armony-button--primary:focus,
.armony-public-page--about .armony-public-final-cta .armony-button--primary:focus-visible,
.armony-public-page--about .armony-public-final-cta .armony-button--primary:active {
	background: var(--armony-color-purple);
	border-color: var(--armony-color-purple);
	color: var(--armony-color-white);
}

.armony-page-hero__panel {
	display: none;
	min-height: 14rem;
	align-content: end;
	gap: var(--armony-space-2);
	padding: var(--armony-space-6);
	border: 1px solid rgba(241, 241, 239, 0.18);
	border-radius: var(--armony-radius-lg);
	background:
		radial-gradient(circle at 80% 20%, rgba(147, 142, 196, 0.44), transparent 13rem),
		rgba(241, 241, 239, 0.08);
	box-shadow: 0 1.8rem 4rem rgba(0, 0, 0, 0.2);
}

.armony-page-hero__panel span,
.armony-page-hero__panel strong {
	display: block;
}

.armony-page-hero__panel span {
	color: rgba(241, 241, 239, 0.68);
	font-size: var(--armony-font-size-sm);
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.armony-page-hero__panel strong {
	color: var(--armony-color-white);
	font-size: clamp(1.8rem, 9vw, 3.5rem);
	letter-spacing: -0.06em;
	line-height: var(--armony-line-height-tight);
}

.armony-public-section-head {
	margin-bottom: var(--armony-space-8);
}

.armony-plans__grid,
.armony-contact-content__grid {
	display: grid;
	gap: var(--armony-space-5);
}

.armony-plan-card,
.armony-info-card {
	padding: var(--armony-space-6);
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-lg);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 1.25rem 3rem rgba(43, 40, 64, 0.08);
}

.armony-plan-card {
	display: grid;
	gap: var(--armony-space-5);
	align-content: start;
}

.armony-plan-card.is-highlighted {
	border-color: rgba(147, 142, 196, 0.56);
	background:
		radial-gradient(circle at top right, rgba(147, 142, 196, 0.24), transparent 17rem),
		var(--armony-color-surface);
	box-shadow: 0 1.5rem 4rem rgba(92, 84, 141, 0.18);
}

.armony-plan-card h3,
.armony-info-card h3 {
	margin: 0;
	color: var(--armony-color-text);
	font-size: 1.35rem;
	line-height: 1.2;
}

.armony-plan-card p,
.armony-info-card p {
	margin: 0;
	color: rgba(43, 40, 64, 0.72);
}

.armony-plan-card ul {
	display: grid;
	gap: var(--armony-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.armony-plan-card li {
	position: relative;
	padding-left: var(--armony-space-6);
	color: rgba(43, 40, 64, 0.76);
}

.armony-plan-card li::before {
	position: absolute;
	left: 0;
	color: var(--armony-color-purple);
	content: "✓";
	font-weight: 900;
}

.armony-public-notice {
	margin: var(--armony-space-6) auto 0;
	max-width: 44rem;
	padding: var(--armony-space-4) var(--armony-space-5);
	border: 1px solid var(--armony-color-border);
	border-radius: var(--armony-radius-md);
	background: rgba(147, 142, 196, 0.1);
	color: rgba(43, 40, 64, 0.72);
	font-size: var(--armony-font-size-sm);
	font-weight: 700;
	text-align: center;
}

.armony-about-content__grid {
	display: grid;
	gap: var(--armony-space-8);
}

.armony-about-content__intro {
	padding: var(--armony-space-6);
	border-radius: var(--armony-radius-lg);
	background:
		radial-gradient(circle at top right, rgba(147, 142, 196, 0.22), transparent 15rem),
		var(--armony-color-white);
}

.armony-about-content__story,
.armony-contact-content__intro {
	display: grid;
	gap: var(--armony-space-4);
}

.armony-about-content__story {
	margin-top: var(--armony-space-5);
}

.armony-about-content__story p,
.armony-contact-form-slot p {
	margin: 0;
	color: rgba(43, 40, 64, 0.76);
}

.armony-about-content__story p:first-child {
	color: var(--armony-color-purple);
	font-size: 1.15rem;
	font-weight: 800;
}

.armony-about-content__visual {
	aspect-ratio: 4 / 5;
	align-self: start;
	margin: 0;
	overflow: hidden;
	border-radius: var(--armony-radius-lg);
	background: var(--armony-color-white);
	box-shadow: 0 1.5rem 4rem rgba(43, 40, 64, 0.14);
}

.armony-about-content__image,
.armony-about-content__image-fallback {
	display: block;
	width: 100%;
	height: 100%;
}

.armony-about-content__image {
	object-fit: cover;
}

.armony-about-content__image-fallback {
	display: grid;
	align-content: end;
	gap: var(--armony-space-2);
	padding: var(--armony-space-6);
	background:
		radial-gradient(circle at 80% 20%, rgba(147, 142, 196, 0.64), transparent 15rem),
		linear-gradient(145deg, var(--armony-color-dark-soft), var(--armony-color-purple));
	color: var(--armony-color-white);
}

.armony-about-content__image-fallback span {
	font-size: var(--armony-font-size-sm);
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.armony-about-content__image-fallback strong {
	max-width: 14ch;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 8vw, 3.5rem);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: var(--armony-line-height-tight);
}

.armony-contact-content__layout {
	display: grid;
	gap: var(--armony-space-8);
	align-items: start;
}

.armony-contact-form-slot {
	display: grid;
	gap: var(--armony-space-4);
	padding: var(--armony-space-6);
	border: 1px solid rgba(92, 84, 141, 0.24);
	border-radius: var(--armony-radius-lg);
	background: var(--armony-color-white);
	box-shadow: 0 1.25rem 3rem rgba(43, 40, 64, 0.08);
}

.armony-contact-form-slot h3 {
	margin: 0;
	color: var(--armony-color-text);
	font-size: 1.5rem;
}

.armony-public-final-cta {
	padding-block: var(--armony-space-12);
}

@media (min-width: 48rem) {
	.armony-plans__grid,
	.armony-contact-content__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.armony-page-hero__inner,
	.armony-about-content__grid {
		grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.72fr);
	}

	.armony-page-hero {
		padding-block: var(--armony-space-16);
	}

	.armony-page-hero__panel {
		display: grid;
	}

	.armony-contact-content__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.armony-contact-content__layout {
		grid-template-columns: minmax(0, 0.75fr) minmax(24rem, 1fr);
	}
}

/* ==================================================
   FASE 4J — Correções visuais V58
================================================== */
.armony-site-header {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 247, 251, 0.86));
	border-bottom-color: rgba(92, 84, 141, 0.14);
	box-shadow: none;
}

.home .armony-site-header {
	position: fixed;
	right: 0;
	left: 0;
	background: transparent;
	border-bottom-color: transparent;
	backdrop-filter: none;
}

.home.armony-header-scrolled .armony-site-header {
	background: linear-gradient(180deg, rgba(33, 29, 54, 0.82), rgba(33, 29, 54, 0.68));
	border-bottom-color: rgba(241, 241, 239, 0.12);
	backdrop-filter: blur(18px);
	box-shadow: none;
}

body:not(.home).armony-header-scrolled .armony-site-header {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 247, 251, 0.78));
	border-bottom-color: rgba(92, 84, 141, 0.16);
	box-shadow: none;
}

.home .armony-site-main {
	margin-top: 0;
}

.armony-home-hero {
	padding-top: calc(8rem + 4.5rem);
}

.armony-nav__member-pill,
.armony-nav__list > li:last-child > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.72rem 1.05rem;
	border: 1px solid rgba(147, 142, 196, 0.34);
	border-radius: var(--armony-radius-pill);
	background: rgba(147, 142, 196, 0.16);
	letter-spacing: 0 !important;
	text-transform: none;
}

body:not(.home) .armony-nav__member-pill {
	background: rgba(92, 84, 141, 0.1);
}

.armony-catalog-recent {
	background: var(--armony-color-white);
}

.armony-member-internal-nav {
	display: none;
	position: sticky;
	top: 5.25rem;
	z-index: 20;
	border-bottom: 1px solid var(--armony-color-border);
	background: rgba(255, 255, 255, 0.86);
	backdrop-filter: blur(16px);
}

.armony-member-internal-nav__inner {
	display: flex;
	gap: var(--armony-space-3);
	align-items: center;
	justify-content: center;
	padding-block: var(--armony-space-3);
}

.armony-member-internal-nav__link {
	border-radius: var(--armony-radius-pill);
	padding: 0.65rem 1rem;
	color: var(--armony-color-text);
	font-weight: 750;
	text-decoration: none;
}

.armony-member-internal-nav__link:hover,
.armony-member-internal-nav__link:focus-visible {
	background: rgba(92, 84, 141, 0.1);
	color: var(--armony-color-purple);
}

@media (min-width: 64rem) {
	.armony-home-hero {
		padding-top: calc(8rem + 5.25rem);
	}

	.armony-member-internal-nav {
		display: block;
	}

	body:not(.home) .armony-nav a:not(.armony-nav__member-pill) {
		color: var(--armony-color-dark);
	}

	body:not(.home).armony-header-scrolled .armony-nav a:not(.armony-nav__member-pill) {
		color: var(--armony-color-dark);
	}
}

body:not(.home).armony-header-scrolled .armony-brand,
body:not(.home).armony-header-scrolled .armony-brand a {
	color: var(--armony-color-dark);
}

body:not(.home).armony-header-scrolled .armony-nav-toggle {
	border-color: rgba(92, 84, 141, 0.22);
	background: rgba(255, 255, 255, 0.74);
	color: var(--armony-color-dark);
}

/* Fase 4N — Home reconstruída a partir do source V58 */
.armony-home--fase-4n {
	background: #12071e;
	color: #fff;
}

.armony-home-hero--source {
	position: relative;
	min-height: 100svh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #12071e;
	isolation: isolate;
}

.armony-home-hero__media,
.armony-home-hero__shade {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.armony-home-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% center;
	filter: saturate(0.96) contrast(1.02);
}

.armony-home-hero__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.armony-home-hero__shade {
	z-index: -1;
	background: linear-gradient(90deg, rgba(18, 7, 30, 0.92) 0%, rgba(18, 7, 30, 0.72) 42%, rgba(18, 7, 30, 0.18) 100%), linear-gradient(180deg, rgba(18, 7, 30, 0.38) 0%, rgba(18, 7, 30, 0) 38%, #12071e 100%);
}

.armony-home-hero--source .armony-home-hero__inner {
	width: 100%;
	min-height: 100svh;
	display: flex;
	align-items: center;
	padding-top: 140px;
	padding-bottom: 96px;
}

.armony-home-hero--source .armony-home-hero__content {
	max-width: 650px;
}

.armony-home-hero__label {
	margin: 0 0 18px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.24em;
	color: rgba(232, 218, 255, 0.86);
	text-transform: uppercase;
}

.armony-home-hero--source h1 {
	margin: 0;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(48px, 8vw, 106px);
	line-height: 0.92;
	font-weight: 500;
	letter-spacing: -0.06em;
	color: #fff;
	text-wrap: balance;
}

.armony-home-hero--source p:not(.armony-home-hero__label) {
	max-width: 560px;
	margin: 28px 0 0;
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.82);
}

.armony-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.armony-home-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 15px 26px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.armony-home-hero__button--primary {
	background: #fff;
	color: #22082d;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.26);
}

.armony-home-hero__button--secondary {
	border: 1px solid rgba(255, 255, 255, 0.44);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	backdrop-filter: blur(14px);
}

.armony-home-hero__button:hover,
.armony-home-hero__button:focus-visible {
	transform: translateY(-2px);
}

@media (max-width: 767px) {
	.armony-home-hero--source {
		min-height: 100svh;
	}

	.armony-home-hero__media img {
		object-position: 66% center;
	}

	.armony-home-hero__shade {
		background: linear-gradient(180deg, rgba(18, 7, 30, 0.56) 0%, rgba(18, 7, 30, 0.35) 35%, #12071e 100%), linear-gradient(90deg, rgba(18, 7, 30, 0.88), rgba(18, 7, 30, 0.18));
	}

	.armony-home-hero--source .armony-home-hero__inner {
		align-items: flex-end;
		padding-top: 108px;
		padding-bottom: 54px;
	}

	.armony-home-hero__actions {
		flex-direction: column;
	}

	.armony-home-hero__button {
		width: 100%;
	}
}
.armony-about-stack-section,
.armony-about-stack-section *,
.armony-about-stack-section *::before,
.armony-about-stack-section *::after {
  box-sizing: border-box;
}

.armony-about-stack-section {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 105px 0 !important;
  background: #f1f1ef !important;
  overflow: hidden !important;
}

.armony-about-stack-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 90px;
  align-items: center;
}

.armony-about-stack-content {
  max-width: 610px;
}

.armony-about-stack-label {
  margin: 0 0 20px 0;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 500;
  color: #938fc4;
}

.armony-about-stack-content h2 {
  margin: 0 0 24px 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4.5vw, 68px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -1.4px;
  color: #5c548d;
}

.armony-about-stack-text {
  margin: 0 0 34px 0;
  max-width: 560px;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(29, 31, 45, 0.78);
}

.armony-about-stack-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 205px;
  min-height: 58px;
  padding: 0 32px;
  border-radius: 999px;
  background: #5c548d;
  color: #f1f1ef !important;
  text-decoration: none !important;
  font-size: 15px;
  font-weight: 700;
  transition: transform 0.25s ease, background-color 0.25s ease;
  border: none;
}

.armony-about-stack-button:hover {
  background: #938fc4;
  transform: translateY(-2px);
}

.armony-about-stack-button:focus-visible,
.armony-stack-dots button:focus-visible {
  outline: 3px solid #938fc4;
  outline-offset: 4px;
}

/* CARROSSEL STACK */
.armony-about-stack-carousel {
  position: relative;
  width: 100%;
  height: 620px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.armony-stack-card {
  position: absolute;
  width: 350px;
  height: 560px;
  border-radius: 32px;
  overflow: hidden;
  background: #f1f1ef;
  box-shadow: 0 28px 60px rgba(29, 31, 45, 0.14);
  transition: transform 0.8s ease, opacity 0.8s ease, filter 0.8s ease;
  pointer-events: none;
}

.armony-stack-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.armony-stack-card.is-active {
  transform: translateX(0) scale(1);
  opacity: 1;
  z-index: 3;
  filter: blur(0);
}

.armony-stack-card.is-prev {
  transform: translateX(-105px) scale(0.86) rotate(-4deg);
  opacity: 0.58;
  z-index: 2;
  filter: blur(0.2px);
}

.armony-stack-card.is-next {
  transform: translateX(105px) scale(0.86) rotate(4deg);
  opacity: 0.58;
  z-index: 2;
  filter: blur(0.2px);
}

.armony-stack-dots {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 9px;
  z-index: 5;
}

.armony-stack-dots button {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: none;
  padding: 0;
  background: rgba(92, 84, 141, 0.28);
  cursor: pointer;
  transition: width 0.25s ease, background-color 0.25s ease;
}

.armony-stack-dots button.active,
.armony-stack-dots button[aria-current="true"] {
  width: 24px;
  background: #5c548d;
}

/* TABLET */
@media (max-width: 991px) {
  .armony-about-stack-inner {
    grid-template-columns: 1fr 430px;
    gap: 55px;
  }

  .armony-about-stack-carousel {
    height: 560px;
  }

  .armony-stack-card {
    width: 310px;
    height: 500px;
  }

  .armony-stack-card.is-prev {
    transform: translateX(-82px) scale(0.86) rotate(-4deg);
  }

  .armony-stack-card.is-next {
    transform: translateX(82px) scale(0.86) rotate(4deg);
  }
}

/* MOBILE */
@media (max-width: 767px) {
  .armony-about-stack-section {
    padding: 68px 0 76px 0 !important;
  }

  .armony-about-stack-inner {
    width: calc(100% - 34px);
    display: flex;
    flex-direction: column;
    gap: 48px;
  }

  .armony-about-stack-content {
    width: 100%;
    max-width: 100%;
    text-align: left;
  }

  .armony-about-stack-label {
    margin-bottom: 14px;
    font-size: 16px;
  }

  .armony-about-stack-content h2 {
    margin-bottom: 20px;
    font-size: clamp(38px, 10.5vw, 52px);
    line-height: 1.02;
    letter-spacing: -1px;
  }

  .armony-about-stack-text {
    margin-bottom: 28px;
    font-size: 16px;
    line-height: 1.5;
  }

  .armony-about-stack-button {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 64px;
    padding: 0 24px;
    font-size: 15px;
    border-radius: 999px;
    text-align: center;
  }

  .armony-about-stack-carousel {
    width: 100%;
    height: 560px;
    margin-top: 4px;
    overflow: visible;
  }

  .armony-stack-card {
    width: min(78vw, 330px);
    height: 500px;
    border-radius: 28px;
  }

  .armony-stack-card.is-active {
    transform: translateX(0) scale(1);
  }

  .armony-stack-card.is-prev {
    transform: translateX(-54px) scale(0.84) rotate(-3.5deg);
    opacity: 0.5;
  }

  .armony-stack-card.is-next {
    transform: translateX(54px) scale(0.84) rotate(3.5deg);
    opacity: 0.5;
  }

  .armony-stack-dots {
    bottom: -6px;
  }
}

@media (max-width: 390px) {
  .armony-about-stack-inner {
    width: calc(100% - 30px);
    gap: 42px;
  }

  .armony-about-stack-content h2 {
    font-size: 36px;
  }

  .armony-about-stack-text {
    font-size: 15px;
  }

  .armony-about-stack-button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 62px;
    padding: 0 22px;
    font-size: 14px;
  }

  .armony-about-stack-carousel {
    height: 520px;
  }

  .armony-stack-card {
    width: min(80vw, 300px);
    height: 460px;
    border-radius: 24px;
  }

  .armony-stack-card.is-prev {
    transform: translateX(-44px) scale(0.84) rotate(-3deg);
  }

  .armony-stack-card.is-next {
    transform: translateX(44px) scale(0.84) rotate(3deg);
  }
}

/* REDUZ MOVIMENTO */
@media (prefers-reduced-motion: reduce) {
  .armony-stack-card,
  .armony-stack-dots button,
  .armony-about-stack-button {
    transition: none;
  }
}
/* SETAS DO CARROSSEL SOBRE */
.armony-stack-arrows {
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
}

.armony-stack-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(92, 84, 141, 0.14);
  background: rgba(241, 241, 239, 0.82);
  color: #5c548d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  line-height: 1;
  font-weight: 300;
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 14px 34px rgba(29, 31, 45, 0.12);
  transition: transform 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}

.armony-stack-arrow:hover {
  transform: translateY(-50%) scale(1.05);
  background: #5c548d;
  color: #f1f1ef;
}

.armony-stack-arrow:focus-visible {
  outline: 3px solid #938fc4;
  outline-offset: 4px;
}

.armony-stack-arrow-prev {
  left: 28px;
}

.armony-stack-arrow-next {
  right: 28px;
}

/* No mobile escondemos as setas porque o swipe + dots chega */
@media (max-width: 767px) {
  .armony-stack-arrows {
    display: none;
  }
}
/* SETAS DO CARROSSEL SOBRE — aparecem só com interação */
.armony-stack-arrows {
  opacity: 0;
  transition: opacity 0.22s ease;
}

.armony-about-stack-carousel:hover .armony-stack-arrows,
.armony-about-stack-carousel:focus-within .armony-stack-arrows {
  opacity: 1;
}

/* Setas mais discretas e premium */
.armony-stack-arrow {
  width: 42px;
  height: 42px;
  background: rgba(241, 241, 239, 0.68);
  color: #5c548d;
  border: 1px solid rgba(92, 84, 141, 0.10);
  box-shadow: 0 14px 34px rgba(29, 31, 45, 0.10);
  backdrop-filter: blur(8px);
}

.armony-stack-arrow:hover {
  background: #5c548d;
  color: #f1f1ef;
}

/* Afasta ligeiramente para não ficar em cima da imagem principal */
.armony-stack-arrow-prev {
  left: 12px;
}

.armony-stack-arrow-next {
  right: 12px;
}

/* No mobile, swipe + dots é suficiente */
@media (max-width: 767px) {
  .armony-stack-arrows {
    display: none !important;
  }
}
/* EXPERIÊNCIA ARMONY */
.armony-exp-v2-section {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 90px 0 100px 0 !important;
  background: #f1f1ef !important;
  overflow: hidden !important;
}

.armony-exp-v2-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.armony-exp-v2-heading {
  max-width: 760px;
  margin: 0 auto 58px auto;
  text-align: center;
}

.armony-exp-v2-heading p {
  margin: 0 0 16px 0;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #938ec4;
}

.armony-exp-v2-heading h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 5vw, 76px);
  line-height: 0.98;
  font-weight: 400;
  letter-spacing: -1.5px;
  color: #5c548d;
}

.armony-exp-v2-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 0.9fr;
  gap: 34px;
  align-items: end;
}

.armony-exp-v2-card {
  text-align: center;
}

.armony-exp-v2-card picture {
  display: block;
  width: 100%;
  overflow: hidden;
  margin-bottom: 24px;
  background: #e9e9e9;
}

.armony-exp-v2-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.armony-exp-v2-card.small-card picture {
  height: 440px;
}

.armony-exp-v2-card.featured-card picture {
  height: 560px;
}

.armony-exp-v2-card h3 {
  margin: 0 0 14px 0;
  font-size: 19px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #1d1f2d;
}

.armony-exp-v2-card p {
  margin: 0 auto;
  max-width: 340px;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(29, 31, 45, 0.78);
}

/* TABLET */
@media (max-width: 991px) {
  .armony-exp-v2-section {
    padding: 80px 0 90px 0 !important;
  }

  .armony-exp-v2-grid {
    gap: 22px;
  }

  .armony-exp-v2-card.small-card picture {
    height: 360px;
  }

  .armony-exp-v2-card.featured-card picture {
    height: 470px;
  }

  .armony-exp-v2-card h3 {
    font-size: 18px;
  }

  .armony-exp-v2-card p {
    font-size: 14.5px;
  }
}

/* MOBILE */
@media (max-width: 767px) {
  .armony-exp-v2-section {
    padding: 68px 0 78px 0 !important;
  }

  .armony-exp-v2-inner {
    width: calc(100% - 34px);
  }

  .armony-exp-v2-heading {
    margin: 0 auto 38px auto;
    text-align: center;
    max-width: 100%;
  }

  .armony-exp-v2-heading p {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .armony-exp-v2-heading h2 {
    font-size: clamp(38px, 11vw, 52px);
    line-height: 1.02;
    letter-spacing: -1px;
  }

  .armony-exp-v2-grid {
    display: flex;
    flex-direction: column;
    gap: 42px;
    align-items: center;
  }

  .armony-exp-v2-card {
    width: 100%;
    text-align: center;
  }

  .armony-exp-v2-card picture {
    width: 100%;
    margin-bottom: 20px;
  }

  .armony-exp-v2-card.small-card picture,
  .armony-exp-v2-card.featured-card picture {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .armony-exp-v2-card.featured-card {
    order: -1;
  }

  .armony-exp-v2-card h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #1d1f2d;
  }

  .armony-exp-v2-card p {
    max-width: 335px;
    font-size: 15px;
    line-height: 1.5;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}

@media (max-width: 390px) {
  .armony-exp-v2-inner {
    width: calc(100% - 28px);
  }

  .armony-exp-v2-heading h2 {
    font-size: 36px;
  }

  .armony-exp-v2-card h3 {
    font-size: 17px;
  }

  .armony-exp-v2-card p {
    font-size: 14.5px;
  }
}
/* EXPERIÊNCIA ARMONY — imagens com cantos arredondados */
.armony-exp-v2-card picture {
  border-radius: 28px;
}

@media (max-width: 767px) {
  .armony-exp-v2-card picture {
    border-radius: 22px;
  }
}
/* CATEGORIAS ARMONY */
.armony-categorias {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f5f1ec;
}

/* Heading acessível sem alterar visual */
.armony-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* DESKTOP */
.armony-desktop-grid {
  display: flex;
  width: 105vw;
  height: 460px;
  overflow: hidden;
  margin: 0;
  padding: 0;
  transform: translateX(-2.5vw);
}

.armony-cat-card {
  position: relative;
  flex: 0 0 17.5vw;
  height: 100%;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
}

.armony-cat-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s ease;
}

.armony-cat-card::after,
.armony-mobile-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.04), rgba(0,0,0,0.30));
  z-index: 1;
}

.armony-cat-card span {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 1.85vw, 38px);
  line-height: 0.92;
  font-weight: 400;
  letter-spacing: -1px;
  text-align: center;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,0.45);
  white-space: normal;
  max-width: 96%;
}

.armony-desktop-grid .armony-cat-card:first-child span {
  left: 51%;
}

.armony-desktop-grid .armony-cat-card:last-child span {
  left: 49%;
}

.armony-desktop-grid .armony-cat-card:nth-child(4) span {
  font-size: clamp(25px, 1.75vw, 36px);
  line-height: 0.88;
}

.armony-cat-card:hover img {
  transform: scale(1.045);
}

.armony-cat-card:focus-visible,
.armony-mobile-card:focus-visible {
  outline: 4px solid #938fc4;
  outline-offset: -4px;
  z-index: 5;
}

.armony-mobile-grid {
  display: none;
}

/* MOBILE */
@media (max-width: 767px) {
  .armony-categorias {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .armony-desktop-grid {
    display: none;
  }

  .armony-mobile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100vw;
    max-width: 100vw;
    margin: 0;
    padding: 0;
  }

  .armony-mobile-card {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    margin: 0;
    padding: 0;
  }

  .armony-mobile-card.small {
    height: 275px;
  }

  .armony-mobile-card.large {
    grid-column: span 2;
    height: 330px;
  }

  .armony-mobile-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  .armony-mobile-card span {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: -1px;
    text-align: center;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0,0,0,0.45);
    max-width: 92%;
  }

  .armony-mobile-card.small span {
    font-size: clamp(27px, 7vw, 40px);
  }

  .armony-mobile-card.large span {
    font-size: clamp(46px, 13vw, 72px);
    white-space: nowrap;
  }
}

@media (max-width: 390px) {
  .armony-mobile-card.small {
    height: 250px;
  }

  .armony-mobile-card.large {
    height: 300px;
  }

  .armony-mobile-card.small span {
    font-size: 31px;
  }

  .armony-mobile-card.large span {
    font-size: 48px;
  }
}
/* =========================================================
   CATEGORIAS ARMONY — CSS COMPLETO OTIMIZADO FINAL
   ========================================================= */

.armony-categorias {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f1f1ef;
}

/* Título mobile escondido visualmente no desktop, mas presente na estrutura */
.armony-categorias-mobile-heading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.armony-categorias-dots {
  display: none;
}

/* DESKTOP */

.armony-desktop-grid {
  display: flex;
  width: 105vw;
  height: 460px;
  overflow: hidden;
  margin: 0;
  padding: 0;
  transform: translateX(-2.5vw);
}

.armony-cat-card {
  position: relative;
  flex: 0 0 17.5vw;
  height: 100%;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
}

.armony-cat-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s ease;
}

.armony-cat-card::after,
.armony-mobile-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.30));
  z-index: 1;
}

.armony-cat-card span {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 1.85vw, 38px);
  line-height: 0.92;
  font-weight: 400;
  letter-spacing: -1px;
  text-align: center;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  white-space: normal;
  max-width: 96%;
}

.armony-desktop-grid .armony-cat-card:first-child span {
  left: 51%;
}

.armony-desktop-grid .armony-cat-card:last-child span {
  left: 49%;
}

.armony-desktop-grid .armony-cat-card:nth-child(4) span {
  font-size: clamp(25px, 1.75vw, 36px);
  line-height: 0.88;
}

.armony-cat-card:hover img {
  transform: scale(1.045);
}

.armony-cat-card:focus-visible,
.armony-mobile-card:focus-visible {
  outline: 4px solid #938fc4;
  outline-offset: -4px;
  z-index: 5;
}

.armony-mobile-grid {
  display: none;
}

/* MOBILE */

@media (max-width: 767px) {
  .armony-categorias {
    padding: 0 !important;
    background: #f1f1ef;
    overflow: hidden !important;
  }

  .armony-categorias-mobile-heading {
    position: static !important;
    width: calc(100% - 34px) !important;
    height: auto !important;
    padding: 58px 0 30px 0 !important;
    margin: 0 auto !important;
    overflow: visible !important;
    clip-path: none !important;
    white-space: normal !important;
    border: 0 !important;
    display: block;
    text-align: center;
  }

  .armony-categorias-mobile-heading p {
    margin: 0 0 12px 0;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #938fc4;
  }

  .armony-categorias-mobile-heading h2 {
    margin: 0 auto;
    max-width: 360px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 11vw, 52px);
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -1px;
    color: #5c548d;
  }

  .armony-desktop-grid {
    display: none !important;
  }

  .armony-mobile-grid {
    display: flex;
    width: 100vw;
    max-width: 100vw;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 14px;
    padding: 0 34px 18px 17px;
    margin: 0;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 17px;
    scroll-padding-right: 17px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .armony-mobile-grid::-webkit-scrollbar {
    display: none;
  }

  .armony-mobile-grid::after {
    content: "";
    flex: 0 0 17px;
  }

  .armony-mobile-card,
  .armony-mobile-card.small,
  .armony-mobile-card.large {
    position: relative;
    display: block;
    flex: 0 0 78vw;
    width: 78vw;
    height: 390px;
    max-width: 330px;
    min-width: 280px;
    grid-column: auto;
    border-radius: 28px;
    overflow: hidden;
    scroll-snap-align: center;
    box-shadow: 0 18px 42px rgba(29, 31, 45, 0.12);
    background: #938fc4;
    text-decoration: none;
    color: #fff;
    margin: 0;
    padding: 0;
  }

  .armony-mobile-card::after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.42));
  }

  .armony-mobile-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.45s ease, filter 0.45s ease;
  }

  .armony-mobile-card:active img {
    transform: scale(1.025);
    filter: brightness(0.92);
  }

  .armony-mobile-card span,
  .armony-mobile-card.small span,
  .armony-mobile-card.large span {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    margin: 0;
    max-width: 92%;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 11vw, 58px);
    line-height: 0.94;
    font-weight: 400;
    letter-spacing: -1.2px;
    text-align: center;
    color: #fff;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.58);
    white-space: normal;
  }

  .armony-categorias-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 2px 0 54px 0;
    background: #f1f1ef;
  }

  .armony-categorias-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(92, 84, 141, 0.26);
    cursor: pointer;
    transition:
      width 0.22s ease,
      background-color 0.22s ease;
  }

  .armony-categorias-dots button.active,
  .armony-categorias-dots button[aria-current="true"] {
    width: 24px;
    background: #5c548d;
  }

  .armony-categorias-dots button:focus-visible {
    outline: 3px solid #938fc4;
    outline-offset: 4px;
  }
}

/* MOBILE PEQUENO */

@media (max-width: 390px) {
  .armony-categorias-mobile-heading {
    width: calc(100% - 30px) !important;
    padding-top: 52px !important;
    padding-bottom: 26px !important;
  }

  .armony-categorias-mobile-heading h2 {
    font-size: 38px;
  }

  .armony-mobile-grid {
    gap: 12px;
    padding-left: 15px;
    padding-right: 30px;
    scroll-padding-left: 15px;
    scroll-padding-right: 15px;
  }

  .armony-mobile-grid::after {
    flex-basis: 15px;
  }

  .armony-mobile-card,
  .armony-mobile-card.small,
  .armony-mobile-card.large {
    flex-basis: 80vw;
    width: 80vw;
    height: 360px;
    min-width: 270px;
    border-radius: 24px;
  }

  .armony-mobile-card span,
  .armony-mobile-card.small span,
  .armony-mobile-card.large span {
    font-size: clamp(34px, 10.5vw, 50px);
  }

  .armony-categorias-dots {
    padding-bottom: 48px;
  }
}

/* ACESSIBILIDADE — REDUZ MOVIMENTO */

@media (prefers-reduced-motion: reduce) {
  .armony-cat-card img,
  .armony-mobile-card img,
  .armony-categorias-dots button {
    transition: none !important;
  }

  .armony-cat-card:hover img,
  .armony-mobile-card:active img {
    transform: none !important;
    filter: none !important;
  }
}
/* AVALIAÇÕES ARMONY — CSS COMPLETO CORRIGIDO */

/* SECÇÃO */

.armony-reviews-section {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 90px 0 0 0 !important;
  padding: 72px 0 78px 0 !important;
  background: #938ec4;
  overflow: hidden;
}

.armony-reviews-inner {
  width: min(1320px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 44px;
  align-items: center;
}

.armony-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* RESUMO GOOGLE */

.armony-reviews-summary {
  text-align: center;
  color: #f1f1ef;
}

.armony-review-label {
  margin: 0 0 14px 0;
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.02em;
  color: #f1f1ef;
}

.armony-stars {
  margin-bottom: 12px;
  font-size: 37px;
  line-height: 1;
  letter-spacing: 2px;
  color: #f1f1ef;
}

.armony-review-based {
  margin: 0 0 14px 0;
  font-size: 17px;
  line-height: 1.3;
  color: #f1f1ef;
}

.armony-review-based strong {
  font-weight: 900;
}

.armony-google-word {
  display: inline-flex;
  padding: 8px 14px 10px 14px;
  border-radius: 999px;
  background: #f1f1ef;
  font-size: 35px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -1px;
}

.g-blue { color: #4285F4; }
.g-red { color: #DB4437; }
.g-yellow { color: #F4B400; }
.g-green { color: #0F9D58; }

/* CARROSSEL */

.armony-reviews-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.armony-reviews-carousel::before,
.armony-reviews-carousel::after {
  content: "";
  position: absolute;
  top: 0;
  z-index: 3;
  width: 70px;
  height: 100%;
  pointer-events: none;
}

.armony-reviews-carousel::before {
  left: 0;
  background: linear-gradient(to right, #938ec4, rgba(147, 142, 196, 0));
}

.armony-reviews-carousel::after {
  right: 0;
  background: linear-gradient(to left, #938ec4, rgba(147, 142, 196, 0));
}

.armony-reviews-track {
  display: flex;
  width: max-content;
  gap: 22px;
  animation: armonyReviewsMove 38s linear infinite;
  will-change: transform;
}

.armony-reviews-carousel:hover .armony-reviews-track,
.armony-reviews-carousel:focus-within .armony-reviews-track {
  animation-play-state: paused;
}

@keyframes armonyReviewsMove {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

/* CARD */

.armony-review-card {
  box-sizing: border-box;
  width: 330px;
  min-height: 250px;
  flex: 0 0 auto;
  padding: 24px 24px 22px 24px;
  border-radius: 18px;
  background: #f1f1ef;
  color: #1d1f2d;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(29, 31, 45, 0.13);
  transition:
    background-color 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.armony-review-top {
  display: grid;
  grid-template-columns: 48px 1fr 26px;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
}

.armony-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: #5c548d;
  color: #f1f1ef;
  font-size: 20px;
  font-weight: 900;
  transition:
    background-color 0.22s ease,
    color 0.22s ease;
}

.armony-review-top h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 900;
  color: #1d1f2d !important;
  transition: color 0.22s ease;
}

.armony-review-top p {
  margin: 4px 0 0 0;
  font-size: 14px;
  line-height: 1.2;
  color: rgba(29, 31, 45, 0.62) !important;
  transition: color 0.22s ease;
}

.armony-mini-google {
  font-size: 24px;
  font-weight: 900;
  color: #4285F4 !important;
  transition: color 0.22s ease;
}

.armony-card-stars {
  margin-bottom: 16px;
  color: #f4b400 !important;
  font-size: 21px;
  line-height: 1;
  letter-spacing: 1px;
}

.armony-verified-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  margin-left: 4px;
  border-radius: 50%;
  background: #4285F4 !important;
  color: #ffffff !important;
  font-size: 11px;
  vertical-align: 2px;
}

.armony-review-text {
  margin: 0 0 18px 0;
  color: #1d1f2d !important;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 500;
  transition: color 0.22s ease;
}

.armony-review-link,
.armony-review-link:visited {
  color: rgba(29, 31, 45, 0.55) !important;
  background: transparent !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 700;
  transition: color 0.22s ease;
}

.armony-review-link:hover,
.armony-review-link:focus,
.armony-review-link:active {
  text-decoration: none !important;
}

.armony-review-link:focus-visible {
  outline: 3px solid #f1f1ef;
  outline-offset: 4px;
  border-radius: 8px;
}

/* HOVER DESKTOP */

@media (hover: hover) and (pointer: fine) {
  .armony-review-card:hover {
    background: #5c548d !important;
    color: #f1f1ef !important;
    transform: translateY(-3px);
    box-shadow: 0 24px 54px rgba(92, 84, 141, 0.28);
  }

  .armony-review-card:hover h3,
  .armony-review-card:hover .armony-review-text {
    color: #f1f1ef !important;
  }

  .armony-review-card:hover .armony-review-top p,
  .armony-review-card:hover .armony-review-link {
    color: rgba(241, 241, 239, 0.72) !important;
  }

  .armony-review-card:hover .armony-avatar {
    background: #938ec4 !important;
    color: #f1f1ef !important;
  }

  .armony-review-card:hover .armony-mini-google {
    color: #f1f1ef !important;
  }
}

/* MOBILE REVIEWS — IGUAL AO DESKTOP */

@media (max-width: 767px) {
  .armony-reviews-section {
    margin: 72px 0 0 0 !important;
    padding: 46px 0 58px 0 !important;
  }

  .armony-reviews-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .armony-reviews-summary {
    width: calc(100% - 34px);
    margin: 0 auto;
  }

  .armony-review-label {
    font-size: 28px;
  }

  .armony-stars {
    font-size: 34px;
  }

  .armony-review-based {
    font-size: 16px;
  }

  .armony-google-word {
    font-size: 31px;
  }

  .armony-reviews-carousel {
    width: 100vw;
    max-width: 100vw;
    overflow: hidden !important;
  }

  .armony-reviews-carousel::before,
  .armony-reviews-carousel::after {
    display: none !important;
    content: none !important;
  }

  .armony-reviews-track {
    width: max-content;
    gap: 16px;
    padding: 0 34px;
    animation: armonyReviewsMoveMobile 34s linear infinite !important;
    will-change: transform;
  }

  @keyframes armonyReviewsMoveMobile {
    from {
      transform: translate3d(0, 0, 0);
    }

    to {
      transform: translate3d(-50%, 0, 0);
    }
  }

  .armony-review-card {
    width: 295px;
    min-height: 252px;
    padding: 22px 20px 20px 20px;
    border-radius: 16px;
    background: #f1f1ef !important;
    color: #1d1f2d !important;
  }

  .armony-review-card:active {
    box-shadow: 0 18px 42px rgba(92, 84, 141, 0.14);
  }

  .armony-review-top {
    grid-template-columns: 48px 1fr 26px;
    gap: 14px;
    margin-bottom: 18px;
  }

  .armony-avatar {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }

  .armony-review-top h3 {
    font-size: 18px;
  }

  .armony-review-top p {
    font-size: 14px;
  }

  .armony-mini-google {
    font-size: 24px;
  }

  .armony-card-stars {
    margin-bottom: 16px;
    font-size: 21px;
  }

  .armony-review-text {
    margin-bottom: 18px;
    font-size: 15px;
    line-height: 1.35;
  }

  .armony-review-link {
    font-size: 14px;
  }
}

@media (max-width: 390px) {
  .armony-review-card {
    width: 280px;
  }

  .armony-review-label {
    font-size: 25px;
  }

  .armony-stars {
    font-size: 31px;
  }

  .armony-google-word {
    font-size: 30px;
  }

  .armony-review-text {
    font-size: 15px;
  }
}

/* ACESSIBILIDADE — RESPEITA UTILIZADORES COM REDUÇÃO DE MOVIMENTO */

@media (prefers-reduced-motion: reduce) {
  .armony-reviews-track {
    animation: none !important;
    transform: none !important;
  }
}/*O QUE ESTÁ INCLUÍDO ARMONY — CSS COMPLETO OTIMIZADO FINAL*/

.armony-included-section {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 90px 0 !important;
  background: #f1f1ef;
  overflow: hidden;
}

.armony-included-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.02fr 1fr;
  gap: 72px;
  align-items: center;
}

/* IMAGEM */

.armony-included-image {
  width: 100%;
  height: 650px;
  margin: 0;
  overflow: hidden;
  background: #938ec4;
  border-radius: 28px;
}

.armony-included-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* CONTEÚDO */

.armony-included-content {
  color: #5c548d;
}

.armony-included-content h2 {
  margin: 0 0 38px 0;
  max-width: 620px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 4vw, 68px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -1.5px;
  color: #5c548d;
}

/* LISTA */

.armony-included-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0 0 42px 0;
  padding: 0;
  list-style: none;
}

.armony-included-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0;
  padding: 0;
}

.armony-check {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  margin-top: -2px;
  border-radius: 999px;
  background: #938ec4;
  color: #f1f1ef;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}

.armony-included-item span:last-child {
  display: block;
  max-width: 520px;
  font-size: 17px;
  line-height: 1.45;
  font-weight: 400;
  color: #1d1f2d;
}

/* BOTÃO */

.armony-included-button,
.armony-included-button:visited {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 290px;
  min-height: 60px;
  padding: 0 36px;
  border-radius: 999px;
  background: #5c548d !important;
  color: #f1f1ef !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  text-align: center;
  box-shadow: 0 14px 32px rgba(92, 84, 141, 0.18);
  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.armony-included-button:hover {
  background: #938ec4 !important;
  color: #f1f1ef !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(92, 84, 141, 0.24);
}

.armony-included-button:active {
  background: #5c548d !important;
  color: #f1f1ef !important;
  transform: translateY(0);
  box-shadow: 0 10px 24px rgba(92, 84, 141, 0.16);
}

.armony-included-button:focus {
  color: #f1f1ef !important;
  text-decoration: none !important;
}

.armony-included-button:focus-visible {
  outline: 3px solid #938ec4;
  outline-offset: 5px;
}

/* TABLET — O QUE ESTÁ INCLUÍDO */

@media (max-width: 991px) {
  .armony-included-inner {
    grid-template-columns: 1fr 1fr;
    gap: 42px;
  }

  .armony-included-image {
    height: 560px;
    border-radius: 26px;
  }

  .armony-included-content h2 {
    font-size: clamp(40px, 5vw, 58px);
    line-height: 1.02;
  }
}

/* MOBILE — O QUE ESTÁ INCLUÍDO */

@media (max-width: 767px) {
  .armony-included-section {
    padding: 56px 0 64px 0 !important;
  }

  .armony-included-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 34px;
  }

  .armony-included-content {
    width: calc(100% - 40px);
    margin: 0 auto;
    order: 1;
  }

  .armony-included-content h2 {
    max-width: 360px;
    margin: 0 0 34px 0;
    font-size: clamp(42px, 12.2vw, 64px);
    line-height: 1.04;
    letter-spacing: -1px;
  }

  .armony-included-list {
    gap: 24px;
    margin-bottom: 38px;
  }

  .armony-included-item {
    gap: 16px;
  }

  .armony-check {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-top: 2px;
    font-size: 19px;
  }

  .armony-included-item span:last-child {
    font-size: 18px;
    line-height: 1.38;
  }

  .armony-included-button,
  .armony-included-button:hover,
  .armony-included-button:focus,
  .armony-included-button:active,
  .armony-included-button:visited {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 58px;
    margin: 0 auto !important;
    padding: 0 22px !important;
    font-size: 13px;
    white-space: nowrap;
  }

  .armony-included-image {
    order: 2;
    width: calc(100% - 40px);
    height: auto;
    margin: 0 auto;
    aspect-ratio: 4 / 5;
    border-radius: 24px;
  }
}

@media (max-width: 390px) {
  .armony-included-content {
    width: calc(100% - 32px);
  }

  .armony-included-content h2 {
    max-width: 330px;
    font-size: 48px;
    line-height: 1.04;
    letter-spacing: -0.8px;
  }

  .armony-included-item span:last-child {
    font-size: 17px;
  }

  .armony-included-button,
  .armony-included-button:hover,
  .armony-included-button:focus,
  .armony-included-button:active,
  .armony-included-button:visited {
    min-height: 56px;
    padding: 0 18px !important;
    font-size: 12px;
  }

  .armony-included-image {
    width: calc(100% - 32px);
    border-radius: 22px;
  }
}

/*PLANOS ARMONY — CSS COMPLETO OTIMIZADO FINAL*/

.armony-pricing-section {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 96px 0 104px 0 !important;
  background: #f1f1ef;
  overflow: hidden;
}

.armony-pricing-inner {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
}

/* TÍTULO */

.armony-pricing-inner h2 {
  margin: 0 0 64px 0;
  text-align: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(54px, 6vw, 104px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -2px;
  color: #5c548d;
}

/* GRID */

.armony-pricing-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  align-items: stretch;
}

/* CARDS */

.armony-pricing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 410px;
  overflow: hidden;
  border: 1px solid rgba(92, 84, 141, 0.13);
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(29, 31, 45, 0.055);
}

.armony-pricing-card--featured,
.armony-pricing-card.featured {
  border-color: rgba(92, 84, 141, 0.38);
  box-shadow: 0 22px 56px rgba(92, 84, 141, 0.11);
}

/* FAIXA DO PLANO ANUAL */

.armony-pricing-ribbon,
.armony-pricing-card--featured .armony-pricing-ribbon,
.armony-pricing-card.featured .armony-pricing-ribbon {
  width: 100%;
  min-height: 48px;
  padding: 11px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #5c548d !important;
  color: #f1f1ef !important;
  text-align: center;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* CONTEÚDO DO CARD */

.armony-pricing-card-content {
  flex: 1;
  padding: 54px 52px 48px 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.armony-pricing-card h3 {
  margin: 0 0 34px 0;
  font-size: clamp(27px, 2.4vw, 40px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #5c548d;
}

/* PREÇO */

.armony-price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
  margin-bottom: 26px;
  color: #1d1f2d;
}

.armony-price .price-main {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(54px, 5vw, 78px);
  line-height: 0.9;
  font-weight: 400;
  letter-spacing: -2px;
}

.armony-price .price-period {
  margin-bottom: 5px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 2.4vw, 38px);
  line-height: 1;
  font-weight: 400;
  color: #1d1f2d;
}

.armony-price-sub {
  margin: 0 0 18px 0;
  color: #1d1f2d;
  font-size: 18px;
  line-height: 1.45;
}

.armony-price-sub strong {
  font-weight: 800;
}

.armony-saving {
  margin: 0 0 38px 0;
  color: #5c548d;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
}

/* BOTÕES */

.armony-pricing-button,
.armony-pricing-button:visited {
  box-sizing: border-box;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 270px;
  min-height: 62px;
  padding: 0 34px;
  border-radius: 999px;
  background: #5c548d !important;
  color: #f1f1ef !important;
  text-decoration: none !important;
  text-align: center;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 14px 32px rgba(92, 84, 141, 0.18);
  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.armony-pricing-button:hover {
  background: #938ec4 !important;
  color: #f1f1ef !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(92, 84, 141, 0.24);
}

.armony-pricing-button:active {
  background: #5c548d !important;
  color: #f1f1ef !important;
  transform: translateY(0);
  box-shadow: 0 10px 24px rgba(92, 84, 141, 0.16);
}

.armony-pricing-button:focus {
  color: #f1f1ef !important;
  text-decoration: none !important;
}

.armony-pricing-button:focus-visible {
  outline: 3px solid #938ec4;
  outline-offset: 5px;
}

/* NOTA */

.armony-pricing-note {
  margin: 34px auto 0 auto;
  text-align: center;
  color: #5c548d;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
}

/* MOBILE PLANOS */

@media (max-width: 767px) {
  .armony-pricing-section {
    padding: 66px 0 74px 0 !important;
  }

  .armony-pricing-inner {
    width: calc(100% - 34px);
  }

  .armony-pricing-inner h2 {
    max-width: 360px;
    margin: 0 0 40px 0;
    text-align: left;
    font-size: clamp(42px, 12.2vw, 64px);
    line-height: 1.04;
    letter-spacing: -1px;
  }

  .armony-pricing-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .armony-pricing-card {
    min-height: auto;
    border-radius: 24px;
  }

  .armony-pricing-ribbon,
  .armony-pricing-card--featured .armony-pricing-ribbon,
  .armony-pricing-card.featured .armony-pricing-ribbon {
    min-height: 42px;
    padding: 10px 14px;
    background: #5c548d !important;
    color: #f1f1ef !important;
    font-size: 12px;
  }

  .armony-pricing-card-content {
    padding: 38px 24px 34px 24px;
  }

  .armony-pricing-card h3 {
    margin-bottom: 28px;
    font-size: 25px;
  }

  .armony-price {
    margin-bottom: 22px;
  }

  .armony-price .price-main {
    font-size: 58px;
  }

  .armony-price .price-period {
    margin-bottom: 4px;
    font-size: 29px;
  }

  .armony-price-sub {
    margin-bottom: 16px;
    font-size: 15.5px;
    line-height: 1.45;
  }

  .armony-saving {
    margin-bottom: 30px;
    font-size: 15px;
  }

  .armony-pricing-button,
  .armony-pricing-button:hover,
  .armony-pricing-button:focus,
  .armony-pricing-button:active,
  .armony-pricing-button:visited {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 56px;
    padding: 0 20px;
    font-size: 12.5px;
    white-space: nowrap;
  }

  .armony-pricing-note {
    margin-top: 28px;
    font-size: 14.5px;
  }
}

/* MOBILE PEQUENO PLANOS */

@media (max-width: 390px) {
  .armony-pricing-inner {
    width: calc(100% - 30px);
  }

  .armony-pricing-inner h2 {
    max-width: 330px;
    font-size: 48px;
    line-height: 1.04;
    letter-spacing: -0.8px;
  }

  .armony-pricing-card {
    border-radius: 22px;
  }

  .armony-pricing-card-content {
    padding: 34px 20px 30px 20px;
  }

  .armony-price .price-main {
    font-size: 52px;
  }

  .armony-price .price-period {
    font-size: 26px;
  }

  .armony-pricing-button,
  .armony-pricing-button:hover,
  .armony-pricing-button:focus,
  .armony-pricing-button:active,
  .armony-pricing-button:visited {
    min-height: 54px;
    padding: 0 18px;
    font-size: 11.5px;
  }
}

/* ACESSIBILIDADE — REDUZ MOVIMENTO */

@media (prefers-reduced-motion: reduce) {
  .armony-reviews-track {
    animation: none !important;
    transform: none !important;
  }

  .armony-review-card,
  .armony-review-card:hover,
  .armony-included-button,
  .armony-included-button:hover,
  .armony-included-button:active,
  .armony-pricing-button,
  .armony-pricing-button:hover,
  .armony-pricing-button:active {
    transition: none !important;
    transform: none !important;
  }
}
/* FAQ ARMONY — CSS COMPLETO OTIMIZADO FINAL */

.armony-faq-section {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 96px 0 106px 0 !important;
  background: #f1f1ef;
  overflow: hidden;
}

.armony-faq-inner {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
}

/* HEADING */

.armony-faq-heading {
  margin-bottom: 58px;
  text-align: center;
}

.armony-faq-heading p {
  margin: 0 0 18px 0;
  color: #938ec4;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.armony-faq-heading h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(50px, 6vw, 92px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -2px;
  color: #5c548d;
}

/* LISTA FAQ */

.armony-faq-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.armony-faq-item {
  background: #ffffff;
  border: 1px solid rgba(92, 84, 141, 0.14);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(29, 31, 45, 0.045);
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease;
}

/* MICROINTERAÇÃO DESKTOP */

.armony-faq-item:hover {
  transform: translateY(-2px);
  border-color: rgba(92, 84, 141, 0.34);
  box-shadow: 0 22px 52px rgba(92, 84, 141, 0.11);
}

.armony-faq-item:hover summary {
  color: #5c548d;
}

.armony-faq-item:hover summary::after {
  background: #5c548d;
  color: #f1f1ef;
}

/* TOQUE / ACTIVE */

.armony-faq-item:active {
  transform: translateY(0);
  box-shadow: 0 14px 34px rgba(92, 84, 141, 0.08);
}

.armony-faq-item[open] {
  border-color: rgba(92, 84, 141, 0.22);
}

/* SUMMARY — SEM LINHAS DO TEMA E SEM SELEÇÃO ACIDENTAL */

.armony-faq-section .armony-faq-item summary,
.armony-faq-section .armony-faq-item[open] summary,
.armony-faq-section details > summary,
.armony-faq-section details[open] > summary {
  position: relative;
  display: block;
  list-style: none;
  cursor: pointer;
  padding: 26px 72px 26px 30px;
  color: #1d1f2d;
  background: transparent !important;
  font-size: 19px;
  line-height: 1.25;
  font-weight: 800;
  border: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
  box-shadow: none !important;
  outline: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.22s ease;
}

.armony-faq-section .armony-faq-item summary::-webkit-details-marker,
.armony-faq-section details > summary::-webkit-details-marker {
  display: none;
}

/* ÍCONE + / – */

.armony-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #938ec4;
  color: #f1f1ef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  transition:
    background-color 0.22s ease,
    transform 0.22s ease,
    color 0.22s ease;
}

.armony-faq-item:hover summary::after {
  transform: translateY(-50%) scale(1.05);
}

.armony-faq-item[open] summary::after {
  content: "–";
  padding-bottom: 3px;
  background: #5c548d;
}

/* FOCO ACESSÍVEL */

.armony-faq-item summary:focus-visible {
  outline: 3px solid #938ec4;
  outline-offset: -6px;
  border-radius: 18px;
}

/* RESPOSTA — SEM TRAÇO PRETO */

.armony-faq-answer,
.armony-faq-item[open] .armony-faq-answer {
  padding: 0 30px 28px 30px;
  margin-top: 0 !important;
  background: transparent !important;
  border: none !important;
  border-top: none !important;
  box-shadow: none !important;
}

.armony-faq-answer p {
  margin: 0;
  max-width: 880px;
  color: rgba(29, 31, 45, 0.78);
  font-size: 16.5px;
  line-height: 1.62;
}

/* CTA */

.armony-faq-cta {
  margin: 50px auto 0 auto;
  text-align: center;
}

.armony-faq-cta p {
  margin: 0 0 20px 0;
  color: #5c548d;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 700;
}

.armony-faq-button,
.armony-faq-button:visited {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  min-height: 60px;
  padding: 0 36px;
  border-radius: 999px;
  background: #5c548d !important;
  color: #f1f1ef !important;
  text-decoration: none !important;
  text-align: center;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  border: none !important;
  box-shadow: 0 14px 32px rgba(92, 84, 141, 0.18);
  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    box-shadow 0.22s ease;
}

.armony-faq-button:hover {
  background: #938ec4 !important;
  color: #f1f1ef !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(92, 84, 141, 0.24);
}

.armony-faq-button:active {
  background: #5c548d !important;
  color: #f1f1ef !important;
  transform: translateY(0);
  box-shadow: 0 10px 24px rgba(92, 84, 141, 0.16);
}

.armony-faq-button:focus {
  color: #f1f1ef !important;
  text-decoration: none !important;
}

.armony-faq-button:focus-visible {
  outline: 3px solid #938ec4;
  outline-offset: 5px;
}

/* MOBILE */

@media (max-width: 767px) {
  .armony-faq-section {
    padding: 72px 0 82px 0 !important;
  }

  .armony-faq-inner {
    width: calc(100% - 34px);
  }

  .armony-faq-heading {
    margin-bottom: 38px;
    text-align: left;
  }

  .armony-faq-heading p {
    margin-bottom: 14px;
    font-size: 12px;
  }

  .armony-faq-heading h2 {
    max-width: 360px;
    font-size: clamp(42px, 12.2vw, 64px);
    line-height: 1.04;
    letter-spacing: -1px;
  }

  .armony-faq-list {
    gap: 12px;
  }

  .armony-faq-item {
    border-radius: 18px;
  }

  .armony-faq-item:hover {
    transform: none;
  }

  .armony-faq-item:active {
    border-color: rgba(92, 84, 141, 0.34);
    box-shadow: 0 16px 38px rgba(92, 84, 141, 0.09);
  }

  .armony-faq-section .armony-faq-item summary,
  .armony-faq-section .armony-faq-item[open] summary,
  .armony-faq-section details > summary,
  .armony-faq-section details[open] > summary {
    padding: 22px 58px 22px 22px;
    font-size: 16.5px;
    line-height: 1.28;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
  }

  .armony-faq-item summary::after {
    right: 18px;
    width: 30px;
    height: 30px;
    font-size: 22px;
  }

  .armony-faq-item:active summary::after,
  .armony-faq-item[open] summary::after {
    background: #5c548d;
  }

  .armony-faq-item summary:focus-visible {
    outline-offset: -5px;
    border-radius: 15px;
  }

  .armony-faq-answer,
  .armony-faq-item[open] .armony-faq-answer {
    padding: 0 22px 24px 22px;
    border: none !important;
    border-top: none !important;
    box-shadow: none !important;
  }

  .armony-faq-answer p {
    font-size: 14.5px;
    line-height: 1.58;
  }

  .armony-faq-cta {
    margin-top: 38px;
  }

  .armony-faq-cta p {
    font-size: 16px;
  }

  .armony-faq-button,
  .armony-faq-button:hover,
  .armony-faq-button:focus,
  .armony-faq-button:active,
  .armony-faq-button:visited {
    width: 100%;
    max-width: 320px;
    min-width: 0;
    min-height: 56px;
    padding: 0 26px;
    margin: 0 auto;
    font-size: 12.5px;
    white-space: nowrap;
  }
}

/* MOBILE PEQUENO */

@media (max-width: 390px) {
  .armony-faq-inner {
    width: calc(100% - 30px);
  }

  .armony-faq-heading h2 {
    max-width: 330px;
    font-size: 48px;
    line-height: 1.04;
    letter-spacing: -0.8px;
  }

  .armony-faq-section .armony-faq-item summary,
  .armony-faq-section .armony-faq-item[open] summary,
  .armony-faq-section details > summary,
  .armony-faq-section details[open] > summary {
    font-size: 15.5px;
  }

  .armony-faq-answer p {
    font-size: 14px;
  }

  .armony-faq-button,
  .armony-faq-button:hover,
  .armony-faq-button:focus,
  .armony-faq-button:active,
  .armony-faq-button:visited {
    max-width: 290px;
    min-height: 54px;
    padding: 0 22px;
    font-size: 11.5px;
  }
}

/* ACESSIBILIDADE — REDUZ MOVIMENTO QUANDO O UTILIZADOR PEDE */

@media (prefers-reduced-motion: reduce) {
  .armony-faq-item,
  .armony-faq-item:hover,
  .armony-faq-item:active,
  .armony-faq-item summary,
  .armony-faq-item summary::after,
  .armony-faq-button,
  .armony-faq-button:hover,
  .armony-faq-button:active {
    transition: none !important;
    transform: none !important;
  }
}
/* =========================================================

/* ==================================================
   FASE 4O — Correção visual fiel pós-4N (Header, CTAs e Footer V58)
================================================== */
.home .armony-site-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 80;
	background: transparent !important;
	border-bottom-color: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
}

.home.armony-header-scrolled .armony-site-header {
	background: linear-gradient(180deg, rgba(147, 143, 196, 0.82), rgba(147, 142, 196, 0.68)) !important;
	border-bottom-color: rgba(241, 241, 239, 0.14) !important;
	box-shadow: none !important;
	backdrop-filter: blur(18px) saturate(1.08) !important;
	-webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
}

body:not(.home) .armony-site-header {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 247, 251, 0.88));
	border-bottom-color: rgba(92, 84, 141, 0.14);
	box-shadow: none;
}

body:not(.home).armony-header-scrolled .armony-site-header {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 247, 251, 0.78));
	border-bottom-color: rgba(92, 84, 141, 0.16);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: none;
}

.home .armony-brand,
.home .armony-brand a,
.home .armony-nav a {
	color: #f1f1ef;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.38);
}

.home.armony-header-scrolled .armony-brand,
.home.armony-header-scrolled .armony-brand a,
.home.armony-header-scrolled .armony-nav a {
	color: #fff;
	text-shadow: none;
}

.home .armony-nav-toggle {
	border-color: rgba(241, 241, 239, 0.24);
	background: rgba(241, 241, 239, 0.08);
	color: #f1f1ef;
}

.home.armony-header-scrolled .armony-nav-toggle {
	border-color: rgba(255, 255, 255, 0.26);
	background: rgba(255, 255, 255, 0.13);
	color: #fff;
}

.armony-button,
.armony-home-hero__button,
.armony-about-stack-button,
.armony-included-button,
.armony-pricing-button,
.armony-faq-button,
.armony-footer-cta {
	border-radius: 999px;
	font-weight: 800;
	transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}

.armony-button--primary,
.armony-about-stack-button,
.armony-included-button,
.armony-pricing-button,
.armony-faq-button {
	background: #5c548d;
	color: #fff;
	box-shadow: 0 18px 38px rgba(92, 84, 141, 0.22);
}

.armony-button--primary:hover,
.armony-button--primary:focus-visible,
.armony-about-stack-button:hover,
.armony-about-stack-button:focus-visible,
.armony-included-button:hover,
.armony-included-button:focus-visible,
.armony-pricing-button:hover,
.armony-pricing-button:focus-visible,
.armony-faq-button:hover,
.armony-faq-button:focus-visible {
	background: #938ec4;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 22px 46px rgba(92, 84, 141, 0.26);
}

.armony-home-hero__button--primary {
	background: #f1f1ef;
	color: #22082d;
}

.armony-home-hero__button--primary:hover,
.armony-home-hero__button--primary:focus-visible {
	background: #ffffff;
	color: #22082d;
	box-shadow: 0 22px 52px rgba(0, 0, 0, 0.28);
}

.armony-home-hero__button--secondary:hover,
.armony-home-hero__button--secondary:focus-visible {
	border-color: rgba(255, 255, 255, 0.66);
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.armony-footer {
	position: relative !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 !important;
	padding: 88px 0 0 !important;
	background: #5c548d !important;
	color: #f1f1ef;
	overflow: hidden;
}

.armony-footer,
.armony-footer * {
	box-sizing: border-box;
}

.armony-footer-inner {
	width: min(1280px, calc(100% - 56px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(280px, 1.35fr) 0.75fr 0.95fr 0.75fr;
	gap: 56px;
	align-items: start;
}

.armony-footer-brand {
	max-width: 460px;
}

.armony-footer-logo,
.armony-footer-logo:visited {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 30px;
	color: #f1f1ef !important;
	text-decoration: none !important;
}

.armony-footer-logo-mark {
	width: 58px;
	height: 58px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f1f1ef;
	color: #5c548d;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	line-height: 1;
	font-weight: 400;
	letter-spacing: -2px;
}

.armony-footer-logo-text {
	display: flex;
	flex-direction: column;
	line-height: 1;
}

.armony-footer-logo-text strong {
	color: #f1f1ef;
	font-size: 32px;
	line-height: 0.95;
	font-weight: 900;
	letter-spacing: -1px;
}

.armony-footer-logo-text small {
	margin-top: 5px;
	color: rgba(241, 241, 239, 0.72);
	font-size: 13px;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.armony-footer-brand h2 {
	margin: 0 0 20px;
	max-width: 500px;
	font-family: Georgia, "Times New Roman", serif;
	color: #f1f1ef;
	font-size: clamp(36px, 3.4vw, 58px);
	line-height: 1.02;
	font-weight: 400;
	letter-spacing: -1.4px;
}

.armony-footer-brand p {
	margin: 0 0 30px;
	max-width: 410px;
	color: rgba(241, 241, 239, 0.76);
	font-size: 16px;
	line-height: 1.55;
}

.armony-footer-cta,
.armony-footer-cta:visited {
	display: inline-flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	padding: 0 28px;
	background: #f1f1ef;
	color: #5c548d !important;
	text-decoration: none !important;
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18);
}

.armony-footer-cta:hover,
.armony-footer-cta:focus-visible {
	background: #938ec4;
	color: #fff !important;
	transform: translateY(-2px);
}

.armony-footer-column h3 {
	margin: 0 0 20px;
	color: #f1f1ef;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.armony-footer-column ul {
	display: grid;
	gap: 13px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.armony-footer-column a,
.armony-footer-column a:visited {
	color: rgba(241, 241, 239, 0.78) !important;
	font-size: 15px;
	font-weight: 650;
	text-decoration: none !important;
}

.armony-footer-column a:hover,
.armony-footer-column a:focus-visible,
.armony-footer-bottom a:hover,
.armony-footer-bottom a:focus-visible {
	color: #938ec4 !important;
}

.armony-footer-bottom {
	width: min(1280px, calc(100% - 56px));
	margin: 72px auto 0;
	padding: 24px 0 28px;
	border-top: 1px solid rgba(241, 241, 239, 0.16);
	background: #5c548d !important;
	color: rgba(241, 241, 239, 0.68);
}

.armony-footer-bottom p {
	margin: 0;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	font-size: 13px;
	line-height: 1.45;
	font-weight: 600;
}

.armony-footer-bottom a,
.armony-footer-bottom a:visited {
	color: #f1f1ef !important;
	font-weight: 900;
	text-decoration: none !important;
}

@media (max-width: 991px) {
	.armony-footer-inner {
		grid-template-columns: 1.2fr 1fr 1fr;
		gap: 44px;
	}

	.armony-footer-brand {
		grid-column: 1 / -1;
		max-width: 720px;
	}
}

@media (max-width: 767px) {
	.armony-footer {
		padding-top: 64px !important;
	}

	.armony-footer-inner {
		width: calc(100% - 34px);
		display: flex;
		flex-direction: column;
		gap: 40px;
	}

	.armony-footer-brand h2 {
		max-width: 340px;
		font-size: clamp(36px, 11vw, 54px);
	}

	.armony-footer-cta {
		width: 100%;
		max-width: 320px;
	}

	.armony-footer-bottom {
		width: calc(100% - 34px);
		margin-top: 52px;
	}

	.armony-footer-bottom p {
		flex-direction: column;
		gap: 8px;
		font-size: 12.5px;
	}
}


/* Fase 4P — afinação visual pós-teste real WordPress/Hostinger */
:root {
	--armony-font-sans: "Manrope", Arial, sans-serif;
	--armony-font-serif: Georgia, "Times New Roman", serif;
}

body,
button,
input,
select,
textarea,
.armony-nav a,
.armony-footer-column a,
.armony-home-hero__label,
.armony-pricing-card h3,
.armony-faq-section summary,
.armony-faq-answer p {
	font-family: var(--armony-font-sans);
}

h1,
h2,
.armony-heading,
.armony-home-hero--source h1,
.armony-about-stack-content h2,
.armony-exp-v2-heading h2,
.armony-categorias-mobile-heading h2,
.armony-cat-card span,
.armony-mobile-card span,
.armony-pricing-inner h2,
.armony-price .price-main,
.armony-price .price-period,
.armony-faq-heading h2,
.armony-footer-logo-mark {
	font-family: var(--armony-font-serif);
}

.armony-site-header {
	z-index: 1000;
	transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, backdrop-filter 220ms ease;
}

.home .armony-site-header {
	position: fixed;
	left: 0;
	right: 0;
	background: linear-gradient(180deg, rgba(18, 7, 30, 0.24), rgba(18, 7, 30, 0));
	border-bottom-color: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

.armony-header-scrolled .armony-site-header,
.home.armony-header-scrolled .armony-site-header {
	background: rgba(147, 142, 196, 0.68);
	border-bottom-color: rgba(255, 255, 255, 0.14);
	box-shadow: none;
	backdrop-filter: blur(14px) saturate(1.05);
}

.armony-header-inner {
	min-height: 4.25rem;
}

.armony-brand,
.armony-brand a {
	font-weight: 650;
	letter-spacing: -0.025em;
}

.armony-nav a {
	font-weight: 560;
	letter-spacing: -0.015em;
}

.armony-nav__member-pill,
.armony-nav .armony-nav__member-pill,
.armony-nav__list a[href*="area-de-membro"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.72rem 1.08rem;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 999px;
	background: linear-gradient(135deg, #938ec4, #5c548d);
	box-shadow: 0 14px 34px rgba(92, 84, 141, 0.24);
	text-shadow: none !important;
}

.armony-nav__member-pill:hover,
.armony-nav__member-pill:focus-visible,
.armony-nav__list a[href*="area-de-membro"]:hover,
.armony-nav__list a[href*="area-de-membro"]:focus-visible {
	background: linear-gradient(135deg, #a9a4d3, #6d64a3);
}

.armony-mobile-menu-open .armony-nav-toggle {
	z-index: 1002;
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.armony-home-hero__media img {
	object-position: 58% center;
}

.armony-home-hero__shade {
	background: linear-gradient(90deg, rgba(18, 7, 30, 0.82) 0%, rgba(18, 7, 30, 0.52) 42%, rgba(18, 7, 30, 0.08) 100%), linear-gradient(180deg, rgba(18, 7, 30, 0.22) 0%, rgba(18, 7, 30, 0) 46%, #12071e 100%);
}

.armony-home-hero--source .armony-home-hero__content {
	max-width: 760px;
}

.armony-home-hero__label,
.armony-categorias-mobile-heading p,
.armony-reviews-label,
.armony-pricing-ribbon,
.armony-faq-heading p,
.armony-footer-column h3 {
	font-weight: 650 !important;
	letter-spacing: 0.13em;
}

.armony-home-hero__button,
.armony-button,
.armony-pricing-button,
.armony-faq-button {
	font-weight: 650 !important;
	letter-spacing: 0.01em;
}

.armony-categorias {
	background: #f1f1ef !important;
	padding-bottom: 34px !important;
}

.armony-reviews-section {
	margin-top: 0 !important;
	padding-top: 88px !important;
	background: #938ec4 !important;
}

.armony-stack-arrows {
	opacity: 1;
}

.armony-stack-arrow {
	width: 38px;
	height: 38px;
	border: 1px solid rgba(92, 84, 141, 0.12);
	background: rgba(255, 255, 255, 0.88);
	color: #5c548d;
	font-size: 27px;
	box-shadow: 0 12px 28px rgba(29, 31, 45, 0.11);
	backdrop-filter: blur(8px);
}

.armony-stack-arrow:hover,
.armony-stack-arrow:focus-visible {
	background: #fff;
	color: #5c548d;
	transform: translateY(-50%) scale(1.06);
	box-shadow: 0 16px 34px rgba(92, 84, 141, 0.18);
}

.armony-stack-arrow-prev { left: 18px; }
.armony-stack-arrow-next { right: 18px; }

.armony-pricing-section {
	scroll-margin-top: 96px;
	padding: 118px 0 108px 0 !important;
}

.armony-pricing-inner {
	width: min(1180px, calc(100% - 56px));
}

.armony-pricing-inner h2 {
	margin-bottom: 56px;
	font-size: clamp(52px, 5.4vw, 94px);
	letter-spacing: -1.6px;
}

.armony-pricing-grid {
	gap: 30px;
	max-width: 1060px;
	margin-inline: auto;
}

.armony-pricing-card {
	min-height: 430px;
	border-color: rgba(92, 84, 141, 0.16);
	border-radius: 30px;
	box-shadow: 0 18px 44px rgba(29, 31, 45, 0.06);
}

.armony-pricing-card-content {
	padding: 50px 46px 46px;
}

.armony-pricing-card h3 {
	font-weight: 560;
	letter-spacing: 0.055em;
}

.armony-price .price-main {
	font-size: clamp(58px, 4.8vw, 76px);
	letter-spacing: -1.6px;
}

.armony-price-sub strong,
.armony-saving,
.armony-pricing-note,
.armony-faq-cta p,
.armony-price-sub {
	font-weight: 520 !important;
}

.armony-pricing-ribbon {
	font-size: 13px;
	font-weight: 650 !important;
}

.armony-faq-section .armony-faq-item summary,
.armony-faq-section details > summary {
	font-weight: 560 !important;
}

.armony-faq-item {
	border-radius: 24px;
	box-shadow: 0 14px 34px rgba(29, 31, 45, 0.04);
}

.armony-faq-item summary::after {
	background: #938ec4;
	color: #fff;
}

.armony-footer {
	padding-top: 76px !important;
}

.armony-footer-inner {
	grid-template-columns: minmax(240px, 1fr) 1fr 1fr;
	gap: 48px;
}

.armony-footer-brand {
	max-width: 280px;
}

.armony-footer-logo-text strong,
.armony-footer-column h3,
.armony-footer-bottom a {
	font-weight: 650;
}

.armony-footer-column a,
.armony-footer-bottom p {
	font-weight: 480;
}

@media (min-width: 64rem) {
	.armony-nav {
		position: static;
		visibility: visible;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		gap: 1rem;
		padding: 0;
		background: transparent;
		opacity: 1;
		transform: none;
	}

	.armony-nav-toggle {
		display: none;
	}

	.armony-nav__list {
		display: flex;
		align-items: center;
		gap: 1.3rem;
		text-align: left;
	}

	.armony-nav a {
		font-size: 0.95rem;
	}

	.armony-nav__member-pill,
	.armony-nav__list a[href*="area-de-membro"] {
		font-size: 0.92rem;
	}
}

@media (max-width: 767px) {
	.armony-home-hero__media img {
		object-position: 62% center;
	}

	.armony-home-hero--source .armony-home-hero__inner {
		padding-bottom: 64px;
	}

	.armony-nav .armony-nav__member-pill,
	.armony-nav__list a[href*="area-de-membro"] {
		width: min(100%, 19rem);
		margin-inline: auto;
		font-size: 1.35rem;
	}

	.armony-categorias {
		padding-bottom: 22px !important;
	}

	.armony-reviews-section {
		padding-top: 72px !important;
	}

	.armony-pricing-section {
		padding: 84px 0 86px 0 !important;
	}

	.armony-pricing-inner {
		width: calc(100% - 34px);
	}

	.armony-pricing-grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.armony-pricing-card-content {
		padding: 42px 28px 34px;
	}

	.armony-footer-inner {
		grid-template-columns: 1fr;
	}
}

/* ==================================================
   FASE 5C — fork visual mínimo TT5/demo
================================================== */
.armony-header-inner {
	width: min(calc(100% - 3rem), 94rem);
}

.home.armony-header-scrolled .armony-site-header {
	background: rgba(147, 142, 196, 0.72);
	-webkit-backdrop-filter: blur(14px) saturate(1.05);
	backdrop-filter: blur(14px) saturate(1.05);
}

body:not(.home) .armony-site-header,
body:not(.home).armony-header-scrolled .armony-site-header {
	background: rgba(248, 247, 251, 0.92);
	border-bottom-color: rgba(92, 84, 141, 0.14);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

body:not(.home) .armony-brand,
body:not(.home) .armony-brand a,
body:not(.home) .armony-nav a:not(.armony-nav__member-pill),
body:not(.home).armony-header-scrolled .armony-brand,
body:not(.home).armony-header-scrolled .armony-brand a,
body:not(.home).armony-header-scrolled .armony-nav a:not(.armony-nav__member-pill) {
	color: #1d1f2d;
}

.armony-nav-toggle,
.home .armony-nav-toggle,
.armony-header-scrolled .armony-nav-toggle {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.armony-nav-toggle__line {
	width: 1.75rem;
}

.armony-nav__member-pill,
.armony-nav .armony-nav__member-pill,
.armony-nav__list a[href*="area-de-membro"] {
	background: #938ec4;
	box-shadow: none;
}

.armony-nav__member-pill:hover,
.armony-nav__member-pill:focus-visible,
.armony-nav__list a[href*="area-de-membro"]:hover,
.armony-nav__list a[href*="area-de-membro"]:focus-visible {
	background: #a7a2d8;
}

.armony-home-hero.wp-block-cover {
	min-height: 780px;
	padding: 0;
}

.armony-home-hero .wp-block-cover__image-background {
	max-width: none;
}

.armony-home-hero--source .armony-home-hero__content {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
}

.armony-home-hero--source h1 {
	max-width: 900px;
	margin-inline: auto;
	color: #a7a2d8;
	font-size: clamp(56px, 5vw, 86px);
	font-weight: 400;
	line-height: 0.95;
	letter-spacing: -2.2px;
}

.armony-home-hero--source p:not(.armony-home-hero__label) {
	max-width: 780px;
	margin: 28px auto 0;
	font-size: clamp(18px, 1.25vw, 23px);
	font-weight: 400;
	line-height: 1.4;
}

.armony-home-hero__actions,
.armony-home-hero .armony-hero-buttons {
	justify-content: center;
}

.armony-home-hero .wp-block-button {
	margin: 0;
}

.armony-desktop-grid .armony-cat-card {
	flex-basis: 17.5vw;
}

.armony-desktop-grid .armony-cat-card:nth-child(4) span {
	font-size: clamp(28px, 2.15vw, 42px);
	line-height: 0.92;
}

.armony-desktop-grid .armony-cat-card:nth-child(5) span {
	font-size: clamp(23px, 1.7vw, 34px);
	line-height: 0.88;
}

.armony-footer-placeholder {
	color: rgba(241, 241, 239, 0.58);
	font-size: 15px;
	font-weight: 480;
}

@media (min-width: 62rem) {
	.armony-footer-inner {
		grid-template-columns: minmax(280px, 1.35fr) 0.75fr 0.95fr 0.75fr;
		gap: 56px;
	}

	.armony-footer-brand {
		max-width: 460px;
	}
}

@media (min-width: 48rem) and (max-width: 61.999rem) {
	.armony-footer-inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 44px;
	}

	.armony-footer-brand {
		grid-column: 1 / -1;
		max-width: 720px;
	}
}

@media (max-width: 47.999rem) {
	.armony-home-hero.wp-block-cover {
		min-height: 100svh;
	}

	.armony-home-hero--source .armony-home-hero__inner {
		padding-inline: 22px;
	}

	.armony-home-hero--source h1 {
		max-width: 390px;
		font-size: clamp(46px, 13.4vw, 60px);
		line-height: 0.95;
		letter-spacing: -1.6px;
	}

	.armony-home-hero--source p:not(.armony-home-hero__label) {
		max-width: 350px;
		font-size: 18px;
		line-height: 1.42;
	}

	.armony-home-hero .wp-block-button,
	.armony-home-hero__button {
		width: 100%;
		max-width: 340px;
	}

	.armony-footer-inner {
		grid-template-columns: 1fr;
	}
}

/* ==================================================
   FASE 5D — afinação visual Header, Hero e menu mobile
================================================== */
.home.armony-header-scrolled .armony-site-header {
	background: linear-gradient(90deg, rgba(64, 57, 101, 0.9), rgba(112, 102, 159, 0.82)) !important;
	border-bottom-color: rgba(241, 241, 239, 0.12) !important;
	-webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
	backdrop-filter: blur(18px) saturate(1.08) !important;
	box-shadow: 0 10px 30px rgba(21, 18, 37, 0.12) !important;
}

.armony-home-hero--source h1 {
	max-width: 780px;
	font-size: clamp(54px, 3.8vw, 72px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -1.6px;
	text-wrap: balance;
}

.armony-home-hero .armony-home-hero__button--primary,
.armony-home-hero .wp-block-button .armony-home-hero__button--primary {
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: #938ec4;
	color: #f1f1ef;
	box-shadow: 0 12px 28px rgba(10, 8, 24, 0.18);
}

.armony-home-hero .armony-home-hero__button--primary:hover,
.armony-home-hero .armony-home-hero__button--primary:focus-visible {
	background: #a7a2d8;
	color: #ffffff;
	box-shadow: 0 16px 34px rgba(10, 8, 24, 0.22);
}

.armony-home-hero .armony-home-hero__button--secondary,
.armony-home-hero .wp-block-button .armony-home-hero__button--secondary {
	border: 1px solid rgba(147, 142, 196, 0.26);
	background: rgba(15, 17, 29, 0.94);
	color: #f1f1ef;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	box-shadow: 0 12px 28px rgba(10, 8, 24, 0.18);
}

.armony-home-hero .armony-home-hero__button--secondary:hover,
.armony-home-hero .armony-home-hero__button--secondary:focus-visible {
	border-color: rgba(147, 142, 196, 0.48);
	background: #211d36;
	color: #ffffff;
	box-shadow: 0 16px 34px rgba(10, 8, 24, 0.24);
}

@media (min-width: 64rem) {
	.armony-nav__list > li > a {
		font-weight: 400;
		letter-spacing: -0.02em;
	}

	.armony-nav--desktop .armony-nav__member-pill,
	.armony-nav--desktop .armony-nav__member-pill:visited {
		height: 2.5rem;
		min-height: 0;
		padding: 0 1.2rem;
		border: 1px solid rgba(255, 255, 255, 0.22);
		background-color: #938ec4;
		background-image: none;
		color: #ffffff;
		font-weight: 400;
		line-height: 1;
		opacity: 1;
		transform: translateY(0);
		box-shadow: none;
		transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
	}

	.armony-nav--desktop .armony-nav__member-pill:hover,
	.armony-nav--desktop .armony-nav__member-pill:focus,
	.armony-nav--desktop .armony-nav__member-pill:focus-visible {
		border-color: rgba(255, 255, 255, 0.32);
		background-color: #a7a2d8;
		background-image: none;
		color: #ffffff;
		opacity: 1;
		transform: translateY(-2px);
		box-shadow: 0 14px 30px rgba(33, 29, 54, 0.2);
	}

	.armony-nav--desktop .armony-nav__member-pill:active {
		border-color: rgba(255, 255, 255, 0.26);
		background-color: #938ec4;
		background-image: none;
		color: #ffffff;
		opacity: 1;
		transform: translateY(0);
		box-shadow: 0 8px 18px rgba(33, 29, 54, 0.16);
	}
}

@media (max-width: 63.999rem) {
	.armony-nav-toggle,
	.home .armony-nav-toggle,
	.armony-header-scrolled .armony-nav-toggle,
	body.armony-mobile-menu-open .armony-nav-toggle {
		width: 2.75rem;
		height: 2.75rem;
		gap: 0.34rem;
		padding: 0.45rem;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		-webkit-tap-highlight-color: transparent;
	}

	.armony-nav-toggle__line {
		width: 1.8rem;
		height: 2px;
	}

	.armony-nav-toggle__line:nth-child(2) {
		display: none;
	}

	.armony-mobile-menu-open .armony-nav-toggle__line:nth-child(1) {
		position: absolute;
		transform: rotate(45deg);
	}

	.armony-mobile-menu-open .armony-nav-toggle__line:nth-child(3) {
		position: absolute;
		transform: rotate(-45deg);
	}
}

@media (max-width: 47.999rem) {
	.armony-home-hero--source h1 {
		font-size: clamp(46px, 13.4vw, 60px);
		font-weight: 700;
		line-height: 0.95;
	}
}

/* ==================================================
   FASE 5E — ajustes finais Header, menu mobile e Planos
================================================== */
.armony-price-sub {
	font-weight: 400 !important;
}

.armony-pricing-ribbon,
.armony-pricing-card--featured .armony-pricing-ribbon,
.armony-pricing-card.featured .armony-pricing-ribbon {
	min-height: 72px;
	padding: 16px 22px;
}

@media (min-width: 64rem) {
	.armony-nav__list > li > a {
		font-size: 1.05rem;
		transition: color 180ms ease;
	}

	body.home .armony-nav--desktop .armony-nav__member-pill,
	body.home .armony-nav--desktop .armony-nav__member-pill:visited {
		border-color: rgba(255, 255, 255, 0.22);
		background-color: #938ec4;
		background-image: none;
		color: #ffffff;
		font-size: 1.03rem;
		opacity: 1;
		transform: translateY(0);
		box-shadow: 0 10px 24px rgba(33, 29, 54, 0.18);
	}

	body.home .armony-nav--desktop .armony-nav__member-pill:hover,
	body.home .armony-nav--desktop .armony-nav__member-pill:focus,
	body.home .armony-nav--desktop .armony-nav__member-pill:focus-visible {
		border-color: rgba(255, 255, 255, 0.32);
		background-color: #a7a2d8;
		background-image: none;
		color: #ffffff;
		opacity: 1;
		transform: translateY(-2px);
		box-shadow: 0 14px 30px rgba(33, 29, 54, 0.2);
	}

	body.home .armony-nav--desktop .armony-nav__member-pill:active {
		border-color: rgba(255, 255, 255, 0.26);
		background-color: #938ec4;
		background-image: none;
		color: #ffffff;
		opacity: 1;
		transform: translateY(0);
		box-shadow: 0 8px 18px rgba(33, 29, 54, 0.16);
	}

	body.home.armony-header-scrolled .armony-nav__list > li > a:not(.armony-nav__member-pill):hover,
	body.home.armony-header-scrolled .armony-nav__list > li > a:not(.armony-nav__member-pill):focus-visible {
		color: #d2cef2;
	}
}

@media (max-width: 63.999rem) {
	.armony-site-header .armony-nav-toggle,
	body.home .armony-site-header .armony-nav-toggle,
	body.home.armony-header-scrolled .armony-site-header .armony-nav-toggle,
	body.armony-mobile-menu-open .armony-site-header .armony-nav-toggle {
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.armony-site-header .armony-nav-toggle:focus-visible {
		outline: 2px solid currentColor;
		outline-offset: 4px;
	}

	body.armony-mobile-menu-open .armony-site-header,
	body.armony-header-scrolled.armony-mobile-menu-open .armony-site-header,
	body.home.armony-header-scrolled.armony-mobile-menu-open .armony-site-header {
		background: transparent !important;
		border-bottom-color: transparent !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		box-shadow: none !important;
	}
}

@media (max-width: 47.999rem) {
	.armony-home-hero--source h1 {
		font-size: clamp(44px, 12.5vw, 56px);
	}
}

/* ==================================================
   FASE 5G — reconstrução independente do menu mobile
================================================== */
.armony-mobile-menu {
	display: none;
}

@media (max-width: 63.999rem) {
	html.armony-mobile-menu-open,
	body.armony-mobile-menu-open {
		overflow: hidden;
		overscroll-behavior: none;
	}

	.armony-nav--desktop {
		display: none;
	}

	body.armony-mobile-menu-open .armony-site-header {
		z-index: 1200;
	}

	body.armony-mobile-menu-open .armony-brand,
	body.armony-mobile-menu-open .armony-brand a,
	body.armony-mobile-menu-open .armony-nav-toggle {
		color: #f1f1ef !important;
	}

	.armony-mobile-menu {
		position: fixed;
		inset: 0;
		z-index: 1100;
		display: block;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		visibility: hidden;
		background:
			radial-gradient(circle at 82% 12%, rgba(147, 142, 196, 0.42), transparent 18rem),
			radial-gradient(circle at 10% 88%, rgba(92, 84, 141, 0.3), transparent 22rem),
			linear-gradient(145deg, #1d1f2d 0%, #29253f 54%, #1d1f2d 100%);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.75rem);
		transition: opacity 260ms ease, visibility 260ms ease, transform 260ms ease;
	}

	.armony-mobile-menu-open .armony-mobile-menu {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.armony-mobile-menu__inner {
		display: flex;
		width: min(100%, 42rem);
		min-height: 100%;
		flex-direction: column;
		justify-content: center;
		padding: calc(6.5rem + env(safe-area-inset-top)) clamp(1.5rem, 7vw, 3.5rem) calc(2rem + env(safe-area-inset-bottom));
		margin-inline: auto;
	}

	.armony-mobile-menu__eyebrow {
		margin: 0 0 1rem;
		color: #938fc4;
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: 0.16em;
		text-transform: uppercase;
	}

	.armony-mobile-menu__list {
		display: grid;
		gap: clamp(0.35rem, 1.6vh, 0.85rem);
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.armony-mobile-menu__list li {
		opacity: 0;
		transform: translateY(0.65rem);
		transition: opacity 220ms ease, transform 220ms ease;
	}

	.armony-mobile-menu-open .armony-mobile-menu__list li {
		opacity: 1;
		transform: translateY(0);
	}

	.armony-mobile-menu-open .armony-mobile-menu__list li:nth-child(2) { transition-delay: 35ms; }
	.armony-mobile-menu-open .armony-mobile-menu__list li:nth-child(3) { transition-delay: 70ms; }
	.armony-mobile-menu-open .armony-mobile-menu__list li:nth-child(4) { transition-delay: 105ms; }
	.armony-mobile-menu-open .armony-mobile-menu__list li:nth-child(5) { transition-delay: 140ms; }
	.armony-mobile-menu-open .armony-mobile-menu__list li:nth-child(6) { transition-delay: 175ms; }

	.armony-mobile-menu__list a {
		display: inline-flex;
		align-items: center;
		min-height: 2.75rem;
		color: #f1f1ef;
		font-family: var(--armony-font-serif);
		font-size: clamp(1.8rem, 8.2vw, 3.25rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: -0.035em;
		text-decoration: none;
		transition: color 180ms ease, transform 180ms ease;
	}

	.armony-mobile-menu__list a:hover,
	.armony-mobile-menu__list a:focus-visible,
	.armony-mobile-menu__list a[aria-current="page"]:not(.armony-mobile-menu__member) {
		color: #b8b3df;
		transform: translateX(0.25rem);
	}

	.armony-mobile-menu__list a:focus-visible {
		outline: 2px solid #938fc4;
		outline-offset: 0.35rem;
		border-radius: 0.25rem;
	}

	.armony-mobile-menu__list .armony-mobile-menu__member,
	.armony-mobile-menu__list .armony-mobile-menu__member:visited {
		width: fit-content;
		min-height: 3.25rem;
		padding: 0.85rem 1.35rem;
		margin-top: clamp(0.6rem, 2vh, 1.1rem);
		border: 1px solid rgba(255, 255, 255, 0.24);
		border-radius: 999px;
		background: linear-gradient(135deg, #a7a2d8, #938ec4);
		color: #ffffff;
		font-family: var(--armony-font-sans);
		font-size: clamp(1rem, 4.2vw, 1.2rem);
		font-weight: 750;
		line-height: 1.1;
		letter-spacing: 0.01em;
		box-shadow: 0 1rem 2.5rem rgba(8, 7, 18, 0.28);
	}

	.armony-mobile-menu__list .armony-mobile-menu__member:hover,
	.armony-mobile-menu__list .armony-mobile-menu__member:focus-visible,
	.armony-mobile-menu__list .armony-mobile-menu__member:active {
		background: #f1f1ef;
		color: #ffffff;
		transform: translateY(-0.1rem);
	}
}

@media (max-width: 47.999rem) {
	.armony-home-hero__actions,
	.armony-home-hero .armony-hero-buttons {
		width: 100%;
		align-items: center;
		margin-inline: auto;
	}
}

@media (max-width: 63.999rem) and (max-height: 40rem) {
	.armony-mobile-menu__inner {
		justify-content: flex-start;
		padding-top: calc(5.5rem + env(safe-area-inset-top));
	}

	.armony-mobile-menu__eyebrow {
		margin-bottom: 0.6rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.armony-mobile-menu,
	.armony-mobile-menu__list li,
	.armony-mobile-menu__list a {
		transition-duration: 0.01ms !important;
		transition-delay: 0ms !important;
	}
}

/* ==================================================
   FASE 5H — Header das páginas internas públicas
================================================== */
body:not(.home) .armony-site-header {
	background-color: rgba(241, 241, 239, 0.98);
	background-image: none;
	border-bottom-color: rgba(92, 84, 141, 0.16);
	-webkit-backdrop-filter: blur(12px) saturate(1.04);
	backdrop-filter: blur(12px) saturate(1.04);
	box-shadow: 0 1px 0 rgba(92, 84, 141, 0.04);
}

body:not(.home).armony-header-scrolled .armony-site-header {
	background-color: rgba(241, 241, 239, 0.84);
	background-image: none;
	border-bottom-color: rgba(147, 142, 196, 0.26);
	-webkit-backdrop-filter: blur(18px) saturate(1.08);
	backdrop-filter: blur(18px) saturate(1.08);
	box-shadow: 0 10px 28px rgba(92, 84, 141, 0.1);
}

body:not(.home) .armony-brand,
body:not(.home) .armony-brand a,
body:not(.home) .armony-nav--desktop a:not(.armony-nav__member-pill),
body:not(.home).armony-header-scrolled .armony-brand,
body:not(.home).armony-header-scrolled .armony-brand a,
body:not(.home).armony-header-scrolled .armony-nav--desktop a:not(.armony-nav__member-pill) {
	color: #3d385b;
	text-shadow: none;
}

body:not(.home) .armony-brand a:hover,
body:not(.home) .armony-brand a:focus-visible,
body:not(.home) .armony-nav--desktop a:not(.armony-nav__member-pill):hover,
body:not(.home) .armony-nav--desktop a:not(.armony-nav__member-pill):focus-visible {
	color: #938ec4;
}

body:not(.home) .armony-site-header .armony-nav-toggle {
	color: #5c548d;
}

@media (min-width: 64rem) {
	body:not(.home) .armony-nav--desktop .armony-nav__member-pill,
	body:not(.home) .armony-nav--desktop .armony-nav__member-pill:visited {
		border-color: rgba(255, 255, 255, 0.22);
		background-color: #938ec4;
		background-image: none;
		color: #ffffff;
		font-size: 1.03rem;
		font-weight: 400;
		line-height: 1;
		opacity: 1;
		transform: translateY(0);
		box-shadow: 0 10px 24px rgba(33, 29, 54, 0.18);
		transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
	}

	body:not(.home) .armony-nav--desktop .armony-nav__member-pill:hover,
	body:not(.home) .armony-nav--desktop .armony-nav__member-pill:focus,
	body:not(.home) .armony-nav--desktop .armony-nav__member-pill:focus-visible {
		border-color: rgba(255, 255, 255, 0.32);
		background-color: #a7a2d8;
		background-image: none;
		color: #ffffff;
		opacity: 1;
		transform: translateY(-2px);
		box-shadow: 0 14px 30px rgba(33, 29, 54, 0.2);
	}

	body:not(.home) .armony-nav--desktop .armony-nav__member-pill:active {
		border-color: rgba(255, 255, 255, 0.26);
		background-color: #938ec4;
		background-image: none;
		color: #ffffff;
		opacity: 1;
		transform: translateY(0);
		box-shadow: 0 8px 18px rgba(33, 29, 54, 0.16);
	}
}

/* ==================================================
   FASE 5J — logos editáveis no Header e Footer
================================================== */
.armony-brand .armony-header-logo {
	display: block;
	width: auto;
	max-width: 9rem;
	height: auto;
	max-height: 2.25rem;
	object-fit: contain;
}

.armony-footer-logo .armony-footer-logo-image {
	display: block;
	width: auto;
	max-width: 13rem;
	height: auto;
	max-height: 4.25rem;
	object-fit: contain;
}
