/* =====================================================
   PÁGINA SOBRE
   Layout editorial + fundo único + glass Amalco

   GUIA RÁPIDO:
   - Imagem de fundo da página: .sobre-page::before
   - Altura da hero: .sobre-hero
   - Título principal da hero: .sobre-hero__title
   - Subtítulo da hero: .sobre-hero__text
   - Foto Tatiane / imagem institucional: .sobre-media
   - Blocos de texto em vidro: .sobre-copy
   - Títulos das seções: .section-title, .sobre-copy h2
   - Textos das seções: .section-text, .sobre-copy p
   - Cards pequenos: .highlight-item, .sobre-atuacao__item, .sobre-diferencial
   - CTA final: .sobre-cta__box / .sobre-cta__button

   Paleta:
   - Amarelo Amalco: #f7ad04
   - Branco: #ffffff
   - Fundo base claro: #f6f5f1
===================================================== */

.sobre-page {
	position: relative;
	min-height: 100vh;
	color: #ffffff;
	overflow: hidden;
	background: #f6f5f1;
}

/* =====================================================
   FUNDO FIXO DA PÁGINA INTEIRA
===================================================== */

.sobre-page::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;

	background-image: url("../../img/hero-sobre2.jpg");
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;

	opacity: 1;
	filter: none;

	transform: scale(1.01);
	pointer-events: none;
}

.sobre-page::after {
	display: none !important;
	content: none !important;
}

.sobre-page > * {
	position: relative;
	z-index: 1;
}

/* =====================================================
   HERO SOBRE
===================================================== */

.sobre-hero {
	position: relative;
	min-height: 95vh;

	display: flex;
	align-items: center;

	padding: 112px 0 64px;

	background: transparent !important;
	color: #ffffff;
	overflow: hidden;
}

/* Overlay apenas da hero */
.sobre-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;

	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.46) 0%,
			rgba(0, 0, 0, 0.28) 38%,
			rgba(0, 0, 0, 0.08) 72%,
			rgba(0, 0, 0, 0.00) 100%
		),
		linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.18) 0%,
			rgba(0, 0, 0, 0.04) 48%,
			rgba(0, 0, 0, 0.20) 100%
		);

	pointer-events: none;
}

.sobre-hero::after {
	display: none !important;
	content: none !important;
}

.sobre-hero .container {
	position: relative;
	z-index: 2;
}

.sobre-hero__content {
	position: relative;
	z-index: 2;

	max-width: 640px;

	padding: 0 !important;

	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;

	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Linha editorial da hero */
.sobre-hero__content::after {
	content: "";
	display: block;

	width: 92px;
	height: 1px;

	margin-top: 30px;

	background: rgba(247, 173, 4, 0.72);
}

/* Rótulo pequeno da hero */
.sobre-hero__eyebrow {
	display: inline-block;

	margin-bottom: 18px;

	font-family: inherit;
	font-size: 18px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: 0.30em;
	text-transform: uppercase;

	color: #f7ad04;

	text-shadow:
		0 8px 24px rgba(0, 0, 0, 0.32);
}

/* Compatibilidade com kicker antigo */
.sobre-hero__kicker {
	display: none !important;
}

/* Título principal da hero */
.sobre-hero__title {
	max-width: 700px;

	margin: 0 0 24px;

	font-family: inherit;
	font-size: clamp(34px, 4.2vw, 60px);
	line-height: 1.08;
	font-weight: 300;

	text-transform: uppercase;
	letter-spacing: 0.04em;

	color: #ffffff;

	text-shadow:
		0 16px 42px rgba(0, 0, 0, 0.38);
}

/* Texto / subtítulo da hero */
.sobre-hero__text {
	max-width: 540px;

	margin: 0;

	font-family: inherit;
	font-size: clamp(12px, 0.9vw, 14px);
	line-height: 1.78;
	font-weight: 500;
	letter-spacing: 0.13em;
	text-transform: uppercase;

	color: rgba(215, 215, 215, 0.88);

	text-shadow:
		0 8px 24px rgba(0, 0, 0, 0.28);
}

/* =====================================================
   SEÇÕES COM IMAGEM + TEXTO
===================================================== */

.sobre-section {
	position: relative;
	padding: 96px 0;
	background: transparent !important;
}

/* Módulo Tatiane */
.sobre-section--tatiane {
	padding-top: 92px;
	padding-bottom: 64px;
}

/* Módulo A Amalco */
.sobre-section--institucional {
	padding-top: 64px;
	padding-bottom: 96px;
}

/* =====================================================
   GRID IMAGEM + TEXTO
   AJUSTE DE ALINHAMENTO APLICADO AQUI
===================================================== */

.sobre-grid,
.sobre-grid--reverse {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 54px;
	align-items: stretch;
}

/* Mantém o módulo A Amalco: texto à esquerda / imagem à direita */
.sobre-grid--reverse .sobre-copy {
	order: 1;
}

.sobre-grid--reverse .sobre-media {
	order: 2;
}

/* =====================================================
   IMAGENS — FOTO TATIANE / IMAGEM INSTITUCIONAL
===================================================== */

.sobre-media {
	position: relative;
	display: block;

	min-height: 620px;
	height: 100%;

	overflow: hidden;

	border: 1px solid rgba(255, 255, 255, 0.34);

	background: rgba(255, 255, 255, 0.040);

	backdrop-filter: blur(20px) saturate(150%);
	-webkit-backdrop-filter: blur(20px) saturate(150%);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.15),
		0 18px 44px rgba(0, 0, 0, 0.11);
}

