/* Simon Portfolio — Homepage project grid correction / 2026-09-26
   Desktop: each featured row is a strict 50/50 split. Alternation changes only side,
   never track size or row placement. This explicitly prevents even rows from auto-
   placing the media into a second grid row. */

@media (min-width: 901px){
  .home-primary-projects{
    display:grid;
    gap:var(--sp-9,128px);
  }

  .home-project-primary .home-project-link{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:var(--grid-gap,32px);
    align-items:center;
    padding-top:var(--sp-3,24px);
  }

  /* Odd rows: copy left / media right. */
  .home-project-primary .home-project-copy{
    grid-column:1;
    grid-row:1;
    order:initial;
    padding:0 var(--sp-5,48px) 0 0;
    align-self:center;
  }
  .home-project-primary .home-project-visual{
    grid-column:2;
    grid-row:1;
    order:initial;
    width:100%;
    aspect-ratio:8/5;
    align-self:center;
  }

  /* Even rows: media left / copy right — same row, same 50/50 tracks. */
  .home-project-primary:nth-child(even) .home-project-visual{
    grid-column:1;
    grid-row:1;
    order:initial;
  }
  .home-project-primary:nth-child(even) .home-project-copy{
    grid-column:2;
    grid-row:1;
    order:initial;
    padding:0 0 0 var(--sp-5,48px);
  }

  /* Keep text rhythm consistent inside each half. */
  .home-project-primary .home-project-copy h3{
    margin:var(--sp-5,48px) 0 var(--sp-2,16px);
    max-width:100%;
  }
  .home-project-primary .home-project-copy p{
    max-width:520px;
  }
}

/* Tablet/mobile continue using the established single-column stack. */
@media (max-width: 900px){
  .home-project-primary .home-project-copy,
  .home-project-primary:nth-child(even) .home-project-copy{
    padding:0;
  }
}
