/* 확정된 블루 CTA. 기존 문의 폼은 숨김 보관합니다. */
#sect-15-archived[hidden], .sc-cta [hidden] { display: none !important; }
.sc-cta {
  position: relative;
  isolation: isolate;
  padding: 0;
  scroll-margin-top: 100px;
  background: #3b6bff;
  z-index: 2;
}
.sc-cta__panel {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 740px;
  padding: 110px 60px 130px;
  overflow: hidden;
  isolation: isolate;
}
.sc-cta__content { position: relative; z-index: 1; width: 100%; max-width: 1160px; text-align: center; }
.sc-cta__title { margin: 0; font-size: clamp(40px,4.5vw,66px); font-weight: 800; line-height: 1.18; letter-spacing: -.045em; word-break: keep-all; color: #fff; }
.sc-cta__description { margin: 28px 0 36px; color: #a1a1aa; font-size: 17px; line-height: 1.85; word-break: keep-all; }
.sc-cta__action {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  min-height: 64px;
  padding: 19px 32px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--brand, #3b6bff);
  color: #fff;
  font: inherit;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  overflow: hidden;
  transition: background .28s, box-shadow .28s, transform .28s;
}
.sc-cta__action span { font-size: 24px; line-height: 1; transition: transform .28s; }
.sc-cta__action:focus-visible { outline: 3px solid #7c9bff; outline-offset: 5px; }
.sc-cta__panel--blue { background: #3b6bff; }
.sc-cta__panel--blue::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 85% 0%,rgba(255,255,255,.12),transparent 55%),linear-gradient(160deg,transparent 50%,rgba(14,47,168,.4));
}
.sc-cta__panel--blue .sc-cta__title { font-size: clamp(48px,6vw,84px); letter-spacing: -.055em; }
.sc-cta__panel--blue .sc-cta__description { color: rgba(255,255,255,.86); }
.sc-cta__panel--blue .sc-cta__action { background: #fff; color: #0e2fa8; border-radius: 999px; min-width: 320px; }
.sc-cta__panel--blue .sc-cta__action:focus-visible { outline-color: #fff; }
@media (hover:hover) and (pointer:fine) {
  .sc-cta__action:hover { background: #527dff; transform: translateY(-3px); box-shadow: 0 12px 32px rgba(59,107,255,.26); }
  .sc-cta__action:hover span { transform: translate(3px,-3px); }
  .sc-cta__panel--blue .sc-cta__action:hover { background: #edf1ff; box-shadow: 0 12px 32px rgba(14,47,168,.25); }
}
@media (max-width: 992px) {
  .sc-cta__panel { min-height: 680px; padding: 90px 40px 120px; }
}
@media (max-width: 768px) {
  .sc-cta { scroll-margin-top: 125px; }
  .sc-cta__panel { min-height: 660px; padding: 76px 24px 112px; }
  .sc-cta__title { font-size: clamp(29px,7.3vw,46px); line-height: 1.25; }
  .sc-cta__description { font-size: 15px; margin: 24px 0 30px; }
  .sc-cta__action { width: 100%; max-width: 360px; min-height: 60px; font-size: 16px; padding: 17px 22px; gap: 22px; }
  .sc-cta__panel--blue .sc-cta__title { font-size: clamp(36px,9vw,58px); }
  .sc-cta__panel--blue .sc-cta__action { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .sc-cta *, .sc-cta *::before, .sc-cta *::after { animation: none !important; transition: none !important; }
}

/* FAQ의 원래 높이를 유지한 채 CTA가 앞 레이어로 올라옵니다. */
.sc-cta-stack { position: relative; isolation: isolate; }
@media (prefers-reduced-motion: no-preference) {
  .sc-cta-stack #sect-faq {
    position: sticky;
    top: var(--cta-stack-top, 0px);
    z-index: 1;
  }
  .sc-cta-stack .sc-cta { box-shadow: 0 -24px 64px rgba(0,0,0,.25); }
}
