/* Prevents FOUC and creates a premium soft fade-in on initial load */
.js body {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.js body.is-loaded {
    opacity: 1;
}

body::backdrop {
    opacity: 1 !important;
}

.font-serif {
    font-family: 'Instrument Serif', serif;
}

.font-sans {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.font-geist {
    font-family: 'Geist', sans-serif !important;
}

.font-jakarta {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Custom Selection */
::selection {
    background-color: #f3efe8;
    color: #1B3A5C;
}

/* Hide scrollbar for clean aesthetic */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: #f3efe8;
}
::-webkit-scrollbar-thumb {
    background-color: #d9d1c5;
    border-radius: 10px;
}
