:root {
  /* Dynamic CSS variables tailored for Flexolex LIGHT site-theme */
  --fl-bg: #F8FAFC;             /* Clean cream-slate ultra-light backdrop */
  --fl-surface: #FFFFFF;        /* Pure solid white surfaces */
  --fl-surface-darker: #F1F5F9; /* Shaded light grey-blue surface (for testimonials) */
  --fl-tone: #0284C7;           /* Healthy Deep Sky Blue / Teal Accent */
  --fl-tone-hover: #0369A1;     /* Darker teal for interaction hover */
  --fl-ink: #0F172A;            /* Slate 900 for absolute high contrast text values */
  --fl-ink-light: #475569;      /* Slate 600 for support text readability */
  
  --fl-gradient: linear-gradient(135deg, #0284C7 0%, #0EA5E9 100%);
  
  /* Fonts requested: Montserrat (Heading), Poppins (Body Text) */
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Poppins', sans-serif;
  
  /* Config Variables */
  --fl-max-width: 1140px;       /* Custom container width strictly configured between 960px and 1380px */
  --fl-radius: 16px;            /* Soft border-radius styling */
  --fl-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.06), 0 4px 6px -4px rgba(15, 23, 42, 0.06); /* Raised standard shadow depth */
}

/* Base resets & layout settings */
body {
  margin: 0;
  padding: 0;
}

/* Strict footprint prevention custom classes overrides */
.fl-box-limit {
  width: 100%;
  max-width: var(--fl-max-width);
}

/* Structural Styling for Preset B (Image Right + Floating CTA) */
@media (min-width: 1024px) {
  .fl-showcase-pane.lg\:sticky {
    position: sticky;
    top: 2rem;
  }
}

/* Animations & smooth scaling */
.scale-102:hover {
  transform: scale(1.02);
}

.transition-all {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Guarantee badge left icon adjustments */
.fl-stage-wrap img {
  pointer-events: none;
}

/* Heading transformations */
h1, h2, h3 {
  text-transform: uppercase; /* uppercase option randomized */
  letter-spacing: -0.02em;
}

html {
  scroll-behavior: smooth;
}