﻿:root {

  /* Brand */

  --color-primary: #7158f4;

  --color-primary-dark: #5146C7;

  --color-primary-light: #8B7CF6;

  --color-primary-tint: rgba(108, 92, 231, 0.07);

  --color-primary-tint-2: rgba(108, 92, 231, 0.12);

  --color-primary-border: rgba(108, 92, 231, 0.16);

  /* Backgrounds */

  --color-hero-bg: #F8F7FF;

  --color-white: #FFFFFF;

  --color-surface: #F5F4FD;

  --color-surface-2: #FAF9FF;

  /* Text */

  --color-text-main: #101027;

  --color-text-secondary: #6B6B80;

  --color-text-muted: #9493A8;

  /* Borders */

  --color-border: #E5E3F3;

  --color-border-light: #EDEAF7;

  /* Semantic palette */

  --color-success: #36B37E;

  --color-warning: #F59E0B;

  --color-danger: #EF4444;

  --color-blue: #4B90FF;

  --color-orange: #FF7A4B;

  /* Typography */

  --font-family-base: 'Inter', system-ui, -apple-system, sans-serif;

  --fw-regular: 400;

  --fw-medium: 500;

  --fw-semibold: 600;

  --fw-bold: 700;

  --fw-extrabold: 800;

  /* Border Radius */

  --radius-xs: 4px;

  --radius-sm: 6px;

  --radius-md: 8px;

  --radius-lg: 12px;

  --radius-xl: 16px;

  --radius-2xl: 20px;

  --radius-3xl: 24px;

  --radius-pill: 999px;

  /* Shadows soft & lavender-tinted */

  --shadow-xs: 0 1px 2px rgba(16, 16, 39, 0.04);

  --shadow-sm: 0 2px 6px rgba(16, 16, 39, 0.05);

  --shadow-md: 0 4px 20px rgba(108, 92, 231, 0.07);

  --shadow-lg: 0 8px 36px rgba(108, 92, 231, 0.10);

  --shadow-xl: 0 20px 64px rgba(108, 92, 231, 0.12);

  --shadow-dashboard: 0 4px 6px rgba(16, 16, 39, 0.03), 0 12px 40px rgba(108, 92, 231, 0.10), 0 40px 80px rgba(108, 92, 231, 0.08);

  /* Timing */

  --transition-fast: 0.15s ease;

  --transition-base: 0.22s ease;

  --transition-slow: 0.35s ease;

  /* marquee */

  --sb-purple-1: #7158f4;

  --sb-purple-2: #614ad5;

  --sb-purple-glow: #8B7CFF;

  --sb-ink: #FFFFFF;

  --sb-ink-dim: rgba(255, 255, 255, .55);

  --sb-icon-ring: rgba(255, 255, 255, .14);

}



/* ============================================================

 2. Base Reset & Body

 ============================================================ */

*,

*::before,

*::after {

  box-sizing: border-box;

}



html {

  scroll-behavior: smooth;

  -webkit-text-size-adjust: 100%;

}



body {

  font-family: var(--font-family-base);

  font-size: 1rem;

  font-weight: var(--fw-regular);

  color: var(--color-text-main);

  background-color: var(--color-white);

  line-height: 1.6;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

  overflow-x: hidden;

}



img,

video {

  max-width: 100%;

  height: auto;

  display: block;

}



a {

  color: var(--color-primary);

  text-decoration: none;

  transition: color var(--transition-fast);

}



a:hover {

  color: var(--color-primary-dark);

}



ul,

ol {

  list-style: none;

  margin: 0;

  padding: 0;

}



p {

  margin: 0;

}



h1,

h2,

h3,

h4,

h5,

h6 {

  margin: 0;

}



button {

  cursor: pointer;

  font-family: inherit;

}



/* ============================================================

 3. Typography Utilities

 ============================================================ */

.section-py {

  padding-top: 96px;

  padding-bottom: 96px;

}



/* ============================================================

 4. NAVBAR

 ============================================================ */

.sb-navbar {

  position: sticky;

  top: 0;

  z-index: 1000;

  background-color: #ffffff;

  border-bottom: 1px solid #F0EEF7;

  transition: box-shadow 0.22s ease;

}



/* Barely-there shadow when scrolled */

.sb-navbar.is-scrolled {

  box-shadow: 0 1px 0 #F0EEF7, 0 4px 20px rgba(16, 16, 39, 0.04);

}



.sb-nav-container {

  max-width: 1280px;

  height: 68px;

  display: flex;

  align-items: center;

}



/* -- Brand -- */

.sb-brand {

  display: flex;

  align-items: center;

  gap: 9px;

  padding: 0;

  flex-shrink: 0;

  text-decoration: none;

}



.sb-brand__img {

  height: 60px;

  width: auto;

  display: block;

  object-fit: contain;

}



.sb-brand__icon {

  width: 30px;

  height: 30px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: linear-gradient(140deg, var(--color-primary) 0%, var(--color-primary-light) 100%);

  border-radius: var(--radius-md);

  color: #fff;

  font-size: 0.875rem;

  box-shadow: 0 2px 8px rgba(108, 92, 231, 0.28);

  flex-shrink: 0;

}



.sb-brand__name {

  font-size: 1rem;

  font-weight: var(--fw-bold);

  color: var(--color-text-main);

  letter-spacing: -0.02em;

  white-space: nowrap;

}



.sb-brand__accent {

  color: var(--color-primary);

}



/* -- Nav links -- */

.sb-nav-links {

  display: flex;

  gap: 2px;

  align-items: center;

}



.sb-nav-link {

  font-size: 0.9rem;

  font-weight: var(--fw-medium);

  color: #50546A !important;

  padding: 6px 14px !important;

  border-radius: var(--radius-md);

  letter-spacing: 0;

  line-height: 1;

  white-space: nowrap;

  transition: color 0.15s ease, background-color 0.15s ease;

}



.sb-nav-link:hover {

  color: var(--color-primary) !important;

  background-color: rgba(108, 92, 231, 0.04);

}



/* Active: subtle lavender pill */

.sb-nav-link.active {

  color: #101027 !important;

  font-weight: var(--fw-medium);

  background-color: #F5F2FF;

}



.sb-nav-link.active:hover {

  color: var(--color-primary) !important;

  background-color: #EDE8FF;

}



/* -- Right actions -- */

.sb-btn-login {

  font-size: 0.875rem;

  font-weight: var(--fw-medium);

  color: #50546A;

  background: transparent;

  border: 1px solid var(--color-border);

  padding: 7px 18px;

  border-radius: var(--radius-md);

  white-space: nowrap;

  line-height: 1.5;

  transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;

}



.sb-btn-login:hover {

  color: var(--color-primary);

  border-color: rgba(108, 92, 231, 0.28);

  background-color: rgba(108, 92, 231, 0.04);

}



.sb-btn-cta {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  font-size: 0.875rem;

  font-weight: var(--fw-semibold);

  color: #fff !important;

  background-color: var(--color-primary);

  border: none;

  padding: 8px 18px;

  border-radius: 8px;

  white-space: nowrap;

  letter-spacing: -0.01em;

  box-shadow: 0 1px 8px rgba(108, 92, 231, 0.22);

  transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;

}



.sb-btn-cta:hover {

  background-color: var(--color-primary-dark);

  box-shadow: 0 3px 14px rgba(108, 92, 231, 0.30);

  transform: translateY(-1px);

  color: #fff !important;

}



.sb-btn-cta:active {

  transform: translateY(0);

}



/* -- Custom hamburger (always shows 3 bars; X lives inside drawer only) -- */

.sb-toggler {

  display: flex;

  flex-direction: column;

  justify-content: center;

  gap: 5px;

  padding: 8px 10px;

  background: transparent;

  border: 1px solid var(--color-border);

  border-radius: var(--radius-md);

  transition: border-color 0.15s ease, background-color 0.15s ease;

  cursor: pointer;

  box-shadow: none !important;

}



.sb-toggler:hover {

  border-color: rgba(108, 92, 231, 0.30);

  background-color: rgba(108, 92, 231, 0.04);

}



.sb-toggler__bar {

  display: block;

  width: 20px;

  height: 2px;

  background-color: #50546A;

  border-radius: var(--radius-pill);

  transition: background-color 0.15s ease;

}



.sb-toggler:hover .sb-toggler__bar {

  background-color: var(--color-primary);

}



.sb-toggler:focus,

.sb-toggler:focus-visible {

  outline: none !important;

  box-shadow: 0 0 0 2px rgba(113, 88, 244, 0.25) !important;

}



/* Desktop: hide hamburger at >=992px (Bootstrap handles this via navbar-toggler) */

@media (min-width: 992px) {

  .sb-toggler {

    display: none !important;

  }

}



/* -- Offcanvas Mobile Menu (Right Side - Refined & Functional) -- */

@media (max-width: 991.98px) {



  /* Prevent background scrolling when offcanvas is open */

  body.offcanvas-open {

    overflow: hidden !important;

    height: 100vh !important;

    touch-action: none;

  }



  /* Fixed Right-Side Offcanvas Drawer Base */

  .sb-offcanvas.offcanvas-end {

    position: fixed !important;

    top: 0 !important;

    right: 0 !important;

    bottom: 0 !important;

    width: 85vw !important;

    max-width: 360px !important;

    min-width: 280px !important;

    height: 100vh !important;

    height: 100dvh !important;

    background-color: #FFFFFF !important;

    border-left: 1px solid #F0EEF7 !important;

    box-shadow: -10px 0 40px rgba(16, 16, 39, 0.15) !important;

    z-index: 1055 !important;

    display: flex !important;

    flex-direction: column !important;

    margin: 0 !important;

    padding-top: max(0px, env(safe-area-inset-top));

    padding-bottom: max(0px, env(safe-area-inset-bottom));

    transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1), visibility 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;

  }



  /* When Drawer is CLOSED (Without .show) */

  .sb-offcanvas.offcanvas-end:not(.show) {

    transform: translateX(100%) !important;

    visibility: hidden !important;

    pointer-events: none !important;

  }



  /* When Drawer is OPEN (With .show) */

  .sb-offcanvas.offcanvas-end.show {

    transform: translateX(0) !important;

    visibility: visible !important;

    pointer-events: auto !important;

  }



  /* Offcanvas Header */

  .sb-offcanvas .offcanvas-header {

    padding: 16px 20px;

    border-bottom: 1px solid #F0EEF7;

    display: flex;

    align-items: center;

    justify-content: space-between;

    background: #FFFFFF;

    flex-shrink: 0;

  }



  /* Custom Purple Rounded Close Button */

  .sb-offcanvas-close {

    width: 40px;

    height: 40px;

    min-width: 40px;

    min-height: 40px;

    border-radius: 10px;

    border: 1px solid rgba(113, 88, 244, 0.35);

    background-color: #F5F2FF;

    color: #7158F4 !important;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 0;

    font-size: 18px;

    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;

    box-shadow: none !important;

    cursor: pointer;

  }



  .sb-offcanvas-close:hover,

  .sb-offcanvas-close:focus-visible {

    background-color: #7158F4;

    color: #FFFFFF !important;

    border-color: #7158F4;

    outline: none !important;

  }



  /* Offcanvas Body */

  .sb-offcanvas .offcanvas-body {

    padding: 24px 20px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    flex-grow: 1;

    overflow-y: auto;

    -webkit-overflow-scrolling: touch;

  }



  /* Vertical Nav Links */

  .sb-offcanvas .sb-nav-links {

    flex-direction: column;

    gap: 6px;

    margin-bottom: 24px;

    width: 100%;

    align-items: start;

  }



  .sb-offcanvas .sb-nav-link {

    padding: 12px 16px !important;

    font-size: 0.95rem;

    font-weight: 500;

    border-radius: 10px;

    width: 100%;

    min-height: 44px;

    display: flex;

    align-items: center;

    color: #50546A !important;

    transition: background-color 0.15s ease, color 0.15s ease;

  }



  .sb-offcanvas .sb-nav-link:hover,

  .sb-offcanvas .sb-nav-link.active {

    background-color: #F5F2FF;

    color: #7158F4 !important;

    font-weight: 600;

  }



  /* Stacked Bottom Actions */

  .sb-offcanvas .sb-nav-actions {

    flex-direction: column;

    align-items: stretch !important;

    gap: 10px !important;

    width: 100%;

    margin-top: auto;

    padding-top: 16px;

    border-top: 1px solid #F0EEF7;

    flex-shrink: 0;

  }



  .sb-offcanvas .sb-btn-login,

  .sb-offcanvas .sb-btn-cta {

    text-align: center;

    justify-content: center;

    padding: 12px 20px;

    font-size: 0.9375rem;

    width: 100%;

    min-height: 44px;

    border-radius: 10px;

  }



  /* Backdrop Styling */

  .offcanvas-backdrop.show {

    opacity: 0.45 !important;

    background-color: #101027 !important;

    backdrop-filter: blur(4px);

    -webkit-backdrop-filter: blur(4px);

    z-index: 1050 !important;

  }

}



/* ============================================================

 5. HERO SECTION

 ============================================================ */

/* 5a. Layout & layered background */

