/* Container Layout Matrix */
.custom-marquee-container {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.marquee-list {
    width: 100%;
}

/* Linear Animation Engine Wrapper */
.marquee-track-infinite {
    display: flex;
    /* Loops linearly over 14 seconds exactly like the original Next.js config */
    animation: linearTickerScroll 14s linear infinite;
    width: max-content;
}

/* Maintain identical dimensions across card elements */
.custom-marquee-slide {
    width: 219px !important;
    padding: 0 10px;
    box-sizing: border-box;
    flex-shrink: 0;
    display: inline-block;
}

/* Pauses movement smoothly if user hovers cursor over an award item */
.custom-marquee-container:hover .marquee-track-infinite {
    animation-play-state: paused;
}

/* Keyframe rendering logic: translates exactly half of the cloned tree components */
@keyframes linearTickerScroll {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

.custom-vertical-wrapper {
    position: relative;
    display: block;
    width: 100%;
}

.vertical-slider-viewport {
    width: 100%;
    height: 509px;
    overflow: hidden;
}

.custom-vertical-slide {
    width: 100%;
    height: 509px;
    box-sizing: border-box;
}

/* Base formatting for click buttons */
.slick-arrow {
    cursor: pointer;
    user-select: none;
}

/* Slider Parent Window Viewport */
.custom-testimonial-marquee {
    overflow: hidden;
    width: 100%;
    position: relative;
    padding: 1rem 0;
}

/* Infinite Slide Engine Track Wrapper */
.testimonial-marquee-track {
    display: flex;
    width: max-content;
    /* Loops linearly over 16 seconds matching Next.js runtime intervals */
    animation: smoothTestimonialScroll 16s linear infinite;
}

/* Maintain identical pixel dimensions layout rules across cards */
.custom-testimonial-slide {
    width: 314px !important;
    padding: 0 12px;
    box-sizing: border-box;
    flex-shrink: 0;
}

/* Pause the scrolling animation gracefully on hover state profiles */
.custom-testimonial-marquee:hover .testimonial-marquee-track {
    animation-play-state: paused;
}

/* Hardware accelerated transition calculation profiles */
@keyframes smoothTestimonialScroll {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

/* Carousel Viewport Container Mask */
.custom-industry-carousel-viewport {
    overflow: hidden;
    width: 100%;
    position: relative;
    padding: 1.5rem 0;
}

/* Linear Endless Ticker Carousel Track Line */
.industry-carousel-infinite-track {
    display: flex;
    width: max-content;
    /* Loops smoothly over 22 seconds for an organic continuous look */
    animation: endlessIndustryTickerScroll 22s linear infinite;
}

/* Match the exact component footprint from your code metrics */
.custom-industry-slide-card {
    width: 302px !important;
    padding: 0 10px;
    box-sizing: border-box;
    flex-shrink: 0;
}

/* Pause the continuous carousel slider instantly when hovered */
.custom-industry-carousel-viewport:hover .industry-carousel-infinite-track {
    animation-play-state: paused;
}

/* Hardware accelerated transition offsets rendering math */
@keyframes endlessIndustryTickerScroll {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

/* Tech Stack Track Viewport Bounds Mask */
.custom-tech-marquee-container {
    overflow: hidden;
    width: 100%;
    position: relative;
}

/* Linear Infinite Structural Line Flexbox Base */
.tech-infinite-track {
    display: flex;
    width: max-content;
    will-change: transform;
}

/* Row Animation Parameters (Set to 10s intervals matching Next.js specifications) */
.tech-infinite-track.track-ltr {
    animation: techScrollLeftToRight 10s linear infinite;
}

.tech-infinite-track.track-rtl {
    animation: techScrollRightToLeft 10s linear infinite;
}

/* Locked card cell geometric width proportions */
.custom-tech-slide {
    width: 231px !important;
    padding: 0 15px;
    box-sizing: border-box;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;

}

/* Pause animations gracefully if a user hovers anywhere over the track window grid */
.custom-tech-marquee-container:hover .tech-infinite-track {
    animation-play-state: paused;
}

/* ==========================================================================
   Hardware-Accelerated Animation Translation Matrices
   ========================================================================== */
@keyframes techScrollRightToLeft {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes techScrollLeftToRight {
    0% {
        transform: translate3d(-50%, 0, 0);
    }

    100% {
        transform: translate3d(0, 0, 0);
    }
}

/* Mobile Viewport Mask Grid Constraints */
.custom-services-mobile-viewport {
    overflow: hidden;
    width: 100%;
    position: relative;
    padding-bottom: 25px;
}

/* Flex Track Matrix Line Layout */
.services-mobile-track {
    display: flex;
    width: 100%;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
}

/* Force each single slide card container cell layer to fill exactly 100% viewport width */
.services-mobile-slide {
    width: 100%;
    flex-shrink: 0;
    padding: 0 10px;
    box-sizing: border-box;
}

/* Unified Pagination Dot Spacing Layout profiles */
.custom-slick-dots {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
}

.custom-slick-dots li {
    margin: 0 6px;
}

.custom-slick-dots li button {
    border: none;
    background: #0058F0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

/* Active Highlight Dot Vector Profile rules */
.custom-slick-dots li.dot-active button {
    background: #081023 !important;
    /* DevGinix Master Red Accent */
    transform: scale(1.25);
}

/* Mobile Track Window Bounds Mask */
.custom-deliver-mobile-viewport {
    overflow: hidden;
    width: 100%;
    position: relative;
    padding: 15px 0;
}

/* Linear Slide Layout Horizontal Track Line */
.deliver-mobile-track {
    display: flex;
    width: 100%;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
}

/* Force each unique value cell to fill exactly 100% viewport width boundaries */
.deliver-mobile-slide {
    width: 100%;
    flex-shrink: 0;
    padding: 0 10px;
    box-sizing: border-box;
}

/* Pagination Control Dot Layout Matrices */
.custom-deliver-dots {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
}

.custom-deliver-dots li {
    margin: 0 6px;
}

.custom-deliver-dots li button {
    border: none;
    background: #0058F0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

/* Highlight Indicator Styling Rules */
.custom-deliver-dots li.deliver-dot-active button {
    background: #081023 !important;
    /* DevGinix Pink-Red Brand Class Accent */
    transform: scale(1.25);
}

/* Container alignment */
.header-actions {
    display: flex;
    /*align-items: center;*/
    gap: 35px; /* Precise layout spacing between groups */
    font-family: 'Poppins', -apple-system, sans-serif;
    align-items: end;
    justify-content: end;
    background:#00000000;
    border-radius:15px;
    padding:10px 20px;
    position:relative;
}

.header-actions.bgcolro:after {
    content: "";
    backdrop-filter: blur(6px);
    background: rgba(0, 0, 0, .2);
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 73px;
    left: 0;
    top: 0;
    z-index: -1;
}
/* Support Text Stack styling */
.support-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

/* Pill badge text link */
.support-label {
    background-color: #f5f6f7;
    color: #2d3139;
    text-decoration: none;
    font-size: 0.55rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background-color 0.2s ease;
}

.support-label:hover {
    background-color: #e8eaec;
}

.support-label .arrow {
    font-size: 0.95rem;
    line-height: 1;
}

/* Phone Number link styling */
.phone-number {
    color: #1e2229;
    text-decoration: none;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.5px;
    line-height: 1.1;
    transition: color 0.2s ease;
}

.phone-number:hover {
    color: #062657; /* Subtle depth shift on link hover */
}

/* Deep Blue Call to Action Button */
.btn-quote {
    background-color: #062657; /* The exact dark navy color token */
    color: #ffffff;
    text-decoration: none;
    padding: 14px 32px;
    border-radius: 16px; /* Smooth rounded block cornering */
    font-size: 0.9rem;
    font-weight: 700;
    display: inline-block;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.btn-quote:hover {
    background-color: #0a3373; /* Smooth highlight variation */
}

.btn-quote:active {
    transform: scale(0.98); /* Native press interaction feedback */
}

/* --- Mobile Responsiveness Setup --- */
@media (max-width: 576px) {
    .header-actions {
        gap: 20px;
        display:none;
    }
    
    .phone-number {
        font-size: 1.2rem;
    }
    
    .btn-quote {
        padding: 12px 24px;
        font-size: 0.95rem;
        border-radius: 12px;
    }
}