/* ----------------------- FONT IMPORTS ----------------------- */
        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700&family=Oswald:wght@400;700&display=swap');

        /* ----------------------- CSS VARIABLES ----------------------- */
        :root {
            --color-black: #000;
            --color-white: #fff;
            --color-accent: #E1E900;
            --color-text-light: #fff;
            --color-background-dark: #000;
            --color-light-gray: #333333;
            --color-accent-hover: #E1E900;
            --font-heading: 'Oswald', sans-serif;
            --font-body: 'Inter', sans-serif;
            --gutter-x-mobile: 40px;
            --gutter-x-sm: 30px; 
            --gutter-x-md: 40px; 
            --gutter-x-lg: 56px; 
        }

        /* ----------------------- BASE & RESET STYLES ----------------------- */
        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            transition: all 0.3s ease-in-out;
        }
        
        [data-aos-target], .aos-hidden { transition: none !important; }

        body {
            background-color: var(--color-background-dark); 
            font-family: var(--font-body);
        }
        
        .menu-open { overflow: hidden; }

        a { text-decoration: none; color: inherit; }
        img { vertical-align: middle; max-width: 100%; height: auto; display: block; }
        ul { list-style: none; padding: 0; margin: 0; }

        p, li {
            font-family: var(--font-body);
            font-weight: 300;
            color: var(--color-white);
            font-size: 14px;
            line-height: 1.35em;
            margin-bottom: 15px;
        }
        
        .container {
            width: 100%;
            margin: 0 auto;
            padding-left: calc(var(--gutter-x-mobile) / 2);
            padding-right: calc(var(--gutter-x-mobile) / 2);
        }
        
        @media (min-width: 576px) { .container { max-width: 540px; } }
        @media (min-width: 768px) { 
            .container { max-width: 720px; padding-left: calc(var(--gutter-x-sm) / 2); padding-right: calc(var(--gutter-x-sm) / 2); } 
            p, li { line-height: 1.4em; }
        }
        @media (min-width: 992px) { 
            .container { max-width: 960px; padding-left: calc(var(--gutter-x-md) / 2); padding-right: calc(var(--gutter-x-md) / 2); }
            p, li { font-size: 16px; line-height: 1.5em; }
        }
        @media (min-width: 1200px) { 
            .container { max-width: 1140px; } 
            p, li { font-size: 18px; line-height: 1.5em; }
        }
        @media (min-width: 1400px) { 
            .container { max-width: 1320px; padding-left: calc(var(--gutter-x-lg) / 2); padding-right: calc(var(--gutter-x-lg) / 2); } 
        }

        /* ----------------------- 1. HEADER STYLES ----------------------- */
        .site-header {
            width: 100%;
            position: fixed;
            left: 0;
            top: 0;
            z-index: 200;
            background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
            height: 100px;
        }

        .logo-image {
            position: fixed;
            z-index: 100;
            left: 20px;
            top: 21px;
            width: 146px;
            height: auto;
        }

        @media (min-width: 768px) {
            .site-header { height: 120px; }
            .logo-image { width: 184px; }
        }
        @media (min-width: 992px) {
            .site-header { height: 130px; }
            .logo-image { width: 226px; left: 28px; top: 30px; }
        }
        
        /* Hamburger menu styles */
        .hamburger {
            font: inherit;
            display: inline-block;
            overflow: visible;
            margin: 0;
            padding: 15px;
            cursor: pointer;
            transition: opacity .15s linear;
            text-transform: none;
            color: inherit;
            border: 0;
            background-color: transparent;
            position: fixed;
            z-index: 202;
            top: 5px;
            right: 5px;
        }

        .hamburger:hover {
            background-color: transparent;
        }

        @media (min-width: 768px) { .hamburger { top: 20px; right: 15px; } }
        @media (min-width: 992px) { .hamburger { top: 30px; right: 20px; } }

        .hamburger-box {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 24px;
        }
        .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
            position: absolute;
            width: 40px;
            height: 2px;
            transition: transform .13s cubic-bezier(.55,.055,.675,.19), top .2s cubic-bezier(.33333,.66667,.66667,1) .2s, opacity .1s linear;
            border-radius: 0;
            background-color: var(--color-white);
        }
        .hamburger-inner { top: auto; bottom: 0; transition-delay: .13s; }
        .hamburger-inner::before, .hamburger-inner::after {
            content: "";
            display: block;
        }
        .hamburger-inner::before { top: -10px; transition: top .2s cubic-bezier(.33333,.66667,.66667,1) .2s, transform .13s cubic-bezier(.55,.055,.675,.19); }
        .hamburger-inner::after { bottom: -10px; }

        .hamburger.is-active .hamburger-inner { transform: translate3d(0, -5px, 0) rotate(-45deg); transition-delay: .22s; transition-timing-function: cubic-bezier(.215,.61,.355,1); }
        .hamburger.is-active .hamburger-inner::after { top: 0; opacity: 0; transition: top .2s cubic-bezier(.215,.61,.355,1), opacity .1s linear .12s; }
        .hamburger.is-active .hamburger-inner::before { top: 0; transform: rotate(90deg); transition: top .1s linear .12s, transform .2s cubic-bezier(.215,.61,.355,1) .22s; }

        .menu-wrap {
            width: 80%;
            height: 100vh;
            background-color: var(--color-accent);
            position: fixed;
            right: -80%;
            top: 0;
            z-index: 201;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: right 0.8s ease-in-out;
        }
        .menu-wrap.is-active { right: 0; }
        @media (min-width: 768px) { .menu-wrap { width: 700px; right: -700px; } }

        .menu-wrap ul { text-align: center; }
        .menu-wrap li { margin: 0; line-height: 40px; }
        .menu-wrap a {
            color: var(--color-black);
            font-family: var(--font-heading);
            font-weight: 700;
            text-transform: uppercase;
            font-size: 46px;
            transition: color 0.4s ease-in-out;
        }
        .menu-wrap a:hover { color: rgba(0, 0, 0, 0.2); }
        @media (min-width: 768px) { .menu-wrap a { font-size: 54px; } }
        @media (min-width: 992px) { .menu-wrap a { font-size: 62px; } }

        /* ----------------------- 2. HERO STYLES ----------------------- */
        .hero-banner {
            width: 100%;
            height: 100svh;
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center; 
            background-image: url("https://soulaction.lt/wp-content/uploads/2025/11/Podcast_Header_1.webp"); 
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center center !important;
        }

        .hero-banner h1 {
            color: var(--color-accent);
            font-family: var(--font-heading);
            font-weight: 700;
            margin-bottom: 0;
            padding: 0;
            font-size: 74px; 
            line-height: 1em;
        }

        .scroll-down-indicator {
            position: absolute;
            z-index: 12;
            width: 100%;
            height: 100px;
            left: 0;
            bottom: 0;
            text-align: center;
            color: transparent;
            font-size: 26px;
            display: block;
        }

        .scroll-down-indicator::before {
            content: "";
            position: absolute;
            left: 50%;
            top: 40px;
            transform: translateX(-50%);
            width: 24px;
            height: 24px;
            /* UPDATED LINK */
            background-image: url("https://soulaction.lt/wp-content/uploads/2025/11/arrow-down-bc1.svg");
            background-size: 24px auto;
            background-repeat: no-repeat;
        }

        @media (min-width: 768px) {
            .hero-banner { background-position: center top !important; }
            .hero-banner h1 { font-size: 102px; line-height: 1em; }
        }
        @media (min-width: 992px) {
            .hero-banner h1 { font-size: 132px; line-height: 1.1em; }
        }
        @media (min-width: 1200px) {
            .hero-banner h1 { font-size: 162px; line-height: 1em; }
        }
        @media (min-width: 1400px) {
            .hero-banner h1 { font-size: 187px; line-height: 0.9em; }
        }

        /* ----------------------- 3. INTRO SECTION STYLES ----------------------- */
        .intro-section {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            padding-top: 100px;
            padding-bottom: 40px;
            overflow: hidden;
        }
        
        .intro-content {
            position: relative;
            z-index: 12;
            width: 100%;
        }

        .intro-content h1 {
            margin-bottom: 15px;
            line-height: 1em;
            font-family: var(--font-heading);
            font-weight: 400;
            text-transform: uppercase;
            color: var(--color-text-light);
            font-size: 32px; 
        }

        .intro-content h1 span {
            font-weight: 700;
            color: var(--color-accent);
        }

        .intro-section::before { display: none; }
        .intro-section::after { display: none; }
        
        .image-tiles-marquee {
            overflow: hidden;
            position: relative;
            width: 100%;
            margin-top: 40px; 
        }
        
        .image-tiles-marquee::before, .image-tiles-marquee::after {
            content: "";
            position: absolute;
            z-index: 10;
            left: 0;
            width: 100%;
            height: 80px;
            pointer-events: none;
        }
        .image-tiles-marquee::before { top: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%); }
        .image-tiles-marquee::after { bottom: 0; background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%); }

        .marquee-row {
            overflow: hidden;
            position: relative;
            height: 128px;
        }
        
        .marquee-content {
            position: absolute;
            white-space: nowrap;
            top: 0;
            will-change: transform;
            display: flex; 
            transition: none !important;
        }
        .marquee-row-odd .marquee-content { left: -100px; }
        .marquee-row-even .marquee-content { left: -250px; }

        .marquee-content img {
            border-radius: 20px;
            height: 108px;
            width: 160px;
            margin: 10px;
            object-fit: cover;
            background-color: var(--color-background-dark);
            border: solid 1px #444;
            transition: none !important;
        }
        
        .aos-hidden {
            opacity: 0;
            transform: translate3d(0, 100px, 0);
            transition: opacity 2s ease, transform 2s ease;
        }
        .aos-visible {
            opacity: 1;
            transform: translateZ(0);
        }

        @media (min-width: 768px) {
            .intro-section {
                padding-top: 0;
                padding-bottom: 0;
                min-height: 501px;
                flex-direction: row; 
                align-items: center; 
            }
            .intro-section::before {
                display: block;
                content: "";
                position: absolute;
                z-index: 10;
                right: 0;
                top: 0;
                width: 70%;
                height: 100%;
                background: linear-gradient(90deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
            }
            .intro-section::after {
                display: block;
                position: absolute;
                z-index: 10;
                left: 0;
                top: 0;
                width: calc(30% + 10px);
                height: 100%;
                right: auto;
                background-color: #000;
                content: "";
            }
            .intro-content { width: 58.33333333%; flex: none; }
            .intro-content h1{font-size:32px; margin-top:30px;}

            .image-tiles-marquee {
                position: absolute;
                top: 0; right: 0; bottom: 0; left: 30%;
                width: 70%;
                margin-top: 0;
                z-index: 5;
            }
            .image-tiles-marquee::before, .image-tiles-marquee::after { display: none; }
            
            .marquee-row { height: 167px; }
            .marquee-content img { width: 220px; height: 147px; }
        }
        @media (min-width: 992px) {
            .intro-section { min-height: 660px; }
            .intro-content h1{font-size:50px; margin-top:30px;}
            .marquee-row { height: 220px; }
            .marquee-content img { width: 300px; height: 200px; }
        }
        @media (min-width: 1200px) {
            .intro-content h1{font-size:52px;}
        }
        @media (min-width: 1400px) {
            .intro-content h1{font-size:62px; line-height:0.95em;}
        }
        
        /* ----------------------- 4. EPISODE LIST STYLES ----------------------- */
        .episode-section {
            background-color: var(--color-black);
            overflow: hidden;
            position: relative;
            padding-top: 20px;
            padding-bottom: 100px;
        }

        .section-header { padding-bottom: 20px; }

        .episode-section h2 {
            font-family: var(--font-heading);
            font-weight: 400;
            text-transform: uppercase;
            color: var(--color-white);
            font-size: 40px;
            line-height: 1em;
            margin-bottom: 10px;
        }

        .episode-details h3 {
            font-family: var(--font-heading);
            font-weight: 400;
            color: var(--color-white);
            font-size: 25px;
            line-height: 1em;
            margin-bottom: 15px; 
        }
        
        .episode-description {
            font-family: var(--font-body);
            font-weight: 300;
            color: var(--color-white);
            font-size: 14px;
            line-height: 1.35em;
            margin-bottom: 5px;
            overflow: hidden;
            max-height: 4.05em; 
            transition: max-height 0.3s ease-in-out;
        }

        .episode-description.expanded {
            max-height: 1000px;
            margin-bottom: 15px;
        }
        
        .episode-description .read-more-btn {
            background: transparent;
            border: none;
            color: var(--color-accent);
            font-family: var(--font-body);
            font-weight: 300;
            font-size: 14px;
            line-height: 1.35em;
            padding-left: 6px;
            position: relative;
            cursor: pointer;
            text-transform: lowercase; 
        }
        
        .episode-description .read-more-btn::after {
            content: "";
            width: calc(100% - 6px);
            height: 1px;
            position: absolute;
            right: 0;
            bottom: 2px;
            display: block;
            background-color: var(--color-black); 
        }
        
        .episode-card {
            display: flex;
            flex-direction: column; 
            margin-bottom: 80px;
        }
        
        .episode-media a {
            position: relative;
            display: block;
            border-radius: 20px;
            overflow: hidden;
        }

        .episode-media img {
            object-fit: cover;
            border-radius: 20px;
            height: 230px; 
        }
        
        #podcast-episodes .episode-media a::before {
          all: initial;
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          border-radius: 50px;
          transition: all 0.5s ease-in-out;
          width: 50px;
          height: 50px;
          z-index: 0;
          background-color: var(--color-accent) !important;
          opacity: 0.8 !important;
        }
        
        #podcast-episodes .episode-media a::after {
          all: initial;
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: calc(50% + 1px); /* Nudge right for visual centering */
          transform: translate(-50%, -50%); /* Keep both axis transforms */
          width: 20px;
          height: 20px;
          background-size: 20px auto;
          background-repeat: no-repeat;
          background-position: center center;
          z-index: 1;
          /* UPDATED LINK */
          background-image: url("https://soulaction.lt/wp-content/uploads/2025/11/icon-play.svg") !important;
        }
        
        #podcast-episodes .episode-media a:hover::before { 
            width: 70px !important; 
            height: 70px !important; 
        }
        
        .episode-details { margin-top: 20px; }

        .episode-cta {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .cta-btn {
            font-family: var(--font-heading); font-weight: 700; display: inline-block;
            color: var(--color-accent); text-transform: uppercase; vertical-align: middle;
            height: 40px; line-height: 42px; position: relative; font-size: 24px;
            padding: 0 30px 0 0; 
        }
        
        #podcast-episodes .cta-btn::before,
        #podcast-episodes .cta-btn::after {
          all: initial;
          content: "";
          display: block;
          position: absolute;
          width: 32px;
          height: 20px;
          top: 52%;
          transform: translateY(-50%);
          background-repeat: no-repeat;
          background-position: right center;
          background-size: 18px auto;
          transition: all 0.4s ease-in-out;
        }
        
        #podcast-episodes .cta-btn::before {
          right: 0;
          /* UPDATED LINK */
          background-image: url("https://soulaction.lt/wp-content/uploads/2025/11/arrow-right-bc1.svg") !important;
          transition-delay: 0.4s !important;
        }
        
        #podcast-episodes .cta-btn::after {
          right: 20px;
          opacity: 0;
          /* Keeping original link as 'arrow-right-wo.svg' was not in the move list */
          background-image: url("https://stevenbartlett.com/images/arrow-right-wo.svg") !important;
          transition-delay: 0s !important;
        }

        #podcast-episodes .cta-btn:hover { color: var(--color-white); }
        #podcast-episodes .cta-btn:hover::before { right: -20px; opacity: 0; transition-delay: 0s; }
        #podcast-episodes .cta-btn:hover::after { right: 0px; opacity: 1; transition-delay: 0.4s; }

        .podcast-links {
            display: flex; justify-content: space-around; align-items: center;
            width: 24%; padding-top: 2px;
        }
        .podcast-links a { width: 27px; height: auto; transition: all 0.3s ease-in-out; }
        .podcast-links a:hover { transform: scale(1.1); }


        @media (min-width: 768px) {
            .section-header { padding-bottom: 25px; }
            .episode-section { padding-bottom: 60px; }
            .episode-section h2 { font-size: 38px; margin-bottom: 12px; line-height: 1.05em; }
            .episode-card { 
                flex-direction: row; 
                gap: var(--gutter-x-sm); 
                margin-bottom: 120px;
                align-items: flex-start; 
                display: flex; 
            }
            .episode-media { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
            .episode-media img { height: 156px; }
            .episode-details { flex: 0 0 66.66666667%; max-width: 66.66666667%; margin-top: 0; }
            .episode-details h3 { font-size: 32px; line-height: 1em; }
            .episode-description { line-height: 1.4em; margin-bottom: 4px; }
            .cta-btn { padding: 0 26px 0 0; }
            .podcast-links { width: 20%; }
        }
        @media (min-width: 992px) {
            .episode-card { gap: var(--gutter-x-md); }
            .section-header { padding-bottom: 30px; }
            .episode-section { padding-bottom: 100px; }
            .episode-section h2 { font-size: 44px; margin-bottom: 15px; line-height: 1em; }
            .episode-details h3 { font-size: 39px; }
            .episode-media img { height: 200px; }
            .episode-description { font-size: 16px; line-height: 1.5em; margin-bottom: 12px; max-height: 4.5em; }
            .cta-btn { font-size: 28px; padding: 0 36px 0 0; }
            .podcast-links a { width: 36px; }
        }
        @media (min-width: 1200px) {
            .episode-section h2 { font-size: 52px; line-height: 1em; }
            .episode-details h3 { font-size: 46px; }
            .episode-media img { height: 220px; }
            .episode-description { font-size: 18px; }
            .cta-btn { font-size: 32px; }
        }
        @media (min-width: 1400px) {
            .episode-card { gap: var(--gutter-x-lg); }
            .episode-section h2 { font-size: 62px; line-height: 0.95em; }
            .episode-media img { height: 260px; }
        }

        /* ----------------------- 5. SUBSCRIBE BANNER STYLES ----------------------- */
        .subscribe-v2 {
            background-color: var(--color-accent);
            width: 100%;
            padding-top: 40px;
            padding-bottom: 40px;
        }

        .content-wrapper {
            margin: 0 auto; 
            width: 100%;
            text-align: center; 
            padding-left: calc(var(--gutter-x-mobile) / 2);
            padding-right: calc(var(--gutter-x-mobile) / 2);
        }
        
        @media (min-width: 576px) { .content-wrapper { max-width: 540px; } }
        @media (min-width: 768px) { 
            .subscribe-v2 { padding-top: 60px; padding-bottom: 60px; }
            .content-wrapper { max-width: 720px; padding-left: calc(var(--gutter-x-sm) / 2); padding-right: calc(var(--gutter-x-sm) / 2); } 
        }
        @media (min-width: 992px) { 
            .subscribe-v2 { padding-top: 100px; padding-bottom: 100px; }
            .content-wrapper { max-width: 960px; padding-left: calc(var(--gutter-x-md) / 2); padding-right: calc(var(--gutter-x-md) / 2); } 
        }
        @media (min-width: 1200px) { .content-wrapper { max-width: 1140px; } }
        @media (min-width: 1400px) { .content-wrapper { max-width: 1320px; padding-left: calc(var(--gutter-x-lg) / 2); padding-right: calc(var(--gutter-x-lg) / 2); } }

        .subscribe-v2 h3 {
            color: var(--color-black);
            font-family: var(--font-heading);
            font-weight: 400; 
            line-height: 1em;
            margin-bottom: 0;
            font-size: 32px;
            text-transform: uppercase;
        }

        .subscribe-v2 h3 br { display: initial; }

        @media (min-width: 768px) {
            .subscribe-v2 h3 br { display: none; }
            .subscribe-v2 h3 { font-size: 32px; margin-bottom: 30px; line-height: 1.3em; }
        }
        @media (min-width: 992px) {
            .subscribe-v2 h3 { font-size: 39px; }
        }
        @media (min-width: 1200px) {
            .subscribe-v2 h3 { font-size: 46px; }
        }

        .subscribe-logos {
            display: flex; justify-content: center; margin-bottom: 0;
        }
        
        .mobile-logos { flex-wrap: wrap; padding: 30px 20px 0 20px; display: flex; }
        .desktop-logos { flex-wrap: nowrap; padding: 0; display: none; }
        
        @media (min-width: 768px) {
            .mobile-logos { display: none; }
            .desktop-logos { display: flex; } 
        }

        .media-logo {
            background-color: var(--color-white); box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
            border-radius: 10px; display: flex; justify-content: center;
            align-items: center; 
        }
        
        .mobile-logos .media-logo {
            width: calc(50% - 20px); padding: 10px 0; margin: 10px; 
        }
        
        .desktop-logos .media-logo {
            flex-grow: 1; max-width: 50%; height: 86px; padding: 20px 0; margin: 0 5px; 
        }

        @media (min-width: 992px) {
            .desktop-logos .media-logo { height: 106px; margin: 0 10px; }
            .desktop-logos .media-logo:hover { transform: scale(1.05); }
        }
        
        .media-logo img { height: 34px; width: auto; }

        @media (min-width: 768px) {
            .desktop-logos .media-logo img { height: 21px; }
        }

        @media (min-width: 992px) {
            .desktop-logos .media-logo img { height: 34px; }
        }
        
        /* ----------------------- 6. INFO SECTION STYLES ----------------------- */
        .news-section {
            padding-top: 100px; padding-bottom: 100px; background-color: var(--color-white);
        }
        
        .news-section h2 { color: var(--color-black); }
        .news-section h3 { font-family: var(--font-body); font-weight: 300; color: var(--color-black); }
        
        .news-header {
            display: flex; justify-content: space-between; align-items: center;
            margin-bottom: 20px; position: relative;
        }

        .info-cta-btn {
            font-family: var(--font-heading); font-weight: 700; display: inline-block;
            color: var(--color-black); text-transform: uppercase; vertical-align: middle;
            height: 48px; line-height: 46px; position: relative; font-size: 20px;
            padding: 0 20px; border: solid 2px var(--color-black); border-radius: 40px;
            background-color: var(--color-accent);
            transition: all 0.3s ease-in-out;
        }
        .info-cta-btn:hover {
            background-color: var(--color-black);
            color: #E1E900 !important;
        }
        @media (min-width: 992px) {
             .info-cta-btn { font-size: 24px; height: 52px; line-height: 50px; padding: 0 30px; }
        }
        
        .news-nav-controls {
            display: flex; 
            position: absolute; 
            top: 50%; 
            transform: translateY(-50%); 
            z-index: 10;
            right: calc(var(--gutter-x-mobile) / 2);
        }
        @media (min-width: 768px) { .news-nav-controls { right: calc(var(--gutter-x-sm) / 2); } }
        @media (min-width: 992px) { .news-nav-controls { right: calc(var(--gutter-x-md) / 2); } }
        @media (min-width: 1400px) { .news-nav-controls { right: calc(var(--gutter-x-lg) / 2); } }

        .news-button {
            width: 38px; height: 38px; background-color: var(--color-accent);
            border-radius: 50%; cursor: pointer; border: none; margin-left: 9px;
            background-repeat: no-repeat;
            background-position: center center; background-size: 10px auto;
            transition: all 0.3s ease-in-out;
        }

        .news-button.prev { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCAxNiI+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTguNyAxNkwwIDhsOC43LTh6Ii8+PC9zdmc+'); }
        .news-button.next { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCAxNiI+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTEuMyAwTDEwIDhsLTguNyA4eiIvPjwvc3ZnPg=='); }
        
        .news-button:first-child { margin-left: 0; }
        
        .news-button:hover { background-color: var(--color-black); }
        .news-button.prev:hover { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCAxNiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTguNyAxNkwwIDhsOC43LTh6Ii8+PC9zdmc+'); }
        .news-button.next:hover { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCAxNiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEuMyAwTDEwIDhsLTguNyA4eiIvPjwvc3ZnPg=='); }

        .news-carousel-wrap {
            margin-left: 20px; 
            overflow: hidden;
            text-align: center; 
        }

        .news-carousel-track {
            display: flex; overflow-x: scroll; -webkit-overflow-scrolling: touch;
            scroll-snap-type: x mandatory; gap: 28px; padding-right: 20px;
            transition: transform 0.3s ease-out; -ms-overflow-style: none; scrollbar-width: none;
        }
        .news-carousel-track::-webkit-scrollbar { display: none; }
        .news-block { display: none; }


        .news-thumb {
            width: 100%; height: 216px; position: relative; border-radius: 20px; overflow: hidden;
        }

        /* ----------------------- 7. NEWSLETTER STYLES ----------------------- */
        .newsletter {
            background-color: var(--color-accent);
            padding: 100px 0;
            text-align: center;
        }

        .newsletter-content {
            max-width: 83.33333333%;
            margin: 0 auto;
        }

        .newsletter-title {
            font-family: var(--font-heading);
            font-size: 62px;
            font-weight: 400;
            text-transform: uppercase;
            margin-bottom: 15px;
            line-height: 0.95em;
            color: var(--color-black); 
        }

        .newsletter-description {
            font-family: var(--font-body);
            font-size: 18px;
            font-weight: 300;
            line-height: 1.5em;
            margin-bottom: 40px;
            color: var(--color-black); 
        }

        .newsletter-form {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .form-row {
            display: flex;
            flex-direction: column; 
            gap: 20px;
        }

        @media (min-width: 768px) {
            .form-row {
                flex-direction: row; 
            }
        }

        .form-row input {
            flex: 1;
        }

        .newsletter-form input[type="text"],
        .newsletter-form input[type="email"] {
            width: 100%;
            padding: 15px;
            border-radius: 10px;
            border: 1px solid #949596;
            font-size: 18px;
            font-family: var(--font-body);
            font-weight: 300;
            box-sizing: border-box;
            color: var(--color-black); 
        }

        .newsletter-form input[type="text"]::placeholder,
        .newsletter-form input[type="email"]::placeholder {
            color: rgba(0, 0, 0, 0.6);
        }

        .subscribe-button {
            font-family: var(--font-heading); font-weight: 700; text-transform: uppercase;
            color: var(--color-black); font-size: 22px; 
            background-color: var(--color-accent);
            border: solid 2px var(--color-black); border-radius: 40px;
            padding: 0 25px; height: 44px; line-height: 42px;
            transition: all 0.3s ease-in-out;
            cursor: pointer;
            align-self: center;
        }

        .newsletter-form .subscribe-button:hover {
            background-color: var(--color-black);
            color: var(--color-accent);
            border-color: var(--color-black);
        }
        
        @media (min-width: 992px) {
            .newsletter-form .subscribe-button {
                font-size: 24px; height: 52px; line-height: 50px; min-width: 160px;
            }
        }


        @media (max-width: 992px) {
            .newsletter-title { font-size: 44px; }
            .newsletter-description { font-size: 16px; }
            .newsletter-form input[type="text"], .newsletter-form input[type="email"] { font-size: 16px; }
        }

        @media (max-width: 768px) {
            .newsletter-title { font-size: 38px; }
            .newsletter-description { font-size: 14px; }
            .newsletter-form input[type="text"], .newsletter-form input[type="email"] { font-size: 14px; }
        }

        /* ----------------------- 8. FOOTER STYLES ----------------------- */
        .social-links {
            width: 100%;
            display: block;
            margin-bottom: 0;
            opacity: 0;
            transition: opacity 1s ease;
            border-top: solid 1px var(--color-light-gray);
        }
        
        .social-links.animate-in {
            opacity: 1;
        }

        .social-group {
            background-color: var(--color-black);
        }

        .social-group + .social-group {
            border-top: solid 1px var(--color-light-gray);
        }
        
        #page-footer .social-group-title {
            font-family: var(--font-body);
            font-weight: 500;
            color: var(--color-white) !important;
            font-size: 14px;
            text-align: center;
            padding: 20px 0 15px 0;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            background-color: #101010;
        }

        .social-group ul {
            display: flex;
            flex-wrap: wrap;
        }

        .social-group li {
            margin: 0;
            border-right: solid 1px var(--color-light-gray);
        }
        
        .social-group:first-of-type li {
            flex-basis: 33.333%;
            width: 33.333%;
        }
        .social-group:first-of-type li:nth-child(3n) { border-right: none; }
        
        .social-group:last-of-type li {
            flex-basis: 50%;
            width: 50%;
            border-bottom: solid 1px var(--color-light-gray);
        }
        .social-group:last-of-type li:nth-child(2n) { border-right: none; }
        
        @media (min-width: 768px) {
            #page-footer .social-group-title {
                font-size: 16px;
                padding: 25px 0 20px 0;
            }
            
            .social-group ul {
                flex-wrap: nowrap;
            }

            .social-group:first-of-type li,
            .social-group:last-of-type li {
                border-bottom: none;
            }
            
            .social-group:first-of-type li {
                flex-basis: 33.333%; width: 33.333%;
            }

            .social-group:last-of-type li {
                flex-basis: 25%; width: 25%;
            }
            
            .social-group li:last-of-type {
                border-right: none;
            }
        }

        .social-links a {
            display: block;
            text-align: center;
            height: 80px;
            line-height: 80px;
            background-color: var(--color-black);
            text-indent: -9999px;
            overflow: hidden;
            position: relative;
        }
        
        #page-footer .social-links a::before {
          all: initial;
          content: "";
          display: block;
          position: absolute;
          left: 0;
          top: 0;
          height: 100%;
          width: 0%;
          z-index: 1;
          transition: all 0.5s ease-in-out;
        }

        #page-footer .social-links a:hover::before {
            width: 100% !important;
            background-color: var(--color-accent-hover) !important;
        }

        #page-footer .social-links a::after {
            all: initial;
            content: "";
            display: block;
            position: absolute;
            z-index: 2;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-repeat: no-repeat;
            background-size: auto 24px;
            background-position: center center;
            transition: all 0.8s ease-in-out;
        }

        /* Note: These '-wo' icons were NOT in the moved list, keeping original links */
        #page-footer .icon-fb::after { background-image: url("https://stevenbartlett.com/images/icon-fb-wo.svg") !important; }
        #page-footer .icon-tt::after { background-image: url("https://stevenbartlett.com/images/icon-tt-wo.svg") !important; }
        #page-footer .icon-ig::after { background-image: url("https://stevenbartlett.com/images/icon-ig-wo.svg") !important; }
        #page-footer .icon-yt::after { background-image: url("https://stevenbartlett.com/images/icon-yt-wo.svg") !important; }

        /* UPDATED LINKS FOR HOVER STATES */
        #page-footer .social-links a:hover.icon-fb::after { background-image: url("https://soulaction.lt/wp-content/uploads/2025/11/icon-fb.svg") !important; }
        #page-footer .social-links a:hover.icon-tt::after { background-image: url("https://soulaction.lt/wp-content/uploads/2025/11/icon-tt.svg") !important; }
        #page-footer .social-links a:hover.icon-ig::after { background-image: url("https://soulaction.lt/wp-content/uploads/2025/11/icon-ig.svg") !important; }
        #page-footer .social-links a:hover.icon-yt::after { background-image: url("https://soulaction.lt/wp-content/uploads/2025/11/icon-yt.svg") !important; }

        footer {
            background-color: var(--color-black);
            width: 100%;
            display: block;
            padding: 30px 0;
            border-top: solid 1px var(--color-light-gray);
        }

        footer p, footer li {
            color: var(--color-white);
            font-size: 12px;
            margin-bottom: 0;
            text-align: center;
        }
        
        footer a {
            color: var(--color-white);
            text-decoration: none;
        }
        footer a:hover {
            color: var(--color-accent-hover);
        }

        .footer-container {
            max-width: 100%;
            margin-left: auto;
            margin-right: auto;
            padding-left: calc(var(--gutter-x-mobile) / 2);
            padding-right: calc(var(--gutter-x-mobile) / 2);
            display: grid;
            grid-template-columns: 1fr;
            row-gap: 20px;
        }

        .footer-links-group ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            margin: 0;
        }

        .footer-links-group ul li {
            margin: 0 10px 8px 10px;
            text-align: center;
        }
        
        .footer-links-group ul li:first-child {
            width: 100%;
        }

        .footer-byline-group {
            text-align: center;
        }

        @media (min-width: 768px) {
            #page-footer .social-links a {
                height: 100px;
                line-height: 100px;
            }
            #page-footer .social-links a::after {
                background-size: auto 34px !important;
            }

            footer p, footer li {
                font-size: 13px;
                text-align: left;
            }
            .footer-container {
                padding-left: calc(var(--gutter-x-sm) / 2);
                padding-right: calc(var(--gutter-x-sm) / 2);
                grid-template-columns: 2fr 1fr;
                gap: var(--gutter-x-sm);
                align-items: center;
            }
            .footer-links-group ul {
                flex-wrap: nowrap;
                justify-content: flex-start;
            }
            .footer-links-group ul li {
                margin: 0 20px 0 0;
            }
            .footer-links-group ul li:first-child {
                width: auto;
            }
            .footer-byline-group {
                text-align: right;
            }
        }
        @media (min-width: 992px) {
            #page-footer .social-links a {
                height: 120px;
                line-height: 120px;
            }
            footer p, footer li {
                font-size: 14px;
            }
            .footer-container {
                padding-left: calc(var(--gutter-x-md) / 2);
                padding-right: calc(var(--gutter-x-md) / 2);
                gap: var(--gutter-x-md);
            }
        }
        @media (min-width: 1200px) {
            footer p, footer li {
                font-size: 15px;
            }
        }
        @media (min-width: 1400px) {
            .footer-container {
                padding-left: calc(var(--gutter-x-lg) / 2);
                padding-right: calc(var(--gutter-x-lg) / 2);
                gap: var(--gutter-x-lg);
            }
        }