* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--artmke-white); }
img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }

.artmke-container {
  width: min(var(--artmke-max), calc(100% - 40px));
  margin-inline: auto;
}

.artmke-main { min-height: 55vh; }
.artmke-content { padding-block: var(--artmke-space-7); }
.artmke-section { padding-block: var(--artmke-space-7); }
.artmke-section--soft { background: var(--artmke-soft); }
.artmke-page-header { max-width: 900px; margin-bottom: var(--artmke-space-6); }
.artmke-page-header h1 { margin: 0; }

.artmke-grid { display: grid; gap: var(--artmke-space-5); }
.artmke-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.artmke-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.artmke-stack > * { margin-block: 0; }
.artmke-stack > * + * { margin-top: var(--artmke-space-4); }

@media (max-width: 780px) {
  .artmke-container { width: min(100% - 28px, var(--artmke-max)); }
  .artmke-content, .artmke-section { padding-block: var(--artmke-space-6); }
  .artmke-grid--2, .artmke-grid--3 { grid-template-columns: 1fr; }
}
