/* ==========================================================================
   LUMEURA HOMEPAGE MASTER STYLES — REFINED COMMERCE STORE MERCHANDISING
   High-End Software Marketplace Visual Direction
   Pure Native Architecture — No Heavy Frameworks
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. HERO SECTION (Deep Navy & Ambient Radial Lighting)
   -------------------------------------------------------------------------- */
.lm-hero {
  position: relative;
  background-color: #030A18;
  background-image: 
    radial-gradient(ellipse at 75% 40%, rgba(30, 90, 240, 0.32) 0%, rgba(6, 17, 38, 0.5) 45%, transparent 70%),
    radial-gradient(circle at 15% 30%, rgba(20, 60, 160, 0.18) 0%, transparent 60%);
  color: var(--lm-text-white);
  padding: 68px 0 74px 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.lm-hero-glow-bg {
  position: absolute;
  top: -80px;
  right: -50px;
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(32, 164, 255, 0.22) 0%, rgba(37, 99, 235, 0.12) 40%, transparent 70%);
  pointer-events: none;
  filter: blur(60px);
}

.lm-hero-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 32px;
}

.lm-hero-grid {
  display: grid;
  grid-template-columns: 48% 52%;
  align-items: center;
  gap: 36px;
  position: relative;
  z-index: 2;
}

/* Left Content Column */
.lm-hero-content {
  display: flex;
  flex-direction: column;
}

/* Eyebrow Badge */
.lm-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(8, 21, 46, 0.75);
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: var(--lm-radius-full);
  padding: 5px 14px;
  color: #38BDF8;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
  align-self: flex-start;
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.15);
}

.lm-eyebrow-play {
  color: #38BDF8;
  font-size: 10px;
  line-height: 1;
}

/* Headline H1 (2 distinct lines on desktop) */
.lm-hero-title {
  font-size: clamp(40px, 4.2vw, 62px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.03em;
  color: #FFFFFF;
  margin: 0 0 18px 0;
}

.lm-hero-title-line {
  display: block;
  color: #FFFFFF;
}

.lm-hero-title-highlight {
  display: block;
  color: #20A4FF;
}

/* Supporting Subtext */
.lm-hero-desc {
  font-size: 16.5px;
  line-height: 1.58;
  color: #CBD5E1;
  max-width: 540px;
  margin: 0 0 24px 0;
}

/* White Rounded Search Box (Matches Reference) */
.lm-hero-search-box {
  position: relative;
  max-width: 580px;
  margin-bottom: 24px;
}

.lm-hero-search-form {
  display: flex;
  align-items: center;
  background-color: #FFFFFF;
  border: 2px solid transparent;
  border-radius: var(--lm-radius-full);
  padding: 6px 6px 6px 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
  transition: var(--lm-transition);
}

.lm-hero-search-form:focus-within {
  border-color: #2563EB;
  box-shadow: 0 10px 35px rgba(37, 99, 235, 0.35);
}

.lm-hero-search-icon {
  color: #64748B;
  flex-shrink: 0;
  margin-right: 12px;
}

.lm-hero-search-input {
  flex: 1;
  min-width: 0;
  background: transparent !important;
  border: none !important;
  color: #0F172A !important;
  font-size: 15px;
  font-weight: 500;
  padding: 8px 0;
  outline: none !important;
  box-shadow: none !important;
}

.lm-hero-search-input::placeholder {
  color: #64748B;
  font-size: 14.5px;
  font-weight: 400;
}

.lm-hero-search-btn {
  background-color: #1E6BFF;
  color: #FFFFFF;
  border: none;
  border-radius: var(--lm-radius-full);
  padding: 11px 26px;
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  transition: var(--lm-transition);
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.lm-hero-search-btn:hover {
  background-color: #1656D1;
}

/* Call to Action Buttons */
.lm-hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 26px;
  flex-wrap: wrap;
}

.lm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 26px;
  font-size: 15px;
  font-weight: 700;
  border-radius: 12px;
  text-decoration: none;
  transition: var(--lm-transition);
  cursor: pointer;
  letter-spacing: -0.01em;
}

.lm-btn-primary {
  background-color: #1E6BFF;
  color: #FFFFFF;
  box-shadow: 0 6px 20px rgba(30, 107, 255, 0.4);
  border: 1px solid transparent;
}

.lm-btn-primary:hover {
  background-color: #1656D1;
  box-shadow: 0 8px 24px rgba(30, 107, 255, 0.5);
  transform: translateY(-2px);
}

.lm-btn-secondary {
  background-color: rgba(10, 24, 52, 0.75);
  color: #FFFFFF;
  border: 1.5px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(8px);
}

.lm-btn-secondary:hover {
  background-color: rgba(18, 38, 78, 0.9);
  border-color: rgba(255, 255, 255, 0.45);
  transform: translateY(-2px);
}

/* Mini Trust Row Under CTAs */
.lm-hero-trust-row {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 13.5px;
  font-weight: 600;
  color: #CBD5E1;
  flex-wrap: wrap;
}

.lm-hero-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.lm-trust-circle-check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #1E6BFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 0 10px rgba(30, 107, 255, 0.5);
}

/* ==========================================================================
   RIGHT COLUMN: 3D SOFTWARE PODIUM SHOWCASE (Matches Reference Exactly)
   ========================================================================== */
.lm-hero-showcase {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 480px;
  width: 100%;
}

.lm-hero-mobile-stage {
  display: none;
}

.lm-showcase-stage {
  position: relative;
  width: 100%;
  max-width: 660px;
  height: 460px;
}

/* Background Windows 11 Blue Bloom Wave */
.lm-stage-bloom-wrap {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 580px;
  height: 350px;
  z-index: 1;
  pointer-events: none;
  opacity: 0.95;
  mix-blend-mode: normal;
}

.lm-stage-bloom-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
}

/* 3D Glowing Elliptical Podium Platform */
.lm-stage-podium-wrap {
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 650px;
  height: 220px;
  z-index: 2;
  pointer-events: none;
}

.lm-stage-podium-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 4 Standalone 3D Software Boxes Standing on the Podium */
.lm-stage-boxes-layer {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.lm-stage-box {
  position: absolute;
  pointer-events: auto;
  cursor: pointer;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
              filter 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, filter;
}

.lm-stage-box:hover {
  transform: translateY(-12px) scale(1.04) !important;
  z-index: 10 !important;
}

.lm-box-img {
  width: 100%;
  height: auto;
  display: block;
}

/* Box 1: Windows 11 (Left / Rear) */
.lm-box-win11 {
  left: 45px;
  bottom: 85px;
  width: 165px;
  z-index: 3;
  filter: drop-shadow(0 16px 24px rgba(0, 0, 0, 0.7));
}

.lm-box-win11:hover {
  filter: drop-shadow(0 24px 35px rgba(0, 120, 212, 0.55)) !important;
}

/* Box 2: Microsoft Office 2024 (Front-Center, Dominant) */
.lm-box-office {
  left: 175px;
  bottom: 78px;
  width: 200px;
  z-index: 5;
  filter: drop-shadow(0 22px 32px rgba(0, 0, 0, 0.85));
}

.lm-box-office:hover {
  filter: drop-shadow(0 28px 45px rgba(216, 59, 1, 0.55)) !important;
}

/* Box 3: Kaspersky (Right-Center) */
.lm-box-kaspersky {
  left: 345px;
  bottom: 82px;
  width: 160px;
  z-index: 4;
  filter: drop-shadow(0 18px 26px rgba(0, 0, 0, 0.75));
}

.lm-box-kaspersky:hover {
  filter: drop-shadow(0 26px 40px rgba(0, 168, 142, 0.55)) !important;
}

/* Box 4: NordVPN (Far Right) */
.lm-box-nordvpn {
  left: 470px;
  bottom: 84px;
  width: 160px;
  z-index: 3;
  filter: drop-shadow(0 16px 24px rgba(0, 0, 0, 0.7));
}

.lm-box-nordvpn:hover {
  filter: drop-shadow(0 24px 35px rgba(70, 135, 245, 0.55)) !important;
}

/* Floating Glass UI Cards */
.lm-stage-float-card {
  position: absolute;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(6, 17, 38, 0.9);
  border: 1.5px solid rgba(56, 189, 248, 0.45);
  border-radius: 12px;
  padding: 10px 16px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.55), 0 0 24px rgba(32, 164, 255, 0.28);
  pointer-events: auto;
  cursor: default;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              border-color 0.35s ease;
}

.lm-stage-float-card:hover {
  transform: translateY(-6px) scale(1.03) !important;
  border-color: #38BDF8;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.65), 0 0 32px rgba(56, 189, 248, 0.45);
}

.lm-float-icon-box {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background-color: #1E6BFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 0 14px rgba(30, 107, 255, 0.7);
}

.lm-float-text {
  display: flex;
  flex-direction: column;
}

.lm-float-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.25;
}

.lm-float-sub {
  font-size: 11px;
  font-weight: 500;
  color: #94A3B8;
  line-height: 1.25;
}

/* Card Placements */
.lm-float-top-left {
  top: 10px;
  left: 10px;
}

.lm-float-top-right {
  top: 10px;
  right: 10px;
}

.lm-float-bottom-right {
  bottom: 20px;
  right: -5px;
}

/* ==========================================================================
   HERO CHOREOGRAPHED ENTRANCE ANIMATIONS & MICRO-INTERACTIONS
   2026 SaaS Elegance — Every Text, Button, Image & 3D Box Staggered
   ========================================================================== */

