:root {
  --ll-color-bg: #ffffff;
  --ll-color-bg-alt: #f7f9fb;
  --ll-color-bg-dark: #0f172a;
  --ll-color-surface: #ffffff;
  --ll-color-border: #e2e8f0;
  --ll-color-primary: #2563eb;
  --ll-color-primary-accent: #1d4ed8;
  --ll-color-accent: #f59e0b;
  --ll-color-accent-alt: #f97316;
  --ll-color-text: #1e293b;
  --ll-color-text-light: #f1f5f9;
  --ll-color-muted: #64748b;
  --ll-radius-sm: .4rem;
  --ll-radius-md: .8rem;
  --ll-radius-lg: 1.6rem;
  --ll-radius-pill: 999px;
  --ll-shadow-sm: 0 2px 4px -2px rgba(0,0,0,.08), 0 4px 6px -1px rgba(0,0,0,.06);
  --ll-shadow-md: 0 4px 8px -2px rgba(0,0,0,.1), 0 10px 15px -3px rgba(0,0,0,.1);
  --ll-shadow-lg: 0 10px 25px -5px rgba(0,0,0,.15), 0 8px 10px -6px rgba(0,0,0,.15);
  --ll-shadow-glow: 0 0 0 4px rgba(37,99,235,.25);
  --ll-transition: .35s cubic-bezier(.4,0,.2,1);
  --ll-font-display: "Poppins", system-ui, sans-serif;
  --ll-font-body: "Inter", system-ui, sans-serif;
  --ll-max-width: 1200px;
  --ll-section-padding-y: clamp(4rem, 6vw, 7rem);
}

.ll-section { padding: var(--ll-section-padding-y) 1.5rem; position: relative; }
.ll-section .ll-container { max-width: var(--ll-max-width); margin: 0 auto; }
.ll-section--alt { background: var(--ll-color-bg-alt); }
.ll-section--dark { background: var(--ll-color-bg-dark); color: var(--ll-color-text-light); }
.ll-section--dark a { color: #93c5fd; }

.ll-title-1,.ll-title-2,.ll-title-3 { font-family: var(--ll-font-display); line-height:1.15; letter-spacing:-.02em; }
.ll-title-1 { font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight:700; }
.ll-title-2 { font-size: clamp(1.9rem, 3.8vw, 2.6rem); font-weight:600; }
.ll-title-3 { font-size: clamp(1.5rem, 3.2vw, 2.0rem); font-weight:600; }
body, p { font-family: var(--ll-font-body); line-height:1.55; }

.ll-btn { display:inline-flex; align-items:center; gap:.6rem; font-weight:600; border-radius: var(--ll-radius-md); padding:.9rem 1.4rem; text-decoration:none; cursor:pointer; transition: var(--ll-transition); border:1px solid transparent; }
.ll-btn-primary { background: var(--ll-color-primary); color:#fff; }
.ll-btn-primary:hover { background: var(--ll-color-primary-accent); }
.ll-btn-outline { background: rgba(37,99,235,.06); color: var(--ll-color-primary); border-color: var(--ll-color-primary); }
.ll-btn-outline:hover { background: var(--ll-color-primary); color:#fff; }

.ll-grid { display:grid; gap:2.2rem; }
.ll-grid-3 { grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); }
.ll-grid-4 { grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); }

.ll-card { background: var(--ll-color-surface); border:1px solid var(--ll-color-border); border-radius: var(--ll-radius-lg); padding:1.8rem 1.6rem; box-shadow: var(--ll-shadow-sm); transition: var(--ll-transition); position:relative; overflow:hidden; }
.ll-card:hover { box-shadow: var(--ll-shadow-md); transform: translateY(-4px); }
.ll-card.emphasis { border-color: var(--ll-color-primary); }

.ll-badge { display:inline-block; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; padding:.4rem .7rem; background:var(--ll-color-primary); color:#fff; border-radius: var(--ll-radius-pill); }

.ll-stats { display:grid; gap:2rem; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); }
.ll-stat { text-align:center; }
.ll-stat strong { font-size:2rem; display:block; font-weight:600; }

.ll-testimonials { display:grid; gap:1.6rem; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); }
.ll-testimonial { background:var(--ll-color-surface); border:1px solid var(--ll-color-border); border-radius: var(--ll-radius-lg); padding:1.4rem 1.4rem 1.7rem; box-shadow: var(--ll-shadow-sm); position:relative; }
.ll-testimonial:before { content:"\201C"; font-size:4rem; opacity:.12; position:absolute; top:-1rem; left:.6rem; }
.ll-testimonial cite { display:block; margin-top:1rem; font-weight:600; font-style:normal; color:var(--ll-color-primary); }

