/* ==========================================================================
   HOMEPAGE — SELF-CONTAINED PAGE-BODY CSS (Sitemap 01)
   Tokens + shared lexi-* components + page layout, faithful to the
   CEO-approved deterministic desktop design (Homepage v1.7 baseline).
   The shared header/footer are styled by global.css.
   ========================================================================== */
:root{
  --lexi-navy:#071a2e;
  --lexi-navy-2:#0b233b;
  --lexi-navy-3:#10304e;
  --lexi-light:#ededee;
  --lexi-light-2:#f4f4f5;
  --lexi-ink:#101318;
  --lexi-white:#f7f8fa;
  --lexi-gold:#f6aa00;
  --lexi-link:#0b2a56;
  --lexi-container:1320px;
  --lexi-section-y:60px;
  --lexi-radius:8px;
}
#main-content{
  color:var(--lexi-ink);
  font-family:Inter,Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#main-content *{box-sizing:border-box}
#main-content img{display:block;max-width:100%}
#main-content a{color:inherit}
#main-content :focus-visible{outline:3px solid var(--lexi-gold);outline-offset:3px}
body{margin:0;background:var(--page-bg,#f4f7fa)}

.lexi-container{
  width:min(var(--lexi-container), calc(100% - 120px));
  margin-inline:auto;
}
.lexi-section{padding-block:var(--lexi-section-y)}
.lexi-dark{
  color:var(--lexi-white);
  background:linear-gradient(135deg,var(--lexi-navy) 0%,var(--lexi-navy-2) 72%,#092640 100%);
}
.lexi-light{
  color:var(--lexi-ink);
  background:linear-gradient(180deg,#f3f3f4 0%,#e9eaec 100%);
}
.lexi-eyebrow{
  margin:0 0 24px;
  color:var(--lexi-gold);
  font-size:24px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.lexi-h1,.lexi-h2,.lexi-h3{margin:0}
.lexi-h1{font-size:64px;line-height:1.04;font-weight:500;letter-spacing:-.035em}
.lexi-h2{font-size:48px;line-height:1.08;font-weight:500;letter-spacing:-.025em}
.lexi-h3{font-size:28px;line-height:1.16;font-weight:600;letter-spacing:-.015em}
.lexi-body{margin:0;font-size:20px;line-height:1.55}
.lexi-supporting{margin:0;font-size:18px;line-height:1.5}
.lexi-cta-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.lexi-btn{
  display:inline-flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:16px 24px;
  border-radius:6px;
  border:1px solid transparent;
  font-size:18px;
  line-height:1.1;
  font-weight:600;
  text-decoration:none;
}
.lexi-btn--gold{background:var(--lexi-gold);border-color:var(--lexi-gold);color:#0b1725}
.lexi-btn--dark-outline{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.68);color:var(--lexi-white)}
.lexi-btn--light-outline{background:transparent;border-color:var(--lexi-link);color:var(--lexi-link)}
.lexi-arrow{font-size:26px;line-height:.6;font-weight:300}
.lexi-line-icon{display:flex;align-items:center;justify-content:center}
.lexi-line-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

.home-hero{padding-block:60px}
.home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,635px) minmax(0,1fr);
  gap:35px;
  align-items:center;
}
.home-hero-copy .lexi-body{max-width:625px;color:#edf3f8;margin-top:30px}
.home-hero-copy .lexi-supporting{max-width:625px;color:#d0d9e3;margin-top:24px}
.home-hero-copy .lexi-cta-row{margin-top:34px}
.home-hero-visual{position:relative;height:525px;overflow:hidden}
.home-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-hero-visual::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(90deg,var(--lexi-navy-2) 0%,rgba(11,35,59,.82) 7%,rgba(11,35,59,.38) 17%,rgba(11,35,59,0) 42%);
  pointer-events:none;
}
.home-hero-visual::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(180deg,rgba(7,26,46,0) 72%,rgba(7,26,46,.32) 100%);
  pointer-events:none;
}

.home-proof-strip{
  border-top:1px solid rgba(255,255,255,.13);
  background:rgba(3,17,31,.34);
}
.home-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding-block:36px 38px;
}
.home-proof-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:16px;
  padding-inline:30px;
  border-right:1px solid rgba(255,255,255,.28);
  font-size:18px;
  line-height:1.25;
}
.home-proof-item:last-child{border-right:0}
.home-proof-item .lexi-line-icon{width:82px;height:82px;color:#cfd8e0}

.home-problem-grid{
  display:grid;
  grid-template-columns:minmax(0,475px) minmax(0,1fr);
  gap:90px;
  align-items:center;
}
.home-problem-copy .lexi-body{margin-top:26px}
.home-problem-copy .lexi-body + .lexi-body{margin-top:18px}
.home-problem-copy .lexi-cta-row{margin-top:30px}
.home-progression{
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr) 48px minmax(0,1fr);
  align-items:center;
}
.home-progression-card{margin:0;
  aspect-ratio:1/1;
  border:1px solid rgba(2,25,47,.14);
  border-radius:10px;
  overflow:hidden;
  background:#081c32;
  box-shadow:0 12px 30px rgba(4,22,38,.12);
}
.home-progression-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(1.82) contrast(1.28) saturate(1.08);
}
.home-progression-arrow{
  position:relative;
  z-index:3;
  justify-self:center;
  width:40px;
  height:40px;
  margin-inline:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--lexi-gold);
  color:#111;
  font-size:24px;
}

