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

    html, body {
      height: 100%;
    }

    body {
      font-family: Helvetica, 'Helvetica Neue', Arial, sans-serif;
      background-color: #fbf6e3;
      color: #dd5228;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    main {
      display: flex;
      flex-direction: column;
      align-items: center;
      min-height: 100svh;
      padding: 2.5rem 1.5rem;
    }

    header {
      flex-shrink: 0;
    }

    .logo {
      height: 13.5rem;
      width: auto;
      display: block;
    }

    .cta-section {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.5rem;
      text-align: center;
      width: 100%;
      max-width: 28rem;
    }

    h1 {
      font-size: 1.875rem;
      font-weight: 600;
      line-height: 1.2;
      color: #dd5228;
      text-wrap: balance;
    }

    .subtitle {
      font-size: 1rem;
      line-height: 1.6;
      color: #545454;
      text-wrap: pretty;
    }

    .cta-button {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      background-color: #f88701;
      color: #f5fafa;
      padding: 1rem 2rem;
      border-radius: 9999px;
      font-size: 1rem;
      font-weight: 500;
      text-decoration: none;
      transition: opacity 0.2s ease;
    }

    .cta-button:hover {
      opacity: 0.9;
    }

    .cta-button svg {
      width: 1rem;
      height: 1rem;
      transition: transform 0.2s ease;
    }

    .cta-button:hover svg {
      transform: translateX(4px);
    }

    .supporters {
      margin-top: 3rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.5rem;
      width: 100%;
      max-width: 48rem;
    }

    .supporters-label {
      font-size: 0.875rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: #4d7a85;
    }

    .supporters-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.5rem;
      width: 100%;
    }

    .supporter {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 0.5rem;
    }

    .supporter img {
      max-height: 3rem;
      width: auto;
      object-fit: contain;
    }

    footer {
      margin-top: auto;
      padding-top: 5rem;
      font-size: 0.875rem;
      color: #545454;
    }

    @media (min-width: 768px) {
      main {
        padding: 4rem 1.5rem;
      }

      .logo {
        height: 16rem;
      }

      h1 {
        font-size: 2.25rem;
      }
          
      .supporters-grid {
        grid-template-columns: repeat(4, 1fr);
      }
          
    }
      /* Container that aligns items horizontally */
      .image-row {
            display: flex; /* Activates Flexbox layout */
            gap: 10px; /* Creates even spacing between the images */
            width: 100%; /* Spans the full width of the parent container */
      }

        /* Styling for the child images */
      .image-row img {
            width: 25%; /* Dynamically allocates equal space for 4 items */
            height: auto; /* Maintains original image proportions */
            object-fit: cover; /* Prevents stretching by cropping if needed */
      }
