.sobre {
	position: relative;
	padding-block: var(--space-2xl);
	background: var(--color-bg-subtle);
	overflow: hidden;
}

.sobre .bg-decor span {
	width: 340px;
	height: 340px;
	top: -80px;
	right: 8%;
	background: var(--glow-verde);
	opacity: 0.55;
}

.sobre-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: var(--space-2xl);
	flex-wrap: wrap;
}

.sobre-foto {
	position: relative;
	flex-shrink: 0;
	transition: transform var(--dur-md) var(--ease-premium);
}

.sobre-foto:hover {
	transform: rotate(2deg) scale(1.02);
}

.sobre-foto::before {
	content: '';
	position: absolute;
	top: var(--space-md);
	left: var(--space-md);
	right: calc(-1 * var(--space-sm));
	bottom: calc(-1 * var(--space-sm));
	background: var(--color-accent);
	border-radius: var(--radius-lg);
	z-index: 0;
}

.sobre-foto img {
	position: relative;
	z-index: 1;
	border-radius: var(--radius-lg);
	max-width: 360px;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	box-shadow: var(--shadow-lg);
	border: 5px solid var(--color-bg-elevated);
	filter: grayscale(1) contrast(1.05);
	transition: filter 1.1s var(--ease-premium);
}

.sobre-foto.is-visible img {
	filter: grayscale(0) contrast(1);
}

.sobre-sticker {
	position: absolute;
	z-index: 2;
	top: -26px;
	right: -26px;
	width: 100px;
	height: 100px;
	animation: sobre-spin 12s linear infinite;
}

.sobre-sticker text {
	font-family: var(--font-base);
	font-size: 8.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	fill: var(--color-bg);
}

.sobre-sticker-disc {
	fill: var(--color-text);
}

@keyframes sobre-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.sobre-conteudo {
	flex: 1;
	min-width: 300px;
}

.sobre-titulo {
	max-width: none;
	font-size: var(--fs-3xl);
}

.sobre-texto {
	font-size: var(--fs-lg);
	color: var(--color-text-muted);
	max-width: 52ch;
	margin-bottom: var(--space-md);
}

.sobre-texto::first-letter {
	font-family: var(--font-display);
	font-size: 3.2em;
	font-weight: 700;
	float: left;
	line-height: 0.8;
	margin-right: 0.08em;
	margin-top: 0.06em;
	color: var(--color-accent-dark);
}

.sobre-cta {
	margin-top: var(--space-xs);
}

@media (prefers-reduced-motion: reduce) {
	.sobre-sticker {
		animation: none;
	}
}
