/* Background */
body {
    background: radial-gradient(
      100% 100% at 50% 50%,
      #144639 0%,
      #113b31 55%,
      #0b2a23 100%
    );
    position: relative;
    min-height: 100vh;
    background-size: cover;
    background-position: center;
  }
  
  /* Section spacing */
  .graphics-section {
    padding: 52px 0;
  }
  
  /* Optional: keep grid nicely centered and not too wide */
  .graphics-section .container {
    max-width: 1080px;
    margin-inline: auto;
  }
  
  .section-title {
    color: #e6e9ef;
    letter-spacing: 1px;
    text-align: center;
    margin-bottom: 28px;
  }
  
  /* Glass container */
  .glass-wrap {
    position: relative;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(14px) saturate(120%);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 10px 30px rgba(2, 6, 23, 0.45);
    padding: 28px;
  }
  
  /* Card */
  .graphic-card {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    transition: transform 0.35s ease, box-shadow 0.35s ease,
      border-color 0.35s ease;
    cursor: pointer;
  }
  
  .graphic-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(2, 6, 23, 0.55);
    border-color: rgba(255, 255, 255, 0.22);
  }
  
  .thumb {
    aspect-ratio: 360 / 509; /* Custom Portrait Ratio - 1080x1527 */
    width: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(105%) contrast(104%);
    transition: transform 0.5s ease;
  }
  
  .graphic-card:hover .thumb {
    transform: scale(1.04);
  }
  
  .graphic-meta {
    padding: 12px 14px 14px;
  }
  
  .graphic-title {
    margin: 0;
    color: #e6e9ef;
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
    font-weight: 600;
    letter-spacing: 2px;
  }
  
  /* Small tweaks */
  @media (max-width: 575.98px) {
    .glass-wrap {
      padding: 18px;
    }
  }
  