@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');

body {
            font-family: 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
            margin: 0;
            padding: 0;
            background-color: #1a1a1a;
            color: #f0f0f0;
            line-height: 1.6;
        }
        .container {
            width: 80%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }
        header {
            background-color: #2c2c2c;
            padding: 1em 0;
            text-align: center;
            border-bottom: 3px solid #007acc;
        }
        header h1 {
            margin: 0;
            font-size: 2.5em;
            color: #f0f0f0;
        }
        header p {
            margin: 5px 0 0;
            font-size: 1.2em;
            color: #cccccc;
        }
        nav {
            background-color: #333;
            padding: 0.5em 0;
            text-align: center;
        }

        a, a:visited {
            color: #00aaff; /* Light blue for general links */
            text-decoration: none;
        }
        a:hover, a:focus {
            text-decoration: underline;
            color: #2cbaff; /* Slightly brighter on hover */
        }

        nav a {
            color: #f0f0f0; /* Specific color for nav links, overrides general 'a' */
            margin: 0 15px;
            text-decoration: none;
            font-weight: bold;
            padding: 8px 15px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }
        nav a:hover {
            background-color: #007acc;
            color: #ffffff;
        }
        .section {
            padding: 40px 0;
            border-bottom: 1px solid #444;
        }
        .section:last-child {
            border-bottom: none;
        }
        .section h2 {
            text-align: center;
            font-size: 2em;
            margin-bottom: 40px; /* Changed */
            color: #00aaff;
            padding-bottom: 10px; /* Added */
            border-bottom: 1px solid #444; /* Added */
            display: inline-block; /* Added */
            position: relative; /* Added */
        }
        .project-card, .skill-category, .post-list li { /* Selector updated */
            background-color: #2c2c2c;
            padding: 25px; /* Changed */
            margin-bottom: 25px; /* Changed */
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0,0,0,0.3);
            border-top: 3px solid #007acc; /* Added */
        }
        .project-card h3, .skill-category h3, .post-list li h3 { /* Selector updated */
            margin-top: 0;
            color: #00aaff; /* This will be overridden by global 'a' if it's a link, but kept for non-links */
            font-size: 1.4em; /* Added */
            margin-bottom: 15px; /* Added */
        }
        .project-card ul {
            list-style-type: disc;
            padding-left: 20px;
        }
        .skills-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
        }
        /* .skill-category h3 inherits common styles from the group rule below. */
        /* Add specific styles for .skill-category h3 that are not in the group. */
        .skill-category h3 {
            border-bottom: 1px solid #444;
            padding-bottom: 10px;
            /* margin-bottom is handled by the group rule */
            /* color is handled by the group rule */
        }
        .skill-category ul {
            list-style-type: none;
            padding: 0;
        }

        /* Typography adjustments within cards */
        .project-card p,
        .project-card ul,
        .skill-category ul li, /* Included for font consistency */
        .post-list li p,
        .post-list li .post-meta { /* Consolidate for consistent text styling within cards */
            font-size: 1em; /* Ensure base font size */
            line-height: 1.7; /* Slightly more line height */
        }

        .skill-category ul li { /* Re-apply specific styles */
            background-color: #383838; /* Original background */
            margin-bottom: 8px; /* Original margin */
            padding: 8px 12px; /* Original padding */
            border-radius: 4px; /* Original border-radius */
            /* font-size and line-height will be inherited from the rule above */
        }

        footer {
            text-align: center;
            padding: 20px 0;
            background-color: #2c2c2c;
            color: #aaa;
            margin-top: 30px;
        }
        /* footer a is covered by global 'a' styling */
        /* .contact-links a styling is fine, or can be reviewed if specific icon styling is needed */
        .contact-links a {
            margin: 0 10px;
            display: inline-block; /* For better spacing of icons if you add them */
        }
         /* Simple responsive design */
        @media (max-width: 768px) {
            .container {
                width: 95%;
            }
            header h1 {
                font-size: 2em;
            }
            nav a {
                display: block;
                margin: 5px 0;
            }
            .skills-grid {
                grid-template-columns: 1fr;
            }
        }

   .button {
       display: inline-block;
       padding: 10px 20px;
       background-color: #007acc; /* Primary accent */
       color: #ffffff;
       text-decoration: none;
       border-radius: 5px;
       font-weight: bold;
       transition: background-color 0.3s ease, transform 0.2s ease;
       margin: 5px; /* Add some margin for spacing if buttons are adjacent */
   }
   .button:hover {
       background-color: #005fa3; /* Darker shade for hover */
       color: #ffffff;
       transform: translateY(-2px); /* Subtle lift effect */
   }

   /* Blog Post List Styling */
   /* .post-list specific ul styling */
   .post-list {
       list-style: none;
       padding-left: 0;
   }
   /* .post-list li is now styled by the common .project-card, .skill-category, .post-list li rule */
   /* .post-list h3 is now styled by the common .project-card h3, .skill-category h3, .post-list li h3 rule */
   /* .post-list h3 a styling is covered by global 'a' and the h3 rule color */
   /* .post-list .post-meta is now styled by the consolidated typography rule */
   /* color: #aaa; from original .post-meta is overridden by the new text rule, which is fine. */
   /* font-size: 0.9em; from original .post-meta is overridden by 1em, which is intended. */
   /* margin-bottom: 10px; from original .post-meta is not in the new rule, can be added if needed or let it be. */
