.elementor-217 .elementor-element.elementor-element-2a93b0d9 > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-2a93b0d9:not(.elementor-motion-effects-element-type-background), .elementor-217 .elementor-element.elementor-element-2a93b0d9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0b0b0d;}.elementor-217 .elementor-element.elementor-element-2a93b0d9{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 36px 100px 36px;}.elementor-217 .elementor-element.elementor-element-2a93b0d9 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-217 .elementor-element.elementor-element-c3be6de .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-217 .elementor-element.elementor-element-52f1a816 .elementor-heading-title{color:var( --e-global-color-text );font-family:"Inter Tight", Sans-serif;font-weight:300;}.elementor-217 .elementor-element.elementor-element-10ce94f6 > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-10ce94f6:not(.elementor-motion-effects-element-type-background), .elementor-217 .elementor-element.elementor-element-10ce94f6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0b0b0d;}.elementor-217 .elementor-element.elementor-element-10ce94f6{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 36px 100px 36px;}.elementor-217 .elementor-element.elementor-element-10ce94f6 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-217 .elementor-element.elementor-element-3d4ea1b4 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-217 .elementor-element.elementor-element-14a7abbf > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-3c3a6df > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-0d3c9f4 > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-aa55062 > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-894d3de > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-67d622c > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-78857512 > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-3e0a3f92 > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-3e0a3f92:not(.elementor-motion-effects-element-type-background), .elementor-217 .elementor-element.elementor-element-3e0a3f92 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0b0b0d;}.elementor-217 .elementor-element.elementor-element-3e0a3f92{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 36px 100px 36px;}.elementor-217 .elementor-element.elementor-element-3e0a3f92 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-217 .elementor-element.elementor-element-52152900 > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-722e2707 > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-7d3208f0 > .elementor-container{max-width:1360px;}.elementor-217 .elementor-element.elementor-element-7d3208f0:not(.elementor-motion-effects-element-type-background), .elementor-217 .elementor-element.elementor-element-7d3208f0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0b0b0d;}.elementor-217 .elementor-element.elementor-element-7d3208f0{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 36px 100px 36px;}.elementor-217 .elementor-element.elementor-element-7d3208f0 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-217 .elementor-element.elementor-element-3f7cac15 > .elementor-container{max-width:1360px;}body.elementor-page-217:not(.elementor-motion-effects-element-type-background), body.elementor-page-217 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0b0b0d;}@media(max-width:1024px){.elementor-217 .elementor-element.elementor-element-6aac8af8 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-217 .elementor-element.elementor-element-722e2707{margin-top:0px;margin-bottom:0px;}}@media(max-width:767px){.elementor-217 .elementor-element.elementor-element-2a93b0d9{padding:60px 22px 60px 22px;}.elementor-217 .elementor-element.elementor-element-10ce94f6{padding:60px 22px 60px 22px;}.elementor-217 .elementor-element.elementor-element-3e0a3f92{padding:60px 22px 60px 22px;}.elementor-217 .elementor-element.elementor-element-7d3208f0{padding:60px 22px 60px 22px;}}@media(min-width:768px){.elementor-217 .elementor-element.elementor-element-cdbd765{width:60%;}.elementor-217 .elementor-element.elementor-element-9c157fa{width:40%;}}/* Start custom CSS *//* ============================================================
   ROOT VARIABLES
   ============================================================ */

:root {
  --ls-bg: #0b0b0d;
  --ls-bg-card: #131316;
  --ls-bg-alt: #0d0d10;
  --ls-text: #e9e8e4;
  --ls-text-mid: #b7b6b0;
  --ls-text-mute: #7a7974;
  --ls-text-dim: #3a3a36;
  --ls-accent: #ff5a3c;
  --ls-line: rgba(255, 255, 255, 0.06);
  --ls-line-strong: rgba(255, 255, 255, 0.12);
  --ls-font-display: 'Inter Tight', Inter, system-ui, sans-serif;
  --ls-font-body: Inter, system-ui, sans-serif;
  --ls-font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

body {
  background: var(--ls-bg);
  color: var(--ls-text);
  font-family: var(--ls-font-body);
}

/* ============================================================
   HERO
   ============================================================ */

.lp-sec-hero {
  position: relative;
  overflow: hidden;
  padding-top: 160px !important;
  padding-bottom: 80px !important;
}
.lp-sec-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1.4px);
  background-size: 14px 14px;
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}
.lp-sec-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(11,11,13,0) 30%, var(--ls-bg) 100%);
  pointer-events: none;
  z-index: 0;
}
.lp-sec-hero > .elementor-container {
  position: relative;
  z-index: 1;
}

