:root {
    --cs-blue: #087eb9;
    --cs-navy: #172c3e;
    --cs-ink: #34495b;
    --cs-muted: #6f8290;
    --cs-line: #dce8ee;
    --cs-sky: #f1f9fc;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--cs-ink);
    background: #fff;
    font-family: "Noto Sans KR", "Malgun Gothic", Arial, sans-serif;
    line-height: 1.7;
    word-break: keep-all;
}
a { color: inherit; text-decoration: none; }
.site-header { border-bottom: 1px solid var(--cs-line); background: #fff; }
.shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.header-row { min-height: 76px; display: flex; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; gap: 10px; color: #116a9b; font-size: 20px; font-weight: 800; letter-spacing: -.8px; white-space: nowrap; }
.brand small { display: block; color: #71818c; font-size: 9px; letter-spacing: 1.2px; line-height: 1.2; }
.brand-mark { position: relative; display: block; width: 38px; height: 38px; border-radius: 11px; background: linear-gradient(135deg,#0878b8,#2ca9d4); box-shadow: 0 5px 13px rgba(16,119,174,.18); }
.brand-mark::before { position: absolute; width: 17px; height: 17px; left: 7px; top: 6px; border: 3px solid #fff; border-radius: 50%; content: ""; }
.brand-mark::after { position: absolute; width: 10px; height: 3px; right: 3px; bottom: 8px; border-radius: 3px; background: #b9e7ff; transform: rotate(-45deg); content: ""; }
.primary-nav { display: flex; flex: 1; justify-content: flex-end; gap: 22px; align-items: center; font-size: 14px; color: #526473; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--cs-blue); font-weight: 700; }
.trial-link { flex: 0 0 auto; color: var(--cs-blue); font-size: 14px; font-weight: 800; }
.hero { padding: 78px 0 68px; background: linear-gradient(135deg, #f0f9fc 0%, #fff 63%); }
.eyebrow { margin: 0 0 12px; color: var(--cs-blue); font-size: 12px; font-weight: 800; letter-spacing: 1.5px; }
h1 { max-width: 860px; margin: 0; color: var(--cs-navy); font-size: clamp(32px, 5vw, 52px); line-height: 1.25; letter-spacing: -3px; }
.lead { max-width: 800px; margin: 22px 0 0; color: #5b7080; font-size: 17px; }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.button { display: inline-block; padding: 13px 21px; border-radius: 8px; font-weight: 800; }
.button.primary { color: #fff; background: var(--cs-blue); box-shadow: 0 8px 18px rgba(8, 126, 185, .18); }
.button.secondary { border: 1px solid #aac8d8; color: #176e9d; background: #fff; }
.breadcrumb { padding: 18px 0 0; color: #728390; font-size: 13px; }
.breadcrumb a { color: #3f7999; }
.content { padding: 62px 0 84px; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 44px; align-items: start; }
.content h2 { margin: 0 0 14px; color: var(--cs-navy); font-size: 28px; line-height: 1.35; letter-spacing: -1.5px; }
.content h3 { margin: 0 0 8px; color: #205c7c; font-size: 18px; }
.content p { margin: 0; color: #58707f; }
.section + .section { margin-top: 48px; }
.problem-list, .flow-list, .related-list { margin: 16px 0 0; padding: 0; list-style: none; }
.problem-list li { position: relative; margin: 8px 0; padding-left: 18px; }
.problem-list li::before { position: absolute; left: 0; color: var(--cs-blue); content: "•"; }
.flow-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.flow-list li { padding: 15px 12px; border: 1px solid var(--cs-line); border-radius: 9px; background: #fff; color: #31566b; font-weight: 700; text-align: center; }
.flow-list li:not(:last-child)::after { color: #69a5c0; content: " →"; }
.info-card, .sidebar-card { padding: 24px; border: 1px solid var(--cs-line); border-radius: 12px; background: var(--cs-sky); }
.info-card { margin-top: 18px; }
.info-card ul { margin: 10px 0 0; padding-left: 20px; color: #466273; }
.sidebar-card + .sidebar-card { margin-top: 16px; }
.sidebar-card strong { display: block; color: var(--cs-navy); font-size: 17px; }
.sidebar-card p { margin-top: 6px; font-size: 14px; }
.related-list li { border-top: 1px solid var(--cs-line); }
.related-list a { display: block; padding: 11px 0; color: #24739d; font-size: 14px; font-weight: 700; }
.screen-note { margin-top: 18px; padding: 18px; border-left: 4px solid #9dcfe6; background: #f7fbfd; color: #55707f; font-size: 14px; }
.feature-demo figure { margin: 18px 0 0; overflow: hidden; border: 1px solid var(--cs-line); border-radius: 12px; background: #f7fbfd; }
.feature-demo img { display: block; width: 100%; height: auto; border: 1px solid #e2ebef; border-radius: 8px; }
.feature-demo figcaption { padding: 12px 14px; color: var(--cs-muted); font-size: 13px; }
.board-grid { display: grid; gap: 14px; }
.post-card { display: block; padding: 24px; border: 1px solid var(--cs-line); border-radius: 12px; background: #fff; transition: border-color .2s ease, transform .2s ease; }
.post-card:hover { border-color: #79bad8; transform: translateY(-2px); }
.post-card .type { color: var(--cs-blue); font-size: 12px; font-weight: 800; letter-spacing: .8px; }
.post-card h2 { margin: 7px 0; font-size: 22px; }
.post-card p { font-size: 15px; }
.post-date { display: block; margin-top: 12px; color: var(--cs-muted); font-size: 13px; }
.article-body { max-width: 780px; }
.article-body p + p { margin-top: 16px; }
.article-question { margin: 28px 0 14px; padding: 18px 20px; border-radius: 10px; background: var(--cs-sky); color: var(--cs-navy); font-size: 19px; font-weight: 800; }
.empty-board { padding: 38px 20px; border: 1px dashed #bdd3de; border-radius: 12px; color: var(--cs-muted); text-align: center; }
.site-footer { padding: 34px 0; background: #173849; color: #d5e5ec; font-size: 13px; }
.site-footer a { color: #fff; }
.footer-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; }
@media (max-width: 760px) {
    .header-row { align-items: flex-start; flex-direction: column; gap: 12px; padding: 16px 0; }
    .primary-nav { justify-content: flex-start; flex-wrap: wrap; gap: 8px 16px; }
    .trial-link { position: absolute; right: 20px; top: 22px; }
    .hero { padding: 52px 0 46px; }
    h1 { letter-spacing: -2px; }
    .content-grid { grid-template-columns: 1fr; gap: 28px; }
}