.sb-hero {

  position: relative;

  /*

 * Multi-layer radial gradient:

 * Layer 1 (top): bright white fade keeps crown area crisp & clean

 * Layer 2 (left edge): faint lavender ambient glow

 * Layer 3 (right edge): faint lavender ambient glow

 * Layer 4 (base): flat #F8F7FF reads as white, not purple

 * Combined: 95% white feeling, 5% lavender depth.

 */

  background: radial-gradient(ellipse 70% 55% at 50% 0%, rgba(255, 255, 255, 0.96) 0%, rgba(248, 247, 255, 0.70) 45%, rgba(248, 247, 255, 0) 75%), radial-gradient(ellipse 55% 50% at 6% 50%, rgba(108, 92, 231, 0.042) 0%, rgba(108, 92, 231, 0) 72%), radial-gradient(ellipse 55% 50% at 94% 50%, rgba(139, 124, 246, 0.042) 0%, rgba(139, 124, 246, 0) 72%), #F8F7FF;

  padding-top: 72px;

  padding-bottom: 0;

  overflow: hidden;

}



.sb-hero__container {

  max-width: 1280px;

  display: flex;

  flex-direction: column;

  align-items: center;

  text-align: center;

  position: relative;

  z-index: 1;

}



/* Ambient edge glows (very subtle) */

.sb-hero__glow {

  position: absolute;

  border-radius: 50%;

  pointer-events: none;

  z-index: 0;

  filter: blur(80px);

}



.sb-hero__glow--left {

  width: 480px;

  height: 480px;

  background: radial-gradient(circle, rgba(108, 92, 231, 0.10) 0%, transparent 70%);

  top: -80px;

  left: -160px;

  opacity: 0.8;

}



.sb-hero__glow--right {

  width: 400px;

  height: 400px;

  background: radial-gradient(circle, rgba(139, 124, 246, 0.08) 0%, transparent 70%);

  top: -40px;

  right: -140px;

  opacity: 0.8;

}



/* 5b. Badge row */

.sb-hero__badge-row {

  display: flex;

  align-items: center;

  gap: 14px;

  margin-bottom: 28px;

  /* Stretch lines across nearly the full container */

  width: 100%;

  max-width: 680px;

}



.sb-badge-line {

  flex: 1;

  height: 2px;

  /* Very soft lavender line fades to nothing at both ends */

  background: linear-gradient(to right, transparent 0%, rgba(180, 170, 230, 0.55) 30%, rgba(180, 170, 230, 0.55) 70%, transparent 100%);

}



.sb-hero-badge {

  display: inline-flex;

  align-items: center;

  gap: 5px;

  white-space: nowrap;

  font-size: 12px;

  font-weight: var(--fw-semibold);

  color: #7158f4;

  /* muted lavender not full primary */

  background: rgba(255, 255, 255, 0.80);

  border: 1px solid rgba(180, 170, 230, 0.50);

  padding: 5px 18px;

  border-radius: var(--radius-pill);

  letter-spacing: 0.04em;

  flex-shrink: 0;

}



/* 5c. Heading & description */

.sb-hero__heading {

  font-family: var(--font-family-heading, 'Bricolage Grotesque', sans-serif);

  font-size: 70px;

  font-weight: 700;

  line-height: 1.1;

  letter-spacing: -0.02em;

  color: #11152F;

  margin-bottom: 22px;

}



.sb-hero__heading-accent {

  color: #7158f4;

}



.sb-hero__desc {

  font-family: var(--font-family-base, 'Inter', sans-serif);

  font-size: 18px;

  line-height: 1.6;

  color: #484646;

  max-width: 550px;

  margin-bottom: 28px;

  font-weight: 400;

}



/* 5d. CTA Buttons */

.sb-hero__ctas {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 16px;

  margin-bottom: 24px;

  width: 100%;

}



.sb-hero-btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 8px;

  height: 52px;

  padding: 0 28px;

  border-radius: 999px;

  font-family: var(--font-family-base, 'Inter', sans-serif);

  font-size: 16px;

  text-decoration: none;

  transition: all 0.25s ease;

  cursor: pointer;

  white-space: nowrap;

}



.sb-hero-btn--primary {

  background-color: #7158f4;

  color: #ffffff;

  font-weight: 600;

  border: 1.5px solid #7158f4;

  box-shadow: 0 4px 16px rgba(113, 88, 244, 0.30);

}



.sb-hero-btn--primary:hover {

  background-color: #5b4fe9;

  border-color: #5b4fe9;

  color: #ffffff;

  transform: translateY(-2px);

  box-shadow: 0 6px 20px rgba(113, 88, 244, 0.40);

}



.sb-hero-btn--primary:active {

  transform: translateY(0);

  box-shadow: 0 2px 8px rgba(113, 88, 244, 0.25);

}



.sb-hero-btn--secondary {

  background-color: #ffffff;

  color: #7158f4;

  font-weight: 600;

  border: 1.5px solid #7158f4;

  box-shadow: 0 2px 8px rgba(16, 16, 39, 0.04);

}



.sb-hero-btn--secondary:hover {

  background-color: rgba(113, 88, 244, 0.06);

  color: #7158f4;

  border-color: #7158f4;

  transform: translateY(-2px);

  box-shadow: 0 4px 14px rgba(113, 88, 244, 0.12);

}



.sb-hero-btn--secondary:active {

  transform: translateY(0);

}



@media (max-width: 575.98px) {

  .sb-hero__ctas {

    flex-direction: column;

    gap: 12px;

    width: 100%;

    max-width: 320px;

    margin-left: auto;

    margin-right: auto;

  }



  .sb-hero-btn {

    width: 100%;

  }

}



/* 5e. Support text */

.sb-hero__support-text {

  font-size: 0.6875rem;

  color: var(--color-text-muted);

  margin-bottom: 44px;

  letter-spacing: 0.01em;

}



/* 5e. Support text */

.sb-hero__support-text {

  font-size: 0.6875rem;

  /* 11px */

  color: var(--color-text-muted);

  margin-bottom: 44px;

  letter-spacing: 0.01em;

}



/* ============================================================

 6. DASHBOARD IMAGE PRESENTATION

 ============================================================ */

/* Outer wrap centres the image, holds the ambient glow */

.sb-dashboard-wrap {

  width: 100%;

  max-width: 1100px;

  margin: 0 auto;

  position: relative;

  /* Soft bottom fade image bleeds into the white page below */

  -webkit-mask-image: linear-gradient(to bottom, black 88%, transparent 100%);

  mask-image: linear-gradient(to bottom, black 88%, transparent 100%);

}



/* Ambient lavender halo behind the screenshot */

.sb-dashboard-wrap__glow {

  position: absolute;

  inset: -32px -40px;

  border-radius: 48px;

  background: radial-gradient(ellipse 80% 60% at 50% 42%, rgba(108, 92, 231, 0.10) 0%, rgba(139, 124, 246, 0.04) 50%, transparent 72%);

  z-index: 0;

  pointer-events: none;

}



/* The dashboard screenshot itself */

.sb-dashboard-img {

  position: relative;

  z-index: 1;

  display: block;

  width: 100%;

  height: auto;

  /* Premium floating appearance */

  border-radius: 14px;

  /* 24px */

  border: 10px solid #5e4de317;

  /* #E5E3F3 */

  box-shadow: 0 2px 4px rgba(16, 16, 39, 0.03), 0 8px 24px rgba(108, 92, 231, 0.07), 0 24px 64px rgba(108, 92, 231, 0.09);

  /* Entrance animation */

  animation: dashboardRise 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;

  animation-delay: 0.15s;

}



@keyframes dashboardRise {

  from {

    opacity: 0;

    transform: translateY(24px);

  }



  to {

    opacity: 1;

    transform: translateY(0);

  }

}



/* ============================================================

 7. Scrollbar

 ============================================================ */

::-webkit-scrollbar {

  width: 5px;

}



::-webkit-scrollbar-track {

  background: var(--color-hero-bg);

}



::-webkit-scrollbar-thumb {

  background: var(--color-border);

  border-radius: var(--radius-pill);

}



::-webkit-scrollbar-thumb:hover {

  background: var(--color-primary-light);

}



/* ============================================================

 8. Responsive Overrides

 ============================================================ */

/* Tablet ( 1024px) */

@media (max-width: 1023.98px) {

  .sb-hero {

    padding-top: 56px;

  }



  .sb-hero__heading {

    font-size: clamp(1.875rem, 4.5vw, 3rem);

  }



  .sb-dashboard-wrap {

    max-width: 100%;

  }

}



/* Mobile ( 767px) */

@media (max-width: 767.98px) {

  .sb-hero {

    padding-top: 44px;

  }



  .sb-hero__badge-row {

    max-width: 300px;

  }



  .sb-hero__desc {

    font-size: 0.9375rem;

    max-width: 90%;

  }



  /* CTA stacks vertically */

  .sb-cta-group {

    flex-direction: column;

    align-items: stretch;

    padding: 6px;

    gap: 6px;

  }



  .sb-cta-input {

    text-align: center;

    padding: 11px 10px;

  }



  .sb-cta-btn {

    justify-content: center;

    padding: 11px 20px;

    border-radius: var(--radius-md);

  }



  .sb-hero__support-text {

    margin-bottom: 36px;

  }



  /*

 * Dashboard image on mobile:

 * Allow horizontal scrolling inside the wrap so the full

 * dashboard is accessible without distorting its aspect ratio.

 */

  .sb-dashboard-wrap {

    /* overflow-x: auto; */

    -webkit-overflow-scrolling: touch;

    /* -webkit-mask-image: none; */

    mask-image: none;

  }



  .sb-dashboard-img {

    width: 100%;

    max-width: none;

    border-radius: var(--radius-2xl);

  }

}



/* Small mobile ( 479px) */

@media (max-width: 479.98px) {

  .sb-hero__heading {

    font-size: 1.9375rem;

    letter-spacing: -0.025em;

  }



  .sb-dashboard-img {

    width: 100%;

    border-radius: var(--radius-xl);

  }

}



/* ============================================================

 7b. PRICING SECTION

 ============================================================ */

.sb-pricing {

  background-color: #f6f7fa;

  /* background-image: linear-gradient(180deg, #09081E 0%, #07071A 100%); */

  padding-top: 104px;

  padding-bottom: 104px;

  position: relative;

  overflow: hidden;

  color: #FFFFFF;

  z-index: 2;

}



/* Ambient Radial Glow */

.sb-pricing__glow {

  position: absolute;

  width: 900px;

  height: 600px;

  top: 40%;

  left: 50%;

  transform: translate(-50%, -50%);

  background: radial-gradient(ellipse at center, rgba(113, 88, 244, 0.14) 0%, rgba(113, 88, 244, 0.05) 45%, rgba(113, 88, 244, 0) 75%);

  filter: blur(80px);

  pointer-events: none;

  z-index: 1;

}



/* Background Orbital Rings */

.sb-pricing__orbit {

  position: absolute;

  border-radius: 50%;

  border: 1px solid rgba(113, 88, 244, 0.14);

  pointer-events: none;

  z-index: 1;

  top: 50%;

  left: 50%;

}



.sb-pricing__orbit--1 {

  width: 950px;

  height: 950px;

  margin-top: -475px;

  margin-left: -475px;

  animation: sbOrbitRotate 32s linear infinite;

}



.sb-pricing__orbit--2 {

  width: 1300px;

  height: 1300px;

  margin-top: -650px;

  margin-left: -650px;

  border-style: dashed;

  border-color: rgb(139 124 246 / 12%);

  animation: sbOrbitRotate 48s linear infinite reverse;

}



@keyframes sbOrbitRotate {

  from {

    transform: rotate(0deg);

  }



  to {

    transform: rotate(360deg);

  }

}



@media (prefers-reduced-motion: reduce) {



  .sb-pricing__orbit--1,

  .sb-pricing__orbit--2 {

    animation: none;

  }

}



.sb-pricing-container {

  position: relative;

  z-index: 2;

  max-width: 1200px;

}



.sb-pricing-eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  font-size: 12.5px;

  font-weight: 600;

  color: #6B6B8A;

  background: #FFFFFF;

  border: 1px dashed #C5C0DF;

  padding: 6px 16px;

  border-radius: 999px;

  letter-spacing: 0.03em;

}



.sb-pricing__heading {

  font-size: 48px;

  font-weight: 700;

  line-height: 1.08;

  letter-spacing: -1.4px;

  color: var(--color-text-main);

  margin-bottom: 16px;

}



.sb-pricing__heading-accent {

  color: #5B4FE9;

}



.sb-pricing__desc {

  font-size: 15.5px;

  line-height: 1.6;

  color: var(--color-text-secondary);

  max-width: 560px;

}



/* Pricing Cards */

.sb-pricing-card {

  background: rgb(255 255 255 / 70%);

  /* backdrop-filter: blur(0px); */

  /* border: 1px solid rgba(255, 255, 255, 0.08); */

  border-radius: 20px;

  padding: 34px 40px 34px 40px;

  display: flex;

  flex-direction: column;

  position: relative;

  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;

}



.sb-pricing-card:hover {

  transform: translateY(-4px);

  border-color: #7158F4;

  box-shadow: 0 12px 32px rgba(113, 88, 244, 0.15);

}



/* Featured Silver VALUE PLAN Card */

.sb-pricing-card--popular {

  background: rgb(255 255 255 / 70%);

  /* border: 1px solid #7158F4 !important; */

  box-shadow: 0 0 40px rgba(113, 88, 244, 0.25);

}



.sb-popular-badge {

  position: absolute;

  top: -12px;

  left: 50%;

  transform: translateX(-50%);

  background: #7158F4;

  color: #FFFFFF;

  font-size: 12px;

  font-weight: 700;

  padding: 5px 20px;

  border-radius: 20px;

  letter-spacing: 0.04em;

  box-shadow: 0 4px 12px rgba(113, 88, 244, 0.4);

}



.sb-plan-header {

  display: flex;

  align-items: center;

  gap: 10px;

  margin-bottom: 8px;

}



