/* Styles from resources/views/pages/services.blade.php */
/* Center FAQ image + accordion row on wider screens (fix laptop alignment) */
            @media (min-width: 992px) {
                .rts-faq-area .container-full.mt--40 > .row { justify-content: center; }
            }
            /* fallback: center on all widths where needed */
            .rts-faq-area .container-full.mt--40 > .row { display:flex; }

/* Styles from resources/views/pages/portifolio.blade.php */
/* Professional, simple layout: readable titles, visible spacing, keep border-radius */
                        .portfolio-info {
                            background: #331E56;
                            color: #ffffff;
                            padding: 18px 20px; /* slightly larger for visual balance */
                            padding-bottom: 22px; /* extra bottom padding for breathing room */
                            border-radius: 8px;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            text-align: center;
                            max-width: 880px;
                            margin: 0 auto 28px; /* ensure space below block on all screens */
                            width: 100%;
                            box-sizing: border-box;
                        }
                        .portfolio-info p.lead { color: #fff; margin: 0; font-weight: 500; }

                        .single-project-style-three { padding: 0; margin-bottom: 20px; border-radius: 8px; overflow: hidden; box-shadow: 0 6px 18px rgba(16,24,40,0.06); background: #fff; }
                        .single-project-style-three .thumbnail { text-align: center; padding: 10px 0 6px; background: #ffffff; }
                        .single-project-style-three .thumbnail img {
                            display: block;
                            margin: 0 auto;
                            width: auto;
                            max-width: 88%;
                            height: auto;
                            object-fit: contain; /* show whole image */
                        }

                        /* Title area (normal: dark text, on hover/active: white on dark background) */
                        .single-project-style-three .inner-content {
                            padding: 12px 14px;
                            background: transparent;
                            transition: background .18s ease, color .18s ease;
                        }
                        .single-project-style-three .inner-content .title {
                            font-size: 1.06rem;
                            line-height: 1.18;
                            margin-bottom: 0;
                            font-weight: 600;
                            color: #331E56; /* normal text color */
                        }

                        /* When hovering the card, make title white and give dark footer background */
                        .single-project-style-three:hover .inner-content { background: #331E56; }
                        .single-project-style-three:hover .inner-content .title { color: #ffffff; }

                        /* Also apply same styles when card is active or focused (keyboard/touch) */
                        .single-project-style-three:active .inner-content,
                        .single-project-style-three:focus-within .inner-content {
                            background: #331E56;
                        }
                        .single-project-style-three:active .inner-content .title,
                        .single-project-style-three:focus-within .inner-content .title {
                            color: #ffffff;
                        }

                        /* Class used by JS on touch devices to emulate hover/tap */
                        .single-project-style-three.is-tapped .inner-content { background: #331E56; }
                        .single-project-style-three.is-tapped .inner-content .title { color: #ffffff; }

                        /* Link styling inside title */
                        .single-project-style-three .inner-content a { color: inherit; text-decoration: none; }
                        .single-project-style-three .inner-content a:hover { text-decoration: none; }

                        /* Pagination spacing: always show numbered links and keep layout consistent */
                        .pagination {
                            margin: 0;
                            display: flex;
                            gap: 8px;
                            flex-wrap: wrap;
                            justify-content: center;
                            align-items: center;
                        }
                        .pagination .page-item { display: inline-block !important; }
                        .pagination .page-link {
                            padding: 8px 12px;
                            border-radius: 6px;
                            background: #ffffff;
                            color: #331E56;
                            border: 1px solid rgba(51,30,86,0.06);
                        }
                        .pagination .page-item.active .page-link {
                            background: #331E56;
                            color: #ffffff;
                            border-color: #331E56;
                        }
                        .pagination .page-link:hover {
                            background: #331E56;
                            color: #ffffff;
                            border-color: #331E56;
                        }

                        @media (max-width: 992px) {
                            .single-project-style-three .thumbnail img { max-width: 76%; }
                            .single-project-style-three { margin-bottom: 18px; }
                            .single-project-style-three .inner-content { padding: 10px 12px; }
                            .single-project-style-three .inner-content .title { font-size: 1.02rem; }
                        }

                        @media (max-width: 576px) {
                            .single-project-style-three .thumbnail img { max-width: 100%; }
                            .single-project-style-three { margin-bottom: 14px; }
                            .single-project-style-three .inner-content { padding: 10px 12px; }
                            .single-project-style-three .inner-content .title { font-size: 1rem; }
                            .portfolio-info p.lead { font-size: 0.98rem; }
                        }

/* Styles from resources/views/partials/cta.blade.php */
.cta-btn-explore {
                                                background-color: transparent !important;
                                                border: 2px solid #fff !important;
                                                color: #fff !important;
                                                border-radius: 30px !important;
                                                text-transform: uppercase !important;
                                                transition: all 0.3s ease;
                                            }
                                            .cta-btn-explore:hover {
                                                background-color: #fff !important;
                                                color: #331E56 !important;
                                            }

/* Styles from resources/views/pages/about.blade.php */
.single-counter-custom {
                        text-align: center;
                        padding: 40px 20px;
                        background: #fff;
                        border-radius: 10px;
                        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
                        transition: all 0.3s ease;
                        border-bottom: 3px solid #EF9120;
                        height: 100%;
                    }
                    .single-counter-custom:hover {
                        transform: translateY(-5px);
                        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
                    }
                    .single-counter-custom .icon {
                        margin-bottom: 20px;
                    }
                    .single-counter-custom h2.title {
                        font-size: 48px;
                        font-weight: 700;
                        color: #331E56;
                        margin-bottom: 10px;
                    }
                    .single-counter-custom h2.title span {
                        color: #331E56;
                    }
                    .single-counter-custom p {
                        font-size: 18px;
                        font-weight: 600;
                        color: #555;
                        margin: 0;
                    }

/* Styles from resources/views/pages/about.blade.php */
.matrix-timeline {
                        position: relative;
                        max-width: 100%;
                        margin: 0 auto;
                        padding: 20px 0;
                    }

                    /* The vertical line */
                    .matrix-timeline::after {
                        content: '';
                        position: absolute;
                        width: 8px;
                        background: #EF9120;
                        top: 0;
                        bottom: 0;
                        left: 50%;
                        margin-left: -4px;
                        border-radius: 4px;
                    }

                    /* Timeline item container */
                    .matrix-timeline-item {
                        padding: 10px 30px;
                        position: relative;
                        background-color: inherit;
                        width: 50%;
                        box-sizing: border-box;
                    }

                    /* Left side */
                    .matrix-timeline-item.left {
                        left: 0;
                    }

                    /* Right side */
                    .matrix-timeline-item.right {
                        left: 50%;
                    }

                    /* The dots on the line */
                    .matrix-timeline-item::after {
                        content: '';
                        position: absolute;
                        width: 24px;
                        height: 24px;
                        right: -12px;
                        background-color: #fff;
                        border: 5px solid #331E56;
                        top: 35px;
                        border-radius: 50%;
                        z-index: 1;
                    }

                    .matrix-timeline-item.right::after {
                        left: -12px;
                    }

                    /* The card content */
                    .matrix-timeline-card {
                        padding: 30px;
                        background: #fff;
                        border-radius: 10px;
                        box-shadow: 0 5px 25px rgba(0,0,0,0.08);
                        position: relative;
                        border-top: 5px solid #EF9120;
                    }

                    /* Responsive */
                    @media screen and (max-width: 991px) {
                        .matrix-timeline::after {
                            left: 20px;
                        }
                        .matrix-timeline-item {
                            width: 100%;
                            padding-left: 50px;
                            padding-right: 15px;
                        }
                        .matrix-timeline-item.right {
                            left: 0;
                        }
                        .matrix-timeline-item.left::after, .matrix-timeline-item.right::after {
                            left: 8px;
                        }
                    }

/* Styles from resources/views/pages/about.blade.php */
.single-case-studies-four .thumbnail img {
            height: 450px;
            object-fit: cover;
            width: 100%;
        }
        .single-case-studies-four .inner {
            bottom: 40px !important;
            transform: translateY(calc(100% - 25px)); /* Shows the title, hides the paragraph */
            transition: transform 0.4s ease;
        }
        .single-case-studies-four:hover .inner {
            transform: translateY(0);
        }

/* Styles from resources/views/pages/home.blade.php */
/* Logo toggling for sticky header on home page */
    header.header--sticky.sticky .logo-white {
        display: none !important;
    }
    header.header--sticky.sticky .logo-dark {
        display: inline-block !important;
    }
    header.header--sticky:not(.sticky) .logo-white {
        display: inline-block !important;
    }
    header.header--sticky:not(.sticky) .logo-dark {
        display: none !important;
    }
        /* This entire block applies ONLY to screens wider than 1024px */
    @media (min-width: 1024px) {
        
        /* 1. ADD GAP: Adds space between the logos (horizontal and vertical) */
        .client-three-wrapper {
            gap: 30px; /* Increase or decrease this value to change the space */
        }

        /* 2. MAKE IMAGES BIGGER: Increases the width of the logo images */
        .client-three-wrapper .single img {
            max-width: 200px; /* Adjust this value to make them bigger/smaller */
            /* You can also add height if needed, e.g., height: 80px; */
        }

        /* Optional: Force a layout if the gap isn't enough */
        .client-three-wrapper .single {
            flex-basis: auto; /* Ensures the width is determined by the content/padding */
        }
    }

    /* =========================================
    7. HERO SECTION - INDEX SEVEN (A&B Matrix)
    (Layout Fix: Counter Bottom-Left, Glass Email)
    ========================================= */

    /* Container Setup */
    .index-seven-area {
        position: relative;
        padding-top: 200px;
        padding-bottom: 120px !important;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        height: auto !important;
        min-height: 82vh !important;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    /* Dark Overlay for Readability */
    .index-seven-area::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(135deg, rgba(10, 16, 30, 0.88) 0%, rgba(15, 23, 42, 0.82) 100%);
        z-index: 1;
    }

    /* Inner Content Wrapper - Clean Centered Layout */
    .banner-seven-inner-content {
        position: relative;
        z-index: 2;
        width: 100%;
        padding-left: 0 !important; /* CRITICAL: Clears style.css 90px padding */
        
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 24px;
        margin: 0 auto;
    }

    /* 1. Pre-Title Badge */
    .banner-seven-inner-content .pre-title {
        display: inline-flex;
        align-items: center;
        background: rgba(255, 255, 255, 0.12);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        padding: 8px 22px;
        border-radius: 50px;
        margin-bottom: 0; 
        border: 1px solid rgba(255, 255, 255, 0.25);
        font-family: var(--font-secondary);
        font-weight: 700;
        font-size: 11px;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color: #ffffff;
    }

    .banner-seven-inner-content .pre-title img {
        margin-right: 10px;
        width: 18px;
        height: 18px;
        filter: brightness(0) invert(1);
    }

    /* 2. Main Typography */
    .banner-seven-inner-content .title {
        font-size: 52px !important;
        line-height: 1.22 !important;
        font-weight: 800 !important;
        color: #FFFFFF !important;
        margin-bottom: 0 !important;
        margin-top: 0 !important;
        text-transform: uppercase;
        letter-spacing: -0.5px;
    }

    .banner-seven-inner-content .title span {
        padding-left: 0 !important; /* CRITICAL: Clears style.css 350px padding */
        display: block !important;
        color: #EF9120 !important; 
        background: linear-gradient(180deg, #FCD34D 0%, #EF9120 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        margin-top: 8px;
    }

    .banner-seven-inner-content p.disc {
        padding-left: 0 !important; /* CRITICAL: Clears style.css 360px padding */
        font-size: 17px !important;
        line-height: 1.7 !important;
        color: rgba(255, 255, 255, 0.88) !important;
        margin-bottom: 0 !important;
        max-width: 840px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-weight: 400;
    }

    /* 3. Hero Buttons Group */
    .hero-btn-group {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 18px;
        margin-top: 8px;
    }

    .hero-btn-group .rts-btn {
        margin-left: 0 !important; /* CRITICAL: Clears style.css 360px margin */
    }

    .btn-hero-primary {
        background: #EF9120 !important;
        border: 2px solid #EF9120 !important;
        color: #ffffff !important;
        padding: 16px 36px !important;
        border-radius: 50px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        display: inline-flex !important;
        align-items: center !important;
        box-shadow: 0 10px 25px rgba(239, 145, 32, 0.4) !important;
        transition: all 0.35s ease !important;
        text-decoration: none !important;
    }

    .btn-hero-primary:hover {
        background: #d87c12 !important;
        border-color: #d87c12 !important;
        transform: translateY(-3px) !important;
        box-shadow: 0 15px 35px rgba(239, 145, 32, 0.5) !important;
        color: #ffffff !important;
    }

    .btn-hero-secondary {
        background: rgba(255, 255, 255, 0.12) !important;
        border: 2px solid rgba(255, 255, 255, 0.35) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        color: #ffffff !important;
        padding: 16px 36px !important;
        border-radius: 50px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        display: inline-flex !important;
        align-items: center !important;
        transition: all 0.35s ease !important;
        text-decoration: none !important;
    }

    .btn-hero-secondary:hover {
        background: #ffffff !important;
        border-color: #ffffff !important;
        color: #1a1464 !important;
        transform: translateY(-3px) !important;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25) !important;
    }

    @media (max-width: 991px) {
        .index-seven-area {
            padding-top: 170px;
            padding-bottom: 90px !important;
            min-height: unset !important;
        }
        .banner-seven-inner-content .title {
            font-size: 38px !important;
        }
    }

    @media (max-width: 575px) {
        .index-seven-area {
            padding-top: 140px;
            padding-bottom: 70px !important;
        }
        .banner-seven-inner-content .title {
            font-size: 27px !important;
        }
        .banner-seven-inner-content p.disc {
            font-size: 14.5px !important;
        }
        .hero-btn-group {
            flex-direction: column;
            width: 100%;
            gap: 12px;
        }
        .btn-hero-primary,
        .btn-hero-secondary {
            width: 100%;
            justify-content: center;
        }
    }

    /* 5. Email Area (Left Ribbon) - GLASS EFFECT FIX */
    .email-area-left {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        
        /* FIX: Glassmorphism instead of Solid White */
        background: rgba(255, 255, 255, 0.15); /* Semi-transparent */
        backdrop-filter: blur(10px); /* Blurs the BG image behind */
        border: 1px solid rgba(255, 255, 255, 0.3); /* Border for visibility */
        
        padding: 25px 20px;
        border-radius: 0 10px 10px 0;
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.2);
        
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .email-area-left i {
        font-size: 20px;
        color: #FFFFFF; /* White icon on glass */
        margin-bottom: 10px;
        text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    }

    .email-area-left a {
        writing-mode: vertical-rl; 
        font-weight: 600;
        font-size: 14px;
        color: #FFFFFF; /* White text on glass */
        text-decoration: none;
        letter-spacing: 1px;
        text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    }

    /* 6. Scroll Down Button (Bottom) */
    .to-bottom-area {
        position: absolute;
        bottom: 40px;
        left: 100px; /* Keeps it near the Email Ribbon area */
        z-index: 10;
        display: flex;
        align-items: center;
        color: #FFFFFF;
        font-size: 14px;
        text-transform: uppercase;
        text-decoration: none;
        transition: 0.3s;
    }

    .to-bottom-area i {
        margin-right: 10px;
        animation: bounce 2s infinite;
    }

    @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-10px);}
    60% {transform: translateY(-5px);}
    }

    .to-bottom-area:hover {
        color: #F59E0B;
    }

    /* =========================================
    RESPONSIVE DESIGN
    ========================================= */
    @media (max-width: 1199px) {
        /* Slight adjustment for laptops */
        .banner-seven-inner-content .title {
            font-size: 38px;
        }
        
        .counter-area-banner-7 {
            padding: 20px 30px;
        }
    }

    @media (max-width: 991px) {
        .banner-seven-inner-content {
            text-align: center; /* Center align for tablets */
            align-items: center;
        }
        
        .counter-area-banner-7 {
            margin: 20px auto; /* Center the counter block */
            width: 100%;
            max-width: 400px;
            justify-content: center;
        }
        
        .counter-area-banner-7 .title-counter {
            font-size: 36px;
        }
        
        .email-area-left {
            display: none; /* Hide floating elements on tablet/mobile */
        }
        
        .to-bottom-area {
            left: 50%;
            transform: translateX(-50%);
            bottom: 20px;
        }
    }

    @media (max-width: 575px) {
        .banner-seven-inner-content .title {
            font-size: 30px; /* Smaller Font on Mobile */
        }
        
        .counter-area-banner-7 {
            flex-direction: column; /* Stack Counter vertical on mobile */
            text-align: center;
            padding: 20px;
        }
        
        .counter-area-banner-7 p,
        .stars-area-main {
            margin-left: 0;
            padding-left: 0;
            border-left: none;
            margin-top: 10px;
        }
    }

    /* === SERVICE ITEM LAYOUT OVERRIDE === */

    .sticky-statement {
        display: block !important;
        position: relative !important;
        padding: 30px 30px !important;
    }

    /* Left side takes full width */
    .sticky-statement .left-side {
        display: flex !important;
        align-items: center !important;
        gap: 15px !important;
        width: 100% !important;
    }

    /* Icon stays clean */
    .sticky-statement .left-side .icon {
        flex-shrink: 0 !important;
    }

    /* Title alignment */
    .sticky-statement .left-side .title {
        margin: 0 !important;
        line-height: 1.4 !important;
    }

    /* Right side no longer affects layout */
    .sticky-statement .right {
        position: absolute !important;
        right: 30px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

    /* Arrow stays clickable and aligned */
    .sticky-statement .right .arrow {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Safety: kill paragraph spacing globally inside services */
    .sticky-statement .disc {
        display: none !important;
    }

/* Styles from resources/views/pages/home.blade.php */
/* 
           CUSTOM STYLES FOR THE PUBLICATIONS SECTION
           These are designed to be specific to this section so they don't conflict 
           with your main project styles.
        */
        
        :root {
            --pub-primary-color: #331E56; /* Dark Navy for text */
            --pub-accent-color: #e67e22;  /* Orange/Gold for accents */
            --pub-bg-color: #f8f9fa;     /* Light gray background */
            --pub-link-color: #0056b3;   /* Standard link blue */
        }

        #publication-section {
            background-color: var(--pub-bg-color);
            padding: 100px 0;
            position: relative;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            overflow: hidden;
        }

        /* Decorative background element (Optional) */
        #publication-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: linear-gradient(90deg, var(--pub-primary-color), var(--pub-accent-color));
        }

        /* --- Typography & Layout --- */
        .pub-wrapper {
            padding: 20px;
        }

        .pub-main-title {
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--pub-primary-color);
            letter-spacing: 2px;
            margin-bottom: 30px;
            text-transform: uppercase;
            border-left: 5px solid var(--pub-accent-color);
            padding-left: 15px;
            line-height: 1;
        }

        /* --- Link Items --- */
        .pub-item {
            margin-bottom: 25px;
            transition: transform 0.3s ease;
        }

        .pub-item-title {
            display: block;
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--pub-primary-color);
            margin-bottom: 5px;
        }

        .pub-link-btn {
            display: inline-block;
            text-decoration: none;
            color: #fff;
            background-color: var(--pub-primary-color);
            padding: 8px 20px;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }

        .pub-link-btn:hover {
            background-color: var(--pub-accent-color);
            transform: translateY(-2px);
            box-shadow: 0 6px 12px rgba(0,0,0,0.15);
            color: #fff;
        }

        /* --- Image Cards (Books) --- */
        .book-card {
            position: relative;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 10px 20px rgba(0,0,0,0.15);
            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            background-color: #fff;
            margin-bottom: 20px;
            /* Maintain aspect ratio for book covers */
            aspect-ratio: 3 / 4; 
        }

        .book-card:hover {
            transform: scale(1.05);
            z-index: 2;
        }

        .book-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .book-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background: rgba(44, 62, 80, 0.85);
            color: #fff;
            padding: 10px;
            text-align: center;
            font-size: 0.9rem;
            font-weight: 600;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .book-card:hover .book-caption {
            opacity: 1;
        }

        /* --- Footer Info --- */
        .pub-footer {
            margin-top: 40px;
            padding-top: 20px;
            border-top: 1px solid #ddd;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 20px;
            flex-wrap: wrap;
        }

        .pub-website {
            font-size: 1.1rem;
            font-weight: 600;
            color: var(--pub-primary-color);
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .pub-website:hover {
            color: var(--pub-accent-color);
        }

        .pub-brand-logo {
            font-weight: 800;
            font-style: italic;
            color: var(--pub-primary-color);
            font-size: 1.4rem;
            display: flex;
            align-items: center;
            gap: 5px;
        }

        /* --- Mobile Adjustments --- */
        @media (max-width: 991px) {
            .pub-main-title {
                font-size: 2rem;
                text-align: center;
                border-left: none;
                border-bottom: 5px solid var(--pub-accent-color);
                padding-bottom: 10px;
                padding-left: 0;
                display: inline-block;
            }
            
            .pub-content-col {
                text-align: center;
                margin-bottom: 30px;
            }

            .pub-item {
                display: inline-block;
                width: 100%;
            }
        }

/* Styles from resources/views/pages/casestudy.blade.php */
/* RESET & BASE */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: #111;
}

/* --- ALTERNATING SECTIONS LOGIC --- */
/* This makes Section 1 White, Section 2 Grey, Section 3 White, etc. */
section.campaign-wrapper:nth-child(odd) {
  background-color: #ffffff; /* Pure White */
  border-bottom: 1px solid #f0f0f0; /* Subtle bottom border for separation */
}

section.campaign-wrapper:nth-child(even) {
  background-color: #f4f6f8; /* Professional Light Grey */
}

/* --- LAYOUT --- */
.campaign-wrapper {
  display: grid;
  grid-template-columns: 320px 1fr; /* Left Info Fixed Width, Right Content Fills */
  gap: 3rem;
  padding: 4rem 3rem; /* Generous padding for section breathing room */
  max-width: 1400px; /* Slightly tighter max-width for better readability */
  margin: 0 auto; /* Centers the section in the middle of the screen */
  transition: background-color 0.3s ease;
}

/* Grid columns constraint for Swiper & Images */
.campaign-wrapper > div,
.posters-grid,
.posters-carousel-wrapper {
  min-width: 0;
}

/* LEFT INFO COLUMN */
.campaign-info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-top: 10px; /* Aligns nicely with image content */
}

.brand-title {
  font-size: 2rem;
  font-weight: 900;
  color: #1a1464;
  line-height: 1.15;
  text-transform: uppercase;
  margin: 0;
}

.arrow {
  color: #1a1464;
  letter-spacing: 3px;
  font-size: 1.2rem;
  font-weight: 700;
}

.info-block h3 {
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 1px;
  color: #888;
  margin-bottom: 0.4rem;
  text-transform: uppercase;
}

.info-block p {
  font-size: 1.1rem;
  color: #333;
  font-weight: 500;
  line-height: 1.6;
}

/* --- POSTERS GRID --- */
.posters-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2 Columns for posters */
  gap: 2.5rem;
  align-content: start;
}

