/* Corrections for the homepage only; other pages keep their existing styles. */
.home-page .header .logo { flex-shrink: 0; }
.home-page .header .nav { flex-shrink: 0; }
.home-page .header .nav__link { white-space: nowrap; }
.home-page .hero { min-height: 100svh; }
.home-page .btn { max-width: 100%; white-space: normal; }
.home-page .form__group, .home-page .contacts__grid > * { min-width: 0; }
.home-page .form__group :is(input, textarea) { min-width: 0; max-width: 100%; font-size: 16px; }
.home-page .gallery__caption > span { white-space: normal; text-align: center; }
.home-page .hospitality .gallery__dot { min-width: 30px; height: 44px; }
.home-page .hospitality .gallery__dot::before { top: 20px; left: 13px; }
.home-page .hospitality .gallery__dot.active::before { top: 20px; left: 4px; }
.home-page .gallery__pagination > span { flex-shrink: 1; }
.home-page .reviews--vineyard::after { background-image: url('images/reviews/vineyard-background.webp'); }
.home-page .reviews--vineyard .reviews__google-image { background-image: url('images/reviews/google-button.webp'); }
.home-page .reviews--vineyard .reviews__google { min-height: 44px; }
.home-page .usp__card--1 .usp__surface { height: auto; min-height: 610px; padding-bottom: 200px; }
.home-page .usp__card--1 .usp__content {
    position: relative;
    inset: auto;
    margin: 3px 2px 0;
    height: auto;
    min-height: 390px;
    padding-bottom: 110px;
}
.home-page .lightbox__content img { max-height: calc(100svh - 150px); }
.home-page .lightbox__caption { padding-inline: 38px; }
.home-page .lightbox__close { top: max(12px, env(safe-area-inset-top)); }
.home-page :is(a, button, [tabindex]):focus-visible { outline: 2px solid var(--color-wine); outline-offset: 4px; }
.home-page .hero :is(a, button):focus-visible, .home-page .lightbox button:focus-visible { outline-color: #fff; }

@media (max-width: 900px) {
    .home-page .header__inner { gap: 16px; }
    .home-page .header__cta { padding: 12px 16px; }
    .home-page .nav { gap: 20px; }
}
@media (max-width: 1100px) {
    .home-page .usp__card--1 .usp__surface { min-height: 540px; padding-bottom: 190px; }
    .home-page .usp__card--1 .usp__content { min-height: 346px; }
    .home-page .hospitality .about__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; }
    .home-page .about__signature { position: static; flex-shrink: 0; margin-left: auto; }
}
@media (max-width: 768px) {
    .home-page .nav {
        gap: 0;
        visibility: hidden;
        pointer-events: none;
        max-height: calc(100svh - 64px);
        overflow-y: auto;
        transition: transform .3s ease, visibility .3s;
    }
    .home-page .nav.active { visibility: visible; pointer-events: auto; }
    .home-page .burger { width: 44px; height: 44px; justify-content: center; align-items: center; flex-shrink: 0; }
    .home-page .hero { min-height: 90svh; }
    .home-page .menu__grid {
        display: flex;
        height: auto;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 20px;
        padding-inline: 20px;
        touch-action: pan-x pan-y;
        overscroll-behavior-x: contain;
    }
    .home-page .menu__card { scroll-snap-align: start; }
    .home-page .reviews--vineyard .reviews__rating { margin: 0; }
    .home-page .reviews--vineyard .reviews__carousel { margin-inline: 48px; }
    .home-page .reviews--vineyard .reviews__arrow { width: 44px; height: 44px; }
    .home-page .reviews--vineyard .reviews__arrow--prev { left: -46px; }
    .home-page .reviews--vineyard .reviews__arrow--next { right: -46px; }
    .home-page .reviews--vineyard .reviews__card { flex-basis: 100%; padding: 62px 24px 32px; }
    .home-page .whatsapp-float { bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media (max-width: 700px) {
    .home-page .usp__grid { grid-template-columns: minmax(0, 1fr); max-width: 380px; gap: 25px; }
    .home-page .usp .usp__inner { padding-inline: 22px; }
    .home-page .usp .usp__surface { height: 535px; }
    .home-page .usp .usp__card--1 .usp__surface { height: auto; min-height: 570px; }
    .home-page .usp__card--1 .usp__content { padding: 57px 28px 110px; }
}
@media (prefers-reduced-motion: reduce) {
    html:has(.home-page) { scroll-behavior: auto; }
    .home-page *, .home-page *::before, .home-page *::after { animation: none !important; transition: none !important; }
    .home-page .menu__grid { display: flex; height: auto; overflow-x: auto; padding-inline: 20px; touch-action: pan-x pan-y; }
}

/* The title occupies its own grid row, so taller wide-screen cards cannot cover it. */
@media (min-width: 1101px) {
    .home-page .usp .usp__inner {
        display: grid;
        grid-template-columns: 1.1fr 1fr 1fr 1fr;
        column-gap: 22px;
    }
    .home-page .usp__heading {
        position: static;
        grid-column: 2 / -1;
        grid-row: 1;
        padding-right: clamp(80px, 10vw, 180px);
        margin-bottom: 32px;
    }
    .home-page .usp__grid { display: contents; }
    .home-page .usp .usp__card { grid-row: 2; align-self: end; }
    .home-page .usp .usp__card--1 { grid-column: 1; grid-row: 1 / 3; }
    .home-page .usp .usp__card--2 { grid-column: 2; }
    .home-page .usp .usp__card--3 { grid-column: 3; }
    .home-page .usp .usp__card--4 { grid-column: 4; }
}
@media (min-width: 1650px) {
    .home-page .usp__card--1 .usp__surface { min-height: 700px; }
    .home-page .usp__card--1 .usp__content { min-height: 448px; }
}
@media (max-width: 768px) {
    .home-page .hospitality .about::before { display: none; }
}
@media (max-width: 600px) {
    .home-page .reviews--vineyard .reviews__rating { font-size: clamp(8px, 2.3vw, 13px); }
}

@media (max-width: 768px) {
    .home-page .reviews--vineyard .reviews__rating { display: none; }
}
