/* remove browser's default page gap */
html, body { margin: 0; padding: 0; }

/* kill leftover sticky-header spacer if any */
.elementor-sticky__spacer { display: none !important; height: 0 !important; }

/* your "hero" (patterned) section is first; zero the big top padding */
body .elementor-section:first-of-type,
body .elementor-top-section:first-of-type {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* if the first thing inside is a heading or spacer, remove its top spacing too */
body .elementor-section:first-of-type h1:first-child,
body .elementor-section:first-of-type .elementor-spacer {
  margin-top: 0 !important;
  padding-top: 0 !important;
  height: auto !important;
}

/* if you used a generic .container at the top, don't add top padding there */
body > .container:first-child { padding-top: 0 !important; }

body .elementor-section:first-of-type {
  padding-top: 30px !important;  /* adjust as you like */
}

/* Mobile portrait: give a bit more breathing room at the top */
@media (max-width: 768px) {
  body .elementor-section:first-of-type {
    padding-top: 70px !important;   /* adjust as you like */
  }
}