/* Quiet fades and dot navigation in a light, full-content-width frame. */
.home-gallery {
    width: 100%;
    max-width: none;
    margin: clamp(1.5rem, 3.5vw, 2.75rem) 0 0;
    background: var(--ivory);
    border-color: var(--line);
    box-shadow: 0 .75rem 2.25rem rgba(64, 35, 31, .06);
}

.home-gallery.is-ready .practice-gallery-stage {
    aspect-ratio: 8 / 5;
    background: var(--ivory);
    overflow: hidden;
}

.home-gallery.is-ready .home-gallery-picture {
    position: relative;
    z-index: 1;
}

.home-gallery.is-ready .home-gallery-picture img {
    object-fit: contain;
}

.home-gallery-backdrop { display: none; }

.home-gallery.is-ready .home-gallery-backdrop {
    display: block;
    position: absolute;
    inset: 0;
    filter: blur(1.4rem) saturate(.5);
    transform: scale(1.12);
    opacity: .14;
}

.home-gallery.is-ready .home-gallery-backdrop img { object-fit: cover; }
.home-gallery .practice-gallery-progress span { background: var(--champagne); }
.home-gallery .practice-gallery-toolbar { gap: 1.4rem; padding: 1.4rem 1.8rem 1rem; }
.home-gallery .practice-gallery-count { color: var(--muted); }
.home-gallery .practice-gallery-count strong { font-size: 2.3rem; }
.home-gallery .practice-gallery-count span { color: var(--muted); }
.home-gallery .practice-gallery-description { border-color: var(--line); padding-left: 1.4rem; }
.home-gallery .practice-gallery-description .eyebrow { color: var(--muted); }
.home-gallery .practice-gallery-description p:last-child { color: var(--charcoal); }
.home-gallery .practice-gallery-arrow { color: var(--charcoal); background: var(--cream); border-color: var(--taupe); }
.home-gallery .practice-gallery-arrow:hover { color: var(--charcoal); background: var(--blush); border-color: var(--rose); }
.home-gallery .practice-gallery-toggle { color: var(--muted); white-space: nowrap; }
.home-gallery .practice-gallery-slide figcaption { color: var(--charcoal); }
.home-gallery .home-gallery-footer { padding: 0 1.8rem 1rem; gap: 1.5rem; }

.home-gallery-pagination {
    position: relative;
    display: flex;
    align-items: center;
    gap: .3rem;
    overflow-x: auto;
    scrollbar-width: none;
    max-width: 100%;
}

.home-gallery-pagination::-webkit-scrollbar { display: none; }

.home-gallery-dot {
    flex: 0 0 1.5rem;
    display: grid;
    place-items: center;
    width: 1.5rem;
    height: 2rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: .3rem;
    cursor: pointer;
}

.home-gallery-dot::after {
    content: '';
    width: .45rem;
    height: .45rem;
    border: 1px solid var(--muted);
    border-radius: 50%;
    transition: background 180ms, border-color 180ms;
}

.home-gallery-dot[aria-pressed="true"]::after,
.home-gallery-dot:hover::after {
    background: var(--muted);
    border-color: var(--muted);
}

.home-gallery :focus-visible { outline-color: var(--charcoal); }

@media (max-width: 36rem) {
    .home-gallery.is-ready .practice-gallery-stage { aspect-ratio: 4 / 3; }
    .home-gallery .practice-gallery-toolbar { gap: .7rem; padding: 1.1rem 1.1rem .8rem; }
    .home-gallery .practice-gallery-count strong { font-size: 1.9rem; }
    .home-gallery .practice-gallery-description { padding-left: .8rem; }
    .home-gallery .practice-gallery-description p:last-child { font-size: 1.1rem; }
    .home-gallery .home-gallery-footer { flex-wrap: wrap; justify-content: center; gap: .25rem; padding: 0 1.1rem .7rem; }
    .home-gallery-pagination { flex: 0 1 100%; display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); gap: 0; }
    .home-gallery-dot { width: 100%; min-width: 0; }
    .home-gallery .practice-gallery-toggle { margin-left: auto; }
}
