:root {
  --sm-bg: #faf9f7;
  --sm-ink: #111827;
  --sm-muted: #6b7280;
  --sm-line: rgba(17,24,39,.12);
  --sm-accent: #2563eb;
  --sm-card: #ffffff;
  --sm-radius: 18px;
  --sm-shadow: 0 10px 30px rgba(17,24,39,.08);
}

html, body {
  background: var(--sm-bg);
  color: var(--sm-ink);
}

body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

a {
  color: var(--sm-accent);
}

a:hover {
  opacity: .85;
}

.sm-navbar {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background: rgba(250,249,247,.85);
  border-bottom: 1px solid var(--sm-line);
}

.sm-btn {
  border-radius: 999px;
  padding: .7rem 1.05rem;
  font-weight: 600;
}

.sm-btn-primary {
  background: var(--sm-accent);
  border-color: var(--sm-accent);
}

.sm-btn-outline {
  border-radius: 999px;
  border: 1px solid var(--sm-line);
  color: var(--sm-ink);
}

.sm-hero {
  padding: 5rem 0 3rem;
}

.sm-kicker {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .78rem;
  color: var(--sm-muted);
}

.sm-card {
  background: var(--sm-card);
  border: 1px solid var(--sm-line);
  border-radius: var(--sm-radius);
  box-shadow: var(--sm-shadow);
}

.sm-card-lite {
  background: transparent;
  border: 1px solid var(--sm-line);
  border-radius: var(--sm-radius);
}

.sm-section {
  padding: 4rem 0;
}

.sm-img {
  width: 100%;
  height: auto;
  border-radius: var(--sm-radius);
  border: 1px solid var(--sm-line);
  background: #fff;
}

.sm-divider {
  border-top: 1px dashed var(--sm-line);
}

.sm-footer {
  position: relative;
  border-top: 1px solid var(--sm-line);
  background: var(--sm-bg);
}

.sm-footer-bg {
  position: absolute;
  inset: 0;
  background: white;
  opacity: .20;
  pointer-events: none;
}

.sm-footer-inner {
  position: relative;
}

.badge-sm {
  border: 1px solid var(--sm-line);
  color: var(--sm-ink);
  background: rgba(255,255,255,.6);
  border-radius: 999px;
  padding: .35rem .6rem;
  font-weight: 600;
  font-size: .8rem;
}

.sm-muted {
  color: var(--sm-muted);
}

