.about-opulence {
    padding: 80px 24px;
    color: #111;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* HEADER */
.about-header {
    max-width: 700px;
    text-align: center;
    margin-bottom: 80px;
}

.kicker {
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #888;
    display: block;
    margin-bottom: 18px;
}

.about-header h2 {
    font-size: 44px;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin-bottom: 14px;
    font-family: 'styled-serif';
}

.about-header p {
    font-size: 16px;
    line-height: 1.8;
    color: #555;
}

/* DYNAMIC CONTENT AREA */
.dynamic-features {
    width: 100%;
    max-width: 900px;
    margin-bottom: 90px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* FOOTER CTA */
.about-footer {
    max-width: 650px;
    text-align: center;
}

.about-footer h3 {
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 12px;
}

.about-footer p {
    font-size: 15px;
    color: #555;
    line-height: 1.7;
    margin-bottom: 30px;
}

.cta-button {
    display: inline-block;
    padding: 12px 22px;
    border: 1px solid #111;
    color: #111;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: all 0.25s ease;
}

.cta-button:hover {
    background: #111;
    color: #fff;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .about-header h2 {
        font-size: 34px;
    }

    .about-opulence {
        padding: 100px 20px;
    }
}

.about-feature {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 80px;
    padding: 60px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.about-feature--reverse {
    flex-direction: row-reverse;
}

/* TEXT SIDE */
.about-feature__content {
    flex: 1;
    max-width: 520px;
}

.about-feature__kicker {
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 12px;
}

.about-feature__content p {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin: 0;
}

/* IMAGE SIDE */
.about-feature__image {
    flex: 1;
    max-width: 420px;
    overflow: hidden;
}

.about-feature__image img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    filter: contrast(1.05) saturate(0.95);
    transition: transform 0.4s ease;
}

.about-feature__image:hover img {
    transform: scale(1.03);
}

/* MOBILE */
@media (max-width: 768px) {
    .about-feature {
        flex-direction: column;
        gap: 30px;
        text-align: left;
    }

    .about-feature--reverse {
        flex-direction: column;
    }

    .about-feature__image img {
        height: 260px;
    }
}


/* Feature Blocks */
.feature-block {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 30px;
	background-color: rgb(246 246 244);
	overflow: hidden;
}

/* Alternate Order for Every Other Block */
.feature-block.reverse {
    flex-direction: row-reverse;
}

/* Feature Text */
.feature-text {
    flex: 1;
    padding: 20px;
    text-align: left;
}

.feature-text h3 {
    font-size: 1.8rem;
    color: #4a90e2;
    margin-bottom: 15px;
    margin-top: 0;
    font-weight: 600;
}

.feature-text p {
    font-size: 1.1rem;
    color: var(--dim-text-color);
    line-height: 1.7;
    white-space: break-spaces;
}

/* Feature Image */
.feature-image {
    flex: 1;
    overflow: hidden;
    height: 300px;
}

.feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-in-out;
}

/* Image Hover Effect */
.feature-image img:hover {
    transform: scale(1.05);
}


@media (max-width: 768px) {
    .feature-block {
        flex-direction: column;
        text-align: center;
        gap: 0;
    }
    .feature-block.reverse {
        flex-direction: column;
    }
}

@media (max-width: 500px) {
    .feature-image {
        height: 230px;
		flex: unset;
		width: 100%;
    }
}