/*
 * Home Option A — exact styles from taylor-home-option-a.html
 * Scoped under .hoa; existing site header/footer untouched.
 */
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Source+Sans+3:wght@400;600;700&display=swap");

.hoa {
	--hoa-navy: #1a2140;
	--hoa-navy-2: #243049;
	--hoa-steel: #2b3a55;
	--hoa-blue: #1f6f9c;
	--hoa-blue-light: #9fd3f0;
	--hoa-ink: #1a2140;
	--hoa-muted: #4a5468;
	--hoa-paper: #f4f6f9;
	--hoa-white: #fff;
	--hoa-display: "Barlow Condensed", sans-serif;
	--hoa-body: "Source Sans 3", sans-serif;
	--hoa-max: 1280px;
	--hoa-ease: cubic-bezier(.2, .7, .2, 1);
	margin: 0;
	color: var(--hoa-ink);
	font-family: var(--hoa-body);
	background: var(--hoa-white);
	-webkit-font-smoothing: antialiased;
}

/* Remove YOOtheme content wrapper only on this template */
body.page-template-page-template-home-option-a-php .tm-main {
	padding: 0 !important;
}

body.page-template-page-template-home-option-a-php .tm-main > .uk-container {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.page-template-page-template-home-option-a-php .tm-main > .uk-container > .uk-grid {
	margin: 0 !important;
	display: block !important;
}

body.page-template-page-template-home-option-a-php .tm-main > .uk-container > .uk-grid > [class*="uk-width-"] {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
}

body.page-template-page-template-home-option-a-php .tm-sidebar,
body.page-template-page-template-home-option-a-php .uk-grid-divider > :not(.uk-first-column)::before,
body.page-template-page-template-home-option-a-php .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
	display: none !important;
}

/*
 * Site has a legacy rule: `.home .footer-1 { display: none; }`
 * (old homepage hid YOOtheme footer sections). Home Option A IS the
 * front page now, so restore the real footer — only keep Client
 * Testimonials (#footer-testimonial) hidden.
 */
body.home.page-template-page-template-home-option-a-php .footer-1 {
	display: block !important;
}

body.home.page-template-page-template-home-option-a-php #footer-testimonial,
body.page-template-page-template-home-option-a-php #footer-testimonial {
	display: none !important;
}

@media (max-width: 959px) {
	body.home.page-template-page-template-home-option-a-php .footer-1.uk-visible\@m {
		display: none !important;
	}
}

@media (min-width: 1200px) {
	body.home.page-template-page-template-home-option-a-php .footer-1.uk-hidden\@l {
		display: none !important;
	}
}

.hoa *,
.hoa *::before,
.hoa *::after {
	box-sizing: border-box;
}

.hoa img {
	display: block;
	max-width: 100%;
}

.hoa a {
	color: inherit;
	text-decoration: none;
}

.hoa-wrap {
	max-width: var(--hoa-max);
	margin: 0 auto;
	padding: 0 24px;
}

/* Buttons — match HTML .btn */
.hoa-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 30px;
	font-family: var(--hoa-body);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: .5px;
	line-height: 1;
	text-decoration: none;
	transition: transform .25s var(--hoa-ease), background .25s, color .25s;
}

.hoa-button:hover {
	transform: translateY(-2px);
}

.hoa-button svg {
	width: 18px;
	height: 18px;
	transition: transform .25s var(--hoa-ease);
}

.hoa-button:hover svg {
	transform: translateX(4px);
}

.hoa-button--blue {
	background: var(--hoa-blue);
	color: var(--hoa-white);
	clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%);
}

.hoa-button--blue:hover {
	background: #185a80;
	color: var(--hoa-white);
}

.hoa-button--outline {
	border: 2px solid var(--hoa-white);
	color: var(--hoa-white);
	background: transparent;
}

.hoa-button--outline:hover {
	background: var(--hoa-white);
	color: var(--hoa-navy);
}

/* Hero — exact HTML values */
.hoa-hero {
	position: relative;
	height: calc(100vh - 88px);
	min-height: 600px;
	max-height: 860px;
	overflow: hidden;
	background: var(--hoa-navy);
	color: var(--hoa-white);
}

.hoa-hero__slides {
	position: absolute;
	inset: 0;
}

.hoa-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.4s ease-in-out;
}

.hoa-hero__slide.is-active {
	opacity: 1;
}

.hoa-hero__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: none;
}

.hoa-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(15, 20, 42, .88) 0%, rgba(15, 20, 42, .6) 45%, rgba(15, 20, 42, .15) 100%);
	pointer-events: none;
}

