.injection-banner {
  margin: 0;
  padding: 22px max(24px, calc((100vw - 1140px)/2));
  min-height: 108px;
  display: flex;
  align-items: center;
  gap: 22px;
  color: #fff;
  background: linear-gradient(105deg, #011436, #073d67);
  box-shadow: inset 0 1px #ffffff18;
}
.pen-product { display:block; width:clamp(220px,24vw,330px); height:auto; flex:0 1 330px; filter:drop-shadow(0 10px 16px #0007); }
.injection-banner-copy { display: grid; gap: 3px; margin-right: auto; }
.injection-banner-copy strong { font: 30px Marcellus, serif; }
.injection-banner-copy span { color: #c3d5e3; font-size: 13px; }
.injection-banner .availability { white-space: nowrap; color: #67dbf3; font-weight: 800; font-size: 13px; }
.injection-banner .availability-image { width: 150px; height: auto; flex: 0 0 auto; padding: 7px 10px; border-radius: 14px; background: #fff; object-fit: contain; }
.injection-banner a { padding: 12px 20px; border-radius: 999px; background: linear-gradient(135deg,#b88a2e,#e5ca7a 52%,#c9a34d); color: #171b46; border:1px solid #f1dc9d; box-shadow:0 10px 26px #0004,inset 0 1px #fff8; font-weight: 800; }
@media (max-width: 760px) {
  .injection-banner { flex-wrap: wrap; gap: 12px 16px; padding-top: 18px; padding-bottom: 18px; }
  .pen-product { width:min(230px,58vw); flex-basis:230px; }
  .injection-banner-copy { width:auto; min-width:180px; }
  .injection-banner-copy strong { font-size: 22px; line-height: 1.1; }
  .injection-banner-copy span { font-size: 12px; }
  .injection-banner .availability { margin-left: 0; }
  .injection-banner .availability-image { width: 130px; }
  .injection-banner a { margin-left: auto; min-height: 44px; display: grid; place-items: center; }
}
@media (max-width: 430px) {
  .injection-banner { display: grid; grid-template-columns: 64px 1fr; align-items: center; }
  .pen-product { grid-column:1 / -1; width:min(220px,72vw); justify-self:center; }
  .injection-banner-copy { grid-column:1 / -1; width:auto; text-align:center; }
  .injection-banner .availability { width: 100%; }
  .injection-banner .availability-image { grid-column: 1 / -1; width: min(150px,45vw); justify-self: start; }
  .injection-banner a { grid-column: 1 / -1; width: 100%; margin: 0; }
}
