.home-invaders-section {
  position: relative;
  z-index: 1;
  padding: 0 0 clamp(2rem, 4vw, 3.5rem);
}

.home-invaders-section .container { container-type: inline-size; }

.home-invaders-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: center;
  gap: clamp(1rem, 2.2cqw, 2rem);
  min-width: 0;
  padding: clamp(1rem, 2cqw, 1.75rem);
  overflow: hidden;
  border: 1px solid rgba(255, 210, 31, .34);
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 50%, rgba(255, 44, 167, .14), transparent 45%),
    linear-gradient(115deg, #211025, #0a0b16 72%);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
}

.home-invaders-copy { min-width: 0; }

.home-invaders-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--yellow);
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .1em;
  line-height: 1.3;
  text-transform: uppercase;
}

.home-invaders-kicker i { font-size: 1rem; }

.home-invaders-copy h2 {
  margin: .55rem 0 .7rem;
  color: #fff;
  font-family: Oswald, Inter, sans-serif;
  font-size: clamp(2.15rem, 4cqw, 3.5rem);
  font-weight: 700;
  line-height: 1.08;
}

.home-invaders-copy p {
  max-width: 34rem;
  margin: 0 0 1.2rem;
  color: #d4cfda;
  font-size: clamp(.94rem, 1.2cqw, 1.06rem);
  line-height: 1.5;
}

.home-invaders-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-width: 154px;
  min-height: 48px;
  max-width: 100%;
  white-space: nowrap;
}

.home-invaders-button i:first-child { font-size: 1.2rem; }
.home-invaders-button i:last-child { margin-left: .15rem; font-size: .9rem; }

.home-invaders-note {
  display: block;
  margin-top: .7rem;
  color: rgba(255, 255, 255, .64);
  font-size: .78rem;
  line-height: 1.4;
}

.home-invaders-art {
  position: relative;
  display: grid;
  place-items: center;
  align-self: stretch;
  min-width: 0;
  min-height: clamp(210px, 26cqw, 300px);
  overflow: hidden;
  border: 1px solid rgba(124, 164, 255, .18);
  border-radius: 15px;
  background:
    radial-gradient(circle at 51% 78%, rgba(255, 43, 159, .28), transparent 49%),
    radial-gradient(circle at 18% 24%, rgba(48, 150, 255, .22), transparent 28%),
    radial-gradient(circle at 88% 17%, rgba(118, 58, 207, .25), transparent 32%),
    #080b1a;
}

.home-invaders-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, .75) 1px, transparent 1.5px),
    radial-gradient(circle, rgba(80, 188, 255, .7) 1px, transparent 1.5px);
  background-size: 72px 61px, 109px 83px;
  background-position: 9px 7px, 37px 40px;
  opacity: .44;
}

.home-invaders-art::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: -24%;
  height: 55%;
  border: 1px solid rgba(255, 49, 171, .38);
  border-radius: 50%;
  box-shadow: 0 0 38px rgba(255, 44, 167, .18), inset 0 0 32px rgba(255, 44, 167, .12);
  transform: perspective(400px) rotateX(66deg);
}

.home-invaders-art-label {
  position: absolute;
  z-index: 2;
  top: .8rem;
  left: .9rem;
  color: rgba(255, 255, 255, .8);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.home-invaders-ship,
.home-invaders-enemy { position: absolute; z-index: 1; display: block; object-fit: contain; }
.home-invaders-ship { width: min(72%, 290px); max-height: 98%; bottom: -3%; filter: drop-shadow(0 12px 25px rgba(255, 40, 147, .35)); }
.home-invaders-enemy { width: clamp(46px, 7cqw, 76px); opacity: .88; filter: drop-shadow(0 0 14px rgba(255, 59, 137, .32)); }
.home-invaders-enemy-left { top: 27%; left: 8%; transform: rotate(-16deg); }
.home-invaders-enemy-right { top: 18%; right: 8%; transform: rotate(15deg); }

.home-invaders-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

@container (max-width: 640px) {
  .home-invaders-card { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .home-invaders-art { grid-row: 1; min-height: 160px; }
  .home-invaders-copy { grid-row: 2; padding: 0 .15rem .15rem; }
  .home-invaders-ship { width: min(45%, 170px); bottom: -14%; }
  .home-invaders-enemy { width: 48px; }
  .home-invaders-enemy-left { top: 40%; left: 18%; }
  .home-invaders-enemy-right { top: 30%; right: 18%; }
}

@container (max-width: 390px) {
  .home-invaders-card { padding: .85rem; border-radius: 16px; }
  .home-invaders-art { min-height: 132px; border-radius: 10px; }
  .home-invaders-art-label { font-size: .57rem; top: .6rem; left: .7rem; }
  .home-invaders-copy h2 { margin-top: .45rem; font-size: clamp(2rem, 10cqw, 2.45rem); }
  .home-invaders-copy p { margin-bottom: 1rem; }
  .home-invaders-button { width: 100%; }
}
