/* Desktop layout width — ocupa melhor as laterais em todas as páginas */

:root {
  --layout-max: 1240px;
  --layout-gutter: clamp(1rem, 3.2vw, 2.5rem);
}

/* ── Service pages ── */

.service-body {
  --service-width: min(var(--layout-max), calc(100% - (var(--service-pad-x) * 2)));
  --service-pad-x: var(--layout-gutter);
  --service-measure: 74ch;
}

.navbar.service-nav,
.service-nav-panel {
  width: min(var(--layout-max), calc(100% - 32px));
}

.service-hero h1 {
  max-width: 22ch;
}

.service-lead,
.service-cta-band p,
.svc-answer > p {
  max-width: min(60ch, 100%);
}

@media (min-width: 1000px) {
  .service-hero.has-visual {
    column-gap: clamp(2.5rem, 5vw, 4.5rem);
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  }

  .svc-scene-wrap {
    max-width: 520px;
  }
}

.svc-lastmod {
  max-width: var(--layout-max);
}

/* ── Home / shared chrome ── */

.navbar {
  width: min(var(--layout-max), calc(100% - 32px));
}

.services-container,
.high-standard-container,
.faq-container,
.footer-content,
.process-container,
.blur-footer-container {
  max-width: var(--layout-max);
}

.impact-section,
.stats-section,
.portfolio-section {
  max-width: none;
}

.client-logos-label {
  max-width: var(--layout-max);
}

@media (min-width: 1200px) {
  .hero {
    padding-inline: var(--layout-gutter);
  }

  .services-header,
  .process-header {
    max-width: min(920px, 100%);
  }
}

@media (max-width: 899px) {
  .navbar.service-nav,
  .service-nav-panel,
  .navbar {
    width: calc(100% - 24px);
  }
}
