:root {
            --bg-color: #F5F7F0; /* Light, calming background */
            --text-color: #3A380C; /* Deep, grounded text */
            --primary-color: #DDC87A; /* Auspicious golden yellow */
            --secondary-color: #8CA08C; /* Harmonious muted green */
            --card-bg-color: rgba(245, 247, 240, 0.95); /* Slightly more opaque for clarity */
            --border-color: #90A898; /* Subtle, natural border */
            --shadow-color: rgba(221, 200, 122, 0.25); /* Enhanced, warm shadow */
            --nav-bg-color: rgba(245, 247, 240, 0.9); /* More solid navigation */
            --aurora1: #B8C4B0; /* Soft, flowing aurora colors */
            --aurora2: #E0D8A0;
            --aurora3: #98A890;

            /* Modal Specific */
            --modal-bg: rgba(245, 247, 240, 0.99);
            --modal-close-color: #3A380C;
        }

        body.dark-mode {
            --bg-color: #3A380C; /* Deep, stable dark background */
            --text-color: #F5F7F0; /* Light, clear text */
            --primary-color: #DDC87A; /* Consistent golden primary */
            --secondary-color: #8CA08C; /* Muted green secondary */
            --card-bg-color: rgba(58, 56, 12, 0.8); /* Slightly more opaque dark cards */
            --border-color: rgba(140, 160, 140, 0.5); /* Clearer dark borders */
            --shadow-color: rgba(221, 200, 122, 0.25); /* Enhanced, warm shadow */
            --nav-bg-color: rgba(58, 56, 12, 0.9); /* More solid dark navigation */
            --aurora1: #8CA08C;
            --aurora2: #DDC87A;
            --aurora3: #3A380C;

            /* Modal Specific */
            --modal-bg: rgba(58, 56, 12, 0.99);
            --modal-close-color: #F5F7F0;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        @keyframes aurora-animation {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--bg-color);
            color: var(--text-color);
            line-height: 1.75; /* Slightly increased for better readability */
            transition: background-color 0.6s ease-in-out, color 0.6s ease-in-out;
            overflow-x: hidden;
        }
        
        body::before {
            content: '';
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            z-index: -1;
            background: radial-gradient(circle at 18% 28%, var(--aurora1), transparent 45%),
                        radial-gradient(circle at 82% 38%, var(--aurora2), transparent 45%),
                        radial-gradient(circle at 55% 78%, var(--aurora3), transparent 45%);
            background-size: 350% 350%; /* Larger for smoother flow */
            animation: aurora-animation 45s ease-in-out infinite; /* Slower, more gentle animation */
            filter: blur(150px); /* More subtle blur */
            opacity: 0.6; /* Slightly more prominent */
        }

        .container {
            max-width: 1100px;
            margin: auto;
            padding: 0 30px; /* Increased padding for more breathing room */
        }

        h1, h2, h3, h4 {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-weight: 800;
            color: var(--primary-color);
            letter-spacing: -0.04em; /* Slightly less aggressive letter spacing */
        }

        h2 {
            font-size: 3.8rem; /* Slightly larger for impact */
            margin-bottom: 1.8rem; /* More space below heading */
            text-align: center;
            text-shadow: 0 0 12px var(--shadow-color); /* Enhanced shadow */
        }
        
        section {
            padding: 9rem 0; /* More vertical spacing between sections */
            position: relative;
        }

        /* Navigation */
        .navbar {
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
            padding: 1.4rem 0; /* Slightly more padding */
            background-color: var(--nav-bg-color);
            backdrop-filter: blur(18px) saturate(190%); /* More blur and saturation */
            -webkit-backdrop-filter: blur(18px) saturate(190%);
            transition: all 0.5s ease-in-out;
            border-bottom: 1px solid var(--border-color);
            box-shadow: 0 4px 20px var(--shadow-color); /* Enhanced shadow */
        }

        .navbar .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .navbar-brand {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 2rem; /* Slightly larger brand */
            font-weight: 800;
            color: var(--primary-color);
            text-decoration: none;
            transition: color 0.3s;
        }
        .navbar-brand:hover {
            color: var(--secondary-color);
        }

        .nav-links {
            list-style: none;
            display: flex;
        }

        .nav-links li {
            margin-left: 35px; /* More spacing between links */
        }

        .nav-links a {
            text-decoration: none;
            color: var(--text-color);
            font-weight: 600;
            transition: color 0.3s, transform 0.2s;
            font-size: 1.05rem; /* Slightly larger font */
            position: relative;
        }

        .nav-links a:hover {
            color: var(--primary-color);
            transform: translateY(-3px); /* More pronounced hover effect */
        }
        .nav-links a::after {
            content: '';
            position: absolute;
            width: 0;
            height: 3px; /* Thicker underline */
            bottom: -7px; /* Lowered underline */
            left: 0;
            background-color: var(--primary-color);
            transition: width 0.3s ease-out;
        }
        .nav-links a:hover::after {
            width: 100%;
        }

        /* Mobile Menu Toggle */
        .menu-toggle {
            display: none;
            font-size: 2rem; /* Larger icon */
            color: var(--text-color);
            cursor: pointer;
            z-index: 1001;
        }

        /* Theme Switcher */
        .theme-switcher {
            display: flex;
            align-items: center;
            margin-left: 35px;
        }
        .theme-switch {
            display: inline-block;
            height: 30px; /* Slightly larger switch */
            position: relative;
            width: 60px;
        }
        .theme-switch input { display:none; }
        .slider {
            background-color: var(--secondary-color);
            bottom: 0; cursor: pointer; left: 0; position: absolute; right: 0; top: 0;
            transition: .4s; border-radius: 30px;
        }
        .slider:before {
            background-color: #fff;
            bottom: 5px; content: ""; height: 20px; left: 5px; position: absolute;
            transition: .4s; width: 20px; border-radius: 50%;
        }
        input:checked + .slider { background-color: var(--primary-color); }
        input:checked + .slider:before { transform: translateX(30px); }

        /* Header */
        header {
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            min-height: 100vh;
            padding-top: 120px; /* More padding for header content */
            position: relative;
            overflow: hidden;
        }
        
        .hero-content {
            position: relative;
            z-index: 1;
            padding: 30px; /* More padding */
            background: var(--card-bg-color);
            border-radius: 25px; /* More rounded corners */
            backdrop-filter: blur(15px) saturate(180%); /* More blur and saturation */
            -webkit-backdrop-filter: blur(15px) saturate(180%);
            box-shadow: 0 20px 50px var(--shadow-color); /* More pronounced shadow */
            animation: fadeInScale 1.2s ease-out forwards; /* Slower, smoother animation */
        }

        @keyframes fadeInScale {
            from { opacity: 0; transform: scale(0.85); }
            to { opacity: 1; transform: scale(1); }
        }

        .hero-content .name {
            font-size: 5.5rem; /* Larger name */
            line-height: 1.05;
            background: linear-gradient(45deg, var(--primary-color), var(--text-color));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            animation: textGradient 6s ease-in-out infinite alternate; /* Slower gradient animation */
        }
        @keyframes textGradient {
            0% { background-position: 0% 50%; }
            100% { background-position: 100% 50%; }
        }
        
        .hero-content .skills-text {
            font-size: 1.8rem; /* Larger skills text */
            color: var(--secondary-color);
            margin-top: 2rem; /* More space */
            font-weight: 500;
            text-shadow: 0 0 8px rgba(0,0,0,0.15); /* More subtle text shadow */
        }

        .hero-content img.profile-img {
            width: 220px; /* Larger profile image */
            height: 220px;
            border-radius: 50%;
            object-fit: cover;
            margin-bottom: 3rem; /* More space below image */
            border: 8px solid var(--primary-color); /* Thicker border */
            box-shadow: 0 0 30px var(--shadow-color), 0 0 60px var(--primary-color); /* More pronounced glow */
            transition: transform 0.4s ease-out;
        }
        .hero-content img.profile-img:hover {
            transform: scale(1.08) rotate(3deg); /* More pronounced hover effect */
        }

        /* Portfolio */
        .portfolio-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); /* Larger min-width for items */
            gap: 3.5rem; /* More gap */
        }
        .portfolio-item {
            background: var(--card-bg-color);
            border: 1px solid var(--border-color);
            border-radius: 20px; /* More rounded corners */
            overflow: hidden;
            box-shadow: 0 12px 35px var(--shadow-color); /* More pronounced shadow */
            transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s ease-in-out;
            text-decoration: none;
            color: var(--text-color);
            backdrop-filter: blur(18px) saturate(190%); /* More blur and saturation */
            -webkit-backdrop-filter: blur(18px) saturate(190%);
            cursor: pointer;
            position: relative;
        }
        .portfolio-item:hover {
            transform: translateY(-20px) scale(1.04); /* More pronounced hover effect */
            box-shadow: 0 25px 60px var(--shadow-color);
        }
        .portfolio-item img {
            width: 100%;
            display: block;
            aspect-ratio: 16 / 9; /* Slightly wider aspect ratio */
            object-fit: cover;
            transition: transform 0.5s ease-in-out;
        }
        .portfolio-item:hover img {
            transform: scale(1.08);
        }
        .portfolio-caption {
            padding: 2.5rem; /* More padding */
        }
        .portfolio-caption h4 {
            margin-bottom: 1rem; /* More space */
            font-size: 2rem; /* Larger font */
            transition: color 0.3s;
        }
        .portfolio-item:hover .portfolio-caption h4 {
            color: var(--secondary-color);
        }
        .portfolio-caption p {
            font-size: 1.2rem; /* Larger font */
            color: var(--secondary-color);
        }

        /* Skills */
        .skills-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); /* Larger min-width */
            gap: 2.5rem 4rem; /* More gap */
        }
        .skill p {
            margin-bottom: 12px; /* More space */
            font-weight: 700;
            font-size: 1.2rem; /* Larger font */
            color: var(--text-color);
        }
        .progress {
            height: 12px; /* Thicker progress bar */
            background-color: var(--border-color);
            border-radius: 6px;
            overflow: hidden;
            box-shadow: inset 0 2px 4px rgba(0,0,0,0.15); /* More pronounced shadow */
        }
        .progress-bar {
            height: 100%;
            background-color: var(--primary-color);
            border-radius: 6px;
            transition: width 1.2s ease-out; /* Slower animation */
            box-shadow: 0 0 15px var(--primary-color); /* More pronounced glow */
        }

        /* Experience */
        .experience-item {
            background: var(--card-bg-color);
            padding: 3.5rem; /* More padding */
            border-radius: 20px; /* More rounded corners */
            box-shadow: 0 12px 35px var(--shadow-color); /* More pronounced shadow */
            border: 1px solid var(--border-color);
            backdrop-filter: blur(18px) saturate(190%); -webkit-backdrop-filter: blur(18px) saturate(190%);
        }
        .experience-item h3 { font-size: 2.5rem; margin-bottom: 0.8rem; }
        .experience-item h4 { color: var(--text-color); font-weight: 700; margin-bottom: 0.8rem; }
        .experience-item h5 { color: var(--secondary-color); margin-bottom: 2.5rem; font-weight: 500; font-size: 1.2rem; }
        .experience-item p { margin-bottom: 1.2rem; font-size: 1.2rem; }
        .experience-item ul { list-style-position: inside; padding-left: 2rem; margin-bottom: 1.2rem; }
        .experience-item ul li { margin-bottom: 0.7rem; }

        /* About & Contact */
        .text-container {
            max-width: 850px; /* Wider text container */
            margin: auto; 
            text-align: center;
            font-size: 1.3rem; /* Larger font */
            line-height: 1.9; /* More line height */
            color: var(--secondary-color);
        }

        /* Footer */
        footer {
            text-align: center;
            padding: 6rem 0; /* More padding */
            background: transparent;
        }
        .social-links a {
            color: var(--secondary-color);
            font-size: 2.5rem; /* Larger icons */
            margin: 0 25px; /* More spacing */
            transition: color 0.3s, transform 0.3s;
            display: inline-block;
        }
        .social-links a:hover {
            color: var(--primary-color);
            transform: translateY(-10px) scale(1.15); /* More pronounced hover */
        }
        .footer-below {
            margin-top: 2.5rem; /* More space */
            font-size: 1.1rem; /* Larger font */
            color: var(--secondary-color);
        }

        /* Animation */
        .scroll-animate {
            opacity: 0;
            transform: translateY(100px); /* More pronounced slide-up */
            transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* Slower, smoother animation */
        }
        .scroll-animate.in-view {
            opacity: 1;
            transform: translateY(0);
        }

        /* Modal Styles */
        .modal {
            display: none; /* Hidden by default */
            position: fixed; /* Stay in place */
            z-index: 1001; /* Sit on top */
            left: 0;
            top: 0;
            width: 100%; /* Full width */
            height: 100%; /* Full height */
            overflow: auto; /* Enable scroll if needed */
            background-color: rgba(0,0,0,0.9); /* Even darker overlay */
            backdrop-filter: blur(12px); /* More blur */
            -webkit-backdrop-filter: blur(12px);
            padding-top: 80px; /* More padding */
            animation: modalFadeIn 0.5s ease-out;
        }

        @keyframes modalFadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        .modal-content {
            background-color: var(--modal-bg);
            margin: 4% auto; /* Slightly higher */
            padding: 60px; /* More padding */
            border: 1px solid var(--border-color);
            width: 90%; 
            max-width: 1100px; /* Wider modal */
            border-radius: 25px; /* More rounded corners */
            position: relative;
            box-shadow: 0 20px 50px var(--shadow-color); /* More pronounced shadow */
            animation: modalSlideIn 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* Slower, smoother animation */
        }

        @keyframes modalSlideIn {
            from { transform: translateY(-80px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

        .close-button {
            color: var(--modal-close-color);
            font-size: 45px; /* Larger close button */
            font-weight: bold;
            position: absolute;
            top: 25px; /* More space */
            right: 35px; /* More space */
            cursor: pointer;
            transition: color 0.3s, transform 0.3s;
        }

        .close-button:hover,
        .close-button:focus {
            color: var(--primary-color);
            transform: rotate(180deg) scale(1.1); /* More dynamic rotation */
        }

        .modal-body h3 {
            color: var(--primary-color);
            margin-top: 2.5rem; /* More space */
            margin-bottom: 1.2rem; /* More space */
            font-size: 2.2rem; /* Larger font */
        }

        .modal-body p, .modal-body ul {
            color: var(--text-color);
            margin-bottom: 1.5rem; /* More space */
            font-size: 1.2rem; /* Larger font */
            line-height: 1.9; /* More line height */
        }

        .modal-body ul {
            list-style-type: disc;
            padding-left: 30px; /* More padding */
        }

        .modal-body ul li {
            margin-bottom: 0.8rem; /* More space */
        }

        .modal-body img {
            max-width: 100%;
            height: auto;
            border-radius: 15px; /* More rounded corners */
            margin-bottom: 2.5rem; /* More space */
            box-shadow: 0 10px 25px var(--shadow-color); /* More pronounced shadow */
        }

        /* Responsive */
        @media (max-width: 992px) {
            .nav-links {
                display: none;
                flex-direction: column;
                width: 100%;
                background-color: var(--nav-bg-color);
                position: absolute;
                top: 100%;
                left: 0;
                padding: 1.5rem 0; /* More padding */
                border-top: 1px solid var(--border-color);
                box-shadow: 0 8px 20px var(--shadow-color);
            }
            .nav-links.active {
                display: flex;
            }
            .menu-toggle {
                display: block;
            }
            .navbar .container {
                padding: 0 25px;
            }
            .hero-content .name {
                font-size: 4.5rem;
            }
            h2 {
                font-size: 3.5rem;
            }
        }

        @media (max-width: 768px) {
            h2 {
                font-size: 3rem;
            }
            .hero-content .name {
                font-size: 3.8rem;
            }
            .hero-content .skills-text {
                font-size: 1.4rem;
            }
            .portfolio-grid {
                grid-template-columns: 1fr;
            }
            .skills-grid {
                grid-template-columns: 1fr;
            }
            .experience-item {
                padding: 2.5rem;
            }
            .modal-content {
                width: 95%;
                padding: 40px;
                margin: 25px auto;
            }
            .close-button {
                font-size: 40px;
                top: 20px;
                right: 25px;
            }
            .modal-body h3 {
                font-size: 1.8rem;
            }
            .modal-body p, .modal-body ul {
                font-size: 1.1rem;
            }
        }

        @media (max-width: 480px) {
            .hero-content .name {
                font-size: 3rem;
            }
            .hero-content .skills-text {
                font-size: 1.2rem;
            }
            h2 {
                font-size: 2.5rem;
            }
            .navbar-brand {
                font-size: 1.8rem;
            }
            .portfolio-caption h4 {
                font-size: 1.8rem;
            }
            .portfolio-caption p {
                font-size: 1rem;
            }
            .experience-item h3 {
                font-size: 2rem;
            }
            .experience-item h4, .experience-item h5 {
                font-size: 1.1rem;
            }
            .experience-item p, .experience-item ul {
                font-size: 1rem;
            }
            .social-links a {
                font-size: 2rem;
                margin: 0 15px;
            }
            .footer-below {
                font-size: 0.9rem;
            }
        }
    </style>