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

 body {
     font-family: 'Georgia', serif;
     background-color: #f5f5f0;
     color: #2c2c2c;
     line-height: 1.7;
 }

 .newspaper {
     max-width: 1200px;
     margin: 40px auto;
     background: white;
     box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
     padding: 50px;
 }

 .header {
     text-align: center;
     border-bottom: 3px solid #2c2c2c;
     padding-bottom: 20px;
     margin-bottom: 30px;
 }

 .header h1 {
     font-size: 2.5em;
     font-weight: bold;
     letter-spacing: 1px;
     margin-bottom: 10px;
 }

 .header .subtitle {
     font-size: 1.1em;
     color: #666;
     font-style: italic;
 }

 .meta-info {
     text-align: center;
     font-size: 0.9em;
     color: #888;
     margin-bottom: 30px;
     padding-bottom: 20px;
     border-bottom: 1px solid #ddd;
 }

 .featured-image {
     width: 100%;
     height: auto;
     margin-bottom: 30px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     font-size: 1.2em;
     text-align: center;
     padding: 20px;

     img {
         max-width: 100%;
         height: auto;
     }
 }

 .columns {
     column-count: 2;
     column-gap: 40px;
     column-rule: 1px solid #ddd;
     text-align: justify;
 }

 .columns h2 {
     font-size: 1.6em;
     margin-top: 25px;
     margin-bottom: 15px;
     column-span: none;
     border-left: 4px solid #667eea;
     padding-left: 15px;
 }

 .columns h3 {
     font-size: 1.2em;
     margin-top: 20px;
     margin-bottom: 10px;
     color: #444;
 }

 .columns p {
     margin-bottom: 15px;
 }

 .inline-image {
     width: 100%;
     height: 250px;
     background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
     margin: 20px 0;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     font-size: 0.95em;
     text-align: center;
     padding: 15px;
     break-inside: avoid;
 }

 .inline-image-2 img,
 .inline-image-3 img {
     width: 100%;
     height: auto;
 }

 .highlight-box {
     background: #f9f9f9;
     border-left: 4px solid #667eea;
     padding: 20px;
     margin: 20px 0;
     break-inside: avoid;
 }

 .highlight-box h4 {
     font-size: 1.1em;
     margin-bottom: 10px;
     color: #667eea;
 }

 strong {
     font-weight: bold;
     color: #2c2c2c;
 }

 .keywords {
     background: #f0f0f0;
     padding: 15px;
     margin-top: 30px;
     font-size: 0.9em;
     column-span: all;
 }

 .keywords strong {
     color: #667eea;
 }

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

     .columns {
         column-count: 1;
     }

     .header h1 {
         font-size: 1.8em;
     }
 }

 .icon-retour {
     width: 25px;
     height: 25px;
 }