/* Overlay sutil sobre as imagens */
.sobre-media::after {
	content: "";
	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.00),
			rgba(0, 0, 0, 0.16)
		);

	pointer-events: none;
}

.sobre-media img {
	position: absolute;
	inset: 0;

	display: block;
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center center;

	filter: saturate(0.98) contrast(1.02);

	transition:
		transform 0.75s ease,
		filter 0.75s ease;
}

/* Ajuste individual da foto da Tatiane */
.sobre-section--tatiane .sobre-media img {
	object-position: center center;
}

/* Ajuste individual da imagem institucional */
.sobre-section--institucional .sobre-media img {
	object-position: center center;
}

.sobre-media:hover img {
	transform: scale(1.035);
	filter: saturate(1.04) contrast(1.04);
}

/* =====================================================
   BLOCO DE TEXTO — GLASS
===================================================== */

.sobre-copy {
	position: relative;

	display: flex;
	flex-direction: column;
	justify-content: center;

	min-height: 620px;
	height: 100%;

	padding: 56px;

	border: 1px solid rgba(255, 255, 255, 0.30);

	background: rgba(255, 255, 255, 0.048);

	backdrop-filter: blur(32px) saturate(172%);
	-webkit-backdrop-filter: blur(20px) saturate(172%);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.16),
		0 18px 44px rgba(0, 0, 0, 0.11);
}

/* =====================================================
   KICKERS DAS SEÇÕES
===================================================== */

.section-kicker,
.sobre-section__kicker {
	display: inline-block;
	margin-bottom: 18px;

	font-family: inherit;
	font-size: 15px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: 0.30em;
	text-transform: uppercase;

	color: #f7ad04;

	text-shadow:
		0 8px 24px rgba(0, 0, 0, 0.28);
}

/* =====================================================
   TÍTULOS DAS SEÇÕES
===================================================== */

.section-title,
.sobre-copy h2 {
	max-width: 780px;
	margin: 0 0 24px;

	font-family: inherit;
	font-size: clamp(30px, 3.4vw, 50px);
	line-height: 1.08;
	font-weight: 300;

	text-transform: uppercase;
	letter-spacing: 0.035em;

	color: #ffffff;

	text-shadow:
		0 14px 36px rgba(0, 0, 0, 0.30);
}

/* =====================================================
   TEXTOS DAS SEÇÕES
===================================================== */

.section-text,
.sobre-copy p {
	max-width: 760px;
	margin: 0 0 18px;

	font-family: inherit;
	font-size: 16px;
	line-height: 1.84;
	font-weight: 400;

	color: rgba(235, 235, 235, 0.82);
}

