/* Scope all homepage styles to .lis-home: no global Neve changes. */
.lis-page-main{width:100%;max-width:none;margin:0;padding:0}
.lis-page-main > .lis-home {margin-top:0;margin-bottom:0}
.lis-home{--lis-ink:#112337;--lis-muted:#52647a;--lis-bg:#f7f9fc;--lis-line:#dce5ec;--lis-navy:#0b1d30;--lis-blue:#136fc3;--lis-aqua:#61d9cd;--lis-max:1160px;color:var(--lis-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;width:100%;}
.lis-home *{box-sizing:border-box}
.lis-home .lis-container{width:min(calc(100% - 48px),var(--lis-max));max-width:var(--lis-max);margin-inline:auto;padding:0}
.lis-home .lis-container > *{max-width:none}
.lis-home h1,.lis-home h2,.lis-home h3,.lis-home p{margin:0}
.lis-home a{text-decoration:none}
.lis-home .lis-eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#1475b9;margin-bottom:12px}
.lis-home .lis-section{padding:100px 0}
.lis-home .lis-section-title{font-size:clamp(31px,3.5vw,45px);line-height:1.18;letter-spacing:-.045em;font-weight:760;max-width:760px;margin:0 0 18px}
.lis-home .lis-section-description{color:var(--lis-muted);font-size:16px;max-width:690px;margin-bottom:42px}
.lis-home .lis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;align-items:stretch}
.lis-home .lis-hero-columns{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.lis-home .lis-card-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.lis-home .lis-skill-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.lis-home .lis-quote-columns{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}
.lis-home .lis-contact-columns{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}
.lis-home .lis-grid-cell{min-width:0}
.lis-home .wp-block-buttons{gap:12px;margin-top:24px}
.lis-home .wp-block-button__link{border-radius:8px;padding:12px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:filter .15s}
.lis-home .wp-block-button__link:hover{filter:brightness(.93)}
.lis-home .lis-primary-button .wp-block-button__link{background:var(--lis-aqua);color:#0b2730;border:1px solid var(--lis-aqua)}
.lis-home .is-style-outline .wp-block-button__link{background:transparent;color:inherit;border:1px solid currentColor}
.lis-home .lis-hero{background:radial-gradient(circle at 84% 19%,#153e60 0,transparent 38%),linear-gradient(115deg,#0c1e30,#102b43);color:#fff;overflow:hidden;padding:75px 0}
.lis-home .lis-hero-columns{align-items:center;gap:60px;min-height:430px}
.lis-home .lis-hero .lis-eyebrow{color:var(--lis-aqua)}
.lis-home .lis-headline{font-size:clamp(40px,5.2vw,67px);line-height:1.08;letter-spacing:-.052em;font-weight:780;color:#fff;max-width:710px;margin:0 0 23px}
.lis-home .lis-lead{color:#c5d3df;max-width:580px;font-size:17px;line-height:1.7}
.lis-home .lis-hero .is-style-outline .wp-block-button__link{color:#fff;border-color:#607589}
.lis-home .lis-hero-note{color:#8fa7ba;font-size:12px;margin-top:32px}
.lis-home .lis-hero-art{display:flex;justify-content:center;align-items:center;min-height:360px}
.lis-home .lis-orbit{position:relative;display:grid;place-items:center;width:min(100%,390px);aspect-ratio:1;border:1px solid rgba(120,195,212,.20);border-radius:50%;margin:auto}
.lis-home .lis-orbit:before,.lis-home .lis-orbit:after{content:"";position:absolute;border:1px dashed rgba(140,210,215,.20);border-radius:50%;inset:12%;pointer-events:none}
.lis-home .lis-orbit:after{inset:25%;border-style:solid}
.lis-home .lis-orbit-item{position:absolute;z-index:1;background:#112f46;border:1px solid #2d617a;border-radius:10px;color:#d7eaf0;padding:11px 13px;font-weight:700;font-size:12px;white-space:nowrap;box-shadow:0 12px 25px #08172588}
.lis-home .lis-orbit-item:nth-child(1){top:12%;left:-7%}
.lis-home .lis-orbit-item:nth-child(2){top:16%;right:-9%}
.lis-home .lis-orbit-item:nth-child(3){top:50%;left:50%;transform:translate(-50%,-50%) rotate(-5deg);display:grid;place-items:center;width:142px;height:142px;text-align:center;white-space:normal;border-radius:23px;background:#153b53;border-color:#30778d;color:var(--lis-aqua);font-size:18px}
.lis-home .lis-orbit-item:nth-child(4){bottom:15%;left:-8%}
.lis-home .lis-orbit-item:nth-child(5){bottom:11%;right:-10%}
.lis-home .lis-services{background:var(--lis-bg)}
.lis-home .lis-card-row+.lis-card-row,.lis-home .lis-skill-row+.lis-skill-row{margin-top:18px}
.lis-home .lis-card-row>.lis-grid-cell,.lis-home .lis-skill-row>.lis-grid-cell{display:flex}
.lis-home .lis-service-card{background:#fff;border:1px solid var(--lis-line);border-radius:14px;padding:29px;display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:0}
.lis-home .lis-service-card .lis-card-icon{background:#e8f4fc;border-radius:12px;width:45px;height:45px;display:grid;place-items:center;color:#176ca2;font-weight:800;font-size:20px;margin-bottom:24px}
.lis-home .lis-service-card h3{font-size:19px;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}
.lis-home .lis-service-card p:not(.lis-card-icon){font-size:14px;color:var(--lis-muted)}
.lis-home .lis-service-card .wp-block-buttons{margin-top:auto;padding-top:23px}
.lis-home .lis-service-card .is-style-outline .wp-block-button__link{border:0;padding:0;color:#116aaf;background:transparent}
.lis-home .lis-approach{background:#fff}
.lis-home .lis-split{gap:70px;align-items:start}
.lis-home .lis-statement{font-size:clamp(32px,3.7vw,49px);line-height:1.17;letter-spacing:-.045em;margin:0 0 24px}
.lis-home .lis-approach .lis-split>.lis-grid-cell:first-child>p:last-child{color:var(--lis-muted)}
.lis-home .lis-check{position:relative;padding:20px 0 20px 42px;border-bottom:1px solid var(--lis-line)}
.lis-home .lis-check:first-child{border-top:1px solid var(--lis-line)}
.lis-home .lis-check .lis-check-number{position:absolute;top:22px;left:0;font-weight:800;font-size:12px;color:var(--lis-blue)}
.lis-home .lis-check h3{font-size:17px;margin:0 0 5px}
.lis-home .lis-check p:not(.lis-check-number){font-size:14px;color:var(--lis-muted)}
.lis-home .lis-skills{background:#eef4f8}
.lis-home .lis-skill-card{padding:24px;border:1px solid #dbe5ed;border-radius:11px;background:#fff;width:100%}
.lis-home .lis-skill-index{font-size:11px;font-weight:800;letter-spacing:.08em;color:#167ab0}
.lis-home .lis-skill-card h3{font-size:17px;margin:17px 0 9px}
.lis-home .lis-skill-card p:not(.lis-skill-index){font-size:14px;color:var(--lis-muted)}
.lis-home .lis-quote{background:#10283d;color:#fff;padding:70px 0}
.lis-home .lis-quote-columns{align-items:center;gap:45px}
.lis-home .lis-quote-columns>.lis-grid-cell:first-child{flex-basis:70%}
.lis-home .lis-quote-columns>.lis-grid-cell:last-child{flex-basis:30%}
.lis-home .lis-quote-heading{font-size:clamp(29px,3.6vw,44px);color:#fff;line-height:1.22;letter-spacing:-.04em}
.lis-home .lis-quote .wp-block-buttons{margin:0;justify-content:flex-end}
.lis-home .lis-quote .is-style-outline .wp-block-button__link{color:#fff;border-color:#607589}
.lis-home .lis-about{background:#fff}
.lis-home .lis-about .lis-grid-cell>p{margin-bottom:16px;color:var(--lis-muted)}
.lis-home .lis-about .lis-grid-cell>.lis-eyebrow{color:#1475b9}
.lis-home .lis-about .lis-tagline{font-size:13px;font-weight:650;color:#40586c}
.lis-home .lis-about .is-style-outline .wp-block-button__link{color:var(--lis-blue);border:0;padding:0}
.lis-home .lis-contact{background:#eef4f8}
.lis-home .lis-contact-panel{background:#fff;border:1px solid #d8e3ea;border-radius:18px;padding:52px}
.lis-home .lis-contact-columns{align-items:center;gap:40px}
.lis-home .lis-contact-columns>.lis-grid-cell:first-child{flex-basis:75%}
.lis-home .lis-contact-columns>.lis-grid-cell:last-child{flex-basis:25%}
.lis-home .lis-contact-columns>.lis-grid-cell:last-child .wp-block-buttons{justify-content:flex-end}
.lis-home .lis-contact .lis-section-title{font-size:clamp(27px,3.3vw,40px)}
.lis-home .lis-contact-panel p:last-child{color:var(--lis-muted)}
@media(max-width:900px){.lis-home .lis-hero-columns{gap:25px}.lis-home .lis-hero-art{min-height:320px}.lis-home .lis-orbit{width:300px}.lis-home .lis-orbit-item{font-size:10px}.lis-home .lis-orbit-item:nth-child(3){width:110px;height:110px;font-size:15px}.lis-home .lis-split{gap:35px}}
@media(max-width:781px){.lis-home .lis-hero-columns{flex-direction:column}.lis-home .lis-hero-art{width:100%;padding:20px 0}.lis-home .lis-card-row,.lis-home .lis-skill-row{flex-wrap:wrap}.lis-home .lis-card-row>.lis-grid-cell,.lis-home .lis-skill-row>.lis-grid-cell{flex-basis:calc(50% - 9px)!important}.lis-home .lis-split{flex-direction:column}.lis-home .lis-quote-columns,.lis-home .lis-contact-columns{flex-direction:column;align-items:flex-start}.lis-home .lis-quote .wp-block-buttons,.lis-home .lis-contact-columns>.lis-grid-cell:last-child .wp-block-buttons{justify-content:flex-start}}
@media(max-width:620px){.lis-home .lis-container{width:min(calc(100% - 36px),var(--lis-max))}.lis-home .lis-section{padding:70px 0}.lis-home .lis-hero{padding:65px 0}.lis-home .lis-hero-art{min-height:285px}.lis-home .lis-orbit{width:240px}.lis-home .lis-orbit-item{padding:8px;font-size:9px}.lis-home .lis-orbit-item:nth-child(3){width:100px;height:100px;font-size:14px}.lis-home .lis-card-row>.lis-grid-cell,.lis-home .lis-skill-row>.lis-grid-cell{flex-basis:100%!important}.lis-home .lis-contact-panel{padding:27px}}

/* Core/group based grids: no Columns block orientation dependencies. */
@media(max-width:781px){
 .lis-home .lis-hero-columns,.lis-home .lis-split,.lis-home .lis-quote-columns,.lis-home .lis-contact-columns{grid-template-columns:1fr}
 .lis-home .lis-card-row,.lis-home .lis-skill-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){.lis-home .lis-card-row,.lis-home .lis-skill-row{grid-template-columns:1fr}}


/* v1.5 — WordPress 7.x / Neve compatibility.
   Classic WordPress renders Group inner blocks inside
   .wp-block-group__inner-container. The real grid must be on this child;
   grid on the outer .wp-block-group has only one item (its inner container).
   In Gutenberg the equivalent is .block-editor-block-list__layout.
   All content stays in ordinary, editable Gutenberg blocks. */

/* Keep the design local to the homepage content, never change Neve navigation. */
body .lis-home.wp-block-group {
  width:100%; max-width:none; margin:0; padding:0;
}
body .lis-home > .wp-block-group__inner-container,
body .lis-home .lis-container > .wp-block-group__inner-container {
  width:100%; max-width:none; margin:0;
}

/* The outer Group only has one WordPress wrapper child. */
body .lis-home .lis-grid.wp-block-group {
  display:block !important;
  width:100%; max-width:none; margin:0;
}

/* Actual holder of grid cells in frontend and block editor. */
body .lis-home .lis-grid > .wp-block-group__inner-container,
body .lis-home .lis-grid > .block-editor-inner-blocks > .block-editor-block-list__layout,
body .lis-home .lis-grid > .block-editor-block-list__layout {
  display:grid !important;
  grid-auto-flow:row;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
  width:100%; max-width:none; min-width:0;
  margin:0; padding:0;
}
body .lis-home .lis-hero-columns > .wp-block-group__inner-container,
body .lis-home .lis-hero-columns > .block-editor-inner-blocks > .block-editor-block-list__layout,
body .lis-home .lis-hero-columns > .block-editor-block-list__layout {
  grid-template-columns:minmax(0,1.2fr) minmax(0,0.95fr) !important;
  gap:48px; align-items:center;
}
body .lis-home .lis-card-row > .wp-block-group__inner-container,
body .lis-home .lis-card-row > .block-editor-inner-blocks > .block-editor-block-list__layout,
body .lis-home .lis-skill-row > .wp-block-group__inner-container,
body .lis-home .lis-skill-row > .block-editor-inner-blocks > .block-editor-block-list__layout {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
body .lis-home .lis-split > .wp-block-group__inner-container,
body .lis-home .lis-split > .block-editor-inner-blocks > .block-editor-block-list__layout {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:70px; align-items:start;
}
body .lis-home .lis-quote-columns > .wp-block-group__inner-container,
body .lis-home .lis-quote-columns > .block-editor-inner-blocks > .block-editor-block-list__layout {
  grid-template-columns:minmax(0,7fr) minmax(0,3fr) !important;
  align-items:center;
}
body .lis-home .lis-contact-columns > .wp-block-group__inner-container,
body .lis-home .lis-contact-columns > .block-editor-inner-blocks > .block-editor-block-list__layout {
  grid-template-columns:minmax(0,3fr) minmax(0,1fr) !important;
  align-items:center;
}
body .lis-home .lis-grid .lis-grid-cell {
  width:auto; max-width:none; min-width:0; margin:0;
}
body .lis-home .lis-card-row .lis-grid-cell,
body .lis-home .lis-skill-row .lis-grid-cell { height:100%; }
body .lis-home .lis-card-row .lis-grid-cell > .wp-block-group__inner-container,
body .lis-home .lis-skill-row .lis-grid-cell > .wp-block-group__inner-container {
  height:100%; display:flex; flex-direction:column;
}
body .lis-home .lis-service-card,
body .lis-home .lis-skill-card { flex:1; }

/* The engineering illustration is pure CSS, its five labels are paragraphs. */
body .lis-home .lis-hero-art.wp-block-group {
  display:flex !important;
  width:100%; min-width:0; min-height:410px;
  justify-content:center; align-items:center;
}
body .lis-home .lis-hero-art > .wp-block-group__inner-container,
body .lis-home .lis-hero-art > .block-editor-inner-blocks > .block-editor-block-list__layout {
  display:flex !important; justify-content:center; align-items:center;
  width:100%; min-height:410px; margin:0; padding:0;
}
body .lis-home .lis-orbit.wp-block-group {
  position:relative !important; display:block !important;
  width:min(100%,380px) !important; max-width:380px !important;
  height:auto !important; aspect-ratio:1;
  min-height:0 !important;
  border:1px solid rgba(120,195,212,.32);
  border-radius:50%; margin:0 auto !important;
}
body .lis-home .lis-orbit > .wp-block-group__inner-container,
body .lis-home .lis-orbit > .block-editor-inner-blocks,
body .lis-home .lis-orbit > .block-editor-inner-blocks > .block-editor-block-list__layout {
  position:absolute !important; inset:0; width:100%; height:100%;
  display:block !important; max-width:none; margin:0 !important;
  padding:0 !important; overflow:visible;
}
body .lis-home .lis-orbit .lis-orbit-item {
  position:absolute !important; display:block !important;
  width:max-content !important; max-width:none !important;
  margin:0 !important; padding:11px 13px !important;
  background:#112f46 !important; color:#d7eaf0 !important;
  border:1px solid #2d617a !important; border-radius:10px !important;
  box-shadow:0 12px 25px #08172588 !important;
  font:700 12px/1.3 Inter,system-ui,sans-serif !important;
  white-space:nowrap !important; z-index:2;
}
body .lis-home .lis-orbit .lis-orbit-architecture {top:9%;left:-9%}
body .lis-home .lis-orbit .lis-orbit-agents {top:15%;right:-8%}
body .lis-home .lis-orbit .lis-orbit-engineering {
  top:50%; left:50%; transform:translate(-50%,-50%) rotate(-5deg);
  display:grid !important; place-items:center;
  width:142px !important; height:142px !important;
  white-space:normal !important; text-align:center;
  border-radius:23px !important; background:#153b53 !important;
  border-color:#30778d !important; color:#61d9cd !important;
  font-size:18px !important;
}
body .lis-home .lis-orbit .lis-orbit-fullstack {bottom:16%;left:-9%}
body .lis-home .lis-orbit .lis-orbit-verification {bottom:10%;right:-8%}
/* Neve's button presets otherwise override the new homepage colors. */
body .lis-home .lis-primary-button .wp-block-button__link {
  background:#61d9cd !important; color:#0b2730 !important;
  border:1px solid #61d9cd !important;
}
body .lis-home .lis-hero .is-style-outline .wp-block-button__link {
  color:#fff !important; background:transparent !important;
  border:1px solid #607589 !important;
}

@media(max-width:1000px) {
  body .lis-home .lis-hero-columns > .wp-block-group__inner-container,
  body .lis-home .lis-hero-columns > .block-editor-inner-blocks > .block-editor-block-list__layout {gap:22px}
  body .lis-home .lis-orbit.wp-block-group {width:min(100%,310px) !important;max-width:310px !important}
}
@media(max-width:781px) {
  body .lis-home :is(.lis-hero-columns,.lis-split,.lis-quote-columns,.lis-contact-columns) > .wp-block-group__inner-container,
  body .lis-home :is(.lis-hero-columns,.lis-split,.lis-quote-columns,.lis-contact-columns) > .block-editor-inner-blocks > .block-editor-block-list__layout {
    grid-template-columns:minmax(0,1fr) !important; gap:30px;
  }
  body .lis-home :is(.lis-card-row,.lis-skill-row) > .wp-block-group__inner-container,
  body .lis-home :is(.lis-card-row,.lis-skill-row) > .block-editor-inner-blocks > .block-editor-block-list__layout {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body .lis-home .lis-hero-art.wp-block-group,
  body .lis-home .lis-hero-art > .wp-block-group__inner-container {min-height:340px}
  body .lis-home .lis-split > .wp-block-group__inner-container {gap:25px}
}
@media(max-width:620px) {
  body .lis-home :is(.lis-card-row,.lis-skill-row) > .wp-block-group__inner-container,
  body .lis-home :is(.lis-card-row,.lis-skill-row) > .block-editor-inner-blocks > .block-editor-block-list__layout {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body .lis-home .lis-orbit.wp-block-group {width:min(100%,255px) !important;max-width:255px !important}
  body .lis-home .lis-orbit .lis-orbit-item {font-size:10px !important;padding:8px !important}
  body .lis-home .lis-orbit .lis-orbit-engineering {width:110px !important;height:110px !important;font-size:14px !important}
}


/* v1.6 — Full-bleed sections inside Neve's normal page container.
   A page preview uses Neve's default .container.single-page-container
   (max-width 1170px) instead of our front-page.php.  Center the
   Gutenberg layout against the viewport so its backgrounds span edge-to-edge.
   Only applies to .lis-home on frontend, never to site header/footer. */
body.wp-theme-neve .lis-home.wp-block-group {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Content extends substantially further than v1.5's 1160px cap.
   Headline and paragraph line lengths retain their own max-width. */
body.wp-theme-neve .lis-home {
  --lis-max: 1700px;
}
body.wp-theme-neve .lis-home .lis-container {
  width: calc(100% - clamp(36px, 5vw, 112px));
  max-width: var(--lis-max);
  margin-inline: auto;
}
/* Prevent a Neve Gutenberg alignment from reintroducing width limits. */
body.wp-theme-neve .lis-home > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: none !important;
}

/* v1.7 — The services/skills are two separate Gutenberg grid groups.
   v1.5's `body .lis-home .lis-grid.wp-block-group { margin:0 }`
   overrode their original row spacing. Restore explicit, responsive
   spacing between the groups and inside each 3-column grid. */
body .lis-home .lis-card-row > .wp-block-group__inner-container,
body .lis-home .lis-card-row > .block-editor-inner-blocks > .block-editor-block-list__layout,
body .lis-home .lis-card-row > .block-editor-block-list__layout,
body .lis-home .lis-skill-row > .wp-block-group__inner-container,
body .lis-home .lis-skill-row > .block-editor-inner-blocks > .block-editor-block-list__layout,
body .lis-home .lis-skill-row > .block-editor-block-list__layout {
  column-gap: 28px !important;
  row-gap: 28px !important;
}
body .lis-home .lis-card-row.wp-block-group + .lis-card-row.wp-block-group,
body .lis-home .lis-skill-row.wp-block-group + .lis-skill-row.wp-block-group {
  margin-top: 28px !important;
}
@media (max-width: 781px) {
  body .lis-home .lis-card-row > .wp-block-group__inner-container,
  body .lis-home .lis-card-row > .block-editor-inner-blocks > .block-editor-block-list__layout,
  body .lis-home .lis-skill-row > .wp-block-group__inner-container,
  body .lis-home .lis-skill-row > .block-editor-inner-blocks > .block-editor-block-list__layout {
    column-gap: 20px !important;
    row-gap: 20px !important;
  }
  body .lis-home .lis-card-row.wp-block-group + .lis-card-row.wp-block-group,
  body .lis-home .lis-skill-row.wp-block-group + .lis-skill-row.wp-block-group {
    margin-top: 20px !important;
  }
}
