:root {
            --bg-main-light: #ffffff; /* Changed to pure white for cleaner PDF */
            --bg-dark-green: #1e3a30;
            --bg-accent-lozenge: #afbca9;
            --bg-about-me-content: #f0f2eb; /* Lighter for less visual weight */
            --text-dark-primary: #2f3e35;
            --text-dark-secondary: #333333;
            --text-light: #ffffff;
            --photo-border-color: #ffffff;
            --link-hover-color: #7a9d60;
        }

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

        body {
            font-family: 'Lato', sans-serif;
            margin: 0;
            padding: 15px; /* Reduced padding */
            background-color: #e9ecef;
            color: var(--text-dark-secondary);
            line-height: 1.45; /* Reduced line height */
            font-size: 15px; /* Base font size for PDF scaling */
        }

        .resume-wrapper {
            max-width: 850px; /* Slightly reduced max-width for better fit */
            margin: 15px auto;
            background-color: var(--bg-main-light);
            box-shadow: 0 5px 15px rgba(0,0,0,0.1); /* Reduced shadow */
            border-radius: 6px;
            overflow: hidden;
        }

        .resume-container {
            display: flex;
            position: relative;
        }

        .left-column {
            width: 38%; /* Adjusted for content balance */
            background-color: var(--bg-main-light);
            padding: 25px 20px; /* Reduced padding */
            padding-top: 100px; /* For smaller photo */
        }

        .right-column {
            width: 62%; /* Adjusted */
            background-color: var(--bg-dark-green); /* Solid color for simpler PDF render */
            padding: 25px 20px; /* Reduced padding */
            color: var(--text-light);
            position: relative;
        }

        /* Header Info */
        .header-name h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.9em; /* Reduced */
            font-weight: 800;
            color: var(--text-dark-primary);
            margin: 0 0 3px 0;
            line-height: 1.1;
        }

        .job-title {
            font-family: 'Montserrat', sans-serif;
            font-size: 1em; /* Reduced */
            color: var(--text-dark-secondary);
            margin-bottom: 15px; /* Reduced */
            font-weight: 500;
            line-height: 1.2;
            /* border-left: 2px solid var(--bg-accent-lozenge); */ /* Removed border for space */
            /* padding-left: 8px; */
        }

        /* Section Lozenge Titles */
        .section-title-lozenge {
            display: inline-block;
            background-color: var(--bg-accent-lozenge);
            color: var(--text-dark-primary);
            padding: 5px 15px; /* Reduced */
            border-radius: 15px;
            font-weight: 700;
            font-size: 0.8em; /* Reduced */
            text-transform: uppercase;
            letter-spacing: 0.3px;
            margin-bottom: 10px; /* Reduced */
            /* box-shadow: 0 1px 2px rgba(0,0,0,0.05); Removed shadow */
        }
        /* No hover for PDF */

        /* About Me */
        .about-me-content {
            background-color: var(--bg-about-me-content);
            color: var(--text-dark-primary);
            padding: 10px; /* Reduced */
            border-radius: 6px;
            font-size: 0.82em; /* Reduced */
            margin-bottom: 15px; /* Reduced */
            /* box-shadow: none; */
        }
        .about-me-content ul { /* If using bullets, make them very short */
            list-style-type: '• ';
            padding-left: 15px;
            margin-top: 5px;
        }
        .about-me-content li {
            margin-bottom: 3px;
            padding-left: 4px;
        }

        /* Skills */
        .skills-section { margin-bottom: 15px; }
        .skill-item {
            margin-bottom: 5px; /* Reduced */
            font-size: 0.82em; /* Reduced */
        }
        .skill-item .skill-name {
            font-weight: 700;
            color: var(--text-dark-primary);
            display: inline; /* Make skill name and description inline for space */
            margin-right: 5px;
        }
        .skill-item .skill-description {
            font-size: 0.95em; /* Relative to parent */
            color: var(--text-dark-secondary);
            display: inline;
            /* border-left: none; Removed */
            /* padding-left: 0; */
        }
        /* Alternative: Simple list of skills */
        .skills-list {
            list-style: none;
            padding: 0;
            margin: 0;
            font-size: 0.82em;
        }
        .skills-list li {
            display: inline-block;
            background-color: var(--bg-about-me-content);
            color: var(--text-dark-primary);
            padding: 3px 8px;
            border-radius: 4px;
            margin-right: 5px;
            margin-bottom: 5px;
            font-weight: 500;
        }


        /* Education */
        .education-section { margin-bottom: 15px; }
        .education-item {
            /* border-left: 2px solid var(--bg-accent-lozenge); */ /* Removed */
            /* padding-left: 10px; */
            margin-bottom: 8px;
        }
        .education-item h3 {
            font-size: 0.9em; /* Reduced */
            font-weight: 700;
            color: var(--text-dark-primary);
            margin: 0;
        }
        .education-item p {
            font-size: 0.82em; /* Reduced */
            margin: 0;
            color: var(--text-dark-secondary);
        }
        .education-item .date {
            font-size: 0.75em; /* Reduced */
            color: #555;
        }
        .education-item .comment { display: none; } /* Remove comment for space */
        
        /* Contact Info */
        .contact-info-section ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .contact-info-section li {
            display: flex;
            align-items: center;
            margin-bottom: 6px; /* Reduced */
            font-size: 0.8em; /* Reduced */
        }
        .contact-info-section li i {
            color: var(--text-dark-primary);
            /* background-color: var(--bg-accent-lozenge); No bg for icon for simplicity */
            border-radius: 50%;
            width: 20px; /* Reduced */
            height: 20px; /* Reduced */
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-right: 6px; /* Reduced */
            font-size: 0.9em; /* Reduced icon size itself */
            flex-shrink: 0;
        }
        .contact-info-section li a {
            color: var(--text-dark-secondary);
            text-decoration: none;
            font-weight: 400; /* Normal weight */
        }
        .contact-info-section li a:hover {
            text-decoration: underline;
            color: var(--link-hover-color);
        }

        /* Photo */
        .profile-photo-container {
            position: absolute;
            top: 25px; /* Adjusted for new padding */
            left: 0;
            transform: translateX(calc(-50% + 10px)); /* Adjust overlap */
            z-index: 10;
        }
        .profile-photo {
            width: 100px; /* Significantly reduced */
            height: 100px; /* Significantly reduced */
            border-radius: 50%;
            border: 4px solid var(--photo-border-color); /* Reduced border */
            object-fit: cover;
            display: block;
            box-shadow: 0 2px 8px rgba(0,0,0,0.2); /* Reduced shadow */
        }

        /* Professional Experience (Right Column) */
        .professional-experience-section {
            margin-top: 100px; /* Adjusted for smaller photo */
        }
        .experience-entry {
            margin-bottom: 15px; /* Reduced */
            padding-bottom: 10px; /* Reduced */
            /* border-bottom: 1px solid rgba(255, 255, 255, 0.05); Lighter/thinner separator */
            border-bottom: none; /* Remove for space, or make very subtle */
        }
        .experience-entry:last-child {
            border-bottom: none;
            margin-bottom: 0;
        }

        .experience-entry h3 { 
            font-family: 'Montserrat', sans-serif;
            font-size: 1em; /* Reduced */
            font-weight: 700;
            margin: 0 0 1px 0; /* Reduced */
            color: var(--text-light);
        }
         .experience-entry .company-date { 
            font-size: 0.85em; /* Reduced */
            font-weight: 500;
            margin-bottom: 1px;
            color: #e0e0e0;
        }
        .experience-entry .date-range { 
            font-size: 0.78em; /* Reduced */
            margin-bottom: 5px; /* Reduced */
            color: #bdbdbd;
            font-style: italic;
        }
        .experience-entry .company-desc {
            font-size: 0.8em; /* Reduced */
            font-style: italic;
            margin-bottom: 5px;
            color: #cccccc;
            line-height: 1.3; /* Reduced */
            display: none; /* HIDE COMPANY DESC FOR SPACE, or make it very short */
        }
        .experience-entry ul {
            list-style: none;
            padding-left: 0;
            margin: 0 0 5px 0;
        }
        .experience-entry li {
            font-size: 0.82em; /* Reduced */
            margin-bottom: 4px; /* Reduced */
            padding-left: 12px; /* Reduced for smaller bullet */
            position: relative;
            line-height: 1.3; /* Reduced */
        }
        .experience-entry li::before {
            content: "•"; /* Simpler bullet */
            color: var(--bg-accent-lozenge);
            /* font-weight: bold; */ /* Removed */
            position: absolute;
            left: 0;
            top: 0; /* Adjust if needed */
            font-size: 1em; /* Smaller bullet */
        }
        .experience-entry .tools {
            font-size: 0.75em; /* Reduced */
            color: #e0e0e0;
            background-color: rgba(255, 255, 255, 0.07);
            padding: 2px 6px; /* Reduced */
            border-radius: 3px;
            display: inline-block;
            margin-top: 4px; /* Reduced */
        }
        .experience-entry .tools b {
            color: var(--bg-accent-lozenge);
            font-weight: 700;
        }
        
        /* Download Button */
        .download-button-container {
            text-align: center;
            padding: 15px 20px; /* Reduced padding */
            background-color: #e9ecef;
        }
        #download-pdf {
            background-color: var(--text-dark-primary); 
            color: white;
            border: none;
            padding: 10px 20px; /* Reduced */
            font-size: 0.9em; /* Reduced */
            font-weight: 500;
            border-radius: 20px;
            cursor: pointer;
            /* transition: none; Remove transitions for print context */
        }
        #download-pdf:hover { /* Hover not relevant for PDF */
            background-color: var(--link-hover-color);
        }
        #download-pdf i {
            margin-right: 5px;
        }

        /* NO RESPONSIVE STYLES NEEDED IF AIMING FOR FIXED ONE-PAGE PDF */
        /* However, keeping them for browser view is fine */
        @media (max-width: 800px) {
            /* ... keep your existing responsive styles if you want the HTML page to still be responsive ... */
            /* For one-page PDF goal, these are less critical for the PDF output itself if you fix dimensions */
            .resume-container { flex-direction: column; }
            .left-column, .right-column { width: 100%; padding-top: 20px; }
            .left-column { padding-top: 20px; } /* Override initial padding-top */
            .profile-photo-container { position: relative; top: auto; left: 50%; transform: translateX(-50%); margin: 10px auto 15px; }
            .professional-experience-section { margin-top: 10px; }
            .header-name h1 { text-align: center; }
            .job-title { text-align: center; }
        }
        @media (max-width: 500px) {
             /* ... smaller screen adjustments ... */
        }


        @media print {
            body {
                padding: 0 !important;
                margin: 0 !important;
                background-color: var(--bg-main-light) !important; /* Resume bg becomes page bg */
                font-size: 10pt !important; /* Typical print font size */
                -webkit-print-color-adjust: exact !important;
                color-adjust: exact !important;
            }
            .resume-wrapper {
                box-shadow: none !important;
                margin: 0 !important;
                max-width: 100% !important;
                border-radius: 0 !important;
                border: none !important; /* No border for the wrapper itself */
            }
            .download-button-container {
                display: none !important;
            }
            .profile-photo-container {
                page-break-inside: avoid;
            }
            .right-column {
                background-color: var(--bg-dark-green) !important;
                background-image: none !important;
            }
            .section-title-lozenge {
                background-color: var(--bg-accent-lozenge) !important;
                color: var(--text-dark-primary) !important;
                box-shadow: none !important;
                border: 1px solid var(--text-dark-primary); /* Add border for definition if bg is light */
            }
            .about-me-content {
                background-color: var(--bg-about-me-content) !important;
                color: var(--text-dark-primary) !important;
                box-shadow: none !important;
            }
            .contact-info-section li i {
                /* background-color: var(--bg-accent-lozenge) !important; */ /* No BG */
                color: var(--text-dark-primary) !important;
            }
            .experience-entry .tools {
                background-color: rgba(255, 255, 255, 0.1) !important; /* Darker for print contrast on dark bg */
                color: #f0f0f0 !important; /* Brighter text */
                border: 1px solid rgba(255,255,255,0.3);
            }
            .experience-entry .tools b { color: var(--bg-accent-lozenge) !important; }
            .right-column, .right-column h3, .right-column p, .right-column li,
            .experience-entry .company-date, .experience-entry .date-range, .experience-entry .company-desc {
                color: var(--text-light) !important;
            }
            .experience-entry li::before { color: var(--bg-accent-lozenge) !important; }
            /* Ensure links are printable */
            a { color: inherit !important; text-decoration: none !important; }
            a[href^="http"]:after, a[href^="mailto"]:after {
                /* content: " (" attr(href) ")"; Optionally show URLs, but can be messy */
                /* font-size: 0.8em; */
                /* display: none; for cleaner look */
            }
        }