        :root {
            --highlight_color: rgb(0, 60, 245)
        }

        html {
            font-size: clamp(15px, 1.2vw, 18px)
        }

        * { /* the universal selector selects ALL elements (divs, paragraphs, headings, images) */
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Libertinus Sans', sans-serif;
            background: #fff;
            color: #333;
            line-height: 1.6;
        }

        .container {
            display: flex;
            min-height: 100vh;
        }

        .sidebar {
            width: 25rem; /* 450px with base 18px*/
            padding: 2.22rem 1.67rem; /*40px 30px*/
            background: #fff;
            position: fixed;
            height: 100vh;
            overflow-y: auto;
            scrollbar-width: none; /* Firefox */
            -ms-overflow-style: none; /* IE and Edge */
        }

        .sidebar::-webkit-scrollbar {
            display: none; /* Chrome, Safari, Opera */
        }

        .content-area {
            margin-left: 19.44px; /*350px*/
            flex: 1;
            padding: 2.22rem 3.33rem; /*40 60*/
            max-width: 72.22rem; /*1300px*/
            background: #fff;
            margin-right: auto;
            margin-left: auto;
            padding-left: 25rem; /*450px*/
        }

        .artist-name {
            font-size: 2rem; /*36px*/
            font-weight: 500;
            color: #000;
            margin-bottom: 2.22rem; /*40px*/
            letter-spacing: 0.03rem; /*0.05px*/
            padding-left: 0.67rem; /*12px*/
            cursor: pointer; /* Make it look clickable */
            transition: opacity 0.2s ease; /* Subtle hover effect */
        }

        /* Arrow styles for mobile */
        .artist-name::before {
            content: '';
            display: none; /* Hidden by default */
            margin-right: 0.56rem; /*10px*/
            transition: all 0.2s ease;
        }

        .divider {
            /*margin-top: 1.5rem; /*3px;*/
            cursor: default;
            padding: 0px 0px;
            transition: none;
            color: #535353;
            font-size: 1.15rem; /*28px;*/
            font-weight: 300;
            border-radius: 1.11rem; /*20px;*/
            display: block;
            font-style: italic;
            width: 100%;
            background: transparent;
            border: 0.11rem solid transparent;
        }

        /* Only show hover effect on devices that support hover (not touch screens) */
        @media (hover: hover) {
            .artist-name:hover {
            opacity: 0.7; /* Subtle hover feedback */
            }
        }

        /* details ------------------------------------------------------- */ 

        .details-link-text {
            padding: 0px 0.67rem; /*12px;*/
            border-radius: 1.11rem; /*20px;*/
            background: transparent;
            border: 0.11rem solid transparent; /*2px*/
            display: inline-block;
            width: fit-content;
            transition: none;
        }

        .details-link {
            margin-bottom: 0.17rem; /*3px*/
            cursor: pointer;
            padding: 0px 0px;
            transition: none;
            color: #000;
            font-size: 1.22rem; /*22px;*/
            font-weight: 300;
            display: block;
            width: 100%;
            background: transparent;
            border: none;
        }

        .details-link:hover .details-link-text {
            color: #fff;
            background: var(--highlight_color);
            border: 0.11rem solid var(--highlight_color);
        }

        .details-link.active .details-link-text {
            color: #000;
            font-weight: 300;
            background: transparent;
            border: 0.11rem solid var(--highlight_color);
        }

        .about-section {
            border-top: 0px solid #eee;
        }

        .contact-section {
            border-top: 0px solid #eee;
        }

        .cv-section {
            border-top: 0px solid #eee;
        }

        /* CV page classes ------------------------------------------------------ */

        .cv-title-text {
            font-family: 'Libertinus Sans', sans-serif;
            background: #fff;
            color: #333;
            line-height: 1.6;
            font-size: 1.12rem; /*14px;*/
            font-style: italic;
            margin-top: 1.9rem;
            margin-bottom: 0.28rem /*5px;*/
        }

        .cv-year {
            font-family: 'Libertinus Sans', sans-serif;
            margin-top: 0.3rem;
            margin-bottom: 0.3rem;
            color: #858585;
            font-style: italic;
            }

        .cv-body-text {
            font-family: 'Libertinus Sans', sans-serif;
            background: #fff;
            color: #333;
            line-height: 1.6;
            font-size: 1rem;
        }

        /* films work title styles --------------------------------------------------------- */

        .works-list {
            margin-left: 0px;
            display: flex;
            flex-direction: column;
        }

        .sounds-graphics-list {
            margin-left: 0px;
            display: flex;
            flex-direction: column;
        }

        .work-item {
            margin-bottom: 0.17rem; /*3px;*/
            cursor: pointer;
            padding: 0px 0px;
            transition: none;
            color: #000;
            font-size: 1.56rem; /*28px;*/
            font-weight: 300;
            border-radius: 1.11rem; /*20px;*/
            display: block;
            width: 100%;
            background: transparent;
            border: 0.11rem solid transparent;
        }

        .work-item-text {               
            padding: 0px 0.67rem;
            border-radius: 1.11rem;
            background: transparent;
            border: 0.11rem solid transparent;
            display: inline-block;
            width: fit-content;
            transition: none;
        }

        .work-item:hover .work-item-text{
            color: #fff;
            background: var(--highlight_color);
            border: 0.11rem solid var(--highlight_color);
        }

        .work-item.active .work-item-text{
            color: #000;
            font-weight: 300;
            background: transparent;
            border: 0.11rem solid var(--highlight_color);
        }

        .content-display {
            opacity: 1;
            transform: none;
        }

        .work-title {
            font-size: 1.67rem;
            font-weight: 300;
            margin-bottom: 0.28rem;
            color: #000;
        }

        .work-subtitle {
            font-size: 0.89rem; /*16px;*/
            font-weight: 400;
            color: #777;
            margin-bottom: 0.56rem; /*10px*/
        }

        .work-content {
            font-size: 1.33rem; /*24px*/
            line-height: 1.4;
            color: #000;
            margin-bottom: 1.67rem; /*30px;*/
        }

        .credits-title {
            font-size: 1.22rem; /*22px;*/
            line-height: 1.5;
            color: #000;
            margin-top: 3rem;
            margin-bottom: 0.11rem;
            text-align: center;
        }

        .credits-category {
            font-size: 1rem; /*18px*/
            line-height: 1.5;
            color: #000;
            margin-bottom: 0.11rem;
            text-decoration: underline;
            text-align: center;
        }

        .credits-content {
            font-size: 1rem;
            line-height: 1.3;
            color: #000;
            margin-bottom: 0.83rem; /*15px*/
            text-align: center;
        }

        .work-image {
            width: 100%;
            max-width: 600px;
            height: auto;
            margin: 2.22rem 0; /*40px*/
            border-radius: 0,11rem;
        }

        .gallery-work-title {
            font-size: 1.67rem;
            font-weight: 300;
            color: #000;
            text-align: center;
        }

        .gallery-work-subtitle {
            font-size: 0.89rem; /*16px;*/
            font-weight: 400;
            color: #777;
            margin-top: -0.4rem;
            margin-bottom: 1.44rem; /*10px*/
            text-align: center;
        }

        .soundgraph-gallery-vertical {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1.67rem;
            margin: 3rem 0;
            width: 100;
        }

        .soundgraph-gallery-vertical iframe {
            width: 82%;
            aspect-ratio: 16/9; /* This maintains the 640x360 ratio */
            border: none; /* Cleaner look */
            align-items: center;
        }

        /* film gallery -------------------------------------------------------------- */
        .gallery-vertical {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1.67rem;
            margin: 2.66rem 0rem;
        }

        .gallery-item-container {
            width: auto;
            max-width: 55.56rem;
            display: flex;
            flex-direction: column;
            gap: 0.67rem;
        }

        .gallery-item {
            width: auto;
            max-width: 100%;
            max-height: 37rem;
            height: auto;
            border-radius: 0.11rem;
            object-fit: contain;
        }

        .image-caption {
            font-size: 0.78rem;
            color: #777;
            text-align: right;
            margin-top: 0.17rem;
            margin-bottom: 0.17rem;
            font-style: italic;
            align-self: flex-end; /* This ensures right alignment within the container */
            width: 100%;
        }

        /* --------------------------------------------------------------- */

        .video-container {
            position: relative;
            width: 100%;
            height: 0;
            padding-bottom: 56.25%; /* 16:9 aspect ratio */
            margin: 2rem 0;
        }

        .video-container iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: none;
            border-radius: 0.11rem;
        }
        
        .watch-trailer {
            font-size: 1.67rem;
            color: rgb(0, 60, 245);
            margin-top: 3rem;
            margin-bottom: 1.39rem;
            font-style: italic;
            text-align: center;
        }

        .placeholder-content {
            background: #f8f8f8;
            padding: 2.22rem;
            border-radius: 0.22rem;
            margin: 1.11rem 0;
            font-style: italic;
            color: #888;
        }

        /* Socials --------------------------------------------- */

        .social-links {
        display: flex;
        gap: 1rem;
        justify-content: left;
        margin: -1rem 0;
        }

        .social-links a {
        font-size: 24px;
        color: #333;
        /*transition: color 0.3s ease;*/
        }

        .social-links a:hover {
        color: #007bff;
        }

        /* Platform-specific colors */
        .fa-instagram:hover { color: #E4405F; }
        .fa-soundcloud:hover { color: #FF5500; }
        .fa-vimeo:hover { color: #1AB7EA; }

        /* Mobile elements (hidden on desktop) --------------------------------------------- */
        .mobile-projects-button,
        .mobile-back-button {
            display: none;
        }

        .mobile-projects-button {
            margin-bottom: 0.17rem;
            cursor: pointer;
            padding: 0px 0px;
            transition: none;
            color: #000;
            font-size: 1.22rem;
            font-weight: 300;
            border-radius: 1.11rem;
            width: 100%;
            background: transparent;
            border: 0.11rem solid transparent;
            text-align: center;
        }

        .mobile-projects-button-text {
            padding: 0.44rem 0.67rem;
            border-radius: 1.11rem;
            background: transparent;
            border: 0.11rem solid transparent;
            display: inline-block;
            width: fit-content;
            transition: none;
        }

        .mobile-projects-button:hover .mobile-projects-button-text {
            color: #fff;
            background: var(--highlight_color);
            border: 2px solid var(--highlight_color);
        }

        .mobile-back-button {
            margin-bottom: 1.11rem;
            cursor: pointer;
            padding: 0.44rem 0.89rem;
            color: #000;
            font-size: 18px;
            font-weight: 300;
            text-align: center;
            text-decoration: underline;
            border: none;
            background: transparent;
            width: 100%;
        }

        /* Responsive */
        @media (max-width: 768px) {
            
            .sidebar {
                position: relative;
                width: 100%;
                height: 100vh;
                padding: 1.11rem 0.83rem;
                display: flex;
                flex-direction: column;
                justify-content: space-between; /* Distribute space */
                align-items: center;
            }

            .work-item .work-item-text,
            .details-link .details-link-text {
            color: #fff;
            background: var(--highlight_color);
            border: 0.11rem solid var(--highlight_color);
        }

            /* Reduce sidebar height when viewing content pages */
            .mobile-view-about .sidebar,
            .mobile-view-contact .sidebar,
            .mobile-view-cv .sidebar,
            .mobile-view-work .sidebar {
                height: auto; /* Let it size naturally */
                min-height: auto; /* Remove minimum height */
                padding-bottom: 0.56rem; /* Small bottom padding */
            }
            
            .content-area {
                margin-left: 0;
                margin-right: 0;
                padding: 1.11rem 0.83rem;
            }
            
            .container {
                flex-direction: column;
            }

            .artist-name {
                text-align: left;
                margin-bottom: 1rem; /* Remove margins, let flexbox handle spacing */
                padding-left: 0;
                flex-shrink: 0; /* Don't shrink */
                font-size: 1.56rem;
                opacity: 0.7;
            }

            /* Hide original content and replace with arrow */
            .mobile-view-about .artist-name,
            .mobile-view-contact .artist-name,
            .mobile-view-cv .artist-name,
            .mobile-view-work .artist-name {
                font-size: 0; /* Hide original text */
                margin-bottom: 0rem;
            }

            .mobile-view-about .artist-name::after,
            .mobile-view-contact .artist-name::after,
            .mobile-view-cv .artist-name::after,
            .mobile-view-work .artist-name::after {
                content: '←';
                display: inline;
                font-size: 1.56rem; /* Restore desired font size for arrow */
            }

            /* Middle section with buttons - this will be centered */
            .button-group {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                flex: 1; /* Take up remaining space and center vertically */
                gap: 8vh; /* Distance between Projects button and info buttons */
            }

            .mobile-projects-button {
            display: block;
            margin: 0; /* Remove margins */
            }

            /* Group About/CV/Contact together */
            .info-buttons {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 0.17rem; /* Tight spacing between these */
            }


            /* Bottom spacer - pushes everything up */
            .spacer {
            flex-shrink: 0;
            height: 1.67rem; /* Adjust this to fine-tune positioning */
            }

            /*.mobile-projects-button,*/
            .about-section,
            .cv-section, 
            .contact-section {
                text-align: center;
            }

            /* Increase mobile spacing */
            .work-subtitle {
                margin-bottom: 10px; /* Restore original spacing for mobile */
            }

            .film-gallery-vertical {
                gap: 1.11rem;
                margin: 2.22rem 0; /* Restore original spacing for mobile */
            }

            /* Make sure individual work items are centered */
            .work-item {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 100%;
            }

            /* Style adjustments for mobile */
            .about-link, .contact-link, .cv-link {
                text-align: center;
            }

            .work-item-text, .details-link-text {
                padding: 0.44rem 0.67rem;
            }
            
            .mobile-view-home .content-area {
                display: none;
            }
            
            .mobile-view-home .mobile-back-button {
                display: none;
            }

            /* Reduce content area top padding in work view */
            .mobile-view-work .content-area {
                padding-top: 0.56rem; /* Reduced from 20px */
            }

            /* Optional: also reduce back button spacing */
            .mobile-view-work .mobile-back-button {
                margin-bottom: 0.28rem; /* Reduced from 20px */
            }            

            .mobile-view-work .sidebar,
            .mobile-view-about .sidebar,
            .mobile-view-cv .sidebar,
            .mobile-view-contact .sidebar {
            display: block; /* Keep sidebar visible to show back button */
            }

            /* Optional: reduce work title top margin */
            .mobile-view-work .work-title {
                margin-top: 0;
            }

            .mobile-view-work .mobile-back-button {
                display: block;
            }

            .mobile-view-work .content-display {
                display: block;
            }

            /* Hide Projects and About buttons when viewing work */
            .mobile-view-work .works-list,
            .mobile-view-work .sounds-graphics-list,
            .mobile-view-work .mobile-projects-button,
            .mobile-view-work .info-buttons {
                display: none;
            }

            :is(.mobile-view-about, .mobile-view-contact, .mobile-view-cv) :is(.works-list, .sounds-graphics-list) {
                display: none;
            }

            .mobile-view-about .content-area,
            .mobile-view-contact .content-area,
            .mobile-view-cv .content-area {
                display: block;
            }

            .mobile-view-about .mobile-back-button,
            .mobile-view-contact .mobile-back-button,
            .mobile-view-cv .mobile-back-button {
                display: none;
            }

            .mobile-view-about .mobile-projects-button,
            .mobile-view-contact .mobile-projects-button,
            .mobile-view-cv .mobile-projects-button {
                display: none;
            }

            /* Hide both About and Contact sections when viewing either page */
            .mobile-view-about .info-buttons,
            .mobile-view-contact .info-buttons,
            .mobile-view-cv .info-buttons {
                display: none;
            }
        }