/* --- POSTER CARD --- */
.poster-card {
  background: #0d1222;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
  height: 100%;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.06);
  position: relative;
}

/* Hover Effect */
.poster-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 45px rgba(0,0,0,0.16);
}

.poster-image {
  position: relative;
  width: 100%;
  height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0c1020;
  overflow: hidden;
}

/* Ambient Blurred Backdrop - perfectly adapts empty space with image palette */
.poster-image .poster-ambient-blur {
  position: absolute;
  inset: -20px;
  background-size: cover;
  background-position: center;
  filter: blur(28px) brightness(0.55) saturate(1.35);
  transform: scale(1.18);
  opacity: 0.65;
  pointer-events: none;
  z-index: 1;
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.poster-card:hover .poster-image .poster-ambient-blur {
  transform: scale(1.25);
  opacity: 0.8;
}

/* Foreground Poster Image: NEVER CUT OFF / ADAPTS PROPORTIONATELY */
.poster-image img.poster-main-img {
  position: relative;
  z-index: 2;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: auto;
  display: block;
  border-radius: 4px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.poster-card:hover .poster-image img.poster-main-img {
  transform: scale(1.03);
}

/* Zoom / Preview Hint Overlay */
.poster-zoom-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(13, 18, 34, 0.35);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.poster-card:hover .poster-zoom-overlay,
.poster-card-home:hover .poster-zoom-overlay {
  opacity: 1;
}

.poster-zoom-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.95);
  color: #1a1464;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  padding: 10px 20px;
  border-radius: 999px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
  transform: translateY(8px) scale(0.92);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.poster-card:hover .poster-zoom-badge,
.poster-card-home:hover .poster-zoom-badge {
  transform: translateY(0) scale(1);
}

/* --- POSTERS CAROUSEL (When images exceed 2) --- */
.posters-carousel-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 45px; /* Room for pagination dots */
}

