/* ==========================================================
       DESIGN TOKENS
       ========================================================== */
    :root {
      /* Color system */
      --lp-primary: #0d5afd;
      --lp-primary-dark: #0244d4;
      --lp-primary-soft: #e8f0ff;
      --lp-primary-faint: #f4f7ff;
      --lp-navy: #061238;
      --lp-navy-deep: #040d29;
      --lp-bg: #fafafa;
      --lp-surface: #ffffff;
      --lp-text: #061238;
      --lp-muted: #6b7280;
      --lp-muted-light: #9ca3af;
      --lp-border: #e5e7eb;
      --lp-border-light: #f0f1f3;

      /* Typography */
      --lp-font: 'DM Sans', system-ui, -apple-system, sans-serif;
      --lp-h1: clamp(2.25rem, 5vw + 0.75rem, 3.75rem);
      --lp-h2: clamp(1.625rem, 3vw + 0.25rem, 2.5rem);
      --lp-h3: clamp(1.125rem, 1.5vw + 0.25rem, 1.375rem);
      --lp-body: clamp(0.9375rem, 0.5vw + 0.75rem, 1.0625rem);

      /* Spacing (4px base) */
      --sp-1: 0.25rem;
      --sp-2: 0.5rem;
      --sp-3: 0.75rem;
      --sp-4: 1rem;
      --sp-5: 1.25rem;
      --sp-6: 1.5rem;
      --sp-8: 2rem;
      --sp-10: 2.5rem;
      --sp-12: 3rem;
      --sp-16: 4rem;
      --sp-20: 5rem;
      --sp-24: 6rem;

      /* Radii */
      --lp-r-sm: 0.5rem;
      --lp-r-md: 0.75rem;
      --lp-r-lg: 1rem;
      --lp-r-xl: 1.5rem;
      --lp-r-pill: 999px;

      /* Shadows */
      --lp-sh-sm: 0 1px 3px rgba(6, 18, 56, 0.06);
      --lp-sh-md: 0 4px 16px rgba(6, 18, 56, 0.08);
      --lp-sh-lg: 0 8px 32px rgba(6, 18, 56, 0.10);
      --lp-sh-primary: 0 4px 20px rgba(13, 90, 253, 0.18);

      /* Motion */
      --lp-ease: cubic-bezier(0.16, 1, 0.3, 1);
      --lp-duration: 0.4s;
      --lp-stagger: 80ms;

      /* Z-index scale */
      --z-sticky: 100;
      --z-overlay: 200;
    }

    /* ==========================================================
       RESET & BASE
       ========================================================== */
    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      -webkit-text-size-adjust: 100%;
    }

    body {
      font-family: var(--lp-font);
      font-size: var(--lp-body);
      line-height: 1.7;
      color: var(--lp-text);
      background: var(--lp-bg);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      overflow-x: hidden;
    }

    img { max-width: 100%; height: auto; display: block; }
    a { color: inherit; text-decoration: none; }
    button { font-family: inherit; cursor: pointer; border: none; background: none; }
    ul { list-style: none; }

    /* ==========================================================
       TYPOGRAPHY
       ========================================================== */
    h1, h2, h3, h4 {
      font-weight: 700;
      letter-spacing: -0.03em;
      line-height: 1.1;
      color: var(--lp-text);
    }

    h1 { font-size: var(--lp-h1); font-weight: 800; }
    h2 { font-size: var(--lp-h2); }
    h3 { font-size: var(--lp-h3); }

    .lp-section-eyebrow {
      display: inline-block;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--lp-primary);
      margin-bottom: var(--sp-4);
    }

    .lp-section-title {
      max-width: 36ch;
      margin-bottom: var(--sp-4);
    }

    .lp-section-subtitle {
      font-size: clamp(0.9375rem, 0.5vw + 0.75rem, 1.0625rem);
      color: var(--lp-muted);
      max-width: 52ch;
      line-height: 1.7;
    }

    /* ==========================================================
       LAYOUT UTILITIES
       ========================================================== */
    .lp-container {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 var(--sp-5);
    }

    @media (min-width: 768px) {
      .lp-container { padding: 0 var(--sp-8); }
    }

    .lp-section {
      padding: var(--sp-16) 0;
    }

    @media (min-width: 768px) {
      .lp-section { padding: var(--sp-24) 0; }
    }

    /* ==========================================================
       BUTTONS
       ========================================================== */
    .lp-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: var(--sp-2);
      padding: 0.8125rem 1.75rem;
      font-size: 0.9375rem;
      font-weight: 600;
      border-radius: var(--lp-r-sm);
      transition: all 200ms var(--lp-ease);
      white-space: nowrap;
      letter-spacing: -0.01em;
    }

    .lp-btn:active {
      transform: scale(0.98);
    }

    .lp-btn--primary {
      background: var(--lp-primary);
      color: #ffffff;
    }

    .lp-btn--primary:hover {
      background: var(--lp-primary-dark);
      box-shadow: var(--lp-sh-primary);
    }

    .lp-btn--ghost {
      background: transparent;
      color: var(--lp-primary);
      border: 1.5px solid var(--lp-border);
    }

    .lp-btn--ghost:hover {
      border-color: var(--lp-primary);
      background: var(--lp-primary-faint);
    }

    .lp-btn--large {
      padding: 1rem 2rem;
      font-size: 1rem;
      min-height: 52px;
    }

    .lp-btn--white {
      background: #ffffff;
      color: var(--lp-primary);
    }

    .lp-btn--white:hover {
      background: var(--lp-primary-faint);
      box-shadow: var(--lp-sh-md);
    }

    .lp-btn svg {
      width: 18px;
      height: 18px;
      flex-shrink: 0;
    }

    /* ==========================================================
       SCROLL REVEAL ANIMATIONS
       ========================================================== */
    .lp-reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: opacity var(--lp-duration) var(--lp-ease),
                  transform var(--lp-duration) var(--lp-ease);
    }

    .lp-reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .lp-reveal-delay-1 { transition-delay: calc(var(--lp-stagger) * 1); }
    .lp-reveal-delay-2 { transition-delay: calc(var(--lp-stagger) * 2); }
    .lp-reveal-delay-3 { transition-delay: calc(var(--lp-stagger) * 3); }
    .lp-reveal-delay-4 { transition-delay: calc(var(--lp-stagger) * 4); }
    .lp-reveal-delay-5 { transition-delay: calc(var(--lp-stagger) * 5); }

    @media (prefers-reduced-motion: reduce) {
      .lp-reveal {
        opacity: 1;
        transform: none;
        transition: none;
      }
    }

    /* ==========================================================
       HEADER / NAV
       ========================================================== */
    .lp-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: var(--z-sticky);
      background: rgba(250, 250, 250, 0.85);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid transparent;
      transition: border-color 200ms ease, background 200ms ease;
    }

    .lp-header.is-scrolled {
      border-bottom-color: var(--lp-border);
      background: rgba(250, 250, 250, 0.95);
    }

    .lp-header__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 64px;
    }

    .lp-header__logo {
      display: flex;
      align-items: center;
      gap: var(--sp-2);
      font-size: 1.25rem;
      font-weight: 800;
      letter-spacing: -0.03em;
      color: var(--lp-text);
      flex-shrink: 0;
    }

    .lp-header__logo-icon {
      width: 32px;
      height: 32px;
      border-radius: var(--lp-r-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
    }

    .lp-header__logo-icon svg {
      width: 18px;
      height: 18px;
    }

    .lp-header__nav {
      display: none;
    }

    .lp-header__links {
      display: flex;
      align-items: center;
      gap: var(--sp-8);
    }

    .lp-header__link {
      font-size: 0.875rem;
      font-weight: 500;
      color: var(--lp-muted);
      transition: color 200ms ease;
    }

    .lp-header__link:hover,
    .lp-header__link.is-active {
      color: var(--lp-text);
    }

    .lp-header__cta {
      display: none;
    }

    /* Mobile menu */
    .lp-header__menu-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      color: var(--lp-text);
    }

    .lp-header__menu-btn svg {
      width: 22px;
      height: 22px;
    }

    .lp-mobile-nav {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: var(--z-overlay);
      opacity: 0;
      visibility: hidden;
      transition: opacity 250ms ease, visibility 250ms ease;
    }

    .lp-mobile-nav.is-open {
      display: block;
      opacity: 1;
      visibility: visible;
    }

    .lp-mobile-nav__backdrop {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.5);
    }

    .lp-mobile-nav__panel {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: #ffffff;
      padding: var(--sp-4) var(--sp-5);
      overflow-y: auto;
      transform: translateY(-10px);
      transition: transform 250ms ease;
    }

    .lp-mobile-nav.is-open .lp-mobile-nav__panel {
      transform: translateY(0);
    }

    .lp-mobile-nav__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-bottom: var(--sp-4);
      border-bottom: 1px solid var(--lp-border-light);
      margin-bottom: var(--sp-2);
    }

    .lp-mobile-nav__logo {
      display: flex;
      align-items: center;
      gap: var(--sp-2);
      font-size: 1.25rem;
      font-weight: 800;
      letter-spacing: -0.03em;
      color: var(--lp-text);
    }

    .lp-mobile-nav__logo-icon {
      width: 32px;
      height: 32px;
      border-radius: var(--lp-r-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
    }

    .lp-mobile-nav__logo-icon img {
      width: 32px;
      height: 32px;
      border-radius: var(--lp-r-sm);
    }

    .lp-mobile-nav__close {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      color: var(--lp-text);
      border-radius: var(--lp-r-sm);
      transition: background 150ms ease;
    }

    .lp-mobile-nav__close:hover {
      background: var(--lp-border-light);
    }

    .lp-mobile-nav__close svg {
      width: 22px;
      height: 22px;
    }

    .lp-mobile-nav__link {
      display: block;
      padding: var(--sp-4) 0;
      font-size: 1.125rem;
      font-weight: 600;
      color: var(--lp-text);
      border-bottom: 1px solid var(--lp-border-light);
    }

    .lp-mobile-nav__link:last-child {
      border-bottom: none;
    }

    .lp-mobile-nav__cta {
      margin-top: var(--sp-6);
    }

    .lp-mobile-nav__cta .lp-btn {
      width: 100%;
    }

    @media (min-width: 768px) {
      .lp-header__nav { display: block; }
      .lp-header__cta { display: inline-flex; }
      .lp-header__menu-btn { display: none; }
    }

    /* ==========================================================
       HERO
       ========================================================== */
    .lp-hero {
      padding-top: calc(64px + var(--sp-12));
      padding-bottom: var(--sp-12);
      position: relative;
      overflow: hidden;
    }

    @media (min-width: 768px) {
      .lp-hero {
        padding-top: calc(64px + var(--sp-20));
        padding-bottom: var(--sp-20);
      }
    }

    .lp-hero__inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--sp-10);
      align-items: center;
    }

    @media (min-width: 768px) {
      .lp-hero__inner {
        grid-template-columns: 1fr 1fr;
        gap: var(--sp-12);
      }
    }

    @media (min-width: 1024px) {
      .lp-hero__inner {
        grid-template-columns: 55fr 45fr;
        gap: var(--sp-16);
      }
    }

    .lp-hero__content {
      order: 1;
    }

    @media (min-width: 768px) {
      .lp-hero__content { order: 1; }
    }

    .lp-hero__tag {
      display: inline-flex;
      align-items: center;
      gap: var(--sp-2);
      padding: var(--sp-1) var(--sp-3);
      background: var(--lp-primary-faint);
      border: 1px solid var(--lp-primary-soft);
      border-radius: var(--lp-r-pill);
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--lp-primary);
      margin-bottom: var(--sp-6);
    }

    .lp-hero__tag-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--lp-primary);
    }

    .lp-hero h1 {
      margin-bottom: var(--sp-5);
    }

    .lp-hero__subtitle {
      font-size: clamp(1rem, 0.5vw + 0.75rem, 1.125rem);
      color: var(--lp-muted);
      line-height: 1.7;
      max-width: 46ch;
      margin-bottom: var(--sp-8);
    }

    .lp-hero__actions {
      display: flex;
      flex-wrap: wrap;
      gap: var(--sp-3);
      margin-bottom: var(--sp-8);
    }

    @media (max-width: 767px) {
      .lp-hero__actions {
        flex-direction: column;
      }
      .lp-hero__actions .lp-btn {
        width: 100%;
        justify-content: center;
      }
    }

    .lp-hero__stats {
      display: flex;
      gap: var(--sp-8);
    }

    .lp-hero__stat {
      display: flex;
      flex-direction: column;
    }

    .lp-hero__stat-value {
      font-size: 1.375rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      color: var(--lp-text);
    }

    .lp-hero__stat-label {
      font-size: 0.8125rem;
      color: var(--lp-muted);
      margin-top: var(--sp-1);
    }

    /* Hero visual / device mockup */
    .lp-hero__visual {
      order: 1;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    @media (min-width: 768px) {
      .lp-hero__visual { order: 2; }
    }

    .lp-hero__mockup {
      width: 100%;
      max-width: 380px;
      aspect-ratio: 9 / 16;
      background: var(--lp-primary-soft);
      border-radius: var(--lp-r-xl);
      border: 2px solid var(--lp-border);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }

    @media (min-width: 768px) {
      .lp-hero__mockup {
        max-width: 320px;
      }
    }

    @media (min-width: 1024px) {
      .lp-hero__mockup {
        max-width: 360px;
      }
    }

    /* Decorative accent shape behind mockup */
    .lp-hero__visual::before {
      content: '';
      position: absolute;
      width: 280px;
      height: 280px;
      border-radius: 50%;
      background: var(--lp-primary-soft);
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: -1;
      opacity: 0.6;
    }

    @media (min-width: 768px) {
      .lp-hero__visual::before {
        width: 340px;
        height: 340px;
      }
    }

    .lp-hero__mockup-label {
      text-align: center;
      padding: var(--sp-6);
    }

    .lp-hero__mockup-label p {
      font-size: 0.8125rem;
      color: var(--lp-muted);
      line-height: 1.5;
    }

    .lp-hero__mockup-label strong {
      display: block;
      font-size: 0.9375rem;
      color: var(--lp-text);
      margin-bottom: var(--sp-2);
    }

    /* ==========================================================
       TRUST STRIP
       ========================================================== */
    .lp-trust {
      border-top: 1px solid var(--lp-border);
      border-bottom: 1px solid var(--lp-border);
      background: var(--lp-surface);
      padding: var(--sp-6) 0;
    }

    .lp-trust__inner {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: var(--sp-6) var(--sp-10);
    }

    .lp-trust__item {
      display: flex;
      align-items: center;
      gap: var(--sp-3);
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--lp-muted);
      white-space: nowrap;
    }

    .lp-trust__icon {
      width: 36px;
      height: 36px;
      border-radius: var(--lp-r-sm);
      background: var(--lp-primary-faint);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--lp-primary);
      flex-shrink: 0;
    }

    .lp-trust__icon svg {
      width: 18px;
      height: 18px;
    }

    .lp-trust__divider {
      width: 1px;
      height: 24px;
      background: var(--lp-border);
    }

    @media (max-width: 600px) {
      .lp-trust__divider { display: none; }
    }

    .lp-trust__partner {
      font-size: 0.75rem;
      color: var(--lp-muted-light);
      font-weight: 500;
    }

    /* ==========================================================
       FEATURES (zig-zag alternating layout)
       ========================================================== */
    .lp-features {
      background: var(--lp-bg);
    }

    .lp-features__item {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--sp-8);
      align-items: center;
      padding: var(--sp-10) 0;
    }

    @media (min-width: 768px) {
      .lp-features__item {
        grid-template-columns: 1fr 1fr;
        gap: var(--sp-12);
        padding: var(--sp-12) 0;
      }
    }

    .lp-features__item + .lp-features__item {
      border-top: 1px solid var(--lp-border-light);
    }

    @media (min-width: 768px) {
      .lp-features__item--reverse .lp-features__content { order: 2; }
      .lp-features__item--reverse .lp-features__visual { order: 1; }
    }

    .lp-features__icon {
      width: 48px;
      height: 48px;
      border-radius: var(--lp-r-md);
      background: var(--lp-primary-faint);
      border: 1px solid var(--lp-primary-soft);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--lp-primary);
      margin-bottom: var(--sp-5);
    }

    .lp-features__icon svg {
      width: 24px;
      height: 24px;
    }

    .lp-features__content h3 {
      margin-bottom: var(--sp-3);
    }

    .lp-features__desc {
      color: var(--lp-muted);
      line-height: 1.7;
      max-width: 44ch;
    }

    .lp-features__visual {
      display: flex;
      align-items: center;
      justify-content: center;
      aspect-ratio: 4 / 3;
      min-height: 200px;
    }

    .lp-features__visual-label {
      font-size: 0.8125rem;
      color: var(--lp-muted-light);
      font-weight: 500;
    }

    /* ==========================================================
       HOW IT WORKS
       ========================================================== */
    .lp-how-it-works {
      background: var(--lp-surface);
    }

    .lp-steps {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--sp-8);
      margin-top: var(--sp-10);
    }

    @media (min-width: 768px) {
      .lp-steps {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--sp-8) var(--sp-10);
      }
    }

    @media (min-width: 1024px) {
      .lp-steps {
        grid-template-columns: repeat(4, 1fr);
        gap: var(--sp-8);
      }
    }

    .lp-step {
      display: flex;
      gap: var(--sp-5);
    }

    @media (min-width: 1024px) {
      .lp-step {
        flex-direction: column;
        gap: var(--sp-4);
      }
    }

    .lp-step__number {
      font-size: 2.5rem;
      font-weight: 800;
      letter-spacing: -0.04em;
      line-height: 1;
      color: var(--lp-primary-soft);
      flex-shrink: 0;
      transition: color 300ms ease;
    }

    .lp-step:hover .lp-step__number {
      color: var(--lp-primary);
    }

    .lp-step__title {
      font-size: 1.0625rem;
      font-weight: 700;
      margin-bottom: var(--sp-2);
    }

    .lp-step__desc {
      font-size: 0.9375rem;
      color: var(--lp-muted);
      line-height: 1.6;
    }

    /* ==========================================================
       SECURITY & COMPLIANCE (dark section)
       ========================================================== */
    .lp-security {
      background: var(--lp-navy);
      color: #ffffff;
      position: relative;
      overflow: hidden;
    }

    .lp-security::before {
      content: '';
      position: absolute;
      width: 500px;
      height: 500px;
      border-radius: 50%;
      background: rgba(13, 90, 253, 0.06);
      top: -200px;
      right: -150px;
      pointer-events: none;
    }

    .lp-security::after {
      content: '';
      position: absolute;
      width: 300px;
      height: 300px;
      border-radius: 50%;
      background: rgba(13, 90, 253, 0.04);
      bottom: -100px;
      left: -80px;
      pointer-events: none;
    }

    .lp-security .lp-section-eyebrow {
      color: rgba(255, 255, 255, 0.5);
    }

    .lp-security .lp-section-title {
      color: #ffffff;
    }

    .lp-security__inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--sp-10);
      align-items: center;
    }

    @media (min-width: 768px) {
      .lp-security__inner {
        grid-template-columns: 55fr 45fr;
        gap: var(--sp-12);
      }
    }

    .lp-security__subtitle {
      color: rgba(255, 255, 255, 0.65);
      line-height: 1.7;
      max-width: 48ch;
      margin-bottom: var(--sp-8);
    }

    .lp-security__list {
      display: flex;
      flex-direction: column;
      gap: var(--sp-4);
    }

    .lp-security__list-item {
      display: flex;
      align-items: flex-start;
      gap: var(--sp-3);
      font-size: 0.9375rem;
      color: rgba(255, 255, 255, 0.85);
      line-height: 1.6;
    }

    .lp-security__check {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: rgba(13, 90, 253, 0.2);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      margin-top: 2px;
      color: #60a5fa;
    }

    .lp-security__check svg {
      width: 14px;
      height: 14px;
    }

    .lp-security__visual {
      display: flex;
      align-items: center;
      justify-content: center;
      aspect-ratio: 4 / 3;
      min-height: 200px;
    }

    .lp-security__visual-label {
      font-size: 0.8125rem;
      color: rgba(255, 255, 255, 0.3);
      font-weight: 500;
    }

    /* ==========================================================
       TESTIMONIALS
       ========================================================== */
    .lp-testimonials {
      background: var(--lp-bg);
    }

    .lp-testimonials__grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--sp-5);
      margin-top: var(--sp-10);
    }

    @media (min-width: 768px) {
      .lp-testimonials__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--sp-6);
      }
    }

    @media (min-width: 1024px) {
      .lp-testimonials__grid {
        grid-template-columns: 1.2fr 1fr 1fr;
        gap: var(--sp-6);
      }
    }

    .lp-testimonial {
      background: var(--lp-surface);
      border: 1px solid var(--lp-border);
      border-radius: var(--lp-r-lg);
      padding: var(--sp-6);
      display: flex;
      flex-direction: column;
      transition: box-shadow 300ms ease, transform 300ms ease;
    }

    .lp-testimonial:hover {
      box-shadow: var(--lp-sh-md);
      transform: translateY(-2px);
    }

    /* Featured testimonial — larger on desktop */
    .lp-testimonial--featured {
      @media (min-width: 1024px) {
        padding: var(--sp-8);
      }
    }

    .lp-testimonial__stars {
      display: flex;
      gap: 2px;
      margin-bottom: var(--sp-4);
      color: #f59e0b;
    }

    .lp-testimonial__stars svg {
      width: 16px;
      height: 16px;
    }

    .lp-testimonial__quote {
      font-size: 0.9375rem;
      color: var(--lp-text);
      line-height: 1.7;
      margin-bottom: var(--sp-6);
      flex-grow: 1;
    }

    .lp-testimonial__author {
      display: flex;
      align-items: center;
      gap: var(--sp-3);
      padding-top: var(--sp-4);
      border-top: 1px solid var(--lp-border-light);
    }

    .lp-testimonial__avatar {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: var(--lp-primary-soft);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--lp-primary);
      flex-shrink: 0;
    }

    .lp-testimonial__name {
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--lp-text);
    }

    .lp-testimonial__role {
      font-size: 0.75rem;
      color: var(--lp-muted);
      margin-top: 1px;
    }

    /* ==========================================================
       WHY SAVEMONI (comparison table)
       ========================================================== */
    .lp-comparison {
      background: var(--lp-surface);
    }

    .lp-comparison__table-wrapper {
      margin-top: var(--sp-10);
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      border: 1px solid var(--lp-border);
      border-radius: var(--lp-r-lg);
    }

    .lp-comparison__table {
      width: 100%;
      border-collapse: collapse;
      min-width: 520px;
    }

    .lp-comparison__table th,
    .lp-comparison__table td {
      padding: var(--sp-4) var(--sp-5);
      text-align: left;
      font-size: 0.9375rem;
    }

    .lp-comparison__table thead th {
      background: var(--lp-navy);
      color: #ffffff;
      font-weight: 600;
      font-size: 0.875rem;
      letter-spacing: -0.01em;
    }

    .lp-comparison__table thead th:first-child {
      border-radius: var(--lp-r-lg) 0 0 0;
    }

    .lp-comparison__table thead th:last-child {
      border-radius: 0 var(--lp-r-lg) 0 0;
    }

    .lp-comparison__table thead th.lp-comparison__highlight {
      background: var(--lp-primary);
    }

    .lp-comparison__table tbody tr {
      border-bottom: 1px solid var(--lp-border-light);
    }

    .lp-comparison__table tbody tr:last-child {
      border-bottom: none;
    }

    .lp-comparison__table tbody td {
      color: var(--lp-text);
    }

    .lp-comparison__table tbody td:first-child {
      font-weight: 500;
      color: var(--lp-muted);
    }

    .lp-comparison__table .lp-comparison__check {
      display: inline-flex;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: #ecfdf5;
      color: #10b981;
      align-items: center;
      justify-content: center;
    }

    .lp-comparison__table .lp-comparison__check svg {
      width: 13px;
      height: 13px;
    }

    .lp-comparison__table .lp-comparison__cross {
      display: inline-flex;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: #fef2f2;
      color: #ef4444;
      align-items: center;
      justify-content: center;
    }

    .lp-comparison__table .lp-comparison__cross svg {
      width: 11px;
      height: 11px;
    }

    /* ==========================================================
       FAQ
       ========================================================== */
    .lp-faq {
      background: var(--lp-bg);
    }

    .lp-faq__list {
      max-width: 720px;
      margin: var(--sp-10) auto 0;
    }

    .lp-faq__item {
      border-bottom: 1px solid var(--lp-border);
    }

    .lp-faq__item:first-child {
      border-top: 1px solid var(--lp-border);
    }

    .lp-faq__question {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: var(--sp-5) 0;
      font-size: 1rem;
      font-weight: 600;
      color: var(--lp-text);
      text-align: left;
      gap: var(--sp-4);
    }

    .lp-faq__chevron {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      color: var(--lp-muted);
      transition: transform 300ms var(--lp-ease);
    }

    .lp-faq__item.is-open .lp-faq__chevron {
      transform: rotate(180deg);
    }

    .lp-faq__answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 400ms var(--lp-ease);
    }

    .lp-faq__answer-inner {
      padding-bottom: var(--sp-5);
      font-size: 0.9375rem;
      color: var(--lp-muted);
      line-height: 1.7;
      max-width: 60ch;
    }

    /* ==========================================================
       APP DOWNLOAD CTA
       ========================================================== */
    .lp-download {
      background: var(--lp-primary-faint);
      position: relative;
      overflow: hidden;
    }

    .lp-download::before {
      content: '';
      position: absolute;
      width: 400px;
      height: 400px;
      border-radius: 50%;
      background: var(--lp-primary-soft);
      opacity: 0.4;
      top: -200px;
      left: 50%;
      transform: translateX(-50%);
      pointer-events: none;
    }

    .lp-download__inner {
      text-align: center;
      position: relative;
      z-index: 1;
    }

    .lp-download .lp-section-eyebrow,
    .lp-download .lp-section-title,
    .lp-download .lp-section-subtitle {
      margin-left: auto;
      margin-right: auto;
    }

    .lp-download__badges {
      display: flex;
      flex-wrap: wrap;
      gap: var(--sp-3);
      justify-content: center;
      margin-top: var(--sp-8);
    }

    .lp-download__badge {
      display: inline-flex;
      align-items: center;
      gap: var(--sp-3);
      padding: 0.75rem 1.25rem;
      background: var(--lp-navy);
      color: #ffffff;
      border-radius: var(--lp-r-sm);
      transition: transform 200ms ease, box-shadow 200ms ease;
      min-width: 170px;
    }

    .lp-download__badge:hover {
      transform: translateY(-1px);
      box-shadow: var(--lp-sh-lg);
    }

    .lp-download__badge:active {
      transform: scale(0.98);
    }

    .lp-download__badge svg {
      width: 28px;
      height: 28px;
      flex-shrink: 0;
    }

    .lp-download__badge-text {
      display: flex;
      flex-direction: column;
      text-align: left;
    }

    .lp-download__badge-sub {
      font-size: 0.625rem;
      line-height: 1.2;
      opacity: 0.75;
    }

    .lp-download__badge-store {
      font-size: 0.9375rem;
      font-weight: 600;
      line-height: 1.2;
    }

    /* ==========================================================
       FOOTER
       ========================================================== */
    .lp-footer {
      background: var(--lp-navy);
      color: rgba(255, 255, 255, 0.65);
      padding: var(--sp-12) 0 var(--sp-8);
    }

    .lp-footer__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--sp-8) var(--sp-8);
      margin-bottom: var(--sp-10);
    }

    @media (min-width: 768px) {
      .lp-footer__grid {
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: var(--sp-8) var(--sp-10);
      }
    }

    .lp-footer__brand {
      margin-bottom: var(--sp-4);
    }

    .lp-footer__brand-name {
      font-size: 1.25rem;
      font-weight: 800;
      color: #ffffff;
      letter-spacing: -0.03em;
      margin-bottom: var(--sp-3);
    }

    .lp-footer__brand-desc {
      font-size: 0.875rem;
      line-height: 1.6;
      max-width: 30ch;
    }

    .lp-footer__col-title {
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: rgba(255, 255, 255, 0.4);
      margin-bottom: var(--sp-4);
    }

    .lp-footer__link {
      display: block;
      font-size: 0.875rem;
      color: rgba(255, 255, 255, 0.65);
      padding: var(--sp-1) 0;
      transition: color 200ms ease;
    }

    .lp-footer__link:hover {
      color: #ffffff;
    }

    .lp-footer__bottom {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: var(--sp-4);
      padding-top: var(--sp-8);
      border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .lp-footer__copyright {
      font-size: 0.8125rem;
      color: rgba(255, 255, 255, 0.35);
    }

    .lp-footer__socials {
      display: flex;
      gap: var(--sp-3);
    }

    .lp-footer__social {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.06);
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255, 255, 255, 0.45);
      transition: background 200ms ease, color 200ms ease;
    }

    .lp-footer__social:hover {
      background: rgba(255, 255, 255, 0.12);
      color: #ffffff;
    }

    .lp-footer__social svg {
      width: 16px;
      height: 16px;
    }

    .lp-footer__legal {
      display: flex;
      gap: var(--sp-4);
    }

    .lp-footer__legal a {
      font-size: 0.8125rem;
      color: rgba(255, 255, 255, 0.35);
      transition: color 200ms ease;
    }

    .lp-footer__legal a:hover {
      color: rgba(255, 255, 255, 0.7);
    }

    @media (max-width: 767px) {
      .lp-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
      }
    }
