
  .what-i-do {
    padding-inline: clamp(16px, 4vw, 32px);

    @media (width < 1200px) {
      padding-inline-end: 0;
    }

    @media (width >= 1200px) {
      padding-inline: clamp(16px, 4vw, 32px);
    } 

    .content {
      display: flex;
      gap: 2rem;
      padding-block-end: 2rem;
      overflow-x: auto;
      scroll-snap-stop: always;
      scroll-snap-type: x mandatory;
      scrollbar-width: thin;
      scrollbar-color: transparent transparent;
      transition: scrollbar-color 0.5s ease;

      &:hover {
         scrollbar-color: var(--brand-highlight-1) var(--colour-primary-3)
      }

      @media (width >= 1200px) {
        display: grid;
        gap: clamp(1rem, 2vw, 2rem);
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow: visible;
        padding-inline-end: clamp(16px, 4vw, 32px);
        scroll-snap-type: none;
      }
      
      :is(.column-1, .column-2, .column-3) {
        display: flex;
        scroll-snap-align: start;
        min-width: 300px;
        width: clamp(300px, 50vw, calc(100% / 3));

        @media (width >= 1200px) {
          min-width: 0;
          width: 100%;
        }
      }

      .column-3 {
        svg {
          fill: var(--colour-secondary-9) !important;
        }

        &:hover {
          svg {
            fill: var(--brand-highlight-1) !important;
          }
        }
      }
    }

    h3 {
      align-items: center;
      display: flex;
      font-size: clamp(1rem, clamp(2vw + 0.2rem), 1.5rem);
      letter-spacing: 0.02em;
      line-height: 1;
      margin-block-end: 1rem;
      text-align: left;

      &::before {
        background-color: var(--brand-highlight-1);
        content: "";
        display: block;
        height: 8px;
        margin-right: 0.75rem;
        width: 8px;
      }
    }

    .card {
      background-color: var(--colour-primary-2);
      border: 2px solid var(--colour-primary-7);
      border-radius: 8px;
      container-name: card-container;
      display: flex;
      flex-direction: column;
      height: 100%;
      padding: 1.5rem;
      box-shadow: var(--surface-shadow-1);
      transition: border-color 0.5s ease, background-color 0.5s ease, box-shadow 0.3s ease, transform 0.3s ease;

      @media (prefers-color-scheme: dark) {
        background-color: var(--colour-primary-6);
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      }

      @media (width >= 1200px) {
        border-width: 3px;
        padding: 2rem;
      }

      @media (width >= 1600px) {
        border-width: 4px;
        padding: 3rem;
      }

      .image {
        background-color: var(--colour-primary-6);
        border-radius: 8px;
        margin-block-end: 3em;
        padding-block: 2rem;

        svg {
          filter: grayscale(100%);
          height: clamp(64px, 8vw, 96px);
          transform: translateY(0);
          transition: filter 0.5s ease, transform 0.3s ease-in-out;
          width: auto;
        }
      }

      .text {
        font-size: 1rem;
        line-height: 1.75rem;
        text-align: left; 

        p {
          color: light-dark(var(--colour-secondary-7), var(--colour-secondary-4));
          font-size: var(--standard-font-size);
          margin-block-end: 0.75rem;

          a {
            color: light-dark(var(--colour-secondary-9), var(--colour-secondary-4));
            border-bottom: 1px dashed currentColor;
            transition: color 0.3s ease, text-decoration 0.3s ease;

            &:hover {
              border-bottom: none;
            }
          }
        }
      }

      &:hover {
        background-color: var(--colour-primary-9);
        border-color: var(--brand-highlight-1);
        box-shadow: var(--surface-shadow-2);
        transform: translateY(-4px);

        @media (prefers-color-scheme: light) {
          background-color: var(--colour-primary-4);
          color: var(--colour-primary-4);
        }
        svg {
          filter: none;
          transform: translateY(-.25rem);
          transition: filter 0.5s ease, transform 0.3s ease-in-out;
        }

        h3, p {
          color: var(--colour-secondary-5);
        }

        p a {
          color: var(--brand-highlight-1);
          transition: color 0.3s ease, text-decoration 0.3s ease;
        }
      }
    }
  }

  .who-i-am {

    @media (prefers-color-scheme: light) {
      background-color: var(--colour-light-3);
    }

    .content {
      display: grid;
      gap: clamp(2rem, 2vw, 4rem);
      grid-template-columns: 1fr;
      
      @media (width >= 768px) {
        grid-template-columns: repeat(2, 1fr);
      }
      
      .text-and-button {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-inline: 1rem;

        &:has(> details[open]) {
          justify-content: flex-start;

          p.who-i-am-intro-text {
            display: none;
          }
        }

        p {
          font-size: var(--standard-font-size);
          margin-block-end: 1rem;
          text-align: left;

          &:last-of-type {
            margin-block-end: 0;
          }
        }

        details {
          display: inline-block;
          margin-block-start: 1rem;
          text-align: left;

          summary {
            border: 2px solid var(--brand-highlight-1);
            border-radius: 0.5rem;
            cursor: pointer;
            color: var(--brand-highlight-1);
            font-size: var(--standard-font-size);
            letter-spacing: 0.05em;
            list-style-position: outside;
            list-style: none;
            margin-inline-start: 0;
            width: fit-content;

            &::marker {
              display: none;
            }

            &:hover {
              background-color: var(--brand-highlight-1);
              color: var(--colour-primary-9);
            }

            &:focus {
              color: var(--colour-primary-9);
              outline: 3px solid var(--brand-highlight-2);
              outline-offset: 2px;
            }
          }

          .details-open {
            background-color: var(--brand-highlight-1);
            color: var(--colour-primary-9);
            display: none;
          }
          .details-closed {
            display: block;
          }

          .details-closed,
          .details-open {
            padding: 1rem;
            flex-wrap: nowrap;
            width: fit-content;

            &:hover {
              color: var(--colour-primary-2);
            }
          }

          &[open] {
            .details-open {
              display: block;
            }
            .details-closed {
              display: none;
            }
            
          }
          &::details-content {
            margin-top: 2rem;
          }
        }
      }

      p {
        margin-block: 0;
        max-width: 48ch;
      }

      .button {
        color: var(--colour-primary-4);
        margin: unset;

        @media (prefers-color-scheme: dark) {
          background-color: var(--colour-light-1);
        }

        &:hover {
          background-color: var(--brand-highlight-1);
          color: var(--colour-primary-9);
        }
      }

      .who-i-am-image {
        img {
          aspect-ratio: 3/2;
          border-radius: 8px;
          filter: grayscale(35%);
          height: auto;
          max-width: 100vw;
          opacity: 0.9;
          width: 100%;
        }
      }
    }
  }

  .where-you-can-find-me {
    .social-icons {
      gap: 1rem;

      @media (width < 768px) {
        grid-template-columns: repeat(2, 1fr);
      }

      .social-icon {
        border: 1px solid var(--colour-primary-6);
        border-radius: 12px;
        background-color: var(--colour-primary-2);
        padding: 1rem;
        transition: transform 0.2s ease, border-color 0.3s ease, box-shadow 0.3s ease;

        .icon {
          background-color: var(--colour-primary-4);
          border-radius: 999px;
          height: 56px;
          width: 56px;
        }

        &:hover {
          border-color: var(--brand-highlight-1);
          box-shadow: var(--surface-shadow-1);
          transform: translateY(-3px);
        }
      }
    }
  }

