.home-gallery-section {
    width: 100vw;
    margin: 3.7rem 0 1rem calc(50% - 50vw);
    padding: 2.5rem 0 1.5rem;
    background: linear-gradient(180deg, #fff, #fcfaf6);
    scroll-margin-top: 110px;
}
.home-gallery-heading { max-width: 720px; margin: 0 auto; padding: 0 1.25rem; text-align: center; }
.home-gallery-kicker { display: inline-block; background: #8a653e; color: #fff; padding: .38rem 1rem; border-radius: 999px; font-size: .72rem; font-weight: 700; margin-bottom: 1rem; }
.home-gallery-heading h2 { font-family: 'Manrope', sans-serif; font-size: clamp(1.6rem, 3vw, 2.55rem); font-weight: 500; letter-spacing: -.05em; line-height: 1.25; margin: 0 0 .85rem; color: #30271e; }
.home-gallery-heading h2 em { font-family: 'Playfair Display', serif; color: #8a7356; font-weight: 500; letter-spacing: -.025em; }
.home-gallery-heading p { font-size: .88rem; color: #817465; margin-bottom: .5rem; }
.home-gallery-stage {
    --gallery-card-width: clamp(210px, 19vw, 270px);
    --gallery-card-height: clamp(240px, 21vw, 290px);
    --gallery-gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 3.8rem 0 2.5rem;
    width: 100%;
    touch-action: pan-y;
    outline-offset: -4px;
}
.home-gallery-stage.is-ready { overflow: hidden; cursor: grab; user-select: none; }
.home-gallery-stage.is-dragging { cursor: grabbing; }
.home-gallery-stage:focus-visible { outline: 2px solid #c7a977; border-radius: 12px; }
.home-gallery-track { display: flex; align-items: center; gap: var(--gallery-gap); width: max-content; will-change: transform; }
.home-gallery-card {
    display: block;
    width: var(--gallery-card-width);
    height: var(--gallery-card-height);
    flex: 0 0 auto;
    border-radius: 18px;
    overflow: hidden;
    background: #e9dccb;
    box-shadow: 0 8px 22px rgba(48,39,30,.09);
    transform: perspective(1100px) translateY(var(--gallery-lift, 0px)) rotateY(var(--gallery-angle, 0deg)) rotateZ(var(--gallery-tilt, 0deg)) scale(var(--gallery-scale, 1));
    transform-origin: center;
    cursor: zoom-in;
    text-decoration: none;
}
.home-gallery-card img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.home-gallery-stage.is-static .home-gallery-track { justify-content: center; width: 100%; }
.home-gallery-stage.is-static .home-gallery-card { transform: none; }
.home-gallery-controls { display: flex; align-items: center; justify-content: center; gap: 1.4rem; padding: 0 1rem; }
.home-gallery-motion { font: inherit; font-size: .75rem; color: #675947; border: 1px solid #dfd2bd; padding: .5rem .8rem; border-radius: 999px; background: #fff; }
.home-gallery-motion:hover { background: #f5eee2; }
.home-gallery-link { color: #60482e; font-size: .8rem; font-weight: 700; text-decoration: none; }
.home-gallery-link span { font-size: 1.1rem; margin-left: .25rem; }
.home-gallery-empty { max-width: 500px; margin: 2rem auto 0; padding: 0 1.25rem; text-align: center; }
.home-gallery-empty img { width: 100%; max-height: 220px; object-fit: cover; border-radius: 18px; }
.home-gallery-empty p { color: #817465; font-size: .85rem; margin: 1rem 0 0; }
.home-gallery-lightbox { padding: 0; border: 0; background: transparent; overflow: visible; max-width: 94vw; max-height: 88dvh; }
.home-gallery-lightbox::backdrop { background: rgba(29,23,19,.88); }
.home-gallery-lightbox > img { display: block; max-width: 94vw; max-height: 84dvh; object-fit: contain; border-radius: 12px; }
.home-gallery-lightbox-close { position: absolute; right: 0; top: -43px; border: 0; background: #fff; border-radius: 50%; width: 34px; height: 34px; color: #30271e; font-size: 1.65rem; line-height: 1; }
@media (max-width: 575.98px) {
    .home-gallery-section { margin-top: 2.5rem; padding-top: 1.8rem; }
    .home-gallery-stage { --gallery-card-width: 210px; --gallery-card-height: 245px; --gallery-gap: 14px; padding: 2.75rem 0 2rem; }
    .home-gallery-card { border-radius: 14px; }
    .home-gallery-heading p { max-width: 280px; margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
    .home-gallery-card { transform: none; }
}
