/**
 * Mobile responsiveness: stop the off-canvas menu (parked off-screen to the
 * right) from creating horizontal page overflow, which made the page scroll
 * sideways and cut off the burger menu / close button on small screens.
 * `clip` is used instead of `hidden` so position:sticky keeps working.
 */
html,
body {
  overflow-x: clip;
  max-width: 100%;
}

/* Off-canvas panel must never be wider than the screen. */
.offcanvas__area {
  max-width: 100vw;
}

@media (max-width: 575px) {
  .offcanvas__area {
    width: 100vw;
  }
}

/* Keep the close button comfortably inside the panel on tiny screens. */
@media (max-width: 360px) {
  .offcanvas__wrapper {
    padding: 22px 18px;
  }
}

/**
 * Hero: full-width background, centered content (no side gutters).
 */
.banner {
  width: 100%;
  overflow-x: clip;
  background-color: #f2f7fd;
}

.banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(201, 243, 255, 0.7) 0%,
    rgba(232, 245, 252, 0.9) 45%,
    #f2f7fd 100%
  );
}

.banner__shape {
  display: none;
}

.banner .container {
  position: relative;
  z-index: 1;
}

.banner__media img {
  max-width: 100%;
}
