/* Prefixed styles to avoid collisions */

.lsn-page *,
.lsn-page *::before,
.lsn-page *::after {
  box-sizing: border-box;
}

.lsn-page {
  min-height: 100vh !important;
  width: 100% !important;
  font-family: "Inter", "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background: transparent !important;
  color: #ffffff !important;
}

.lsn-section {
  padding-inline: 8rem !important;
  width: 100% !important;
  background: transparent !important;
}

.lsn-hero {
  padding-block: 8rem !important;
  overflow: hidden !important;
}

.lsn-container {
  max-width: 1920px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.lsn-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6rem !important;
  align-items: center !important;
}

.lsn-stack-12 {
  display: flex !important;
  flex-direction: column !important;
  gap: 3rem !important;
}

.lsn-stack-4 {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

.lsn-hero-left,
.lsn-hero-left * {
  text-align: left !important;
}

.lsn-hero-left {
  width: 100% !important;
}

.lsn-badge-row {
  display: flex !important;
  gap: 0.75rem !important;
}

.lsn-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.25rem 0.75rem !important;
  border-radius: 999px !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.08em !important;
  border: 1px solid var(--lsn-badge-border, rgba(255, 255, 255, 0.2)) !important;
  color: var(--lsn-badge-color, #fff) !important;
  background: var(--lsn-badge-bg, transparent) !important;
}

.lsn-eyebrow {
  color: #888 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.24em !important;
  font-size: 0.75rem !important;
}

.lsn-headline {
  margin: 0 !important;
  font-size: 3.5rem !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-align: left !important;
  word-break: break-word !important;
}

.lsn-gradient-line {
  width: 4rem !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgb(0, 255, 156), rgb(0, 194, 255)) !important;
}

.lsn-lead {
  margin: 0 !important;
  font-size: 1.125rem !important;
  line-height: 1.8 !important;
  color: #999 !important;
  text-align: left !important;
  word-break: break-word !important;
}

.lsn-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  padding-top: 1rem !important;
}

.lsn-feature-card {
  background: #111111 !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 1rem !important;
  padding: 1.5rem !important;
  transition: border-color 0.3s ease, transform 0.3s ease !important;
}

.lsn-feature-card:hover {
  border-color: rgba(255, 255, 255, 0.2) !important;
  transform: translateY(-2px) !important;
}

.lsn-icon-wrap {
  width: 48px !important;
  height: 48px !important;
  border-radius: 0.75rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 255, 156, 0.08) !important;
  border: 1px solid rgba(0, 255, 156, 0.2) !important;
  color: rgb(0, 255, 156) !important;
  margin-bottom: 1rem !important;
}

.lsn-icon-wrap svg {
  width: 24px !important;
  height: 24px !important;
}

.lsn-feature-card h3 {
  margin: 0 0 0.75rem !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
}

.lsn-feature-card p {
  margin: 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
  color: #666666 !important;
  white-space: pre-line !important;
}

.lsn-hero-right .lsn-visual {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.lsn-glow-bg {
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle, rgb(0, 255, 156) 0%, rgb(0, 194, 255) 50%, transparent 70%) !important;
  filter: blur(48px) !important;
  opacity: 0.35 !important;
}

.lsn-product-frame {
  position: relative !important;
  border-radius: 1.5rem !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  width: 100% !important;
  max-width: 100% !important;
}

.lsn-product-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  filter: brightness(1.1) contrast(1.1) !important;
}

.lsn-reflection {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, transparent 0%, rgba(11, 11, 11, 0.3) 100%) !important;
}

.lsn-soft-shadow {
  position: absolute !important;
  bottom: -2rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 85% !important;
  height: 4rem !important;
  background: radial-gradient(ellipse at center, rgb(0, 255, 156), transparent 60%) !important;
  filter: blur(48px) !important;
  opacity: 0.3 !important;
}

@media (max-width: 768px) {
  .lsn-section {
    padding-inline: 2.5rem !important;
  }

  .lsn-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }

  .lsn-feature-grid {
    grid-template-columns: 1fr !important;
  }

  .lsn-headline {
    font-size: 2.6rem !important;
  }

  .lsn-lead {
    font-size: 1rem !important;
  }

  .lsn-hero {
    padding-block: 5rem !important;
  }

  .lsn-hero-right .lsn-visual {
    align-items: flex-start !important;
  }

  .lsn-product-frame {
    max-width: 560px !important;
    margin: 0 auto !important;
  }

  .lsn-soft-shadow,
  .lsn-glow-bg {
    inset: -12% !important;
  }
}

@media (max-width: 480px) {
  .lsn-section {
    padding-inline: 1.5rem !important;
  }

  .lsn-headline {
    font-size: 2.2rem !important;
  }

  .lsn-grid-2 {
    gap: 2rem !important;
  }

  .lsn-hero {
    padding-block: 4rem !important;
  }

  .lsn-product-frame {
    max-width: 480px !important;
  }

  .lsn-soft-shadow,
  .lsn-glow-bg {
    inset: -18% !important;
  }
}