.sb-plan-icon {

  font-size: 20px;

  color: #161519;

  flex-shrink: 0;

}



.sb-plan-title {

  font-size: 22px;

  font-weight: 700;

  color: #161519;

  margin: 0;

}



.sb-plan-desc {

  font-size: 13px;

  color: rgb(0 0 0 / 68%);

  line-height: 1.45;

  margin-bottom: 16px;

  min-height: 38px;

}



.sb-plan-divider {

  border-top: 1px solid rgba(113, 88, 244, 0.14);

  margin-bottom: 18px;

}



.sb-plan-price-wrap {

  display: flex;

  align-items: baseline;

  margin-bottom: 18px;

}



.sb-plan-currency {

  font-size: 20px;

  font-weight: 600;

  color: #161519;

  margin-right: 2px;

}



.sb-plan-amount {

  font-size: 32px;

  font-weight: 700;

  color: #161519;

  line-height: 1;

}



.sb-plan-period {

  font-size: 12px;

  color: #4e4e51;

  margin-left: 6px;

}



.sb-plan-features-wrap {

  margin-bottom: 24px;

}



.sb-plan-cta-wrap {

  margin-top: auto;

  width: 100%;

}



.sb-feature-list {

  margin-bottom: 0;

}



.sb-feature-list li {

  display: flex;

  align-items: flex-start;

  gap: 10px;

  font-size: 14px;

  line-height: 1.5;

  color: rgb(0 0 0 / 68%);

  margin-bottom: 11px;

}



.sb-feature-list li i {

  color: rgb(0 0 0 / 68%);

  font-size: 14px;

  margin-top: 2px;

  flex-shrink: 0;

}



.sb-pricing-card--popular .sb-feature-list li i {

  color: #7158F4;

}



/* Card CTA Buttons */

.sb-btn-outline-dark-card {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  font-size: 15px;

  font-weight: 600;

  color: #161519 !important;

  background: rgba(255, 255, 255, 0.06);

  border: 1px solid rgb(22 21 25);

  height: 48px;

  border-radius: 30px;

  transition: background 0.2s ease, border-color 0.2s ease;

}



.sb-btn-outline-dark-card:hover {

  background: rgb(113 88 244);

  border-color: #7158F4;

  color: #FFFFFF !important;

}



.sb-btn-purple-glow {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  font-size: 15px;

  font-weight: 600;

  color: #FFFFFF !important;

  background: #7158F4;

  border: none;

  height: 48px;

  border-radius: 30px;

  box-shadow: 0 4px 16px rgba(113, 88, 244, 0.4);

  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;

}



.sb-btn-purple-glow:hover {

  background-color: #5146C7;

  box-shadow: 0 6px 20px rgba(113, 88, 244, 0.5);

  transform: translateY(-1px);

}



/* Pricing Responsive Overrides */

@media (max-width: 991.98px) {

  .sb-pricing {

    padding-top: 72px;

    padding-bottom: 72px;

  }



  .sb-pricing__heading {

    font-size: 38px;

    letter-spacing: -1px;

  }



  .sb-pricing-card {

    padding: 28px 24px;

  }

}



@media (max-width: 575.98px) {

  .sb-pricing {

    padding-top: 56px;

    padding-bottom: 56px;

  }



  .sb-pricing__heading {

    font-size: 32px;

    letter-spacing: -0.8px;

  }



  .sb-plan-desc {

    min-height: auto;

  }



  .sb-pricing-card {

    width: 85% !important;

    margin: auto;

  }

}



@media (max-width: 390.98px) {

  .sb-pricing-card {

    width: 100% !important;

    margin: auto;

  }

}



/* ============================================================

 7b. HOW IT WORKS SECTION (sb-how)  3-Step Process

 ============================================================ */

.sb-how {

  background-color: #f6f7fa;

  padding-top: 96px;

  padding-bottom: 96px;

  position: relative;

  z-index: 2;

}



.sb-how-container {

  max-width: 1200px;

  position: relative;

}



/* Eyebrow Pill Badge */

.sb-how-eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  font-size: 12.5px;

  font-weight: 600;

  color: #6B6B8A;

  background: #FFFFFF;

  border: 1px dashed #C5C0DF;

  padding: 6px 16px;

  border-radius: 999px;

  letter-spacing: 0.03em;

}



.sb-how__heading {

  font-size: 48px;

  font-weight: 700;

  line-height: 1.08;

  letter-spacing: -1.4px;

  color: var(--color-text-main);

  margin-bottom: 16px;

}



.sb-how__heading-accent {

  color: #5B4FE9;

}



.sb-how__desc {

  font-size: 15.5px;

  line-height: 1.6;

  color: var(--color-text-secondary);

}



/* Grid Wrapper & Connectors */

.sb-how-grid-wrap {

  position: relative;

  margin-top: 56px;

}



/* Connector SVGs */

.sb-how-connector {

  position: absolute;

  top: 80px;

  width: 60px;

  height: 40px;

  z-index: 1;

  pointer-events: none;

  overflow: visible;

}



.sb-how-connector--1 {

  left: calc(33.333% - 36.66px);

}



.sb-how-connector--2 {

  left: calc(66.666% - 23.33px);

}



.sb-how-path {

  transition: stroke-dashoffset 500ms ease-out;

}



.sb-how-marker {

  opacity: 0;

  transform: scale(0.5);

  transform-origin: center;

  transition: opacity 250ms ease-out, transform 250ms ease-out;

}



.sb-how-connector.is-in-view .sb-how-marker {

  opacity: 1;

  transform: scale(1);

}



/* Row & Columns (Flexbox only) */

.sb-how-row {

  display: flex;

  flex-direction: row;

  align-items: stretch;

  gap: 40px;

  position: relative;

  z-index: 2;

}



.sb-how-col {

  flex: 1 1 0%;

  display: flex;

  flex-direction: column;

  align-items: center;

  text-align: center;

  min-width: 0;

}



/* Mock Cards base */

.sb-how-card {

  width: 100%;

  border-radius: 16px;

  padding: 22px 20px;

  text-align: left;

  opacity: 0;

  transform: translateY(16px);

  transition: opacity 350ms ease-out, transform 350ms ease-out, box-shadow 0.25s ease;

  min-height: 200px;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

}



.sb-how-card.is-in-view {

  opacity: 1;

  transform: translateY(0);

}



.sb-how-card.is-in-view:hover {

  transform: translateY(-3px);

}



.sb-how-card--light {

  background: #EDF0FA;

  border: none;

}



.sb-how-card--white {

  background: #FFFFFF;

  border: 1px solid #E2E6F5;

  box-shadow: 0 10px 30px rgba(91, 79, 233, 0.08);

}



.sb-how-card__tag {

  font-size: 11px;

  font-weight: 600;

  color: #78778B;

  text-transform: uppercase;

  letter-spacing: 0.04em;

  display: block;

}



.sb-how-card__plan-name {

  font-size: 15px;

  font-weight: 700;

  color: var(--color-text-main);

}



.sb-how-card__badge {

  width: 20px;

  height: 20px;

  border-radius: 50%;

  background: #5B4FE9;

  color: #FFFFFF;

  display: inline-flex;

  align-items: center;

  justify-content: center;

}



.sb-how-card__price {

  font-size: 22px;

  font-weight: 800;

  color: var(--color-text-main);

  letter-spacing: -0.5px;

}



.sb-how-card__price-period {

  font-size: 13px;

  font-weight: 500;

  color: #78778B;

}



.sb-how-card__lines {

  display: flex;

  flex-direction: column;

  gap: 7px;

  margin-top: 4px;

}



.sb-how-card__line {

  height: 7px;

  border-radius: 4px;

  background: #D8DEF0;

}



.sb-how-card__line--w80 {

  width: 80%;

}



.sb-how-card__line--w60 {

  width: 60%;

}



.sb-how-card__line--w70 {

  width: 70%;

}



/* Card 2: Window Dots */

.sb-how-card__window-dots {

  display: flex;

  align-items: center;

  gap: 6px;

}



.sb-how-dot {

  width: 9px;

  height: 9px;

  border-radius: 50%;

  display: inline-block;

}



.sb-how-dot--red {

  background: #FF5F56;

}



.sb-how-dot--yellow {

  background: #FFBD2E;

}



.sb-how-dot--green {

  background: #27C93F;

}



/* Dashboard Inner Layout */

.sb-how-dash-inner {

  display: flex;

  gap: 12px;

  align-items: center;

}



.sb-how-dash-sidebar {

  display: flex;

  flex-direction: column;

  gap: 6px;

  background: #F4F6FC;

  padding: 8px 6px;

  border-radius: 8px;

}



.sb-how-dash-side-icon {

  width: 16px;

  height: 16px;

  border-radius: 4px;

  background: #EEF2FC;

  border: 1px solid #D8DEF0;

  display: flex;

  align-items: center;

  justify-content: center;

}



.sb-how-dash-side-icon.active {

  background: #5B4FE9;

  border-color: #5B4FE9;

}



.sb-dash-icon-line {

  width: 7px;

  height: 2px;

  background: #94A3B8;

  border-radius: 1px;

}



.sb-dash-icon-dot {

  width: 3px;

  height: 3px;

  background: #94A3B8;

  border-radius: 50%;

}



.sb-how-dash-main {

  flex: 1;

  display: flex;

  gap: 8px;

}



.sb-how-stat-tile {

  flex: 1;

  background: #F4F6FC;

  border-radius: 8px;

  padding: 8px 10px;

  text-align: center;

}



.sb-how-stat-tile__val {

  font-size: 14px;

  font-weight: 700;

  color: var(--color-text-main);

  display: block;

}



.sb-how-stat-tile__lbl {

  font-size: 10px;

  color: #78778B;

  display: block;

}



.sb-how-card__btn {

  display: inline-block;

  font-size: 11.5px;

  font-weight: 600;

  color: #FFFFFF;

  background: #5B4FE9;

  padding: 6px 14px;

  border-radius: 999px;

  box-shadow: 0 3px 10px rgba(91, 79, 233, 0.25);

}



/* Card 3: Uploading & Chips */

.sb-how-folder-icon {

  width: 40px;

  height: 40px;

  border-radius: 10px;

  background: rgba(91, 79, 233, 0.1);

  display: flex;

  align-items: center;

  justify-content: center;

  flex-shrink: 0;

}



.sb-how-progress-track {

  height: 7px;

  background: #D8DEF0;

  border-radius: 4px;

  overflow: hidden;

}



.sb-how-progress-fill {

  height: 100%;

  background: #5B4FE9;

  border-radius: 4px;

}



.sb-how-chip {

  font-size: 10.5px;

  font-weight: 700;

  padding: 4px 10px;

  border-radius: 6px;

  letter-spacing: 0.02em;

}



.sb-how-chip--pdf {

  background: #FFE8E8;

  color: #E53935;

}



.sb-how-chip--png {

  background: #E8F5E9;

  color: #2E7D32;

}



.sb-how-chip--zip {

  background: #FFF3E0;

  color: #EF6C00;

}



/* Step Info Typography */

.sb-how-step {

  margin-top: 24px;

  padding: 0 8px;

  opacity: 0;

  transform: translateY(10px);

  transition: opacity 350ms ease-out, transform 350ms ease-out;

}



.sb-how-step.is-in-view {

  opacity: 1;

  transform: translateY(0);

}



.sb-how-step__title {

  font-size: 20px;

  font-weight: 700;

  color: var(--color-text-main);

  margin-bottom: 10px;

}



.sb-how-step__desc {

  font-size: 14.5px;

  line-height: 1.55;

  color: var(--color-text-secondary);

  margin: 0;

}



/* Reduced Motion Override for How It Works Animations */

@media (prefers-reduced-motion: reduce) {



  .sb-how-card,

  .sb-how-step,

  .sb-how-marker {

    opacity: 1 !important;

    transform: none !important;

    transition: none !important;

  }



  .sb-how-path {

    stroke-dashoffset: 0 !important;

    transition: none !important;

  }

}



/*  Responsive Overrides for How It Works  */

@media (max-width: 991.98px) {

  .sb-how {

    padding-top: 72px;

    padding-bottom: 72px;

  }



  .sb-how__heading {

    font-size: 38px;

    letter-spacing: -1px;

  }



  .sb-how-row {

    gap: 20px;

  }



  .sb-how-card {

    padding: 18px 16px;

    min-height: 190px;

  }



  .sb-how-connector {

    width: 40px;

    top: 80px;

  }



  .sb-how-connector--1 {

    left: calc(33.333% - 23.33px);

  }



  .sb-how-connector--2 {

    left: calc(66.666% - 13.33px);

  }

}



@media (max-width: 767.98px) {

  .sb-how {

    padding-top: 56px;

    padding-bottom: 56px;

  }



  .sb-how-connector {

    display: none !important;

  }



  .sb-how-row {

    flex-direction: column;

    gap: 36px;

  }



  .sb-how-col {

    width: 100%;

  }



  .sb-how-card {

    max-width: 420px;

    margin: 0 auto;

  }



  .sb-how-step {

    max-width: 420px;

    margin-left: auto;

    margin-right: auto;

  }

}



@media (max-width: 575.98px) {

  .sb-how__heading {

    font-size: 32px;

    letter-spacing: -0.8px;

  }



  .sb-how-step__title {

    font-size: 18.5px;

  }



  .sb-how-step__desc {

    font-size: 14px;

  }

}



/* ============================================================

 7c. WHY CHOOSE US SECTION

 ============================================================ */

.sb-why {

  padding-top: 75px;

  padding-bottom: 110px;

  position: relative;

  z-index: 2;

  overflow: hidden;

  background: #ffffff;

}



