body {
    background-color: #FDFDFC;
    color: #1A1D20;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

::selection {
    background-color: #FF5E0E;
    color: #FDFDFC;
}

/* Snappy Orange Link Hover Effect */
.link-interactive {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding-bottom: 2px;
}
.link-interactive::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #FF5E0E;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
.link-interactive:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* Rapid Fade-and-Slide Up Intersection Classes */
.reveal-element {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal-element.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered delays */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