.section-text:last-child,
.sobre-copy p:last-child {
	margin-bottom: 0;
}

/* =====================================================
   HIGHLIGHTS — BLOCO TATIANE
===================================================== */

.sobre-highlights {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;

	margin-top: 34px;

	align-items: stretch;
}

.highlight-item {
	position: relative;

	min-height: 140px;
	height: 100%;

	padding: 24px 20px;

	border: 1px solid rgba(255, 255, 255, 0.28);

	background: rgba(255, 255, 255, 0.050);

	backdrop-filter: blur(24px) saturate(160%);
	-webkit-backdrop-filter: blur(24px) saturate(160%);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.14),
		0 14px 34px rgba(0, 0, 0, 0.09);
}

.highlight-item strong {
	display: block;
	margin-bottom: 10px;

	font-family: inherit;
	font-size: clamp(26px, 2.4vw, 38px);
	line-height: 1;
	font-weight: 800;

	color: #f7ad04;
}

.highlight-item span {
	display: block;

	font-family: inherit;
	font-size: 12px;
	line-height: 1.55;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;

	color: rgba(255, 255, 255, 0.82);
}

/* =====================================================
   ATUAÇÃO
===================================================== */

.sobre-atuacao {
	position: relative;
	padding: 104px 0;
	background: transparent !important;
}

.sobre-section__header {
	max-width: 860px;
	margin-bottom: 58px;
}

.sobre-section__header--center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/* Títulos dos headers de seção */
.sobre-section__header h2 {
	margin: 0;

	font-family: inherit;
	font-size: clamp(30px, 3.4vw, 54px);
	line-height: 1.08;
	font-weight: 300;

	text-transform: uppercase;
	letter-spacing: 0.035em;

	color: #ffffff;

	text-shadow:
		0 14px 36px rgba(0, 0, 0, 0.30);
}

.sobre-atuacao__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

/* Cards de atuação */
.sobre-atuacao__item {
	position: relative;

	min-height: 320px;
	padding: 34px 30px;

	border: 1px solid rgba(255, 255, 255, 0.32);

	background: rgba(255, 255, 255, 0.050);

	backdrop-filter: blur(30px) saturate(170%);
	-webkit-backdrop-filter: blur(30px) saturate(170%);

	overflow: hidden;

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.15),
		0 18px 44px rgba(0, 0, 0, 0.11);

	transition:
		transform 0.35s ease,
		border-color 0.35s ease,
		background 0.35s ease,
		box-shadow 0.35s ease;
}

.sobre-atuacao__item::before {
	display: none !important;
	content: none !important;
}

.sobre-atuacao__item:hover {
	transform: translateY(-6px);

	border-color: rgba(255, 255, 255, 0.46);
	background: rgba(255, 255, 255, 0.075);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.20),
		0 28px 64px rgba(0, 0, 0, 0.15);
}

.sobre-atuacao__item span {
	display: inline-block;

	margin-bottom: 44px;

	font-family: inherit;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.18em;

	color: #f7ad04;
}

.sobre-atuacao__item h3 {
	margin: 0 0 18px;

	font-family: inherit;
	font-size: 23px;
	line-height: 1.15;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: 0.06em;

	color: #ffffff;
}

.sobre-atuacao__item p {
	margin: 0;

	font-family: inherit;
	font-size: 15px;
	line-height: 1.78;

	color: rgba(235, 235, 235, 0.78);
}

/* =====================================================
   DIFERENCIAIS
===================================================== */

.sobre-diferenciais {
	position: relative;
	padding: 104px 0;
	background: transparent !important;
}

.sobre-diferenciais__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;

	background: transparent !important;
	border: 0 !important;
}

/* Cards de diferenciais */
.sobre-diferencial {
	min-height: 290px;
	padding: 32px 26px;

	border: 1px solid rgba(255, 255, 255, 0.30);

	background: rgba(255, 255, 255, 0.045);

	backdrop-filter: blur(28px) saturate(165%);
	-webkit-backdrop-filter: blur(28px) saturate(165%);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.14),
		0 16px 40px rgba(0, 0, 0, 0.10);

	transition:
		transform 0.35s ease,
		border-color 0.35s ease,
		background 0.35s ease,
		box-shadow 0.35s ease;
}

