/**
 * Block: about (image with decorative frame + text)
 * Block: about-feature (highlight card inside the about text column)
 */

.about {
	overflow: hidden;
	padding: var(--aqua-section-space) 0;
}

.about__media {
	position: relative;
	height: 100%;
	margin: 30px 0 0 30px;
	padding-bottom: 30px;
}

/* Decorative frame lines (top and left). */
.about__media::before,
.about__media::after {
	content: "";
	position: absolute;
	border-radius: var(--aqua-radius-sm);
	background: var(--aqua-secondary);
}

.about__media::before {
	top: -30px;
	right: 0;
	width: 100%;
	height: 10px;
}

.about__media::after {
	bottom: 30px;
	left: -30px;
	width: 10px;
	height: 100%;
}

.about__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 520px;
	border-radius: 0.375rem;
	object-fit: cover;
}

.about__badge {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 230px;
	margin: -30px 0 0 -30px;
	padding: 25px;
	border-radius: var(--aqua-radius-sm);
	background: var(--aqua-secondary);
	color: var(--aqua-white);
	font-family: var(--aqua-font-heading);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	box-shadow: 0 20px 40px rgba(25, 64, 154, 0.35);
}

.about__text {
	margin-bottom: 1.5rem;
}

.about__text p {
	line-height: 1.8;
}

.about__text p:last-child {
	margin-bottom: 0;
}

.about__button {
	margin-top: 0.5rem;
}

.about-feature {
	display: flex;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
	padding: 1.5rem;
	border-radius: 0.375rem;
	background: var(--aqua-light);
	transition: transform 0.4s var(--aqua-ease), box-shadow 0.4s ease, background-color 0.4s ease;
}

.about-feature:hover {
	background: var(--aqua-white);
	box-shadow: var(--aqua-shadow);
	transform: translateX(6px);
}

.about-feature__icon {
	display: flex;
	flex: 0 0 72px;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--aqua-gradient);
	color: var(--aqua-white);
	font-size: 2em;
}

.about-feature__title {
	margin-bottom: 0.5rem;
	color: var(--aqua-dark);
	font-size: calc(1.275rem + 0.3vw);
}

.about-feature__text {
	margin: 0;
}

@media (min-width: 1200px) {
	.about-feature__title {
		font-size: 1.5rem;
	}
}
