html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

.nav-blur {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.page-hero {
    background:
        radial-gradient(ellipse 80% 60% at 20% 0%, rgba(245, 230, 163, 0.45), transparent),
        radial-gradient(ellipse 60% 50% at 100% 100%, rgba(212, 160, 23, 0.12), transparent),
        #fdfdfd;
}

.stat-card,
.service-card,
.client-card,
.feature-card {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(66, 47, 1, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.stat-card:hover,
.service-card:hover,
.client-card:hover,
.feature-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(66, 47, 1, 0.08);
    border-color: rgba(212, 160, 23, 0.25);
}

.nav-link-active {
    color: #d4a017;
}

.mobile-nav {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.mobile-nav.open {
    max-height: 20rem;
}

.reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.contact-panel {
    background: linear-gradient(145deg, rgba(245, 230, 163, 0.35), rgba(255, 255, 255, 0.9));
}

.prose-section p + p {
    margin-top: 1rem;
}
