/* Explain: Curate-specific luxury components, cards, slider, and forms */
.editorial-kicker {
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--terracotta-color);
    font-size: 0.75rem;
    font-weight: 600;
}

.luxury-heading {
    font-family: var(--font-heading);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 0.95;
}

.arch-panel {
    border-radius: var(--radius-arch);
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    background: var(--surface-color);
}

.arch-outline {
    border-radius: var(--radius-arch);
    border: 1px solid rgba(140, 122, 107, 0.24);
}

.floating-card {
    box-shadow: var(--shadow-float);
    border: 1px solid rgba(255, 255, 255, 0.62);
    backdrop-filter: blur(18px);
}

.luxury-btn {
    min-height: 48px;
    border-radius: 999px;
    border: 1px solid transparent;
    background: var(--forest-color);
    color: var(--cream-color);
    box-shadow: 0 14px 30px rgba(140, 122, 107, 0.22);
    transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.luxury-btn:hover {
    background: var(--primary-hover);
    box-shadow: 0 18px 38px rgba(140, 122, 107, 0.28);
    transform: translateY(-1px);
}

.luxury-btn-secondary {
    min-height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(140, 122, 107, 0.22);
    color: var(--forest-color);
    background: rgba(255, 255, 255, 0.8);
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.luxury-btn-secondary:hover {
    border-color: rgba(226, 114, 91, 0.52);
    background: rgba(255, 255, 255, 0.95);
    transform: translateY(-1px);
}

.portfolio-track {
    scrollbar-width: none;
    scroll-behavior: smooth;
}

.portfolio-track::-webkit-scrollbar {
    display: none;
}

.portfolio-card {
    box-shadow: var(--shadow-float);
    transition: transform 260ms ease, box-shadow 260ms ease;
}

.portfolio-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 62px rgba(140, 122, 107, 0.15);
}

.portfolio-dot {
    width: 0.58rem;
    height: 0.58rem;
    border-radius: 999px;
    background: rgba(51, 51, 51, 0.26);
    transition: width 220ms ease, background 220ms ease;
}

.portfolio-dot.is-active {
    width: 1.85rem;
    background: var(--terracotta-color);
}

.contact-backdrop {
    background-image:
        linear-gradient(90deg, rgba(140, 122, 107, 0.88), rgba(140, 122, 107, 0.66)),
        url('https://files.cdn-files-a.com/uploads/12216773/normal_gi-6a3a58b832492.jpg?format=avif');
    background-size: cover;
    background-position: center;
}

.consultation-highlight {
    animation: consultationPulse 1200ms ease;
}

.mobile-consultation {
    box-shadow: 0 18px 40px rgba(140, 122, 107, 0.32);
    transition: transform 220ms ease, opacity 220ms ease;
}

.mobile-consultation.is-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(1rem);
}

@keyframes consultationPulse {
    0%, 100% {
        box-shadow: 0 0 0 rgba(226, 114, 91, 0);
    }

    45% {
        box-shadow: 0 0 0 8px rgba(226, 114, 91, 0.22);
    }
}