.posters-carousel-wrapper .case-study-swiper {
  width: 100%;
  padding: 12px 6px 18px 6px;
  margin: -12px -6px 0 -6px;
  overflow: hidden;
}

.posters-carousel-wrapper .swiper-slide {
  height: auto;
  display: flex;
}

.posters-carousel-wrapper .swiper-slide .poster-card {
  width: 100%;
}

/* Carousel Navigation Arrows */
.cs-carousel-btn {
  position: absolute;
  top: calc(50% - 22px);
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: #ffffff;
  border: 1px solid rgba(26, 20, 100, 0.12);
  border-radius: 50%;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1a1464;
  font-size: 15px;
  cursor: pointer;
  z-index: 25;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  outline: none;
}

.cs-carousel-btn:hover {
  background: #1a1464;
  color: #ffffff;
  border-color: #1a1464;
  box-shadow: 0 6px 20px rgba(26, 20, 100, 0.3);
  transform: translateY(-50%) scale(1.08);
}

.cs-carousel-btn.swiper-button-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}

.cs-carousel-prev {
  left: -22px;
}

.cs-carousel-next {
  right: -22px;
}

/* Carousel Pagination Dots */
.cs-carousel-pagination {
  position: absolute;
  bottom: 8px;
  left: 0;
  right: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  z-index: 10;
}

