        /* --- Theme Variables --- */
        :root {
            /* Game of Thrones / HBO Theme */
            --theme-gold: #D4AF37;
            --theme-black: #050505;
            --theme-dark-gray: #1a1a1a;
            --theme-light-gray: #aaaaaa;
            --theme-white: #f5f5ff;
            
            /* Netflix Theme */
            --netflix-red: #e50914;
            --netflix-black: #141414;
            --netflix-dark: #181818;
            --netflix-gray: #808080;
            --netflix-white: #f5f5f5;
        }
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            /* Apply the theme font */
            font-family: 'Cinzel', serif;
        }
        
        body {
            /* Default to GoT Theme */
            background-color: var(--theme-black);
            color: var(--theme-white);
            line-height: 1.6;
            overflow-x: hidden;
            transition: background-color 0.5s ease;
        }
        
        body.netflix-theme {
            background-color: var(--netflix-black);
            color: var(--netflix-white);
        }

        .background-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -2;
            transition: background-image 1s ease-in-out, opacity 0.5s ease-in-out; /* Added opacity transition */
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            opacity: 1; /* Start visible */
        }
        
        .background-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* Dark overlay for readability */
            background: linear-gradient(to bottom, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.7) 50%, rgba(0,0,0,0.85) 100%);
            transition: background 0.5s ease;
        }

        body.netflix-theme .background-overlay {
            background: linear-gradient(to bottom, rgba(20,20,20,0.85) 0%, rgba(20,20,20,0.7) 50%, rgba(20,20,20,0.85) 100%);
        }
        
        .theme-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 50px;
            background: linear-gradient(to bottom, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 60%, transparent 100%);
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
            transition: background 0.3s;
        }
        
        .theme-header.scrolled {
            background: var(--theme-black);
            box-shadow: 0 2px 10px rgba(0,0,0,0.5);
        }

        body.netflix-theme .theme-header.scrolled {
            background: var(--netflix-black);
        }
        
        .logo {
            font-size: 2.2rem;
            font-weight: bold;
            color: var(--theme-gold); /* Gold logo */
            text-decoration: none;
            display: flex;
            align-items: center;
            transition: color 0.5s ease;
        }

        body.netflix-theme .logo {
            color: var(--netflix-red);
        }
        
        .logo i {
            margin-right: 10px;
            /* Using a more "regal" icon */
            font-size: 1.8rem;
        }
        
        .nav-links {
            display: flex;
            gap: 25px;
        }
        
        .nav-links a {
            color: var(--theme-white);
            text-decoration: none;
            font-size: 1.1rem;
            transition: color 0.3s;
        }
        
        .nav-links a:hover {
            color: var(--theme-gold); /* Gold hover */
        }

        body.netflix-theme .nav-links a:hover {
            color: var(--netflix-red);
        }

        /* --- Theme Switcher --- */
        .theme-switcher {
            background: rgba(255, 255, 255, 0.1);
            color: var(--theme-white);
            border: 1px solid rgba(212, 175, 55, 0.5); /* Gold border */
            padding: 8px 15px;
            border-radius: 20px;
            cursor: pointer;
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: background-color 0.3s, border-color 0.5s ease;
            font-family: 'Cinzel', serif; /* Ensure font */
        }
        .theme-switcher:hover {
            background-color: rgba(212, 175, 55, 0.2);
        }
        .theme-switcher i {
            font-size: 0.8rem;
        }
        
        body.netflix-theme .theme-switcher {
            border-color: rgba(229, 9, 20, 0.5);
        }
        body.netflix-theme .theme-switcher:hover {
            background-color: rgba(229, 9, 20, 0.2);
        }
        /* --- End Theme Switcher --- */
        
        .profile-selection {
            padding: 150px 20px 80px;
            text-align: center;
            min-height: 100vh;
            display: flex; /* Use flexbox for centering */
            flex-direction: column; /* Stack items vertically */
            justify-content: center; /* Center vertically */
            align-items: center; /* Center horizontally */
        }
        
        .profile-title {
            font-size: 3.5rem;
            margin-bottom: 50px;
            text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.7);
        }

        .story-text {
            font-size: 1.25rem;
            color: var(--theme-light-gray);
            max-width: 600px;
            margin: 0 auto 40px;
            line-height: 1.8;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
        }
        
        .profiles-container {
            display: flex;
            justify-content: center;
            gap: 40px;
            flex-wrap: wrap;
            margin-top: 40px;
        }
        
        .profile {
            cursor: pointer;
            transition: transform 0.3s;
            width: 200px;
            position: relative;
        }
        
        .profile:hover {
            transform: scale(1.1);
        }
        
        .profile-img {
            width: 200px;
            height: 200px;
            border-radius: 4px;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 70px;
            color: white;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
            overflow: hidden;
            position: relative;
            /* Themed gradients for profiles */
            background-size: cover;
            background-position: center;
            border: 2px solid rgba(212, 175, 55, 0.3); /* Subtle gold border */
            transition: background 0.5s ease, border-color 0.5s ease;
        }
        
        .profile-img.recruiter {
            background: linear-gradient(135deg, #4a4a4a, #2c2c2c);
        }
        .profile-img.developer {
            background: linear-gradient(135deg, #522b29, #291514);
        }
        .profile-img.stalker {
            background: linear-gradient(135deg, #1e3a4c, #0f1d26);
        }
        .profile-img.adventure {
            background: linear-gradient(135deg, #4a3e29, #251f15);
        }
        
        /* Netflix Profile Gradients */
        body.netflix-theme .profile-img {
            border-color: rgba(229, 9, 20, 0.3);
        }
        body.netflix-theme .profile-img.recruiter {
            background: linear-gradient(135deg, #2c3e50, #4ca1af);
        }
        body.netflix-theme .profile-img.developer {
            background: linear-gradient(135deg, #8e2de2, #4a00e0);
        }
        body.netflix-theme .profile-img.stalker {
            background: linear-gradient(135deg, #f5576c, #f093fb);
        }
        body.netflix-theme .profile-img.adventure {
            background: linear-gradient(135deg, #5ee7df, #b490ca);
        }


        .profile-img i {
            z-index: 1;
            text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
        }
        
        .profile-img:after {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.5) 100%);
        }
        
        .profile-name {
            color: var(--theme-light-gray);
            font-size: 1.4rem;
            font-weight: 500;
            transition: color 0.3s;
        }
        
        .profile:hover .profile-name {
            color: var(--theme-white);
        }
        
        .browse-text {
            margin-top: 60px;
            color: var(--theme-light-gray);
            font-size: 1.2rem;
        }
        
        .view-content {
            display: none;
            padding: 120px 50px 50px;
            min-height: 100vh;
            animation: fadeIn 0.5s;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        
        .back-btn {
            background-color: rgba(255, 255, 255, 0.1);
            color: var(--theme-white);
            border: 1px solid rgba(212, 175, 55, 0.5); /* Gold border */
            padding: 12px 25px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1rem;
            margin-bottom: 30px;
            display: inline-flex; /* Use inline-flex */
            align-items: center;
            gap: 10px;
            transition: background-color 0.3s, border-color 0.5s ease;
            z-index: 100;
            position: relative;
        }
        
        .back-btn:hover {
            background-color: rgba(212, 175, 55, 0.2);
        }
        
        body.netflix-theme .back-btn {
            border-color: rgba(229, 9, 20, 0.5);
        }
        body.netflix-theme .back-btn:hover {
            background-color: rgba(229, 9, 20, 0.2);
        }

        .view-header {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-bottom: 30px;
            position: relative;
            z-index: 100;
        }
        
        .view-title {
            font-size: 2.8rem;
            color: var(--theme-white);
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
        }
        
        .view-subtitle {
            font-size: 1.4rem;
            color: var(--theme-gold); /* Gold subtitle */
            margin-bottom: 30px;
            position: relative;
            z-index: 100;
            transition: color 0.5s ease;
        }

        body.netflix-theme .view-subtitle {
            color: var(--netflix-red);
        }
        
        .content-section {
            background-color: rgba(10, 10, 10, 0.85); /* Darker section */
            backdrop-filter: blur(5px);
            border-radius: 8px;
            padding: 30px;
            margin-bottom: 30px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
            border-left: 4px solid var(--theme-gold); /* Gold accent */
            position: relative;
            z-index: 100;
            transition: background-color 0.5s ease, border-color 0.5s ease;
        }

        body.netflix-theme .content-section {
            background-color: rgba(20, 20, 20, 0.85);
            border-left-color: var(--netflix-red);
        }
        
        .section-title {
            font-size: 1.8rem;
            color: var(--theme-gold); /* Gold title */
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 1px solid rgba(212, 175, 55, 0.3);
            transition: color 0.5s ease, border-color 0.5s ease;
        }

        body.netflix-theme .section-title {
            color: var(--netflix-red);
            border-bottom-color: rgba(229, 9, 20, 0.3);
        }
        
        .experience-item, .education-item {
            margin-bottom: 25px;
        }
        
        .item-title {
            font-size: 1.4rem;
            color: var(--theme-white);
            margin-bottom: 5px;
        }
        
        .item-subtitle {
            color: var(--theme-gold); /* Gold subtitle */
            font-size: 1.1rem;
            margin-bottom: 10px;
            transition: color 0.5s ease;
        }

        body.netflix-theme .item-subtitle {
            color: var(--netflix-red);
        }
        
        .item-duration {
            color: var(--theme-light-gray);
            font-style: italic;
            margin-bottom: 10px;
        }
        
        /* Use ul for lists */
        .experience-item ul, .education-item ul, .fact-card ul {
            list-style: disc; /* Or none if you prefer */
            margin-left: 20px; /* Indent list */
            color: var(--theme-light-gray);
        }
        .experience-item ul li, .education-item ul li, .fact-card ul li {
            margin-bottom: 5px;
        }

        .skill-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 20px;
            margin-top: 20px;
        }
        
        .skill-category {
            background-color: rgba(212, 175, 55, 0.05); /* Faint gold bg */
            padding: 20px;
            border-radius: 6px;
            border-left: 3px solid var(--theme-gold);
            transition: background-color 0.5s ease, border-color 0.5s ease;
        }

        body.netflix-theme .skill-category {
            background-color: rgba(229, 9, 20, 0.05);
            border-left-color: var(--netflix-red);
        }
        
        .category-title {
            color: var(--theme-white);
            margin-bottom: 15px;
            font-size: 1.2rem;
        }
        
        .contact-buttons {
            display: flex;
            gap: 20px;
            margin-top: 30px;
            flex-wrap: wrap;
        }
        
        .contact-btn {
            display: inline-flex; /* Changed to inline-flex */
            align-items: center;
            justify-content: center; /* Center content */
            gap: 10px;
            padding: 15px 25px;
            background-color: var(--theme-gold); /* Gold button */
            color: var(--theme-black); /* Black text */
            text-decoration: none;
            border-radius: 4px;
            font-weight: bold;
            transition: background-color 0.3s, transform 0.3s, color 0.3s;
            position: relative;
            z-index: 100;
            border: none; /* Remove border if it's a button */
            cursor: pointer; /* Add cursor for button */
        }
        
        .contact-btn:hover {
            background-color: #fadf98; /* Lighter gold hover */
            transform: translateY(-2px);
        }
        
        body.netflix-theme .contact-btn {
            background-color: var(--netflix-red);
            color: var(--netflix-white);
        }
        body.netflix-theme .contact-btn:hover {
            background-color: #f40612;
        }

        .social-btn {
            display: inline-flex; /* Changed */
            align-items: center;
            justify-content: center; /* Added */
            gap: 10px;
            padding: 12px 20px;
            background-color: rgba(255, 255, 255, 0.1);
            color: var(--theme-white);
            text-decoration: none;
            border-radius: 4px;
            font-weight: bold;
            transition: background-color 0.3s, transform 0.3s, border-color 0.5s ease;
            border: 1px solid rgba(212, 175, 55, 0.5);
        }
        
        .social-btn:hover {
            background-color: rgba(212, 175, 55, 0.2);
            transform: translateY(-2px);
        }

        body.netflix-theme .social-btn {
            border-color: rgba(229, 9, 20, 0.5);
        }
        body.netflix-theme .social-btn:hover {
            background-color: rgba(229, 9, 20, 0.2);
        }
        
        .project-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 30px;
            margin-top: 30px;
        }
        
        .project-card {
            background: linear-gradient(to bottom, #1e1e1e, #141414);
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
            transition: transform 0.3s, border-color 0.5s ease;
            border: 1px solid rgba(212, 175, 55, 0.2);
        }
        
        .project-card:hover {
            transform: scale(1.03);
            border-color: rgba(212, 175, 55, 0.5);
        }

        body.netflix-theme .project-card {
            border-color: rgba(229, 9, 20, 0.2);
        }
        body.netflix-theme .project-card:hover {
            border-color: rgba(229, 9, 20, 0.5);
        }
        
        .project-content {
            padding: 20px;
        }
        
        .project-title {
            font-size: 1.4rem;
            color: var(--theme-white);
            margin-bottom: 10px;
        }
        
        .project-tech {
            color: var(--theme-gold);
            font-size: 0.9rem;
            margin-bottom: 15px;
            transition: color 0.5s ease;
        }

        body.netflix-theme .project-tech {
            color: var(--netflix-red);
        }
        
        .project-description {
            color: var(--theme-light-gray);
            margin-bottom: 15px;
            font-size: 0.95rem;
        }

        /* Special style for contact card icons */
        .project-card .fas {
            transition: color 0.5s ease;
        }
        body.netflix-theme .project-card .fas {
            color: var(--netflix-red) !important; /* Ensure override */
        }
        
        .fact-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 20px;
            margin-top: 20px;
        }
        
        .fact-card {
            background-color: rgba(30, 30, 30, 0.7);
            padding: 20px;
            border-radius: 6px;
            border-top: 3px solid var(--theme-gold);
            transition: border-color 0.5s ease;
        }

        body.netflix-theme .fact-card {
            border-top-color: var(--netflix-red);
        }
        
        .adventure-gallery {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 20px;
            margin-top: 30px;
        }
        
        .gallery-item {
            height: 200px;
            border-radius: 6px;
            overflow: hidden;
            position: relative;
            cursor: pointer;
            border: 2px solid transparent;
            transition: border-color 0.3s;
        }

        .gallery-item:hover {
            border-color: var(--theme-gold);
        }

        body.netflix-theme .gallery-item:hover {
            border-color: var(--netflix-red);
        }
        
        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s;
        }
        
        .gallery-item:hover img {
            transform: scale(1.1);
        }
        
        .gallery-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
            padding: 15px;
            color: white;
            transform: translateY(100%);
            transition: transform 0.3s;
        }
        
        .gallery-item:hover .gallery-caption {
            transform: translateY(0);
        }
        
        .blog-card {
            background: linear-gradient(to bottom, #1e1e1e, #141414);
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
            transition: transform 0.3s, border-color 0.5s ease;
            cursor: pointer;
            border: 1px solid rgba(212, 175, 55, 0.2);
        }
        
        .blog-card:hover {
            transform: scale(1.03);
            border-color: rgba(212, 175, 55, 0.5);
        }

        body.netflix-theme .blog-card {
            border-color: rgba(229, 9, 20, 0.2);
        }
        body.netflix-theme .blog-card:hover {
            border-color: rgba(229, 9, 20, 0.5);
        }

        .cms-blog-card {
            width: 100%;
            color: inherit;
            text-align: left;
            font: inherit;
        }
        
        .blog-content {
            padding: 20px;
        }
        
        .blog-title {
            font-size: 1.4rem;
            color: var(--theme-white);
            margin-bottom: 10px;
        }
        
        .blog-excerpt {
            color: var(--theme-light-gray);
            margin-bottom: 15px;
            font-size: 0.95rem;
        }
        
        .blog-date {
            color: var(--theme-gold);
            font-size: 0.9rem;
            transition: color 0.5s ease;
        }

        body.netflix-theme .blog-date {
            color: var(--netflix-red);
        }

        /* Styles for individual blog posts */
        .blog-post-content p {
            margin-bottom: 1em;
            color: var(--theme-light-gray);
            text-align: left; /* Justify text left for readability */
            font-size: 1.1rem;
            line-height: 1.7;
        }
        .blog-post-content h3 {
             font-size: 1.5rem;
             color: var(--theme-gold);
             margin-top: 1.5em;
             margin-bottom: 0.5em;
             text-align: left;
             transition: color 0.5s ease;
        }
        body.netflix-theme .blog-post-content h3 {
            color: var(--netflix-red);
        }

        
        /* --- Modal styles --- */
        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.85);
            z-index: 2000;
            align-items: center;
            justify-content: center;
            opacity: 0; /* Start hidden */
            transition: opacity 0.3s ease; /* Add transition */
        }
        .modal.active {
            display: flex; /* Use flex to enable centering */
            opacity: 1; /* Fade in */
        }
        
        .modal-content {
            background-color: var(--theme-dark-gray);
            padding: 30px;
            border-radius: 8px;
            width: 90%;
            max-width: 600px; /* Wider for options */
            box-shadow: 0 5px 25px rgba(0, 0, 0, 0.5);
            position: relative;
            border: 1px solid var(--theme-gold);
            transition: background-color 0.5s ease, border-color 0.5s ease, transform 0.3s ease; /* Add transform transition */
            transform: translateY(-20px) scale(0.95); /* Start slightly up and smaller */
        }
        .modal.active .modal-content {
            transform: translateY(0) scale(1); /* Animate to final state */
        }
        /* Specific max-width for form modal */
        #contactModal .modal-content {
            max-width: 500px;
        }

        /* Video demo modal */
        .video-modal-content {
            max-width: 960px;
            width: 92%;
            padding: 15px;
            background-color: #000;
        }
        .video-embed {
            position: relative;
            width: 100%;
            padding-top: 56.25%; /* 16:9 */
            background: #000;
        }
        .video-embed iframe,
        .video-embed video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: 0;
        }

        /* Photo lightbox */
        .lightbox-content {
            position: relative;
            max-width: 90vw;
            max-height: 90vh;
            display: flex;
            align-items: center;
            justify-content: center;
            background: transparent;
            border: none;
        }
        .lightbox-content img {
            max-width: 90vw;
            max-height: 85vh;
            object-fit: contain;
            border-radius: 4px;
            box-shadow: 0 5px 30px rgba(0, 0, 0, 0.7);
        }
        .lightbox-close {
            position: absolute;
            top: -10px;
            right: -10px;
            width: 40px;
            height: 40px;
            background: rgba(0, 0, 0, 0.7);
            border-radius: 50%;
            font-size: 1.6rem;
            line-height: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10;
        }
        .lightbox-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(0, 0, 0, 0.5);
            color: #fff;
            border: none;
            font-size: 1.6rem;
            padding: 12px 16px;
            cursor: pointer;
            z-index: 10;
        }
        .lightbox-nav:hover {
            background: rgba(0, 0, 0, 0.8);
        }
        .lightbox-prev { left: 10px; }
        .lightbox-next { right: 10px; }
        .lightbox-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            text-align: center;
            padding: 18px 15px;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
            color: #fff;
            font-size: 1.1rem;
        }

        body.netflix-theme .modal-content {
            background-color: var(--netflix-dark);
            border-color: var(--netflix-red);
        }
        
        .close-modal {
            position: absolute;
            top: 15px;
            right: 15px;
            font-size: 1.5rem;
            color: var(--theme-white);
            cursor: pointer;
            background: none;
            border: none;
        }
        
        .modal-title {
            color: var(--theme-gold);
            margin-bottom: 20px;
            font-size: 1.8rem;
            transition: color 0.5s ease;
            text-align: center; /* Center title in options modal */
        }

        body.netflix-theme .modal-title {
            color: var(--netflix-red);
        }
        
        .form-group {
            margin-bottom: 20px;
        }
        
        .form-group label {
            display: block;
            margin-bottom: 8px;
            color: var(--theme-white);
        }
        
        .form-group input, .form-group textarea {
            width: 100%;
            padding: 12px;
            background-color: rgba(0, 0, 0, 0.5);
            border: 1px solid rgba(212, 175, 55, 0.3);
            border-radius: 4px;
            color: var(--theme-white);
            font-size: 1rem;
            font-family: 'Cinzel', serif; /* Ensure font */
            transition: border-color 0.5s ease, background-color 0.5s ease;
        }

        body.netflix-theme .form-group input, 
        body.netflix-theme .form-group textarea {
            background-color: rgba(50, 50, 50, 0.5);
            border-color: rgba(229, 9, 20, 0.3);
        }

        .form-group input:focus, .form-group textarea:focus {
            outline: none;
            border-color: var(--theme-gold);
        }

        body.netflix-theme .form-group input:focus, 
        body.netflix-theme .form-group textarea:focus {
            border-color: var(--netflix-red);
        }
        
        .form-group textarea {
            min-height: 120px;
            resize: vertical;
        }
        
        .submit-btn {
            background-color: var(--theme-gold);
            color: var(--theme-black);
            border: none;
            padding: 12px 25px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1rem;
            font-weight: bold;
            width: 100%;
            transition: background-color 0.3s, color 0.3s;
        }
        
        .submit-btn:hover {
            background-color: #fadf98;
        }

        body.netflix-theme .submit-btn {
            background-color: var(--netflix-red);
            color: var(--netflix-white);
        }
        body.netflix-theme .submit-btn:hover {
            background-color: #f40612;
        }
        
        /* Responsive styles */
        @media (max-width: 968px) {
            .theme-header {
                padding: 15px 20px;
            }
            /* Hide desktop theme switcher on smaller screens */
            .desktop-theme-switcher {
                display: none;
            }
            .logo {
                font-size: 1.8rem;
            }
            
            .profile-title {
                font-size: 2.5rem;
            }
            
            .profiles-container {
                gap: 25px;
            }
            
            .profile {
                width: 150px;
            }
            
            .profile-img {
                width: 150px;
                height: 150px;
                font-size: 50px;
            }
            
            .view-content {
                padding: 120px 20px 30px;
            }
            
            .view-title {
                font-size: 2.2rem;
            }
        }
        
        @media (min-width: 769px) {
            /* Hide mobile theme switcher on larger screens */
            .mobile-theme-switcher {
                display: none;
            }
        }

        @media (max-width: 768px) { /* Changed breakpoint for nav */
             .desktop-theme-switcher {
                display: none; /* Hide desktop switcher */
            }
            .nav-links {
                display: none; /* Hide by default on mobile */
                position: fixed;
                top: 70px; /* Adjust based on header height */
                left: 0;
                width: 100%;
                background-color: var(--theme-black); /* Use theme color */
                flex-direction: column;
                padding: 20px;
                gap: 15px;
                transform: translateY(-100%);
                opacity: 0;
                transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.5s ease;
                z-index: 999;
                box-shadow: 0 10px 20px rgba(0,0,0,0.5);
            }
            body.netflix-theme .nav-links {
                background-color: var(--netflix-black);
            }

            .nav-links.active {
                display: flex; /* Show when active */
                transform: translateY(0);
                opacity: 1;
            }
            
            .mobile-menu-btn {
                display: block; /* Show hamburger */
                background: none;
                border: none;
                color: var(--theme-white);
                font-size: 1.5rem;
                cursor: pointer;
                z-index: 1001; /* Ensure it's above other header elements */
            }

            .profile-title {
                font-size: 2rem;
            }
            
            .profiles-container {
                gap: 15px;
                /* Go to 2 columns on mobile */
                grid-template-columns: repeat(2, 1fr);
                justify-items: center;
                display: grid;
            }
            
            .profile {
                width: 130px;
            }
            
            .profile-img {
                width: 130px;
                height: 130px;
                font-size: 40px;
            }
            
            .contact-buttons {
                flex-direction: column;
                align-items: stretch; /* Make buttons full width */
            }
            .contact-buttons > * { /* Target direct children */
                width: 100%; /* Make buttons take full width */
                text-align: center; /* Center text in button */
            }
            
            .skill-grid, .project-grid, .fact-grid, .adventure-gallery {
                grid-template-columns: 1fr;
            }
            /* Make modal contact options stack on mobile */
            #contactOptionsModal .project-grid {
                 grid-template-columns: 1fr;
            }
            /* Mobile Centering Adjustment */
            /* Ensure the profile selection section itself uses flex for centering */
            #story-view .profile-selection, 
            #home-view .profile-selection {
                 padding-top: 100px; /* Reduced top padding */
                 padding-bottom: 50px; /* Reduced bottom padding */
            }
             /* Adjust blog post content padding on mobile */
             #blog-post-karura-view .content-section,
             #blog-post-photography-view .content-section,
             #blog-post-balance-view .content-section {
                 padding: 20px;
             }
        }