/* Keyframe Definitions */
@keyframes lmHeroFadeUp {
  0% {
    opacity: 0;
    transform: translateY(28px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes lmHeroScaleUp {
  0% {
    opacity: 0;
    transform: scale(0.95) translateY(18px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes lmHeroBloomIn {
  0% {
    opacity: 0;
    transform: translateX(-50%) scale(0.86);
  }
  100% {
    opacity: 0.95;
    transform: translateX(-50%) scale(1);
  }
}

@keyframes lmHeroPodiumIn {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(36px) scale(0.92);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }
}

@keyframes lmBoxEntrance {
  0% {
    opacity: 0;
    transform: translateY(48px) scale(0.86);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes lmBoxEntranceDominant {
  0% {
    opacity: 0;
    transform: translateY(58px) scale(0.9);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes lmHeroCardPopIn {
  0% {
    opacity: 0;
    transform: translateY(22px) scale(0.8);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes lmFloatCardLoop1 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

@keyframes lmFloatCardLoop2 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes lmFloatCardLoop3 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}

/* LEFT COLUMN: Staggered Entrance for Every Text & CTA */
html.lm-animations-active .lm-hero .lm-hero-eyebrow {
  opacity: 0;
  animation: lmHeroFadeUp 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.05s forwards;
}

html.lm-animations-active .lm-hero .lm-hero-title-line {
  opacity: 0;
  animation: lmHeroFadeUp 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.16s forwards;
}

html.lm-animations-active .lm-hero .lm-hero-title-highlight {
  opacity: 0;
  animation: lmHeroFadeUp 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.28s forwards;
}

html.lm-animations-active .lm-hero .lm-hero-desc {
  opacity: 0;
  animation: lmHeroFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.40s forwards;
}

html.lm-animations-active .lm-hero .lm-hero-search-box {
  opacity: 0;
  animation: lmHeroScaleUp 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.52s forwards;
}

html.lm-animations-active .lm-hero .lm-hero-actions {
  opacity: 0;
  animation: lmHeroFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.64s forwards;
}

html.lm-animations-active .lm-hero .lm-hero-trust-item:nth-child(1) {
  opacity: 0;
  animation: lmHeroFadeUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.74s forwards;
}

html.lm-animations-active .lm-hero .lm-hero-trust-item:nth-child(2) {
  opacity: 0;
  animation: lmHeroFadeUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.82s forwards;
}

html.lm-animations-active .lm-hero .lm-hero-trust-item:nth-child(3) {
  opacity: 0;
  animation: lmHeroFadeUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.90s forwards;
}

/* RIGHT COLUMN: Staggered Entrance for Stage, 4 Software Boxes & 3 Floating Cards */
html.lm-animations-active .lm-hero .lm-stage-bloom-wrap {
  opacity: 0;
  animation: lmHeroBloomIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.18s forwards;
}

html.lm-animations-active .lm-hero .lm-stage-podium-wrap {
  opacity: 0;
  animation: lmHeroPodiumIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.24s forwards;
}

/* 4 Individual Software Boxes: Ascend with Depth from Podium */
html.lm-animations-active .lm-hero .lm-box-win11 {
  opacity: 0;
  animation: lmBoxEntrance 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.36s forwards;
}

html.lm-animations-active .lm-hero .lm-box-office {
  opacity: 0;
  animation: lmBoxEntranceDominant 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.46s forwards;
}

html.lm-animations-active .lm-hero .lm-box-kaspersky {
  opacity: 0;
  animation: lmBoxEntrance 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.56s forwards;
}

html.lm-animations-active .lm-hero .lm-box-nordvpn {
  opacity: 0;
  animation: lmBoxEntrance 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.66s forwards;
}

/* 3 Floating Glass UI Cards: Pop in and start gentle ambient float */
html.lm-animations-active .lm-hero .lm-float-top-left {
  opacity: 0;
  animation: lmHeroCardPopIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.76s forwards,
             lmFloatCardLoop1 6s ease-in-out 1.55s infinite alternate;
}

html.lm-animations-active .lm-hero .lm-float-top-right {
  opacity: 0;
  animation: lmHeroCardPopIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.86s forwards,
             lmFloatCardLoop2 7s ease-in-out 1.65s infinite alternate;
}

html.lm-animations-active .lm-hero .lm-float-bottom-right {
  opacity: 0;
  animation: lmHeroCardPopIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.96s forwards,
             lmFloatCardLoop3 6.5s ease-in-out 1.75s infinite alternate;
}

/* Extra Micro-Interactions on Hero Elements */
.lm-hero-trust-item {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), color 0.3s ease;
  cursor: default;
}

.lm-hero-trust-item:hover {
  transform: translateY(-2px);
  color: #FFFFFF;
}

.lm-hero-trust-item:hover .lm-trust-circle-check {
  transform: scale(1.15);
  box-shadow: 0 0 16px rgba(30, 107, 255, 0.8);
}

.lm-trust-circle-check {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease;
}

.lm-hero-eyebrow {
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  cursor: default;
}

.lm-hero-eyebrow:hover {
  transform: translateY(-2px);
  border-color: rgba(56, 189, 248, 0.7);
  box-shadow: 0 0 20px rgba(56, 189, 248, 0.3);
}

.lm-btn-primary {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1),
              background-color 0.3s ease;
}

.lm-btn-primary:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 30px rgba(30, 107, 255, 0.6);
}

.lm-btn-primary:hover svg {
  transform: translateX(4px);
}

.lm-btn-primary svg {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.lm-btn-secondary {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
              background-color 0.3s ease,
              border-color 0.3s ease;
}

.lm-btn-secondary:hover {
  transform: translateY(-3px) scale(1.02);
  background-color: rgba(18, 38, 78, 0.95);
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
}

/* Reduced Motion Safety */
@media (prefers-reduced-motion: reduce) {
  html.lm-animations-active .lm-hero.lm-hero-loaded * {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* Responsive Scaling for Hero */
@media (max-width: 1200px) {
  .lm-hero-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .lm-showcase-stage {
    transform: scale(0.9);
    transform-origin: center right;
  }
}

@media (max-width: 991px) {
  .lm-hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .lm-hero-content {
    align-items: center;
    text-align: center;
  }
  .lm-hero-eyebrow {
    align-self: center;
  }
  .lm-hero-actions {
    justify-content: center;
  }
  .lm-hero-trust-row {
    justify-content: center;
  }
  .lm-showcase-stage {
    transform: scale(0.95);
    transform-origin: center top;
    margin: 0 auto;
  }
}

@media (max-width: 640px) {
  .lm-hero {
    padding: 26px 0 28px 0;
  }
  .lm-hero-title {
    font-size: 27px;
    line-height: 1.15;
  }
  .lm-hero-desc {
    font-size: 13.5px;
    line-height: 1.45;
    max-width: 330px;
    margin: 0 auto 14px auto;
  }
  .lm-hero-search-box {
    max-width: 360px;
    width: 100%;
    margin: 0 auto 12px auto;
  }
  .lm-hero-search-form {
    padding: 3px 4px 3px 12px;
    height: 44px;
    border-radius: 999px;
  }
  .lm-hero-search-input {
    font-size: 13px;
  }
  .lm-hero-search-btn {
    padding: 0 14px;
    font-size: 12.5px;
    height: 36px;
    border-radius: 999px;
  }
  .lm-hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
  }
  .lm-hero-actions .lm-btn {
    width: 100%;
    height: 40px;
    font-size: 12.5px;
    padding: 0 8px;
    justify-content: center;
    border-radius: 10px;
  }
  .lm-hero-trust-row {
    display: none !important;
  }
  .lm-showcase-stage,
  .lm-hero-mobile-stage,
  .lm-hero-showcase {
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   2. VALUE PROPOSITIONS TRUST STRIP (Horizontal 4-Column Layout)
   -------------------------------------------------------------------------- */
.lm-trust-strip-section {
  background-color: #FFFFFF;
  border-bottom: 1px solid var(--lm-border);
  padding: 22px 0;
}

.lm-trust-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.lm-trust-col {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 12px;
  border-radius: var(--lm-radius-md);
  transition: var(--lm-transition);
}

.lm-trust-col:hover {
  background-color: var(--lm-surface-alt);
}

.lm-trust-col-icon-box {
  width: 44px;
  height: 44px;
  border-radius: var(--lm-radius-md);
  background-color: var(--lm-blue-50);
  color: var(--lm-blue-600);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: var(--lm-transition);
}

.lm-trust-col:hover .lm-trust-col-icon-box {
  background-color: var(--lm-blue-600);
  color: #FFFFFF;
  transform: scale(1.05);
}

.lm-trust-col-body {
  display: flex;
  flex-direction: column;
}

.lm-trust-col-title {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--lm-navy-950);
  margin: 0 0 2px 0;
  letter-spacing: -0.01em;
}

.lm-trust-col-desc {
  font-size: 13px;
  color: #475569;
  margin: 0;
}

/* --------------------------------------------------------------------------
   3. CATEGORY SECTION — "Shop Software by Category" (Horizontal 5-Card Layout)
   -------------------------------------------------------------------------- */
.lm-categories-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(135deg, #F0F6FC 0%, #F8FAFD 50%, #EEF4FB 100%);
  padding: 60px 0 68px 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.8);
}

/* Ambient Dot Grid Pattern */
.lm-cat-bg-decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
}

.lm-cat-dots {
  position: absolute;
  pointer-events: none;
}

.lm-cat-dots--left {
  top: 20px;
  left: 30px;
  opacity: 0.7;
}

.lm-cat-dots--right {
  bottom: 20px;
  right: 30px;
  opacity: 0.7;
}

/* Header */
.lm-cat-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
  gap: 20px;
}

.lm-cat-header-left {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lm-cat-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(37, 99, 235, 0.08);
  color: #2563EB;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 9999px;
  width: fit-content;
  border: 1px solid rgba(37, 99, 235, 0.12);
}

.lm-cat-title {
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 800;
  color: #0F172A;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0;
}

.lm-cat-view-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #2563EB;
  font-size: 14.5px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 4px 0;
  flex-shrink: 0;
}

.lm-cat-view-all:hover {
  color: #1D4ED8;
  transform: translateX(3px);
}

.lm-cat-arrow-inline {
  transition: transform 0.2s ease;
}

.lm-cat-view-all:hover .lm-cat-arrow-inline {
  transform: translateX(4px);
}

/* 5-Card Row / Grid */
.lm-cat-track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

/* Category Card */
.lm-cat-card {
  position: relative;
  background-color: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 18px;
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 148px;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
  transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 300ms cubic-bezier(0.22, 1, 0.36, 1),
              border-color 300ms ease;
  overflow: hidden;
  cursor: pointer;
}

.lm-cat-card:hover {
  transform: translateY(-4px);
  border-color: rgba(37, 99, 235, 0.4);
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.12);
}

/* Top Zone: Icon Badge + Category Details */
.lm-cat-card-top {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  position: relative;
  z-index: 2;
}

.lm-cat-icon-badge {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.22s ease;
}

.lm-cat-card:hover .lm-cat-icon-badge {
  transform: scale(1.05);
}

/* Category Specific Icon Badge Colors */
.lm-cat-card--security-antivirus .lm-cat-icon-badge {
  background-color: #ECFDF5;
  color: #059669;
  border: 1px solid rgba(5, 150, 105, 0.18);
}

.lm-cat-card--operating-systems .lm-cat-icon-badge {
  background-color: #EFF6FF;
  color: #2563EB;
  border: 1px solid rgba(37, 99, 235, 0.18);
}

.lm-cat-card--office-productivity .lm-cat-icon-badge {
  background-color: #FFF7ED;
  color: #EA580C;
  border: 1px solid rgba(234, 88, 12, 0.18);
}

.lm-cat-card--design-media .lm-cat-icon-badge {
  background-color: #0F172A;
  color: #38BDF8;
  border: 1px solid rgba(56, 189, 248, 0.25);
}

.lm-cat-card--developer-tools .lm-cat-icon-badge {
  background-color: #FAF5FF;
  color: #9333EA;
  border: 1px solid rgba(147, 51, 234, 0.18);
}

/* Category Info */
.lm-cat-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-top: 1px;
}

.lm-cat-name {
  font-size: 15.5px;
  font-weight: 800;
  color: #0F172A;
  margin: 0;
  line-height: 1.22;
  letter-spacing: -0.01em;
}

.lm-cat-count {
  font-size: 13px;
  font-weight: 500;
  color: #64748B;
  line-height: 1;
}

/* Bottom Zone: Circular Navigation Button + 3D Product Box Visual */
.lm-cat-card-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 18px;
  position: relative;
  min-height: 60px;
}

/* Circular Arrow Button */
.lm-cat-arrow-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background-color: #FFFFFF;
  color: #2563EB;
  border: 1px solid rgba(226, 232, 240, 0.85);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1), background-color 300ms ease, border-color 300ms ease;
}

.lm-cat-card:hover .lm-cat-arrow-btn {
  background-color: #EFF6FF;
  border-color: rgba(37, 99, 235, 0.3);
  transform: translateX(3px);
}

/* 3D Product Box Artwork */
.lm-cat-artwork {
  position: absolute;
  right: -4px;
  bottom: -6px;
  width: 72px;
  height: 88px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  pointer-events: none;
  z-index: 1;
}

.lm-cat-box-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom right;
  filter: drop-shadow(0 6px 12px rgba(15, 23, 42, 0.12));
  transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.lm-cat-card:hover .lm-cat-box-img {
  transform: translateY(-2px) scale(1.03);
}

/* Responsive Behavior */
@media (max-width: 1200px) {
  .lm-cat-track {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 860px) {
  .lm-cat-track {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .lm-categories-section {
    padding: 44px 0 52px 0;
  }
  .lm-cat-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
  }
  .lm-cat-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 14px;
    padding-bottom: 12px;
    margin-right: -16px;
    padding-right: 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .lm-cat-track::-webkit-scrollbar {
    display: none;
  }
  .lm-cat-card {
    flex: 0 0 82vw;
    max-width: 320px;
    scroll-snap-align: start;
  }
}

/* --------------------------------------------------------------------------
   4. Section Spacing & Best Sellers Section
   -------------------------------------------------------------------------- */
.lm-section {
  padding: 64px 0;
}

.lm-best-sellers-section {
  background-color: #FFFFFF;
  border-bottom: 1px solid var(--lm-border);
}

/* --------------------------------------------------------------------------
   5. FLASH DEALS SECTION (Tinted High-Energy Container & Real Countdown)
   -------------------------------------------------------------------------- */
.lm-section--flash {
  background: linear-gradient(180deg, #F0F6FF 0%, #E8F2FE 100%);
  border-top: 1px solid rgba(37, 99, 235, 0.12);
  border-bottom: 1px solid rgba(37, 99, 235, 0.12);
}

.lm-section-header--flash {
  align-items: center;
}

.lm-section-tag--flash {
  background-color: var(--lm-danger);
  color: #FFFFFF;
  padding: 4px 10px;
  border-radius: var(--lm-radius-sm);
  font-size: 11px;
  letter-spacing: 0.08em;
  display: inline-block;
  margin-bottom: 8px;
}

/* Countdown Timer */
.lm-flash-countdown {
  display: flex;
  align-items: center;
  gap: 14px;
  background-color: #FFFFFF;
  border: 1px solid rgba(37, 99, 235, 0.2);
  padding: 8px 18px;
  border-radius: var(--lm-radius-md);
  box-shadow: var(--lm-shadow-sm);
}

.lm-countdown-label {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--lm-navy-950);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lm-countdown-timer {
  display: flex;
  align-items: center;
  gap: 6px;
}

.lm-timer-box {
  background-color: var(--lm-navy-950);
  color: #FFFFFF;
  border-radius: 6px;
  padding: 5px 8px;
  display: flex;
  align-items: baseline;
  gap: 3px;
  min-width: 44px;
  justify-content: center;
}

.lm-timer-val {
  font-size: 15px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.lm-timer-unit {
  font-size: 9.5px;
  font-weight: 700;
  color: #94A3B8;
  line-height: 1;
}

.lm-timer-colon {
  font-size: 16px;
  font-weight: 800;
  color: var(--lm-navy-950);
  margin-top: -2px;
}

/* --------------------------------------------------------------------------
   6. PROMOTIONAL BANNER (Cinematic Dark Visual Break)
   -------------------------------------------------------------------------- */
.lm-section--promo {
  padding: 32px 0;
  background-color: var(--lm-bg);
}

.lm-promo-banner-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(115deg, #020713 0%, #030d22 35%, #051435 70%, #020713 100%);
  border-radius: 30px;
  border: 1px solid rgba(56, 189, 248, 0.22);
  box-shadow: 0 24px 60px -10px rgba(0, 10, 30, 0.7);
  padding: 56px 56px 48px 56px;
}

/* Layered Atmospheric Background Lighting */
.lm-promo-bg-atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.lm-promo-glow-laptop {
  position: absolute;
  top: -20px;
  right: 120px;
  width: 520px;
  height: 480px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.32) 0%, rgba(14, 165, 233, 0.12) 45%, transparent 70%);
  filter: blur(40px);
}

.lm-promo-glow-violet {
  position: absolute;
  bottom: 10px;
  right: -30px;
  width: 360px;
  height: 320px;
  background: radial-gradient(circle, rgba(168, 85, 247, 0.24) 0%, rgba(147, 51, 234, 0.08) 50%, transparent 75%);
  filter: blur(45px);
}

.lm-promo-glow-floor {
  position: absolute;
  bottom: 0;
  right: 40px;
  width: 700px;
  height: 120px;
  background: radial-gradient(ellipse at 50% 100%, rgba(56, 189, 248, 0.35) 0%, rgba(37, 99, 235, 0.15) 40%, transparent 75%);
  filter: blur(25px);
}

.lm-promo-light-streaks {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 85% 20%, rgba(56, 189, 248, 0.15) 0%, transparent 50%);
  pointer-events: none;
}

/* Two-Column Grid */
.lm-promo-grid-wrap {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: center;
  gap: 40px;
  position: relative;
  z-index: 2;
}

/* Left Column: Copy & Actions */
.lm-promo-copy-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 2;
}

