/* Shared content width, gutters, and vertical rhythm — keep all sections visually aligned */

:root {
  --layout-max: 1320px;
  /* Slightly tighter horizontal inset on large screens; still comfortable on small */
  --layout-gutter: clamp(0.9375rem, 2.85vw, 1.875rem);
  /* Primary vertical rhythm between major bands */
  --section-pad-y: clamp(1.35rem, 3.15vw, 2.35rem);
  --section-pad-y-sm: clamp(1.05rem, 2.45vw, 1.85rem);
  --divider: 1px solid #e8e6e1;
  --divider-soft: 1px solid #e5e2dc;
}

main {
  display: block;
  min-width: 0;
  width: 100%;
  padding-bottom: max(clamp(1.05rem, 2.35vw, 1.65rem), env(safe-area-inset-bottom, 0));
}

/* Responsive foundation — fluid media, no horizontal spill */
body {
  overflow-x: clip;
  min-width: 0;
}

img,
video,
canvas {
  max-width: 100%;
  height: auto;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
