:root {
	--brand: #134e4a; /* teal-900 */
	--brand-accent: #f59e0b; /* amber-500 */
	--text: #0f172a; /* slate-900 */
	--muted: #334155; /* slate-700 */
	--bg: #ffffff;
	--bg-alt: #f8fafc; /* slate-50 */
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
	color: var(--text);
	background: var(--bg);
	line-height: 1.6;
}
.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
}
.sr-only,
.screen-reader-text {
	border: 0 !important;
	clip: rect(1px,1px,1px,1px) !important;
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
	white-space: nowrap !important;
}
.strong-text { font-weight: 600; }
.img-float-right { float: right; margin-left: 1rem; }

/* Header */
.site-header {
	background: var(--bg);
	border-bottom: 1px solid #e2e8f0;
	position: sticky;
	top: 0;
	z-index: 50;
}
.nav-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 64px;
}
.brand-link { text-decoration: none; display: inline-block; }
.brand-logo {
	height: 50px;
	width: auto;
	max-width: 200px;
	display: block;
}
.brand-title { color: var(--brand); font-weight: 800; font-size: 1.125rem; }
.header-phone {
	margin-right: 1rem;
}
.phone-link {
	text-decoration: none;
	color: var(--text);
	font-weight: 600;
	font-size: 1rem;
	white-space: nowrap;
}
.phone-link:hover {
	color: var(--brand);
}
.nav-toggle {
	background: none; border: 0; padding: .25rem; cursor: pointer; display: none;
}
.nav-toggle .bar { display: block; width: 24px; height: 2px; background: var(--text); margin: 5px 0; }
.primary-nav {
	display: flex; align-items: center; gap: 1rem;
}
.primary-nav ul { display: flex; list-style: none; margin: 0; padding: 0; gap: 1rem; }
.primary-nav a { text-decoration: none; color: var(--text); }
.primary-nav a:hover { color: var(--brand); }
.header-ctas { display: flex; gap: .5rem; }

/* Buttons */
.btn {
	display: inline-block;
	font-weight: 600;
	padding: .625rem 1rem;
	border-radius: .5rem;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.btn-primary { background: var(--brand); color: #fff !important; }
.btn-primary:hover { background: #0f3f3b; }
.btn-accent { background: var(--brand-accent); color: #111827; }
.btn-accent:hover { background: #d97706; color: #111827; }
.btn-outline { background: transparent; border: 2px solid var(--brand); color: var(--brand); }
.btn-outline:hover { background: var(--brand); color: #fff; }

/* Hero */
.hero {
	position: relative;
	background: var(--bg-alt);
	padding: 1rem 0;
}
.hero .content {
	max-width: 800px;
}
.hero-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: center;
}
@media (max-width: 768px) {
	.hero-layout {
		grid-template-columns: 1fr;
	}
}
.hero-content {
	text-align: left;
}
.hero-image {
	text-align: center;
}
.hero-image img {
	width: 100%;
	max-width: 500px;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 8px;
}
.hero h1 {
	font-size: clamp(2rem, 3vw + 1rem, 3rem);
	line-height: 1.15;
	margin: 0 0 .5rem;
	text-align: left;
}
.hero p { color: var(--muted); font-size: 1.125rem; margin-top: .25rem; text-align: left; }
.hero .actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }

/* Sections */
.section { padding: 1rem 0; }
.section.alt { background: var(--bg-alt); }
.section h2 { font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem); margin: 0 0 1rem; }
.muted { color: var(--muted); }

/* WordPress Image Alignment (for classic editor) */
.content-text img,
.hero-content img,
.cta-content img {
	max-width: 100%;
	height: auto;
}

.content-text .alignleft,
.hero-content .alignleft,
.cta-content .alignleft {
	float: left;
	margin: 0 1.5rem 1rem 0;
	max-width: 50%;
}

.content-text .alignright,
.hero-content .alignright,
.cta-content .alignright {
	float: right;
	margin: 0 0 1rem 1.5rem;
	max-width: 50%;
}

.content-text .aligncenter,
.hero-content .aligncenter,
.cta-content .aligncenter {
	display: block;
	margin: 1rem auto;
	clear: both;
}

.content-text .alignnone,
.hero-content .alignnone,
.cta-content .alignnone {
	margin: 1rem 0;
	clear: both;
}

/* Clear floats after aligned images */
.content-text::after,
.hero-content::after,
.cta-content::after {
	content: "";
	display: table;
	clear: both;
}

@media (max-width: 600px) {
	.content-text .alignleft,
	.content-text .alignright,
	.hero-content .alignleft,
	.hero-content .alignright,
	.cta-content .alignleft,
	.cta-content .alignright {
		float: none;
		margin: 1rem auto;
		display: block;
		max-width: 100%;
	}
}

/* Cards grid */
.grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 1rem;
}
.col-12 { grid-column: span 12; }
.col-6 { grid-column: span 6; }
.col-4 { grid-column: span 4; }
.card {
	border: 1px solid #e2e8f0; border-radius: .75rem; overflow: hidden; background: #fff;
	box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.card img { width: 100%; height: auto; display: block; }
.card .card-body { padding: 1rem; }
.card .card-title { font-weight: 700; margin: 0 0 .25rem; }
.card .card-text { color: var(--muted); margin: 0; }

/* Dealer locator */
.dealer-search {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: .5rem;
	margin: 1rem 0;
}
.dealer-list { list-style: none; padding: 0; margin: 1rem 0; }
.dealer-item { border-bottom: 1px solid #e2e8f0; padding: .75rem 0; }
.dealer-item:last-child { border-bottom: 0; }
.dealer-distance { font-weight: 600; color: var(--brand); }
.dealer-meta a { color: var(--muted); text-decoration: none; }
.dealer-meta a:hover { color: var(--brand); text-decoration: underline; }
.dealer-name-link { font-weight: 600; color: var(--brand); text-decoration: none; }
.dealer-name-link:hover { text-decoration: underline; }

/* Building long description styling */
.building-long-description {
	margin-top: 0.75rem;
}
.building-long-description p {
	margin-bottom: 1rem;
}
.building-long-description p:last-child {
	margin-bottom: 0;
}

/* Footer */
.site-footer { background: var(--bg-alt); border-top: 1px solid #e2e8f0; margin-top: 3rem; }
.footer-container { padding: 2rem 1rem; }
.footer-cta { text-align: center; }
.footer-cta h2 { margin: 0 0 .75rem; }
.cta-buttons { display: flex; justify-content: center; gap: .5rem; flex-wrap: wrap; }
.footer-meta { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.5rem; flex-wrap: wrap; }
.footer-info { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; justify-content: center; }
.site-info { color: var(--muted); margin: 0; }
.site-address { margin: 0; }
.site-address a { color: var(--muted); text-decoration: none; }
.site-address a:hover { color: var(--brand); text-decoration: underline; }

/* Responsive */
@media (max-width: 900px) {
	.col-6 { grid-column: span 12; }
	.col-4 { grid-column: span 6; }
	.nav-toggle { display: block; }
	.primary-nav {
		position: absolute; right: 0; left: 0; top: 64px;
		background: var(--bg); border-bottom: 1px solid #e2e8f0;
		display: none;
		flex-direction: column; padding: .75rem 1rem; gap: .75rem;
	}
	.primary-nav.open { display: flex; }
	.primary-nav ul { flex-direction: column; gap: .5rem; }
	.header-phone { margin-right: 0; margin-bottom: 0.5rem; }
	.header-ctas { flex-direction: column; }
	.brand-logo {
		height: 40px;
		max-width: 150px;
	}
}


