/* =============================================
           BSHIRT CASE STUDY STYLES
           ============================================= */

        /* Content caps at 1240px design width and centers on
           larger screens; falls back to 100px gutters below that. */
        :root {
            --page-pad: max(100px, calc((100% - 1240px) / 2));
        }

        /* ---------- HERO ---------- */
        .banner-section {
            margin-top: 75px;
            padding: 0;
            position: relative;
            overflow: visible;
            background-color: #120D0D;
        }

        .banner-section::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 2px;
            background-color: #ffffff;
            z-index: 20;
        }

        .banner-section .container-fluid {
            position: relative;
        }

        .banner-section .row {
            margin: 0;
            align-items: stretch;
            padding-right: 100px;
        }

        .banner-left {
            padding: 0 0 0 100px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-height: 590px;
            position: relative;
        }

        .banner-section .purple-logo {
            position: absolute;
            top: 39px;
            left: 37px;
            z-index: 1;
            width: 61px;
            height: 61px;
            pointer-events: none;
        }

        .banner-section .green-logo {
            position: absolute;
            bottom: -44px;
            right: 26px;
            z-index: 1;
            width: 89px;
            height: 89px;
            pointer-events: none;
        }

        .banner-left h1 {
            font-family: 'Poppins', sans-serif !important;
            color: #ffffff;
            font-size: 40px;
            font-weight: 600;
            line-height: 1.3;
            margin-bottom: 20px;
            max-width: 568px;
            padding-left: 0;
        }

        .banner-left p {
            font-family: 'Poppins', sans-serif !important;
            color: #ffffff;
            font-size: 17px;
            font-weight: 400;
            opacity: 0.9;
            margin: 0;
            padding-left: 0;
        }

        .banner-right {
            padding: 0;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            position: relative;
            min-height: 590px;
        }

        .banner-gradient {
            width: 585px;
            max-width: 100%;
            height: 401px;
            border-radius: 2px;
            overflow: hidden;
            background-color: #ffffff;
        }

        .banner-gradient video,
        .banner-gradient img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        /* ---------- ABOUT + SCOPE ---------- */
        .about-section {
            background-color: #ffffff;
            padding: 72px var(--page-pad) 88px;
            font-family: 'Poppins', sans-serif;
        }

        .about-row {
            display: flex;
            gap: 80px;
            align-items: stretch;
            max-width: 1284px;
        }

        .about-col {
            flex: 1 1 0;
            min-width: 0;
        }

        .about-col-right {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .about-section .heading {
            font-size: 32px;
            font-weight: 600;
            color: #000000;
            margin-bottom: 12px;
            line-height: 1.2;
        }

        .about-section p {
            color: #414549;
            font-size: 18px;
            font-weight: 400;
            line-height: 1.5;
            margin-bottom: 0;
        }

        .about-section .scope-list {
            list-style: disc;
            color: #414549;
            font-size: 18px;
            font-weight: 400;
            line-height: 1.5;
            padding-left: 27px;
            margin-bottom: 0;
        }

        .about-section .scope-list li {
            padding-left: 0;
            margin-bottom: 0;
            font-size: 18px;
        }

        .about-section .scope-list li::before {
            content: none;
        }

        .about-brandmark {
            width: 371px;
            max-width: 100%;
        }

        .about-brandmark img {
            width: 100%;
            height: auto;
            display: block;
        }

        /* ---------- THE CHALLENGE ---------- */
        .challenge-section {
            font-family: 'Poppins', sans-serif !important;
            background-color: #0F0A0A;
            padding: 73px var(--page-pad) 56px;
        }

        .challenge-section .container-fluid {
            padding: 0;
        }

        .challenge-label {
            font-size: 18px;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 2.16px;
            color: #F2F2F2;
            margin-bottom: 20px;
        }

        .challenge-headline {
            font-size: 40px;
            font-weight: 600;
            color: #FCFCFC;
            line-height: 1.3;
            max-width: 1240px;
            margin-bottom: 20px;
        }

        .challenge-intro {
            font-size: 18px;
            font-weight: 400;
            color: #F3F2F2;
            line-height: 1.5;
            max-width: 1162px;
            margin-bottom: 20px;
        }

        .challenge-gaps {
            font-size: 18px;
            font-weight: 500;
            color: #FFF7F7;
            line-height: 1.5;
            margin-bottom: 48px;
        }

        .challenge-cards {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
        }

        .challenge-card {
            border: 1px solid rgba(165, 165, 165, 0.35);
            min-height: 416px;
            padding: 23px 23px 90px;
            position: relative;
            overflow: hidden;
        }

        .challenge-card-number {
            font-size: 16px;
            font-weight: 500;
            color: #DADADA;
            line-height: 1.2;
            margin-bottom: 14px;
        }

        .challenge-card-title {
            font-size: 24px;
            font-weight: 600;
            color: #FCFCFC;
            line-height: 1.2;
            margin-bottom: 12px;
        }

        .challenge-card-text {
            font-size: 20px;
            font-weight: 400;
            color: #FCFCFC;
            line-height: 27.6px;
        }

        .challenge-card-glyph {
            position: absolute;
            bottom: 0;
            right: 0;
            width: 76px;
            height: auto;
            pointer-events: none;
        }

        .challenge-card-glyph--wide {
            width: 88px;
        }

        /* ---------- SHARED: text + image split ---------- */
        .split-section {
            font-family: 'Poppins', sans-serif;
            padding: 84px var(--page-pad);
        }

        .split-section.bg-gray {
            background-color: #F2F2F2;
        }

        .split-section.bg-white {
            background-color: #ffffff;
        }

        .split-row {
            display: flex;
            align-items: center;
            gap: 60px;
        }

        .split-col {
            flex: 1;
            min-width: 0;
        }

        .split-label {
            font-size: 18px;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 2.16px;
            color: #63666A;
            margin-bottom: 6px;
        }

        .split-heading {
            font-size: 40px;
            font-weight: 600;
            color: #212529;
            line-height: 1.3;
            margin-bottom: 32px;
        }

        .split-body {
            font-size: 18px;
            font-weight: 400;
            color: #212529;
            line-height: 1.53;
            margin-bottom: 0;
        }

        .split-body p {
            margin-bottom: 16px;
        }

        .split-body p:last-child {
            margin-bottom: 0;
        }

        .split-img {
            width: 100%;
            height: auto;
            display: block;
        }

        .split-col-img {
            display: flex;
            justify-content: center;
        }

        /* Inspiration section (scoped overrides to match Figma) */
        .inspiration-section .split-row {
            gap: 40px;
            align-items: center;
        }

        .inspiration-section .split-label {
            margin-bottom: 20px;
        }

        .inspiration-section .split-heading {
            margin-bottom: 32px;
        }

        .inspiration-section .split-col-img {
            justify-content: flex-end;
        }

        .inspiration-section .inspiration-img {
            width: 100%;
            max-width: 629px;
            height: auto;
            display: block;
       }

        /* Approach section (scoped to match Figma) */
        .approach-section .split-row {
            gap: 40px;
            align-items: center;
        }

        .approach-section .split-col:first-child {
            flex: 632 1 0;
            min-width: 0;
        }

        .approach-section .split-label {
            margin-bottom: 20px;
        }

        .approach-section .split-heading {
            margin-bottom: 32px;
        }

        .approach-section .split-body {
            margin-bottom: 0;
        }

        .approach-section .split-col-img {
            flex: 585 1 0;
            min-width: 0;
            justify-content: flex-end;
        }

        .approach-img {
            width: 100%;
            max-width: 585px;
            height: auto;
            display: block;
        }

        .approach-behaviors {
            margin-top: 32px;
        }

        .pillars-intro {
            font-size: 18px;
            font-weight: 400;
            color: #212529;
            line-height: 1.53;
            margin: 0 0 12px;
        }

        .pillar-list {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .pillar-item {
            display: flex;
            gap: 12px;
            align-items: center;
            padding: 4px 16px 4px 0;
        }

        .pillar-icon {
            width: 40px;
            height: 40px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .pillar-icon img {
            width: 40px;
            height: 40px;
            display: block;
        }

        .pillar-text {
            font-size: 18px;
            font-weight: 600;
            color: #000000;
            line-height: 1.5;
        }

        /* ---------- MOODBOARD ---------- */
        .moodboard-section {
            background-color: #2D2D30;
            padding: 34px 0;
            display: flex;
            justify-content: center;
        }

        .moodboard-section img,
        .moodboard-section video {
            width: 923px;
            max-width: 90%;
            height: auto;
            display: block;
        }

        /* ---------- PRODUCT NAMING ---------- */
        .naming-section {
            font-family: 'Poppins', sans-serif;
            background-color: #ffffff;
            padding: 40px var(--page-pad);
        }

        .naming-row {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 81px;
        }

        .naming-img {
            flex: 541 1 0;
            min-width: 0;
        }

        .naming-img img {
            width: 100%;
            max-width: 541px;
            height: auto;
            display: block;
        }

        .naming-text {
            flex: 609 1 0;
            min-width: 0;
        }

        .naming-lead {
            font-size: 22px;
            font-weight: 500;
            color: #00050A;
            line-height: 1.25;
            margin-bottom: 44px;
        }

        .naming-body {
            font-size: 18px;
            font-weight: 400;
            color: #212529;
            line-height: 1.53;
            margin-bottom: 0;
        }

        /* ---------- VISUAL LANGUAGE ---------- */
        .visual-section {
            font-family: 'Poppins', sans-serif;
            background-color: #F2F2F2;
            padding: 90px var(--page-pad);
            position: relative;
            overflow: hidden;
        }

        .visual-glyph {
            position: absolute;
            top: 4px;
            right: var(--page-pad);
            width: 335px;
            height: auto;
            pointer-events: none;
        }

        .visual-section .split-label {
            color: #000000;
            margin-bottom: 21px;
        }

        .visual-grid {
            display: flex;
            gap: 56px;
            align-items: flex-start;
        }

        .visual-left {
            flex: 577 1 0;
            min-width: 0;
        }

        .visual-left .split-heading {
            color: #120D0D;
            max-width: 577px;
            margin-bottom: 57px;
        }

        .visual-img {
            width: 100%;
            max-width: 537px;
        }

        .visual-img img {
            width: 100%;
            height: auto;
            display: block;
        }

        .visual-copy {
            flex: 619 1 0;
            min-width: 0;
        }

        .visual-copy .split-body p {
            margin-bottom: 27px;
        }

        .visual-copy .split-body p:last-child {
            margin-bottom: 0;
        }

        /* ---------- CTA ---------- */
        .cta-section {
            background-color: #ffffff;
            padding: 75px var(--page-pad);
            font-family: "Poppins", sans-serif;
        }

        .cta-section .cta-headline {
            font-weight: 600;
            font-size: 32px;
            color: #000000;
            margin-bottom: 24px;
            line-height: 1.2;
        }

        .cta-section .cta-button {
            background-color: #f7b82a;
            color: #1c1510;
            font-weight: 600;
            font-size: 18px;
            padding: 0.55rem 1rem;
            border: none;
            border-radius: 0;
            text-decoration: none;
            display: inline-block;
            transition: all 0.3s ease;
        }

        .cta-section .cta-button:hover {
            background-color: #1c1510;
            color: #ffffff;
        }

        .cta-section .cta-image {
            max-width: 100%;
            height: auto;
        }

        .cta-image-wrapper {
            overflow: hidden;
            align-self: center;
        }

        /* =============================================
           RESPONSIVE
           ============================================= */
        @media (max-width: 991px) {

            .banner-section .container-fluid {
                padding: 0;
            }

            .banner-section .row {
                padding-right: 0;
                flex-direction: column;
            }

            .banner-left {
                padding: 2.5rem 1.5rem 1.5rem;
                min-height: auto;
            }

            .banner-section .purple-logo {
                display: none;
            }

            .banner-left h1 {
                font-size: 1.75rem;
            }

            .banner-right {
                padding: 0 1.5rem 2.5rem;
                min-height: auto;
            }

            .banner-gradient {
                width: 100%;
                height: 260px;
            }

            .banner-section .green-logo {
                width: 48px;
                height: 48px;
                bottom: 1rem;
                right: 1.25rem;
            }

            .about-section {
                padding: 3rem 1.5rem;
            }

            .about-row {
                flex-direction: column;
                gap: 2rem;
            }

            .about-brandmark {
                margin-top: 2rem;
            }

            .challenge-section {
                padding: 3rem 1.5rem;
            }

            .challenge-headline {
                font-size: 2rem;
            }

            .challenge-cards {
                grid-template-columns: 1fr;
            }

            .challenge-card {
                min-height: auto;
            }

            .split-section {
                padding: 3rem 1.5rem;
            }

            .split-row {
                flex-direction: column;
                gap: 2rem;
            }

            .split-col {
                width: 100%;
            }

            .split-heading {
                font-size: 2rem;
            }

            .moodboard-section img,
            .moodboard-section video {
                max-width: 92%;
            }

            .naming-section {
                padding: 2.5rem 1.5rem;
            }

            .naming-row {
                flex-direction: column-reverse;
                gap: 2rem;
            }

            .naming-img,
            .naming-text {
                width: 100%;
            }

            .visual-section {
                padding: 3rem 1.5rem;
            }

            .visual-glyph {
                display: none;
            }

            .visual-left .split-heading {
                font-size: 2rem;
                margin-bottom: 1.5rem;
            }

            .visual-grid {
                flex-direction: column;
                gap: 2rem;
            }

            .visual-left {
                width: 100%;
            }

            .visual-img {
                width: 100%;
            }

            .visual-copy {
                margin-top: 0.5rem;
            }

            .cta-section {
                padding: 3rem 1.5rem;
            }

            .cta-section .cta-headline {
                font-size: 2rem;
            }

            .cta-image-wrapper {
                margin-top: 2rem;
                text-align: center;
            }
        }