h1 {
  max-width: 1050px;
  font-size: clamp(2.8rem, 5.3vw, 5.35rem);
  line-height: 0.96;
  letter-spacing: -0.05em;
}

.hero-copy {
  width: min(74vw, 1350px);
  max-width: none;
}

@media (max-width: 800px) {
  .hero-copy {
    width: 100%;
  }
}

.service-icons {
  max-width: 1240px;
  margin: 0 auto 56px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

.audiences { display:grid; grid-template-columns:1fr 1fr; background:#07131d; }
.audience { min-height:560px; padding:clamp(55px,7vw,105px); display:flex; flex-direction:column; justify-content:flex-end; color:#fff; position:relative; overflow:hidden; }
.audience:before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,11,18,.94),rgba(3,11,18,.2)); transition:.35s; }
.audience>* { position:relative; z-index:1; }
.audience-home { background:url('../img/hero.webp') center/cover; }
.audience-corp { background:url('../img/corporate-hero.webp') center/cover; }
.audience span { color:#7ad5ff; font-size:.72rem; letter-spacing:.22em; font-weight:900; }
.audience h2 { font-size:clamp(2.7rem,4.5vw,5rem); margin:20px 0; max-width:700px; }
.audience p { max-width:580px; color:#d9e5ea; font-size:1.08rem; }
.audience b { margin-top:24px; color:#8edcff; text-transform:uppercase; letter-spacing:.09em; font-size:.76rem; }
.audience:hover:before { background:linear-gradient(0deg,rgba(3,11,18,.86),rgba(3,11,18,.05)); }

.service-icons a {
  min-height: 132px;
  padding: 16px 8px 13px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #d7e0e5;
  background: #f3f5f6;
  color: #25313a;
  text-align: center;
  font-size: 0.74rem;
  transition: 0.25s ease;
}

.service-icons strong {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #06111c;
  color: #27aeea;
  font-size: 1.75rem;
}

.service-icons a:nth-child(3n+1) strong { color: #ffd014; }
.service-icons a:nth-child(3n) strong { color: #b950ed; }
.service-icons a:hover,
.service-icons a:focus-visible { transform: translateY(-5px); border-color: #168bd2; box-shadow: 0 14px 30px rgba(6,17,28,.12); }
.service b { display: inline-block; margin-top: 18px; color: #a9e2ff; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 1000px) {
  .service-icons { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 800px) {
  .audiences { grid-template-columns:1fr; }
  .audience { min-height:480px; }
}

@media (max-width: 520px) {
  .service-icons { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .service-icons a { min-height: 124px; }
}

@media (max-width: 480px) {
  h1 {
    font-size: 2.75rem;
  }
}
