* {
      font-family: "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
      text-rendering: optimizeLegibility;
      box-sizing: border-box; /* Ensures padding doesn't break grid sizing */
    }
    
    body {
      background-color: #f4f5f7; /* Soft background to make white cards pop */
      margin: 0;
    }
    
    h1, h3 {
      margin: 0;
    }
    h3{
      padding:1em;
    }
    
    header {
      padding: 1em !important;
      margin-bottom: 1em;
      background-color: #396d88;
      color: white;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Modernized header shadow */
    }
    
    header,
    section {
      padding: 0.7em;
    }
    
    header p {
      color: white;
      line-height: 1.5;
    }
    
    header a,
    footer a {
      color: #e4ffe1;
    }
    header a:hover {
      text-decoration: underline;
    }
    
    ul {
      margin: 0;
      padding-left: 1.5em;
    }
    
    main {
      display: grid;
      gap: 24px; /* Slightly increased gap for breathing room between cards */
      padding: 1.5em;
      max-width: 2000px;
      margin: 0 auto;
    }
    
    /* Large monitors: 5 columns */
    @media (min-width: 1900px) {
      main {
        grid-template-columns: repeat(5, 1fr);
      }
    }
    /* Large monitors: 4 columns */
    @media (min-width: 1600px) and (max-width: 1899px) {
      main {
        grid-template-columns: repeat(4, 1fr);
      }
    }
    /* Large monitors: 3 columns */
    @media (min-width: 1200px) and (max-width: 1599px) {
      main {
        grid-template-columns: repeat(3, 1fr);
      }
    }
    /* Medium screens: 2 columns */
    @media (min-width: 768px) and (max-width: 1199px) {
      main {
        grid-template-columns: repeat(2, 1fr);
      }
    }
    /* Small screens: 1 column */
    @media (max-width: 767px) {
      main {
        grid-template-columns: 1fr;
      }
    }
    
    /* --- Modernized Article Cards --- */
    article {
      background-color: #ffffff;
      border: none; /* Removed hard border */
      border-radius: 12px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      /* Soft elevated shadow */
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    
    article p{padding-left:1em; padding-right:1em;}
    /* Optional: Gentle lift effect on hover */
    article:hover {
      transform: translateY(-3px);
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08), 0 3px 10px rgba(0, 0, 0, 0.04);
    }
    
    article .header {
      display: flex;
      align-items: center;
    }
    
    article .header img,
    article .description img {
      height: 12em;
      float: left;
      padding-top: 0;
      margin-right: 1rem;
      margin-bottom: 0.5rem;
      object-fit: cover;
      border-radius: 8px; /* Rounded image corners */
      border: 1px solid #f3f4f6; /* Subtle image border */
    }
    
    article h3 {
      text-align: center;
      background-color: #fffff1;      margin-top: 0;
      border-bottom: 2px solid #f3f4f6; /* Clean separator line */
    }
    
    article .description {
      line-height: 1.6;
      color: #4b5563; /* Softer text color */
    }
    
    article a {
      color: #2563eb;
      border-bottom: 1px solid transparent;
      transition: border-color 0.2s ease;
    }
    
    article a:hover {
      border-bottom: 1px solid #2563eb;
    }
    
    /* Helper fix to ensure floats inside descriptions don't break layout */
    article .description::after {
      content: "";
      display: table;
      clear: both;
    }

    code {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  background-color: #f1f5f9; /* Subtle gray background */
  color: #db2777; /* Tasteful deep pink/magenta for readability */
  padding: 0.2em 0.4em;
  border-radius: 4px;
  font-size: 0.9em;
}