.hoa-hero__content {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.hoa-eyebrow {
	font-weight: 700;
	letter-spacing: 3px;
	font-size: 14px;
	color: var(--hoa-blue-light);
	text-transform: uppercase;
}

.hoa-hero h1,
.hoa-hero .hoa-hero__title {
	font-family: var(--hoa-display);
	font-weight: 700;
	font-size: clamp(46px, 6.2vw, 84px);
	line-height: 1;
	letter-spacing: 1px;
	margin: 16px 0 0;
	max-width: 820px;
	text-transform: uppercase;
	color: var(--hoa-white);
}

.hoa-hero h1 span,
.hoa-hero .hoa-hero__title span {
	display: block;
}

.hoa-hero h1 .hoa-accent,
.hoa-hero .hoa-hero__title .hoa-accent {
	color: var(--hoa-blue-light);
}

.hoa-hero__copy > p {
	font-size: clamp(18px, 1.6vw, 21px);
	line-height: 1.55;
	max-width: 600px;
	margin: 22px 0 0;
	color: #e3e8f0;
}

.hoa-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 36px;
}

.hoa-hero__copy > * {
	opacity: 0;
	transform: translateY(24px);
	animation: hoa-rise .9s var(--hoa-ease) forwards;
}

.hoa-hero__copy > *:nth-child(2) { animation-delay: .12s; }
.hoa-hero__copy > *:nth-child(3) { animation-delay: .24s; }
.hoa-hero__copy > *:nth-child(4) { animation-delay: .36s; }

@keyframes hoa-rise {
	to {
		opacity: 1;
		transform: none;
	}
}

/* Projects section */
.hoa-section {
	position: relative;
	padding: 96px 0;
}

.hoa-projects {
	background: var(--hoa-white);
}

.hoa-section-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
}

.hoa-section-head h2 {
	font-family: var(--hoa-display);
	font-weight: 700;
	font-size: clamp(38px, 4.4vw, 56px);
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
	color: var(--hoa-ink);
}

.hoa-section-head p {
	margin: 12px 0 0;
	color: var(--hoa-muted);
	font-size: 18px;
	max-width: 560px;
	line-height: 1.55;
}

.hoa-text-link {
	font-weight: 700;
	font-size: 17px;
	text-decoration: none;
	color: var(--hoa-blue);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.hoa-text-link svg {
	width: 18px;
	height: 18px;
	transition: transform .25s var(--hoa-ease);
}

.hoa-text-link:hover svg {
	transform: translateX(5px);
}

.hoa-project-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 18px;
	margin-top: 44px;
}

.hoa-project-card {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--hoa-steel);
	text-decoration: none;
	color: var(--hoa-white);
	min-height: 300px;
	grid-column: span 4;
}

.hoa-project-card--wide {
	grid-column: span 6;
	min-height: 380px;
}

.hoa-project-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s var(--hoa-ease);
}

.hoa-project-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(15, 20, 42, 0) 35%, rgba(15, 20, 42, .9) 100%);
	transition: background .5s;
}

.hoa-project-card:hover img {
	transform: scale(1.08);
}

.hoa-project-card:hover::before {
	background: linear-gradient(180deg, rgba(31, 111, 156, .25) 0%, rgba(15, 20, 42, .92) 100%);
}

.hoa-project-card__body {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 26px 28px;
}

.hoa-project-card__tag {
	font-size: 12px;
	letter-spacing: 2px;
	font-weight: 700;
	color: var(--hoa-blue-light);
	text-transform: uppercase;
}

.hoa-project-card h3 {
	font-family: var(--hoa-display);
	font-size: 34px;
	font-weight: 700;
	margin: 6px 0 0;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: var(--hoa-white);
	line-height: 1;
}

.hoa-project-card__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	font-weight: 700;
	font-size: 15px;
	color: var(--hoa-white);
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height .45s var(--hoa-ease), opacity .45s;
}

.hoa-project-card__more svg {
	width: 16px;
	height: 16px;
}

.hoa-project-card:hover .hoa-project-card__more,
.hoa-project-card:focus-visible .hoa-project-card__more {
	max-height: 30px;
	opacity: 1;
}

.hoa-project-card.hoa-img-missing {
	background: var(--hoa-steel);
}

.hoa-project-card.hoa-img-missing img {
	display: none;
}

.hoa-reveal {
	opacity: 0;
	transform: translateY(36px);
	transition: opacity .9s var(--hoa-ease), transform .9s var(--hoa-ease);
}

.hoa-reveal.is-in {
	opacity: 1;
	transform: none;
}

.hoa-reveal-d1 { transition-delay: .08s; }
.hoa-reveal-d2 { transition-delay: .16s; }
.hoa-reveal-d3 { transition-delay: .24s; }

@media (max-width: 1024px) {
	.hoa-project-card,
	.hoa-project-card--wide {
		grid-column: span 6;
	}
}

@media (max-width: 860px) {
	.hoa-section-head {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 640px) {
	.hoa-project-card,
	.hoa-project-card--wide {
		grid-column: span 12;
		min-height: 260px;
	}

	.hoa-section {
		padding: 72px 0;
	}

	.hoa-hero {
		min-height: 560px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hoa *,
	.hoa *::before,
	.hoa *::after {
		animation: none !important;
		transition: none !important;
	}

	.hoa-reveal,
	.hoa-hero__copy > * {
		opacity: 1;
		transform: none;
	}
}
