.menu .item {
    font-size: 1.4rem;
}

/* Home promo cards derive their height from the background image.
   If promo1.webp / promo2.webp are missing the card collapses to 0 and
   disappears. This floor keeps them visible regardless. */
.promo .uk-card {
    min-height: 340px;
    background-color: var(--color-5);
}

/* Home hero: full viewport height is too tall on phones — cap it so the
   image fits better. uk-height-viewport sets the height inline via JS,
   so !important is needed to override it. */
@media (max-width: 767px) {
    .home-page-bg .hero {
        min-height: 60vh !important;
        height: 60vh !important;
    }
    /* uk-cover centers the image with left:50% + translate(-50%,-50%).
       Override the horizontal centering to left-align while keeping it
       vertically centered. */
    .home-page-bg .hero [uk-cover],
    .home-page-bg .hero img[uk-cover] {
        left: 0 !important;
        transform: translateY(-50%) !important;
    }
}
.contact a {
    top: 10px;
    position: relative;
}