/* ==========================================================================
   GGAM & Associates LLP — Services Directory Stylesheet (services.css)
   Dedicated styles for practice pillars, sticky sub-navigation, search filters,
   compliance roadmap, and service bento modules.
   ========================================================================== */

html {
    scroll-padding-top: 155px;
}

/* Sticky Practice Navigation Bar Elevation */
.services-sticky-nav {
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.services-sticky-nav.is-stuck {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
}

/* Horizontal Pill Scroll Strip on Mobile & Tablet */
.services-sticky-nav-strip {
    display: flex;
    align-items: center;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    touch-action: pan-x pan-y;
    overscroll-behavior-x: contain;
    padding-bottom: 2px;
}

.services-sticky-nav-strip::-webkit-scrollbar {
    display: none; /* Chrome/Safari/WebKit */
}

/* Practice Area Pill Filter Buttons */
.practice-nav-btn {
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    white-space: nowrap;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    cursor: pointer;
}

.practice-nav-btn.active {
    background-color: #2563EB;
    color: #FFFFFF;
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.25);
    border-color: #2563EB;
}

.practice-nav-btn:not(.active):hover {
    background-color: #F1F5F9;
    color: #0F172A;
    border-color: #CBD5E1;
}

/* Practice Pillar Module Card Elevation */
.practice-pillar-card {
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.practice-pillar-card:hover {
    border-color: #93C5FD;
    box-shadow: 0 20px 35px -10px rgba(15, 23, 42, 0.08);
}

/* Compliance Timeline Node Styling */
.compliance-timeline-node {
    position: relative;
}

.compliance-timeline-node::before {
    content: '';
    position: absolute;
    top: 2rem;
    bottom: -2rem;
    left: 1.25rem;
    width: 2px;
    background: #E2E8F0;
}

.compliance-timeline-node:last-child::before {
    display: none;
}

/* Deliverables Checkmark List Animation */
.deliverable-item {
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.deliverable-item:hover {
    transform: translateX(4px);
    background-color: #F8FAFC;
}

/* Smooth Category Section Highlight Flash */
@keyframes sectionHighlightFlash {
    0% { background-color: rgba(37, 99, 235, 0.08); }
    100% { background-color: transparent; }
}

.section-targeted {
    animation: sectionHighlightFlash 1.5s ease-out;
}
