:root {
    --luxury-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.nav-link {
    position: relative;
}

.nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.45rem;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.95), transparent);
    transform: scaleX(0.24);
    transform-origin: center;
    opacity: 0;
    transition: transform 0.45s var(--luxury-motion-ease), opacity 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
    transform: scaleX(1);
    opacity: 1;
}

.galeria-hero {
    position: relative;
    overflow: hidden;
}

.galeria-hero::after {
    content: '';
    position: absolute;
    inset: -10% -8% auto;
    height: 26rem;
    background:
        radial-gradient(circle at 20% 30%, rgba(212, 175, 55, 0.08), transparent 34%),
        radial-gradient(circle at 80% 18%, rgba(255, 240, 190, 0.06), transparent 28%),
        radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.05), transparent 38%);
    pointer-events: none;
    z-index: 0;
    animation: luxuryHeroGlow 16s ease-in-out infinite;
}

.galeria-hero > .container {
    position: relative;
    z-index: 1;
}

.quick-nav a,
.btn-premium,
.gallery-category-card,
.project-card,
.project-thumb,
.service-card,
.review-card,
.stat-card,
.contact-info-card,
.contact-form-shell,
#back-to-top {
    transition-timing-function: var(--luxury-motion-ease);
}

.quick-nav a,
.btn-premium,
.gallery-category-card,
.project-card,
.service-card,
.review-card {
    position: relative;
    isolation: isolate;
}

.quick-nav a::before,
.btn-premium::before,
.gallery-category-card::after,
.project-card::after,
.service-card::after,
.review-card::after {
    content: '';
    position: absolute;
    inset: -140% -28%;
    background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, 0.16) 50%, transparent 60%);
    transform: translateX(-42%) rotate(8deg);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.85s var(--luxury-motion-ease), opacity 0.3s ease;
    z-index: 2;
}

.quick-nav a:hover::before,
.btn-premium:hover::before,
.gallery-category-card:hover::after,
.gallery-category-card:focus-visible::after,
.project-card:hover::after,
.service-card:hover::after,
.review-card:hover::after {
    transform: translateX(42%) rotate(8deg);
    opacity: 1;
}

[data-motion] {
    opacity: 0;
    transform: translate3d(0, 26px, 0) scale(0.985);
    filter: blur(8px);
    transition:
        opacity 0.82s var(--luxury-motion-ease),
        transform 0.82s var(--luxury-motion-ease),
        filter 0.82s var(--luxury-motion-ease);
    transition-delay: var(--motion-delay, 0ms);
    will-change: opacity, transform, filter;
}

[data-motion="left"] {
    transform: translate3d(-30px, 22px, 0) scale(0.985);
}

[data-motion="right"] {
    transform: translate3d(30px, 22px, 0) scale(0.985);
}

[data-motion="zoom"] {
    transform: translate3d(0, 18px, 0) scale(0.95);
}

[data-motion].motion-in {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
}

@keyframes luxuryHeroGlow {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0.78;
    }
    50% {
        transform: translate3d(0, 0.85rem, 0) scale(1.04);
        opacity: 1;
    }
    100% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0.78;
    }
}

@media (prefers-reduced-motion: reduce) {
    .galeria-hero::after,
    .quick-nav a::before,
    .btn-premium::before,
    .gallery-category-card::after,
    .project-card::after,
    .service-card::after,
    .review-card::after {
        animation: none;
        transition: none;
    }

    [data-motion] {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}
