/* Etapa 1 — composição: todo conteúdo essencial cabe no enquadramento útil. */

@media (min-width: 901px) {
  .hero {
    min-height: calc(100svh - 76px);
    padding: 46px 0 52px;
    display: grid;
    align-items: center;
  }

  .hero-grid {
    grid-template-columns: minmax(330px, .9fr) minmax(500px, 1.1fr);
    gap: 46px;
  }

  .hero h1 { font-size: clamp(48px, 4.35vw, 62px); max-width: 560px; }
  .hero-grid .lead { margin: 22px 0; font-size: 18px; }
  .hero-grid .note { margin-top: 14px; }
}

.hero-showcase {
  min-height: 0;
  padding: 14px;
  border-radius: 14px;
}

.showcase-screen {
  aspect-ratio: 2123 / 741;
}

.showcase-screen img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.insight-card {
  position: static;
  width: auto;
  margin: 12px 0 0;
  padding: 13px 15px;
  box-shadow: none;
}

.insight-card strong { font-size: 17px; }
.insight-card p { font-size: 11px; }

.showcase-status {
  position: static;
  transform: none;
  width: fit-content;
  margin: 11px 0 0;
}

.management { padding: 88px 0; }
.management-grid { grid-template-columns: minmax(310px, .8fr) minmax(0, 1.2fr); gap: 62px; }
.position { height: auto; aspect-ratio: 609 / 331; }
.position img { object-fit: contain; object-position: center; }

.demonstration { padding: 88px 0; }
.demo-heading {
  display: block;
  max-width: 790px;
  margin: 0 auto;
  text-align: center;
}
.demo-heading .eyebrow { margin-bottom: 16px; }
.demo-heading > p:not(.eyebrow) { max-width: 660px; margin: 18px auto 0; }

.screen-stories {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 42px;
}

.screen-story,
.screen-story.wide {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(260px, .62fr);
  align-items: stretch;
}

.screen-story .screen,
.screen-story.wide .screen {
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 0;
  aspect-ratio: auto;
}

.screen-story .screen img,
.screen-story.wide .screen img {
  width: 100%;
  height: 100%;
  min-height: 214px;
  object-fit: contain;
  object-position: center;
}

.screen-story > div:last-child { display: flex; flex-direction: column; justify-content: center; }
.screen-story:nth-child(2) { grid-template-columns: minmax(260px, .62fr) minmax(0, 1.38fr); }
.screen-story:nth-child(2) .screen { grid-column: 2; border-right: 0; border-left: 1px solid var(--line); }
.screen-story:nth-child(2) > div:last-child { grid-column: 1; grid-row: 1; }

.outcome-callout .cta-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 7px;
  text-decoration: none;
  font-weight: 800;
}

@media (max-width: 900px) {
  .hero { padding: 58px 0 70px; }
  .insight-card { margin-top: 10px; }
  .showcase-status { font-size: 10px; }
  .management { padding: 76px 0; }
  .position { height: auto; aspect-ratio: 609 / 331; }
  .demonstration { padding: 74px 28px; }
  .demo-heading { text-align: left; }
  .demo-heading > p:not(.eyebrow) { margin-left: 0; }
  .screen-story,
  .screen-story.wide,
  .screen-story:nth-child(2) { grid-template-columns: 1fr; }
  .screen-story .screen,
  .screen-story.wide .screen,
  .screen-story:nth-child(2) .screen { grid-column: auto; border: 0; border-bottom: 1px solid var(--line); }
  .screen-story:nth-child(2) > div:last-child { grid-column: auto; grid-row: auto; }
  .screen-story .screen img,
  .screen-story.wide .screen img { height: auto; min-height: 0; }
}

@media (max-width: 560px) {
  .hero { padding: 48px 0 64px; }
  .showcase-status { max-width: none; }
  .management { padding: 66px 0; }
  .demonstration { padding: 66px 22px; }
}
