/* Match Join Us hero supporting typography. */
.home-page .home-hero-subtitle { font-family: var(--bs-font-sans-serif); font-size: 1.125rem; font-weight: 400; }

/* Homepage service cards. Shared theme owns typography, colors, and hover motion. */
.home-service-card img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-service-links { gap: .5rem 1.25rem; }
.home-service-links a { display: inline-flex; align-items: center; gap: .375rem; min-height: 44px; color: #8A6A2C; text-decoration: none; padding: .5rem 0; }
.home-service-links a > i { flex-shrink: 0; font-size: .875em; }
.home-service-links a:focus-visible::after { transform: scaleX(1); transform-origin: 0 50%; }
.home-service-links a:hover { color: #634b1e; }
.home-service-links a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }
/* Reveal image and copy separately without competing with the card's hover transform.
   Keyboard focus must never land in visually hidden content. */
#home-services [data-aos]:focus-within {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
    .home-service-links a, .home-service-links a::after, .home-service-links a > i { transition: none !important; }
    .home-service-links a > i { transform: none !important; }
    #home-services [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .home-service-card, .home-service-card img { transition: none !important; transform: none !important; }
}

/* Extra breathing room between the search box and the hero divider. */
.home-page #home-idx-search { margin-bottom: clamp(2rem, 4vw, 4rem); }

/* Prevent promotional content flashing before agent selection is evaluated. */
#home-agent-sections[hidden] { display: none !important; }

/* Soft editorial shading, clipped to the image without covering card links. */
.home-service-image { position: relative; isolation: isolate; }
.home-service-image::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(10, 10, 10, .04) 0%, rgba(10, 10, 10, .10) 50%, rgba(10, 10, 10, .34) 100%);
    pointer-events: none;
}