.lm-promo-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.3);
  color: #38BDF8;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 9999px;
  margin-bottom: 20px;
  backdrop-filter: blur(8px);
}

.lm-promo-pill-icon {
  flex-shrink: 0;
}

.lm-promo-heading {
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 800;
  line-height: 1.15;
  color: #FFFFFF;
  letter-spacing: -0.025em;
  margin: 0 0 16px 0;
}

.lm-promo-heading-highlight {
  color: #38BDF8;
}

.lm-promo-subtext {
  font-size: 15.5px;
  line-height: 1.6;
  color: #94A3B8;
  max-width: 480px;
  margin: 0 0 28px 0;
}

.lm-promo-actions-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.lm-promo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 12px;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.lm-promo-btn--primary {
  background: linear-gradient(135deg, #0070F3 0%, #1E6BFF 100%);
  color: #FFFFFF;
  font-weight: 700;
  padding: 13px 28px;
  gap: 8px;
  box-shadow: 0 4px 20px rgba(30, 107, 255, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.lm-promo-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(30, 107, 255, 0.65);
  color: #FFFFFF;
}

.lm-promo-btn-arrow {
  font-size: 17px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.lm-promo-btn--primary:hover .lm-promo-btn-arrow {
  transform: translateX(4px);
}

.lm-promo-btn--secondary {
  background: rgba(15, 23, 42, 0.65);
  color: #FFFFFF;
  font-weight: 600;
  padding: 13px 26px;
  border: 1px solid rgba(56, 189, 248, 0.35);
  backdrop-filter: blur(10px);
}

.lm-promo-btn--secondary:hover {
  background: rgba(30, 58, 138, 0.45);
  border-color: rgba(56, 189, 248, 0.65);
  transform: translateY(-2px);
  color: #FFFFFF;
}

/* Right Column: Visual Showcase */
.lm-promo-visual-col {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

/* Floating Glassmorphic Productivity Card */
.lm-promo-floating-badge {
  position: absolute;
  top: -15px;
  left: 20px;
  z-index: 4;
  background: rgba(15, 23, 52, 0.82);
  border: 1px solid rgba(56, 189, 248, 0.45);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: 14px;
  padding: 10px 18px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  animation: lmPromoFloat 6s ease-in-out infinite alternate;
}

@keyframes lmPromoFloat {
  0% { transform: translateY(0px); }
  100% { transform: translateY(-5px); }
}

@media (prefers-reduced-motion: reduce) {
  .lm-promo-floating-badge {
    animation: none !important;
  }
}

.lm-promo-badge-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(56, 189, 248, 0.15);
  color: #38BDF8;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lm-promo-badge-text {
  display: flex;
  flex-direction: column;
}

.lm-promo-badge-sub {
  font-size: 11.5px;
  font-weight: 500;
  color: #94A3B8;
  line-height: 1.2;
}

.lm-promo-badge-title {
  font-size: 14.5px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.2;
}

/* Showcase Stage & Image */
.lm-promo-showcase-stage {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lm-promo-showcase-img {
  width: 100%;
  max-width: 688px;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 15px 35px rgba(0, 5, 20, 0.6));
  transition: transform 0.3s ease;
}

.lm-promo-showcase-stage:hover .lm-promo-showcase-img {
  transform: translateY(-3px) scale(1.015);
}

/* Responsive Handling */
@media (max-width: 1080px) {
  .lm-promo-banner-card {
    padding: 44px 36px;
  }
  .lm-promo-grid-wrap {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .lm-promo-copy-col {
    align-items: flex-start;
  }
  .lm-promo-floating-badge {
    top: -10px;
    left: 10px;
  }
}

@media (max-width: 640px) {
  .lm-section--promo {
    padding: 24px 0 40px 0;
  }
  .lm-promo-banner-card {
    padding: 32px 20px;
    border-radius: 22px;
  }
  .lm-promo-heading {
    font-size: 26px;
  }
  .lm-promo-subtext {
    font-size: 14px;
    margin-bottom: 22px;
  }
  .lm-promo-actions-row {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .lm-promo-btn {
    width: 100%;
  }
  .lm-promo-floating-badge {
    position: static;
    margin-bottom: 14px;
    align-self: flex-start;
  }
  .lm-promo-visual-col {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* --------------------------------------------------------------------------
   7. NEW ARRIVALS SECTION (Clean Light Surface)
   -------------------------------------------------------------------------- */
.lm-section--new {
  background-color: #FFFFFF;
  border-bottom: 1px solid var(--lm-border);
}

/* --------------------------------------------------------------------------
   8. WHY LUMEURA (Subtle Tinted Benefits Grid)
   -------------------------------------------------------------------------- */
.lm-section--why {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #F8FAFC 0%, #EEF6FF 50%, #F8FAFC 100%);
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  padding: 72px 0 80px 0;
  box-sizing: border-box;
}

.lm-section--why *,
.lm-section--why *::before,
.lm-section--why *::after {
  box-sizing: border-box;
}

/* Background Ambient Lighting & Floating Tech Glass Tiles */
.lm-why-bg-fx {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}

.lm-why-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.lm-why-glow--center {
  width: min(800px, 90vw);
  height: 420px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(37, 99, 235, 0.08) 0%, rgba(56, 189, 248, 0.04) 45%, transparent 72%);
  filter: blur(50px);
}

.lm-why-glow--left {
  width: 450px;
  height: 450px;
  left: -120px;
  top: 10%;
  background: radial-gradient(circle, rgba(14, 165, 233, 0.07) 0%, transparent 68%);
  filter: blur(45px);
}

.lm-why-glow--right {
  width: 450px;
  height: 450px;
  right: -120px;
  top: 15%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.07) 0%, transparent 68%);
  filter: blur(45px);
}

.lm-why-dots {
  position: absolute;
  width: 130px;
  height: 160px;
  opacity: 0.32;
  background-image: radial-gradient(#94A3B8 1.2px, transparent 1.2px);
  background-size: 14px 14px;
}

.lm-why-dots--left {
  left: 24px;
  top: 60px;
}

.lm-why-dots--right {
  right: 24px;
  top: 60px;
}

/* Floating Glass Software Tiles */
.lm-why-floating-tile {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

.lm-floating-glass-box {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 16px 30px -8px rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.lm-why-floating-tile--win {
  left: 3.5%;
  top: 42px;
  transform: rotate(-8deg);
  animation: lmFloatWin 6.5s ease-in-out infinite alternate;
}

.lm-why-floating-tile--office {
  left: 9%;
  top: 96px;
  transform: rotate(10deg);
  animation: lmFloatOff 7.5s ease-in-out infinite alternate;
}

.lm-why-floating-tile--shield {
  right: 4%;
  top: 38px;
  transform: rotate(7deg);
  animation: lmFloatShield 7s ease-in-out infinite alternate;
}

.lm-why-floating-tile--cloud {
  right: 9.5%;
  top: 102px;
  transform: rotate(-10deg);
  animation: lmFloatCloud 8s ease-in-out infinite alternate;
}

@keyframes lmFloatWin {
  0% { transform: translateY(0px) rotate(-8deg); }
  100% { transform: translateY(-9px) rotate(-6deg); }
}

@keyframes lmFloatOff {
  0% { transform: translateY(0px) rotate(10deg); }
  100% { transform: translateY(-8px) rotate(12deg); }
}

@keyframes lmFloatShield {
  0% { transform: translateY(0px) rotate(7deg); }
  100% { transform: translateY(-9px) rotate(9deg); }
}

@keyframes lmFloatCloud {
  0% { transform: translateY(0px) rotate(-10deg); }
  100% { transform: translateY(-7px) rotate(-8deg); }
}

/* Header & Typography */
.lm-why-relative {
  position: relative;
  z-index: 3;
}

.lm-why-header {
  margin-bottom: 48px;
  text-align: center;
}

.lm-why-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 16px;
  border-radius: 9999px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.22);
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.06);
  margin-bottom: 15px;
}

.lm-why-badge-spark {
  font-size: 10px;
  color: #2563EB;
  line-height: 1;
}

.lm-why-badge-text {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #1D4ED8;
  text-transform: uppercase;
}

.lm-why-title {
  font-size: 34px;
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: -0.025em;
  margin: 0 0 12px 0;
}

.lm-why-title-dark {
  color: #0F172A;
}

.lm-why-title-gradient {
  background: linear-gradient(135deg, #1D4ED8 0%, #2563EB 55%, #0284C7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lm-why-subtitle {
  font-size: 15.5px;
  color: #475569;
  max-width: 620px;
  margin: 0 auto 18px auto;
  line-height: 1.6;
}

/* Decorative Divider */
.lm-why-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 4px;
}

.lm-why-divider-line {
  width: 52px;
  height: 1.5px;
}

.lm-why-divider-line--left {
  background: linear-gradient(90deg, transparent 0%, rgba(37, 99, 235, 0.4) 100%);
}

.lm-why-divider-line--right {
  background: linear-gradient(90deg, rgba(37, 99, 235, 0.4) 0%, transparent 100%);
}

.lm-why-divider-gem {
  font-size: 8px;
  color: #2563EB;
  opacity: 0.85;
  filter: drop-shadow(0 0 4px rgba(37, 99, 235, 0.5));
}

/* 4 Benefits Cards Grid */
.lm-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.lm-why-card {
  position: relative;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.95);
  border-radius: 22px;
  padding: 28px 24px 26px;
  box-shadow: 0 10px 28px -6px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.03), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}

.lm-why-card:hover {
  transform: translateY(-6px);
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(37, 99, 235, 0.28);
  box-shadow: 0 20px 42px -10px rgba(37, 99, 235, 0.13), 0 0 0 1px rgba(37, 99, 235, 0.2);
}

.lm-why-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.lm-why-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 22px;
}

/* Icon Box & Orbit Ring */
.lm-why-icon-wrap {
  position: relative;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lm-why-orbit-svg {
  position: absolute;
  inset: -11px;
  width: calc(100% + 22px);
  height: calc(100% + 22px);
  pointer-events: none;
  transition: transform 0.5s ease;
}

.lm-why-card:hover .lm-why-orbit-svg {
  transform: rotate(20deg) scale(1.05);
}

.lm-why-icon-box {
  width: 58px;
  height: 58px;
  border-radius: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 8px 18px -4px rgba(15, 23, 42, 0.08);
}

.lm-why-card:hover .lm-why-icon-box {
  transform: scale(1.04);
}

.lm-why-icon-box--blue {
  background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
  color: #0284C7;
  border: 1px solid rgba(2, 132, 199, 0.2);
}

.lm-why-icon-box--indigo {
  background: linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);
  color: #4F46E5;
  border: 1px solid rgba(79, 70, 229, 0.2);
}

.lm-why-icon-box--sky {
  background: linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 100%);
  color: #2563EB;
  border: 1px solid rgba(37, 99, 235, 0.2);
}

