.elementor-kit-6{--e-global-color-primary:#D2042D;--e-global-color-secondary:#F9F8F6;--e-global-color-text:#333333;--e-global-color-accent:#D9CFC4;--e-global-color-0ad2bd4:#141212;--e-global-color-5a9fd89:#141212;--e-global-color-e4eb3db:#A80324;--e-global-color-97b0691:#FFFFFF;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:64px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-letter-spacing:0.05em;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:42px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:0.05em;--e-global-typography-text-font-family:"Playfair Display";--e-global-typography-text-font-size:30px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.2em;--e-global-typography-text-letter-spacing:0.05em;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.6em;--e-global-typography-6f059a6-font-family:"Plus Jakarta Sans";--e-global-typography-6f059a6-font-size:16px;--e-global-typography-6f059a6-font-weight:700;--e-global-typography-6f059a6-text-transform:uppercase;--e-global-typography-6f059a6-letter-spacing:0.02em;--e-global-typography-e1a5407-font-family:"Plus Jakarta Sans";--e-global-typography-e1a5407-font-size:22px;--e-global-typography-e1a5407-font-weight:600;--e-global-typography-e1a5407-line-height:1.3em;--e-global-typography-938a616-font-family:"Plus Jakarta Sans";--e-global-typography-938a616-font-size:14px;--e-global-typography-938a616-font-weight:700;--e-global-typography-938a616-text-transform:uppercase;--e-global-typography-938a616-line-height:0.1em;background-color:var( --e-global-color-97b0691 );color:#333333;font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.6;letter-spacing:0px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-5a9fd89 );font-family:var( --e-global-typography-938a616-font-family ), Sans-serif;font-size:var( --e-global-typography-938a616-font-size );font-weight:var( --e-global-typography-938a616-font-weight );text-transform:var( --e-global-typography-938a616-text-transform );line-height:var( --e-global-typography-938a616-line-height );color:var( --e-global-color-97b0691 );border-radius:0px 0px 0px 0px;padding:15px 35px 15px 35px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-97b0691 );color:var( --e-global-color-5a9fd89 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5a9fd89 );border-radius:0px 0px 0px 0px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 h1{color:var( --e-global-color-0ad2bd4 );font-family:"Playfair Display", Sans-serif;font-size:61px;font-weight:600;line-height:1.1em;letter-spacing:0px;}.elementor-kit-6 h2{color:var( --e-global-color-0ad2bd4 );font-family:"Playfair Display", Sans-serif;font-size:49px;font-weight:600;line-height:1.1;letter-spacing:0px;}.elementor-kit-6 h3{color:var( --e-global-color-0ad2bd4 );font-family:"Playfair Display", Sans-serif;font-size:39px;font-weight:600;line-height:1.2;letter-spacing:0px;}.elementor-kit-6 h4{color:#141212CC;font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;font-weight:500;line-height:1.2;letter-spacing:0px;}.elementor-kit-6 h5{color:var( --e-global-color-0ad2bd4 );font-family:"Plus Jakarta Sans", Sans-serif;font-size:25px;font-weight:500;line-height:1.3;letter-spacing:0;}.elementor-kit-6 h6{color:var( --e-global-color-0ad2bd4 );font-family:"Plus Jakarta Sans", Sans-serif;font-size:20px;font-weight:500;line-height:1.3;letter-spacing:0px;}.elementor-kit-6 label{color:#131010;font-family:"Helvetica", Sans-serif;font-size:16px;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Helvetica", Sans-serif;font-size:16px;color:#131010;background-color:var( --e-global-color-secondary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-938a616-font-size );line-height:var( --e-global-typography-938a616-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:36px;--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:0.05em;--e-global-typography-text-font-size:22px;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0.01em;--e-global-typography-accent-font-size:16px;--e-global-typography-6f059a6-font-size:14px;--e-global-typography-6f059a6-line-height:1.2em;--e-global-typography-e1a5407-font-size:20px;--e-global-typography-e1a5407-line-height:1.2em;--e-global-typography-938a616-font-size:13px;--e-global-typography-938a616-line-height:0.1em;}.elementor-kit-6 h1{font-size:40px;}.elementor-kit-6 h2{font-size:36px;}.elementor-kit-6 h3{font-size:30px;}.elementor-kit-6 h4{font-size:14px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-938a616-font-size );line-height:var( --e-global-typography-938a616-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   1. GLOBAL TOKENS & RESETS
   ============================================================ */
:root {
    --section-padding: 120px;
    --luxe-transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    --taupe-accent: #b2a89d;
    --color-taupe-dark: #968b80;
    --pure-white: #ffffff;
    --soft-shell: #f9f8f6;
    --matte-black: #141212;
}

html {
    scroll-behavior: smooth !important;
    scroll-padding-top: 100px !important;
}

/* ============================================================
   2. CONTAINERS & LAYOUT GRIDS
   ============================================================ */
/* Optimized Case Study Container */
body .case-study-container {
    display: block !important;
    width: 100% !important;
    max-width: 1140px !important;
    margin: 0 auto 50px auto !important; /* Combined margin from first block */
    padding: 0 80px 180px 80px !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* Ensure children handle sizing correctly */
.case-study-container * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Individual Element Overrides */
.case-study-container > .elementor-element {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    display: block !important;
}

/* Media Queries */
@media (max-width: 1440px) { 
    body .case-study-container { max-width: 1000px !important; } 
}

@media (max-width: 768px) { 
    body .case-study-container { 
        max-width: 100% !important; 
        padding: 0 24px 80px 24px !important; 
        overflow: hidden !important; 
    }
    .case-study-container h4 { 
        font-size: 1.1rem !important; 
        line-height: 1.4 !important; 
        margin-bottom: 15px !important; 
        color: #141212 !important; 
    }
}

/* ============================================================
   3. NAVIGATION SYSTEMS
   ============================================================ */

/* Desktop Side Nav */
@media (min-width: 1025px) {
    #luxe-side-nav {
        position: fixed !important;
        top: 40% !important;
        transform: translateY(-50%) !important;
        left: max(20px, calc(50vw - 640px - 160px)) !important;
        width: 140px !important;
        z-index: 999 !important;
    }
    #luxe-side-nav ul {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding-right: 18px !important;
        padding-left: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        gap: 22px !important;
        position: relative !important;
        border-right: none !important;
    }
    #luxe-side-nav ul::before {
        content: "" !important;
        position: absolute !important;
        right: 0 !important;
        top: 10px !important;
        bottom: 0 !important;
        width: 1px !important;
        background-color: #d9cfc4 !important;
    }
    #luxe-side-nav ul li {
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }
    #luxe-side-nav ul li a {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        text-transform: uppercase !important;
        text-align: left !important;
        display: block !important;
        text-decoration: none !important;
        color: #141212 !important; 
        letter-spacing: 0.08em !important;
        font-size: 12px !important; 
        line-height: 1.2 !important;
        font-style: normal;
        font-weight: 500;
        transition: color 0.3s ease, font-weight 0.3s ease, font-style 0.3s ease;
    }
    #luxe-side-nav ul li a.is-active-scroll,
    #luxe-side-nav ul li a:hover {
        color: #d9cfc4 !important; 
        font-weight: 700 !important;  
        font-style: italic !important; 
    }
}

