.site-header { border-bottom: 1px solid var(--color-border); position: relative; z-index: var(--z-header); background: var(--color-background); }
.site-header__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-lg); padding-block: var(--space-lg); }
.site-branding { min-width: 0; }
.site-title { margin: 0; font-size: var(--font-size-h3); font-weight: var(--font-weight-bold); }
.site-title a { color: var(--color-heading); text-decoration: none; }
.site-description { margin: var(--space-xs) 0 0; color: var(--color-muted); }
.custom-logo-link { display: block; max-width: 180px; }
.main-navigation { float: none; width: auto; max-width: 100%; }
.main-navigation ul { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.main-navigation li { float: none; display: flex; flex-wrap: wrap; align-items: center; position: relative; }
.main-navigation a { padding: var(--space-sm); min-height: 44px; display: flex; align-items: center; }
.main-navigation ul ul {
	display: flex; flex-direction: column; gap: 0; float: none;
	position: static; width: 100%; box-shadow: none; padding-inline-start: var(--space-md);
	left: auto; right: auto; z-index: var(--z-dropdown);
}
.main-navigation ul ul a { width: auto; }
.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul { left: auto; }
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul { left: auto; }
.menu-toggle { display: none; }
.submenu-toggle { min-width: 44px; margin-inline-end: var(--space-xs); padding: var(--space-xs); background: var(--color-background); color: var(--color-primary); transition: none; }
.submenu-toggle:hover, .submenu-toggle:focus { background: var(--color-heading); border-color: var(--color-heading); color: var(--color-secondary); }
.main-navigation.nav-enhanced .sub-menu:not(.submenu-open),
.main-navigation.nav-enhanced .children:not(.submenu-open) { display: none; }
.site-footer { border-top: 1px solid var(--color-border); padding-block: var(--space-lg); }
.site-footer__inner { display: flex; flex-wrap: wrap; gap: var(--space-lg); align-items: center; justify-content: space-between; }
.site-info { margin: 0; }
.footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-md); }
.footer-menu a { display: inline-block; padding-block: var(--space-sm); }
.home-hero { padding-block: var(--space-2xl) var(--space-xl); }
.home-hero h1 { margin-top: 0; }
.home-hero__intro { max-width: var(--container-narrow); }
.home-hero__image { width: 100%; max-height: 560px; object-fit: contain; }
.home-content { padding-block: 0 var(--space-xl); }
.home-services { background: var(--color-background-alt); padding-block: var(--space-xl); }
.section-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-lg); }
.section-heading h2 { margin: 0; }
.service-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
.service-card { margin: 0; padding-block: var(--space-lg); border-top: 1px solid var(--color-border); min-width: 0; }
.service-card__image { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.service-card__title { margin: var(--space-md) 0; font-size: var(--font-size-h3); }
.service-card__description p { margin-bottom: 0; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-sm); list-style: none; padding: 0; margin: 0 0 var(--space-lg); }
.breadcrumbs li + li::before { content: "/"; margin-inline-end: var(--space-sm); color: var(--color-muted); }
.service-categories { display: flex; flex-wrap: wrap; gap: var(--space-md); padding: 0; list-style: none; }
.related-services { margin-top: var(--space-2xl); }
.nav-links { display: flex; flex-wrap: wrap; gap: var(--space-md); }
.page-numbers { display: inline-block; padding: var(--space-sm); }
.page-header { margin-bottom: var(--space-xl); }
.search-form { display: flex; flex-wrap: wrap; gap: var(--space-sm); align-items: end; }
.widget-area { padding-block: var(--space-lg); }
@media (max-width: 599px) {
	.main-navigation { width: 100%; }
	.main-navigation > ul, .main-navigation > div > ul { flex-direction: column; align-items: stretch; }
	.main-navigation.nav-enhanced .menu-toggle { display: inline-flex; }
	.main-navigation.nav-enhanced:not(.toggled) > ul,
	.main-navigation.nav-enhanced:not(.toggled) > div { display: none; }
	.site-header__inner { gap: var(--space-md); }
}
@media (min-width: 600px) {
	.service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.main-navigation ul ul { position: absolute; inset-inline-end: 0; top: 100%; width: 240px; padding: var(--space-sm); background: var(--color-background); box-shadow: var(--shadow-sm); }
	.main-navigation ul ul ul { position: static; width: 100%; padding-inline-start: var(--space-sm); box-shadow: none; }
}
@media (min-width: 1024px) {
	.service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
