:root {
    --studio-dark: #2b2a2a;
    --studio-pink: #8c045a;
    --studio-black: #000000;
    --studio-gray: #373739;
    --studio-purple: #645780;
    --bs-pink-50: #fdf2f8;
    --bs-purple-50: #faf5ff;
    --bs-pink-100: #fce7f3;
    --bs-pink-200: #fbcfe8;
    --bs-purple-200: #e9d5ff;
    --bs-gray-50: #f9fafb;
}

body {
    font-family: 'Inter', sans-serif;
}

.font-playfair {
    font-family: 'Playfair Display', serif;
}

.text-studio-dark {
    color: var(--studio-dark) !important;
}

.text-studio-pink {
    color: var(--studio-pink) !important;
}

.text-studio-gray {
    color: var(--studio-gray) !important;
}

.bg-studio-dark {
    background-color: var(--studio-dark) !important;
}

.border-studio-purple {
    border-color: var(--studio-purple) !important;
}

.bg-gradient-pink-purple {
    background-image: linear-gradient(to right, var(--bs-pink-200), var(--bs-purple-200));
}

.bg-hero {
    /*background-image: linear-gradient(to bottom right, var(--bs-pink-50), var(--bs-purple-50), var(--bs-pink-100));*/
    background-image: url("../img/hero-bg-v1-OOP1ytn.jpg");
    height: 600px;
    background-size: cover;
    background-position: center;
}

.bg-hero-gradient {
    height: 600px;
    background-image: linear-gradient(to bottom, hsl(0 0% 98% / 1), hsl(0 0% 98% / .7), hsl(0 0% 98% / .8));
}

.bg-gradient-features {
    background-image: linear-gradient(to bottom right, var(--bs-gray-50), var(--bs-purple-50));
}

.bg-gradient-process {
    background-image: linear-gradient(to bottom right, var(--bs-pink-50), var(--bs-gray-50));
}

.bg-gradient-pricing {
    background-image: linear-gradient(to bottom right, var(--bs-gray-50), var(--bs-pink-50));
}

.bg-gradient-text {
    background-image: linear-gradient(to right, var(--studio-pink), var(--studio-purple));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.btn-gradient {
    background-image: linear-gradient(to right, var(--studio-pink), var(--studio-purple));
    border: 0;
    color: white;
}

.btn-gradient:hover {
    color: white;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

.contact-icon .icon-circle {
    transition: transform .3s ease;
}

.contact-icon:hover .icon-circle {
    transform: scale(1.1);
}

.contact-icon-circle {
    width: 48px;
    height: 48px;
}

@media (min-width: 768px) {
    .contact-icon-circle {
        width: 64px;
        height: 64px;
    }
}

.contact-icon:hover {
    background-image: linear-gradient(to bottom right, var(--bs-pink-50), var(--bs-purple-50));
}

.card-feature {
    transition: all .5s ease;
}

.card-feature:hover {
    transform: translateY(-.5rem);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important;
}

.card-feature .card-img-top {
    transition: transform .5s ease;
}

.card-feature:hover .card-img-top {
    transform: scale(1.05);
}

.gallery-img {
    transition: box-shadow .3s ease;
}

.gallery-img:hover {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important;
}

::-webkit-scrollbar {
    display: none;
}

.text-shadow {
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

/* Timeline Styles */
.timeline {
    position: relative;
}

.timeline-item {
    margin-bottom: 1.5rem;
}

.timeline-item:last-child {
    margin-bottom: 0;
}

.timeline-content {
    background: white;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    text-align: center;
}

.timeline-content:hover {
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
    transform: translateY(-0.25rem);
}

.timeline-arrow {
    text-align: center;
    margin: 1rem 0;
    color: var(--studio-purple);
}

.timeline-arrow i {
    font-size: 1.5rem;
    background-image: linear-gradient(to bottom, var(--studio-pink), var(--studio-purple));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

/* Mobile Responsive */
@media (max-width: 767.98px) {
    .timeline-content {
        padding: 1.25rem;
    }

    .timeline-arrow {
        margin: 0.75rem 0;
    }

    .timeline-arrow i {
        font-size: 1.25rem;
    }
}
