/* Custom Global Styles */
body {
    font-family: 'Montserrat', sans-serif;
}

.font-serif {
    font-family: 'Cormorant Garamond', serif;
}

/* Smooth Scrolling for Anchor Links */
html {
    scroll-behavior: smooth;
}

/* Custom Scrollbar for Webkit */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
    background: #14b8a6;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #0d9488;
}

/* Animation Utilities */
.fade-in-section {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, visibility;
}

/* Ensure above-the-fold content is visible immediately */
.hero-content, .floating-cards {
    opacity: 1;
    transform: none;
}

/* Custom Cursor Logic handled in JS, but base styles here */
.cursor-dot,
.cursor-outline {
    position: fixed;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    z-index: 9999;
    pointer-events: none;
}

.cursor-dot {
    width: 8px;
    height: 8px;
    background-color: #0d9488;
}

.cursor-outline {
    width: 40px;
    height: 40px;
    border: 1px solid #0d9488;
    transition: width 0.2s, height 0.2s, background-color 0.2s;
}

@media (max-width: 768px) {
    .cursor-dot, .cursor-outline {
        display: none;
    }
}