.sb-why__cloud {

  position: absolute;

  width: 800px;

  height: 600px;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%) scale(1);

  background: radial-gradient(ellipse at center, rgba(113, 88, 244, 0.065) 0%, rgba(113, 88, 244, 0.02) 45%, rgba(113, 88, 244, 0) 75%);

  filter: blur(80px);

  pointer-events: none;

  z-index: 1;

  opacity: 0.85;

  animation: sbWhyCloudBreathing 28s ease-in-out infinite alternate;

}



@keyframes sbWhyCloudBreathing {

  0% {

    transform: translate(-50%, -50%) scale(1);

    opacity: 0.75;

  }



  50% {

    transform: translate(-48%, -52%) scale(1.06);

    opacity: 0.95;

  }



  100% {

    transform: translate(-52%, -48%) scale(1.02);

    opacity: 0.8;

  }

}



@media (prefers-reduced-motion: reduce) {

  .sb-why__cloud {

    animation: none;

  }

}



.sb-why-container {

  position: relative;

  z-index: 2;

  max-width: 1280px;

}



.sb-why-eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  font-size: 12.5px;

  font-weight: 600;

  color: #6B6B8A;

  background: #FFFFFF;

  border: 1px dashed #C5C0DF;

  padding: 6px 16px;

  border-radius: 999px;

  letter-spacing: 0.03em;

}



.sb-why__heading {

  font-size: 48px;

  font-weight: 700;

  line-height: 1.08;

  letter-spacing: -1.4px;

  color: var(--color-text-main);

  margin-bottom: 18px;

  max-width: 520px;

}



.sb-why__heading-accent {

  color: #5B4FE9;

}



.sb-why__desc {

  font-size: 15.5px;

  line-height: 1.6;

  color: var(--color-text-secondary);

  max-width: 480px;

  margin-bottom: 24px;

}



/* Primary CTA Button */

.sb-why__cta-btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 8px;

  font-size: 15px;

  font-weight: 600;

  color: #FFFFFF !important;

  background-color: #7158F4;

  border: none;

  padding: 12px 24px;

  height: 48px;

  border-radius: 30px;

  box-shadow: 0 4px 16px rgba(113, 88, 244, 0.35);

  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;

}



.sb-why__cta-btn:hover {

  background-color: #5146C7;

  transform: translateY(-1px);

  box-shadow: 0 6px 20px rgba(113, 88, 244, 0.45);

}



/* Left Column Information Rows */

.sb-why__rows {

  display: flex;

  flex-direction: column;

  border-top: 1px solid rgb(113 88 244 / 29%);

  max-width: 480px;

}



.sb-why-row {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 16px;

  padding: 15px 0;

  border-bottom: 1px solid rgb(113 88 244 / 27%);

}



.sb-why-row__title {

  font-size: 15px;

  font-weight: 600;

  color: #513fb0;

}



.sb-why-row__val {

  font-size: 13px;

  color: var(--color-text-secondary);

  text-align: right;

}



/* Right Column Visual Box & Cards */

.sb-why-visual-box {

  /* background: linear-gradient(180deg, #FFFFFF 0%, #F5F3FF 100%); */

  /* border: 1px solid rgba(113, 88, 244, 0.14); */

  /* border-radius: 24px; */

  /* padding: 14px; */

  /* box-shadow: 0 10px 32px rgba(113, 88, 244, 0.08); */

  overflow: hidden;

  margin-bottom: 0 !important;

}



.sb-why-visual-img {

  width: 100%;

  max-width: 100%;

  height: auto;

  display: block;

  border-radius: 5px;

  /* filter: drop-shadow(0 6px 20px rgba(113, 88, 244, 0.12)); */

}



.sb-why-card {

  background: #FFFFFF;

  border: 1px solid rgba(113, 88, 244, 0.12);

  border-radius: 20px;

  padding: 28px 24px;

  position: relative;

  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;

  box-shadow: 0 4px 20px rgba(113, 88, 244, 0.04);

}



.sb-why-card:hover {

  transform: translateY(-3px);

  border-color: rgba(113, 88, 244, 0.25);

  box-shadow: 0 10px 30px rgba(113, 88, 244, 0.10);

}



.sb-why-card__top {

  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-bottom: 20px;

}



.sb-why-card__icon {

  width: 48px;

  height: 48px;

  border-radius: 50%;

  background: rgba(113, 88, 244, 0.08);

  display: flex;

  align-items: center;

  justify-content: center;

  color: #7158F4;

  font-size: 20px;

  flex-shrink: 0;

  transition: transform 0.25s ease;

}



.sb-why-card:hover .sb-why-card__icon {

  transform: translateY(-2px);

}



.sb-why-card__num {

  position: static;

  font-size: 52px;

  line-height: 1;

  font-weight: 700;

  color: transparent;

  -webkit-text-stroke: 1.5px rgba(113, 88, 244, 0.22);

  letter-spacing: -1px;

  user-select: none;

}



.sb-why-card__title {

  font-size: 19px;

  font-weight: 600;

  color: #5B4FE9;

  margin-bottom: 8px;

}



.sb-why-card__desc {

  font-size: 14px;

  line-height: 1.55;

  color: var(--color-text-secondary);

  margin: 0;

}



/* Why Choose Us Responsive Overrides */

@media (max-width: 991.98px) {

  .sb-why {

    padding-top: 72px;

    padding-bottom: 72px;

  }



  .sb-why__heading {

    font-size: 38px;

    letter-spacing: -1px;

    max-width: 100%;

  }



  .sb-why__desc,

  .sb-why__rows {

    max-width: 100%;

  }

}



@media (max-width: 575.98px) {

  .sb-why {

    padding-top: 56px;

    padding-bottom: 56px;

  }



  .sb-why__heading {

    font-size: 32px;

    letter-spacing: -0.8px;

  }



  .sb-why-row {

    flex-direction: column;

    align-items: flex-start;

    gap: 4px;

  }



  .sb-why-row__val {

    text-align: left;

  }

}



/* ============================================================

 8. FAQ SECTION v2 (sb-faq2) - 2-column flex layout

 ============================================================ */

/* Section wrapper */

.sb-faq2 {

  background: #fff;

  padding-top: 96px;

  padding-bottom: 96px;

  position: relative;

  z-index: 2;

  overflow: hidden;

}



.sb-faq2__blob {

  position: absolute;

  width: 640px;

  height: 480px;

  top: 50%;

  right: -4%;

  transform: translateY(-50%);

  background: radial-gradient(ellipse at center, rgba(91, 79, 233, 0.09) 0%, rgba(91, 79, 233, 0.03) 50%, transparent 72%);

  filter: blur(70px);

  pointer-events: none;

  z-index: 0;

  animation: faq2BlobDrift 28s ease-in-out infinite alternate;

}



@keyframes faq2BlobDrift {

  0% {

    transform: translateY(-50%) scale(1);

    opacity: 0.85;

  }



  55% {

    transform: translateY(-52%) scale(1.06);

    opacity: 1;

  }



  100% {

    transform: translateY(-48%) scale(1.02);

    opacity: 0.9;

  }

}



.sb-faq2-container {

  position: relative;

  z-index: 1;

  max-width: 1200px;

}



/* sb-faq2__left / sb-faq2__right column design */

.sb-faq2__left {

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 18px;

}



.sb-faq2-eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  font-size: 12.5px;

  font-weight: 600;

  color: #6B6B8A;

  background: #FFFFFF;

  border: 1px dashed #C5C0DF;

  padding: 6px 16px;

  border-radius: 999px;

  letter-spacing: 0.03em;

}



.sb-faq2__heading {

  font-size: 48px;

  font-weight: 700;

  line-height: 1.08;

  letter-spacing: -1.4px;

  color: var(--color-text-main);

  margin: 0;

}



.sb-faq2__heading-accent {

  color: #5B4FE9;

}



.sb-faq2__desc {

  font-size: 15.5px;

  line-height: 1.6;

  color: var(--color-text-secondary);

  max-width: 360px;

  margin: 0;

}



.sb-faq2-cta {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  font-size: 14.5px;

  font-weight: 600;

  color: #FFFFFF;

  background: #5B4FE9;

  border: none;

  border-radius: 999px;

  padding: 11px 24px;

  text-decoration: none;

  transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;

  box-shadow: 0 4px 18px rgba(91, 79, 233, 0.28);

  margin-top: 4px;

}



.sb-faq2-cta:hover {

  background: #4a3fd8;

  transform: translateY(-1px);

  box-shadow: 0 8px 28px rgba(91, 79, 233, 0.36);

  color: #FFFFFF;

}



.sb-faq2-cta svg {

  transition: transform 0.22s ease;

}



.sb-faq2-cta:hover svg {

  transform: translateX(3px);

}



.sb-faq2__right {

  min-width: 0;

}



.sb-faq2-accordion {

  display: flex;

  flex-direction: column;

  gap: 14px;

}



.sb-faq2-item {

  background: #FFFFFF;

  border: 1px solid #E8E4F6;

  border-radius: 16px;

  overflow: hidden;

  transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;

}



.sb-faq2-item:hover {

  border-color: rgba(91, 79, 233, 0.3);

  box-shadow: 0 4px 20px rgba(91, 79, 233, 0.06);

  transform: translateY(-1px);

}



.sb-faq2-item--open {

  border-color: rgb(91 79 233 / 0%);

  box-shadow: 0 6px 28px rgba(91, 79, 233, 0.08);

  /* border-left: 3px solid #5B4FE9; */

}



.sb-faq2-trigger {

  display: flex;

  align-items: center;

  justify-content: space-between;

  width: 100%;

  padding: 22px 24px;

  background: transparent;

  border: none;

  outline: none;

  cursor: pointer;

  font-family: inherit;

  text-align: left;

  gap: 12px;

}



.sb-faq2-q {

  font-size: 15.5px;

  font-weight: 600;

  color: var(--color-text-main);

  line-height: 1.45;

  flex: 1 1 auto;

}



.sb-faq2-chevron {

  display: flex;

  align-items: center;

  justify-content: center;

  flex-shrink: 0;

  width: 32px;

  height: 32px;

  border-radius: 30px;

  background: rgba(91, 79, 233, 0.07);

  color: #78777e;

  transition: background 0.22s ease, transform 0.3s ease-out;

}



.sb-faq2-item--open .sb-faq2-chevron {

  transform: rotate(180deg);

  background: rgba(91, 79, 233, 0.12);

}



.sb-faq2-body {

  overflow: hidden;

  max-height: 0;

  transition: max-height 0.35s ease-out;

}



.sb-faq2-item--open .sb-faq2-body {

  max-height: 320px;

}



.sb-faq2-body-inner {

  padding: 0 24px 22px 24px;

  font-size: 15px;

  line-height: 1.65;

  color: var(--color-text-secondary);

}



.sb-faq2-body-inner p {

  margin: 0;

}



@media (prefers-reduced-motion: reduce) {

  .sb-faq2__blob {

    animation: none;

  }



  .sb-faq2-item,

  .sb-faq2-item:hover {

    transform: none !important;

  }



  .sb-faq2-chevron,

  .sb-faq2-item--open .sb-faq2-chevron {

    transition: none;

  }



  .sb-faq2-body {

    transition: none;

    max-height: none;

  }



  .sb-faq2-item--open .sb-faq2-body {

    max-height: none;

  }



  .sb-faq2-cta,

  .sb-faq2-cta svg {

    transition: none;

  }

}



@media (max-width: 991.98px) {

  .sb-faq2 {

    padding-top: 64px;

    padding-bottom: 64px;

  }



  .sb-faq2__heading {

    font-size: 38px;

    letter-spacing: -1px;

  }



  .sb-faq2__desc {

    max-width: 100%;

  }

}



@media (max-width: 575.98px) {

  .sb-faq2 {

    padding-top: 48px;

    padding-bottom: 48px;

  }



  .sb-faq2__heading {

    font-size: 32px;

    letter-spacing: -0.8px;

  }



  .sb-faq2-trigger {

    padding: 18px;

  }



  .sb-faq2-body-inner {

    padding: 0 18px 18px 18px;

    font-size: 14px;

  }



  .sb-faq2-q {

    font-size: 14.5px;

  }



  .sb-faq2-chevron {

    min-width: 36px;

    min-height: 36px;

    width: 36px;

    height: 36px;

  }



  .sb-faq2-cta {

    width: 100%;

    justify-content: center;

  }

}



.sb-prefooter-cta {

  padding-top: 80px;

  padding-bottom: 48px;

  background-color: var(--color-white);

  position: relative;

  z-index: 2;

}



.sb-prefooter-cta {

  padding: 0px 0px 100px 0px;

}



.sb-cta-container {

  max-width: 1280px;

}



.sb-cta-banner {

  position: relative;

  min-height: 370px;

  border-radius: 24px;

  background: radial-gradient(circle at 75% 45%, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 42%), radial-gradient(circle at 20% 100%, rgba(81, 70, 199, 0.18) 0%, rgba(81, 70, 199, 0) 50%), linear-gradient(110deg, #7158F4 0%, #7B63F5 50%, #6C52EC 100%);

  padding: 48px 56px;

  overflow: hidden;

  box-shadow: 0 20px 60px rgba(40, 30, 100, 0.10);

}



/* Atmospheric studio light glow behind mobile visual */

.sb-cta-banner__glow {

  position: absolute;

  top: 50%;

  right: 12%;

  transform: translateY(-50%);

  width: 420px;

  height: 420px;

  background: radial-gradient(circle, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0) 68%);

  pointer-events: none;

  z-index: 0;

}