/* H1 widget — wider for single-column layout */
.lp-col-hero .lp-w-h1 .elementor-heading-title {
  max-width: 22ch;
  margin-bottom: 40px !important;
}

/* Intro right-aligned to match the interior page's compositional balance */
.lp-col-hero .lp-w-intro .elementor-widget-container,
.lp-col-hero .lp-w-intro p {
  max-width: 60ch;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: var(--ls-text-mid) !important;
  margin: 0 !important;
}
.lp-col-hero .lp-w-intro strong {
  color: var(--ls-text) !important;
  font-weight: 400 !important;
}

/* ============================================================
   KICKERS
   ============================================================ */

.lp-w-kicker .elementor-heading-title {
  font-family: var(--ls-font-mono) !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--ls-text-mute) !important;
  margin: 0 0 32px !important;
}

/* ============================================================
   H1 / H2
   ============================================================ */

.lp-w-h1 .elementor-heading-title {
  font-family: var(--ls-font-display) !important;
  font-weight: 300 !important;
  font-size: clamp(40px, 5.5vw, 76px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.025em !important;
  color: var(--ls-text) !important;
  margin: 0 !important;
}

.lp-w-h2 .elementor-heading-title {
  font-family: var(--ls-font-display) !important;
  font-weight: 300 !important;
  font-size: clamp(30px, 3.6vw, 52px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: var(--ls-text) !important;
  margin: 0 0 24px !important;
  
}

.lp-w-intro .elementor-widget-container,
.lp-w-intro p {
  color: var(--ls-text-mid) !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  margin: 0 0 60px !important;
}

/* ============================================================
   SECTION SPACING
   ============================================================ */

.lp-sec-prods,
.lp-sec-apps,
.lp-sec-xsell {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

/* ============================================================
   PRODUCT ROWS
   ============================================================ */

.lp-sec-prods .lp-w-kicker .elementor-heading-title {
  margin-bottom: 24px !important;
}

.lp-isec-prow > .elementor-container {
  display: grid !important;
  grid-template-columns: 80px 2fr 1.2fr 1.5fr 60px !important;
  gap: 32px !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  padding: 32px 8px !important;
  border-bottom: 1px solid var(--ls-line) !important;
  cursor: pointer;
  transition: background .25s, padding-left .25s;
}
.lp-isec-prow > .elementor-container > .elementor-column {
  width: auto !important;
  flex: none !important;
}
.lp-isec-prow:first-of-type > .elementor-container {
  border-top: 1px solid var(--ls-line) !important;
}
.lp-isec-prow:hover > .elementor-container {
  background: rgba(255,255,255,0.012) !important;
  padding-left: 24px !important;
}
.lp-isec-prow .elementor-element-populated { padding: 0 !important; }
.lp-isec-prow .elementor-widget { margin-block-end: 0 !important; }

.lp-w-prow-n .elementor-heading-title {
  font-family: var(--ls-font-mono) !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  color: var(--ls-text-mute) !important;
  margin: 0 !important;
}

.lp-w-prow-name .elementor-heading-title {
  font-family: var(--ls-font-display) !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  letter-spacing: -0.015em !important;
  color: var(--ls-text) !important;
  margin: 0 0 6px !important;
  line-height: 1.2 !important;
}
.lp-w-prow-type .elementor-heading-title {
  font-family: var(--ls-font-mono) !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--ls-text-mid) !important;
  margin: 0 !important;
}

.lp-w-prow-spec-label .elementor-heading-title {
  font-family: var(--ls-font-mono) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--ls-text-mute) !important;
  margin: 0 0 4px !important;
}
.lp-w-prow-spec-val .elementor-heading-title {
  font-family: var(--ls-font-mono) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  color: var(--ls-text) !important;
  margin: 0 !important;
}

.lp-w-prow-arr .elementor-button-wrapper {
  text-align: right !important;
}
.lp-w-prow-arr .elementor-button {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: var(--ls-text-mute) !important;
  font-size: 18px !important;
  font-family: var(--ls-font-body) !important;
  letter-spacing: 0 !important;
  border-radius: 0 !important;
  display: inline-block !important;
  transition: color .2s, transform .2s;
}
.lp-isec-prow:hover .lp-w-prow-arr .elementor-button {
  color: var(--ls-accent) !important;
  transform: translateX(4px);
}

/* ============================================================
   APPLICATIONS GRID
   ============================================================ */

.lp-sec-apps .lp-w-kicker .elementor-heading-title { margin-bottom: 32px !important; }
.lp-sec-apps .lp-w-h2 .elementor-heading-title { margin-bottom: 24px !important; }
.lp-sec-apps .lp-w-intro .elementor-widget-container,
.lp-sec-apps .lp-w-intro p { margin-bottom: 60px !important; }

.lp-isec-apps > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1px !important;
  flex-wrap: nowrap !important;
  background: var(--ls-line) !important;
}
.lp-isec-apps > .elementor-container > .elementor-column {
  width: auto !important;
  flex: none !important;
}