.ll-faq { max-width: 900px; margin:0 auto; }
.ll-faq-item { border-bottom:1px solid var(--ll-color-border); padding:1rem 0; }
.ll-faq-item summary { cursor:pointer; font-weight:600; }
.ll-faq-item p { margin-top:.6rem; }

/* Dark section adjustments */
.ll-section--dark .ll-card { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); }
.ll-section--dark .ll-testimonial { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.15); }

/* Animations */
[data-ll-animate] { opacity:0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
[data-ll-animate].is-visible { opacity:1; transform: translateY(0); }

/* Responsive helpers */
@media (min-width: 920px) {
  .ll-hero-split { display:grid; grid-template-columns: 1.05fr .95fr; gap:3rem; align-items:center; }
}

/* ================== LINGOLOOP ANIMATIONS (refined) ================== */
@media (prefers-reduced-motion: reduce) {
  [data-ll-animate], [data-ll-stagger] > * { transition:none !important; animation:none !important; opacity:1 !important; transform:none !important; }
}

[data-ll-animate] { will-change: opacity, transform; }
[data-ll-animate].llp-in { opacity:1 !important; transform:none !important; }

/* Base transforms (override defaults earlier) */
[data-ll-animate="fade"] { opacity:0; }
[data-ll-animate="fade-scale"] { opacity:0; transform: scale(.92); }
[data-ll-animate="slide-left"] { opacity:0; transform: translate3d(40px,0,0); }
[data-ll-animate="slide-right"] { opacity:0; transform: translate3d(-40px,0,0); }
[data-ll-animate="slide-up"] { opacity:0; transform: translate3d(0,42px,0); }
[data-ll-animate="zoom-in"] { opacity:0; transform: scale(.85); }

/* Stagger container */
[data-ll-stagger] { position:relative; }
[data-ll-stagger] > * { opacity:0; transform: translate3d(0,22px,0); }
[data-ll-stagger].llp-in > * { opacity:1; transform:none; transition: opacity .6s cubic-bezier(.16,.84,.44,1), transform .6s cubic-bezier(.16,.84,.44,1); }
[data-ll-stagger].llp-in > *:nth-child(1) { transition-delay: .05s; }
[data-ll-stagger].llp-in > *:nth-child(2) { transition-delay: .10s; }
[data-ll-stagger].llp-in > *:nth-child(3) { transition-delay: .15s; }
[data-ll-stagger].llp-in > *:nth-child(4) { transition-delay: .20s; }
[data-ll-stagger].llp-in > *:nth-child(5) { transition-delay: .25s; }
[data-ll-stagger].llp-in > *:nth-child(6) { transition-delay: .30s; }
[data-ll-stagger].llp-in > *:nth-child(7) { transition-delay: .35s; }
[data-ll-stagger].llp-in > *:nth-child(8) { transition-delay: .40s; }
[data-ll-stagger].llp-in > *:nth-child(9) { transition-delay: .45s; }
[data-ll-stagger].llp-in > *:nth-child(10) { transition-delay: .50s; }

/* Micro interaction for buttons inside animated sections */
[data-ll-animate] .ll-btn { transition: background .35s ease, transform .35s ease; }
[data-ll-animate] .ll-btn:hover { transform: translateY(-3px); }