.sb-cta-banner__content {

  position: relative;

  z-index: 2;

  display: flex;

  flex-direction: column;

  justify-content: center;

  padding-left: 16px;

}



.sb-cta-banner__heading {

  font-size: 48px;

  font-weight: 700;

  line-height: 1.08;

  letter-spacing: -1.4px;

  color: #FFFFFF;

  max-width: 440px;

  margin-bottom: 18px;

}



.sb-cta-banner__heading-accent {

  color: #D8D2FF;

}



.sb-cta-banner__desc {

  font-size: 15.5px;

  line-height: 1.6;

  color: rgba(255, 255, 255, 0.85);

  max-width: 470px;

  margin-bottom: 32px;

  font-weight: 400;

}



.sb-btn-white {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  font-size: 0.9375rem;

  font-weight: var(--fw-semibold);

  color: #7158F4 !important;

  background-color: #FFFFFF;

  border: none;

  height: 48px;

  padding: 0 34px;

  border-radius: 30px;

  letter-spacing: -0.01em;

  box-shadow: 0 8px 20px rgba(35, 25, 100, 0.12);

  transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;

}



.sb-btn-white:hover {

  background-color: #F8F7FF;

  color: #5146C7 !important;

  transform: translateY(-1px);

  box-shadow: 0 10px 24px rgba(35, 25, 100, 0.16);

}



.sb-btn-white:active {

  transform: translateY(0);

}



.sb-cta-banner__visual {

  position: relative;

  z-index: 2;

  /* display: flex; */

  justify-content: center;

  /* align-items: center; */

}



.sb-cta-banner__img-wrap {

  position: relative;

  margin-bottom: 0;

  margin-right: 0;

}



.sb-cta-banner__img {

  max-width: 440px;

  width: 100%;

  height: auto;

  display: block;

  filter: drop-shadow(0 16px 32px rgba(16, 16, 39, 0.18));

}



/* Desktop Composition Integrated Product Photography */

@media (min-width: 992px) {

  .sb-cta-banner {

    min-height: 380px;

    padding: 60px 64px;

  }



  .sb-cta-banner__visual {

    position: absolute;

    right: 0;

    bottom: 0;

    top: 20px;

    width: 50%;

    z-index: 1;

    display: flex;

    justify-content: flex-end;

    align-items: flex-end;

    pointer-events: none;

  }



  .sb-cta-banner__img-wrap {

    position: relative;

    height: 100%;

    display: flex;

    align-items: flex-end;

    justify-content: flex-end;

    margin-right: -10px;

    margin-bottom: -16px;

  }



  .sb-cta-banner__img {

    height: 106%;

    max-height: 445px;

    width: auto;

    max-width: none;

    display: block;

    object-fit: contain;

    object-position: bottom right;

    filter: drop-shadow(-12px 18px 36px rgba(16, 16, 39, 0.22));

  }

}



/* Tablet & Mobile Responsiveness */

@media (max-width: 991.98px) {

  .sb-prefooter-cta {

    padding-top: 40px;

    padding-bottom: 40px;

  }



  .sb-cta-banner {

    padding: 40px 32px;

    border-radius: 24px;

    min-height: auto;

  }



  .sb-cta-banner__content {

    padding-left: 0;

  }



  .sb-cta-banner__heading {

    font-size: 38px;

    letter-spacing: -1px;

  }



  .sb-cta-banner__desc {

    font-size: 15px;

    max-width: 100%;

    margin-bottom: 24px;

  }



  .sb-cta-banner__visual {

    /* justify-content: center; */

    margin-top: 16px;

    /* position: relative; */

    /* width: 100%; */

  }



  .sb-cta-banner__img-wrap {

    margin-bottom: -40px;

  }



  .sb-cta-banner__img {

    max-width: 380px;

    width: 100%;

    height: auto;

  }

}



@media (max-width: 575.98px) {

  .sb-prefooter-cta {

    padding-top: 48px;

    padding-bottom: 32px;

  }



  .sb-cta-banner {

    padding: 0;

    border-radius: 20px;

    text-align: center;

  }



  .sb-cta-banner__heading {

    font-size: 32px;

    letter-spacing: -0.8px;

    max-width: 100%;

  }



  .sb-cta-banner__desc {

    font-size: 14px;

  }



  .sb-btn-white {

    width: 100%;

    justify-content: center;

    padding: 0 20px;

  }



  .sb-cta-banner__img-wrap {

    margin-bottom: -24px;

  }



  .sb-cta-banner__img {

    max-width: 320px;

    margin: 0 auto;

  }



  .sb-cta-banner__visual {

    display: none

  }



  .sb-cta-banner__content {

    padding: 40px 20px;

    margin-top: 0;

  }

}



/* ============================================================

 9. FOOTER

 ============================================================ */

.sb-footer {

  background-color: #07071A;

  color: #BDBAE4;

  padding-top: 72px;

  padding-bottom: 32px;

  position: relative;

  z-index: 10;

  font-family: var(--font-family-base);

}



.sb-footer-container {

  max-width: 1280px;

}



.sb-footer__brand {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  text-decoration: none;

  margin-bottom: 16px;

}



.sb-footer__brand-img {

  height: 70px;

  width: auto;

  display: block;

  object-fit: contain;

}



.sb-footer__desc {

  font-size: 14px;

  line-height: 1.6;

  color: #BDBAE4;

  max-width: 320px;

  font-weight: var(--fw-regular);

}



.sb-footer__payments {

  margin-top: 20px;

}



.sb-footer__payment-img {

  height: 24px;

  width: auto;

  display: block;

  object-fit: contain;

  opacity: 0.9;

  border-radius: var(--radius-xs);

  transition: opacity var(--transition-fast);

}



.sb-footer__payment-img:hover {

  opacity: 1;

}



.sb-footer__heading {

  font-size: 12px;

  font-weight: var(--fw-bold);

  text-transform: uppercase;

  letter-spacing: 0.6px;

  color: #FFFFFF;

  margin-bottom: 20px;

}



.sb-footer__list {

  list-style: none;

  padding: 0;

  margin: 0;

  display: flex;

  flex-direction: column;

  gap: 10px;

}



.sb-footer__link {

  font-size: 14px;

  color: #BDBAE4;

  text-decoration: none;

  font-weight: var(--fw-regular);

  transition: color var(--transition-fast);

  display: inline-block;

}



.sb-footer__link:hover {

  color: #A392FF;

}



.sb-footer__contact-info {

  display: flex;

  flex-direction: column;

  gap: 14px;

}



.sb-footer__contact-item {

  display: flex;

  flex-direction: column;

  gap: 2px;

}



.sb-footer__contact-label {

  font-size: 12px;

  font-weight: var(--fw-semibold);

  text-transform: uppercase;

  letter-spacing: 0.4px;

  color: #908BAE;

}



.sb-footer__contact-value {

  font-size: 14px;

  color: #BDBAE4;

  text-decoration: none;

  transition: color var(--transition-fast);

}



.sb-footer__contact-value:hover {

  color: #A392FF;

}



.sb-footer__divider {

  border: 0;

  height: 1px;

  background-color: rgba(255, 255, 255, 0.12);

  margin-top: 56px;

  margin-bottom: 28px;

  opacity: 1;

}



.sb-footer__copyright {

  font-size: 13px;

  color: #BDBAE4;

  font-weight: var(--fw-regular);

  margin: 0;

}



/* Footer Responsive Overrides */

@media (max-width: 991.98px) {

  .sb-footer {

    padding-top: 56px;

    padding-bottom: 28px;

  }



  .sb-footer__desc {

    max-width: 100%;

  }



  .sb-footer__divider {

    margin-top: 40px;

    margin-bottom: 24px;

  }

}



@media (max-width: 767.98px) {

  .sb-footer {

    padding-top: 48px;

    padding-bottom: 24px;

  }



  .sb-footer__col-brand {

    margin-bottom: 12px;

  }

}



/* markquee start*/

/* page padding just so the section reads nicely in isolation */

.stage {

  display: flex;

  flex-direction: column;

  align-items: center;

  padding: 64px 0;

  gap: 16px;

}



/* ===== Marquee band ===== */

.marquee-band {

  position: relative;

  width: 100%;

  background: linear-gradient(100deg, var(--sb-purple-1) 0%, var(--sb-purple-2) 100%);

  overflow: hidden;

  padding: 34px 0;

}



/* faded ambient glow, sits behind the row */

.marquee-band::before {

  content: "";

  position: absolute;

  inset: 0;

  background: radial-gradient(60% 140% at 15% 0%, rgba(255, 255, 255, .10), transparent 60%), radial-gradient(50% 140% at 85% 100%, rgba(255, 255, 255, .08), transparent 60%);

  pointer-events: none;

}



/* edge fade mask so items dissolve into the band instead of clipping */

.marquee-mask {

  position: relative;

  display: flex;

  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);

  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);

}



.marquee-track {

  display: flex;

  align-items: center;

  flex-wrap: nowrap;

  gap: 56px;

  padding-right: 56px;

  animation: marquee-scroll 28s linear infinite;

  will-change: transform;

}



.marquee-mask:hover .marquee-track {

  animation-play-state: paused;

}



@keyframes marquee-scroll {

  from {

    transform: translateX(0);

  }



  to {

    transform: translateX(-50%);

  }

}



/* ===== Individual trust item ===== */

.trust-item {

  display: flex;

  align-items: center;

  gap: 12px;

  flex: 0 0 auto;

  white-space: nowrap;

  opacity: .92;

  transition: opacity .2s ease, transform .2s ease;

}



.trust-item:hover {

  opacity: 1;

  transform: translateY(-1px);

}



.trust-icon {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 34px;

  height: 34px;

  border-radius: 10px;

  background: rgba(255, 255, 255, .08);

  border: 1px solid var(--sb-icon-ring);

  flex: 0 0 auto;

}



.trust-icon svg {

  width: 18px;

  height: 18px;

  stroke: var(--sb-ink);

  fill: none;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;

}



.trust-label {

  color: var(--sb-ink);

  font-weight: 700;

  font-size: 1.05rem;

  letter-spacing: -.01em;

}



.trust-divider {

  width: 4px;

  height: 4px;

  border-radius: 50%;

  background: var(--sb-ink-dim);

  flex: 0 0 auto;

}



.eyebrow {

  color: rgba(255, 255, 255, .55);

  font-size: .78rem;

  font-weight: 700;

  letter-spacing: .14em;

  text-transform: uppercase;

  text-align: center;

  padding: 0 20px;

}



/* ===== Responsive down to 375px ===== */

@media (max-width: 576px) {

  .marquee-track {

    gap: 36px;

    padding-right: 36px;

    animation-duration: 20s;

  }



  .trust-label {

    font-size: .92rem;

  }



  .trust-icon {

    width: 30px;

    height: 30px;

  }



  .trust-icon svg {

    width: 16px;

    height: 16px;

  }



  .marquee-band {

    padding: 26px 0;

  }

}



@media (max-width: 375px) {

  .marquee-track {

    gap: 26px;

    padding-right: 26px;

    animation-duration: 16s;

  }



  .trust-label {

    font-size: .82rem;

  }

}



@media (prefers-reduced-motion: reduce) {

  .marquee-track {

    animation: none;

  }

}



/* ============================================================

 FEATURES SECTION  Bento Grid

 ============================================================ */

/* ---------- Section shell ---------- */

.sb-features {

  position: relative;

  overflow: hidden;

  background: #0B0A1F;

  padding: 96px 0;

}



/* Gradient glow blob  bottom-right */

.sb-features::before {

  content: '';

  position: absolute;

  inset: auto 0 0 auto;

  width: 680px;

  height: 680px;

  border-radius: 50%;

  background: radial-gradient(circle, rgba(124, 58, 237, .55) 0%, rgba(75, 42, 173, .28) 45%, transparent 72%);

  transform: translate(30%, 35%);

  filter: blur(60px);

  pointer-events: none;

  z-index: 0;

}



/* Top-left faint accent blob */

.sb-features::after {

  content: '';

  position: absolute;

  inset: 0 auto auto 0;

  width: 460px;

  height: 460px;

  border-radius: 50%;

  background: radial-gradient(circle, rgba(75, 42, 173, .20) 0%, transparent 70%);

  transform: translate(-30%, -30%);

  filter: blur(50px);

  pointer-events: none;

  z-index: 0;

}



.sb-features-container {

  position: relative;

  z-index: 1;

}



/* ---------- Section header ---------- */

.sb-features-eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  background: rgba(255, 255, 255, 0.06);

  border: 1px dashed rgba(255, 255, 255, 0.22);

  color: rgba(255, 255, 255, 0.85);

  font-size: 12.5px;

  font-weight: 600;

  letter-spacing: 0.03em;

  padding: 6px 16px;

  border-radius: 999px;

  margin-bottom: 18px;

}



.sb-features__heading {

  font-size: 48px;

  font-weight: 700;

  color: #FFFFFF;

  line-height: 1.08;

  letter-spacing: -1.4px;

  margin-bottom: 16px;

}



.sb-features__heading-accent {

  color: #9388FF;

}



.sb-features__desc {

  font-size: 15.5px;

  line-height: 1.6;

  color: rgba(255, 255, 255, 0.65);

  max-width: 520px;

  margin: 0 auto;

}



/* ---------- Bento rows ---------- */

.sb-bento-row {

  display: flex;

  flex-wrap: wrap;

  gap: 24px;

  margin-bottom: 24px;

}



.sb-bento-row:last-child {

  margin-bottom: 0;

}



/* ---------- Card base ---------- */

