/* Default pages use the shared hero in header.php and Bootstrap columns. */
.blcs-page-featured { margin: 0 0 2rem; }
.blcs-page-featured img { display: block; width: 100%; height: auto; max-height: 440px; object-fit: cover; }
.blcs-page-featured figcaption { margin-top: .7rem; color: #637166; font-size: .8rem; line-height: 1.6; }
.blcs-page-content { margin: 0; color: #47534c; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.blcs-page-content h2 { margin: 2.5rem 0 1rem; color: #202b25; font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1.12; }
.blcs-page-content h3 { margin: 2rem 0 1rem; color: #202b25; font-size: 1.85rem; line-height: 1.2; }
.blcs-page-content > :first-child { margin-top: 0; }
.blcs-page-content p, .blcs-page-content ul, .blcs-page-content ol { margin-bottom: 1.5rem; }
.blcs-page-content li + li { margin-top: .5rem; }
.blcs-page-content a { color: #087a16; text-underline-offset: 4px; }
.blcs-page-content img { max-width: 100%; height: auto; }
.blcs-page-content figure { max-width: 100%; }
.blcs-page-content blockquote { margin: 2rem 0; padding: 1.25rem 1.5rem; border-left: 3px solid #087a16; background: #f3f7f2; color: #202b25; }
.blcs-page-content blockquote p:last-child { margin-bottom: 0; }
.blcs-page-sidebar { display: grid; gap: 2rem; }
.blcs-page-estimate { padding: clamp(1.5rem, 2.5vw, 2.25rem); border-top: 4px solid #087a16; background: #eef2eb; }
.blcs-page-eyebrow { margin-bottom: 1rem; color: #087a16; font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.blcs-page-estimate h2 { margin-bottom: 1rem; color: #202b25; font-size: 2.3rem; line-height: 1.1; }
.blcs-page-estimate > p:not(.blcs-page-eyebrow) { margin-bottom: 1.5rem; color: #47534c; font-size: .9rem; line-height: 1.8; }
.blcs-page-estimate .btn { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; max-width: 100%; font-size: .8rem; }
.blcs-page-call { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #d2ddce; }
.blcs-page-call span { display: block; margin-bottom: .45rem; color: #637166; font-size: .8rem; }
.blcs-page-call a { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .6rem; color: #17452c; font: 600 1.6rem/1.2 'Barlow Condensed', sans-serif; text-decoration: none; }
.blcs-page-call i { font-size: .9rem; }
.blcs-page-services h2 { margin-bottom: 1rem; font-size: 1.8rem; color: #202b25; }
.blcs-page-services ul { margin: 0; padding: 0; list-style: none; }
.blcs-page-services li { border-bottom: 1px solid #dde5dc; }
.blcs-page-services a { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-block: .9rem; color: #47534c; font-size: .875rem; text-decoration: none; }
.blcs-page-services a i { flex-shrink: 0; color: #087a16; font-size: .7rem; }
.blcs-page-services a:hover, .blcs-page-services a[aria-current="page"] { color: #087a16; }
.blcs-page-services a[aria-current="page"] { font-weight: 600; }
.blcs-default-page a:focus-visible { outline: 2px solid #007a96; outline-offset: 4px; }
@media (max-width: 767.98px) { .blcs-page-featured img { max-height: none; } }
/* Sticky sidebar on desktop */
@media (min-width: 992px) {
	.blcs-default-page > .row > aside {
		align-self: stretch;
	}

	.blcs-default-page .blcs-page-sidebar {
		position: sticky;
		top: 2rem;
	}

	.admin-bar .blcs-default-page .blcs-page-sidebar {
		top: calc(32px + 2rem);
	}
}
