html {
}

body {
    background-color: #F4F4F1; /* Modern warm off-white */
    color: #0F0F0F;
    -webkit-font-smoothing: antialiased;
}

/* Apple-style smooth reveal animations */
.reveal {
    opacity: 0;
    transform: translateY(60px) scale(0.98);
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal.active {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Add slight delay for staggered elements */
.reveal-delay-1 { transition-delay: 100ms; }
.reveal-delay-2 { transition-delay: 200ms; }
.reveal-delay-3 { transition-delay: 300ms; }
.reveal-delay-4 { transition-delay: 400ms; }

/* Image hover zoom for Bento boxes */
.bento-img-container {
    overflow: hidden;
}
.bento-img {
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.bento-card:hover .bento-img {
    transform: scale(1.05);
}

/* Custom selection color */
::selection {
    background: #C19D60;
    color: white;
}

/* Force flex stretch on Safari/some browsers for bento boxes */
.bento-card-wrapper {
    display: flex;
    flex-direction: column;
}