.cs-carousel-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  background: #cbd2dc;
  opacity: 0.8;
  margin: 0 !important;
  border-radius: 50%;
  transition: all 0.3s ease;
  cursor: pointer;
}

.cs-carousel-pagination .swiper-pagination-bullet:hover {
  opacity: 1;
  background: #1a1464;
}

.cs-carousel-pagination .swiper-pagination-bullet-active {
  background: #EF9120 !important; /* Brand Orange */
  opacity: 1;
  width: 24px;
  border-radius: 10px;
}

/* --- RESPONSIVE MOBILE STYLES --- */
@media (max-width: 992px) {
  .campaign-wrapper {
    grid-template-columns: 1fr; /* Stack vertically on Tablet/Mobile */
    padding: 3rem 1.5rem;
    gap: 2rem;
  }

  .campaign-info {
    text-align: center; /* Center info on mobile */
    align-items: center;
  }
  
  .arrow {
    display: none; /* Hide arrow on mobile for cleaner look */
  }

  .brand-title {
    font-size: 1.5rem;
  }

  /* Change posters to 1 column on mobile */
  .posters-grid {
    grid-template-columns: 1fr;
  }

  .cs-carousel-prev {
    left: 8px;
  }

  .cs-carousel-next {
    right: 8px;
  }
}

