/* Correções de alinhamento exclusivas do desktop. O layout até 800px permanece intacto. */
@media (min-width: 801px) {
  .site-header,
  .shell,
  .studio-services main > .shell,
  .studio-services .method-section > .shell {
    width: calc(100% - var(--studio-gutter) * 2);
    max-width: var(--studio-width);
    margin-inline: auto;
    padding-inline: 0;
  }

  .site-header { flex-wrap: nowrap; }
  .innovation-page .site-header { padding-inline: 0; }
  .shell.legal { max-width: 820px; }
  .site-header #primary-nav {
    flex-direction: row;
    flex-basis: auto;
    align-items: center;
    flex-shrink: 0;
  }

  .site-footer.shell {
    width: 100%;
    max-width: none;
    padding-inline: max(var(--studio-gutter), calc((100% - var(--studio-width)) / 2));
  }

  /* Apoio próximo ao título, com a navegação no lado direito da mesma linha. */
  .studio-opening-bottom {
    grid-template-columns: minmax(0, 2fr) minmax(140px, 1fr);
    margin-top: 44px;
    gap: 40px;
    align-items: end;
  }
  .studio-opening-bottom p {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    max-width: 720px;
  }
  .studio-opening-bottom .studio-explore {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  /* O rótulo da seção fica próximo ao título, no mesmo alinhamento. */
  .studio-home #frentes > .studio-section-heading,
  .studio-home .studio-journal > .studio-section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .studio-home #frentes > .studio-section-heading > .studio-kicker,
  .studio-home .studio-journal > .studio-section-heading > .studio-kicker {
    padding-top: 0;
  }

  /* As imagens e suas legendas compartilham as mesmas linhas e colunas. */
  .studio-front-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .studio-front-people { margin-top: 0; }

  /* Título, artigos e link final usam uma única grade, sem margem aproximada. */
  .studio-journal {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .studio-journal > .studio-section-heading { grid-column: 1 / -1; }
  .studio-journal-links,
  .studio-journal-all { grid-column: 1; margin-left: 0; }
  .studio-journal-all { justify-self: start; }

  /* A coluna de apoio das seções acompanha a coluna de conteúdo dos serviços. */
  body.studio-services {
    --service-index: 64px;
    --service-gap: clamp(28px, 3vw, 48px);
  }
  body.studio-services .front,
  body.studio-services .front + .front {
    grid-template-columns: var(--service-index) minmax(0, 1fr) minmax(0, 1fr);
    column-gap: var(--service-gap);
  }
  body.studio-services .section-heading,
  body.studio-services #frentes .section-heading,
  body.studio-services .offers-heading,
  body.studio-services .lei-home-inner {
    grid-template-columns: calc((100% + var(--service-index)) / 2) minmax(0, 1fr);
    column-gap: var(--service-gap);
  }
  body.studio-services .section-heading > p:last-child,
  body.studio-services .offers-heading > p {
    justify-self: start;
    max-width: 550px;
  }
  body.studio-services .studio-services-hero {
    grid-template-columns: calc((100% + var(--service-index)) / 2) minmax(0, 1fr);
    column-gap: var(--service-gap);
    padding-top: 96px;
    padding-bottom: 106px;
  }
  body.studio-services .studio-services-hero h1 {
    font-size: clamp(64px, 6.3vw, 104px);
  }
  body.studio-services .studio-services-intro { justify-self: start; }
  body.studio-services .section-heading h2 {
    font-size: clamp(44px, 4.8vw, 76px);
    font-weight: 600;
  }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .site-header #primary-nav { gap: 20px; }
  body.studio-services { --service-index: 48px; --service-gap: 28px; }
  body.studio-services .studio-services-hero {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 76px;
    padding-bottom: 76px;
  }
  body.studio-services .studio-services-hero h1 { font-size: clamp(64px, 8vw, 88px); }
}
