.home-gallery {
    position:relative;
    overflow:hidden;
    padding:62px 0 70px;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);
    font-family:'Montserrat','Segoe UI',sans-serif;
}

.home-gallery::before {
    content:'';
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 12% 18%,rgba(191,207,197,.2),transparent 28%),
        radial-gradient(circle at 86% 8%,rgba(218,184,109,.12),transparent 24%);
    pointer-events:none;
}

.home-gallery .container {
    position:relative;
    z-index:1;
}

.home-gallery-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:24px;
}

.home-gallery-head span {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:9px;
    padding:8px 12px;
    color:#6d7f74;
    background:#fff;
    border:1px solid #e6eee8;
    border-radius:12px;
    box-shadow:0 10px 22px rgba(83,101,91,.07);
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.home-gallery-head i {
    color:#c59a45;
}

.home-gallery h2 {
    margin:0;
    color:#303f39;
    font-size:clamp(1.45rem,2.4vw,2.05rem);
    font-weight:800;
}

.gallery-controls {
    display:flex;
    gap:8px;
}

.gallery-controls button {
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    color:#557f69;
    background:#fff;
    border:1px solid #e5eee8;
    border-radius:12px;
    box-shadow:0 10px 22px rgba(83,101,91,.08);
}

.gallery-track {
    display:grid;
    grid-auto-columns:clamp(280px,31vw,390px);
    grid-auto-flow:column;
    gap:16px;
    overflow-x:auto;
    padding:6px 0 18px;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
}

.gallery-slide {
    position:relative;
    min-height:365px;
    overflow:hidden;
    background:#eef3ef;
    border:1px solid #e5eee8;
    border-radius:18px;
    box-shadow:0 18px 38px rgba(84,101,91,.1);
    scroll-snap-align:start;
}

.gallery-slide img {
    width:100%;
    height:100%;
    min-height:365px;
    object-fit:cover;
    transition:transform .35s ease;
}

.gallery-slide:hover img {
    transform:scale(1.05);
}

.gallery-slide > div {
    position:absolute;
    right:12px;
    bottom:12px;
    left:12px;
    max-width:none;
    padding:15px;
    color:#303f39;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(229,238,232,.9);
    border-radius:14px;
    box-shadow:0 12px 24px rgba(61,79,69,.1);
    backdrop-filter:blur(12px);
}

.gallery-slide small {
    color:#9b762e;
    font-size:.62rem;
    font-weight:800;
    text-transform:uppercase;
}

.gallery-slide h3 {
    margin:6px 0;
    color:#303f39;
    font-size:.96rem;
    font-weight:800;
    line-height:1.35;
}

.gallery-slide p {
    margin:0;
    color:#6d7c74;
    font-size:.74rem;
    line-height:1.55;
}

.gallery-empty {
    padding:30px;
    color:#728179;
    background:#fff;
    border:1px dashed #dce6df;
    border-radius:16px;
    text-align:center;
}

@media (max-width:575.98px) {
    .home-gallery {
        padding:42px 0 50px;
    }

    .home-gallery-head {
        align-items:flex-start;
        flex-direction:column;
    }

    .gallery-track {
        grid-auto-columns:86vw;
    }

    .gallery-slide,
    .gallery-slide img {
        min-height:340px;
    }

    .gallery-slide > div {
        right:10px;
        bottom:10px;
        left:10px;
        padding:14px;
    }
}