/* Styles from resources/views/pages/casestudy.blade.php */
/* 
           CUSTOM STYLES FOR THE PUBLICATIONS SECTION
           These are designed to be specific to this section so they don't conflict 
           with your main project styles.
        */
        
        :root {
            --pub-primary-color: #331E56; /* Dark Navy for text */
            --pub-accent-color: #e67e22;  /* Orange/Gold for accents */
            --pub-bg-color: #f8f9fa;     /* Light gray background */
            --pub-link-color: #0056b3;   /* Standard link blue */
        }

        #publication-section {
            background-color: var(--pub-bg-color);
            padding: 100px 0;
            position: relative;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            overflow: hidden;
        }

        /* Decorative background element (Optional) */
        #publication-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: linear-gradient(90deg, var(--pub-primary-color), var(--pub-accent-color));
        }

        /* --- Typography & Layout --- */
        .pub-wrapper {
            padding: 20px;
        }

        .pub-main-title {
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--pub-primary-color);
            letter-spacing: 2px;
            margin-bottom: 30px;
            text-transform: uppercase;
            border-left: 5px solid var(--pub-accent-color);
            padding-left: 15px;
            line-height: 1;
        }

        /* --- Link Items --- */
        .pub-item {
            margin-bottom: 25px;
            transition: transform 0.3s ease;
        }

        .pub-item-title {
            display: block;
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--pub-primary-color);
            margin-bottom: 5px;
        }

        .pub-link-btn {
            display: inline-block;
            text-decoration: none;
            color: #fff;
            background-color: var(--pub-primary-color);
            padding: 8px 20px;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }

        .pub-link-btn:hover {
            background-color: var(--pub-accent-color);
            transform: translateY(-2px);
            box-shadow: 0 6px 12px rgba(0,0,0,0.15);
            color: #fff;
        }

        /* --- Image Cards (Books) --- */
        .book-card {
            position: relative;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 10px 20px rgba(0,0,0,0.15);
            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            background-color: #fff;
            margin-bottom: 20px;
            /* Maintain aspect ratio for book covers */
            aspect-ratio: 3 / 4; 
        }

        .book-card:hover {
            transform: scale(1.05);
            z-index: 2;
        }

        .book-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .book-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background: rgba(44, 62, 80, 0.85);
            color: #fff;
            padding: 10px;
            text-align: center;
            font-size: 0.9rem;
            font-weight: 600;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .book-card:hover .book-caption {
            opacity: 1;
        }

        /* --- Footer Info --- */
        .pub-footer {
            margin-top: 40px;
            padding-top: 20px;
            border-top: 1px solid #ddd;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 20px;
            flex-wrap: wrap;
        }

        .pub-website {
            font-size: 1.1rem;
            font-weight: 600;
            color: var(--pub-primary-color);
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .pub-website:hover {
            color: var(--pub-accent-color);
        }

        .pub-brand-logo {
            font-weight: 800;
            font-style: italic;
            color: var(--pub-primary-color);
            font-size: 1.4rem;
            display: flex;
            align-items: center;
            gap: 5px;
        }

        /* --- Mobile Adjustments --- */
        @media (max-width: 991px) {
            .pub-main-title {
                font-size: 2rem;
                text-align: center;
                border-left: none;
                border-bottom: 5px solid var(--pub-accent-color);
                padding-bottom: 10px;
                padding-left: 0;
                display: inline-block;
            }
            
            .pub-content-col {
                text-align: center;
                margin-bottom: 30px;
            }

            .pub-item {
                display: inline-block;
                width: 100%;
            }
        }

/* Styles from resources/views/admin/login.blade.php */
:root { --brand: #331E56; --accent: #EF9120; }
        html,body{height:100%;margin:0;font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial}
        .wrap{min-height:100%;display:flex;align-items:center;justify-content:center;background:#f4f6f8}
        .card{width:420px;background:#fff;border-radius:10px;box-shadow:0 20px 40px rgba(51,30,86,0.08);overflow:hidden}
        .card-header{background:linear-gradient(90deg,var(--brand),#2a1746);color:#fff;padding:28px 30px}
        .card-header h1{margin:0;font-size:20px;letter-spacing:1px;font-weight:800}
        .card-body{padding:28px 30px}
        label{display:block;font-size:13px;color:#344055;margin-bottom:8px;font-weight:600}
        input[type="email"],input[type="password"]{width:100%;padding:12px 14px;border:1px solid #e6e9ee;border-radius:8px;font-size:14px;margin-bottom:14px}
        .btn{display:inline-block;width:100%;padding:12px 16px;border-radius:8px;border:none;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}
        .hint{font-size:13px;color:#6b7280;margin-top:12px;text-align:center}
        .errors{background:#fff6f6;border:1px solid #ffd6d6;color:#8b0000;padding:10px;border-radius:6px;margin-bottom:12px}
        .footer{font-size:12px;color:#94a3b8;text-align:center;margin-top:18px}

/* Styles from resources/views/admin/portifolios/frontend/show.blade.php */
/* Medium Cover Image */
    .portfolio-cover-wrapper {
        max-height: 420px;
        overflow: hidden;
        border-radius: 16px;
    }

    .portfolio-cover-wrapper img {
        width: 100%;
        height: 420px;
        object-fit: cover;
    }

    /* Modern Back Button */
    .btn-modern-back {
        padding: 14px 36px;
        font-size: 16px;
        border-radius: 50px;
        font-weight: 600;
        transition: all 0.3s ease;
    }

    .btn-modern-back:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(51,30,86,0.18);
    }

    /* Page-specific button styling: outline with #331E56 and hover filled */
    .page-scope .btn-modern-back,
    .page-scope .btn-outline-portfolio {
        color: #331E56;
        border: 1.6px solid #331E56;
        background: transparent;
        box-shadow: none;
    }
    .page-scope .btn-modern-back:hover,
    .page-scope .btn-outline-portfolio:hover {
        color: #ffffff;
        background: #331E56;
        border-color: #331E56;
        transform: translateY(-2px);
    }

    /* Professional points list */
    .project-points { list-style: none; padding: 0; margin: 0; }
    .project-points li { padding: 10px 0; border-bottom: 1px solid rgba(16,24,40,0.04); display: flex; gap: 12px; align-items: flex-start; }
    .project-points li:last-child { border-bottom: 0; }
    .project-points li .dot { width: 10px; height: 10px; border-radius: 50%; background: #331E56; margin-top: 6px; flex: 0 0 10px; }
    .project-points li strong { color: #111827; }
    .project-section { background: #ffffff; padding: 22px; border-radius: 12px; box-shadow: 0 8px 24px rgba(16,24,40,0.04); }

/* ==========================================================================
   HOME PAGE - MODERN PORTFOLIO SPOTLIGHT SHOWCASE
   ========================================================================== */
.home-portfolio-showcase {
    background: #f8fafc;
    position: relative;
    padding-top: 90px;
    padding-bottom: 90px;
}

.home-portfolio-showcase .portfolio-slide-row {
    align-items: stretch;
}

/* Poster Cards Display */
.home-portfolio-showcase .poster-showcase-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    height: 100%;
}

.home-portfolio-showcase .poster-card-home {
    background: #0d1222;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(17, 24, 39, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
    border: 1px solid rgba(0, 0, 0, 0.04);
    height: 100%;
    min-height: 480px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.home-portfolio-showcase .poster-card-home:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(17, 24, 39, 0.18);
}

.home-portfolio-showcase .poster-card-home .poster-ambient-blur {
    position: absolute;
    inset: -20px;
    background-size: cover;
    background-position: center;
    filter: blur(28px) brightness(0.55) saturate(1.35);
    transform: scale(1.18);
    opacity: 0.65;
    pointer-events: none;
    z-index: 1;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

.home-portfolio-showcase .poster-card-home:hover .poster-ambient-blur {
    transform: scale(1.25);
    opacity: 0.8;
}

.home-portfolio-showcase .poster-card-home img.poster-main-img {
    position: relative;
    z-index: 2;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: auto;
    display: block;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.home-portfolio-showcase .poster-card-home:hover img.poster-main-img {
    transform: scale(1.03);
}

/* Info Card */
.home-portfolio-showcase .portfolio-info-card {
    background: linear-gradient(150deg, #18153c 0%, #0d0a26 100%) !important;
    border-radius: 20px !important;
    padding: 44px 40px !important;
    box-shadow: 0 25px 50px -10px rgba(13, 10, 38, 0.35) !important;
    border: 1px solid rgba(239, 145, 32, 0.22) !important;
    height: 100%;
    min-height: 480px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

.home-portfolio-showcase .portfolio-info-card::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(239, 145, 32, 0.18) 0%, transparent 70%);
    pointer-events: none;
    border-radius: 50%;
}

.home-portfolio-showcase .portfolio-badge {
    background: rgba(239, 145, 32, 0.15);
    color: #EF9120;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 50px;
    border: 1px solid rgba(239, 145, 32, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.home-portfolio-showcase .portfolio-index {
    color: rgba(255, 255, 255, 0.35);
    font-size: 13px;
    font-weight: 700;
    font-family: monospace;
}

.home-portfolio-showcase .client-name-title {
    color: #ffffff !important;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.15;
    margin: 8px 0 16px 0;
    letter-spacing: -0.5px;
}

.home-portfolio-showcase .accent-divider {
    height: 3px;
    width: 50px;
    background: linear-gradient(90deg, #EF9120, transparent);
    border-radius: 2px;
    margin-bottom: 24px;
}

.home-portfolio-showcase .field-label {
    color: rgba(255, 255, 255, 0.55);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
}

.home-portfolio-showcase .campaign-name-text {
    color: #f8fafc !important;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
}

.home-portfolio-showcase .media-pill-tag {
    background: rgba(255, 255, 255, 0.08);
    color: #f1f5f9;
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: all 0.25s ease;
    display: inline-block;
}

.home-portfolio-showcase .media-pill-tag:hover {
    background: rgba(239, 145, 32, 0.2);
    border-color: #EF9120;
    color: #ffffff;
}

.home-portfolio-showcase .portfolio-cta-btn {
    background: #EF9120;
    color: #ffffff !important;
    padding: 14px 28px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 10px 25px rgba(239, 145, 32, 0.35);
    text-decoration: none;
    border: none;
}

.home-portfolio-showcase .portfolio-cta-btn:hover {
    background: #e08316;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(239, 145, 32, 0.45);
    color: #ffffff !important;
}

/* Centered navigation bar below slider */
.home-portfolio-showcase .slider-nav-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 45px;
    position: relative;
    z-index: 10;
}

.home-portfolio-showcase .slider-nav-bar .swiper-button-prev,
.home-portfolio-showcase .slider-nav-bar .swiper-button-next {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    transform: none !important;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1a1464;
    cursor: pointer;
    margin: 0;
    transition: all 0.3s ease;
}

.home-portfolio-showcase .slider-nav-bar .swiper-button-prev i,
.home-portfolio-showcase .slider-nav-bar .swiper-button-next i {
    color: #1a1464;
    font-size: 16px;
    transition: color 0.3s ease;
}

.home-portfolio-showcase .slider-nav-bar .swiper-button-prev::after,
.home-portfolio-showcase .slider-nav-bar .swiper-button-next::after {
    display: none !important;
}

.home-portfolio-showcase .slider-nav-bar .swiper-button-prev:hover,
.home-portfolio-showcase .slider-nav-bar .swiper-button-next:hover {
    background: #EF9120;
    border-color: #EF9120;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(239, 145, 32, 0.3);
}

.home-portfolio-showcase .slider-nav-bar .swiper-button-prev:hover i,
.home-portfolio-showcase .slider-nav-bar .swiper-button-next:hover i {
    color: #ffffff;
}

.home-portfolio-showcase .slider-nav-bar .swiper-pagination-fraction {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    font-size: 15px;
    font-weight: 700;
    color: #888;
    letter-spacing: 2px;
    max-width: max-content;
}

.home-portfolio-showcase .slider-nav-bar .swiper-pagination-fraction .swiper-pagination-current {
    color: #1a1464 !important;
    font-size: 18px;
    font-weight: 800;
}

.home-portfolio-showcase .slider-nav-bar .swiper-pagination-fraction .swiper-pagination-total {
    color: #94a3b8 !important;
    font-size: 15px;
    font-weight: 600;
}

@media (max-width: 991px) {
    .home-portfolio-showcase .portfolio-info-card {
        margin-top: 30px;
        min-height: auto;
    }
}

@media (max-width: 576px) {
    .home-portfolio-showcase .poster-showcase-grid {
        grid-template-columns: 1fr;
    }
    .home-portfolio-showcase .portfolio-info-card {
        padding: 30px 22px !important;
    }
    .home-portfolio-showcase .client-name-title {
        font-size: 1.65rem;
    }
}

/* ==========================================================================
   AB-MATRIX DYNAMIC IMAGE POPOUT LIGHTBOX MODAL
   ========================================================================== */
.abm-popout-backdrop {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(6, 10, 22, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s ease;
    padding: 24px;
}

.abm-popout-backdrop.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.abm-popout-container {
    width: 100%;
    max-width: 1100px;
    max-height: 94vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    transform: scale(0.78) translateY(24px);
    opacity: 0;
    transition: transform 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.25), opacity 0.35s ease;
}

.abm-popout-backdrop.is-active .abm-popout-container {
    transform: scale(1) translateY(0);
    opacity: 1;
}

.abm-popout-toolbar {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px 14px 4px;
    color: #ffffff;
}

.abm-popout-title-box {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.abm-popout-client {
    font-size: 0.95rem;
    font-weight: 800;
    color: #EF9120;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.abm-popout-campaign {
    font-size: 1.05rem;
    font-weight: 600;
    color: #ffffff;
}

.abm-popout-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.abm-popout-counter {
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.75);
    background: rgba(255, 255, 255, 0.12);
    padding: 4px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.abm-popout-close {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
}

.abm-popout-close:hover {
    background: #EF9120;
    color: #ffffff;
    transform: rotate(90deg) scale(1.1);
    border-color: #EF9120;
}

.abm-popout-stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-height: 75vh;
}

.abm-popout-image-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 75vh;
    max-width: 90vw;
}

.abm-popout-img {
    max-width: 86vw;
    max-height: 75vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.12);
    display: block;
    user-select: none;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
}

.abm-popout-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    z-index: 10;
}

.abm-popout-prev {
    left: -24px;
}

.abm-popout-next {
    right: -24px;
}

.abm-popout-nav-btn:hover {
    background: #EF9120;
    border-color: #EF9120;
    color: #ffffff;
    transform: translateY(-50%) scale(1.12);
}

.abm-popout-footer {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 4px 0 4px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.7);
}

.abm-popout-open-orig {
    color: #EF9120;
    text-decoration: none;
    font-weight: 700;
    transition: opacity 0.2s;
    display: inline-flex;
    align-items: center;
}

.abm-popout-open-orig:hover {
    color: #ffa843;
    text-decoration: underline;
}

body.abm-popout-open {
    overflow: hidden !important;
}

@media (max-width: 768px) {
    .abm-popout-prev {
        left: 0;
    }
    .abm-popout-next {
        right: 0;
    }
    .abm-popout-img {
        max-width: 94vw;
        max-height: 68vh;
    }
    .abm-popout-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .abm-popout-actions {
        width: 100%;
        justify-content: space-between;
    }
}

