@layer layout {
  /* Content container */
  .container {
    max-width: var(--content-max-width);
    margin-inline: auto;
    padding-inline: var(--content-padding);
  }

  /* Section spacing */
  .section {
    padding-block: var(--space-section);
  }

  /* Flow spacing (lobotomized owl) */
  .flow > * + * {
    margin-block-start: var(--flow-space, 1.5em);
  }

  /* Responsive auto-fit grid for cards */
  .grid {
    display: grid;
    gap: var(--space-xl);
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  }

  /* Vertical stack */
  .stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
  }

  /* Horizontal cluster */
  .cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    align-items: center;
  }
}
