/* ==========================================================================
   B VISUAL — gd.css
   Graphic Design landing page. Page-level only: everything shared (nav, footer,
   buttons, fields, principles grid, scroll bar) comes from tokens/shell/pages.
   ========================================================================== */

/* --- Page intro ----------------------------------------------------------
   The parallax hero is gone: this page now opens with the same .page-top as
   Work, Services and About, so the set reads as one family. Only the intro
   block below is page-specific. --------------------------------------------- */
.gd-intro { margin-top: var(--s8); max-width: var(--measure); }
.gd-intro .t-sub { color: var(--bone); }
.gd-intro__actions {
  margin-top: var(--s7);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s3);
}

/* --- Work grid ------------------------------------------------------------ */
.gd-grid {
  margin-top: var(--s10);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(var(--s5), 3vw, var(--s8));
}
@media (max-width: 720px) { .gd-grid { grid-template-columns: 1fr; } }

.gd-card { margin: 0; }
.gd-card__frame {
  border: var(--hairline);
  border-radius: var(--r-flat);
  overflow: hidden;
  background: var(--ink-lift);
  aspect-ratio: 4 / 3;
}
.gd-card__frame img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--d-reveal) var(--e-out);
}
.gd-card:hover .gd-card__frame img { transform: scale(1.03); }
.gd-card__meta  { margin-top: var(--s3); }
.gd-card__title { color: var(--paper); }
.gd-card__desc  { color: var(--bone); margin-top: var(--s1); }

/* --- Our own brand -------------------------------------------------------
   A raised charcoal band so it reads as an aside, not as more client work. */
.gd-own {
  background: var(--ink-lift);
  border-block: var(--hairline);
}
.gd-own__lead { color: var(--bone); margin-top: var(--s4); }
.gd-own__row {
  margin-top: var(--s8);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(var(--s4), 2.5vw, var(--s6));
}
@media (max-width: 720px) { .gd-own__row { grid-template-columns: 1fr; } }
.gd-own__item {
  margin: 0;
  border: var(--hairline);
  border-radius: var(--r-flat);
  overflow: hidden;
  background: var(--ink);
}
.gd-own__item img { width: 100%; height: auto; display: block; }