/* Chapter Nav */
.chapter-nav {
    position: sticky;
    top: 150px;
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding-left: 20px;
    border-left: 1px solid rgba(26, 23, 23, 0.1);
    height: fit-content;
}
.chapter-link {
    font-size: 0.7rem !important;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: #A0A0A0 !important;
    text-decoration: none !important;
    position: relative;
    left: -21px;
    padding-left: 20px;
    display: block;
}
.chapter-link.is-active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: var(--brand-red);
}

/* Mobile Nav (Responsive) */
@media (max-width: 767px) {
    #luxe-mobile-nav {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        background: rgba(18, 18, 18, 0.95) !important;
        z-index: 9999 !important;
        padding: 12px 0 !important; 
        border-top: 1px solid rgba(224, 216, 209, 0.15);
        display: block !important; 
        overflow-x: auto !important; 
        white-space: nowrap !important; 
        -webkit-overflow-scrolling: touch !important; 
    }
    #luxe-mobile-nav::-webkit-scrollbar {
        display: none !important;
    }
    #luxe-mobile-nav ul {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important; 
        align-items: center !important;
        gap: 20px !important; 
        margin: 0 !important;
        padding: 0 24px !important; 
        list-style: none !important;
        width: max-content !important; 
    }
    #luxe-mobile-nav ul li {
        display: inline-block !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    #luxe-mobile-nav ul li a {
        font-size: 9px !important; 
        letter-spacing: 1.2px !important;
        padding: 6px 2px !important;
        text-transform: uppercase;
        color: #FFFFFF !important;
        white-space: nowrap !important; 
        display: block !important;
        text-decoration: none !important;
        border-bottom: 2px solid transparent !important; 
        transition: color 0.3s ease, border-color 0.3s ease;
    }
    #luxe-mobile-nav ul li a.is-active-scroll,
    #luxe-mobile-nav ul li a:hover {
        color: #d9cfc4 !important; 
        font-weight: 600 !important;
        border-bottom: 2px solid #d9cfc4 !important; 
    }
}

