:root {
    --white: #ffffff;
    --blue-400: #60a5fa;
    --blue-500: #3b82f6;
    --blue-600: #2563eb;
    --blue-700: #1d4ed8;
    --blue-800: #1e40af;
}

.header-nav-link,
.side-panel-nav-link {
    --_gap: 0.5rem;
    position: relative;
    padding-inline: calc(var(--_gap) / 2);
}

.header-nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.5rem;
    height: 1.5px;
    width: 100%;
    background: var(--blue-500);
    scale: 0 1;
    transition: scale 0.5s;
}

.side-panel {
    opacity: 0;
    transform: translateX(-100%);
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.side-panel.open {
    opacity: 1;
    transform: translateX(0);
}

.side-panel-nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.5rem;
    height: 1.5px;
    width: 100%;
    background: var(--blue-500);
    scale: 0 1;
    transition: scale 0.5s;
}

/* .section-scroll-pinning-effect {
    position: sticky;
    top: 0;
    height: 100vh;
    z-index: 10;
} */

@media (min-width: 48rem) {
    .side-panel {
        transform: none;
        opacity: 1;
    }
}

@media (hover: hover) {
    .header-nav-link:hover {
        color: var(--blue-600);
    }

    .header-nav-link:hover::after {
        scale: 1 1;
    }

    .side-panel-nav-link:hover {
        color: var(--blue-600);
        border-bottom: none;
    }

    .side-panel-nav-link:hover::after {
        scale: 1 1;
    }

    .hero-main-cta-link:hover {
        background: var(--blue-700);
    }

    .service-card:hover {
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 
            0 4px 6px -4px rgba(0, 0, 0, 0.1);
    }

    .contact-form-cta-link:hover {
        background: var(--blue-700);
    }

    .footer-fast-links-list-item-link:hover {
        color: var(--blue-600);
    }

    .footer-socials-link:hover {
        color: var(--blue-800);
    }
}