.home.page .site-main { padding: 0; }
.homepage { width: 100%; }
.home-hero { position: relative; isolation: isolate; overflow: hidden; background: #eee; }
.home-hero-image { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-hero-content { padding: 25px 40px 30px; }
.home-tagline { max-width: 700px; padding: 25px 35px; border-radius: 10px; background: var(--orange); color: #fff; }
.home-tagline h1 { margin: 0; font-size: 25px; font-weight: 700; line-height: 1.35; text-transform: uppercase; }
.home-services.wp-block-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 20px; width: 100%; max-width: none; margin: 40px 0 0; padding: 0; }
.home-services > .home-service-card { display: flex; flex-direction: column; justify-content: center; min-width: 0; margin: 0; padding: 25px 15px; border-radius: 10px; background: rgba(255,255,255,.92); text-align: center; overflow-wrap: anywhere; }
.home-service-card h2 { margin: 0; padding-bottom: 20px; background: url('../images/dot.svg') no-repeat center bottom / 110px; color: #238351; font-size: 25px; font-weight: 700; line-height: 1.2; }
.home-service-card h2 a { color: inherit; text-decoration: none; }
.home-service-card h2 a:hover { color: #000; }
.home-service-card h2 a:focus-visible { outline: 3px solid #e78018; outline-offset: 4px; }
.home-service-card p { margin: 15px 0 0; color: #444; font-size: 15px; font-weight: 400; line-height: 1.5; }
.homepage-content { padding: 0 calc(0.625rem + 0.938rem) 15px; }
.home-news-heading { margin: 35px 0 20px; color: #999; font-size: 40px; font-weight: 700; text-align: center; }
.homepage-content > .wp-block-query.is-style-news { width: 95%; }
@media (max-width: 1260px) {
.home-services > .home-service-card { padding: 20px 15px; }
.home-service-card h2 { font-size: 22px; }
}
@media (max-width: 1100px) {
.home-hero-content { padding: 25px; }
.home-services.wp-block-group { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 25px; }
.home-tagline { padding: 20px 25px; }
.home-tagline h1 { font-size: 22px; }
}
@media (max-width: 768px) {
.home-hero-content { padding: 20px; }
.home-tagline h1 { font-size: 21px; }
.home-news-heading { font-size: 30px; }
}
@media (max-width: 600px) {
.home-hero-image { height: 260px; }
.home-services.wp-block-group { grid-template-columns: minmax(0,1fr); grid-auto-rows: auto; gap: 15px; }
.home-services > .home-service-card { background: #fff; padding: 24px 20px; }
.home-tagline { padding: 20px; }
.home-tagline h1 { font-size: 20px; }
.home-service-card h2 { font-size: 23px; }
.home-service-card p { font-size: 16px; }
.homepage-content > .wp-block-query.is-style-news { width: 100%; }
}
@media (max-width: 360px) { .homepage-content { padding-inline: .938rem; } }