:root {
  --sm-bg: #f7f5fd;
  --sm-surface: #ffffff;
  --sm-primary: #5e3bb2;
  --sm-primary-dark: #2d185d;
  --sm-accent: #22c7d6;
  --sm-text: #2b2340;
  --sm-muted: #6a6282;
  --sm-border: rgba(45,24,93,0.12);
}
body {
  background: var(--sm-bg);
  color: var(--sm-text);
  font-family: "Noto Sans KR", sans-serif;
  line-height: 1.75;
}
.sm-nav { background: linear-gradient(135deg, var(--sm-primary-dark), var(--sm-primary)); }
.sm-nav .navbar-brand img { max-width: 280px; }
.sm-nav .nav-link, .sm-nav .navbar-brand { color:#fff; }
.sm-nav .nav-link { opacity:.86; }
.sm-nav .nav-link.active, .sm-nav .nav-link:hover { color:#fff; opacity:1; }
.sm-nav .navbar-toggler { border-color: rgba(255,255,255,.4); }
.sm-nav .navbar-toggler-icon { filter: invert(1); }
.sm-hero { background: linear-gradient(180deg, #efe8ff 0%, #f7f5fd 100%); padding: 4.4rem 0 3rem; }
.sm-kicker { display:inline-block; margin-bottom:1rem; padding:.45rem .8rem; border-radius:999px; background: rgba(94,59,178,.1); color: var(--sm-primary-dark); font-weight:700; font-size:.9rem; }
#hero-heading, h1, h2, h3 { color: var(--sm-primary-dark); }
#hero-heading { font-size: clamp(2rem, 4vw, 3.1rem); font-weight: 800; }
#hero-lead { max-width: 840px; margin: .9rem auto 0; color: var(--sm-muted); }
.sm-content { background: var(--sm-surface); border: 1px solid var(--sm-border); border-radius: 24px; padding: 2rem; margin: -1rem auto 3rem; box-shadow: 0 18px 38px rgba(45,24,93,.06); }
.sm-meta { color: var(--sm-muted); font-size: .95rem; }
.sm-callout { background: rgba(19,160,255,.08); border-left: 4px solid var(--sm-accent); padding: 1rem 1.1rem; border-radius: 14px; margin: 1.4rem 0 1.8rem; }
.sm-table { width:100%; border-collapse: collapse; margin:1.5rem 0 1.75rem; }
.sm-table th, .sm-table td { border:1px solid var(--sm-border); padding:.9rem 1rem; vertical-align: top; }
.sm-table th { background: var(--sm-primary-dark); color:#fff; }
.sm-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 2rem; }
.sm-card { background: linear-gradient(180deg,#fff 0%,#faf8ff 100%); border:1px solid var(--sm-border); border-radius:20px; padding:1.4rem; }
.sm-card a, .sm-content a, .sm-footer a { color: var(--sm-primary); text-decoration:none; font-weight:700; }
.sm-card a:hover, .sm-content a:hover, .sm-footer a:hover { text-decoration: underline; }
.sm-faq details { border:1px solid var(--sm-border); border-radius:16px; padding:1rem 1.1rem; background:#fdfbff; margin-bottom:.9rem; }
.sm-faq summary { cursor:pointer; font-weight:700; color:var(--sm-primary-dark); }
.sm-footer { padding: 0 0 3rem; color: var(--sm-muted); }
.sm-footer-links { list-style:none; display:flex; justify-content:center; gap:1rem; padding:0; margin:0 0 1rem; flex-wrap:wrap; }

.sm-trust { margin: -1rem 0 1.4rem; }
.sm-trust-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:1rem; }
.sm-trust-item { background: rgba(255,255,255,.96); border:1px solid var(--sm-border); border-radius:18px; padding:1rem 1.1rem; box-shadow: 0 10px 24px rgba(45,24,93,.05); }
.sm-trust-label { display:block; font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--sm-accent); margin-bottom:.35rem; }
.sm-trust-item strong { color: var(--sm-primary-dark); display:block; margin-bottom:.2rem; }
.sm-trust-item p { margin:0; color:var(--sm-muted); font-size:.94rem; }
@media (max-width: 767px) {
  .sm-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .sm-trust-item { padding: .8rem .9rem; border-radius: 14px; }
  .sm-trust-item:last-child { grid-column: 1 / -1; }
  .sm-trust-label { font-size: .72rem; margin-bottom: .25rem; }
  .sm-trust-item p { font-size: .88rem; }
  .sm-trust { margin: -.6rem 0 .9rem; }

  .sm-hero { padding: 3.4rem 0 2.2rem; }
  .sm-content { padding: 1.3rem; border-radius: 18px; }
  .sm-grid { grid-template-columns: 1fr; }
  .sm-table { display:block; overflow-x:auto; white-space:nowrap; }
}
