.kg-rshsh-cta {
  --rshsh-ink: #19171b;
  --rshsh-red: #e31a28;
  --rshsh-red-dark: #bb101d;
  --rshsh-paper: #f6f1e9;
  box-sizing: border-box;
  /* The section lives inside the landing page's already constrained content column. */
  padding: 0;
  background: transparent;
}

.kg-rshsh-cta *, .kg-rshsh-cta *::before, .kg-rshsh-cta *::after { box-sizing: border-box; }

.kg-rshsh-cta__frame {
  position: relative;
  isolation: isolate;
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(310px, .78fr);
  min-height: min(55vh, 590px);
  overflow: hidden;
  border-radius: 28px;
  background: #fffdfa;
  box-shadow: 0 22px 54px rgba(38, 18, 18, .12);
}

.kg-rshsh-cta__copy {
  display: grid;
  align-content: center;
  justify-items: start;
  padding: clamp(38px, 6vw, 78px);
}

.kg-rshsh-cta__eyebrow {
  margin: 0 0 16px;
  color: var(--rshsh-red);
  font: 800 12px/1.2 Arial, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.kg-rshsh-cta h2 {
  max-width: 10ch;
  margin: 0;
  color: var(--rshsh-ink);
  font: 800 clamp(42px, 5.1vw, 72px)/.95 Arial, sans-serif;
  letter-spacing: -.065em;
  text-wrap: balance;
}

.kg-rshsh-cta__lead {
  max-width: 49ch;
  margin: 24px 0 0;
  color: #5d5759;
  font: 400 clamp(16px, 1.4vw, 18px)/1.55 Arial, sans-serif;
}

.kg-rshsh-cta__button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  margin-top: 32px;
  padding: 16px 22px 16px 24px;
  border-radius: 999px;
  background: var(--rshsh-red);
  color: #fff;
  font: 700 16px/1 Arial, sans-serif;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(190, 16, 29, .23);
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.kg-rshsh-cta__button svg { width: 20px; height: 20px; }
.kg-rshsh-cta__button:hover { background: var(--rshsh-red-dark); transform: translateY(-2px); box-shadow: 0 16px 26px rgba(190, 16, 29, .28); }
.kg-rshsh-cta__button:active { transform: translateY(0); }
.kg-rshsh-cta__button:focus-visible { outline: 3px solid var(--rshsh-ink); outline-offset: 4px; }

.kg-rshsh-cta__board {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  background-color: var(--rshsh-red);
  background-image:
    linear-gradient(45deg, rgba(255,255,255,.09) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.09) 75%),
    linear-gradient(45deg, rgba(255,255,255,.09) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.09) 75%),
    linear-gradient(130deg, #ef2734 0%, #d31120 53%, #a90d18 100%);
  background-position: 0 0, 42px 42px, 0 0;
  background-size: 84px 84px, 84px 84px, 100% 100%;
}

.kg-rshsh-cta__board::before {
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 18px;
  content: '';
}

.kg-rshsh-cta__mark {
  position: absolute;
  top: 32px;
  right: 35px;
  color: rgba(255,255,255,.82);
  font: 800 14px/1 Arial, sans-serif;
  letter-spacing: .14em;
}

.kg-rshsh-cta__phoenix {
  position: absolute;
  top: 50%;
  right: 50%;
  display: grid;
  place-items: center;
  width: clamp(178px, 19vw, 276px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fffaf2;
  box-shadow: 0 22px 35px rgba(100, 0, 10, .25);
  transform: translate(50%, -50%);
}
.kg-rshsh-cta__phoenix img { width: 48%; height: auto; max-height: 76%; }

@media (max-width: 760px) {
  .kg-rshsh-cta { padding: 0; }
  .kg-rshsh-cta__frame { grid-template-columns: 1fr; min-height: 0; border-radius: 20px; }
  .kg-rshsh-cta__copy { padding: 40px 26px 36px; }
  .kg-rshsh-cta h2 { max-width: 12ch; font-size: clamp(41px, 12vw, 58px); }
  .kg-rshsh-cta__lead { margin-top: 19px; }
  .kg-rshsh-cta__button { width: 100%; justify-content: center; margin-top: 27px; }
  .kg-rshsh-cta__board { min-height: 210px; }
  .kg-rshsh-cta__board::before { inset: 14px; border-radius: 12px; }
  .kg-rshsh-cta__mark { top: 24px; right: 27px; }
  .kg-rshsh-cta__phoenix { width: 184px; }
}

@media (prefers-reduced-motion: reduce) {
  .kg-rshsh-cta__button { transition: none; }
}
