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

 body {
   font-family: 'Arial', sans-serif;
   background: #f5f5f5;
   padding: 20px;
   line-height: 1.4;
 }

 @media (max-width: 768px) {
   body {
     padding: 10px;
   }
 }

 .resume-container {
   max-width: 900px;
   margin: 0 auto;
   background: white;
   display: grid;
   grid-template-columns: 1fr 300px;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
   gap: 0;
 }

 @media (max-width: 768px) {
   .resume-container {
     grid-template-columns: 1fr;
     margin: 10px;
   }
 }

 .left-column {
   padding: 40px 35px;
   background: white;
 }

 @media (max-width: 768px) {
   .left-column {
     padding: 25px 20px;
   }
 }

 .right-column {
   background: #f8f9fa;
   padding: 40px 25px;
   border-left: 1px solid #e0e0e0;
 }

 @media (max-width: 768px) {
   .right-column {
     padding: 25px 20px;
     border-left: none;
     border-top: 1px solid #e0e0e0;
   }
 }

 .header {
   text-align: center;
   margin-bottom: 35px;
   grid-column: 1 / -1;
   padding: 40px 35px 20px;
   background: white;
   border-bottom: 2px solid #333;
 }

 @media (max-width: 768px) {
   .header {
     padding: 25px 20px 15px;
     margin-bottom: 25px;
   }
 }

 .name {
   font-size: 36px;
   font-weight: bold;
   letter-spacing: 4px;
   color: #333;
   margin-bottom: 10px;
   text-transform: uppercase;
 }

 @media (max-width: 768px) {
   .name {
     font-size: 28px;
     letter-spacing: 2px;
   }
 }

 @media (max-width: 480px) {
   .name {
     font-size: 24px;
     letter-spacing: 1px;
   }
 }

 .section-title {
   font-size: 14px;
   font-weight: bold;
   color: #333;
   margin-bottom: 15px;
   text-transform: uppercase;
   border-bottom: 1px solid #ddd;
   padding-bottom: 5px;
 }

 @media (max-width: 768px) {
   .section-title {
     font-size: 16px;
     margin-bottom: 12px;
   }
 }

 .summary {
   margin-bottom: 30px;
   font-size: 12px;
   line-height: 1.6;
   color: #555;
 }

 @media (max-width: 768px) {
   .summary {
     font-size: 14px;
     margin-bottom: 25px;
   }
 }

 .job {
   margin-bottom: 25px;
 }

 .job-title {
   font-weight: bold;
   font-size: 13px;
   color: #333;
   margin-bottom: 5px;
 }

 @media (max-width: 768px) {
   .job-title {
     font-size: 15px;
   }
 }

 .job-details {
   font-size: 11px;
   color: #666;
   margin-bottom: 8px;
   font-style: italic;
 }

 @media (max-width: 768px) {
   .job-details {
     font-size: 13px;
   }
 }

 .job-description {
   font-size: 11px;
   line-height: 1.5;
   color: #555;
 }

 @media (max-width: 768px) {
   .job-description {
     font-size: 13px;
     line-height: 1.6;
   }
 }

 .job-description ul {
   margin-left: 18px;
   margin-top: 8px;
 }

 .job-description li {
   margin-bottom: 4px;
 }

 .contact-info {
   background: #f0f0f0;
   padding: 15px;
   border-radius: 5px;
   margin-bottom: 25px;
   border: 1px solid #ddd;
 }

 .contact-item {
   font-size: 11px;
   color: #333;
   margin-bottom: 8px;
   display: flex;
   align-items: center;
 }

 @media (max-width: 480px) {
   .contact-item {
     font-size: 10px;
     flex-direction: column;
     align-items: flex-start;
     text-align: left;
   }
 }

 .contact-item:last-child {
   margin-bottom: 0;
 }

 .skill-item {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 6px;
   font-size: 10px;
   padding: 3px 0;
   border-bottom: 1px dotted #eee;
 }

 @media (max-width: 480px) {
   .skill-item {
     flex-direction: column;
     align-items: flex-start;
     margin-bottom: 8px;
   }
 }

 .skill-item:last-child {
   border-bottom: none;
 }

 .skill-name {
   color: #333;
   font-weight: 500;
 }

 .skill-years {
   color: #666;
   font-size: 9px;
   background: #e9e9e9;
   padding: 2px 6px;
   border-radius: 3px;
 }

 @media (max-width: 480px) {
   .skill-years {
     margin-top: 2px;
     align-self: flex-start;
   }
 }

 .languages-section {
   margin-bottom: 25px;
 }

 .language-item {
   display: flex;
   justify-content: space-between;
   margin-bottom: 8px;
   font-size: 11px;
   padding: 5px 0;
 }

 .language-name {
   color: #333;
   font-weight: 500;
 }

 .language-level {
   color: #666;
   font-size: 10px;
 }

 .links-section {
   margin-bottom: 25px;
 }

 .links-section a {
   color: #0066cc;
   text-decoration: none;
   font-size: 9px;
   display: block;
   margin-bottom: 4px;
   word-break: break-all;
   padding: 2px 0;
 }

 .links-section a:hover {
   text-decoration: underline;
 }

 .education-item {
   margin-bottom: 15px;
   font-size: 11px;
   padding: 10px;
   background: #f9f9f9;
   border-left: 3px solid #333;
 }

 .education-title {
   font-weight: bold;
   color: #333;
   margin-bottom: 3px;
 }

 .education-details {
   color: #666;
   font-size: 10px;
 }

 .projects-text {
   font-size: 10px;
   line-height: 1.5;
   color: #555;
   text-align: justify;
 }

 .military-service,
 .personal-info,
 .activities {
   margin-bottom: 25px;
 }

 .military-service p,
 .personal-info p,
 .activities p {
   font-size: 11px;
   color: #555;
   line-height: 1.5;
 }

 .certifications {
   margin-bottom: 25px;
 }

 .cert-item {
   font-size: 11px;
   color: #555;
   margin-bottom: 5px;
   padding-left: 15px;
   position: relative;
 }

 .cert-item:before {
   content: "•";
   position: absolute;
   left: 0;
   color: #333;
 }

 .print-button {
   position: fixed;
   top: 20px;
   right: 20px;
   background: #333;
   color: white;
   border: none;
   padding: 12px 20px;
   border-radius: 5px;
   cursor: pointer;
   font-size: 14px;
   font-weight: bold;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
   z-index: 1000;
   transition: all 0.3s ease;
 }

 .print-button:hover {
   background: #555;
   transform: translateY(-2px);
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
 }

 @media (max-width: 768px) {
   .print-button {
     top: 10px;
     right: 10px;
     padding: 10px 15px;
     font-size: 12px;
   }
 }

 /* CSS para impressão */
 @media print {
   body {
     background: white;
     padding: 0;
   }

   .resume-container {
     box-shadow: none;
     margin: 0;
     max-width: 100%;
     grid-template-columns: 1fr 280px;
   }

   .print-button {
     display: none;
   }

   .right-column {
     border-left: 1px solid #ddd;
   }

   .section-title {
     color: #000;
   }

   .name {
     color: #000;
   }

   .contact-info {
     background: #f5f5f5;
   }

   .education-item {
     background: #f5f5f5;
   }

   .skill-years {
     background: #e5e5e5;
   }
 }

 a {
   color: #032f5b;
   text-decoration: none;
   font-weight: bold;
 }