.lm-why-icon-box--cyan {
  background: linear-gradient(135deg, #ECFEFF 0%, #CFFAFE 100%);
  color: #0891B2;
  border: 1px solid rgba(8, 145, 178, 0.2);
}

/* Circular Arrow Action Element */
.lm-why-arrow-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748B;
  transition: all 0.25s ease;
  flex-shrink: 0;
  margin-top: 4px;
}

.lm-why-card:hover .lm-why-arrow-btn {
  transform: translateX(4px);
  background: #2563EB;
  border-color: #2563EB;
  color: #FFFFFF;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
}

/* Card Content */
.lm-why-card-content {
  display: flex;
  flex-direction: column;
}

.lm-why-card-title {
  font-size: 17.5px;
  font-weight: 700;
  color: #0F172A;
  margin: 0 0 9px 0;
  letter-spacing: -0.015em;
  line-height: 1.3;
}

.lm-why-card-desc {
  font-size: 13.5px;
  line-height: 1.58;
  color: #475569;
  margin: 0;
}

/* --------------------------------------------------------------------------
   9. HOW IT WORKS (Modern 2026 SaaS 3-Step Journey)
   -------------------------------------------------------------------------- */
.lm-section--how {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #FFFFFF 0%, #F0F9FF 35%, #E8F5FE 70%, #FFFFFF 100%);
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  padding: 86px 0 104px 0;
  box-sizing: border-box;
}