/* ============================================================
   5. INTERACTIVE & UTILITIES
   ============================================================ */
.luxe-image-hover img {
    transition: transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.luxe-image-hover:hover img {
    transform: scale(1.08) !important;
}

/* Anchor Link Buffer */
.e-con[id], 
.elementor-section[id] {
    scroll-margin-top: 140px !important; 
}

/* ============================================================
   6. STANDARD & PALETTE BUTTONS
   ============================================================ */
/* Apply class 'luxe-btn-ghost' to your Elementor button */
.luxe-btn-ghost .elementor-button {
    background-color: #f5f5f3 !important; /* Soft luxury neutral background */
    color: #141212 !important;
    border: none !important;
    border-radius: 0px !important;
    padding: 18px 40px !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.25em !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}
.luxe-btn-ghost .elementor-button:hover {
    background-color: #141212 !important; /* Smooth flip to solid dark */
    color: #ffffff !important;
}

/* Apply class 'luxe-btn-taupe' to your Elementor button */
.luxe-btn-taupe .elementor-button {
    background-color: #d9cfc4 !important; /* Your signature warm taupe */
    color: #141212 !important; 
    border: none !important;
    border-radius: 0px !important;
    padding: 18px 40px !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.25em !important;
    font-weight: 600 !important;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.luxe-btn-taupe .elementor-button:hover {
    background-color: #141212 !important; /* Flips to black */
    color: #d9cfc4 !important; /* Text shifts to the taupe accent */
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 25px rgba(217, 207, 196, 0.4) !important;
}

/* Editorial Palette */
.luxe-palette-editorial .elementor-button {
    background-color: #f9f8f6 !important; /* Neutral Alabaster base */
    color: #141212 !important;
    border: 1px solid #d9cfc4 !important; /* Framed in Taupe */
    border-radius: 0px !important;
    padding: 18px 40px !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.25em !important;
    font-weight: 600 !important;
    transition: all 0.35s ease !important;
}
.luxe-palette-editorial .elementor-button:hover {
    background-color: #141212 !important; /* Drops neutrals and shifts to solid brand black */
    border-color: #141212 !important;
    color: #f9f8f6 !important;             /* Text contrasts in Alabaster */
}

/* Apply class 'luxe-palette-statement' to your Elementor button */
.luxe-palette-statement .elementor-button {
    background-color: #d9cfc4 !important; /* Earthy Taupe base */
    color: #141212 !important;
    border: none !important;
    border-radius: 0px !important;
    padding: 18px 40px !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.25em !important;
    font-weight: 600 !important;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.luxe-palette-statement .elementor-button:hover {
    background-color: #141212 !important; /* Snaps to brand black */
    color: #ffffff !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 25px rgba(20, 18, 18, 0.15) !important; /* Soft dark elevation shadow */
}

/* REFINED REVEAL (Thin Line + Typography Shift) */
.luxe-btn-reveal .elementor-button {
    background-color: transparent !important;
    color: #141212 !important; /* Start with crisp brand black */
    border: none !important;
    border-bottom: 1px solid #141212 !important; 
    border-radius: 0px !important;
    padding: 12px 8px !important; /* Tight internal padding for an editorial look */
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3em !important;
    font-weight: 600 !important;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.luxe-btn-reveal .elementor-button:hover {
    background-color: transparent !important; /* No background fill */
    color: #d9cfc4 !important; /* Letters smoothly shift to taupe */
    border-bottom-color: #d9cfc4 !important; /* Line shifts to match text */
    letter-spacing: 0.33em !important; /* Elegant visual expansion */
}

/* FIXED: MOVING BORDER (White Fill + Taupe Text Shift) */
.luxe-btn-moving-taupe .elementor-button {
    color: #141212 !important; /* Start with crisp brand black text */
    padding: 18px 40px !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.25em !important;
    font-weight: 600 !important;
    border-radius: 0px !important;
    border: 2px solid transparent !important;
    background-color: transparent !important;
    background-image: 
        linear-gradient(#ffffff, #ffffff), 
        linear-gradient(220deg, #d9cfc4, #141212, #d9cfc4) !important;
    background-clip: padding-box, border-box !important;
    background-origin: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important;
    background-position: 0% 0%, 0% 0% !important;
    transition: background-position 0.6s ease-in-out, color 0.4s ease, transform 0.3s ease !important;
}
.luxe-btn-moving-taupe .elementor-button:hover {
    color: #d9cfc4 !important; /* Typography smoothly shifts to warm taupe */
    background-color: transparent !important;
    background-size: 100% 100%, 200% 100% !important;
    background-position: 0% 0%, 100% 0% !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04) !important;
}

/* Hybrid Underline Animation */
.luxe-btn-hybrid-underline .elementor-button {
    background-color: transparent !important;
    color: #141212 !important;
    border: none !important;
    border-radius: 0px !important;
    padding: 12px 0px !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.25em !important;
    font-weight: 600 !important;
    position: relative !important;
    display: inline-block !important;
    transition: color 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.luxe-btn-hybrid-underline .elementor-button::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0;
    left: 0;
    background-color: #141212 !important; 
    width: 30px; 
    height: 1px;
    transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1), 
                background-color 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.luxe-btn-hybrid-underline .elementor-button:hover {
    background-color: transparent !important;
    color: #d9cfc4 !important;
}
.luxe-btn-hybrid-underline .elementor-button:hover::after {
    width: 100%; 
    background-color: #d9cfc4 !important; 
}

/* ============================================================
   7. FOOTER BUTTONS
   ============================================================ */

.luxe-footer-taupe .elementor-button {
    background-color: transparent !important;
    color: #d9cfc4 !important; 
    border: 2px solid #d9cfc4 !important; 
    border-radius: 0px !important;
    padding: 16px 38px !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.25em !important;
    font-weight: 600 !important;
    transition: all 0.35s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.luxe-footer-taupe .elementor-button:hover {
    background-color: #d9cfc4 !important; 
    color: #141212 !important; 
    transform: translateY(-2px) !important;
}

.luxe-footer-text .elementor-button {
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0px !important;
    box-shadow: none !important;
    color: #d9cfc4 !important; 
    padding: 12px 0px !important; 
    font-size: 12px !important; 
    text-transform: none !important;     
    letter-spacing: 0.1em !important; 
    font-weight: 400 !important;       
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.luxe-footer-text .elementor-button:hover {
    background-color: transparent !important;
    color: #f9f8f6 !important; 
    letter-spacing: 0.15em !important; 
    transform: translateX(4px) !important; 
}

/* ============================================================
   UX PROJECTS PAGE DESIGN SYSTEM: TYPOGRAPHY & DIVIDERS
   ============================================================ */

/* ============================================================ CHAPTER DIVIDER COMPONENT ============================================================ */ 
/* Updated Chapter Divider Styles */
.chapter-divider {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}

/* This targets both the class and the h2 tag specifically */
.chapter-label, h2.chapter-label {
    color: #968b80; /* Dark Taupe */
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    margin: 0 0 15px 0; /* Maintains your spacing */
    line-height: normal; /* Prevents line-height issues with h2 tags */
}

.divider-line {
    height: 1px;
    background-color: #d9cfc4; /* Updated to match the Dark Taupe */
    width: 100%;
}

/* BUCKET A: GLOBAL TYPOGRAPHY */

/* Primary Headlines */
.case-study-headline {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 24px; /* Adjust as needed */
    font-weight: 700;
    color: #141212;
    line-height: 1.3;
}

/* Section Subheads */
.case-study-subhead {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #968b80; /* Dark Taupe */
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Editorial Step Titles */
.step-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #141212;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

.step-num {
    color: #968b80; /* Dark Taupe for numbering */
    margin-right: 5px;
}

/* Body Content */
.case-study-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #141212;
}

/* Step Text (Now set to your requested 14px) */
.step-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #141212;
}

/* Labels and Quotes */
.finding-label {
    font-weight: 700;
    color: #141212;
}

.quote-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-style: italic;
    color: #141212;
}

.quote-author, .persona-quote {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #968b80;
}

h3.case-study-section-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #141212 !important;
    line-height: 1.4 !important;
    margin: 0 
}

/* ============================================================
   SPACING UTILITY CLASSES FOR HTML WIDGETS
   ------------------------------------------------------------
   Naming Pattern: .[property][direction]-[size]
   
   Properties: m = margin, p = padding
   Directions: t = top, b = bottom
   Sizes: xs=10px, sm=20px, md=32px, lg=60px
   
   Usage: Apply class to any HTML element (e.g., class="mb-sm")
   ============================================================ */
/* Margin Bottom */
.mb-xs { margin-bottom: 10px !important; }
.mb-sm { margin-bottom: 20px !important; }
.mb-md { margin-bottom: 32px !important; }
.mb-lg { margin-bottom: 60px !important; }

/* Margin Top */
.mt-xs { margin-top: 10px !important; }
.mt-sm { margin-top: 20px !important; }
.mt-md { margin-top: 32px !important; }
.mt-lg { margin-top: 60px !important; }

/* Padding Bottom */
.pb-xs { padding-bottom: 10px !important; }
.pb-sm { padding-bottom: 20px !important; }
.pb-md { padding-bottom: 32px !important; }
.pb-lg { padding-bottom: 60px !important; }

/* Padding Top */
.pt-xs { padding-top: 10px !important; }
.pt-sm { padding-top: 20px !important; }
.pt-md { padding-top: 32px !important; }
.pt-lg { padding-top: 60px !important; }

/* ============================================================
   STRATEGY COMPONENTS: DIVIDER & CONTAINER
   ============================================================ */

/* The HR Divider */
.strategy-divider {
    border: 0;
    border-top: 1px solid #d9cfc4;
    margin: 0; /* Removing the fixed margin */
}

/* The Container (Desktop) */
.step-container {
    display: flex;
    gap: 60px;
    align-items: center !important; 
    padding: 20px 0;
}

.step-label {
    width: 400px; 
    flex-shrink: 0;
    margin: 0;
}

.step-text {
    flex-grow: 1;
    margin: 0;
}

/* Force elements inside to ignore default browser margins */
.step-text p, .step-label {
    margin: 0 !important;
}

/* Mobile Responsiveness (Overrides for smaller screens) */
@media (max-width: 768px) {
    .step-container {
        flex-direction: column;
        gap: 20px; 
        align-items: flex-start !important; 
    }

    .step-label {
        width: 100%;
    }
}

.step-text ul {
    list-style: none;
    padding-left: 0;
    margin-top: 20px;
}

.step-text li {
    margin-bottom: 25px;
    padding-left: 25px;
    position: relative;
}

.step-text li::before {
    content: "—";
    position: absolute;
    left: 0;
    color: #d9cfc4;
}

.editorial-quote { 
    padding-left: 40px; 
    border-left: 3px solid #d9cfc4; 
    /* Margin removed to allow utility class control */
}

.quote-text { 
    font-size: 22px; 
    font-style: italic; 
    line-height: 1.4; 
    color: #141212; 
    margin-bottom: 15px; 
}

.quote-author { 
    font-size: 14px; 
    text-transform: uppercase; 
    letter-spacing: 0.1em; 
    color: #888; 
    display: block; /* Ensures the cite sits on its own line */
}

/* ============================================================
   PERSONA CARD COMPONENT
   ============================================================ */
.persona-card { 
    background: #f9f8f6; 
    padding: 50px; 
    border: 1px solid #eee; 
    max-width: 700px; 
    margin-left: auto; 
    margin-right: auto; /* Keeps the card centered structurally */
}

.persona-content { 
    display: flex; 
    gap: 40px; 
    align-items: center; 
}

.persona-img { 
    width: 140px; 
    height: 140px; 
    border-radius: 50%; 
    object-fit: cover; 
    flex-shrink: 0; /* Ensures image doesn't squish */
}

/* Base style for details - ensure bold labels look good */
.persona-details p strong {
    color: #141212;
}

.persona-quote { 
    font-size: 18px; 
    font-style: italic; 
    color: #141212; 
    border-top: 1px solid #d9cfc4; 
    padding-top: 20px; 
}

/* ============================================================
   AUDIT CONTAINER COMPONENT
   ============================================================ */
.audit-container { 
    display: flex; 
    gap: 60px; 
    align-items: flex-start; 
}

.audit-column { flex: 1; }

.audit-column:first-child { 
    border-right: 1px solid #d9cfc4; 
    padding-right: 60px; 
}

.audit-column h3 { 
    font-size: 16px; 
    text-transform: uppercase; 
    letter-spacing: 0.15em; 
    margin-bottom: 30px; 
    color: #141212; 
}

.audit-column li { 
    margin-bottom: 25px; 
    line-height: 1.7; 
    padding-left: 20px; 
    position: relative; 
    font-size: 15px; 
    color: #444; 
}

.audit-column li::before { 
    content: "—"; 
    position: absolute; 
    left: 0; 
    color: #d9cfc4; 
}

/* Update this specific block */
.audit-column ul {
    list-style: none; /* Removes the default dots */
    padding: 0;       /* Removes default browser indentation */
}

.audit-column li { 
    margin-bottom: 25px; 
    line-height: 1.7; 
    padding-left: 20px; /* Keeps space for your dash */
    position: relative; 
    font-size: 15px; 
    color: #444; 
}

.audit-column li::before { 
    content: "—"; 
    position: absolute; 
    left: 0; 
    color: #d9cfc4; 
}

/* ============================================================
   WIREFRAME MODULE
   ============================================================ */
.wireframe-blueprint-grid { 
    display: grid; 
    grid-template-columns: 280px 1fr 280px; 
    gap: 40px; 
    align-items: center; 
}

.annotation-image-wrapper img { 
    width: 100%; /* Changed to 100% to fill its grid cell */
    max-width: 500px; 
    margin: 0 auto; 
    display: block; 
    border: 1px solid #d9cfc4; 
    padding: 10px; 
}

.annotation-block .case-study-body p { 
    font-size: 14px; 
    font-weight: 300; 
    line-height: 1.5; 
    color: #555; 
    margin-top: 8px; 
}

/* ============================================================
   VALIDATION LIST COMPONENT
   ============================================================ */
.validation-list-wrapper {
    /* Optional: add max-width if you want to constrain this block */
}

.list-item {
    /* This replaces the inline margin-bottom: 40px */
    margin-bottom: 40px; 
}

/* ============================================================
   FINDINGS LIST COMPONENT
   ============================================================ */
/* ============================================================
   VALIDATION LIST COMPONENT (FINDINGS)
   ============================================================ */

/* 1. Add spacing to push the content down from the divider/border */
.stacked-list-item {
    padding-top: 40px; /* This creates the "breathing room" from the border above */
}

/* 2. Heading Styles */
.step-title.findings-v2 {
    font-size: 13px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #141212;
    margin-bottom: 15px;
    font-weight: 600; 
}

/* 3. Spacing for text groups */
.finding-group {
    margin-bottom: 25px;
}

.finding-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #141212;
    margin-bottom: 8px;
}

.finding-group p {
    font-size: 15px;
    line-height: 1.7;
    color: #555;
    margin-bottom: 0;
}

/* ============================================================
   MOBILE RESPONSIVENESS
   ============================================================ */
/* ============================================================
   SINGLE CONSOLIDATED MOBILE RESPONSIVE BLOCK
   ============================================================ */
@media (max-width: 768px) {
    /* 1. Containers & Layout */
    body .case-study-container { 
        max-width: 100% !important; 
        padding: 0 24px 80px 24px !important; 
        overflow: hidden !important; 
    }
    .case-study-container h4 { 
        font-size: 1.1rem !important; 
        line-height: 1.4 !important; 
        margin-bottom: 15px !important; 
        color: #141212 !important; 
    }

    /* 2. Spacing Utility Classes */
    .mb-lg { margin-bottom: 30px !important; }
    .mb-md { margin-bottom: 20px !important; }
    .mb-sm { margin-bottom: 15px !important; }
    .mt-lg { margin-top: 30px !important; }
    .mt-md { margin-top: 20px !important; }
    .mt-sm { margin-top: 15px !important; }

    /* 3. Steps & Strategy */
    .step-container { flex-direction: column; gap: 20px; align-items: flex-start !important; }
    .step-label { width: 100%; }

    /* 4. Persona Card */
    .persona-card { padding: 30px; }
    .persona-content { flex-direction: column; gap: 25px; align-items: flex-start; }
    .persona-img { margin-left: auto; margin-right: auto; }
    .persona-details { text-align: left; width: 100%; }
    .persona-details p { text-align: left; margin-bottom: 8px; }
    .persona-quote { text-align: center; margin-top: 10px; }

    /* 5. Audit Container */
    .audit-container { flex-direction: column; gap: 30px; }
    .audit-column:first-child { 
        border-right: none; 
        border-bottom: 1px solid #d9cfc4; 
        padding-right: 0; 
        padding-bottom: 30px; 
    }

    /* 6. Wireframe/Annotation Module */
    .wireframe-blueprint-grid { display: flex; flex-direction: column; gap: 48px; text-align: center; }
    .annotation-image-wrapper img { width: 80%; max-width: 320px; }
    .annotation-block { display: flex; flex-direction: column; align-items: center; text-align: center; }

    /* 7. Typography Adjustments */
    .annotation-block .case-study-subhead, 
    .case-study-subhead, 
    .step-title { 
        font-size: 10px !important; 
        letter-spacing: 0.2em !important; 
    }
    .case-study-body, 
    .case-study-body p, 
    .intro-para, 
    .intro-para p, 
    .step-text, 
    .finding-group p { 
        font-size: 14px !important; 
        line-height: 1.6 !important; 
    }
    
    /* Fix for Validation List Component */
    .validation-list-wrapper .stacked-list-item {
        margin-bottom: 40px !important; /* Caps the extra-large margin for mobile */
    }

    .step-title.findings-v2 {
        font-size: 12px !important; /* Smaller size for mobile screens */
    }

    .finding-group p {
        font-size: 14px !important; /* Ensuring paragraph legibility */
        line-height: 1.6 !important;
    }

    .strategy-divider.mt-lg {
        margin-top: 20px !important; /* Reduces the divider gap on mobile */
    }
    
    /* Fix for consistent mobile step-title sizing */
    .step-title {
        font-size: 10px !important;
        letter-spacing: 0.2em !important;
        line-height: 1.4 !important;
    }
}

/* ==========================================================================
   UX/UI Section - Updated: Deeper Taupe & Refined Hierarchy
   ========================================================================== */

/* Structural Grid Wrapper */
.vsn-editorial-grid {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* Intro Paragraph Stack */
.vsn-editorial-intro {
    max-width: 800px !important;
    margin-bottom: 96px !important;
}

.vsn-editorial-intro h2 {
    font-family: inherit !important;
    font-size: 38px !important;
    line-height: 1.25 !important;
    color: #1a1a1a !important;
    margin-bottom: 32px !important;
}

/* UPDATED: Lead text increased to 16px */
.vsn-lead-text {
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #444444 !important;
    margin-bottom: 20px !important;
}

/* Individual Phase Row Architecture */
.vsn-editorial-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 0 !important;
    padding: 48px 0 !important;
    border-top: 1px solid rgba(217, 207, 196, 0.4) !important; 
    box-sizing: border-box !important;
}

.vsn-row-reverse {
    flex-direction: row-reverse !important;
}

/* Left Metadata Column */
.vsn-phase-meta {
    width: 35% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

/* UPDATED: Numbers - Deep Taupe & 1.1em scale */
.vsn-phase-num {
    font-family: inherit !important;
    font-size: 1.1em !important;
    font-weight: 700 !important;
    color: #483c32 !important; 
    letter-spacing: 0.05em !important;
}

/* UPDATED: Divider - Deep Taupe & 1.1em scale */
.vsn-phase-divider {
    font-family: inherit !important;
    font-size: 1.1em !important;
    color: #8c7e72 !important;
    margin: 0 10px !important;
}

/* Scaled down uppercase phase titles */
.vsn-phase-title {
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #1a1a1a !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* Right Content Column */
.vsn-phase-content {
    width: 55% !important;
}

/* Phase Body Copy kept at 14px */
.vsn-phase-content p {
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    color: #555555 !important;
    margin: 0 !important;
}

/* ==================================================
   MOBILE RESPONSIVE ADAPTATION
   ================================================== */
@media (max-width: 767px) {
    /* Closes the gap between Intro and the Grid */
    .vsn-editorial-intro {
        margin-bottom: 40px !important; 
    }

    .vsn-editorial-intro h2 {
        font-size: 28px !important;
    }

    .vsn-editorial-row,
    .vsn-editorial-intro,
    .vsn-row-reverse {
        flex-direction: column !important;
        /* Updated: 32px top/bottom, 20px sides to match other sections */
        padding: 32px 20px !important; 
    }

    .vsn-phase-meta {
        width: 100% !important;
        margin-bottom: 16px !important;
    }

    .vsn-phase-content {
        width: 100% !important;
    }
}

/* ==========================================================================
   Strategic Growth Section - Updated: Deeper Taupe & Refined Hierarchy
   ========================================================================== */

/* Main Component Wrap */
.vsn-brand-growth-section {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 60px 20px !important;
    box-sizing: border-box !important;
}

/* Top Split Hero Grid */
.vsn-growth-hero {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 80px !important;
    margin-bottom: 112px !important;
}

.vsn-growth-text-col {
    width: 50% !important; 
}

.vsn-growth-text-col h2 {
    font-family: inherit !important;
    font-size: 38px !important;
    line-height: 1.25 !important;
    color: #1a1a1a !important;
    margin-bottom: 28px !important;
}

/* UPDATED: Hero Paragraphs to 16px */
.vsn-growth-paragraph {
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #444444 !important;
    margin-bottom: 20px !important;
}

/* UPDATED: Key Deliverables (Matte Black text, Taupe border, 14px) */
.vsn-growth-deliverables {
    margin-top: 32px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    border-left: 2px solid #8c7e72 !important; 
    padding-left: 18px !important;
    color: #141212 !important; 
}

.vsn-growth-deliverables strong {
    color: #141212 !important;
    font-weight: 700 !important;
}

.vsn-growth-img-col {
    width: 50% !important;
}

.vsn-growth-img-col img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
}

/* 3-Column Phase Matrix */
.vsn-three-phase-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 48px !important;
    border-top: 1px solid rgba(217, 207, 196, 0.4) !important;
    padding-top: 48px !important;
}

.vsn-story-card {
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
}

/* UPDATED: Card Label (Deep Taupe, 14px) */
.vsn-card-label {
    font-family: inherit !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #483c32 !important; 
    margin-bottom: 14px !important;
    font-weight: 600 !important;
}

.vsn-story-card h3 {
    font-family: inherit !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    margin-bottom: 16px !important;
    color: #1a1a1a !important;
}

/* UPDATED: Card body copy to 14px */
.vsn-story-card p {
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #555555 !important;
}

/* Mobile & Tablet Responsive Adjustments */
@media (max-width: 900px) {
    .vsn-growth-hero {
        flex-direction: column !important;
        gap: 40px !important;
        margin-bottom: 64px !important;
    }
    .vsn-growth-text-col,
    .vsn-growth-img-col {
        width: 100% !important;
    }
    .vsn-growth-text-col h2 {
        font-size: 30px !important;
    }
    .vsn-three-phase-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        padding-top: 32px !important;
    }
}

/* Base card style */
.vsn-luxury-card {
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    border: 1px solid #e5e5e5;
    background-color: #fcfcfc; /* Very subtle off-white */
}

/* Hover state */
.vsn-luxury-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05); /* Soft, diffused shadow */
    border-color: #d1d1d1; /* Slight deepening of the border color */
}

