:root{
  --fl-navy:#0d1026;
  --fl-navy-2:#151a3b;
  --fl-blue:#0565e3;
  --fl-blue-2:#4f8df7;
  --fl-orange:#f86905;
  --fl-ink:#111827;
  --fl-muted:#667085;
  --fl-border:#e6eaf0;
  --fl-soft:#f6f8fc;
  --fl-card:#ffffff;
  --fl-shadow:0 24px 70px rgba(13,16,38,.10);
  --fl-shadow-sm:0 12px 34px rgba(13,16,38,.08);
}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--fl-ink);background:#fff;letter-spacing:-.01em}
body, p, .main-font{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
h1,h2,h3,h4,h5,h6{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:-.045em;color:var(--fl-navy);font-weight:800}
p{color:var(--fl-muted);line-height:1.75}
.container-xxl{max-width:1280px}
.divider{border-color:#eef1f6;opacity:1}

/* Header */
#header{position:relative;z-index:1000}
#header .wsmainfull{background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(13,16,38,.07);box-shadow:0 8px 30px rgba(13,16,38,.04)}
#header .wsmainwp{max-width:1280px;padding-left:24px;padding-right:24px}
.desktoplogo img,.smllogo img{max-height:42px!important;width:auto!important}
.wsmenu>.wsmenu-list>li>a.h-link{font-weight:700!important;color:#253047!important;font-size:15px!important;letter-spacing:-.01em;padding-left:17px!important;padding-right:17px!important}
.wsmenu>.wsmenu-list>li>a.h-link:hover{color:var(--fl-blue)!important}
.wsmenu .sub-menu{border:1px solid rgba(13,16,38,.08)!important;border-radius:16px!important;box-shadow:0 20px 60px rgba(13,16,38,.12)!important;padding:9px!important;overflow:hidden;background:#fff!important}
.wsmenu .sub-menu li a{border-radius:10px!important;padding:12px 14px!important;font-weight:600!important;color:#344054!important}
.wsmenu .sub-menu li a:hover{background:#f5f8ff!important;color:var(--fl-blue)!important}
#header .last-link{background:linear-gradient(135deg,var(--fl-blue),#4388f5)!important;border:none!important;box-shadow:0 10px 28px rgba(5,101,227,.25)!important;color:#fff!important}
#header .last-link:hover{background:linear-gradient(135deg,var(--fl-orange),#ff944d)!important;transform:translateY(-2px)}

/* Buttons */
.btn{border-radius:14px!important;font-weight:750!important;letter-spacing:-.015em;min-height:48px;display:inline-flex;align-items:center;justify-content:center;transition:all .28s ease!important}
.btn--blue,.btn--purple,.bg--purple{background:linear-gradient(135deg,var(--fl-blue),#4a8cf7)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 12px 30px rgba(5,101,227,.22)}
.btn--blue:hover,.btn--purple:hover{background:linear-gradient(135deg,var(--fl-orange),#ff974f)!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 16px 38px rgba(248,105,5,.25)}
.btn--tra-black{border:1px solid #d9dee8!important;background:#fff!important;color:var(--fl-navy)!important}
.btn--tra-black:hover{border-color:var(--fl-navy)!important;background:var(--fl-navy)!important;color:#fff!important}

/* Hero */
.hero-3.hero-section{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(69,139,255,.30),transparent 30%),radial-gradient(circle at 84% 18%,rgba(248,105,5,.18),transparent 24%),linear-gradient(145deg,#0c1028 0%,#121a41 54%,#0c244c 100%)!important;padding-top:135px!important}
.hero-3.hero-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 80%);pointer-events:none}
.hero-3-txt{position:relative;z-index:2}
.hero-3-txt h2{color:#fff!important;font-weight:850!important;max-width:980px;margin-left:auto!important;margin-right:auto!important;line-height:1.02!important;text-wrap:balance}
.hero-3-txt p{color:rgba(255,255,255,.75)!important;max-width:760px;margin-left:auto;margin-right:auto;line-height:1.7}
.tag-widget a{display:inline-flex!important;align-items:center;gap:8px;background:rgba(255,255,255,.09)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;backdrop-filter:blur(12px);box-shadow:none!important;border-radius:999px!important;padding:10px 16px!important;font-weight:700!important;font-size:13px!important;letter-spacing:.02em}
.tag-widget a:before{content:"";width:7px;height:7px;border-radius:50%;background:#ff9b57;box-shadow:0 0 0 5px rgba(248,105,5,.12)}
.hero-3-img{position:relative;z-index:2;margin-top:52px!important;padding:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.34);backdrop-filter:blur(12px)}
.hero-3-img img{border-radius:20px;box-shadow:0 15px 50px rgba(0,0,0,.24)}
.hero-users{margin-top:24px!important;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:10px 14px;border-radius:999px;backdrop-filter:blur(8px)}
.hero-users p,.hero-users span{color:rgba(255,255,255,.74)!important}

/* Section rhythm */
.py-120{padding-top:110px!important;padding-bottom:110px!important}
.section-title{max-width:820px;margin-left:auto;margin-right:auto}
.section-title h2{line-height:1.08!important;text-wrap:balance}
.section-title p{max-width:700px;margin-left:auto;margin-right:auto}
.gr--cloud{background:linear-gradient(180deg,#f7f9fd 0%,#fff 100%)!important}

/* Feature/content cards */
.fbox-1,.cbox-1,.review-1,.blog-post-preview,.pricing-1-table,.contact-form-wrapper,.download-wrapper{border:1px solid var(--fl-border)!important;box-shadow:var(--fl-shadow-sm)!important;background:rgba(255,255,255,.96)!important;border-radius:22px!important;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease!important}
.fbox-1:hover,.cbox-1:hover,.review-1:hover,.blog-post-preview:hover{transform:translateY(-6px);box-shadow:var(--fl-shadow)!important;border-color:rgba(5,101,227,.18)!important}
.fbox-1-img,.cbox-1-img{border-radius:16px!important;overflow:hidden;background:#f4f7fb!important}
.fbox-1-img img,.cbox-1-img img{transition:transform .45s ease}.fbox-1:hover .fbox-1-img img{transform:scale(1.025)}
.fbox-txt h5,.cbox-txt h5{font-weight:800!important;color:var(--fl-navy)!important}

/* Pricing */
.pricing-1-wrapper .row{align-items:stretch!important}.pricing-1-wrapper .col{display:flex;margin-bottom:28px}.pricing-1-table{width:100%;padding:34px!important;display:flex;flex-direction:column;position:relative;overflow:hidden}
.pricing-1-table.highlight{border:1.5px solid rgba(5,101,227,.45)!important;box-shadow:0 24px 70px rgba(5,101,227,.14)!important;transform:translateY(-10px)}
.pricing-1-table.highlight:before{content:"";position:absolute;right:-60px;top:-70px;width:170px;height:170px;border-radius:50%;background:rgba(5,101,227,.08)}
.highlight-badge{border-radius:999px!important;background:linear-gradient(135deg,var(--fl-blue),#4a8cf7)!important;padding:8px 14px!important}
.pricing-table-header .main-font{font-weight:800!important;color:var(--fl-navy)!important}.price span.color--header{font-size:54px!important;font-weight:850!important;letter-spacing:-.05em}.pricing-features{flex:1}.pricing-features li{margin-bottom:10px!important;color:#475467!important}.pricing-1-table .pt-btn{width:100%!important;margin-top:auto}
.toggle-btn{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid var(--fl-border);border-radius:999px;box-shadow:0 10px 28px rgba(13,16,38,.06)}

/* Forms */
.form-control,select.form-control,textarea.form-control{border:1px solid #dfe4ec!important;border-radius:13px!important;background:#fff!important;min-height:50px!important;color:#1d2939!important;box-shadow:none!important;padding-left:15px!important;padding-right:15px!important}
textarea.form-control{min-height:130px!important;padding-top:14px!important}.form-control:focus{border-color:rgba(5,101,227,.65)!important;box-shadow:0 0 0 4px rgba(5,101,227,.08)!important}
label{font-weight:700;color:#344054}
.alert{border-radius:14px!important;border-width:1px!important}

/* Demo form */
.demo-request-section{background:radial-gradient(circle at 10% 20%,rgba(5,101,227,.06),transparent 25%),linear-gradient(180deg,#f7f9fd,#fff)!important}
.demo-request-shell{border:1px solid var(--fl-border)!important;border-radius:28px!important;box-shadow:0 34px 90px rgba(13,16,38,.10)!important;overflow:hidden}
.demo-request-heading{background:linear-gradient(145deg,#fff,#f7f9fd)!important}.demo-request-heading h3{font-weight:850!important}.demo-interest-option{border-radius:14px!important;transition:all .2s ease!important}.demo-interest-option:has(input:checked){border-color:rgba(5,101,227,.55)!important;background:#f3f7ff!important;box-shadow:0 0 0 3px rgba(5,101,227,.06)}

/* Inner page banners */
.inner-page-hero{position:relative}.download-wrapper{overflow:hidden!important}.download-wrapper img{border-radius:18px!important}

/* Blog */
.blog-post-preview{overflow:hidden!important}.blog-post-preview .blog-post-img{overflow:hidden;border-radius:16px!important}.blog-post-preview img{transition:transform .45s ease}.blog-post-preview:hover img{transform:scale(1.03)}

/* FAQ */
.accordion .card,.accordion-item{border:1px solid var(--fl-border)!important;border-radius:16px!important;margin-bottom:12px!important;overflow:hidden;box-shadow:0 8px 22px rgba(13,16,38,.04)!important}

/* Stripe pages */
.stripe-success-card,.stripe-cancel-card{border:1px solid var(--fl-border)!important;border-radius:28px!important;box-shadow:var(--fl-shadow)!important}

/* Footer */
#banner .banner-4-wrapper{background:radial-gradient(circle at 85% 20%,rgba(248,105,5,.22),transparent 30%),linear-gradient(135deg,#0d1026,#16285b)!important;border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 80px rgba(13,16,38,.18);border-radius:28px!important;overflow:hidden}
#banner .banner-4-txt h2{color:#fff!important;text-wrap:balance}.footer-2{background:#fbfcfe!important;padding-bottom:34px}.footer-info p{max-width:380px}.footer-2 .main-font{font-weight:800!important;color:var(--fl-navy)!important}.foo-links a,.bottom-footer a{color:#667085!important;transition:color .2s ease}.foo-links a:hover,.bottom-footer a:hover{color:var(--fl-blue)!important}.footer-socials a{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--fl-border);border-radius:12px;background:#fff;transition:all .2s ease}.footer-socials a:hover{border-color:transparent;background:var(--fl-navy);color:#fff!important;transform:translateY(-2px)}

/* Responsive */
@media(max-width:991px){
  .hero-3.hero-section{padding-top:105px!important}.hero-3-txt h2{font-size:50px!important}.hero-3-img{margin-top:38px!important}.pricing-1-table.highlight{transform:none}.py-120{padding-top:80px!important;padding-bottom:80px!important}
  .wsmobileheader{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(16px);border-bottom:1px solid rgba(13,16,38,.07)!important}
}
@media(max-width:575px){
  .hero-3.hero-section{padding-top:92px!important}.hero-3-txt h2{font-size:39px!important;line-height:1.05!important}.hero-3-txt p{font-size:16px!important}.tag-widget a{font-size:11px!important}.hero-3-img{border-radius:18px;padding:6px}.hero-3-img img{border-radius:13px}.section-title h2{font-size:36px!important}.py-120{padding-top:68px!important;padding-bottom:68px!important}.pricing-1-table{padding:26px!important}.demo-request-shell{border-radius:20px!important}
}

/* =========================================================
   FaithLink premium feature cards
   ========================================================= */
.faith-feature-section {
  position: relative;
  overflow: hidden;
}
.faith-feature-section::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  left: -260px;
  top: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(44, 108, 255, .085) 0%, rgba(44, 108, 255, 0) 70%);
  pointer-events: none;
}
.faith-feature-section::after {
  content: "";
  position: absolute;
  width: 460px;
  height: 460px;
  right: -230px;
  bottom: 20px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(111, 83, 255, .075) 0%, rgba(111, 83, 255, 0) 72%);
  pointer-events: none;
}
.faith-feature-section .container-xxl { position: relative; z-index: 1; }
.faith-feature-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 8px 13px;
  border: 1px solid rgba(46, 101, 255, .12);
  border-radius: 999px;
  background: rgba(46, 101, 255, .055);
  color: #2f63e9;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.faith-feature-grid { align-items: stretch; }
.faith-feature-grid > [class*="col-"] { display: flex; }
.faith-feature-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 330px;
  padding: 32px;
  overflow: hidden;
  border: 1px solid #e7ebf3;
  border-radius: 22px;
  background: linear-gradient(145deg, #ffffff 0%, #ffffff 70%, #f8faff 100%);
  box-shadow: 0 14px 40px rgba(22, 34, 60, .055);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.faith-feature-card::after {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  right: -95px;
  top: -95px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(44, 108, 255, .12), rgba(111, 83, 255, .03));
  transition: transform .45s ease, opacity .45s ease;
  opacity: .75;
}
.faith-feature-card:hover {
  transform: translateY(-7px);
  border-color: rgba(47, 99, 233, .22);
  box-shadow: 0 24px 60px rgba(22, 34, 60, .10);
}
.faith-feature-card:hover::after { transform: scale(1.25); opacity: 1; }
.faith-feature-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 27px;
  border: 1px solid rgba(46, 101, 255, .10);
  border-radius: 17px;
  background: linear-gradient(145deg, #f1f5ff, #e9f0ff);
  color: #2f63e9;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .35s ease, background .35s ease, color .35s ease;
}
.faith-feature-icon i { font-size: 27px; line-height: 1; }
.faith-feature-card:hover .faith-feature-icon {
  transform: rotate(-3deg) scale(1.05);
  background: linear-gradient(135deg, #2f63e9, #6f53ff);
  color: #fff;
}
.faith-feature-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 13px;
  color: #111528;
  font-size: 25px;
  line-height: 1.18;
  letter-spacing: -.025em;
}
.faith-feature-card p {
  position: relative;
  z-index: 1;
  margin: 0 0 28px;
  color: #647087;
  font-size: 16px;
  line-height: 1.72;
}
.faith-feature-link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin-top: auto;
  color: #171c2c;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.faith-feature-link::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 1px;
  background: currentColor;
  transform: scaleX(.25);
  transform-origin: left;
  opacity: .3;
  transition: transform .3s ease, opacity .3s ease;
}
.faith-feature-link i { font-size: 16px; transition: transform .3s ease; }
.faith-feature-link:hover { color: #2f63e9; }
.faith-feature-link:hover::before { transform: scaleX(1); opacity: .65; }
.faith-feature-link:hover i { transform: translateX(5px); }
.faith-feature-page .faith-feature-card--full { min-height: 350px; }
@media (max-width: 991.98px) {
  .faith-feature-card { min-height: 310px; padding: 28px; }
}
@media (max-width: 767.98px) {
  .faith-feature-section { padding-top: 85px !important; padding-bottom: 85px !important; }
  .faith-feature-card, .faith-feature-page .faith-feature-card--full { min-height: 0; padding: 26px; border-radius: 19px; }
  .faith-feature-icon { width: 54px; height: 54px; margin-bottom: 23px; border-radius: 15px; }
  .faith-feature-card h3 { font-size: 23px; }
  .faith-feature-card p { font-size: 15px; line-height: 1.65; }
}

/* ================================================================
   FaithLink premium "Why FaithLink" editorial section
   ================================================================ */
.faith-why-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 9% 18%, rgba(255, 107, 0, .09), transparent 25%),
    radial-gradient(circle at 93% 84%, rgba(47, 99, 233, .07), transparent 28%),
    #f6f8fb;
}
.faith-why-section::after {
  content: "";
  position: absolute;
  width: 330px;
  height: 330px;
  right: -150px;
  top: -160px;
  border: 1px solid rgba(17, 21, 40, .06);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(255,255,255,.20), 0 0 0 84px rgba(255,255,255,.12);
  pointer-events: none;
}
.faith-why-intro { max-width: 505px; }
.faith-why-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: #f26a10;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
}
.faith-why-kicker::before {
  content: "";
  width: 26px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
}
.faith-why-intro h2 {
  margin: 0 0 25px;
  color: #0f1329;
  font-size: clamp(42px, 4.2vw, 68px);
  line-height: .98;
  letter-spacing: -.055em;
}
.faith-why-intro h2 span { color: #81899b; font-size: .94em; }
.faith-why-intro > p {
  max-width: 475px;
  margin: 0 0 30px;
  color: #626d83;
  font-size: 17px;
  line-height: 1.75;
}
.faith-why-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 22px;
  border-radius: 999px;
  background: #121827;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(18, 24, 39, .16);
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
}
.faith-why-cta:hover {
  color: #fff;
  background: #f26a10;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(242, 106, 16, .20);
}
.faith-why-cta i { transition: transform .28s ease; }
.faith-why-cta:hover i { transform: translate(2px, -2px); }
.faith-why-proof {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid rgba(17, 21, 40, .09);
}
.faith-why-proof-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: #fff;
  color: #f26a10;
  border: 1px solid rgba(17,21,40,.07);
  box-shadow: 0 8px 22px rgba(18,24,39,.06);
}
.faith-why-proof strong,
.faith-why-proof span { display: block; }
.faith-why-proof strong { color: #15192b; font-size: 14px; margin-bottom: 2px; }
.faith-why-proof span { color: #7b8496; font-size: 13px; }
.faith-why-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 40px;
}
.faith-why-card {
  min-height: 250px;
  padding: 28px;
  border: 1px solid rgba(17, 21, 40, .08);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 40px rgba(22, 29, 50, .065);
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}
.faith-why-card--offset { transform: translateY(28px); }
.faith-why-card:hover {
  transform: translateY(-5px);
  border-color: rgba(242, 106, 16, .24);
  box-shadow: 0 22px 48px rgba(22,29,50,.10);
}
.faith-why-card--offset:hover { transform: translateY(21px); }
.faith-why-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 43px;
}
.faith-why-card-top span {
  color: #9aa2b2;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}
.faith-why-card-top i {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: #fff4ec;
  color: #f26a10;
  font-size: 21px;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(242,106,16,.08);
  transition: transform .32s ease, background .32s ease, color .32s ease;
}
.faith-why-card:hover .faith-why-card-top i {
  transform: rotate(-4deg) scale(1.06);
  background: #f26a10;
  color: #fff;
}
.faith-why-card h3 {
  margin: 0 0 12px;
  color: #111528;
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: -.025em;
}
.faith-why-card p {
  margin: 0;
  color: #69748a;
  font-size: 15px;
  line-height: 1.68;
}
@media (max-width: 991.98px) {
  .faith-why-intro { max-width: 680px; margin-bottom: 18px; }
  .faith-why-grid { margin-top: 15px; }
  .faith-why-card--offset { transform: none; }
  .faith-why-card--offset:hover { transform: translateY(-5px); }
}
@media (max-width: 575.98px) {
  .faith-why-section { padding-top: 85px !important; padding-bottom: 85px !important; }
  .faith-why-intro h2 { font-size: 43px; }
  .faith-why-intro > p { font-size: 16px; }
  .faith-why-grid { grid-template-columns: 1fr; gap: 14px; }
  .faith-why-card { min-height: 0; padding: 24px; border-radius: 20px; }
  .faith-why-card-top { margin-bottom: 34px; }
  .faith-why-proof { align-items: flex-start; }
}