.lm-section--how *,
.lm-section--how *::before,
.lm-section--how *::after {
  box-sizing: border-box;
}

/* Background Ambient Lighting, Waves & Flight Trajectory */
.lm-how-bg-fx {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}

.lm-how-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.lm-how-glow--center {
  width: min(850px, 90vw);
  height: 440px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(37, 99, 235, 0.08) 0%, rgba(56, 189, 248, 0.04) 50%, transparent 75%);
  filter: blur(55px);
}

.lm-how-glow--top-right {
  width: 460px;
  height: 460px;
  right: -80px;
  top: -40px;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.1) 0%, transparent 68%);
  filter: blur(50px);
}

.lm-how-glow--bottom-left {
  width: 500px;
  height: 500px;
  left: -100px;
  bottom: -40px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.07) 0%, transparent 68%);
  filter: blur(50px);
}

.lm-how-wave-svg {
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
}

.lm-how-wave-svg--bottom {
  bottom: 0;
  height: 180px;
}

.lm-how-dots {
  position: absolute;
  width: 130px;
  height: 170px;
  opacity: 0.32;
  background-image: radial-gradient(#94A3B8 1.2px, transparent 1.2px);
  background-size: 14px 14px;
}

.lm-how-dots--left {
  left: 20px;
  top: 130px;
}

.lm-how-dots--right {
  right: 20px;
  top: 130px;
}

.lm-how-dots--bottom-right {
  right: 35px;
  bottom: 30px;
}

/* Floating 3D Paper Plane & Flight Trajectory */
.lm-how-plane-wrap {
  position: absolute;
  right: 17%;
  top: 24px;
  width: 240px;
  height: 120px;
  pointer-events: none;
  z-index: 2;
}

.lm-how-trajectory-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.lm-how-paper-plane {
  position: absolute;
  left: 18px;
  top: 16px;
  animation: lmFloatPlane 6s ease-in-out infinite alternate;
}

@keyframes lmFloatPlane {
  0% { transform: translateY(0px) rotate(0deg); }
  100% { transform: translateY(-7px) rotate(3deg); }
}

/* Floating "Fast & Secure" Glass Pill */
.lm-how-float-badge {
  position: absolute;
  right: 3.5%;
  top: 36px;
  z-index: 2;
  pointer-events: auto;
}

.lm-how-float-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 10px 24px -4px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(15, 23, 42, 0.04);
  transition: transform 0.25s ease;
}

.lm-how-float-pill:hover {
  transform: translateY(-2px);
}

.lm-how-pill-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.lm-how-pill-text {
  font-size: 13px;
  font-weight: 700;
  color: #0F172A;
  letter-spacing: -0.01em;
}

/* Header: Upper-Left SaaS Alignment */
.lm-how-relative {
  position: relative;
  z-index: 3;
}

.lm-how-header {
  margin-bottom: 48px;
  text-align: left;
  max-width: 840px;
}

.lm-how-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 14px;
  border-radius: 9999px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.2);
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.06);
  margin-bottom: 14px;
}

.lm-how-badge-icon {
  color: #2563EB;
  flex-shrink: 0;
}

.lm-how-badge-text {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #1D4ED8;
  text-transform: uppercase;
}

.lm-how-title {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.025em;
  margin: 0 0 12px 0;
}

.lm-how-title-dark {
  color: #0F172A;
}

.lm-how-title-blue {
  color: #2563EB;
  background: linear-gradient(135deg, #1D4ED8 0%, #2563EB 60%, #0284C7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lm-how-title-br {
  display: block;
}

.lm-how-subtitle {
  font-size: 15.5px;
  color: #64748B;
  margin: 0;
  line-height: 1.6;
}

/* 3 Cards Timeline Grid */
.lm-how-cards-wrap {
  position: relative;
  width: 100%;
}

.lm-how-timeline-connectors {
  position: absolute;
  top: 36px;
  left: 0;
  right: 0;
  z-index: 4;
  pointer-events: none;
}

.lm-how-conn {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lm-how-conn--1-2 {
  left: calc(33.333% - 24px);
  width: 48px;
}

.lm-how-conn--2-3 {
  left: calc(66.666% - 24px);
  width: 48px;
}

.lm-how-conn-dash {
  position: absolute;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(90deg, #93C5FD 0, #93C5FD 4px, transparent 4px, transparent 8px);
}

.lm-how-conn-arrow {
  position: relative;
  z-index: 2;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1.5px solid #93C5FD;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2563EB;
}

.lm-how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 3;
}

/* Card Styling */
.lm-how-card {
  position: relative;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.95);
  border-radius: 26px;
  padding: 38px 24px 28px;
  box-shadow: 0 16px 36px -8px rgba(15, 23, 42, 0.05), 0 2px 6px rgba(15, 23, 42, 0.02), inset 0 1px 0 rgba(255, 255, 255, 1);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}

.lm-how-card:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(37, 99, 235, 0.28);
  box-shadow: 0 24px 48px -10px rgba(37, 99, 235, 0.12), 0 0 0 1px rgba(37, 99, 235, 0.2);
}

/* Floating Step Number Badge */
.lm-how-step-badge {
  position: absolute;
  top: -18px;
  left: 24px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  transition: transform 0.3s ease;
}

.lm-how-card:hover .lm-how-step-badge {
  transform: scale(1.08);
}

.lm-how-step-badge--step1 {
  background: linear-gradient(135deg, #0284C7 0%, #2563EB 100%);
  box-shadow: 0 0 0 5px rgba(2, 132, 199, 0.18), 0 8px 16px -2px rgba(2, 132, 199, 0.35);
}

.lm-how-step-badge--step2 {
  background: linear-gradient(135deg, #2563EB 0%, #7C3AED 100%);
  box-shadow: 0 0 0 5px rgba(124, 58, 237, 0.18), 0 8px 16px -2px rgba(124, 58, 237, 0.35);
}

.lm-how-step-badge--step3 {
  background: linear-gradient(135deg, #1D4ED8 0%, #06B6D4 100%);
  box-shadow: 0 0 0 5px rgba(6, 182, 212, 0.18), 0 8px 16px -2px rgba(6, 182, 212, 0.35);
}

.lm-how-step-num {
  font-size: 15px;
  font-weight: 800;
  color: #FFFFFF;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

/* Card Interior 2-Column Split */
.lm-how-card-inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 12px;
  align-items: center;
  height: 100%;
}

.lm-how-card-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  z-index: 2;
}

.lm-how-mini-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  background: rgba(37, 99, 235, 0.08);
  color: #2563EB;
  border: 1px solid rgba(37, 99, 235, 0.15);
}

.lm-how-card-title {
  font-size: 17.5px;
  font-weight: 700;
  color: #0F172A;
  margin: 0 0 8px 0;
  letter-spacing: -0.015em;
  line-height: 1.3;
}

.lm-how-card-desc {
  font-size: 13px;
  line-height: 1.55;
  color: #475569;
  margin: 0 0 16px 0;
}

.lm-how-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 9999px;
  background: rgba(37, 99, 235, 0.06);
  border: 1px solid rgba(37, 99, 235, 0.18);
  color: #1D4ED8;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

.lm-how-cta-arrow {
  transition: transform 0.25s ease;
  font-size: 14px;
  line-height: 1;
}

.lm-how-card:hover .lm-how-cta-btn {
  background: #2563EB;
  color: #FFFFFF;
  border-color: #2563EB;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.lm-how-card:hover .lm-how-cta-arrow {
  transform: translateX(4px);
}

/* 3D Visual Area (Right Half) */
.lm-how-visual {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 165px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lm-how-vis-glow {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  filter: blur(28px);
  pointer-events: none;
  opacity: 0.6;
}

.lm-how-vis-glow--blue {
  background: radial-gradient(circle, rgba(56, 189, 248, 0.25) 0%, transparent 70%);
}

.lm-how-vis-glow--purple {
  background: radial-gradient(circle, rgba(124, 58, 237, 0.22) 0%, transparent 70%);
}

.lm-how-vis-glow--cyan {
  background: radial-gradient(circle, rgba(6, 182, 212, 0.22) 0%, transparent 70%);
}

.lm-how-vis-svg {
  width: 100%;
  height: auto;
  max-height: 175px;
  overflow: visible;
  transition: transform 0.4s ease;
}

.lm-how-card:hover .lm-how-vis-svg {
  transform: scale(1.04) translateY(-2px);
}

/* --------------------------------------------------------------------------
   10. CUSTOMER REVIEWS (Soft Light Surface)
   -------------------------------------------------------------------------- */
.lm-section--reviews {
  background-color: var(--lm-bg);
  border-bottom: 1px solid var(--lm-border);
  padding: 54px 0;
}

.lm-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.lm-review-card {
  background-color: #FFFFFF;
  border: 1px solid var(--lm-border);
  border-radius: 16px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  box-shadow: var(--lm-shadow-sm);
  transition: var(--lm-transition);
}

.lm-review-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--lm-shadow-md);
  border-color: var(--lm-border-hover);
}

.lm-review-stars {
  display: inline-flex;
  gap: 3px;
  margin-bottom: 12px;
}

.lm-review-text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--lm-text-main);
  font-style: italic;
  margin: 0 0 14px 0;
  flex: 1;
}

.lm-review-product-ref {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--lm-border-light);
}

.lm-ref-label {
  color: var(--lm-text-muted);
}

.lm-ref-link {
  color: var(--lm-blue-600);
  font-weight: 600;
  text-decoration: none;
}

.lm-ref-link:hover {
  text-decoration: underline;
}

.lm-review-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lm-reviewer-info {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lm-reviewer-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--lm-navy-950);
}

