/* Old iOS / Safari browsing hardening */

html,
body {
  width: 100%;
  min-height: 100%;
  min-height: -webkit-fill-available;
  overflow-x: hidden;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.banner-wrap {
  min-height: 100%;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  /* avoid fixed-bg jank on old iOS */
  background-attachment: scroll;
}

[hidden] {
  display: none !important;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  -ms-interpolation-mode: bicubic;
}

a,
button {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.btn-get,
.service-float,
.lang-btn,
.lang-menu__item {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

/* flex prefixes already in main; reinforce gaps via margin */
.feature-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.capital-area img {
  width: 100%;
  max-width: 915px;
  margin: 0 auto;
}

.service-float {
  right: 16px;
  bottom: 16px;
  /* old Safari fixed + transform quirks */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.lang-menu {
  -webkit-overflow-scrolling: touch;
  max-height: 280px;
}

/* Safer fixed CTA area on small screens */
@media (max-width: 768px) {
  .banner-wrap {
    padding-bottom: 88px;
  }

  .service-float {
    right: 12px;
    bottom: 12px;
  }
}

@supports (padding: max(0px)) {
  .service-float {
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}
