/* FRP Annual Report Banner — home page */
.elementor-element.elementor-element-64c7826a {
  min-height: 0 !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.elementor-element.elementor-element-64c7826a > .e-con-inner {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  align-items: stretch;
  justify-content: center;
  gap: 32px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Image column — fixed width, stretches to text column height, image centered */
.elementor-element.elementor-element-64c7826a .elementor-element-b67b41c {
  width: 250px !important;
  max-width: 250px !important;
  flex: 0 0 250px !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.elementor-element.elementor-element-64c7826a .elementor-element-b67b41c .elementor-widget-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.elementor-element.elementor-element-64c7826a .elementor-element-b67b41c img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  margin: 0 auto;
}

.elementor-element.elementor-element-64c7826a .elementor-element-d9c08b6 {
  max-width: 480px;
}

/* Tablet — keep side-by-side, slightly smaller thumbnail */
@media (max-width: 1024px) {
  .elementor-element.elementor-element-64c7826a > .e-con-inner {
    gap: 24px;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .elementor-element.elementor-element-64c7826a .elementor-element-b67b41c {
    width: 200px !important;
    max-width: 200px !important;
    flex: 0 0 200px !important;
  }
}

/* Mobile — stack vertically, center everything */
@media (max-width: 767px) {
  .elementor-element.elementor-element-64c7826a {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .elementor-element.elementor-element-64c7826a > .e-con-inner {
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }
  .elementor-element.elementor-element-64c7826a .elementor-element-b67b41c {
    width: 180px !important;
    max-width: 180px !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .elementor-element.elementor-element-64c7826a .elementor-element-b67b41c img {
    height: auto;
    width: 100%;
    max-height: none;
  }
  .elementor-element.elementor-element-64c7826a .elementor-element-d9c08b6 {
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Hero title — keep above motion-effects layer on mobile */
@media (max-width: 767px) {
  .elementor-648 .elementor-element.elementor-element-4e9113d9 {
    position: relative;
    z-index: 5 !important;
  }
}

/* Sub-navigation — increase dropdown font size */
.elementor-nav-menu .sub-menu a,
.elementor-nav-menu--dropdown a,
.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
  font-size: 15px !important;
}

/* Footer — clean up column spacing, distribute evenly */
.elementor-element.elementor-element-260e4940 > .e-con-inner {
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 40px;
  padding-left: 5% !important;
  padding-right: 5% !important;
}
/* Remove the hack right-padding on the logo column (was 331px) */
.elementor-element.elementor-element-67af8aac {
  padding-right: 0 !important;
}
/* Keep the logo image at its intended display size */
.elementor-element.elementor-element-67af8aac img {
  max-width: 80px !important;
  height: auto !important;
}
/* Remove the hack right-margin on Quick Links column (was 150px) */
.elementor-element.elementor-element-4aaff849 {
  margin-right: 0 !important;
}

/* Footer mobile — stack vertically, center each column */
@media (max-width: 767px) {
  .elementor-element.elementor-element-260e4940 > .e-con-inner {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    padding-left: 5% !important;
    padding-right: 5% !important;
    text-align: center;
  }
}