.ll-area-hero {
  --ll-area-accent: var(--ll-blue-500, #55b9ef);
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: clamp(78px, 9vw, 132px) 0;
  color: #fff;
  background:
    radial-gradient(circle at 72% 22%, color-mix(in srgb, var(--ll-area-accent) 34%, transparent), transparent 42%),
    linear-gradient(135deg, var(--ll-navy-900, #0a2342), var(--ll-blue-800, #0d4f83));
}

.ll-area-hero.ll-landing--professional { --ll-area-accent: #4ecf9a; }
.ll-area-hero.ll-landing--aec { --ll-area-accent: #b798ed; }

.ll-area-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .78fr);
  gap: clamp(42px, 7vw, 104px);
  align-items: center;
}

.ll-area-hero.has-no-image .ll-area-hero__grid { grid-template-columns: minmax(0, 900px); }
.ll-area-hero__copy { min-width: 0; }
.ll-area-hero .ll-eyebrow { margin-bottom: 18px; color: var(--ll-area-accent); }

.ll-area-hero h1 {
  max-width: 920px;
  margin: 0;
  color: #fff;
  font-size: clamp(48px, 7vw, 96px);
  font-weight: 850;
  line-height: .98;
  letter-spacing: -.055em;
  overflow-wrap: anywhere;
}

.ll-area-hero__description {
  max-width: 760px;
  margin-top: clamp(24px, 3vw, 38px);
  color: rgba(255, 255, 255, .78);
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.58;
}

.ll-area-hero__description > :first-child { margin-top: 0; }
.ll-area-hero__description > :last-child { margin-bottom: 0; }

.ll-area-hero__media {
  position: relative;
  overflow: hidden;
  margin: 0;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: clamp(22px, 3vw, 42px);
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 32px 80px rgba(0, 15, 34, .34);
}

.ll-area-hero__media img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 820px) {
  .ll-area-hero { padding: 70px 0; }
  .ll-area-hero__grid { grid-template-columns: 1fr; gap: 38px; }
  .ll-area-hero__media { max-width: 640px; }
}

@media (max-width: 520px) {
  .ll-area-hero { padding: 58px 0; }
  .ll-area-hero h1 { font-size: clamp(42px, 14vw, 64px); }
  .ll-area-hero__description { font-size: 17px; }
  .ll-area-hero__media { border-radius: 22px; }
}