.sobre-diferencial:hover {
	transform: translateY(-5px);

	border-color: rgba(255, 255, 255, 0.44);
	background: rgba(255, 255, 255, 0.070);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.20),
		0 26px 60px rgba(0, 0, 0, 0.14);
}

.sobre-diferencial h3 {
	margin: 0 0 18px;

	font-family: inherit;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: 0.06em;

	color: #f7ad04;
}

.sobre-diferencial p {
	margin: 0;

	font-family: inherit;
	font-size: 14px;
	line-height: 1.78;

	color: rgba(235, 235, 235, 0.78);
}

/* =====================================================
   CTA FINAL
===================================================== */

.sobre-cta {
	position: relative;
	padding: 104px 0 128px;
	background: transparent !important;
}

.sobre-cta__box {
	position: relative;
	overflow: hidden;

	padding: 62px 54px;

	border: 1px solid rgba(255, 255, 255, 0.34);

	background: rgba(255, 255, 255, 0.055);

	backdrop-filter: blur(34px) saturate(175%);
	-webkit-backdrop-filter: blur(34px) saturate(175%);

	color: #ffffff;

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.18),
		0 20px 52px rgba(0, 0, 0, 0.14);
}

.sobre-cta__box::before,
.sobre-cta__box::after {
	display: none !important;
	content: none !important;
}

.sobre-cta__box > * {
	position: relative;
	z-index: 1;
}

.sobre-cta__box h2 {
	max-width: 850px;
	margin: 0 0 32px;

	font-family: inherit;
	font-size: clamp(30px, 3.4vw, 54px);
	line-height: 1.08;
	font-weight: 300;

	text-transform: uppercase;
	letter-spacing: 0.035em;

	color: #ffffff;
}

/* Botão CTA */
.sobre-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: min(280px, 100%);
	min-height: 54px;

	padding: 0 28px;

	border-radius: 999px;

	background:
		linear-gradient(
			135deg,
			#ffe07a 0%,
			#f7ad04 36%,
			#f9c33e 66%,
			#e4a000 100%
		);

	color: #ffffff;

	border: 1px solid rgba(255, 255, 255, 0.26);

	font-family: inherit;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.10em;
	text-transform: uppercase;

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.36),
		0 10px 24px rgba(247, 173, 4, 0.24);

	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease,
		filter 0.3s ease;
}

.sobre-cta__button:hover {
	transform: translateY(-2px);

	filter: brightness(1.05);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.44),
		0 14px 30px rgba(247, 173, 4, 0.30);
}

/* =====================================================
   COMPATIBILIDADE COM BLOCOS ANTIGOS
   Pode manter enquanto ainda houver HTML antigo.
===================================================== */

.sobre-manifesto,
.sobre-grupo {
	position: relative;
	padding: 96px 0;
	background: transparent !important;
}

.sobre-manifesto__grid,
.sobre-grupo__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 34px;

	padding: 54px;

	border: 1px solid rgba(255, 255, 255, 0.30);

	background: rgba(255, 255, 255, 0.045);

	backdrop-filter: blur(30px) saturate(170%);
	-webkit-backdrop-filter: blur(30px) saturate(170%);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.15),
		0 18px 44px rgba(0, 0, 0, 0.11);
}

.sobre-manifesto__content h2,
.sobre-grupo__content h2 {
	font-family: inherit;
	color: #ffffff;
}

.sobre-manifesto__content p,
.sobre-grupo__content p {
	color: rgba(235, 235, 235, 0.82);
}

/* =====================================================
   RESPONSIVO TABLET
===================================================== */