.lm-verified-badge {
  font-size: 11px;
  font-weight: 600;
  color: var(--lm-success);
  background-color: var(--lm-success-bg);
  padding: 2px 7px;
  border-radius: var(--lm-radius-sm);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.lm-review-date {
  font-size: 12px;
  color: var(--lm-text-muted);
}

/* --------------------------------------------------------------------------
   11. FAQ SECTION (Modern 2026 SaaS Two-Column Architecture)
   -------------------------------------------------------------------------- */
.lm-section--faq {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #F8FBFF 0%, #F0F7FE 45%, #EAF4FE 80%, #FFFFFF 100%);
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  padding: 88px 0 106px 0;
  box-sizing: border-box;
}

.lm-section--faq *,
.lm-section--faq *::before,
.lm-section--faq *::after {
  box-sizing: border-box;
}

/* Background Ambient Lighting, Waves & Floating Decor */
.lm-faq-bg-fx {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}

.lm-faq-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.lm-faq-glow--left {
  width: 550px;
  height: 550px;
  left: -140px;
  top: 10%;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.1) 0%, transparent 68%);
  filter: blur(55px);
}

.lm-faq-glow--right {
  width: 500px;
  height: 500px;
  right: -120px;
  top: 15%;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.08) 0%, transparent 68%);
  filter: blur(50px);
}

.lm-faq-glow--center {
  width: min(850px, 90vw);
  height: 420px;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(37, 99, 235, 0.06) 0%, rgba(56, 189, 248, 0.04) 50%, transparent 75%);
  filter: blur(55px);
}

.lm-faq-wave-svg {
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
}

.lm-faq-wave-svg--bottom {
  bottom: 0;
  height: 180px;
}

.lm-faq-dots {
  position: absolute;
  width: 130px;
  height: 170px;
  opacity: 0.32;
  background-image: radial-gradient(#94A3B8 1.2px, transparent 1.2px);
  background-size: 14px 14px;
}

.lm-faq-dots--left {
  left: 20px;
  top: 140px;
}

.lm-faq-dots--right {
  right: 20px;
  top: 220px;
}

.lm-faq-dots--decor {
  position: absolute;
  right: 0;
  bottom: -20px;
  width: 80px;
  height: 80px;
}

/* Far-Right Floating Decorative Question-Mark Tile with Orbital Line */
.lm-faq-float-decor {
  position: absolute;
  right: 1%;
  top: 60px;
  width: 160px;
  height: 160px;
  pointer-events: none;
  z-index: 2;
}

.lm-faq-float-orbit-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.lm-faq-float-qcard {
  position: absolute;
  right: 28px;
  top: 18px;
  width: 62px;
  height: 62px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 16px 32px -6px rgba(15, 23, 42, 0.08), 0 0 0 1px rgba(37, 99, 235, 0.06) inset;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(12deg);
  animation: lmFloatQCard 7s ease-in-out infinite alternate;
}

@keyframes lmFloatQCard {
  0% { transform: translateY(0px) rotate(12deg); }
  100% { transform: translateY(-8px) rotate(15deg); }
}

.lm-faq-float-qtext {
  font-family: var(--lm-font-sans);
  font-size: 32px;
  font-weight: 800;
  color: #2563EB;
  line-height: 1;
}

/* Two-Column Layout Grid */
.lm-faq-relative {
  position: relative;
  z-index: 3;
}

.lm-faq-layout {
  display: grid;
  grid-template-columns: 37% 63%;
  gap: 40px;
  align-items: flex-start;
}

/* Left Column */
.lm-faq-col-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.lm-faq-header {
  margin-bottom: 24px;
  text-align: left;
}

.lm-faq-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 14px;
  border-radius: 9999px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.2);
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.06);
  margin-bottom: 14px;
}

.lm-faq-badge-icon {
  color: #2563EB;
  flex-shrink: 0;
}

.lm-faq-badge-text {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #1D4ED8;
  text-transform: uppercase;
}

.lm-faq-title {
  font-size: 40px;
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.025em;
  margin: 0 0 14px 0;
}

.lm-faq-title-dark {
  color: #0F172A;
}

.lm-faq-title-blue {
  color: #2563EB;
  background: linear-gradient(135deg, #1D4ED8 0%, #2563EB 60%, #0284C7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lm-faq-title-br {
  display: block;
}

.lm-faq-subtitle {
  font-size: 15.5px;
  line-height: 1.62;
  color: #475569;
  margin: 0;
  max-width: 440px;
}

/* 3D Help Visual Area */
.lm-faq-visual-wrap {
  position: relative;
  width: 100%;
  max-width: 350px;
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.lm-faq-vis-glow {
  position: absolute;
  width: 280px;
  height: 200px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(56, 189, 248, 0.22) 0%, rgba(37, 99, 235, 0.15) 50%, transparent 75%);
  filter: blur(35px);
  border-radius: 50%;
  pointer-events: none;
}

.lm-faq-vis-svg {
  width: 100%;
  height: auto;
  overflow: visible;
  display: block;
  filter: drop-shadow(0 14px 28px rgba(15, 23, 42, 0.08));
}

.lm-faq-fast-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 18px;
  border-radius: 9999px;
  background: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 8px 20px -4px rgba(15, 23, 42, 0.08), 0 2px 4px rgba(15, 23, 42, 0.04);
  margin-top: -12px;
  position: relative;
  z-index: 4;
  transition: transform 0.25s ease;
}

.lm-faq-fast-pill:hover {
  transform: translateY(-2px);
}

.lm-faq-fast-icon {
  color: #2563EB;
  flex-shrink: 0;
}

.lm-faq-fast-text {
  font-size: 12.5px;
  font-weight: 700;
  color: #0F172A;
  letter-spacing: -0.01em;
}

/* Right Column: 6 Large Frosted Glass Accordion Cards */
.lm-faq-col-right {
  width: 100%;
}

.lm-faq-accordion {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lm-faq-row {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 24px;
  box-shadow: 0 8px 24px -6px rgba(15, 23, 42, 0.04), inset 0 1px 0 rgba(255, 255, 255, 1);
  transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
              background-color 300ms ease,
              border-color 300ms ease,
              box-shadow 300ms ease;
  overflow: hidden;
}

.lm-faq-row:hover {
  transform: translateX(3px);
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(37, 99, 235, 0.25);
  box-shadow: 0 12px 28px -6px rgba(37, 99, 235, 0.08), 0 0 0 1px rgba(37, 99, 235, 0.15);
}

.lm-faq-row.is-open {
  background: #FFFFFF;
  border-color: rgba(37, 99, 235, 0.35);
  box-shadow: 0 16px 36px -8px rgba(37, 99, 235, 0.12), 0 0 0 1px rgba(37, 99, 235, 0.25);
}

.lm-faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  gap: 18px;
  min-height: 86px;
  transition: all 0.2s ease;
}

/* 54x54px Pale-Blue Rounded Square Icon Badge */
.lm-faq-icon-box {
  width: 52px;
  height: 52px;
  border-radius: 15px;
  background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
  color: #2563EB;
  border: 1px solid rgba(37, 99, 235, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 10px -2px rgba(37, 99, 235, 0.1);
  transition: all 0.25s ease;
}

.lm-faq-row:hover .lm-faq-icon-box {
  background: linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%);
  transform: scale(1.04);
}

.lm-faq-row.is-open .lm-faq-icon-box {
  background: #2563EB;
  color: #FFFFFF;
  border-color: #2563EB;
  box-shadow: 0 6px 16px -2px rgba(37, 99, 235, 0.35);
}

/* Question Typography */
.lm-faq-question {
  font-family: var(--lm-font-sans);
  font-size: 17.5px;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.35;
  letter-spacing: -0.015em;
  flex: 1;
  transition: color 0.2s ease;
}

.lm-faq-row:hover .lm-faq-question {
  color: #1D4ED8;
}

.lm-faq-row.is-open .lm-faq-question {
  color: #1D4ED8;
}

/* Circular Arrow Control */
.lm-faq-chevron {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.05);
  color: #0F172A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.lm-faq-row:hover .lm-faq-chevron {
  background: #EFF6FF;
  border-color: rgba(37, 99, 235, 0.25);
  color: #2563EB;
}

.lm-faq-row.is-open .lm-faq-chevron {
  transform: rotate(180deg);
  background: #2563EB;
  border-color: #2563EB;
  color: #FFFFFF;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
}

/* Collapsible Panel */
.lm-faq-panel {
  padding: 0 24px 22px 90px;
  display: none;
}

.lm-faq-row.is-open .lm-faq-panel {
  display: block;
}

.lm-faq-answer {
  border-top: 1px solid rgba(226, 232, 240, 0.7);
  padding-top: 16px;
}

.lm-faq-answer p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.65;
  color: #475569;
}

.lm-faq-answer a {
  color: #2563EB;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   12. NEWSLETTER CTA (Dark Premium Gradient)
   -------------------------------------------------------------------------- */
.lm-section--newsletter {
  padding: 32px 0 48px 0;
  background-color: var(--lm-bg);
}

.lm-newsletter-card {
  background: linear-gradient(135deg, #070B14 0%, #0F172A 60%, #1E1B4B 100%);
  border-radius: 24px;
  padding: 48px 36px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 45px -10px rgba(7, 11, 20, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.12);
  text-align: center;
}

.lm-newsletter-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 550px;
  height: 550px;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.16) 0%, transparent 70%);
  pointer-events: none;
  filter: blur(40px);
}

.lm-newsletter-content {
  position: relative;
  z-index: 2;
  max-width: 600px;
  margin-inline: auto;
}

.lm-newsletter-tag {
  color: #38BDF8;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: inline-block;
}

.lm-newsletter-title {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 0 10px 0;
  letter-spacing: -0.02em;
}

.lm-newsletter-desc {
  font-size: 15.5px;
  color: #CBD5E1;
  margin: 0 0 24px 0;
  line-height: 1.6;
}

.lm-newsletter-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.lm-newsletter-input-group {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 480px;
  background-color: rgba(255, 255, 255, 0.08);
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--lm-radius-md);
  padding: 4px 5px 4px 16px;
  backdrop-filter: blur(8px);
  transition: var(--lm-transition);
}

.lm-newsletter-input-group:focus-within {
  border-color: var(--lm-blue-400);
  background-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
}

