/* Local-only UX correction preview based on approved commit f8d50c0.
   No copy, destinations, assets, or production configuration changed. */

/* One shared header identity on Home and About. */
.site-header .wordmark-name {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.02em;
}

/* Preserve the enlarged portrait with one square crop at every breakpoint. */
.hero .portrait-avatar {
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
}

/* Bring the desktop action into view without shrinking the portrait or name. */
@media (min-width: 821px) {
  .hero { padding-block: 24px 36px; }
  .hero-signature { margin-bottom: 20px; }
  .hero h1 { margin-bottom: 16px; }
  .hero-bottom { gap: 16px; }
  .hero .intro { max-width: 740px; }
  .hero-links { margin-top: 12px; }
}

/* Shared intrinsic tracks align each pair of cards, including wrapped copy.
   Expanded details grow their shared row instead of overlapping other content. */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 821px) {
    .project-card {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 7;
      row-gap: 0;
      align-items: start;
      justify-items: start;
    }
    .project-card > * { min-width: 0; }
    .project-card > .badge { align-self: start; }
    .project-card > .project-link,
    .project-card > .project-access {
      align-self: end;
      margin: 0;
      min-height: 44px;
    }
  }
}

/* Simple progressive fallback for browsers without subgrid. */
@supports not (grid-template-rows: subgrid) {
  @media (min-width: 821px) {
    .project-card h3 { min-height: 2.16em; }
    .project-summary { min-height: 3.24em; }
    .project-card > .project-access { margin-bottom: 0; }
  }
}
