body {
    font-family: 'JetBrains Mono', monospace;
    -webkit-font-smoothing: antialiased;
}

/* Smooth Reveal Animation */
.reveal {
    opacity: 0;
    transform: translateY(100px) scale(0.95);
    transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.delay-100 {
    transition-delay: 100ms;
}

.delay-200 {
    transition-delay: 200ms;
}

.delay-300 {
    transition-delay: 300ms;
}

.delay-400 {
    transition-delay: 400ms;
}

.delay-500 {
    transition-delay: 500ms;
}

.bg-grid-pattern {
    background-image: linear-gradient(to right, #8080800a 1px, transparent 1px),
        linear-gradient(to bottom, #8080800a 1px, transparent 1px);
    background-size: 24px 24px;
}

/* Hide Scrollbar but keep functionality */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* 3D Tilt Effect Classes */
.tilt-card {
    transform-style: preserve-3d;
    transition: transform 0.1s ease-out;
    will-change: transform;
}

.tilt-inner {
    transform: translateZ(20px);
}

/* Spotlight Effect */
.spotlight-card {
    position: relative;
    overflow: hidden;
}

.spotlight-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(800px circle at var(--mouse-x) var(--mouse-y), rgba(0, 0, 0, 0.04), transparent 40%);
    opacity: 0;
    transition: opacity 0.5s;
    pointer-events: none;
    z-index: 10;
}

.spotlight-card:hover::before {
    opacity: 1;
}

/* Physics Canvas Container */
#physics-container {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    background: #fafafa;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

.physics-item {
    position: absolute;
    top: 0;
    left: 0;
    cursor: grab;
    user-select: none;
    will-change: transform;
    transform-origin: center center;
}

.physics-item:active {
    cursor: grabbing;
}

/* Navigation Hover Underline */
.nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -3px;
    left: 0;
    background-color: #f06000;
    transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1;
}

.nav-link:hover::after {
    width: 100%;
}

/* Button Hover State */
.btn-x9:hover {
    background-color: #f06000 !important;
    border: 1px solid #f06000 !important;
}

/* Card Hover Orange Border */
.hover-border-orange:hover {
    border-color: #f06000 !important;
    box-shadow: 0 10px 30px rgba(240, 96, 0, 0.15);
    transform: translateY(-5px);
}

/* Slider Navigation Buttons */
.slider-nav-btn {
    transition: all 0.3s ease;
}

.slider-nav-btn:hover {
    border-color: #f06000 !important;
    color: #f06000 !important;
    background-color: white !important;
    box-shadow: 0 0 10px rgba(240, 96, 0, 0.1);
}

.bg-brand-orange {
    background-color: #f06000 !important;
    border-color: #f06000 !important;
    color: white !important;
}

.text-brand-orange {
    color: #f06000 !important;
}

.text-custom-gray {
    color: #6b7180 !important;
}

.muted-img {
    filter: grayscale(0.2) contrast(0.95) brightness(0.95) saturate(0.8);
}