:root {
  --lc-primary: #2580fe;
  --lc-primary-dark: #1265d3;
  --lc-navy: #102a43;
  --lc-text: #334e68;
  --lc-muted: #627d98;
  --lc-border: #dce6ef;
  --lc-surface: #f6f9fc;
  --lc-radius: 10px;
  --lc-shadow: 0 10px 30px rgba(16, 42, 67, .09);
}

body.site-body {
  color: var(--lc-text);
  font-size: 16px;
  line-height: 1.7;
}

body.site-body h1,
body.site-body h2,
body.site-body h3,
body.site-body h4,
body.site-body h5,
body.site-body h6 {
  color: var(--lc-navy);
  font-weight: 600;
  letter-spacing: -.015em;
}

body.site-body .light h1,
body.site-body .light h2,
body.site-body .light h3,
body.site-body .light h4,
body.site-body .light h5,
body.site-body .light h6,
body.site-body .banner-text.light .title-intro,
body.site-body .banner-text.light .title-intro-sub {
  color: #fff;
}

body.site-body .btn:not(.final-cta-button),
body.site-body button.btn:not(.final-cta-button) {
  min-height: 44px;
  padding: 11px 23px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: .04em;
  box-shadow: 0 6px 16px rgba(37, 128, 254, .16);
}

body.site-body .btn:hover,
body.site-body .btn:focus {
  transform: translateY(-1px);
  box-shadow: 0 9px 22px rgba(37, 128, 254, .22);
}

body.site-body .btn-outline {
  color: var(--lc-primary);
  background: #fff;
}

body.site-body .section-pad {
  padding-top: 72px;
  padding-bottom: 72px;
}

body.site-body .section-pad-sm {
  padding-top: 46px;
  padding-bottom: 46px;
}

body.site-body .feature.boxed,
body.site-body .post-boxed {
  overflow: hidden;
  border: 1px solid var(--lc-border);
  border-radius: var(--lc-radius);
  box-shadow: var(--lc-shadow);
}

body.site-body .feature.boxed {
  transition: transform .2s ease, box-shadow .2s ease;
}

body.site-body .feature.boxed:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(16, 42, 67, .14);
}

body.site-body .form-control,
body.site-body select,
body.site-body textarea {
  border-color: var(--lc-border);
  border-radius: 8px;
}

body.site-body .footer-widget {
  background: var(--lc-navy);
  color: #d9e5ef;
  font-size: 14px;
  line-height: 1.65;
}

body.site-body .footer-widget .wgs-title {
  color: #fff;
  font-size: 16px;
  letter-spacing: .02em;
  text-transform: none;
}

body.site-body .footer-widget a:hover,
body.site-body .footer-widget a:focus {
  color: #7fbdff;
}

@media (max-width: 767px) {
  body.site-body { font-size: 15px; }
  body.site-body .section-pad { padding-top: 48px; padding-bottom: 48px; }
  body.site-body .section-pad-sm { padding-top: 36px; padding-bottom: 36px; }
  body.site-body .btn:not(.final-cta-button) { min-height: 46px; }
  body.site-body .feature.boxed { box-shadow: 0 6px 18px rgba(16, 42, 67, .08); }
}

@media (prefers-reduced-motion: reduce) {
  body.site-body .btn,
  body.site-body .feature.boxed { transition: none; transform: none; }
}
