/* 공개 사이트(랜딩/상태/약관) 전용 스타일 — 토큰은 style.css 를 공유 */
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 22px; } .narrow { max-width: 780px; }
.nav { position: sticky; top: 0; z-index: 10; backdrop-filter: blur(var(--glass-blur)) saturate(140%); -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(140%); background: var(--glass); border-bottom: 1px solid var(--glass-brd); }
.nav .wrap { height: 62px; } .nav .brand { padding: 0; } .nav .brand:hover { text-decoration: none; color: var(--text); }
.links { display: flex; gap: 22px; } .links a { color: var(--muted); font-weight: 600; } .links a:hover { color: var(--text); text-decoration: none; }
.hero { text-align: center; padding: 84px 22px 56px; }
.hero h1 { font-size: clamp(34px, 6vw, 58px); line-height: 1.14; letter-spacing: -.025em; margin: 18px 0; font-weight: 700; }
.grad { color: var(--brand); }
.lead { color: var(--muted); font-size: 17px; max-width: 720px; margin: 0 auto 28px; }
.pill { display: inline-block; padding: 5px 14px; border-radius: 99px; background: var(--glass); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid var(--glass-brd); font-size: 13px; }
.center { justify-content: center; text-align: center; }
.btn.lg { padding: 12px 22px; font-size: 15px; border-radius: 12px; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; max-width: 760px; margin: 44px auto 0; }
.stats > div { background: var(--glass); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); border: 1px solid var(--glass-brd); border-radius: 14px; padding: 16px 8px; box-shadow: inset 0 1px 0 var(--glass-hi); }
.stats b { display: block; font-size: 30px; letter-spacing: -.02em; } .stats span { color: var(--muted); font-size: 12.5px; }
section.wrap { padding-top: 38px; padding-bottom: 38px; }
.sec { font-size: 26px; text-align: center; letter-spacing: -.02em; margin: 0 0 22px; font-weight: 700; }
.g5 { grid-template-columns: repeat(5, 1fr); }
.feat .feat-ic { color: var(--brand); margin-bottom: 10px; display: inline-flex; } .feat p, .step p, .small-cards p { color: var(--muted); margin: 6px 0 0; }
.step .n { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--brand); color: #fff; font-weight: 800; margin-bottom: 10px; box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
.plan .price { font-size: 30px; font-weight: 800; margin: 6px 0; } .plan .price small { font-size: 12px; color: var(--muted); font-weight: 600; }
details.card { margin-bottom: 10px; cursor: pointer; } details summary { font-weight: 700; } details p { margin: 10px 0 0; }
.cta { text-align: center; padding: 42px 20px; border-color: color-mix(in srgb, var(--brand) 28%, var(--glass-brd)); }
.foot { padding-top: 28px; padding-bottom: 40px; border-top: 1px solid var(--line); margin-top: 30px; } .foot a { color: var(--muted); }
.wrapflex { flex-wrap: wrap; gap: 10px; }
.prose { max-width: 780px; margin: 0 auto; padding: 40px 22px 80px; } .prose h1 { font-size: 30px; } .prose h2 { margin-top: 28px; } .prose p, .prose li { color: var(--muted); }
.status-row { display: flex; justify-content: space-between; padding: 12px 0; border-top: 1px solid var(--line); }
@media (max-width: 900px) { .g5 { grid-template-columns: repeat(2, 1fr); } .links { display: none; } .stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .hero { padding-top: 52px; } .g3, .g4 { grid-template-columns: 1fr; } .nav .btn.ghost { display: none; } }
