/* ===================================================================
   LAYOUT — Container, section wrappers, grid utilities
   =================================================================== */

.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

.section {
  padding: var(--space-xl) var(--space-lg);
  max-width: var(--container-max);
  margin: 0 auto;
}

.section--full {
  max-width: none;
  padding: var(--space-xl) 0;
}

.section--dark {
  background: var(--color-bg-card);
  max-width: none;
  padding: var(--space-xl) var(--space-lg);
}

.section-header {
  margin-bottom: 4rem;
}

.section-header .label {
  margin-bottom: var(--space-sm);
}

.section-header .heading-lg {
  margin-bottom: var(--space-sm);
}

.section-header p {
  color: var(--color-text-dim);
  max-width: 600px;
  font-size: 1.05rem;
}

/* Skip to content (accessibility) */
.skip-link {
  position: absolute;
  top: -100%;
  left: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-cyan);
  color: var(--color-bg);
  font-weight: 700;
  font-size: var(--fs-small);
  z-index: calc(var(--z-nav) + 1);
  transition: top var(--ease-fast);
}

.skip-link:focus {
  top: var(--space-sm);
}