.lm-newsletter-input {
  flex: 1;
  background: transparent !important;
  border: none !important;
  color: #FFFFFF !important;
  font-size: 15px;
  padding: 9px 0;
  outline: none !important;
  box-shadow: none !important;
}

.lm-newsletter-input::placeholder {
  color: #94A3B8;
}

.lm-newsletter-btn {
  background-color: var(--lm-blue-600);
  color: #FFFFFF;
  border: none;
  border-radius: calc(var(--lm-radius-md) - 3px);
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: var(--lm-transition);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.lm-newsletter-btn:hover {
  background-color: var(--lm-blue-700);
  transform: translateY(-1px);
}

.lm-newsletter-privacy {
  font-size: 12.5px;
  color: #94A3B8;
  margin: 0;
}

.lm-newsletter-privacy a {
  color: #CBD5E1;
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   13. RESPONSIVE BREAKPOINTS (Desktop, Laptop, Tablet, Mobile)
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
  .lm-hero-grid {
    gap: 36px;
  }
  .lm-showcase-stage {
    max-width: 480px;
  }
}

@media (max-width: 992px) {
  .lm-hero {
    padding: 38px 0 44px 0;
  }
  .lm-hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .lm-hero-content {
    text-align: center;
    max-width: 640px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .lm-hero-eyebrow {
    margin-inline: auto;
  }
  .lm-hero-desc {
    margin-inline: auto;
  }
  .lm-hero-search-box {
    margin-inline: auto;
  }
  .lm-hero-actions {
    justify-content: center;
  }
  .lm-hero-trust-row {
    justify-content: center;
  }
  .lm-hero-showcase {
    order: 2;
    margin: 0 auto;
  }
  .lm-showcase-stage {
    max-width: 500px;
    margin: 0 auto;
  }
  .lm-trust-strip-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .lm-bento-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .lm-promo-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .lm-promo-container {
    padding: 36px 28px;
  }
  .lm-why-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .lm-why-floating-tile,
  .lm-why-dots,
  .lm-why-glow--left,
  .lm-why-glow--right {
    display: none;
  }
  .lm-how-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .lm-how-timeline-connectors,
  .lm-how-plane-wrap,
  .lm-how-float-badge,
  .lm-how-dots {
    display: none;
  }
  .lm-faq-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .lm-faq-col-left {
    align-items: center;
    text-align: center;
  }
  .lm-faq-header {
    text-align: center;
  }
  .lm-faq-subtitle {
    margin-inline: auto;
  }
  .lm-faq-float-decor {
    display: none;
  }
}

@media (max-width: 768px) {
  .lm-section {
    padding: 44px 0;
  }
  .lm-section--how {
    padding: 56px 0 64px 0;
  }
  .lm-section--faq {
    padding: 56px 0 68px 0;
  }
  .lm-how-header {
    margin-bottom: 34px;
  }
  .lm-how-title {
    font-size: 28px;
  }
  .lm-how-card {
    padding: 34px 20px 24px;
  }
  .lm-how-card-inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .lm-how-visual {
    min-height: 150px;
  }
  .lm-reviews-grid {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin-inline: auto;
  }
}

@media (max-width: 640px) {
  .lm-hero {
    position: relative !important;
    background-color: #030816 !important;
    background-image: url('../images/hero-mobile-lumeura-v5.webp?v=1') !important;
    background-size: 100% auto !important;
    background-repeat: no-repeat !important;
    background-position: center 42px !important;
    padding: 24px 0 0 0 !important;
    overflow: hidden !important;
    min-height: calc(100vw * 1.5) !important;
    box-sizing: border-box !important;
    image-rendering: -webkit-optimize-contrast !important;
  }
  .lm-hero-container {
    padding: 0 16px !important;
  }
  .lm-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .lm-hero-content {
    text-align: center !important;
    align-items: center !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }
  .lm-hero-eyebrow {
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    margin-bottom: 8px !important;
    letter-spacing: 0.05em !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(8, 20, 48, 0.65) !important;
    border: 1px solid rgba(56, 189, 248, 0.45) !important;
    color: #38BDF8 !important;
  }
  .lm-eyebrow-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #38BDF8 !important;
    box-shadow: 0 0 8px #38BDF8 !important;
    display: inline-block !important;
  }
  .lm-hero-title {
    font-size: 23px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 6px 0 !important;
  }
  .lm-hero-title-line {
    display: block !important;
    color: #FFFFFF !important;
  }
  .lm-hero-title-highlight {
    display: block !important;
    background: linear-gradient(135deg, #38BDF8 0%, #0070F3 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
  }
  .lm-hero-desc {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
    color: #94A3B8 !important;
    max-width: 320px !important;
    margin: 0 auto 10px auto !important;
  }
  .lm-hero-search-box {
    width: 100% !important;
    max-width: 330px !important;
    margin: 0 auto 10px auto !important;
  }
  .lm-hero-search-form {
    padding: 2px 4px 2px 12px !important;
    height: 40px !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
  }
  .lm-hero-search-icon {
    width: 16px !important;
    height: 16px !important;
    color: #64748B !important;
  }
  .lm-hero-search-input {
    font-size: 12px !important;
    color: #0F172A !important;
  }
  .lm-hero-search-btn {
    padding: 0 16px !important;
    height: 32px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 999px !important;
    background: #0070F3 !important;
  }
  .lm-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 330px !important;
    margin: 0 auto !important;
  }
  .lm-hero-actions .lm-btn {
    width: 100% !important;
    height: 38px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
  }
  .lm-hero-actions .lm-btn-primary {
    background: #0070F3 !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(0, 112, 243, 0.35) !important;
  }
  .lm-hero-actions .lm-btn-secondary {
    background: rgba(7, 21, 43, 0.85) !important;
    border: 1px solid rgba(56, 189, 248, 0.4) !important;
    color: #FFFFFF !important;
    backdrop-filter: blur(8px) !important;
  }
  .lm-hero-actions .lm-btn-icon-cart {
    flex-shrink: 0 !important;
  }
  .lm-hero-actions .lm-btn-icon-chart {
    flex-shrink: 0 !important;
    color: #38BDF8 !important;
  }
  .lm-hero-actions .lm-btn-arrow {
    flex-shrink: 0 !important;
  }
  .lm-hero-trust-row {
    display: none !important;
  }
  .lm-hero-trust-divider {
    display: none !important;
  }
  .lm-showcase-float {
    display: none !important;
  }

  /* HIDE SEPARATE MOBILE SHOWCASE (ALREADY RENDERED IN THE BACKGROUND IMAGE) */
  .lm-showcase-stage,
  .lm-hero-mobile-stage,
  .lm-hero-showcase {
    display: none !important;
  }

  /* REFINED TRUST STRIP (100% MATCHING PHOTO 3: 3 DARK GLASS CARDS) */
  .lm-trust-strip-section {
    padding: 10px 0 24px 0 !important;
    background: #030816 !important;
    border-top: none !important;
    border-bottom: 1px solid rgba(56, 189, 248, 0.15) !important;
  }
  .lm-trust-strip-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    padding: 0 10px !important;
  }
  .lm-trust-col:nth-child(4) {
    display: none !important;
  }
  .lm-trust-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 10px 8px !important;
    background: rgba(7, 21, 43, 0.75) !important;
    border: 1px solid rgba(56, 189, 248, 0.22) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
    backdrop-filter: blur(8px) !important;
    margin: 0 !important;
  }
  .lm-trust-col-icon-box {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: 50% !important;
    background: #0070F3 !important;
    box-shadow: 0 0 10px rgba(0, 112, 243, 0.5) !important;
    color: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    margin: 0 0 4px 0 !important;
    flex-shrink: 0 !important;
  }
  .lm-trust-col-icon-box svg {
    width: 16px !important;
    height: 16px !important;
    stroke: #FFFFFF !important;
  }
  .lm-trust-col-body {
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
  }
  .lm-trust-col-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
  }
  .lm-trust-col-desc {
    font-size: 9px !important;
    color: #94A3B8 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
  }
  .lm-bento-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .lm-section-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .lm-section--why {
    padding: 48px 0 54px 0;
  }
  .lm-why-header {
    margin-bottom: 32px;
  }
  .lm-why-title {
    font-size: 26px;
  }
  .lm-why-subtitle {
    font-size: 14px;
    margin-bottom: 14px;
  }
  .lm-why-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .lm-why-card {
    padding: 22px 20px;
  }
  .lm-how-title-br {
    display: inline;
  }
  .lm-how-title {
    font-size: 26px;
  }
  .lm-faq-title {
    font-size: 28px;
  }
  .lm-faq-title-br {
    display: inline;
  }
  .lm-faq-trigger {
    padding: 14px 16px;
    min-height: 74px;
    gap: 14px;
  }
  .lm-faq-icon-box {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }
  .lm-faq-question {
    font-size: 15.5px;
  }
  .lm-faq-chevron {
    width: 38px;
    height: 38px;
  }
  .lm-faq-panel {
    padding: 0 16px 18px 16px;
  }
  .lm-newsletter-card {
    padding: 36px 18px;
  }
  .lm-newsletter-input-group {
    flex-direction: column;
    padding: 10px;
    gap: 10px;
  }
  .lm-newsletter-input {
    width: 100%;
    text-align: center;
  }
  .lm-newsletter-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   HOMEPAGE SPECIFIC SCROLL REVEAL ENHANCEMENTS
   ========================================================================== */

/* 1. Why Lumeura: Subtle Card Icon Scale */
html.lm-animations-active .lm-why-card .lm-why-icon-box {
  transform: scale(0.85);
  transition: transform 550ms cubic-bezier(0.22, 1, 0.36, 1) calc(var(--reveal-delay, 0ms) + 120ms);
}
html.lm-animations-active .lm-why-card.is-revealed .lm-why-icon-box {
  transform: scale(1);
}

