/* Preserve the existing gallery layout while making each photograph a real link. */
#hairSliderTrack a.hair-slide-card {
    display: block;
    color: inherit;
    text-decoration: none;
}

#hairSliderTrack a.hair-slide-card:focus-visible {
    outline: 3px solid #9b7d4b;
    outline-offset: -4px;
}

/* Visually hidden helper for semantic SEO headings without affecting visual design */
.sr-only-seo {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Hero subtle 2-line location & service note
   - PC: compact left-aligned block anchored at hero bottom-right
   - SP: placed cleanly right below the hero so it never collides with hero or sticky CTA */
.hero-corner-service {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.14em;
    line-height: 1.5;
    color: #3D362F;
}

.hero-corner-place {
    margin: 5px 0 0;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.16em;
    line-height: 1.5;
    color: #6F665B;
}

@media (min-width: 641px) {
    .hero-corner-meta {
        position: relative;
        width: 100%;
        height: 0;
        overflow: visible;
        z-index: 6;
        pointer-events: none;
    }

    .hero-corner-meta-inner {
        position: absolute;
        right: clamp(28px, 4vw, 56px);
        bottom: 28px;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .hero-corner-meta {
        position: relative;
        z-index: 2;
        background: linear-gradient(180deg, #F4F3EF 0%, var(--bg-secondary, #F3F1EC) 100%);
        padding: 20px 24px 0;
        text-align: center;
    }

    .hero-corner-meta-inner {
        display: inline-block;
        text-align: left;
    }

    .hero-corner-service {
        font-size: 12.5px;
    }

    .hero-corner-place {
        margin-top: 4px;
        font-size: 11px;
    }

    #about.about-section {
        padding-top: 48px !important;
    }
}
