.vg-wrap { width: min(100% - 2 * var(--s4), var(--container)); margin-inline: auto; }
.vg-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); }
.vg-stack { display: grid; gap: var(--s4); min-width: 0; }
.vg-grid { display: grid; gap: var(--s4); grid-template-columns: minmax(0, 1fr); }
.vg-section { padding-block: var(--s12); border-bottom: 1px solid var(--border); }
.vg-section-head { display: grid; gap: var(--s2); margin-bottom: var(--s6); }
.vg-section-head p { color: var(--muted); max-width: 65ch; }
.vg-hero { background: var(--forest); color: var(--on-dark); padding-block: var(--s16); }
.vg-hero p { max-width: 52ch; }
.vg-hero .vg-overline { color: var(--sand); }
.vg-bar, .vg-foot { padding-block: var(--s4); }
.vg-bar { background: var(--surface); border-bottom: 1px solid var(--border); }
.vg-bar .vg-row { justify-content: space-between; }
.vg-desktop-nav { display: none; }
.vg-foot { background: var(--forest); color: var(--on-dark); }
.vg-foot a { color: inherit; }
@media (min-width: 48rem) {
  .vg-wrap { width: min(100% - 2 * var(--s8), var(--container)); }
  .vg-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vg-desktop-nav { display: flex; }
  .vg-bar .vg-mobile-menu { display: none; }
  .vg-section { padding-block: var(--s16); }
}
@media (min-width: 64rem) {
  .vg-wrap { width: min(100% - 2 * var(--s12), var(--container)); }
  .vg-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .vg-grid--editorial { grid-template-columns: repeat(12,minmax(0,1fr)); }
  .vg-grid--editorial > * { grid-column: span 6; }
  .vg-hero { padding-block: var(--s20); }
}