.sb-feat-card {

  background: #FFFFFF;

  border-radius: 24px;

  padding: 32px;

  box-shadow: 0 20px 50px rgba(0, 0, 0, .35);

  position: relative;

  overflow: visible;

  flex-shrink: 0;

  transition: transform .22s ease, box-shadow .22s ease;

}



.sb-feat-card:hover {

  transform: translateY(-2px);

  box-shadow: 0 24px 58px rgba(0, 0, 0, .42);

}



/* Row 1 sizing */

.sb-feat-card--wide-l {

  flex: 1 1 52%;

  min-width: 0;

}



.sb-feat-card--wide-r {

  flex: 1 1 38%;

  min-width: 0;

}



/* Row 2 equal thirds */

.sb-feat-card--third {

  flex: 1 1 calc(33.333% - 16px);

  min-width: 0;

}



/* ---------- Card copy ---------- */

.sb-feat-card__title {

  font-size: 1.35rem;

  font-weight: 700;

  color: #12102B;

  margin-bottom: 10px;

  line-height: 1.3;

}



.sb-feat-card__body {

  font-size: .93rem;

  color: #6B7280;

  line-height: 1.65;

  /* max-width: 340px; */

  margin: 0;

}



/* ---------- Row-1 inner flex ---------- */

.sb-feat-card-inner {

  display: flex;

  align-items: flex-start;

  gap: 20px;

  height: 100%;

}



.sb-feat-card-inner__copy {

  /* flex: 1 1 0; */

  /* min-width: 0; */

}



/* ================================================

 CARD 1  Smart file store  Orbit widget

 ================================================ */

.sb-orbit-widget {

  flex: 0 0 180px;

  width: 180px;

  height: 180px;

  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;

}



/* Dashed orbit ring */

.sb-orbit-ring {

  position: absolute;

  inset: 0;

  border-radius: 50%;

  border: 1.5px dashed rgba(108, 92, 231, .25);

  animation: sb-orbit-spin 60s linear infinite;

}



@keyframes sb-orbit-spin {

  to {

    transform: rotate(360deg);

  }

}



/* Central hub */

