/* Link Intersystems brand palette — theme v1.8.
   Editorial content stays in native Gutenberg Group, Heading, Paragraph and Button blocks.
   Changes are scoped to .lis-home so Neve header, footer and other pages are unaffected. */
body.wp-theme-neve .lis-home {
  --lis-green:#139b6b;
  --lis-green-light:#ddf4e9;
  --lis-blue:#287fa5;
  --lis-blue-light:#e3f2f8;
  --lis-red:#de615b;
  --lis-red-light:#fceae7;
  --lis-yellow:#e4ad39;
  --lis-yellow-light:#fff4da;
  --lis-ink:#122739;
  --lis-muted:#516679;
  --lis-line:#dce6e9;
  --lis-paper:#f5f8f9;
  --lis-bg:#f5f8f9;
  --lis-navy:#0b1e2d;
  --lis-aqua:#52c696;
  --lis-max:1500px;
  color:var(--lis-ink);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.wp-theme-neve .lis-home .lis-container {
  width:min(calc(100% - 80px),var(--lis-max));
  max-width:var(--lis-max);
}
body .lis-home .lis-section {padding:100px 0;}
body .lis-home .lis-eyebrow {
  display:flex;align-items:center;gap:12px;
  color:var(--lis-blue);font-size:11px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;
}
body .lis-home .lis-eyebrow:before {
  content:"";flex:none;width:21px;height:3px;
  background:var(--lis-green);border-radius:10px;
}
body .lis-home .lis-section-title {
  max-width:900px;font-size:clamp(34px,3.2vw,52px);
  line-height:1.15;letter-spacing:-.04em;font-weight:780;
  margin:0 0 20px;
}
body .lis-home .lis-section-description {
  max-width:740px;font-size:16px;line-height:1.7;
  margin-bottom:43px;color:var(--lis-muted);
}
body .lis-home .wp-block-button__link {
  border-radius:9px;padding:13px 21px;
  min-height:48px;font-size:14px;font-weight:750;
  transition:background-color .15s ease,transform .15s ease;
}
body .lis-home .wp-block-button__link:hover {transform:translateY(-2px);filter:none;}
body .lis-home .lis-primary-button .wp-block-button__link {
  background:#52c696!important;color:#0b2b30!important;
  border:1px solid #52c696!important;
}
body .lis-home .lis-primary-button .wp-block-button__link:hover {background:#85e1b7!important;}
body .lis-home .is-style-outline .wp-block-button__link {
  color:var(--lis-blue);border-color:#b9d1d9;
}
body .lis-home .lis-hero {
  position:relative;isolation:isolate;
  background:radial-gradient(ellipse at 85% 25%,rgba(42,123,160,.26),transparent 39%),
             linear-gradient(120deg,#0b1e2d 0%,#122d42 100%);
  color:#fff;padding:86px 0 82px;
}
/* Four-color stripe recalls the logo without replacing Neve's site header. */
body .lis-home .lis-hero:before {
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,
    #139b6b 0% 25%,#287fa5 25% 50%,#e4ad39 50% 75%,#de615b 75% 100%);
  pointer-events:none;z-index:2;
}
body .lis-home .lis-hero:after {
  content:"";pointer-events:none;position:absolute;
  right:-240px;top:-240px;width:740px;height:740px;
  border:1px solid rgba(96,175,204,.08);border-radius:50%;
}
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 {
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  gap:clamp(40px,6vw,120px);min-height:560px;
  align-items:center;
}
body .lis-home .lis-hero .lis-eyebrow {color:#abded6;}
body .lis-home .lis-headline {
  font-size:clamp(46px,4.7vw,76px);line-height:1.075;
  letter-spacing:-.05em;font-weight:790;color:#fff;
  max-width:790px;margin:0 0 27px;
}
/* A separately editable inline span in a heading can opt into the AI highlight. */
body .lis-home .lis-headline .lis-ai-accent,
body .lis-home .lis-headline .has-inline-color {color:#79ddaf;}
body .lis-home .lis-lead {
  max-width:665px;color:#c9d7e1;font-size:clamp(16px,1.15vw,19px);
  line-height:1.77;
}
body .lis-home .lis-hero .wp-block-buttons {margin-top:30px;gap:12px;}
body .lis-home .lis-hero .is-style-outline .wp-block-button__link {
  color:#fff!important;border:1px solid #6b8394!important;
  background:transparent!important;
}
body .lis-home .lis-hero-note {
  margin-top:40px;padding-left:14px;border-left:3px solid #139b6b;
  color:#a5bdca;font-size:12px;
}
body .lis-home .lis-hero-art.wp-block-group,
body .lis-home .lis-hero-art > .wp-block-group__inner-container {min-height:430px;}
body .lis-home .lis-orbit.wp-block-group {
  width:min(100%,420px)!important;max-width:420px!important;
  border-color:rgba(81,155,183,.30);
  box-shadow:0 0 85px rgba(23,109,157,.09);
}
body .lis-home .lis-orbit:before,
body .lis-home .lis-orbit:after {border-color:rgba(86,149,175,.25);}
body .lis-home .lis-orbit .lis-orbit-item {
  background:#102e43!important;color:#f1f5f8!important;
  border:1px solid rgba(147,187,206,.38)!important;
  border-left:3px solid var(--lis-orbit-accent,#56c88f)!important;
  border-radius:10px!important;padding:12px 15px!important;
  box-shadow:0 14px 24px #06182770!important;
}
body .lis-home .lis-orbit .lis-orbit-architecture {--lis-orbit-accent:#56c88f;top:7%;left:-11%;}
body .lis-home .lis-orbit .lis-orbit-agents {--lis-orbit-accent:#62bce0;top:16%;right:-12%;}
body .lis-home .lis-orbit .lis-orbit-fullstack {--lis-orbit-accent:#edc66b;bottom:17%;left:-12%;}
body .lis-home .lis-orbit .lis-orbit-verification {--lis-orbit-accent:#ed918c;bottom:10%;right:-12%;}
body .lis-home .lis-orbit .lis-orbit-engineering {
  width:158px!important;height:158px!important;border-radius:25px!important;
  background:#173e53!important;border:1px solid rgba(77,159,176,.68)!important;
  color:#7fddb0!important;font-size:19px!important;
  box-shadow:0 30px 65px #03152365!important;
  padding:25px!important;
}
body .lis-home .lis-orbit .lis-orbit-engineering:after {
  content:"";position:absolute;bottom:17px;left:22px;right:22px;height:3px;
  border-radius:6px;background:linear-gradient(90deg,#139b6b 0 25%,#287fa5 25% 50%,#e4ad39 50% 75%,#de615b 75%);
}
body .lis-home .lis-services {background:var(--lis-paper);}
body .lis-home .lis-service-card {
  border-color:var(--lis-line);border-radius:15px;padding:30px;
  min-height:290px;box-shadow:0 10px 38px #1d496307;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
  --lis-card-accent:#139b6b;
}
body .lis-home .lis-service-card:hover {
  border-color:var(--lis-card-accent);
  transform:translateY(-4px);box-shadow:0 18px 45px #1d49631b;
}
body .lis-home .lis-card-row .lis-grid-cell:nth-child(2) .lis-service-card {--lis-card-accent:#287fa5;}
body .lis-home .lis-card-row .lis-grid-cell:nth-child(3) .lis-service-card {--lis-card-accent:#e4ad39;}
body .lis-home .lis-card-row + .lis-card-row .lis-grid-cell:nth-child(1) .lis-service-card {--lis-card-accent:#de615b;}
body .lis-home .lis-card-row + .lis-card-row .lis-grid-cell:nth-child(2) .lis-service-card {--lis-card-accent:#139b6b;}
body .lis-home .lis-card-row + .lis-card-row .lis-grid-cell:nth-child(3) .lis-service-card {--lis-card-accent:#287fa5;}
body .lis-home .lis-card-icon {
  width:49px;height:49px;font-size:22px;
  background:color-mix(in srgb,var(--lis-card-accent) 12%,#fff);
  color:var(--lis-card-accent);margin-bottom:26px;
}
body .lis-home .lis-service-card h3 {font-size:19px;line-height:1.3;margin-bottom:12px;}
body .lis-home .lis-service-card p:not(.lis-card-icon) {font-size:14px;line-height:1.7;}
body .lis-home .lis-service-card .is-style-outline .wp-block-button__link {
  color:var(--lis-blue)!important;background:transparent!important;
  border:0!important;padding:0!important;min-height:0;
}
body .lis-home .lis-approach {background:#fff;}
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:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(35px,7vw,120px);align-items:center;
}
body .lis-home .lis-statement {
  font-size:clamp(34px,3.5vw,55px);line-height:1.15;
  font-weight:790;letter-spacing:-.045em;
}
body .lis-home .lis-check {padding-top:22px;padding-bottom:22px;}
body .lis-home .lis-check-number {color:var(--lis-blue);}
body .lis-home .lis-skills {background:#ecf3f5;}
body .lis-home .lis-skill-card {
  --lis-skill-accent:#139b6b;
  padding:26px 27px;min-height:200px;border:1px solid #d8e6e8;
  border-radius:12px;background:#fff;
}
body .lis-home .lis-skill-row .lis-grid-cell:nth-child(2) .lis-skill-card {--lis-skill-accent:#287fa5;}
body .lis-home .lis-skill-row .lis-grid-cell:nth-child(3) .lis-skill-card {--lis-skill-accent:#e4ad39;}
body .lis-home .lis-skill-row + .lis-skill-row .lis-grid-cell:nth-child(1) .lis-skill-card {--lis-skill-accent:#de615b;}
body .lis-home .lis-skill-row + .lis-skill-row .lis-grid-cell:nth-child(2) .lis-skill-card {--lis-skill-accent:#139b6b;}
body .lis-home .lis-skill-row + .lis-skill-row .lis-grid-cell:nth-child(3) .lis-skill-card {--lis-skill-accent:#287fa5;}
body .lis-home .lis-skill-index {color:var(--lis-skill-accent);font-size:11px;}
body .lis-home .lis-skill-card h3 {font-size:19px;}
body .lis-home .lis-quote {
  background:#122e43;border-top:4px solid transparent;
  border-image:linear-gradient(to right,#139b6b,#287fa5,#e4ad39,#de615b) 1;
  padding:80px 0;
}
body .lis-home .lis-quote-heading {font-size:clamp(30px,3.6vw,52px);}
body .lis-home .lis-about {background:#fff;}
body .lis-home .lis-about .lis-tagline {color:var(--lis-blue);}
body .lis-home .lis-contact {background:var(--lis-paper);}
body .lis-home .lis-contact-panel {
  border-color:var(--lis-line);border-radius:18px;padding:58px 64px;
  position:relative;overflow:hidden;
}
body .lis-home .lis-contact-panel:before {
  content:"";height:100%;width:6px;position:absolute;left:0;top:0;
  background:linear-gradient(#139b6b,#287fa5,#e4ad39,#de615b);
}
body .lis-home .lis-contact-panel .lis-primary-button .wp-block-button__link {
  background:var(--lis-ink)!important;color:#fff!important;border-color:var(--lis-ink)!important;
}
@media (max-width:1100px) {
  body.wp-theme-neve .lis-home .lis-container {width:min(calc(100% - 56px),var(--lis-max));}
  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:28px;}
  body .lis-home .lis-orbit.wp-block-group {width:min(100%,330px)!important;max-width:330px!important;}
  body .lis-home .lis-orbit .lis-orbit-item {font-size:11px!important;padding:9px 10px!important;}
  body .lis-home .lis-orbit .lis-orbit-engineering {width:133px!important;height:133px!important;font-size:17px!important;}
}
@media (max-width:820px) {
  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-split > .wp-block-group__inner-container,
  body .lis-home .lis-split > .block-editor-inner-blocks > .block-editor-block-list__layout {
    grid-template-columns:minmax(0,1fr)!important;gap:32px;
  }
  body .lis-home .lis-hero {padding:73px 0 52px;}
  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 {min-height:0;}
  body .lis-home .lis-hero-art.wp-block-group,
  body .lis-home .lis-hero-art > .wp-block-group__inner-container {min-height:350px;}
  body .lis-home .lis-contact-panel {padding:42px;}
}
@media (max-width:560px) {
  body.wp-theme-neve .lis-home .lis-container {width:min(calc(100% - 36px),var(--lis-max));}
  body .lis-home .lis-section {padding:72px 0;}
  body .lis-home .lis-hero {padding:65px 0 45px;}
  body .lis-home .lis-headline {font-size:clamp(40px,10vw,57px);}
  body .lis-home .lis-orbit.wp-block-group {width:min(70vw,260px)!important;max-width:260px!important;}
  body .lis-home .lis-orbit .lis-orbit-item {font-size:9px!important;padding:7px 8px!important;}
  body .lis-home .lis-orbit .lis-orbit-engineering {width:108px!important;height:108px!important;font-size:14px!important;}
  body .lis-home .lis-orbit .lis-orbit-architecture {left:-19%;}
  body .lis-home .lis-orbit .lis-orbit-agents {right:-21%;}
  body .lis-home .lis-orbit .lis-orbit-fullstack {left:-20%;}
  body .lis-home .lis-orbit .lis-orbit-verification {right:-20%;}
  body .lis-home .lis-contact-panel {padding:35px 30px;}
}
@media (prefers-reduced-motion:reduce) {
  body .lis-home .wp-block-button__link,
  body .lis-home .lis-service-card {transition:none!important;}
}


/* v1.9 — Neve-controlled alignment.
   Use Neve's real responsive --container width rather than a hardcoded
   1500/1700px content width. Section backgrounds remain full-bleed via
   .lis-home; only the inner .lis-container is constrained.
   Neve distinguishes desktop and mobile header rows in the DOM. When the
   visible MAIN header row is set to Full Width, contents follow its full
   width. Otherwise the Neve container width is used. Footer contents are
   deliberately aligned with the same geometry on the homepage only.
   The :has() selector is supported by modern browsers; fallback is contained. */
body.wp-theme-neve:has(.lis-home) {
  --lis-shell-width: var(--container, 1170px);
}

/* Main page and footer content share the exact Neve container geometry.
   Same 15px inline gutter as Neve's .container, independent of screen width. */
body.wp-theme-neve .lis-home .lis-container {
  width: 100% !important;
  max-width: var(--lis-shell-width, var(--container, 1170px)) !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.wp-theme-neve:has(.lis-home) .footer--row .container {
  width: 100% !important;
  max-width: var(--lis-shell-width, var(--container, 1170px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Full Width header -> full-width content, while the backgrounds continue
   to occupy the complete viewport in either mode. */
@media (min-width: 960px) {
  body.wp-theme-neve:has(.lis-home):has(.header--row.header-main[data-show-on="desktop"].layout-fullwidth) {
    --lis-shell-width: 100%;
  }
}
@media (max-width: 959px) {
  body.wp-theme-neve:has(.lis-home):has(.header--row.header-main[data-show-on="mobile"].layout-fullwidth) {
    --lis-shell-width: 100%;
  }
}

/* v2.3: one adjustable card radius across the site, not the orbital circles. */
body .lis-home :is(.lis-service-card,.lis-skill-card,.lis-contact-panel) {
  border-radius:var(--lis-card-radius,16px) !important;
}
