.promise-hero-art {
  min-height: 580px;
  position: relative;
  overflow: hidden;
  border: 1px solid #112a50;
  background: radial-gradient(circle at 70% 25%, #efae21 0 16%, transparent 16.4%), linear-gradient(145deg, #194ed8 0 48%, #0a1930 48% 100%);
}
.promise-hero-art::before {
  content: "";
  position: absolute;
  inset: 8% 8% auto auto;
  width: 65%;
  height: 72%;
  border: 1px solid #ffffff5e;
  background: repeating-linear-gradient(0deg, transparent 0 42px, #ffffff16 43px 44px), repeating-linear-gradient(90deg, transparent 0 42px, #ffffff16 43px 44px);
}
.promise-hero-art img { width: 64%; height: 96%; position: absolute; z-index: 2; right: -2%; bottom: -5%; object-fit: contain; object-position: right bottom; filter: drop-shadow(0 15px 9px #07142988); }
.promise-hero-art__count { position: absolute; z-index: 3; left: 8%; top: 10%; color: #fff; }
.promise-hero-art__count strong { display: block; font-family: Georgia, serif; font-size: clamp(90px, 10vw, 160px); font-weight: 500; line-height: .8; }
.promise-hero-art__count span { display: block; margin-top: 18px; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.promise-hero-art__stamp { max-width: 190px; padding: 13px; position: absolute; z-index: 4; left: 8%; bottom: 10%; border: 2px solid #cf3f25; background: #fbf8f1; color: #112a50; transform: rotate(-4deg); font-family: Georgia, serif; font-size: 20px; line-height: 1.1; }

.story-card--promise { background: #efae21; }
.story-card--promise .story-card__visual { background: #112a50; color: #fff; }
.story-card--promise .story-card__shape--one { width: 44%; height: 44%; border-radius: 50%; background: #efae21; }
.story-card--promise .story-card__shape--two { width: 32%; height: 65%; background: #194ed8; transform: rotate(18deg); }
.story-card--promise .story-card__shape--three { width: 22%; height: 22%; border-radius: 50%; background: #cf3f25; }

.promise-feature { margin: 0 2.5vw 72px; padding: clamp(34px, 5vw, 72px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .7fr); gap: 6vw; align-items: center; border: 1px solid #112a50; background: #efae21; box-shadow: 10px 10px 0 #112a50; }
.promise-feature__copy > span { font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.promise-feature__copy h2 { max-width: 850px; margin: 18px 0 0; font-family: Georgia, serif; font-size: clamp(48px, 6vw, 90px); font-weight: 500; letter-spacing: -.05em; line-height: .9; }
.promise-feature__copy p { max-width: 650px; margin: 24px 0 0; font-size: 14px; line-height: 1.7; }
.promise-feature__copy a { width: fit-content; margin-top: 30px; padding: 14px 18px; display: inline-flex; border: 1px solid #112a50; background: #112a50; color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.promise-feature__art { min-height: 360px; position: relative; overflow: hidden; background: #194ed8; border: 1px solid #112a50; }
.promise-feature__art img { width: 85%; height: 100%; position: absolute; right: -5%; bottom: -3%; object-fit: contain; object-position: right bottom; }
.promise-feature__art strong { position: absolute; z-index: 2; top: 24px; left: 24px; color: #fff; font-family: Georgia, serif; font-size: 84px; font-weight: 500; line-height: .8; }
.promise-feature__art span { position: absolute; z-index: 2; top: 104px; left: 28px; color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }

.catalogue-card--promise .catalogue-card__visual { background: #efae21; }
.catalogue-card--promise .catalogue-card__visual::after { content: "20"; position: absolute; right: 8%; bottom: 6%; color: #112a50; font-family: Georgia, serif; font-size: clamp(80px, 9vw, 150px); line-height: .8; }

@media (max-width: 850px) {
  .promise-hero-art { min-height: 430px; }
  .promise-hero-art img { width: 80%; }
  .promise-feature { margin: 0 20px 64px; padding: 26px; grid-template-columns: 1fr; }
  .promise-feature__art { min-height: 300px; }
}