/* 2. How It Works: Connected Timeline Progression */
html.lm-animations-active .lm-how-card .lm-how-step-badge {
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 550ms ease calc(var(--reveal-delay, 0ms) + 100ms),
              transform 550ms cubic-bezier(0.22, 1, 0.36, 1) calc(var(--reveal-delay, 0ms) + 100ms);
}
html.lm-animations-active .lm-how-card.is-revealed .lm-how-step-badge {
  opacity: 1;
  transform: scale(1);
}

html.lm-animations-active .lm-how-conn-dash {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
}
html.lm-animations-active .lm-how-conn.is-revealed .lm-how-conn-dash,
html.lm-animations-active .lm-how-cards-wrap.is-revealed .lm-how-conn-dash {
  transform: scaleX(1);
}

html.lm-animations-active .lm-how-conn-arrow {
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 400ms ease calc(var(--reveal-delay, 0ms) + 260ms),
              transform 400ms cubic-bezier(0.22, 1, 0.36, 1) calc(var(--reveal-delay, 0ms) + 260ms);
}
html.lm-animations-active .lm-how-conn.is-revealed .lm-how-conn-arrow,
html.lm-animations-active .lm-how-cards-wrap.is-revealed .lm-how-conn-arrow {
  opacity: 1;
  transform: scale(1);
}

/* 3. Newsletter: Subtle Scale Reveal */
html.lm-animations-active .lm-newsletter-card[data-reveal="scale"] {
  transform: scale(0.985);
}
html.lm-animations-active .lm-newsletter-card.is-revealed {
  transform: scale(1) !important;
}

/* 4. Reduced Motion Suppressions */
@media (prefers-reduced-motion: reduce) {
  html.lm-animations-active .lm-why-card .lm-why-icon-box,
  html.lm-animations-active .lm-how-card .lm-how-step-badge,
  html.lm-animations-active .lm-how-conn-dash,
  html.lm-animations-active .lm-how-conn-arrow,
  html.lm-animations-active .lm-newsletter-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
/* LUMEURA mobile hero: dimensional holographic glass tiles with independent micro-float. */
@keyframes lmGlassCardBob {
  0%, 100% { transform: perspective(700px) translateY(0) rotate(var(--lm-card-tilt)) rotateY(var(--lm-card-y)); }
  50% { transform: perspective(700px) translateY(-4px) rotate(var(--lm-card-tilt)) rotateY(var(--lm-card-y)); }
}
@keyframes lmGlassSheen {
  0%, 100% { opacity: .5; transform: translateX(-16%) rotate(0deg); }
  50% { opacity: .9; transform: translateX(16%) rotate(0deg); }
}

@media (max-width: 640px) {
  .lm-hero {
    background-image:
      radial-gradient(ellipse at 50% 86%, rgba(0, 112, 243, .34), transparent 46%),
      radial-gradient(ellipse at 12% 48%, rgba(27, 93, 214, .14), transparent 42%),
      linear-gradient(155deg, #061632 0%, #030816 72%) !important;
    background-size: auto !important;
    background-position: center !important;
    min-height: 0 !important;
    padding: 24px 0 22px !important;
  }
  .lm-hero-showcase {
    display: flex !important;
    width: 100% !important;
    max-width: 350px !important;
    margin: 0 auto !important;
    order: 2 !important;
  }
  .lm-hero-mobile-stage {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 350px !important;
    height: 338px !important;
    margin: 0 auto !important;
    isolation: isolate;
    background: radial-gradient(ellipse at 50% 55%, rgba(14, 97, 206, .16), transparent 64%);
  }
  .lm-hero-mobile-stage::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 70px;
    left: 50%;
    width: 108%;
    height: 140px;
    border: 1px solid rgba(35, 151, 255, .48);
    border-radius: 50%;
    box-shadow: 0 0 22px rgba(0, 112, 243, .28), inset 0 0 22px rgba(0, 112, 243, .14);
    transform: translateX(-50%) rotate(-13deg);
  }
  .lm-hero-mobile-stage::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    bottom: 13px;
    width: 82%;
    height: 17px;
    border: 1px solid rgba(56, 189, 248, .78);
    border-radius: 50%;
    background: rgba(0, 112, 243, .16);
    box-shadow: 0 0 24px rgba(0, 112, 243, .46), 0 8px 28px rgba(0, 112, 243, .28);
    transform: translateX(-50%);
  }
  .lm-mobile-product-card {
    --lm-accent: 44, 190, 255;
    position: absolute;
    z-index: 2;
    display: flex;
    width: 42%;
    height: 139px;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 12px 6px;
    color: #f4fbff;
    text-align: center;
    border: 1px solid rgba(var(--lm-accent), .82);
    border-radius: 18px;
    background:
      radial-gradient(ellipse at 50% 110%, rgba(var(--lm-accent), .32), transparent 57%),
      linear-gradient(145deg, rgba(21, 74, 135, .54), rgba(4, 16, 42, .9) 72%);
    box-shadow:
      0 0 5px rgba(var(--lm-accent), .42),
      0 12px 28px rgba(0, 0, 0, .42),
      inset 0 1px 1px rgba(255, 255, 255, .48),
      inset 0 0 22px rgba(var(--lm-accent), .17);
    backdrop-filter: blur(12px) saturate(155%);
    -webkit-backdrop-filter: blur(12px) saturate(155%);
    animation: lmGlassCardBob 4.2s ease-in-out infinite !important;
    will-change: transform;
    transform-style: preserve-3d;
  }
  .lm-mobile-product-card::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 1px;
    border-radius: 16px;
    background:
      linear-gradient(128deg, rgba(255,255,255,.36) 0%, rgba(255,255,255,.09) 9%, transparent 27%, transparent 72%, rgba(var(--lm-accent),.13) 100%);
    pointer-events: none;
  }
  .lm-mobile-product-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 10%;
    right: 10%;
    bottom: 7px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--lm-accent), .92), transparent);
    box-shadow: 0 0 12px rgba(var(--lm-accent), .7);
    pointer-events: none;
  }
  .lm-mobile-product-icon,
  .lm-mobile-product-name,
  .lm-mobile-product-detail,
  .lm-mobile-kaspersky-mark { position: relative; z-index: 1; }
  .lm-mobile-product-icon {
    width: 48px;
    height: 48px;
    color: rgb(var(--lm-accent));
    filter: drop-shadow(0 0 8px rgba(var(--lm-accent), .78));
  }
  .lm-mobile-product-name { font-size: 14px; font-weight: 760; line-height: 1.05; letter-spacing: -.02em; text-shadow: 0 1px 10px rgba(255,255,255,.16); }
  .lm-mobile-product-detail { color: #b8d4f0; font-size: 10px; line-height: 1.1; }
  .lm-mobile-card-windows { --lm-card-tilt: -7deg; --lm-card-y: -5deg; top: 8px; left: 7%; animation-delay: 0s !important; }
  .lm-mobile-card-office { --lm-accent: 255, 112, 84; --lm-card-tilt: 6deg; --lm-card-y: 5deg; top: 28px; right: 7%; background: radial-gradient(ellipse at 50% 110%, rgba(255, 112, 84, .32), transparent 57%), linear-gradient(145deg, rgba(100, 44, 69, .62), rgba(24, 15, 45, .94) 72%); animation-delay: -1.05s !important; }
  .lm-mobile-card-kaspersky { --lm-accent: 32, 232, 193; --lm-card-tilt: 7deg; --lm-card-y: -4deg; top: 157px; left: 7%; background: radial-gradient(ellipse at 50% 110%, rgba(32, 232, 193, .3), transparent 57%), linear-gradient(145deg, rgba(8, 91, 91, .64), rgba(3, 27, 47, .94) 72%); animation-delay: -2.1s !important; }
  .lm-mobile-card-nordvpn { --lm-accent: 49, 159, 255; --lm-card-tilt: -7deg; --lm-card-y: 5deg; top: 170px; right: 7%; animation-delay: -3.15s !important; }
  .lm-mobile-kaspersky-mark { color: rgb(var(--lm-accent)); font-size: 50px; font-weight: 900; line-height: .95; text-shadow: 0 0 16px rgba(var(--lm-accent), .9); }
  .lm-showcase-stage { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .lm-mobile-product-card { animation: none !important; }
}

/* Desktop hero repair: center the showcase below the navigation and keep the four packs on stage. */
@media (min-width: 993px) {
  .lm-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: clamp(24px, 3vw, 44px) !important;
  }
  .lm-hero-showcase {
    min-width: 0 !important;
    min-height: 520px !important;
    width: 100% !important;
    align-items: center !important;
  }
  .lm-showcase-stage {
    width: 100% !important;
    max-width: 650px !important;
    height: 500px !important;
    margin: 0 auto !important;
    transform: none !important;
    transform-origin: center !important;
    background: radial-gradient(ellipse at 50% 72%, rgba(0, 112, 243, .22), transparent 58%) !important;
  }
  .lm-stage-bloom-wrap,
  .lm-stage-podium-wrap { display: none !important; }
  .lm-showcase-stage::before {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    bottom: 72px;
    width: 84%;
    height: 185px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(0, 112, 243, .34), rgba(0, 88, 220, .1) 42%, transparent 72%);
    filter: blur(9px);
    transform: translateX(-50%);
    pointer-events: none;
  }
  .lm-showcase-stage::after {
    content: "";
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 105px;
    width: 82%;
    height: 25px;
    border: 1px solid rgba(45, 166, 255, .7);
    border-radius: 50%;
    background: rgba(0, 112, 243, .12);
    box-shadow: 0 0 28px rgba(0, 112, 243, .34), inset 0 0 14px rgba(0, 112, 243, .28);
    transform: translateX(-50%);
    pointer-events: none;
  }
  .lm-stage-boxes-layer { z-index: 3 !important; }
  .lm-box-win11 { left: 2% !important; bottom: 132px !important; width: 23% !important; }
  .lm-box-office { left: 25% !important; bottom: 132px !important; width: 27% !important; }
  .lm-box-kaspersky { left: 52% !important; bottom: 132px !important; width: 23% !important; }
  .lm-box-nordvpn { left: 75% !important; bottom: 132px !important; width: 23% !important; }
}
