/* --------------------------------------------------------------------------
   work.css — projects
   -------------------------------------------------------------------------- */

   .work {
    position: relative;
    overflow: hidden;
  
    background: var(--color-light);
    color: var(--color-dark);

    background: var(--color-light-alt);
  color: var(--color-dark);
  }
  
  
  /* Header
     -------------------------------------------------------------------------- */
  
  .work__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 34rem);
    align-items: end;
    gap: var(--space-6);
  
    margin-bottom: var(--space-7);
  }
  
  .work .eyebrow {
    margin: 0 0 var(--space-3);
  
    color: var(--color-forest);
    font-weight: var(--font-weight-bold);
  }
  
  .work__title {
    margin: 0;
  
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    line-height: 0.95;
    letter-spacing: -0.045em;
  }
  
  .work__intro {
    max-width: 31rem;
    margin: 0 0 var(--space-1);
  
    color: color-mix(
      in srgb,
      var(--color-dark) 62%,
      transparent
    );
  
    font-size: var(--font-size-md);
    line-height: var(--line-height-base);
  }
  
  
  /* Project groups
     -------------------------------------------------------------------------- */
  
  .work-group + .work-group {
    margin-top: var(--space-8);
  }
  
  .work-group__header {
    display: flex;
    align-items: center;
    gap: var(--space-3);
  
    margin-bottom: var(--space-5);
    padding-bottom: var(--space-3);
  
    border-bottom: 1px solid
      color-mix(in srgb, var(--color-dark) 15%, transparent);
  }
  
  .work-group__title {
    margin: 0;
  
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    line-height: 1;
    letter-spacing: var(--letter-spacing-tight);
  }
  
  
  /* Grids
     -------------------------------------------------------------------------- */
  
  .work-grid {
    display: grid;
    align-items: start;
  }
  
  
  /* 3 current projects */
  
  .work-grid--progress {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
  }
  
  
  /* 4 completed projects */
  
  .work-grid--completed {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6) var(--space-3);
  }
  
  
  /* Cards
     -------------------------------------------------------------------------- */
  
  .project-card {
    min-width: 0;
  }
  
  .project-card__link {
    display: block;
  
    color: inherit;
    text-decoration: none;
  }
  
  
  /* Media */
  
  .project-card__media {
    position: relative;
    overflow: hidden;
  
    aspect-ratio: 16 / 10;
  
    background: var(--color-dark);
  }
  
  .work-grid--completed .project-card__media {
    aspect-ratio: 16 / 9;
  }
  
  .project-card__media img {
    display: block;
  
    width: 100%;
    height: 100%;
  
    object-fit: cover;
  
    transition:
      transform var(--duration-4) var(--ease-emphasized);
  }
  
  
  /* Very subtle image overlay for badge readability */
  
  .project-card__media::after {
    content: "";
  
    position: absolute;
    inset: 0;
  
    pointer-events: none;
  
    background:
      linear-gradient(
        to bottom,
        rgb(8 13 20 / 0.12),
        transparent 35%
      );
  }
  
  
  /* Badges
     -------------------------------------------------------------------------- */
  
  .project-card__badges {
    position: absolute;
    z-index: 2;
  
    top: var(--space-2);
    left: var(--space-2);
  
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
  }
  
  .project-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  
    min-height: var(--space-4);
    padding-inline: var(--space-2);
  
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    line-height: 1;
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
  }
  
  .project-badge--web {
    background: var(--color-blue);
    color: var(--color-text);
  }
  
  .project-badge--drone {
    background: var(--color-lime);
    color: var(--color-dark);
  }
  
  .project-badge--progress {
    background: var(--color-dark);
    color: var(--color-text);
  }
  
  .project-badge--done {
    background: var(--color-light);
    color: var(--color-dark);
  }
  
  
  /* Link indicator
     -------------------------------------------------------------------------- */
  
  .project-card__open {
    position: absolute;
    z-index: 2;
  
    right: var(--space-2);
    bottom: var(--space-2);
  
    display: grid;
    place-items: center;
  
    width: var(--space-5);
    height: var(--space-5);
  
    background: var(--color-light);
    color: var(--color-dark);
  
    font-size: var(--font-size-md);
    line-height: 1;
  
    transition:
      transform var(--duration-3) var(--ease-emphasized),
      background-color var(--duration-3) var(--ease-standard);
  }
  
  .project-card__open--play {
    background: var(--color-lime);
  }
  
  
  /* Card content
     -------------------------------------------------------------------------- */
  
  .project-card__content {
    padding-top: var(--space-3);
  }
  
  .project-card__title {
    margin: 0 0 var(--space-2);
  
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    letter-spacing: var(--letter-spacing-tight);
  }
  
  .work-grid--progress .project-card__title {
    font-size: var(--font-size-md);
  }
  
  .project-card__excerpt {
    max-width: 48ch;
    margin: 0;
  
    color: color-mix(
      in srgb,
      var(--color-dark) 62%,
      transparent
    );
  
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
  }
  
  
  /* Completed section accent
     -------------------------------------------------------------------------- */
  
  .work-group--completed .work-group__header {
    position: relative;
  }
  
  .work-group--completed .work-group__header::after {
    content: "";
  
    position: absolute;
  
    left: 0;
    bottom: -1px;
  
    width: var(--space-6);
    height: 3px;
  
    background: var(--color-lime);
  }
  
  
  /* Desktop interaction
     -------------------------------------------------------------------------- */
  
  @media (hover: hover) and (pointer: fine) {
  
    .project-card__link:hover .project-card__media img {
      transform: scale(1.035);
    }
  
    .project-card__link:hover .project-card__open {
      transform: translate(5px, -5px);
      background: var(--color-lime);
    }
  
    .project-card__link:hover .project-card__open--play {
      transform: scale(1.08);
      background: var(--color-light);
    }
  }
  
  
  /* Tablet
     -------------------------------------------------------------------------- */
  
  @media (max-width: 64rem) {
  
    .work__header {
      grid-template-columns: 1fr;
      gap: var(--space-4);
  
      margin-bottom: var(--space-6);
    }
  
    .work__intro {
      max-width: var(--container-narrow);
    }
  
    .work-grid--progress {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--space-5) var(--space-3);
    }
  
    /*
     * With 3 projects the last one intentionally remains
     * half-width instead of being stretched.
     */
  
    .work-grid--completed {
      gap: var(--space-5) var(--space-3);
    }
  
    .work-group + .work-group {
      margin-top: var(--space-7);
    }
  }
  
  
  /* Mobile
     -------------------------------------------------------------------------- */
  
  @media (max-width: 47.9375rem) {
  
    .work__title {
      font-size: clamp(
        var(--space-5),
        14vw,
        var(--space-6)
      );
    }
  
    .work__intro {
      font-size: var(--font-size-base);
    }
  
    .work-group__header {
      margin-bottom: var(--space-4);
    }
  
    .work-group__title {
      font-size: var(--font-size-md);
    }
  
    .work-grid--progress,
    .work-grid--completed {
      grid-template-columns: 1fr;
      gap: var(--space-5);
    }
  
    .project-card__content {
      padding-top: var(--space-3);
    }
  
    .project-card__title,
    .work-grid--progress .project-card__title {
      margin-bottom: var(--space-1);
  
      font-size: var(--font-size-md);
    }
  
    .project-card__excerpt {
      font-size: var(--font-size-sm);
    }
  
    .project-card__open {
      width: var(--space-5);
      height: var(--space-5);
    }
  
    .work-group + .work-group {
      margin-top: var(--space-7);
    }
  }
  
  
  /* Reduced motion
     -------------------------------------------------------------------------- */
  
  @media (prefers-reduced-motion: reduce) {
  
    .project-card__media img,
    .project-card__open {
      transition: none;
    }
  }