html {
  overflow-x: hidden;
  overflow-y: scroll;
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

body {
  min-height: 100%;
  overflow: visible;
}

.page-hero {
  min-height: 430px;
  padding: 110px clamp(24px, 6.5vw, 100px) 80px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 78% 20%, rgba(10, 132, 255, .3), transparent 32%),
    linear-gradient(125deg, #06182c, #0a3156);
}

.page-hero-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .12;
  background-image:
    linear-gradient(rgba(59, 185, 255, .3) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59, 185, 255, .3) 1px, transparent 1px);
  background-size: 64px 64px;
}

.page-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 850px;
}

.page-hero h1 {
  max-width: 820px;
  margin-bottom: 24px;
}

.page-hero-copy > p:not(.eyebrow) {
  max-width: 710px;
  margin: 0 0 30px;
  color: #c7d7e7;
  font-size: 18px;
  line-height: 1.7;
}

.technology-grid article {
  min-height: 142px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
}

.technology-mark {
  width: 100%;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.technology-mark img {
  display: block;
  width: auto;
  height: 42px;
  max-width: 150px;
  object-fit: contain;
  object-position: left center;
}

.technology-grid article > div {
  width: 100%;
}

.hero-grid,
.hero-art,
.hero-art::after,
.orbit,
.service-detail::after,
.solutions::before {
  pointer-events: none;
}

section[id] {
  scroll-margin-top: 88px;
}

@media (max-width: 820px) {
  html {
    scroll-padding-top: 76px;
  }

  section[id] {
    scroll-margin-top: 76px;
  }

  .technology-grid article {
    min-height: 132px;
    padding: 22px;
  }

  .technology-mark img {
    height: 38px;
    max-width: 140px;
  }

  .page-hero {
    min-height: 390px;
    padding-top: 88px;
  }
}
