:root {
    --brand-orange: #FF4500;
    --text-black: #0A0A0A;
    --bg-white: #FFFFFF;
}

body {
    font-family: 'Epilogue', sans-serif;
    background-color: var(--bg-white);
    color: var(--text-black);
}

.heading-font {
    font-family: 'Space Grotesk', sans-serif;
    letter-spacing: -0.02em;
}

/* Solid Button */
.btn-solid {
    background-color: var(--brand-orange);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-solid:hover {
    background-color: #E03E00;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(255, 69, 0, 0.3);
}

/* Floating Animation */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0px); }
}

/* Image Masking */
.image-mask {
    mask-image: radial-gradient(white, black);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* Service Card Hover */
#services .group {
    background: #FFFFFF;
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

#services .group:hover {
    transform: translateY(-8px);
}

/* Entrance Animations */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

::selection {
    background: var(--brand-orange);
    color: white;
}