/* CTA banner */
  .cta-banner{background:var(--grad);border-radius:32px;padding:80px;text-align:center;color:#fff;position:relative;overflow:hidden;margin:0 28px}
  .cta-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 50% 100%,rgba(255,255,255,.22),transparent 60%)}
  .cta-banner h2{font-size:clamp(34px,4vw,56px);line-height:1.04;letter-spacing:-0.03em;font-weight:800;position:relative}
  .cta-banner .em{color:#E0E7FF}
  .cta-banner p{font-size:17px;color:rgba(255,255,255,.7);margin-top:16px;position:relative}
  .cta-banner .ctas{display:flex;gap:10px;justify-content:center;margin-top:36px;position:relative}
  .cta-banner .btn-primary{background:#fff;color:#4338CA}
  .cta-banner .btn-primary:hover{background:#fff;color:#312E81;filter:none;box-shadow:0 10px 26px rgba(0,0,0,.12)}
  .cta-banner .btn-ghost{color:#fff;border-color:rgba(255,255,255,.2)}
  .cta-banner .btn-ghost:hover{border-color:#fff}

  /* full-bleed CTA variant (홈·요금제 화면 푸터 위) */
  .cta-full-sec{padding:0}
  .cta-banner.is-full{border-radius:0;margin:0;background:var(--grad-cta);padding:48px 80px}
  .cta-banner.is-full h2{font-size:clamp(27px,2.9vw,40px)}
  .cta-banner.is-full p{font-size:clamp(17px,1.5vw,21px);color:rgba(255,255,255,.85);margin-top:18px}
  .cta-banner.is-full .ctas{margin-top:40px;gap:14px}
  .cta-banner.is-full .ctas .btn{padding:15px 40px;font-size:16px;font-weight:700}
  .cta-banner.is-full .btn-primary{background:#fff;color:#4338CA}
  .cta-banner.is-full .btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.18)}
  .cta-banner.is-full .btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.6)}
  .cta-banner.is-full .btn-ghost:hover{background:rgba(255,255,255,.24);border-color:#fff;transform:translateY(-1px)}

  /* footer */
  footer.foot{padding:96px 0 56px;background:#08070d;color:rgba(255,255,255,.62);border-top:0;margin-top:0}
  footer .ftop{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
  footer .fcompany .logo{color:#fff}
  footer .fcompany .desc{font-size:13px;color:rgba(255,255,255,.55);margin-top:14px;line-height:1.7;max-width:300px}
  footer .fcompany .bizinfo{font-size:11.5px;color:rgba(255,255,255,.38);margin-top:18px;line-height:1.8}
  footer .fcol h5{font-size:11px;font-weight:700;color:rgba(255,255,255,.55);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
  footer .fcol li{font-size:13.5px;color:rgba(255,255,255,.78);padding:5px 0;cursor:pointer;transition:color .12s}
  footer .fcol li:hover{color:#fff}
  footer .fbot{padding-top:24px;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.42)}
