.elementor-1547 .elementor-element.elementor-element-cb37fe8{--display:flex;}.elementor-1547 .elementor-element.elementor-element-ce490e1{--display:flex;}.elementor-1547 .elementor-element.elementor-element-b7fb764{--display:flex;}.elementor-1547 .elementor-element.elementor-element-ed8838a{--display:flex;}.elementor-1547 .elementor-element.elementor-element-6f13f58{--display:flex;}.elementor-1547 .elementor-element.elementor-element-9551374{--display:flex;}.elementor-1547 .elementor-element.elementor-element-5fd8f44{--display:flex;}.elementor-1547 .elementor-element.elementor-element-388f301{--display:flex;}.elementor-1547 .elementor-element.elementor-element-21814ff{--display:flex;}.elementor-1547 .elementor-element.elementor-element-a6c5452{--display:flex;}.elementor-1547 .elementor-element.elementor-element-5623d00{--display:flex;}.elementor-1547 .elementor-element.elementor-element-3aa073e{--display:flex;}.elementor-1547 .elementor-element.elementor-element-284ba33{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS */:root {
      --ink: #111827;
      --text: #283648;
      --muted: #607184;
      --line: #d9e2eb;
      --soft: #f5f8fb;
      --panel: #ffffff;
      --blue: #0b73a8;
      --blue-light: #2ba7e8;
      --blue-dark: #0d3552;
      --navy: #071630;
      --green: #16825d;
      --amber: #b77905;
      --max: 1180px;
      --radius: 6px;
    }

    * { box-sizing: border-box; }

    body {
      margin: 0;
      color: var(--text);
      background: #fff;
      font-family: Montserrat, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      line-height: 1.56;
    }

    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    h1, h2, h3, p { margin-top: 0; }

    .wrap {
      width: min(var(--max), calc(100% - 40px));
      margin: 0 auto;
    }

    .topbar {
      border-bottom: 1px solid #e8eef3;
      background: #fff;
    }

    .topbar-inner {
      width: min(1680px, calc(100% - 72px));
      min-height: 104px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 210px minmax(300px, 1fr) auto;
      align-items: center;
      gap: 34px;
    }

    .brand { display: inline-flex; align-items: center; }
    .site-logo { width: 141px; height: auto; }

    .site-tagline {
      color: #27758a;
      font-size: clamp(19px, 1.35vw, 25px);
      font-weight: 400;
      line-height: 1.35;
      text-align: center;
      letter-spacing: .01em;
      white-space: nowrap;
    }

    .main-nav {
      display: flex;
      align-items: center;
      gap: clamp(24px, 2.8vw, 52px);
      color: #267286;
      font-size: clamp(17px, 1.25vw, 24px);
      font-weight: 400;
      line-height: 1;
      white-space: nowrap;
    }

    .main-nav a:hover { color: #123b49; }

    h1 {
      max-width: 760px;
      margin-bottom: 18px;
      color: var(--ink);
      font-size: clamp(40px, 5vw, 62px);
      line-height: 1.06;
      letter-spacing: 0;
    }

    h2 {
      margin-bottom: 12px;
      color: var(--ink);
      font-size: clamp(28px, 3.3vw, 42px);
      line-height: 1.15;
      letter-spacing: 0;
    }

    h3 {
      margin-bottom: 9px;
      color: var(--ink);
      font-size: 20px;
      line-height: 1.24;
    }

    .eyebrow {
      margin: 0 0 14px;
      color: var(--blue);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .lead {
      max-width: 720px;
      margin-bottom: 18px;
      color: #3d4d60;
      font-size: 18px;
    }

    .hero {
      border-bottom: 1px solid var(--line);
      background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
    }

    .hero-grid {
      min-height: 600px;
      padding: 46px 0 58px;
      display: grid;
      grid-template-columns: minmax(420px, .95fr) minmax(0, 1.05fr);
      gap: 56px;
      align-items: center;
    }

    .product-showcase {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      overflow: hidden;
      box-shadow: 0 20px 55px rgba(17, 24, 39, .08);
    }

    .hero-image {
      height: 468px;
      padding: 22px;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg, #eef8ff 0%, #ffffff 100%);
      overflow: hidden;
    }

    .hero-image img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
    }

    .showcase-tags {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      border-top: 1px solid var(--line);
    }

    .showcase-tags span {
      min-height: 66px;
      padding: 14px;
      display: flex;
      align-items: center;
      border-right: 1px solid var(--line);
      color: #34465a;
      font-size: 13px;
      font-weight: 760;
    }

    .showcase-tags span:last-child { border-right: 0; }

    .reference-line {
      margin-bottom: 26px;
      padding: 13px 15px;
      border-left: 3px solid var(--blue);
      background: #f1f8fc;
      color: #274a60;
      font-size: 15px;
    }

    .reference-line b { color: var(--blue-dark); }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .btn {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 18px;
      border: 1px solid var(--ink);
      border-radius: 4px;
      background: var(--ink);
      color: #fff;
      font-size: 12px;
      font-weight: 820;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .btn.secondary {
      background: transparent;
      color: var(--ink);
    }

    .spec-inline-link {
      display: inline-flex;
      margin-top: 16px;
      color: var(--blue);
      font-size: 14px;
      font-weight: 760;
    }

    .spec-inline-link:hover {
      color: var(--blue-dark);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    section {
      padding: 70px 0;
      border-bottom: 1px solid var(--line);
    }

    .compact-section { padding: 42px 0; }
    .opportunity { background: var(--soft); }

    .section-head {
      max-width: 850px;
      margin-bottom: 28px;
    }

    .section-head p {
      color: var(--muted);
      font-size: 16px;
    }

    .snapshot {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .snapshot-head {
      padding: 20px 22px;
      border-bottom: 1px solid var(--line);
      background: #f9fbfd;
    }

    .snapshot-head strong {
      display: block;
      color: var(--ink);
      font-size: 18px;
    }

    .snapshot-head span {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-size: 13px;
    }

    .snapshot-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .snapshot-item {
      min-height: 116px;
      padding: 20px;
      border-right: 1px solid var(--line);
    }

    .snapshot-item:last-child { border-right: 0; }
    .snapshot-item b { display: block; color: var(--ink); font-size: 15px; }
    .snapshot-item span { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; }

    .two-col {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
      gap: 34px;
      align-items: center;
    }

    .two-col.reverse {
      grid-template-columns: minmax(340px, .72fr) minmax(0, 1fr);
    }

    .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }

    .grid-4 {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
    }

    .info-card {
      min-height: 158px;
      padding: 21px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .info-card .label {
      display: inline-block;
      margin-bottom: 14px;
      color: var(--blue);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .info-card p {
      margin-bottom: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.48;
    }

    .visual-card {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      overflow: hidden;
      box-shadow: 0 12px 30px rgba(17, 24, 39, .05);
    }

    .visual-window {
      height: 410px;
      display: grid;
      place-items: center;
      background: #fff;
      overflow: hidden;
    }

    .visual-window.short { height: 340px; }
    .visual-window.compact { height: 270px; }
    .visual-window.tall { height: 520px; }

    .visual-window img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .visual-window.contain img { object-fit: contain; }

    .stacked-visuals {
      display: grid;
      gap: 16px;
    }

    .wide-visual {
      margin-top: 28px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      overflow: hidden;
      background: #fff;
      box-shadow: 0 12px 30px rgba(17, 24, 39, .05);
    }

    .wide-visual .image {
      height: 455px;
      overflow: hidden;
      background: #fff;
    }

    .wide-visual .image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .wide-visual .text {
      padding: 18px 20px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 20px;
      align-items: center;
      border-top: 1px solid var(--line);
      background: #fff;
    }

    .wide-visual .text p { margin: 0; color: var(--muted); font-size: 14px; }

    .note {
      margin-top: 18px;
      padding: 14px 16px;
      border-left: 3px solid var(--amber);
      background: #fff8e8;
      color: #5f4b1e;
      font-size: 14px;
    }

    .darkband {
      background: linear-gradient(135deg, #071630 0%, #0d2548 55%, #102c52 100%);
      color: #fff;
    }

    .darkband h2, .darkband h3 { color: #fff; }
    .darkband .section-head p { color: #cbd8e6; }
    .darkband .info-card { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); }
    .darkband .info-card p { color: #dce6ef; }
    .darkband .info-card .label { color: #64c7ff; }

    .system-flow {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      border: 1px solid rgba(255,255,255,.18);
      border-radius: var(--radius);
      overflow: hidden;
      background: rgba(255,255,255,.06);
    }

    .flow-step {
      min-height: 168px;
      padding: 20px;
      border-right: 1px solid rgba(255,255,255,.18);
    }

    .flow-step:last-child { border-right: 0; }
    .flow-step b { display: block; margin-bottom: 14px; color: #64c7ff; font-size: 13px; }
    .flow-step h3 { font-size: 18px; }
    .flow-step p { margin-bottom: 0; color: #dce6ef; font-size: 14px; }

    .feature-visual-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }

    .feature-visual {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      overflow: hidden;
    }

    .feature-visual .thumb {
      height: 260px;
      overflow: hidden;
      background: #f8fbfd;
    }

    .feature-visual .thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .feature-visual .copy {
      padding: 18px;
      border-top: 1px solid var(--line);
    }

    .feature-visual .copy p {
      margin-bottom: 0;
      color: var(--muted);
      font-size: 14px;
    }

    .key-specs {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-bottom: 18px;
    }

    .key-spec {
      min-height: 118px;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .spec-icon {
      width: 38px;
      height: 34px;
      display: grid;
      place-items: center;
      margin-bottom: 13px;
      border-radius: 6px;
      background: #edf7fc;
      color: var(--blue);
      font-size: 13px;
      font-weight: 850;
    }

    .key-spec b {
      display: block;
      color: var(--ink);
      font-size: 21px;
      line-height: 1.1;
    }

    .key-spec span {
      display: block;
      margin-top: 6px;
      color: var(--muted);
      font-size: 13px;
    }

    .table {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      overflow: hidden;
      background: #fff;
    }

    .row {
      display: grid;
      grid-template-columns: 230px minmax(0, 1fr);
      border-bottom: 1px solid var(--line);
    }

    .row:last-child { border-bottom: 0; }

    .row b,
    .row span {
      padding: 16px 18px;
      font-size: 14px;
    }

    .row b {
      background: #f5f8fb;
      color: var(--ink);
      font-weight: 800;
    }

    .row span { color: #44566b; }

    .side-panel {
      padding: 24px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--ink);
      color: #fff;
      align-self: start;
      position: sticky;
      top: 28px;
    }

    .side-panel h3 { color: #fff; font-size: 24px; }
    .side-panel p { color: #dce6ef; }

    .check-list {
      display: grid;
      gap: 11px;
      margin: 20px 0 0;
      padding: 0;
      list-style: none;
    }

    .check-list li {
      display: grid;
      grid-template-columns: 22px 1fr;
      gap: 10px;
      color: #f2f6fa;
      font-size: 14px;
    }

    .check-list li::before {
      content: "✓";
      color: #ffd35d;
      font-weight: 900;
    }

    .path {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 12px;
    }

    .path-item {
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .path-item b {
      display: block;
      margin-bottom: 7px;
      color: var(--ink);
      font-size: 15px;
    }

    .path-item span {
      color: var(--muted);
      font-size: 13px;
    }

    .faq-list { display: grid; gap: 12px; }

    details {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    summary {
      cursor: pointer;
      padding: 18px 20px;
      color: var(--ink);
      font-weight: 780;
      list-style-position: outside;
    }

    details p {
      margin: 0;
      padding: 0 20px 18px 38px;
      color: var(--muted);
      font-size: 15px;
    }

    .final-cta {
      padding: 54px 0;
      border-bottom: 0;
      background: #111827;
      color: #fff;
    }

    .cta-grid {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 28px;
      align-items: center;
    }

    .final-cta h2 {
      color: #fff;
      font-size: clamp(28px, 3vw, 38px);
    }

    .final-cta p {
      max-width: 780px;
      margin-bottom: 0;
      color: #dce6ef;
    }

    .final-cta .btn {
      border-color: #fff;
      background: #fff;
      color: var(--ink);
    }

    .footer {
      border-top: 1px solid #e6edf3;
      background: #fff;
      color: #425466;
    }

    .footer-logo-row {
      min-height: 96px;
      display: flex;
      align-items: center;
      border-bottom: 1px solid #edf2f6;
    }

    .footer-logo {
      width: 141px;
      height: auto;
    }

    .footer-main {
      padding: 34px 0 42px;
      display: grid;
      grid-template-columns: minmax(220px, .75fr) 1fr minmax(260px, .85fr);
      gap: 42px;
      align-items: start;
    }

    .footer-nav {
      display: grid;
      gap: 12px;
      color: #526678;
      font-size: 15px;
    }

    .footer-nav a:hover { color: #0b73a8; }

    .footer-note {
      color: #6a7a89;
      font-size: 14px;
      line-height: 1.75;
    }

    .footer-contact h3 {
      margin: 0 0 14px;
      color: #263445;
      font-size: 21px;
      font-weight: 600;
      text-transform: lowercase;
    }

    .footer-contact p {
      margin: 0 0 9px;
      color: #526678;
      font-size: 14px;
    }

    @media (max-width: 1320px) {
      .topbar-inner {
        grid-template-columns: 170px 1fr;
        min-height: 108px;
        gap: 18px 28px;
      }

      .main-nav {
        grid-column: 1 / -1;
        justify-content: flex-end;
        font-size: 18px;
      }

      .site-tagline {
        text-align: right;
        white-space: normal;
        font-size: 20px;
      }
    }

    @media (max-width: 1080px) {
      .hero-grid,
      .two-col,
      .two-col.reverse,
      .cta-grid {
        grid-template-columns: 1fr;
      }

      .product-showcase { max-width: 760px; }
      .side-panel { position: static; }
      .two-col.reverse .visual-card { order: 2; }
    }

    @media (max-width: 980px) {
      .grid-3,
      .grid-4,
      .key-specs,
      .snapshot-grid,
      .system-flow,
      .path,
      .feature-visual-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .flow-step,
      .snapshot-item {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.18);
      }

      .snapshot-item { border-bottom-color: var(--line); }
      .grid-2 { grid-template-columns: 1fr; }
    }

    @media (max-width: 640px) {
      .topbar-inner,
      .wrap {
        width: min(100% - 28px, var(--max));
      }

      .topbar-inner {
        min-height: auto;
        padding: 22px 0;
        grid-template-columns: 1fr;
        align-items: start;
        gap: 18px;
      }

      .site-tagline {
        text-align: left;
        white-space: normal;
        font-size: 18px;
      }

      .main-nav {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 18px 24px;
        font-size: 16px;
      }

      .hero-grid {
        min-height: auto;
        padding: 38px 0 48px;
      }

      .hero-image { height: 360px; }
      .showcase-tags,
      .snapshot-grid,
      .grid-3,
      .grid-4,
      .key-specs,
      .system-flow,
      .path,
      .feature-visual-grid {
        grid-template-columns: 1fr;
      }

      .showcase-tags span {
        border-right: 0;
        border-bottom: 1px solid var(--line);
      }

      section { padding: 54px 0; }
      .wide-visual .image { height: 330px; }
      .wide-visual .text { grid-template-columns: 1fr; }
      .visual-window, .visual-window.tall, .visual-window.short { height: 330px; }
      .feature-visual .thumb { height: 230px; }

      .row { grid-template-columns: 1fr; }

      .footer-logo-row { min-height: 78px; }

      .footer-main {
        grid-template-columns: 1fr;
        gap: 26px;
      }
    }/* End custom CSS */