/* About page motion — scroll reveals + hover states */

/* keep the "LET'S TALK" CTA button on one line even if the row gets squeezed */
.aa-cta-btn-wrap {
	flex-shrink: 0;
}

.aa-cta-btn-wrap .elementor-button,
.aa-cta-btn-wrap .elementor-button-text {
	white-space: nowrap;
}

/* the hero photo fades to white on the left where the header sits, so the site's
   default white nav text/logo need a dark override there - but ONLY while the header
   is transparent (unstuck). Once scrolled, .main-header.elementor-sticky--effects gets a
   solid dark navy background of its own, where the default white text is already correct. */
body.page-id-15 .main-header:not(.elementor-sticky--effects) .elementor-item {
	color: #091A2F !important;
}

body.page-id-15 .main-header:not(.elementor-sticky--effects) .elementor-item-active,
body.page-id-15 .main-header:not(.elementor-sticky--effects) .elementor-item:hover {
	color: #FF9600 !important;
}

body.page-id-15 .main-header:not(.elementor-sticky--effects) img[class*="wp-image"] {
	filter: brightness(0);
}

body.page-id-15 .main-header:not(.elementor-sticky--effects) .elementor-menu-toggle {
	color: #091A2F !important;
}

.aa-reveal {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity .7s ease, transform .7s ease;
	will-change: opacity, transform;
}

.aa-reveal.aa-in {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.aa-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.aa-hero-in img {
		animation: none;
	}
}

/* Integrity / Trust / Quality, Collaborate / Plan / Build / Deliver */
.aa-value-block,
.aa-process-step {
	transition: transform .35s ease;
}

.aa-value-block:hover,
.aa-process-step:hover {
	transform: translateY(-6px);
}

.aa-value-block svg,
.aa-process-step svg {
	transition: transform .35s ease;
}

.aa-value-block:hover svg,
.aa-process-step:hover svg {
	transform: scale(1.12) rotate(-4deg);
}

/* decorative gold frame offset behind the "Building Homes" photo */
.aa-framed-photo {
	position: relative;
}

.aa-framed-photo::before {
	content: "";
	position: absolute;
	top: -16px;
	left: -16px;
	width: 100%;
	height: 100%;
	border: 2px solid #B08D57;
	z-index: 0;
}

.aa-framed-photo > .elementor-widget-image {
	position: relative;
	z-index: 1;
	max-height: 480px;
	overflow: hidden;
}

.aa-framed-photo > .elementor-widget-image img {
	width: 100%;
	height: 480px;
	object-fit: cover;
}

/* photo hover zoom */
.elementor-widget-image {
	overflow: hidden;
}

.elementor-widget-image img {
	transition: transform .6s ease;
}

.elementor-widget-image:hover img {
	transform: scale(1.05);
}

/* buttons */
.elementor-button {
	transition: transform .25s ease, box-shadow .25s ease;
}

.elementor-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}

/* hero image: soft scale-in on load */
.aa-hero-in img {
	animation: aaHeroIn 1.1s ease both;
}

@keyframes aaHeroIn {
	from {
		opacity: 0;
		transform: scale(1.06);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