.home-delivery-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
}
.home-delivery-panel{padding-right:56px}
.home-platform-panel{
  padding-left:56px;
  border-left:1px solid rgba(255,255,255,.28);
}
.home-delivery-panel .lexi-body{max-width:540px;margin-top:24px;color:#d5dee7}
.home-delivery-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:46px;
}
.home-delivery-card{
  min-height:250px;
  padding-right:18px;
  border-right:1px solid rgba(255,255,255,.22);
}
.home-delivery-card:last-child{border-right:0}
.home-delivery-card .lexi-line-icon{
  width:66px;
  height:66px;
  margin-bottom:17px;
  color:var(--lexi-gold);
}
.home-delivery-card .lexi-h3{font-size:22px;margin-bottom:12px}
.home-delivery-card .lexi-supporting{color:#d9e1ea}
.home-platform-panel .lexi-h2{font-size:44px}
.home-platform-panel .lexi-body{margin-top:25px;color:#d6dee8}
.home-architecture-label{margin-top:28px;color:#cbd6e1}
.home-platform-flow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr);
  align-items:start;
  margin-top:34px;
}
.home-flow-node{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:13px;
  text-align:center;
  font-size:17px;
  line-height:1.2;
}
.home-flow-node .lexi-line-icon{
  width:112px;
  height:112px;
  padding:21px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  color:#c7d1da;
}
.home-flow-arrow{color:var(--lexi-gold);font-size:34px;text-align:center;height:112px;display:flex;align-items:center;justify-content:center}
.home-platform-panel .lexi-cta-row{margin-top:32px}

.home-app-header{
  display:grid;
  grid-template-columns:minmax(0,680px) minmax(0,1fr);
  gap:60px;
  align-items:end;
}
.home-app-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  margin-top:52px;
}
.home-app-card{
  min-width:0;
  min-height:478px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(0,21,43,.21);
  border-radius:9px;
  background:#f7f7f8;
}
.home-app-image{height:178px;background:#09192a;overflow:hidden}
.home-app-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(1.04) contrast(1.03) saturate(1.02);
}
.home-app-content{padding:26px 24px 30px}
.home-app-content .lexi-h3{font-size:24px;margin-bottom:14px}
.home-app-content p{margin:0;color:#313840;font-size:18px;line-height:1.47}
.home-applications .lexi-cta-row{margin-top:34px}

.home-ai-grid{
  display:grid;
  grid-template-columns:minmax(0,650px) minmax(0,1fr);
  gap:72px;
  align-items:start;
}
.home-ai-copy .lexi-body{margin-top:26px;color:#d7e0e9}
.home-loop-label{margin-top:42px;color:#c8d2dc}
.home-ai-loop{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.home-ai-step{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  text-align:center;
  font-size:18px;
  font-weight:600;
}
.home-ai-icon{
  width:108px;
  height:108px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid rgba(216,225,234,.82);
  border-radius:50%;
  color:#d8e1ea;
}
.home-ai-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:3.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-ai-copy .lexi-cta-row{margin-top:34px}
.home-ai-callout{
  margin-top:72px;
  padding:36px 38px 40px;
  border:1px solid rgba(255,255,255,.23);
  border-radius:10px;
  background:rgba(255,255,255,.035);
}
.home-ai-callout .lexi-body{color:#e3e9ef}
.home-ai-callout .lexi-body + .lexi-body{margin-top:22px}

.home-industry-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
  margin-top:52px;
  align-items:start;
}
.home-industry-photo{
  height:220px;
  overflow:hidden;
  border-radius:8px;
  background:#0a192a;
  box-shadow:0 10px 26px rgba(4,22,38,.12);
}
.home-industry-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(1.08) contrast(1.10) saturate(1.04);
}
.home-industry-label{
  margin-top:12px;
  color:#0f1520;
  font-size:18px;
  line-height:1.22;
  font-weight:500;
}
.home-ecosystem-strip{
  margin-top:38px;
  padding:28px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border:1px solid rgba(1,22,43,.17);
  border-radius:10px;
  background:#f2f3f5;
}
.home-ecosystem-strip p{max-width:830px;margin:0;font-size:18px;line-height:1.4;font-weight:500}
.home-partner-placeholders{display:flex;gap:14px}
.home-partner-placeholder{
  width:88px;
  height:42px;
  border:1px solid rgba(5,28,51,.14);
  border-radius:5px;
  background:linear-gradient(135deg,#e4e7e9,#f9fafb);
}
.home-industries .lexi-cta-row{margin-top:32px}

.home-final-card{
  padding:62px 64px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:70px;
  align-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(235,179,87,.05));
}
.home-final-copy .lexi-body{max-width:730px;margin-top:22px;color:#d6dee7}

/* ==========================================================================
   PAGE-SPECIFIC RESPONSIVE RULES
   Conservative responsive derivation from CEO-approved desktop design.
   No page content is omitted.
   ========================================================================== */

/* Tablet / small laptop */
@media (max-width:1100px){
  :root{
    --lexi-container:738px;
    --lexi-header-height:84px;
  }
  .lexi-container{width:min(var(--lexi-container), calc(100% - 64px))}
  .lexi-eyebrow{font-size:21px}
  .lexi-h1{font-size:52px}
  .lexi-h2{font-size:40px}
  .lexi-h3{font-size:25px}
  .lexi-body{font-size:18px}
  .lexi-supporting{font-size:17px}
  .lexi-btn{font-size:17px}

  .home-hero-grid{grid-template-columns:1fr;gap:38px}
  .home-hero-visual{height:430px}
  .home-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-proof-item:nth-child(2){border-right:0}
  .home-proof-item:nth-child(-n+2){padding-bottom:30px}
  .home-proof-item:nth-child(n+3){padding-top:30px;border-top:1px solid rgba(255,255,255,.18)}
  .home-proof-item .lexi-line-icon{width:72px;height:72px}

  .home-problem-grid{grid-template-columns:1fr;gap:42px}
  .home-progression{max-width:680px}
  .home-progression-card{aspect-ratio:1/1}

  .home-delivery-grid{grid-template-columns:1fr;gap:52px}
  .home-delivery-panel{padding-right:0}
  .home-platform-panel{padding-left:0;padding-top:52px;border-left:0;border-top:1px solid rgba(255,255,255,.28)}
  .home-delivery-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-platform-flow{max-width:700px}
  .home-flow-node .lexi-line-icon{width:98px;height:98px}
  .home-flow-arrow{height:98px}

  .home-app-header{grid-template-columns:1fr;gap:20px}
  .home-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-app-card{min-height:0}

  .home-ai-grid{grid-template-columns:1fr;gap:42px}
  .home-ai-callout{margin-top:0}
  .home-ai-loop{max-width:720px}
  .home-ai-icon{width:92px;height:92px}

  .home-industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-industry-photo{height:200px}
  .home-ecosystem-strip{align-items:flex-start;flex-direction:column}
  .home-final-card{grid-template-columns:1fr;gap:30px}
}

/* Mobile */
@media (max-width:767px){
  :root{--lexi-section-y:48px}
  .lexi-container{width:calc(100% - 40px)}
  .lexi-eyebrow{margin-bottom:18px;font-size:16px}
  .lexi-h1{font-size:40px;line-height:1.06}
  .lexi-h2{font-size:32px;line-height:1.1}
  .lexi-h3{font-size:23px}
  .lexi-body{font-size:17px;line-height:1.55}
  .lexi-supporting{font-size:16px}
  .lexi-btn{width:100%;font-size:16px;padding-inline:18px}
  .lexi-cta-row{align-items:stretch}

  .home-hero{padding-block:48px}
  .home-hero-copy .lexi-body{margin-top:24px}
  .home-hero-visual{height:300px}
  .home-proof-grid{grid-template-columns:1fr;padding-block:0}
  .home-proof-item,
  .home-proof-item:nth-child(-n+2),
  .home-proof-item:nth-child(n+3){
    padding:26px 12px;
    border-right:0;
    border-top:1px solid rgba(255,255,255,.16);
  }
  .home-proof-item:first-child{border-top:0}
  .home-proof-item .lexi-line-icon{width:68px;height:68px}

  .home-progression{
    grid-template-columns:1fr;
    gap:14px;
  }
  .home-progression-card{aspect-ratio:1/1}
  .home-progression-arrow{
    width:42px;
    height:42px;
    margin:0 auto;
    transform:rotate(90deg);
  }

  .home-delivery-cards{grid-template-columns:1fr;gap:24px}
  .home-delivery-card{
    min-height:0;
    padding:0 0 24px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.20);
  }
  .home-delivery-card:last-child{padding-bottom:0;border-bottom:0}
  .home-platform-panel{padding-top:42px}
  .home-platform-panel .lexi-h2{font-size:32px}
  .home-platform-flow{
    grid-template-columns:1fr;
    gap:12px;
  }
  .home-flow-node .lexi-line-icon{width:104px;height:104px}
  .home-flow-arrow{transform:rotate(90deg);height:auto}

  .home-app-grid{grid-template-columns:1fr;gap:20px;margin-top:36px}
  .home-app-image{height:210px}

  .home-ai-loop{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
  .home-ai-step:last-child{grid-column:1 / -1;justify-self:center;min-width:50%}
  .home-ai-icon{width:96px;height:96px}
  .home-ai-callout{padding:28px 24px}

  .home-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;margin-top:36px}
  .home-industry-photo{height:160px}
  .home-industry-label{font-size:16px}
  .home-ecosystem-strip{padding:22px 20px}
  .home-partner-placeholders{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-partner-placeholder{width:100%}

  .home-final-card{padding:34px 24px}
}

@media (max-width:420px){
  .home-industry-grid{grid-template-columns:1fr}
  .home-industry-photo{height:210px}
}

@media (max-width:370px){
  .lexi-h1{font-size:36px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