.pillar-card.e-con,
.e-con.pillar-card {
    gap: 24px !important;
}

.pillar-card .elementor-heading-title,
.pillar-card h1, .pillar-card h2, .pillar-card h3 {
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--matte-black) !important;
    margin-bottom: 0px !important;
    line-height: 1.3em !important;
}
.pillar-card .elementor-text-editor,
.pillar-card .elementor-text-editor p,
.pillar-card p {
    font-size: 13px !important;
    font-weight: 300 !important;
    color: #555555 !important;
    line-height: 1.75em !important;
    max-width: 90% !important;
    margin-bottom: 0px !important;
}
.pillar-card .elementor-widget-image,
.pillar-card img {
    margin-bottom: 0px !important;
}
@media (max-width: 767px) {
    .e-con.pillar-card, 
    .pillar-card.e-con {
        gap: 16px !important;
    }
    .pillar-card .elementor-heading-title,
    .pillar-card h1, .pillar-card h2, .pillar-card h3 {
        font-size: 14px !important;
        letter-spacing: 0.1em !important;
    }
    .pillar-card .elementor-text-editor,
    .pillar-card .elementor-text-editor p,
    .pillar-card p {
        font-size: 12px !important;
        line-height: 1.65em !important;
        max-width: 100% !important;
    }
}

/* Stats Labels & Links - Updated Sizing */

/* Stats Value: Decreased to 3.5rem */
.stat-value, 
.stat-value p {
    font-size: 3.5rem !important; 
    font-weight: 300 !important;
    line-height: 1.1 !important;
    color: #141212 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Stats Label: Increased to 1rem */
.stat-label, 
.stat-label p {
    margin-top: 5px !important; 
    font-size: 1rem !important; 
    letter-spacing: 0.3em !important; 
    text-transform: uppercase !important;
    font-weight: 600 !important;
    color: #d12630 !important;
    display: block !important;
}

/* Stat Title Wrapper */
.stat-title {
    min-height: 56px !important;
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 15px !important;
}

/* Default for Desktop (Crop to fill) */
/* Apply to Desktop */
.hero-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}/* End custom CSS */