.lp-col-apps > .elementor-element-populated > .lp-isec-apps:first-of-type {
  border: 1px solid var(--ls-line) !important;
  border-bottom: none !important;
}
.lp-col-apps > .elementor-element-populated > .lp-isec-apps:last-of-type {
  border: 1px solid var(--ls-line) !important;
}

.lp-col-app > .elementor-element-populated {
  background: var(--ls-bg) !important;
  padding: 32px 28px !important;
  height: 100% !important;
  transition: background .25s;
}
.lp-col-app > .elementor-element-populated:hover {
  background: #101013 !important;
}
.lp-col-app .elementor-widget { margin-block-end: 0 !important; }

.lp-w-app-n .elementor-heading-title {
  font-family: var(--ls-font-mono) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  color: var(--ls-text-mute) !important;
  margin: 0 0 14px !important;
}
.lp-w-app-name .elementor-heading-title {
  font-family: var(--ls-font-display) !important;
  font-weight: 400 !important;
  font-size: 20px !important;
  letter-spacing: -0.015em !important;
  color: var(--ls-text) !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
}
.lp-w-app-body .elementor-widget-container,
.lp-w-app-body p {
  color: var(--ls-text-mid) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ============================================================
   CROSS-SELL
   ============================================================ */

.lp-isec-xsell > .elementor-container {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 60px !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  background: var(--ls-bg-card) !important;
  border: 1px solid var(--ls-line) !important;
  padding: 48px !important;
}
.lp-isec-xsell > .elementor-container > .elementor-column {
  width: auto !important;
  flex: none !important;
}
.lp-isec-xsell .elementor-widget { margin-block-end: 0 !important; }
.lp-isec-xsell .elementor-element-populated { padding: 0 !important; }

.lp-w-xsell-kicker .elementor-heading-title {
  font-family: var(--ls-font-mono) !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--ls-text-mute) !important;
  margin: 0 0 14px !important;
}

.lp-w-xsell-h2 .elementor-heading-title {
  font-family: var(--ls-font-display) !important;
  font-weight: 300 !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: var(--ls-text) !important;
  margin: 0 0 14px !important;
  
}

.lp-w-xsell-body .elementor-widget-container,
.lp-w-xsell-body p {
  color: var(--ls-text-mute) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  max-width: 48ch;
  margin: 0 !important;
}

.lp-w-xsell-btn .elementor-button-wrapper { text-align: left !important; }
.lp-w-xsell-btn .elementor-button {
  background: var(--ls-accent) !important;
  color: var(--ls-bg) !important;
  border: 1px solid var(--ls-accent) !important;
  padding: 14px 22px !important;
  font-family: var(--ls-font-body) !important;
  font-weight: 400 !important;
  font-size: 12.5px !important;
  letter-spacing: 0.02em !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  text-transform: none !important;
  display: inline-block !important;
  transition: all .2s ease !important;
}
.lp-w-xsell-btn .elementor-button:hover {
  background: transparent !important;
  color: var(--ls-accent) !important;
}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 900px) {
  .lp-sec-hero {
    padding-top: 120px !important;
    padding-bottom: 60px !important;
  }
  .lp-sec-prods,
  .lp-sec-apps,
  .lp-sec-xsell {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .lp-isec-apps > .elementor-container,
  .lp-isec-xsell > .elementor-container {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .lp-isec-prow > .elementor-container {
    grid-template-columns: 40px 1fr 50px !important;
    gap: 14px !important;
  }
  .lp-col-prow-spec { display: none !important; }

  .lp-isec-xsell > .elementor-container { padding: 32px !important; }
}

@media (max-width: 1024px) {
  .lp-isec-apps > .elementor-container,
  .lp-isec-xsell > .elementor-container {
    grid-template-columns: 1fr !important;
    gap: 1px !important;
  }
  .lp-isec-xsell > .elementor-container { gap: 24px !important; padding: 36px 28px !important; }
}

@media (max-width: 900px) {
  .lp-isec-apps > .elementor-container { gap: 1px !important; }

  .lp-isec-prow > .elementor-container {
    grid-template-columns: 34px 1fr 40px !important;
    gap: 12px !important;
  }
  .lp-col-prow-type,
  .lp-isec-prow .elementor-column:has(.lp-w-prow-type) { display: none !important; }
}/* End custom CSS */