/* ===== SEO CONTENT (text-left / photo-right) ===== */
.seo { --h: 583; background: transparent; }
.seo__card {
  position: absolute; top: 0; left: 316.67px; width: 1296px; height: 508px;
  background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 12px 40px rgba(7,28,55,.08);
}
.seo__photo { position: absolute; top: 0; left: 647px; width: 649px; height: 508px; object-fit: cover; }
.seo__title { position: absolute; top: 65px; left: 42px; width: 548px; font-size: 42px; line-height: 48px; font-weight: 400; color: #000; text-align: right; }
.seo__body { position: absolute; top: 148px; left: 42px; width: 548px; font-size: 21px; line-height: 32px; color: var(--basic-black); text-align: right; }
.seo__cta {
  position: absolute; top: 401px; left: 406.33px; width: 184px; height: 48px;
  display: flex; direction: ltr; align-items: center; border: 1px solid var(--green-900); border-radius: 900px; color: var(--green-900);
}
.seo__cta .circ { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(13,44,33,.4); display: flex; align-items: center; justify-content: center; }
.seo__cta .circ img { width: 24px; height: 24px; }
.seo__cta .lbl { flex: 1; text-align: center; font-weight: 700; font-size: 20px; padding-left: 6px; }

@media (max-width: 1024px) {
  .seo { --h: auto; height: auto; }
  .seo .stage { position: static; width: 100%; height: auto; transform: none; }
  .seo__card { position: relative; top: 0; left: 0; width: auto; height: auto; margin: 24px 16px; display: flex; flex-direction: column; }
  .seo__photo { position: relative; left: 0; width: 100%; height: 280px; order: 5; }
  .seo__title, .seo__body, .seo__cta { position: relative; top: 0; left: 0; width: auto; }
  .seo__title { font-size: 27px; line-height: 1.2; padding: 22px 20px 0; }
  .seo__body { font-size: 16px; line-height: 1.6; padding: 14px 20px 0; }
  .seo__cta { margin: 20px 20px 24px; }
}
