:root{
  --dot:#9AEC6E; --black:#111111;
  --motion-fast:120ms; --motion-base:200ms; --motion-slow:360ms;
  --ease-out:cubic-bezier(.22,.61,.36,1); --ease-io:cubic-bezier(.4,0,.2,1);
  --font-kr: "Pretendard Variable","Pretendard",-apple-system,system-ui,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic","Segoe UI",Roboto,Arial,sans-serif;
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important}
}

html,body{ font-family: var(--font-kr); }

/* Divi common transitions */
.et_pb_button, .et_pb_button:hover,
.et_pb_blurb, .et_pb_pricing_table, .et_pb_cta, .et_pb_toggle, .et_pb_text {
  transition: transform var(--motion-base) var(--ease-out),
              box-shadow var(--motion-base) var(--ease-out),
              opacity var(--motion-base) var(--ease-out);
}
.et_pb_button:hover { transform: translateY(-2px); }
.et_pb_pricing_table:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.08); }

/* Reveal utility */
.reveal{ opacity:0; transform: translateY(12px); will-change: transform,opacity; }
.reveal.is-in{ opacity:1; transform: none; }

/* Process layout */
.ld-process{ position:relative; padding-left:52px; }
.ld-rail{ position:absolute; left:12px; top:0; height:100%; width:24px; }
.ld-steps{ display:grid; gap:20px; }
.ld-step{ position:relative; padding:18px; border:1px solid rgba(17,17,17,.12); border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(0,0,0,.05); }
.ld-step h3{ margin:0 0 6px; font-size:20px; font-weight:800; }
.ld-step .kr{ opacity:.6; font-weight:600; }
.ld-node{ position:absolute; left:-36px; top:24px; transform:translateY(-12px); }

/* Pricing */
.ld-pricing{ max-width:1200px; margin-inline:auto; padding:24px 0; }
.ld-pricing .grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:24px; }
.ld-pricing .col-4{ grid-column:span 4; }
.ld-pricing .card{ border:1px solid rgba(17,17,17,.12); border-radius:16px; padding:24px; background:#fff; display:flex; flex-direction:column; gap:14px; }
.ld-pricing .badge{ display:inline-flex; align-items:center; gap:8px; background:rgba(154,236,110,.2); border-radius:999px; height:28px; padding:0 12px; font-size:12px; font-weight:800; width:max-content }
.ld-pricing .price{ font-size:40px; font-weight:900; letter-spacing:-.01em }
.ld-pricing .muted{ color:#666 }
.ld-pricing .features{ display:flex; flex-direction:column; gap:10px; margin:8px 0 16px }
.ld-pricing .feature{ display:flex; gap:10px; align-items:center }
.ld-pricing .feature .dot{ width:8px; height:8px; border-radius:50%; background:var(--dot) }
.ld-pricing .actions{ display:flex; gap:12px; margin-top:auto }
.ld-pricing .btn{ display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 18px; border-radius:8px; border:1px solid rgba(17,17,17,.25); font-weight:700; text-decoration:none }
.ld-pricing .btn.primary{ background:var(--dot); color:var(--black); border-color:transparent }
.ld-pricing .emphasis{ outline:2px solid var(--dot); box-shadow:0 8px 32px rgba(154,236,110,.25) }

/* FAQ */
.ld-faq{ max-width:900px; margin-inline:auto; display:grid; gap:12px; }
.ld-faq details{ border:1px solid rgba(17,17,17,.12); border-radius:12px; padding:14px 16px; background:#fff }
.ld-faq summary{ cursor:pointer; font-weight:700; list-style:none }
.ld-faq summary::-webkit-details-marker{ display:none }

@media (max-width:980px){
  .ld-pricing .grid{ grid-template-columns:1fr; }
  .ld-pricing .col-4{ grid-column:auto; }
}
