/* ── Hero Gradient ── */
.hero-gradient {
    background: linear-gradient(135deg, #1A1A1A 0%, #2D2D2D 35%, #3D2B28 65%, #5C2E24 100%);
}

/* ── Subtle dot pattern on hero ── */
.hero-pattern {
    background-image: radial-gradient(circle, rgba(255,255,255,0.08) 1px, transparent 1px);
    background-size: 24px 24px;
}

/* ── Scroll Animations ── */
[data-animate] {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate].visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Nav transition ── */
nav.scrolled {
    background: rgba(26, 26, 26, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 1px 0 rgba(255,255,255,0.06);
}

/* ── Mobile menu ── */
.mobile-link {
    display: block;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.mobile-link:last-child {
    border-bottom: none;
}

/* ── Service card stagger ── */
.service-card:nth-child(1) { transition-delay: 0ms; }
.service-card:nth-child(2) { transition-delay: 80ms; }
.service-card:nth-child(3) { transition-delay: 160ms; }
.service-card:nth-child(4) { transition-delay: 240ms; }
.service-card:nth-child(5) { transition-delay: 320ms; }
.service-card:nth-child(6) { transition-delay: 400ms; }

.testimonial-card:nth-child(1) { transition-delay: 0ms; }
.testimonial-card:nth-child(2) { transition-delay: 100ms; }
.testimonial-card:nth-child(3) { transition-delay: 200ms; }

/* ── Smooth scroll ── */
html {
    scroll-behavior: smooth;
}

/* ── Selection color ── */
::selection {
    background: rgba(232, 106, 91, 0.25);
    color: #1A1A1A;
}

/* ── Focus visible ── */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid #E86A5B;
    outline-offset: 2px;
}

/* ── Nav height ── */
#nav {
    height: 72px;
}

/* ── Blob animations ── */
@keyframes float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(20px, -20px) scale(1.05); }
    66% { transform: translate(-10px, 15px) scale(0.95); }
}

.hero-blob-1 { animation: float 8s ease-in-out infinite; }
.hero-blob-2 { animation: float 10s ease-in-out infinite reverse; }

.cta-blob-1 { animation: float 12s ease-in-out infinite; }
.cta-blob-2 { animation: float 9s ease-in-out infinite reverse; }

/* ── Mobile responsive tweaks ── */
@media (max-width: 640px) {
    .font-serif {
        line-height: 1.15;
    }
}