@media (max-width: 1100px) {
	.sobre-grid,
	.sobre-grid--reverse {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.sobre-grid--reverse .sobre-copy,
	.sobre-grid--reverse .sobre-media {
		order: initial;
	}

	.sobre-media,
	.sobre-copy {
		min-height: auto;
	}

	.sobre-media {
		height: 560px;
	}

	.sobre-media img {
		position: absolute;
		inset: 0;
	}

	.sobre-highlights,
	.sobre-atuacao__grid {
		grid-template-columns: 1fr;
	}

	.sobre-diferenciais__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* =====================================================
   RESPONSIVO MOBILE
===================================================== */

@media (max-width: 700px) {
	.sobre-page::before {
		background-position: center right;
	}

	.sobre-hero {
		min-height: 76svh;
		padding: 96px 0 54px;
	}

	.sobre-hero::before {
		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.54) 0%,
				rgba(0, 0, 0, 0.34) 60%,
				rgba(0, 0, 0, 0.14) 100%
			);
	}

	.sobre-hero__content::after {
		width: 86px;
		margin-top: 26px;
	}

	.sobre-hero__eyebrow {
		font-size: 10px;
		letter-spacing: 0.24em;
		margin-bottom: 18px;
	}

	.sobre-hero__title {
		font-size: clamp(30px, 9vw, 46px);
		line-height: 1.1;
		letter-spacing: 0.035em;
		margin-bottom: 20px;
	}

	.sobre-hero__text {
		font-size: 11.5px;
		line-height: 1.72;
		letter-spacing: 0.11em;
	}

	.sobre-section,
	.sobre-manifesto,
	.sobre-grupo,
	.sobre-atuacao,
	.sobre-diferenciais,
	.sobre-cta {
		padding: 72px 0;
	}

	.sobre-section--tatiane,
	.sobre-section--institucional {
		padding-top: 72px;
		padding-bottom: 72px;
	}

	.sobre-grid,
	.sobre-grid--reverse {
		gap: 28px;
	}

	.sobre-media {
		height: 400px;
	}

	.sobre-copy,
	.sobre-manifesto__grid,
	.sobre-grupo__inner,
	.sobre-cta__box {
		padding: 36px 26px;
	}

	.section-title,
	.sobre-copy h2,
	.sobre-section__header h2,
	.sobre-cta__box h2 {
		font-size: clamp(28px, 8vw, 42px);
	}

	.section-text,
	.sobre-copy p {
		font-size: 15px;
	}

	.sobre-highlights {
		grid-template-columns: 1fr;
	}

	.sobre-diferenciais__grid {
		grid-template-columns: 1fr;
	}

	.sobre-cta__button {
		width: 100%;
	}
}

/* =====================================================
   ANIMAÇÕES DA PÁGINA SOBRE
===================================================== */

.sobre-reveal {
	opacity: 1;
	transform: none;
}

.sobre-animation-ready .sobre-reveal {
	opacity: 0;
	transform: translateY(28px);

	transition:
		opacity 0.7s ease,
		transform 0.7s ease;
}

.sobre-animation-ready .sobre-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.sobre-animation-ready .sobre-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* =====================================================
   OVERLAY PROGRESSIVO DAS PÁGINAS INTERNAS
   Efeito:
   - Página começa mais escura
   - Conforme rola, o overlay escuro vai sumindo
   - Não aplica blur na imagem

   AJUSTE AQUI:
   --internal-bg-overlay: força inicial do escurecimento
===================================================== */

.empreendimentos-page,
.contato-page,
.sobre-page {
	/* AJUSTE AQUI: escuro inicial da imagem */
	--internal-bg-overlay: 0.42;
}

/* Overlay global controlado pelo JS */
.empreendimentos-page::after,
.contato-page::after,
.sobre-page::after {
	content: "" !important;
	display: block !important;

	position: fixed;
	inset: 0;
	z-index: 0;

	background: rgba(0, 0, 0, var(--internal-bg-overlay));

	pointer-events: none;

	transition: background 0.08s linear;
}

/* Garante que o conteúdo continue acima da imagem e do overlay */
.empreendimentos-page > *,
.contato-page > *,
.sobre-page > * {
	position: relative;
	z-index: 1;
}

/* =====================================================
   DESLIGA OVERLAYS ANTIGOS DA HERO
   Importante para não escurecer duas vezes
===================================================== */

.contato-hero::before,
.sobre-hero::before {
	display: none !important;
	content: none !important;
}