/**
 * Swift Media demo layout — wide desktop standard (Jun 2026)
 * Load after site style.css. Full-width section backgrounds unchanged;
 * inner shells use these limits.
 */
:root {
  --layout-max: 1320px;
  --layout-gutter: clamp(20px, 4vw, 40px);
  --text-max: 760px;
  /* legacy aliases */
  --site-max: 1320px;
  --site-gutter: clamp(20px, 4vw, 40px);
}

.site-container,
.container,
.wrap,
.nav-inner,
.footer-inner,
.page-wrap > .site-container,
header .wrap,
footer .wrap,
.site-header .wrap,
.site-footer .wrap,
.nav .site-container,
.footer .site-container {
  width: 100%;
  max-width: var(--layout-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--layout-gutter);
  padding-right: var(--layout-gutter);
  box-sizing: border-box;
}

/* Text-heavy sections */
.site-container--narrow,
.text-container,
.prose,
.content-narrow,
.section-intro,
.lead-copy,
.text-max {
  max-width: var(--text-max);
}

/* Cards / grids use full container width */
.card-grid,
.grid,
.services-grid,
.stat-row,
.tool-card,
.menu-grid,
.card-row {
  max-width: 100%;
}

@media (max-width: 768px) {
  .site-container,
  .container,
  .wrap {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}
