/* A foto ocupa a mesma superfície por trás do menu e da apresentação. */
.app-page > .header {
  position: absolute;
  inset: 0 0 auto;
  border: 0;
  background: linear-gradient(to bottom, #f4f9fcc9, #f4f9fc88 65%, transparent);
}

.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: center;
  position: relative;
  isolation: isolate;
  min-height: clamp(37rem, 47vw, 58rem);
  padding-block: clamp(8.5rem, 10vw, 13rem) clamp(3.75rem, 5.5vw, 7rem);
  background: #eaf2f6;
}

.cover-picture,
.cover-picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.cover-picture { z-index: -2; }
.cover-picture img { object-fit: cover; object-position: 72% 40%; }
.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #fffffff0 0%, #ffffffdb 29%, #ffffffa6 43%, #ffffff40 56%, transparent 69%);
  pointer-events: none;
}

.cover-content .hero-copy { width: 51%; max-width: 41rem; }
.cover-content .hero-copy > p { color: #243f51; }

@media (min-width: 741px) and (max-width: 980px) {
  .home-hero { min-height: 35rem; padding-block: 7.75rem 3.75rem; }
  .cover-content .hero-copy { width: 53%; }
  .cover-picture img { object-position: 88% 40%; }
  .cover-content .hero-actions { gap: .55rem 1.125rem; }
}

@media (max-width: 740px) {
  .app-page > .header {
    position: relative;
    background: #eff5f8;
  }
  .home-hero {
    min-height: 0;
    padding: 0;
    background: #eff5f8;
  }
  .home-hero::before { display: none; }
  .cover-content { padding-block: clamp(1.5rem, 5vw, 2.75rem) 1.85rem; }
  .cover-content .hero-copy { width: 100%; max-width: 32rem; }
  .cover-picture,
  .cover-picture img {
    position: static;
    height: auto;
  }
  .cover-picture { z-index: auto; }
}
