* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            line-height: 1.6;
            color: #2c3e50;
            background: #f8f9fa;
            padding: 20px;
        }
        
        .resume {
            max-width: 850px;
            margin: 0 auto;
            background: white;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            border-radius: 8px;
            overflow: hidden;
        }
        
        .header {
            background: white;
            color: #2c3e50;
            padding: 40px; /* Adjusted padding */
            display: flex;
            justify-content: space-between; /* Key for left/right split */
            align-items: flex-start; /* Align top of left/right blocks */
            border-bottom: 1px solid #e9ecef;
            gap: 40px; /* Gap between left and right sections */
        }

        .header-content-left {
            flex: 2; /* Takes 2/3 of the space */
            display: flex;
            flex-direction: column;
        }

        .header-content-right {
            flex: 1; /* Takes 1/3 of the space */
            display: flex;
            flex-direction: column;
            align-items: center; /* Horizontally centers the image and the contact-info block */
            gap: 20px; /* Space between profile image and contact info block */
        }
        
        .profile-image {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            object-fit: cover;
            border: 3px solid #e9ecef;
        }
        
        .name-section {
            flex: 1; 
        }
        
        .name {
            font-size: 3rem;
            font-weight: 300;
            margin-bottom: 8px;
            letter-spacing: 4px;
            color: #2c3e50;
        }
        
        .title {
            font-size: 1.1rem;
            color: #6c757d;
            font-weight: 400;
            letter-spacing: 2px;
            text-transform: uppercase;
        }
        
        .contact-info {
            display: flex;
            flex-direction: column;
            gap: 12px;
            font-size: 0.95rem;
            align-items: flex-start; 
        }
        
        .contact-item {
            display: flex;
            align-items: center;
            gap: 12px;
            color: #4a5568;
        }
        
        .contact-icon {
            color: #2c3e50;
            font-size: 1.1rem;
            width: 1.1rem; 
            display: inline-block; 
        }
        
        .main-content {
            padding: 40px 40px 40px;
        }
        
        .section {
            margin-bottom: 50px;
        }
        
        .section-title {
            font-size: 1.2rem;
            color: #2c3e50;
            margin-bottom: 30px;
            padding-bottom: 0;
            border-bottom: none;
            font-weight: 600;
            letter-spacing: 3px;
            text-transform: uppercase;
            position: relative;
        }
        
        .summary-text {
            font-size: 0.95rem;
            line-height: 1.8;
            color: #4a5568;
            text-align: left;
        }
        
        .skills-section {
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
        }
        
        .skill-category {
            background: none;
            padding: 0 0 25px 0;
            border-radius: 0;
            border-left: none;
            border-bottom: 1px solid #f1f3f4;
        }
        
        .skill-category:last-child {
            border-bottom: none;
        }
        
        .skill-category-title {
            font-weight: 600;
            color: #2c3e50;
            margin-bottom: 15px;
            font-size: 1.05rem;
        }
        
        .skill-list {
            color: #4a5568;
            line-height: 1.7;
            font-size: 0.95rem;
        }
        
        .experience-item {
            margin-bottom: 40px;
            position: relative;
            padding-left: 0;
        }
        
        .experience-item::before {
            display: none;
        }
        
        .job-header {
            margin-bottom: 12px;
        }
        
        .job-title {
            font-weight: 600;
            font-size: 1.1rem;
            color: #2c3e50;
            margin-bottom: 6px;
        }
        
        .company-info {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 6px;
        }
        
        .company {
            color: #2c3e50;
            font-weight: 400;
            font-size: 1rem;
        }
        
        .date {
            background: none;
            padding: 0;
            border-radius: 0;
            font-size: 1rem;
            color: #2c3e50;
            font-weight: 400;
        }
        
        .location {
            color: #6c757d;
            font-size: 0.9rem;
            font-style: italic;
        }
        
        .job-description {
            color: #4a5568;
            margin-bottom: 18px;
            line-height: 1.7;
            font-size: 0.95rem;
        }
        
        .achievements {
            margin-top: 12px;
        }
        
        .achievement {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 12px;
            color: #4a5568;
            line-height: 1.6;
        }
        
        .achievement::before {
            content: '•';
            color: #2c3e50;
            font-weight: normal;
            flex-shrink: 0;
            margin-top: 0;
            font-size: 1.2rem;
        }
        
        .education-item {
            padding: 20px 0;
            border-bottom: 1px solid #f1f3f4;
        }
        
        .education-item:last-child {
            border-bottom: none;
        }
        
        .degree {
            font-weight: 600;
            color: #2c3e50;
            margin-bottom: 8px;
            font-size: 1.05rem;
        }
        
        .school {
            color: #4a5568;
            font-size: 0.95rem;
            margin-bottom: 4px;
        }
        
        .year {
            color: #4a5568;
            font-size: 0.95rem;
            float: none;
        }
        
        @media (max-width: 768px) {
            .resume {
                margin: 10px;
            }
            
            .header {
                padding: 30px 20px;
                flex-direction: column; 
                align-items: center; 
                gap: 30px;
            }

            .header-content-left,
            .header-content-right {
                flex-basis: auto; 
                width: 100%; 
                align-items: center; 
                text-align: center;
            }

            .name-section {
                text-align: center; 
            }
            
            .contact-info {
                align-items: center; 
            }
            
            .main-content {
                padding: 30px 20px;
            }
            
            .name {
                font-size: 2.2rem;
                letter-spacing: 2px;
            }
            
            .company-info {
                flex-direction: column;
                align-items: flex-start;
            }
        }
        
        @media print {
            html, body {
                background-color: #ffffff !important; 
                margin: 0; 
                padding: 0; 
                font-size: 10pt; 
                -webkit-print-color-adjust: exact; 
                color-adjust: exact; 
            }

            .resume {
                width: 170mm; /* Set a fixed width for the resume content on paper (adjust as needed) */
                               /* Common for A4/Letter, leaving ~20mm margins on each side of a 210mm wide paper */
                margin: 20mm auto; /* Top/bottom margin (adjust 20mm) and auto for left/right centering */
                padding: 0; /* Internal padding is handled by .header and .main-content */
                box-shadow: none !important; 
                border-radius: 0 !important; 
                border: none !important; 
                overflow: visible !important; 
            }
            
            /* Ensure .header and .main-content adapt to the .resume container's width */
            .header, .main-content {
                padding-left: 0; /* Adjust if original padding was from .resume */
                padding-right: 0; /* Adjust if original padding was from .resume */
                /* Top/bottom padding from screen styles will likely still apply and be fine */
            }
            
            /* Adjust font sizes for print readability within the 170mm width */
            .profile-image {
                width: 100px; 
                height: 100px;
                border-width: 2px;
            }

            .name {
                font-size: 22pt; 
                letter-spacing: 1.5px;
            }

            .title {
                font-size: 10pt;
                letter-spacing: 1px;
            }
            
            .section-title {
                font-size: 11pt;
                margin-bottom: 5mm; 
            }

            .summary-text,
            .skill-list,
            .job-description,
            .achievement,
            .school,
            .year,
            .degree, 
            .company, 
            .location, 
            .date {
                font-size: 9pt; 
                line-height: 1.4;
            }
            
            .contact-item span, .contact-item a {
                 font-size: 9pt !important;
            }

            .achievement::before {
                font-size: 1.2em; 
            }

            /* Page break control */
            .section {
                page-break-before: auto; 
                page-break-inside: avoid; 
            }

            .experience-item,
            .education-item,
            .skill-category {
                page-break-inside: avoid; 
            }
            
            /* Link appearance for print */
            a, a:visited {
                color: #000000 !important; 
                text-decoration: none !important; 
            }
        }