* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    width: 100%;
    height: 100%;
    font-family: 'DM Sans';
    overflow-x: hidden;
}


:root {
    --primary-color: #000033;
    --secondary-color: #4f8cff;
    --gold-color: #cda038;
    --color-surface: #f8f9fc;
    --color-surface-accent: #f0f4ff;
}

/* Header */

.nav-link {
    color: rgb(0, 0, 0);
}

.nav-link:hover {
    color: rgb(0, 0, 0);
}

/* primary Button */
.btn-primary {
    padding: 10px 20px;
    background: var(--primary-color);
    color: #cda038;
    border: none;
    outline: none;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 13px;
}

.btn-primary:hover {
    background: var(--primary-color);
    color: #cda038;
}

.nav-item {
    font-size: 18px;
}

/* --------------------------------------------------
   Scroll animations (About, Insights, Contact only)
   -------------------------------------------------- */

.anim-hidden {
    opacity: 0;
    transform: translateY(24px) scale(0.98);
    transition: opacity 620ms cubic-bezier(0.22, 1, 0.36, 1), transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.anim-visible {
    opacity: 1;
    transform: none;
}

/* Subtle section-limited hover polish */
#insights .insight-card,
#contact .contact-form-shell,
#contact .contact-icon-box,
#contact .btn-primary {
    transition: opacity 620ms cubic-bezier(0.22, 1, 0.36, 1), transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
}

#insights .insight-card:hover,
#contact .btn-primary:hover {
    transform: translateY(-2px);
}

#contact a:hover .contact-icon-box {
    transform: translateY(-2px);
}

/* Staggering for visible, polished sequence */
#about .row>.col-lg-6:nth-child(1) .anim-hidden {
    transition-delay: 0ms;
}

#about .row>.col-lg-6:nth-child(2) .anim-hidden {
    transition-delay: 100ms;
}

#about .row .col-sm-6:nth-child(1) .anim-hidden {
    transition-delay: 80ms;
}

#about .row .col-sm-6:nth-child(2) .anim-hidden {
    transition-delay: 160ms;
}

#about .row .col-sm-6:nth-child(3) .anim-hidden {
    transition-delay: 240ms;
}

#about .row .col-sm-6:nth-child(4) .anim-hidden {
    transition-delay: 320ms;
}

#insights .row>[class*="col-"]:nth-child(1) .anim-hidden {
    transition-delay: 0ms;
}

#insights .row>[class*="col-"]:nth-child(2) .anim-hidden {
    transition-delay: 100ms;
}

#insights .row>[class*="col-"]:nth-child(3) .anim-hidden {
    transition-delay: 200ms;
}

#insights .row>[class*="col-"]:nth-child(4) .anim-hidden {
    transition-delay: 300ms;
}

#insights .row>[class*="col-"]:nth-child(5) .anim-hidden {
    transition-delay: 400ms;
}

#contact .row>.col-lg-5:nth-child(1) .anim-hidden {
    transition-delay: 0ms;
}

#contact .row>.col-lg-7:nth-child(2) .anim-hidden {
    transition-delay: 120ms;
}

@media (prefers-reduced-motion: reduce) {

    .anim-hidden,
    .anim-visible,
    #insights .insight-card,
    #contact .contact-form-shell,
    #contact .contact-icon-box,
    #contact .btn-primary {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}