/* Custom Styles & Utilities */
body {
    background-color: #FAFAFA;
    color: #0A0A0A;
    overflow-x: hidden;
}

/* Selection */
::selection {
    background-color: #D4AF37;
    color: #0A0A0A;
}

/* Smooth reveal animations */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Custom Hover Effect for Services */
.service-row {
    transition: all 0.4s ease;
}
.service-row:hover {
    padding-left: 2rem;
    color: #D4AF37;
}
.service-row::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 2px;
    background-color: #D4AF37;
    transition: width 0.4s ease;
}
.service-row:hover::before {
    width: 1.5rem;
}

/* Golden Text Gradient */
.text-gold-gradient {
    background: linear-gradient(to right, #D4AF37, #EED996, #D4AF37);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% auto;
    animation: shine 4s linear infinite;
}

@keyframes shine {
    to {
        background-position: 200% center;
    }
}

/* Image Masking for distinct look */
.img-mask {
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
}
