.adm-home-campaign {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 3px solid #d5353c;
  color: #fff1ce;
  background: url("../image/campaign-grain.svg") 0 0 / 160px 160px,
    radial-gradient(ellipse 69% 114% at 50% 105%, #6d2838 0%, #49232e 32%, #261c24 63%, #141419 100%);
}
.adm-home-campaign::before,
.adm-home-campaign::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: min(48%, 480px);
  aspect-ratio: 480 / 250;
  background: url("../image/campaign-halftone.svg") center / contain no-repeat;
  pointer-events: none;
}
.adm-home-campaign::after {
  left: auto;
  right: 0;
  transform: scaleX(-1);
}
.adm-home-campaign__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 60px) 30px;
}
#adm-homepage .adm-home-campaign__title,
.adm-home-campaign__copy {
  width: min(82%, 470px);
  margin: 0 auto;
}
.adm-home-campaign__art,
.adm-home-campaign__saving {
  display: block;
  height: auto;
  margin: 0 auto;
}
.adm-home-campaign__art { width: 100%; }
.adm-home-campaign__saving { width: min(74%, 348px); }
.adm-home-campaign__copy { display: grid; justify-items: center; gap: 18px; }
#adm-homepage .adm-home-campaign__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 11px 21px;
  border: 1px solid #fff1ce;
  border-radius: 5px;
  background: #fff1ce;
  color: #21181d;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}
#adm-homepage .adm-home-campaign__cta:is(:hover, :focus-visible, :active) { background: #fff8e7; }
#adm-homepage .adm-home-campaign__cta:focus-visible {
  outline: 2px solid #fff1ce;
  outline-offset: 4px;
}
@media (width > 768px) {
  .adm-home-campaign__inner { padding-block: 16px; gap: 4px; }
  #adm-homepage .adm-home-campaign__title { width: 350px; }
  .adm-home-campaign__copy { width: 380px; gap: 8px; }
}
@media (max-width: 768px) {
  #adm-homepage .adm-home-campaign__title,
  .adm-home-campaign__copy { width: min(90%, 340px); }
}
@media (max-width: 640px) {
  .adm-home-campaign__inner { padding: 28px 20px 32px; }
  .adm-home-campaign__copy { gap: 12px; }
}