.sb-orbit-hub {

  width: 64px;

  height: 64px;

  border-radius: 50%;

  background: linear-gradient(135deg, #6C4CFB 0%, #8b5cf6 100%);

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow: 0 4px 20px rgba(108, 92, 231, .45);

  position: relative;

  z-index: 2;

}



.sb-orbit-hub svg {

  color: #fff;

}



/* Orbiting chips  positioned absolutely around the ring */

.sb-orbit-chip {

  position: absolute;

  width: 40px;

  height: 40px;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow: 0 4px 14px rgba(0, 0, 0, .18);

  z-index: 3;

  opacity: 0;

  transform: scale(.6);

  /* spec: 0.6 1 */

  transition: opacity .3s ease-out, transform .3s ease-out;

}



.sb-orbit-chip.is-visible {

  opacity: 1;

  transform: scale(1);

}



/* Orange  top-left */

.sb-orbit-chip--orange {

  background: #FF7A4B;

  top: 10px;

  left: 8px;

  transition-delay: 0ms;

}



/* Green  bottom-left */

.sb-orbit-chip--green {

  background: #36B37E;

  bottom: 14px;

  left: 18px;

  transition-delay: 80ms;

}



/* Pink  right */

.sb-orbit-chip--pink {

  background: #EC4899;

  top: 50%;

  right: 2px;

  transform: translateY(-50%) scale(.6);

  /* spec: 0.6 1 */

  transition-delay: 160ms;

}



.sb-orbit-chip--pink.is-visible {

  opacity: 1;

  transform: translateY(-50%) scale(1);

}



/* Floating pill labels */

.sb-orbit-pill {

  position: absolute;

  background: #F3F4F6;

  color: #374151;

  font-size: .7rem;

  font-weight: 600;

  padding: 3px 10px;

  border-radius: 999px;

  white-space: nowrap;

  z-index: 4;

  opacity: 0;

  transition: opacity .5s ease .3s;

}



.sb-orbit-pill.is-visible {

  opacity: 1;

}



.sb-orbit-pill--type {

  top: 18px;

  right: -12px;

}



.sb-orbit-pill--size {

  bottom: 22px;

  right: -10px;

}



/* ================================================

 CARD 2  Fast upload  Transfer panel widget

 ================================================ */

.sb-upload-widget-wrap {

  flex: 0 0 220px;

  position: relative;

  height: 170px;

  align-self: flex-start;

}



.sb-upload-panel {

  background: #FFFFFF;

  border-radius: 16px;

  padding: 14px 16px 12px;

  /* box-shadow: 0 8px 32px rgba(0,0,0,.18), 0 2px 8px rgba(108,92,231,.12); */

  width: 220px;

  border: 1px solid rgba(229, 227, 243, .7);

  /* entrance animation: panel slides in before ring/counter start */

  opacity: 0;

  transform: translateY(12px);

  transition: opacity .4s ease-out, transform .4s ease-out;

}



.sb-upload-panel.is-entered {

  opacity: 1;

  transform: translateY(0);

}



.sb-upload-panel__top {

  display: flex;

  align-items: center;

  gap: 6px;

  margin-bottom: 6px;

}



.sb-upload-panel__icon {

  width: 22px;

  height: 22px;

  border-radius: 50%;

  background: rgba(108, 92, 231, .1);

  display: flex;

  align-items: center;

  justify-content: center;

}



.sb-upload-panel__label {

  font-size: .72rem;

  color: #6B7280;

  font-weight: 500;

}



.sb-upload-panel__stat {

  font-size: 1.65rem;

  font-weight: 800;

  color: #12102B;

  line-height: 1.1;

  margin-bottom: 6px;

}



.sb-upload-panel__badge {

  display: inline-block;

  background: rgba(108, 92, 231, .1);

  color: #6C4CFB;

  font-size: .68rem;

  font-weight: 700;

  padding: 3px 10px;

  border-radius: 999px;

  margin-bottom: 12px;

}



.sb-upload-panel__bottom {

  display: flex;

  align-items: center;

  gap: 12px;

}



/* Circular progress ring */

.sb-progress-ring-wrap {

  flex: 0 0 44px;

}



.sb-progress-ring {

  transform: rotate(-90deg);

}



.sb-progress-ring__track {

  fill: none;

  stroke: #E5E7EB;

  stroke-width: 3.5;

}



.sb-progress-ring__fill {

  fill: none;

  stroke: #6C4CFB;

  stroke-width: 3.5;

  stroke-linecap: round;

  stroke-dasharray: 113.1;

  /* circumference: 2 */

  stroke-dashoffset: 113.1;

  /* start at 0 progress */

  transition: stroke-dashoffset .6s ease-out;

}



.sb-upload-pause-btn {

  width: 28px;

  height: 28px;

  border-radius: 50%;

  background: #F3F4F6;

  border: none;

  display: flex;

  align-items: center;

  justify-content: center;

  cursor: default;

  flex-shrink: 0;

}



/* ================================================

 CARD 3  Global search  Radar widget

 ================================================ */

.sb-radar-widget {

  width: 200px;

  height: 200px;

  position: relative;

  margin: 24px auto 0;

  display: flex;

  align-items: center;

  justify-content: center;

}



.sb-radar-svg {

  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  overflow: visible;

}



/* Radar rings  animated via class */

.sb-radar-ring {

  fill: none;

  stroke: #D1D5DB;

  stroke-width: 1.2;

  opacity: 0;

  /* scale from SVG centre (viewBox 0 0 200 200, rings centred at 100,100) */

  transform-box: fill-box;

  transform-origin: center;

}



.sb-radar-ring.is-pulsed {

  /* spec: scale 1 1.4, opacity 0.6 0, 800ms each */

  animation: sb-radar-pulse 800ms ease-out forwards;

}



@keyframes sb-radar-pulse {

  0% {

    opacity: 0.6;

    transform: scale(1);

  }



  100% {

    opacity: 0;

    transform: scale(1.4);

  }

}



/* Scatter dots */

.sb-radar-dot {

  opacity: 0;

  transition: opacity .4s ease;

}



.sb-radar-dot.is-visible {

  opacity: 1;

}



/* Central hub */

.sb-radar-hub {

  width: 52px;

  height: 52px;

  border-radius: 50%;

  background: #12102B;

  display: flex;

  align-items: center;

  justify-content: center;

  position: relative;

  z-index: 2;

  box-shadow: 0 4px 16px rgba(18, 16, 43, .35);

}



/* ================================================

 CARD 4  Flexible plans  Wave chart widget

 ================================================ */

.sb-wave-widget {

  position: relative;

  margin-top: 24px;

}



.sb-wave-bubble {

  position: absolute;

  top: -10px;

  left: 50%;

  /* base transform = horizontal-centre only (drop-in overridden when invisible) */

  transform: translateX(-50%) translateY(-6px);

  background: #12102B;

  color: #FFFFFF;

  font-size: .68rem;

  font-weight: 600;

  padding: 4px 12px;

  border-radius: 999px;

  white-space: nowrap;

  z-index: 2;

  box-shadow: 0 2px 10px rgba(0, 0, 0, .2);

  /* spec: drop-in 250ms, arrives last (after 900ms draw + 100ms fill = 1000ms+) */

  opacity: 0;

  transition: opacity .25s ease-out 1.1s, transform .25s ease-out 1.1s;

}



.sb-wave-bubble.is-visible {

  opacity: 1;

  transform: translateX(-50%) translateY(0);

}



.sb-wave-bubble::after {

  content: '';

  position: absolute;

  bottom: -5px;

  left: 50%;

  transform: translateX(-50%);

  width: 0;

  height: 0;

  border-left: 5px solid transparent;

  border-right: 5px solid transparent;

  border-top: 5px solid #12102B;

}



.sb-wave-svg {

  width: 100%;

  display: block;

  overflow: visible;

}



.sb-wave-area {

  fill: rgba(108, 92, 231, .12);

  /* fade in 100ms after the stroke line finishes (900ms draw + 100ms delay) */

  opacity: 0;

  transition: opacity .35s ease-out 1s;

}



.sb-wave-area.is-visible {

  opacity: 1;

}



.sb-wave-line {

  fill: none;

  stroke: #6C4CFB;

  stroke-width: 2.5;

  stroke-linecap: round;

  stroke-linejoin: round;

}



/* Stroke draw-in animation */

.sb-wave-line.is-drawn {

  animation: sb-wave-draw 900ms ease-out forwards;

}



@keyframes sb-wave-draw {

  from {

    stroke-dashoffset: var(--dash-len);

  }



  to {

    stroke-dashoffset: 0;

  }

}



/* Stats row */

.sb-wave-stats {

  display: flex;

  margin-top: 16px;

  gap: 0;

}



.sb-wave-stat {

  flex: 1 1 0;

  text-align: center;

  border-right: 1px solid #E5E7EB;

}



.sb-wave-stat:last-child {

  border-right: none;

}



.sb-wave-stat__num, .sb-wave-stat__num2 {

  font-size: 1.35rem;

  font-weight: 800;

  color: #12102B;

  line-height: 1.1;

  display: block;

}



.sb-wave-stat__lbl {

  font-size: .72rem;

  color: #9CA3AF;

  font-weight: 500;

  margin-top: 2px;

  display: block;

}



/* ================================================

 CARD 5  Password encryption  Activity log

 ================================================ */

.sb-actlog {

  margin-top: 20px;

  display: flex;

  flex-direction: column;

  gap: 0;

  max-height: 210px;

  overflow-y: auto;

  scrollbar-width: thin;

  scrollbar-color: #E5E7EB transparent;

}



.sb-actlog::-webkit-scrollbar {

  width: 4px;

}



.sb-actlog::-webkit-scrollbar-thumb {

  background: #E5E7EB;

  border-radius: 999px;

}



.sb-actlog-row {

  display: flex;

  align-items: flex-start;

  gap: 12px;

  position: relative;

  padding-bottom: 16px;

  opacity: 0;

  transform: translateY(10px);

  transition: opacity .35s ease, transform .35s ease;

}



.sb-actlog-row.is-visible {

  opacity: 1;

  transform: translateY(0);

}



.sb-actlog-row:last-child {

  padding-bottom: 0;

}



/* Vertical connector line */

.sb-actlog-row:not(:last-child)::before {

  content: '';

  position: absolute;

  left: 15px;

  top: 32px;

  bottom: -4px;

  width: 1.5px;

  background: #E5E7EB;

  z-index: 0;

}



/* Avatar chip */

.sb-actlog-avatar {

  width: 32px;

  height: 32px;

  border-radius: 50%;

  flex-shrink: 0;

  display: flex;

  align-items: center;

  justify-content: center;

  position: relative;

  z-index: 1;

  background: #EEF2FF;

}



/* Status dot on connector */

.sb-actlog-dot {

  position: absolute;

  left: 11px;

  top: 36px;

  width: 9px;

  height: 9px;

  border-radius: 50%;

  border: 2px solid #fff;

  z-index: 2;

}



.sb-actlog-dot--green {

  background: #36B37E;

}



.sb-actlog-dot--amber {

  background: #F59E0B;

}



/* Pulse-ring ::after  fires once when the row enters view */

.sb-actlog-dot::after {

  content: '';

  position: absolute;

  top: 50%;

  left: 50%;

  width: 100%;

  height: 100%;

  border-radius: 50%;

  border: 1.5px solid transparent;

  opacity: 0;

  transform: translate(-50%, -50%) scale(1);

}



.sb-actlog-dot--green::after {

  border-color: #36B37E;

}



.sb-actlog-dot--amber::after {

  border-color: #F59E0B;

}



.sb-actlog-dot.pulse-ring::after {

  animation: sb-dot-pulse 500ms ease-out forwards;

}



@keyframes sb-dot-pulse {

  0% {

    opacity: 0.7;

    transform: translate(-50%, -50%) scale(1);

  }



  100% {

    opacity: 0;

    transform: translate(-50%, -50%) scale(1.8);

  }

}



.sb-actlog-info {

  flex: 1 1 0;

  min-width: 0;

}



.sb-actlog-info__label {

  font-size: .82rem;

  font-weight: 600;

  color: #12102B;

  display: block;

  white-space: nowrap;

  overflow: hidden;

  text-overflow: ellipsis;

}



.sb-actlog-info__time {

  font-size: .72rem;

  color: #9CA3AF;

  display: block;

  margin-top: 1px;

}



/* ================================================

 Reduced-motion overrides  all animated elements

 resolve to their final resting state immediately

 ================================================ */

@media (prefers-reduced-motion: reduce) {



  /* Card 1 */

  .sb-orbit-ring {

    animation: none;

  }



  .sb-orbit-chip {

    opacity: 1;

    transform: scale(1);

    transition: none;

  }



  .sb-orbit-chip--pink {

    opacity: 1;

    transform: translateY(-50%) scale(1);

    transition: none;

  }



  .sb-orbit-pill {

    opacity: 1;

    transition: none;

  }



  /* Card 2 */

  .sb-upload-panel {

    opacity: 1;

    transform: translateY(0);

    transition: none;

  }



  .sb-progress-ring__fill {

    transition: none;

  }



  /* Card 3 */

  .sb-radar-ring.is-pulsed {

    animation: none;

    opacity: 0.3;

    transform: scale(1);

  }



  .sb-radar-dot {

    opacity: 1;

    transition: none;

  }



  /* Card 4 */

  .sb-wave-line.is-drawn {

    animation: none;

    stroke-dashoffset: 0;

  }



  .sb-wave-area {

    opacity: 1;

    transition: none;

  }



  .sb-wave-bubble {

    opacity: 1;

    transform: translateX(-50%) translateY(0);

    transition: none;

  }



  /* Card 5 */

  .sb-actlog-row {

    opacity: 1;

    transform: translateY(0);

    transition: none;

  }



  .sb-actlog-dot::after {

    animation: none;

  }

}



/* ================================================

 RESPONSIVE

 ================================================ */

/* 768 row 1 stacks, row 2 stays 3 cols (tighter gap) */

@media (max-width: 1199px) {



  .sb-feat-card--wide-l,

  .sb-feat-card--wide-r {

    flex-basis: 48%;

  }



  .sb-bento-row:first-of-type {

    gap: 20px;

  }



  .sb-bento-row:last-of-type {

    gap: 16px;

  }



  .sb-feat-card--third {

    flex-basis: calc(33.333% - 12px);

  }



  .sb-features__heading {

    font-size: 38px;

    letter-spacing: -1px;

  }

}



@media(max-width: 991px) {



  .sb-feat-card--wide-l,

  .sb-feat-card--wide-r {

    flex-basis: 100%;

  }



  .sb-feat-card--third {

    flex-basis: calc(100% - 12px);

  }

}



/* < 768px: everything single column */

@media (max-width: 767px) {

  .sb-features {

    padding: 64px 0;

  }



  .sb-features__heading {

    font-size: 32px;

    letter-spacing: -0.8px;

  }



  .sb-feat-card--wide-l,

  .sb-feat-card--wide-r,

  .sb-feat-card--third {

    flex-basis: 100%;

  }



  .sb-bento-row {

    gap: 20px;

  }



  .sb-feat-card-inner {

    flex-direction: column;

    align-items: start;

  }



  .sb-orbit-widget {

    flex: 0 0 160px;

    width: 180px;

    height: 180px;

    margin: 20px auto 0;

  }



  .sb-upload-widget-wrap {

    flex: none;

    width: 100%;

    height: auto;

    margin-top: 20px;

    display: flex;

    justify-content: center;

  }



  .sb-upload-panel {

    width: 100%;

    max-width: 320px;

  }



  .sb-radar-widget {

    width: 180px;

    height: 180px;

  }

}



/*  640px: row-1 two-wide cards also force inner column */

@media (max-width: 640px) {



  .sb-feat-card--wide-l,

  .sb-feat-card--wide-r {

    flex-basis: 100%;

  }

}



@media(max-width: 575) {

  .sb-feat-card-inner {

    flex-direction: column;

    align-items: start;

  }



  .sb-feat-card__body {

    max-width: 100%;

  }

}



/* 375px tweaks */

@media (max-width: 375px) {

  .sb-features {

    padding: 48px 0;

  }



  .sb-feat-card {

    padding: 20px;

  }



  .sb-feat-card__title {

    font-size: 1.15rem;

  }



  .sb-orbit-widget {

    flex: 0 0 140px;

    width: 140px;

    height: 140px;

  }



  .sb-orbit-hub {

    width: 52px;

    height: 52px;

  }



  .sb-wave-stat__num, .sb-wave-stat__num2 {

    font-size: 1.15rem;

  }



  .sb-radar-widget {

    width: 160px;

    height: 160px;

  }



  .sb-upload-panel {

    max-width: 100%;

  }

}



/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

 GLOBAL BUTTON ACTIVE & FOCUS FIX

 Prevents Bootstrap default white background/text override

 â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.btn:focus,

.btn:focus-visible {

  outline: none !important;

}



/* Why CTA Button Active Fix */

.sb-why__cta-btn:active,

.sb-why__cta-btn:focus,

.sb-why__cta-btn:focus-visible,

.sb-why__cta-btn.active {

  background-color: #4338CA !important;

  color: #FFFFFF !important;

  transform: translateY(0);

  box-shadow: 0 2px 10px rgba(113, 88, 244, 0.4) !important;

  outline: none !important;

}



/* Header CTA Active Fix */

.sb-btn-cta:active,

.sb-btn-cta:focus,

.sb-btn-cta:focus-visible,

.sb-btn-cta.active {

  background-color: #4b3bc6 !important;

  color: #FFFFFF !important;

  transform: translateY(0);

  outline: none !important;

}



/* Login Button Active Fix */

.sb-btn-login:active,

.sb-btn-login:focus,

.sb-btn-login:focus-visible,

.sb-btn-login.active {

  color: #7158F4 !important;

  border-color: rgba(113, 88, 244, 0.5) !important;

  background-color: rgba(113, 88, 244, 0.1) !important;

  outline: none !important;

}



/* Hero Buttons Active Fix */

.sb-hero-btn--primary:active,

.sb-hero-btn--primary:focus,

.sb-hero-btn--primary:focus-visible,

.sb-hero-btn--primary.active {

  background-color: #4338ca !important;

  border-color: #4338ca !important;

  color: #ffffff !important;

  transform: translateY(0);

  box-shadow: 0 2px 8px rgba(113, 88, 244, 0.25) !important;

  outline: none !important;

}



.sb-hero-btn--secondary:active,

.sb-hero-btn--secondary:focus,

.sb-hero-btn--secondary:focus-visible,

.sb-hero-btn--secondary.active {

  background-color: rgba(113, 88, 244, 0.14) !important;

  color: #5146c7 !important;

  border-color: #5146c7 !important;

  transform: translateY(0);

  outline: none !important;

}



/* Pricing Card Buttons Active Fix */

.sb-btn-purple-glow:active,

.sb-btn-purple-glow:focus,

.sb-btn-purple-glow:focus-visible,

.sb-btn-purple-glow.active {

  background-color: #4338CA !important;

  color: #FFFFFF !important;

  transform: translateY(0);

  outline: none !important;

}



.sb-btn-outline-dark-card:active,

.sb-btn-outline-dark-card:focus,

.sb-btn-outline-dark-card:focus-visible,

.sb-btn-outline-dark-card.active {

  background: #5146C7 !important;

  border-color: #5146C7 !important;

  color: #FFFFFF !important;

  outline: none !important;

}



/* Banner White Button Active Fix */

.sb-btn-white:active,

.sb-btn-white:focus,

.sb-btn-white:focus-visible,

.sb-btn-white.active {

  background-color: #EDE8FF !important;

  color: #4338CA !important;

  transform: translateY(0);

  outline: none !important;

}



/* ============================================================

 HERO PREMIUM BACKGROUND â€” SOFT FROSTED LAVENDER TREATMENT

 Almost-white canvas with barely-visible lavender atmosphere.

 ~80% softer than previous version. No layout, typography,

 buttons, nav, or other sections are changed.

 ============================================================ */



/* â”€â”€ Ultra-subtle breathing animation (12s, opacity only) â”€â”€ */

@keyframes sb-hero-breathe {



  0%,

  100% {

    opacity: 1;

  }



  50% {

    opacity: 0.75;

  }

}



@keyframes sb-hero-side-breathe {



  0%,

  100% {

    opacity: 1;

  }



  50% {

    opacity: 0.6;

  }

}



/* â”€â”€ Base: near-white with frosted lavender tint â”€â”€ */

.sb-hero {

  background:

    /* Top crown â€” white wash, extended to keep headline area bright */

    radial-gradient(ellipse 110% 48% at 50% -4%,

      rgba(255, 255, 255, 0.98) 0%,

      rgba(250, 248, 255, 0.72) 52%,

      transparent 76%),

    /* Headline glow â€” very faint warmth, center stays clean/white */

    radial-gradient(ellipse 68% 42% at 50% 22%,

      rgba(147, 128, 250, 0.06) 0%,

      rgba(113, 88, 244, 0.025) 52%,

      transparent 80%),

    /* Centre atmosphere â€” large, diffuse, frosted */

    radial-gradient(ellipse 90% 70% at 50% 40%,

      rgba(139, 124, 246, 0.055) 0%,

      rgba(113, 88, 244, 0.022) 50%,

      transparent 80%),

    /* Left edge haze â€” soft lavender, slightly more visible than centre */

    radial-gradient(ellipse 50% 68% at -2% 45%,

      rgba(113, 88, 244, 0.065) 0%,

      rgba(113, 88, 244, 0.018) 55%,

      transparent 80%),

    /* Right edge haze â€” soft lavender, slightly more visible than centre */

    radial-gradient(ellipse 50% 68% at 102% 42%,

      rgba(139, 100, 255, 0.065) 0%,

      rgba(139, 100, 255, 0.018) 55%,

      transparent 80%),

    /* Dashboard connection haze â€” slightly stronger than before */

    /* Positioned so upper edge of dashboard has a lavender glow */

    radial-gradient(ellipse 88% 50% at 50% 108%,

      rgba(113, 88, 244, 0.11) 0%,

      rgba(139, 124, 246, 0.045) 48%,

      transparent 76%),

    /* Base canvas â€” near-white, barely cool lavender tint */

    #F7F5FF;

  overflow: hidden;

  position: relative;

}



/* â”€â”€ ::before â€” Breathing glow (behind headline + centre) â”€â”€ */

/* Slightly increased so it registers behind headline on breathe */

.sb-hero::before {

  content: '';

  position: absolute;

  inset: 0;

  z-index: 0;

  pointer-events: none;

  background:

    /* Headline-centred warmth â€” very faint so white crown stays dominant */

    radial-gradient(ellipse 62% 38% at 50% 20%,

      rgba(147, 128, 250, 0.045) 0%,

      rgba(113, 88, 244, 0.018) 52%,

      transparent 82%),

    /* Centre fill â€” atmospheric depth */

    radial-gradient(ellipse 78% 62% at 50% 40%,

      rgba(113, 88, 244, 0.065) 0%,

      rgba(139, 124, 246, 0.028) 48%,

      transparent 74%);

  animation: sb-hero-breathe 12s ease-in-out infinite;

  will-change: opacity;

}



/* â”€â”€ ::after â€” Architectural / Geometric Line Pattern â”€â”€ */

/* Rich SaaS technology blueprint line-art with 2x-3x higher visibility,  */

/* featuring oversized arcs, rounded frame structures, dotted matrix grids, */

/* intersection nodes, and plus markers â€” concentrated on sides & dashboard. */

.sb-hero::after {

  content: '';

  position: absolute;

  inset: 0;

  z-index: 0;

  pointer-events: none;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 900' fill='none'%3E%3C!-- LEFT SIDE PATTERN --%3E%3Cpath d='M-100 160 C 180 160 420 320 500 680' stroke='rgba(113,88,244,0.28)' stroke-width='1.2' fill='none'/%3E%3Cpath d='M-100 100 C 220 100 460 280 540 660' stroke='rgba(139,124,246,0.18)' stroke-width='1' stroke-dasharray='6 6' fill='none'/%3E%3Cpath d='M-60 240 C 140 240 320 360 420 620' stroke='rgba(113,88,244,0.16)' stroke-width='1' stroke-dasharray='2 4' fill='none'/%3E%3Ccircle cx='50' cy='120' r='220' stroke='rgba(113,88,244,0.22)' stroke-width='1' fill='none'/%3E%3Ccircle cx='50' cy='120' r='140' stroke='rgba(139,124,246,0.16)' stroke-width='1' stroke-dasharray='4 4' fill='none'/%3E%3Crect x='-60' y='220' width='340' height='340' rx='40' stroke='rgba(113,88,244,0.20)' stroke-width='1' fill='none' transform='rotate(-15 110 390)'/%3E%3Crect x='40' y='320' width='220' height='220' rx='28' stroke='rgba(139,124,246,0.16)' stroke-width='1' stroke-dasharray='5 5' fill='none' transform='rotate(12 150 430)'/%3E%3Cline x1='-80' y1='360' x2='440' y2='120' stroke='rgba(113,88,244,0.22)' stroke-width='1'/%3E%3Cline x1='60' y1='780' x2='500' y2='340' stroke='rgba(113,88,244,0.20)' stroke-width='1'/%3E%3Cline x1='-40' y1='540' x2='380' y2='750' stroke='rgba(139,124,246,0.18)' stroke-width='1' stroke-dasharray='4 4'/%3E%3Ccircle cx='324' cy='183' r='4' fill='rgba(113,88,244,0.50)'/%3E%3Ccircle cx='324' cy='183' r='16' fill='rgba(113,88,244,0.12)'/%3E%3Ccircle cx='500' cy='340' r='3.5' fill='rgba(113,88,244,0.45)'/%3E%3Ccircle cx='500' cy='340' r='14' fill='rgba(113,88,244,0.10)'/%3E%3Ccircle cx='215' cy='450' r='3' fill='rgba(139,124,246,0.40)'/%3E%3Cpath d='M 140 180 H 152 M 146 174 V 186' stroke='rgba(113,88,244,0.40)' stroke-width='1.2'/%3E%3Cpath d='M 380 480 H 392 M 386 474 V 486' stroke='rgba(113,88,244,0.35)' stroke-width='1.2'/%3E%3Cpath d='M 100 620 H 112 M 106 614 V 626' stroke='rgba(139,124,246,0.35)' stroke-width='1.2'/%3E%3Cg fill='rgba(113,88,244,0.28)'%3E%3Ccircle cx='70' cy='280' r='1.5'/%3E%3Ccircle cx='85' cy='280' r='1.5'/%3E%3Ccircle cx='100' cy='280' r='1.5'/%3E%3Ccircle cx='70' cy='295' r='1.5'/%3E%3Ccircle cx='85' cy='295' r='1.5'/%3E%3Ccircle cx='100' cy='295' r='1.5'/%3E%3Ccircle cx='70' cy='310' r='1.5'/%3E%3Ccircle cx='85' cy='310' r='1.5'/%3E%3Ccircle cx='100' cy='310' r='1.5'/%3E%3Ccircle cx='240' cy='660' r='1.5'/%3E%3Ccircle cx='255' cy='660' r='1.5'/%3E%3Ccircle cx='270' cy='660' r='1.5'/%3E%3Ccircle cx='240' cy='675' r='1.5'/%3E%3Ccircle cx='255' cy='675' r='1.5'/%3E%3Ccircle cx='270' cy='675' r='1.5'/%3E%3C/g%3E%3C!-- RIGHT SIDE PATTERN --%3E%3Cpath d='M 1540 160 C 1260 160 1020 320 940 680' stroke='rgba(113,88,244,0.28)' stroke-width='1.2' fill='none'/%3E%3Cpath d='M 1540 100 C 1220 100 980 280 900 660' stroke='rgba(139,124,246,0.18)' stroke-width='1' stroke-dasharray='6 6' fill='none'/%3E%3Cpath d='M 1500 240 C 1300 240 1120 360 1020 620' stroke='rgba(113,88,244,0.16)' stroke-width='1' stroke-dasharray='2 4' fill='none'/%3E%3Ccircle cx='1390' cy='120' r='220' stroke='rgba(113,88,244,0.22)' stroke-width='1' fill='none'/%3E%3Ccircle cx='1390' cy='120' r='140' stroke='rgba(139,124,246,0.16)' stroke-width='1' stroke-dasharray='4 4' fill='none'/%3E%3Crect x='1160' y='220' width='340' height='340' rx='40' stroke='rgba(113,88,244,0.20)' stroke-width='1' fill='none' transform='rotate(15 1330 390)'/%3E%3Crect x='1180' y='320' width='220' height='220' rx='28' stroke='rgba(139,124,246,0.16)' stroke-width='1' stroke-dasharray='5 5' fill='none' transform='rotate(-12 1290 430)'/%3E%3Cline x1='1520' y1='360' x2='1000' y2='120' stroke='rgba(113,88,244,0.22)' stroke-width='1'/%3E%3Cline x1='1380' y1='780' x2='940' y2='340' stroke='rgba(113,88,244,0.20)' stroke-width='1'/%3E%3Cline x1='1480' y1='540' x2='1060' y2='750' stroke='rgba(139,124,246,0.18)' stroke-width='1' stroke-dasharray='4 4'/%3E%3Ccircle cx='1116' cy='183' r='4' fill='rgba(113,88,244,0.50)'/%3E%3Ccircle cx='1116' cy='183' r='16' fill='rgba(113,88,244,0.12)'/%3E%3Ccircle cx='940' cy='340' r='3.5' fill='rgba(113,88,244,0.45)'/%3E%3Ccircle cx='940' cy='340' r='14' fill='rgba(113,88,244,0.10)'/%3E%3Ccircle cx='1225' cy='450' r='3' fill='rgba(139,124,246,0.40)'/%3E%3Cpath d='M 1280 180 H 1292 M 1286 174 V 186' stroke='rgba(113,88,244,0.40)' stroke-width='1.2'/%3E%3Cpath d='M 1040 480 H 1052 M 1046 474 V 486' stroke='rgba(113,88,244,0.35)' stroke-width='1.2'/%3E%3Cpath d='M 1320 620 H 1332 M 1326 614 V 626' stroke='rgba(139,124,246,0.35)' stroke-width='1.2'/%3E%3Cg fill='rgba(113,88,244,0.28)'%3E%3Ccircle cx='1340' cy='280' r='1.5'/%3E%3Ccircle cx='1355' cy='280' r='1.5'/%3E%3Ccircle cx='1370' cy='280' r='1.5'/%3E%3Ccircle cx='1340' cy='295' r='1.5'/%3E%3Ccircle cx='1355' cy='295' r='1.5'/%3E%3Ccircle cx='1370' cy='295' r='1.5'/%3E%3Ccircle cx='1340' cy='310' r='1.5'/%3E%3Ccircle cx='1355' cy='310' r='1.5'/%3E%3Ccircle cx='1370' cy='310' r='1.5'/%3E%3Ccircle cx='1170' cy='660' r='1.5'/%3E%3Ccircle cx='1185' cy='660' r='1.5'/%3E%3Ccircle cx='1200' cy='660' r='1.5'/%3E%3Ccircle cx='1170' cy='675' r='1.5'/%3E%3Ccircle cx='1185' cy='675' r='1.5'/%3E%3Ccircle cx='1200' cy='675' r='1.5'/%3E%3C/g%3E%3C!-- LOWER / DASHBOARD CONNECTION GUIDES --%3E%3Cpath d='M 80 720 Q 720 650 1360 720' stroke='rgba(113,88,244,0.20)' stroke-width='1.2' fill='none'/%3E%3Cpath d='M 180 780 Q 720 720 1260 780' stroke='rgba(139,124,246,0.16)' stroke-width='1' stroke-dasharray='6 6' fill='none'/%3E%3Ccircle cx='720' cy='685' r='3.5' fill='rgba(113,88,244,0.45)'/%3E%3Ccircle cx='720' cy='685' r='14' fill='rgba(113,88,244,0.10)'/%3E%3C/svg%3E");

  background-position: center top;

  background-repeat: no-repeat;

  background-size: cover;

  opacity: 0.95;

}



/* â”€â”€ Left side ambient element (visible soft lavender glow) â”€â”€ */

.sb-hero__glow--left {

  width: 540px;

  height: 540px;

  left: -160px;

  top: 5%;

  background: radial-gradient(circle,

      rgba(113, 88, 244, 0.12) 0%,

      rgba(113, 88, 244, 0.04) 50%,

      transparent 78%);

  filter: blur(95px);

  animation: sb-hero-side-breathe 14s ease-in-out infinite;

  animation-delay: -4s;

  will-change: opacity;

}



/* â”€â”€ Right side ambient element (visible soft lavender glow) â”€â”€ */

.sb-hero__glow--right {

  width: 520px;

  height: 520px;

  right: -160px;

  top: 4%;

  background: radial-gradient(circle,

      rgba(139, 100, 255, 0.11) 0%,

      rgba(139, 100, 255, 0.035) 50%,

      transparent 78%);

  filter: blur(95px);

  animation: sb-hero-side-breathe 14s ease-in-out infinite;

  animation-delay: -7s;

  will-change: opacity;

}



/* â”€â”€ Dashboard wrap glow â€” lavender haze at upper dashboard edge â”€â”€ */

/* Two layers: a wide deep haze + a tighter upper-edge glow that */

/* visually connects the hero text area to the dashboard preview. */

.sb-dashboard-wrap__glow {

  background:

    /* Tight upper-edge glow â€” connects hero content to dashboard */

    radial-gradient(ellipse 80% 30% at 50% 2%,

      rgba(139, 124, 246, 0.10) 0%,

      rgba(113, 88, 244, 0.045) 50%,

      transparent 80%),

    /* Wide background haze behind the whole dashboard area */

    radial-gradient(ellipse 95% 60% at 50% 80%,

      rgba(113, 88, 244, 0.09) 0%,

      rgba(139, 124, 246, 0.038) 50%,

      transparent 76%);

  filter: blur(52px);

}



/* â”€â”€ Content always above all background layers â”€â”€ */

.sb-hero__container {

  position: relative;

  z-index: 1;

}



/* â”€â”€ Prevent horizontal overflow â”€â”€ */

.sb-hero,

.sb-hero::before,

.sb-hero::after {

  overflow: hidden;

  max-width: 100vw;

}



/* â”€â”€ Respect prefers-reduced-motion â”€â”€ */

@media (prefers-reduced-motion: reduce) {



  .sb-hero::before,

  .sb-hero__glow--left,

  .sb-hero__glow--right {

    animation: none;

  }

}



/* â”€â”€ Tablet (768px â€“ 1199px) â”€â”€ */

@media (max-width: 1199.98px) {

  .sb-hero {

    background:

      radial-gradient(ellipse 120% 38% at 50% -4%,

        rgba(255, 255, 255, 0.97) 0%,

        rgba(247, 245, 255, 0.65) 40%,

        transparent 68%),

      radial-gradient(ellipse 90% 62% at 50% 38%,

        rgba(139, 124, 246, 0.055) 0%,

        rgba(113, 88, 244, 0.025) 48%,

        transparent 74%),

      radial-gradient(ellipse 42% 55% at -2% 48%,

        rgba(113, 88, 244, 0.042) 0%,

        transparent 76%),

      radial-gradient(ellipse 42% 55% at 102% 44%,

        rgba(139, 100, 255, 0.042) 0%,

        transparent 76%),

      radial-gradient(ellipse 88% 42% at 50% 112%,

        rgba(113, 88, 244, 0.058) 0%,

        transparent 75%),

      #F7F5FF;

  }



  .sb-hero__glow--left,

  .sb-hero__glow--right {

    width: 380px;

    height: 380px;

  }

}



/* â”€â”€ Mobile (â‰¤ 767px) â€” minimal effects, clean white feel â”€â”€ */

@media (max-width: 767.98px) {

  .sb-hero {

    background:

      radial-gradient(ellipse 140% 32% at 50% -4%,

        rgba(255, 255, 255, 0.98) 0%,

        rgba(247, 245, 255, 0.60) 35%,

        transparent 60%),

      radial-gradient(ellipse 110% 55% at 50% 36%,

        rgba(139, 124, 246, 0.04) 0%,

        rgba(113, 88, 244, 0.015) 50%,

        transparent 72%),

      radial-gradient(ellipse 78% 38% at 50% 114%,

        rgba(113, 88, 244, 0.05) 0%,

        transparent 72%),

      #F7F5FF;

  }



  .sb-hero__glow--left,

  .sb-hero__glow--right {

    display: none;

  }



  /* Reduce wisp layer opacity further on mobile */

  .sb-hero::after {

    opacity: 0.45;

  }



  .sb-hero::before {

    background:

      radial-gradient(ellipse 85% 55% at 50% 35%,

        rgba(113, 88, 244, 0.035) 0%,

        rgba(139, 124, 246, 0.015) 48%,

        transparent 72%);

  }

}



/* General Pages */



  .page-title {

        background: #ecf6ff;

    border-bottom: 1px solid var(--bs-border-color);

    background-size: cover;

    padding: 80px 0;

  }

  .page-title h1 {

    text-align: center;

    font-size: clamp(2rem, 3.6vw, 3.2rem);

    line-height: 1.05;

    font-weight: 600;

    letter-spacing: -0.025em;

  }

  .order-summary {

    padding: 27px !important;

    border-radius: 16px;

    background: var(--dark-text);

    border: 1px solid #d1d1d1;

  }

  

  .checkout_area select {

    padding: 12px;

    border-radius: 5px;

    box-shadow: none;

    outline: none;

    appearance: auto;

    width: 100%;

    border: var(--bs-border-width) solid var(--bs-border-color);

    margin-bottom: 15px;

    min-height: 50px;

  }

  .checkout_area .form-control {

    padding: 12px 15px;

    margin-bottom: 15px;

    border-radius: 5px;

    border: var(--bs-border-width) solid var(--bs-border-color);

    box-shadow: none;

    outline: none;

  }

  

  .contact_info_section .contact_info_box {

    background: linear-gradient(180deg, #4f7cff22 0%, transparent 100%);

    background-color: #ffffff;

    border-radius: 20px;

    padding: 30px;

    margin-bottom: 30px;

    border: 1px solid #dee2e6;

    display: flex;

        align-items: center;

    gap: 20px;

  }

#my-widget-popup{

      top: auto !important;

    bottom: 20px !important;

}

#widget-content{

    bottom: 0px !important;

    top: auto !important;

}