:root {
  --bg: #07090b;
  --panel: rgba(255, 255, 255, 0.075);
  --text: #f7f4ec;
  --muted: rgba(247, 244, 236, 0.68);
  --line: rgba(247, 244, 236, 0.16);
  --accent: #8fd334;
  --accent-2: #83d8ff;
  --accent-3: #b99cff;
  --max: 1180px;
  --radius-lg: 34px;
  --ease: cubic-bezier(.2, .8, .2, 1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 8%, rgba(131, 216, 255, .13), transparent 31%),
    radial-gradient(circle at 85% 15%, rgba(185, 156, 255, .11), transparent 28%),
    linear-gradient(180deg, #07090b 0%, #0a0e12 42%, #08090b 100%);
  z-index: -3;
}
a { color: inherit; text-decoration: none; }
.site-header {
  position: fixed;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: min(calc(100vw - 36px), 1240px);
  height: 68px;
  z-index: 100;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0 14px 0 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  transition: background .35s var(--ease), border .35s var(--ease), box-shadow .35s var(--ease), top .35s var(--ease);
}
.site-header.scrolled {
  top: 12px;
  background: rgba(7, 9, 11, 0.78);
  border-color: var(--line);
  backdrop-filter: blur(22px);
  box-shadow: 0 18px 60px rgba(0,0,0,.28);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-weight: 700;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.brand-mark {
  width: 34px;
  height: 34px;
  display: inline-block;
  border-radius: 50%;
  background: url("../images/android-chrome-192x192.png") center / contain no-repeat;
  box-shadow: 0 0 30px rgba(143,211,52,.28);
  flex: 0 0 34px;
}
.desktop-nav {
  margin-left: auto;
  display: flex;
  gap: 22px;
  color: var(--muted);
  font-size: 14px;
}
.desktop-nav a { transition: color .25s var(--ease); }
.desktop-nav a:hover { color: var(--text); }
.nav-item {
  position: relative;
  display: flex;
  align-items: center;
  height: 68px;
}
.nav-item > a {
  display: inline-flex;
  align-items: center;
  height: 68px;
}
.has-mega > a::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-left: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .72;
}
.mega-panel {
  position: fixed;
  top: 92px;
  left: 50%;
  width: min(1080px, calc(100vw - 40px));
  transform: translateX(-50%) translateY(10px);
  opacity: 0;
  pointer-events: none;
  border: 1px solid var(--line);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 18%, rgba(131,216,255,.12), transparent 28%),
    rgba(7, 9, 11, .88);
  backdrop-filter: blur(26px);
  box-shadow: 0 28px 90px rgba(0,0,0,.44);
  transition: opacity .22s var(--ease), transform .22s var(--ease);
  overflow: hidden;
}
.site-header.scrolled .mega-panel {
  top: 86px;
}
.has-mega:hover .mega-panel, .has-mega:focus-within .mega-panel {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.has-mega::after {
  content: "";
  position: absolute;
  top: 100%;
  left: -40px;
  right: -40px;
  height: 28px;
  z-index: 99;
}
.small-mega .mega-panel {
  width: min(720px, calc(100vw - 40px));
}
.mega-list-grid h4 {
  margin: 0 0 12px;
  color: var(--text);
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mega-list-grid a {
  display: block;
  padding: 14px;
  border-radius: 18px;
  color: var(--text);
  transition: background .2s var(--ease), transform .2s var(--ease);
}
.mega-list-grid a:hover {
  background: rgba(255,255,255,.065);
  transform: translateY(-1px);
}
.mega-list-grid strong {
  display: block;
  font-size: 15px;
  letter-spacing: -.02em;
}
.mega-list-grid span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}
.mega-list-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 22px;
}
.mobile-accordion {
  width: min(420px, 84vw);
  text-align: left;
  border-bottom: 1px solid var(--line);
}
.mobile-accordion button {
  width: 100%;
  padding: 10px 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  text-align: left;
}
.mobile-accordion button::after {
  content: "+";
  float: right;
  color: var(--accent);
}
.mobile-accordion.open button::after {
  content: "-";
}
.mobile-accordion > div {
  display: none;
  padding: 4px 0 16px;
}
.mobile-accordion.open > div {
  display: grid;
  gap: 10px;
}
.mobile-accordion a {
  color: var(--muted);
  font-size: 18px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  transition: transform .25s var(--ease), border .25s var(--ease), background .25s var(--ease);
}
.button.primary {
  color: #07100c;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
}
.button.secondary {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.06);
  color: var(--text);
}
.button:hover { transform: translateY(-2px); }
.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: var(--text);
}
.menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--text);
  margin: 4px auto;
}
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(7,9,11,.96);
  backdrop-filter: blur(24px);
  transform: translateY(-100%);
  transition: transform .35s var(--ease);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 18px;
  text-align: center !important;
  font-size: 28px;
}
.mobile-menu.open { transform: translateY(0); }
.section {
  position: relative;
  padding: 110px 28px;
}
h1, h2, h3, p { margin-top: 0; }
h1 {
  max-width: 790px;
  margin-bottom: 24px;
  font-size: clamp(68px, 9vw, 132px);
  line-height: .88;
  letter-spacing: -0.09em;
}
.hero-copy {
  max-width: 720px;
  color: var(--muted);
  font-size: clamp(20px, 2.25vw, 30px);
  line-height: 1.32;
  letter-spacing: -0.03em;
}
.section-inner {
  max-width: var(--max);
  margin: 0 auto;
}
.site-footer {
  max-width: 1240px;
  margin: 40px auto 0;
  padding: 56px 28px 40px;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr 1.8fr;
  gap: 48px;
}
.site-footer p {
  max-width: 320px;
  margin-top: 18px;
  color: var(--muted);
}
.footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.footer-links h4 { margin: 0 0 14px; }
.footer-links a {
  display: block;
  color: var(--muted);
  margin: 9px 0;
  font-size: 14px;
}
.footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding-top: 32px;
  color: var(--muted);
  font-size: 14px;
}
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
@keyframes scanHero {
  0% { left: -24%; }
  55%, 100% { left: 112%; }
}
@keyframes drift {
  from { transform: translateX(-8%); }
  to { transform: translateX(42%); }
}
@keyframes landShift {
  from { transform: translateX(0); }
  to { transform: translateX(80px); }
}
.home-tech-card-v04 p strong {
  display: block;
  margin-bottom: .45rem;
  color: rgba(255,255,255,.94);
  font-weight: 800;
}
@media (max-width: 980px) {
.desktop-nav { display: none; }
.menu-toggle {
    display: inline-block;
    margin-left: auto;
  }
.site-footer { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.section {
    padding-left: 18px;
    padding-right: 18px;
  }
h1 { font-size: clamp(56px, 17vw, 82px); }
.footer-links { grid-template-columns: 1fr; }
}
@keyframes prodScan {
  0%   { top: 0%;   opacity: 0; }
  8%   { opacity: 1; }
  92%  { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}
.industry-card-grid {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.industry-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .3s var(--ease), transform .3s var(--ease);
}
.industry-card:hover { transform: translateY(-4px); }
.industry-card:nth-child(1):hover { border-color: rgba(216,247,176,.4); }
.industry-card:nth-child(2):hover { border-color: rgba(185,156,255,.4); }
.industry-card:nth-child(3):hover { border-color: rgba(131,216,255,.4); }
.industry-card:nth-child(1) { border-color: rgba(216,247,176,.18); }
.industry-card:nth-child(2) { border-color: rgba(185,156,255,.14); }
.industry-card:nth-child(3) { border-color: rgba(131,216,255,.14); }
.study-open-btn {
  font-size: 12px;
  color: var(--accent);
  font-weight: 600;
  letter-spacing: .04em;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  align-self: flex-start;
}
.study-open-btn:hover { text-decoration: underline; }
.site-footer .footer-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 980px) {
.site-footer .footer-links {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
.site-footer .footer-links {
    grid-template-columns: 1fr;
  }
}
@keyframes llabsHeroReveal {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  5% {
    opacity: 1;
  }
  24% {
    opacity: 1;
    transform: scale(1.085);
  }
  30% {
    opacity: 0;
    transform: scale(1.11);
  }
  100% {
    opacity: 0;
    transform: scale(1.11);
  }
}
@keyframes llabsProductHero {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  5% {
    opacity: 1;
  }
  24% {
    opacity: 1;
    transform: scale(1.08);
  }
  30% {
    opacity: 0;
    transform: scale(1.105);
  }
  100% {
    opacity: 0;
    transform: scale(1.105);
  }
}
.study-open-btn {
  cursor: pointer;
}
.footer-bottom a {
  color: inherit;
  text-decoration: none;
}
.footer-bottom a:hover {
  color: var(--accent);
}
.brand {
  gap: 10px;
  letter-spacing: .02em;
  font-weight: 800;
}
.brand span:last-child {
  color: var(--accent);
}
.footer-brand .brand-mark {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
}
.company-hero .section-inner {
  max-width: var(--max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
h1, .company-hero h1 {
  font-size: clamp(48px, 6.6vw, 96px) !important;
  letter-spacing: -0.072em !important;
}
.about-grid h2, .approach-grid h2, .co-section h2 {
  font-size: clamp(30px, 4.2vw, 58px) !important;
  letter-spacing: -0.055em !important;
}
.hero-copy {
  font-size: clamp(18px, 1.8vw, 24px) !important;
  max-width: 680px;
}
.company-hero .hero-copy {
  max-width: 680px !important;
}
:root {
  --accent: #8fd334;
  --accent-soft: rgba(143,211,52,.16);
}
h1, h2, h3, h1 em, h2 em, h3 em, .company-hero h1 {
  color: #ffffff !important;
  text-align: left !important;
}
h1, .company-hero h1 {
  font-size: 24px !important;
  line-height: 1.22 !important;
  letter-spacing: -0.02em !important;
}
h2 {
  font-size: 18px !important;
  line-height: 1.28 !important;
  letter-spacing: -0.01em !important;
  color: #ffffff !important;
}
h3 {
  font-size: 14px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  color: #ffffff !important;
}
.company-hero .section-inner {
  max-width: var(--max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}
.hero-copy, .company-hero .hero-copy {
  max-width: 680px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}
:root {
  --max: 1240px;
}
.company-hero .section-inner {
  width: min(calc(100vw - 36px), 1240px) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  text-align: left !important;
}
h1, .company-hero h1 {
  font-size: 48px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  max-width: 760px !important;
}
.about-grid h2, .approach-grid h2, .co-section h2 {
  font-size: 24px !important;
  line-height: 1.22 !important;
  letter-spacing: -0.015em !important;
  max-width: 760px !important;
}
h3 {
  font-size: 24px !important;
  line-height: 1.22 !important;
  letter-spacing: -0.015em !important;
}
.hero-copy, .company-hero .hero-copy {
  max-width: 680px !important;
}
:root { --site-grid: 1240px; }
.company-hero > .section-inner {
  width: min(calc(100vw - 36px), var(--site-grid)) !important;
  max-width: var(--site-grid) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  text-align: left !important;
  justify-self: center !important;
}
.company-hero > .section-inner > * {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}
h1, .company-hero h1 {
  font-size: 48px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  color: #fff !important;
  max-width: 800px !important;
}
h3 {
  font-size: 24px !important;
  line-height: 1.22 !important;
  letter-spacing: -0.015em !important;
}
.about-grid h2, .approach-grid h2, .co-section h2 {
  font-size: 24px !important;
  line-height: 1.22 !important;
  letter-spacing: -0.015em !important;
  max-width: 800px !important;
}
body:not([class]) .technology-teaser .tech-bg {
  width: min(calc(100vw - 56px), var(--site-grid)) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}
body:not([class]) .technology-teaser .section-inner {
  box-sizing: border-box !important;
  width: min(calc(100vw - 56px), var(--site-grid)) !important;
  max-width: var(--site-grid) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(48px, 6vw, 84px) clamp(28px, 5vw, 72px) !important;
  text-align: left !important;
}
body:not([class]) .technology-teaser .section-inner > *:not(.button) {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}
body:not([class]) .technology-teaser .button.secondary {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 34px auto 0 !important;
  justify-content: center !important;
  border: 0 !important;
  color: #06100b !important;
  background: linear-gradient(135deg, var(--green), var(--cyan)) !important;
  box-shadow: 0 16px 40px rgba(140,226,90,.18) !important;
}
body:not([class]) .technology-teaser .tech-pill-row {
  margin-bottom: 0 !important;
}
body:not([class]) .technology-teaser .section-inner {
  position: relative !important;
  box-sizing: border-box !important;
  width: min(calc(100vw - 56px), var(--site-grid)) !important;
  max-width: var(--site-grid) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(56px, 6vw, 88px) clamp(56px, 6vw, 96px) !important;
  text-align: left !important;
}
body:not([class]) .technology-teaser .section-inner > *:not(.button) {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}
body:not([class]) .technology-teaser .button.secondary {
  display: flex !important;
  width: max-content !important;
  min-width: 0 !important;
  margin: 34px auto 0 auto !important;
  padding: 0 28px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  color: #07100c !important;
  background: linear-gradient(135deg, var(--accent), var(--accent-2)) !important;
  box-shadow: 0 16px 40px rgba(140,226,90,.18) !important;
}
:root {
  --ll-page-left: max(38px, calc((100vw - 1240px) / 2 + 20px));
  --ll-hero-copy-width: min(820px, calc(100vw - var(--ll-page-left) - 48px));
}
.company-hero > .section-inner {
  width: var(--ll-hero-copy-width) !important;
  max-width: var(--ll-hero-copy-width) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  transform: none !important;
  text-align: left !important;
  justify-self: auto !important;
  align-self: flex-start !important;
}
.company-hero > .section-inner > * {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}
.company-hero h1 em {
  color: #fff !important;
  font-style: normal !important;
}
@media (max-width: 760px) {
:root {
    --ll-page-left: 24px;
    --ll-hero-copy-width: calc(100vw - 48px);
  }
}
.company-hero .section-inner {
  position: relative !important;
  z-index: 2 !important;
}
:root {
  --ll-green: #43eba9;
  --ll-green-soft: rgba(67, 235, 169, 0.55);
  --ll-blue: #58beff;
  --ll-gold: #ffd25a;
  --ll-violet: #b478ff;
}
body {
  font-family: "Poppins", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.site-header {
  background: rgba(5, 13, 15, 0.5) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
@keyframes ll-geo-drift {
  from { transform: perspective(900px) rotateX(62deg) rotateZ(-18deg) translate3d(0,0,0); }
  to { transform: perspective(900px) rotateX(62deg) rotateZ(-18deg) translate3d(72px,72px,0); }
}
@keyframes ll-node-float {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(24px,-18px,0) scale(1.28); }
}
@keyframes ll-line-pulse {
  0%, 100% { opacity: .18; filter: blur(.3px); }
  50% { opacity: .9; filter: blur(0); }
}
.button.primary, .button.secondary, .glow-button {
  border-radius: 999px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}
.glow-button, .button.primary {
  background: var(--ll-green) !important;
  color: #041310 !important;
  border: 1px solid var(--ll-green) !important;
  box-shadow: 0 0 0 rgba(67,235,169,0);
}
.button.secondary {
  background: rgba(255,255,255,0.02) !important;
  color: rgba(235,255,248,.95) !important;
  border: 1px solid rgba(170,255,225,.42) !important;
}
.glow-button:hover, .button.primary:hover, .glow-button:active, .button.primary:active, .button.secondary:hover, .button.secondary:active {
  transform: translateY(-2px);
  background: rgba(67,235,169,.18) !important;
  color: #eafff7 !important;
  border-color: var(--ll-green) !important;
  box-shadow: 0 0 26px rgba(67,235,169,.42), inset 0 0 18px rgba(67,235,169,.12);
}
body {
  background-color: #02040a;
}
#bg-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: block;
  pointer-events: none;
}
.site-header, .mobile-menu {
  position: relative;
  z-index: 30;
}
main, .site-footer {
  position: relative;
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
#bg-canvas { display: none; }
body {
    background:
      radial-gradient(circle at 18% 20%, rgba(67, 235, 169, 0.10), transparent 28%),
      radial-gradient(circle at 82% 28%, rgba(88, 190, 255, 0.08), transparent 26%),
      #02040a;
  }
}
#bg-canvas {
  z-index: 0 !important;
  pointer-events: none !important;
}
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(1180px, calc(100% - 32px)) !important;
  z-index: 10000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  margin-top: 16px !important;
}
.site-header .brand, .site-header .desktop-nav, .site-header .nav-item, .site-header .nav-direct, .site-header .menu-toggle {
  position: relative !important;
  z-index: 10002 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.desktop-nav, .mega-nav {
  display: flex !important;
  align-items: center !important;
  gap: clamp(0.8rem, 1.6vw, 1.5rem) !important;
}
.nav-item.has-mega {
  position: relative !important;
  isolation: isolate;
}
.mega-panel {
  z-index: 10001 !important;
  pointer-events: auto !important;
}
.nav-item.has-mega:hover .mega-panel, .nav-item.has-mega:focus-within .mega-panel {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.mobile-menu {
  position: fixed !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}
body {
  padding-top: 0 !important;
}
main {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
main > section:first-child {
  margin-top: 0 !important;
}
@media (max-width: 960px) {
.site-header {
    width: calc(100% - 24px) !important;
    margin-top: 12px !important;
  }
.desktop-nav, .mega-nav {
    display: none !important;
  }
.menu-toggle {
    display: inline-flex !important;
  }
}
#bg-canvas {
  z-index: -1 !important;
  pointer-events: none !important;
}
body {
  position: relative;
  background-color: #02040a;
}
.site-header {
  z-index: 50000 !important;
  overflow: visible !important;
  isolation: isolate !important;
}
.desktop-nav, .mega-nav {
  position: relative !important;
  z-index: 50001 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}
.nav-item {
  position: relative !important;
  z-index: 50002 !important;
  pointer-events: auto !important;
}
.nav-item.has-mega::after {
  content: "";
  position: absolute;
  left: -18px;
  right: -18px;
  top: 100%;
  height: 24px;
  background: transparent;
  display: block;
  z-index: 50003;
}
.mega-panel {
  top: calc(100% + 18px) !important;
  z-index: 50004 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
}
.nav-item.has-mega:hover, .nav-item.has-mega:focus-within {
  z-index: 50010 !important;
}
.nav-item.has-mega:hover .mega-panel, .nav-item.has-mega:focus-within .mega-panel, .mega-panel:hover {
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
@media (max-width: 960px) {
#bg-canvas {
    z-index: 0 !important;
  }
}
#bg-canvas {
  z-index: 0 !important;
  pointer-events: none !important;
}
main, .site-footer {
  position: relative !important;
  z-index: 2 !important;
}
.site-header, .mobile-menu, .mega-panel {
  z-index: 50000 !important;
}
@keyframes llabsHomeHeroSeamless {
  0% { opacity: 0; transform: scale(1.045); }
  6% { opacity: 1; }
  30% { opacity: 1; transform: scale(1.085); }
  39% { opacity: 0; transform: scale(1.105); }
  100% { opacity: 0; transform: scale(1.105); }
}
:root {
  --ll-glass-bg: rgba(4, 20, 18, 0.34);
  --ll-glass-bg-strong: rgba(4, 20, 18, 0.48);
  --ll-glass-line: rgba(215, 255, 238, 0.24);
  --ll-glass-line-hover: rgba(106, 255, 176, 0.52);
  --ll-glass-inner: rgba(255,255,255,0.055);
  --ll-glass-shadow: 0 24px 72px rgba(0,0,0,0.34);
  --ll-glow-green: rgba(106,255,176,0.46);
  --ll-glow-blue: rgba(88,190,255,0.44);
  --ll-glow-gold: rgba(255,175,85,0.44);
  --ll-glow-violet: rgba(180,120,255,0.44);
}
#bg-canvas {
  z-index: 0 !important;
  pointer-events: none !important;
}
main, .site-footer {
  position: relative !important;
  z-index: 2 !important;
}
.site-header, .mobile-menu {
  z-index: 50000 !important;
}
.button.glass-cta, a.glass-cta {
  background: rgba(2, 4, 10, 0.08) !important;
  color: rgba(245,255,251,0.96) !important;
  border: 1px solid rgba(220, 240, 236, 0.26) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.10) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.button.glass-cta:hover, a.glass-cta:hover {
  background: rgba(106, 255, 176, 0.06) !important;
  color: #ffffff !important;
  border-color: rgba(106, 255, 176, 0.44) !important;
  box-shadow: 0 0 22px rgba(106,255,176,0.24), 0 22px 56px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.12) !important;
}
body:has(.product-hero) .rotating-hero, body:has(.products-hero) .rotating-hero {
  background-color: #02040a !important;
  overflow: hidden !important;
}
:root {
  --ll-hero-min-height: 86vh;
  --ll-hero-cycle: 24s;
  --ll-hero-delay-1: 0s;
  --ll-hero-delay-2: 8s;
  --ll-hero-delay-3: 16s;
}
@keyframes llabsGlobalHeroCrossFade {
  0%   { opacity: 1; transform: scale(1.045); }
  28%  { opacity: 1; transform: scale(1.080); }
  39%  { opacity: 0; transform: scale(1.105); }
  89%  { opacity: 0; transform: scale(1.105); }
  100% { opacity: 0; transform: scale(1.105); }
}
.industry-card { --card-color: 106, 255, 176; }
@keyframes llabsPartnerLogoRail {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - .5rem)); }
}
#bg-canvas {
  opacity: 1 !important;
  filter: brightness(1.35) saturate(1.18) !important;
}
.privacy-hero {
  position: relative !important;
  max-width: none !important;
  min-height: 58vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
  padding-left: max(28px, calc((100vw - var(--max)) / 2 + 28px)) !important;
  padding-right: max(28px, calc((100vw - var(--max)) / 2 + 28px)) !important;
}
.privacy-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background:
    linear-gradient(90deg, rgba(2,4,10,.78) 0%, rgba(2,4,10,.54) 42%, rgba(2,4,10,.18) 78%, rgba(2,4,10,.08) 100%),
    linear-gradient(180deg, rgba(2,4,10,.16) 0%, rgba(2,4,10,.05) 40%, rgba(2,4,10,.48) 100%),
    url("../images/home-hero.png") center/cover no-repeat !important;
}
.site-header {
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 18px 48px rgba(0,0,0,.26) !important;
}
.site-header.scrolled {
  border-color: rgba(255,255,255,.20) !important;
}
.company-hero .section-inner {
  position: relative !important;
  z-index: 4 !important;
  max-width: min(54vw, 780px) !important;
  margin-left: max(28px, calc((100vw - var(--max)) / 2 + 28px)) !important;
  margin-right: auto !important;
}
#bg-canvas {
  opacity: .72 !important;
  filter: brightness(1.45) saturate(1.2) !important;
  z-index: 0 !important;
}
main, .site-footer {
  z-index: 2 !important;
}
.company-hero .section-inner {
  text-shadow: 0 1px 26px rgba(0,0,0,.46) !important;
}
.privacy-hero {
  min-height: auto !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: 160px 28px 32px !important;
  display: block !important;
  overflow: visible !important;
}
.privacy-hero::before {
  display: none !important;
}
@media (max-width: 900px) {
.company-hero .section-inner {
    max-width: min(92vw, 760px) !important;
  }
}
.company-hero .section-inner {
  width: min(46vw, 720px) !important;
  max-width: min(46vw, 720px) !important;
  margin-left: max(32px, calc((100vw - var(--max)) / 2 + 32px)) !important;
  margin-right: auto !important;
}
#bg-canvas {
  opacity: .64 !important;
  filter: brightness(1.45) saturate(1.2) !important;
}
[data-carousel] {
  overflow: hidden !important;
  border-radius: 32px !important;
  background-clip: padding-box !important;
}
[data-carousel]::before {
  border-radius: inherit !important;
}
.privacy-hero {
  min-height: auto !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: 160px 28px 32px !important;
  display: block !important;
  overflow: visible !important;
}
.privacy-hero::before {
  display: none !important;
}
@media (max-width: 900px) {
.company-hero .section-inner {
    width: min(92vw, 760px) !important;
    max-width: min(92vw, 760px) !important;
  }
}
.company-hero .section-inner {
  width: min(43vw, 680px) !important;
  max-width: min(43vw, 680px) !important;
  position: relative !important;
  isolation: isolate !important;
}
.company-hero .section-inner {
  z-index: 5 !important;
}
[data-carousel] {
  outline: none !important;
  overflow: hidden !important;
  border-radius: 32px !important;
  background-clip: padding-box !important;
}
[data-carousel] img {
  filter: brightness(1.18) saturate(1.08) !important;
}
@media (max-width: 1320px) and (min-width: 901px) {
.company-hero .section-inner {
    width: min(44vw, 620px) !important;
    max-width: min(44vw, 620px) !important;
  }
}
@media (max-width: 900px) {
.company-hero .section-inner {
    width: min(92vw, 760px) !important;
    max-width: min(92vw, 760px) !important;
  }
}
.company-hero .section-inner {
  position: relative !important;
  z-index: 5 !important;
  width: min(46vw, 760px) !important;
  max-width: min(46vw, 760px) !important;
  margin-left: max(32px, calc((100vw - var(--max)) / 2 + 32px)) !important;
  margin-right: auto !important;
  isolation: isolate !important;
}
#bg-canvas {
  z-index: 0 !important;
  opacity: .68 !important;
  filter: brightness(1.38) saturate(1.18) !important;
}
main, .site-footer {
  position: relative !important;
  z-index: 2 !important;
}
.company-hero .section-inner {
  z-index: 5 !important;
}
[data-carousel] {
  overflow: hidden !important;
  border-radius: 32px !important;
  outline: none !important;
  background-clip: padding-box !important;
}
.privacy-hero {
  min-height: auto !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: 160px 28px 32px !important;
  display: block !important;
  overflow: visible !important;
}
.privacy-hero::before { display: none !important; }
@media (max-width: 900px) {
.company-hero .section-inner {
    width: min(92vw, 760px) !important;
    max-width: min(92vw, 760px) !important;
  }
}
.company-hero .section-inner {
  width: min(45vw, 740px) !important;
  max-width: min(45vw, 740px) !important;
}
@media (max-width: 1280px) and (min-width: 901px) {
.company-hero .section-inner {
    width: min(47vw, 690px) !important;
    max-width: min(47vw, 690px) !important;
  }
}
.company-hero .section-inner {
  width: min(44vw, 720px) !important;
  max-width: min(44vw, 720px) !important;
}
.nav-item > a[href="javascript:void(0)"] {
  cursor: default;
}
.company-hero .section-inner {
  text-align: left !important;
  align-items: flex-start !important;
  justify-content: center !important;
}
body:has(.contact-grid) main#top > .co-section:first-of-type {
  padding-top: clamp(8.5rem, 14vw, 11rem) !important;
}
.company-page #contact {
  display: none !important;
}
.contact-page #contact, .contact-page .contact-form {
  display: block !important;
}
.contact-page main#top > .co-section:first-of-type {
  padding-top: clamp(2.4rem, 4vw, 3.6rem) !important;
}
body.company-page:not(.contact-page) #contact {
  display: none !important;
}
.study-open-btn {
  min-height: 44px !important;
  padding: .72rem 1.05rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
:root {
  --ll-content-max: var(--max, 1180px);
  --ll-content-pad: 28px;
}
.company-hero .section-inner {
  width: min(var(--ll-content-max), calc(100% - 56px)) !important;
  max-width: var(--ll-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
.company-hero .section-inner > * {
  max-width: 680px;
}
.mobile-menu .mobile-accordion div:empty {
  display: none !important;
}
@media (max-width: 900px) {
.company-hero .section-inner {
    width: min(100% - 40px, var(--ll-content-max)) !important;
  }
}
.company-page:not(.contact-page) .co-label, .company-page:not(.contact-page) .co-section > .co-label {
  font-size: clamp(2.45rem, 4.2vw, 4.2rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  text-transform: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  margin-bottom: 1.15rem !important;
}
.company-page:not(.contact-page) .co-section + .co-section {
  border-top: 0 !important;
}
.company-page .button.secondary, .contact-page .button.secondary, .privacy-policy-page .button.secondary, .contact-page button[type="submit"].button.secondary {
  color: rgba(244,251,255,.94) !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
}
.company-page .button.secondary:hover, .contact-page .button.secondary:hover, .privacy-policy-page .button.secondary:hover, .contact-page button[type="submit"].button.secondary:hover {
  color: #fff !important;
  background: rgba(255,255,255,.085) !important;
  border-color: rgba(131,216,255,.34) !important;
}
.contact-page .contact-form { gap: 20px !important; }
.contact-page .form-row { gap: 20px !important; }
.contact-page .form-field { gap: 9px !important; }
.contact-page .form-field label {
  position: static !important;
  display: block !important;
  margin: 0 0 2px !important;
  line-height: 1.1 !important;
  z-index: auto !important;
  background: transparent !important;
}
.contact-page .form-field input, .contact-page .form-field select, .contact-page .form-field textarea {
  min-height: 48px !important;
  padding: 15px 15px !important;
}
.contact-page .form-field textarea {
  min-height: 126px !important;
}
.privacy-hero {
  width: min(var(--max), calc(100% - 56px)) !important;
  max-width: var(--max) !important;
  margin: 0 auto !important;
  padding: 160px 0 42px !important;
  text-align: left !important;
  border-bottom: 0 !important;
}
.privacy-body h2 {
  border-top: 0 !important;
}
.privacy-body {
  border-top: 0 !important;
}
:root {
  --ll-v42-grid: min(1240px, calc(100vw - 56px));
  --ll-v42-left: max(28px, calc((100vw - 1240px) / 2 + 20px));
  --ll-v42-hero-h1: clamp(2.65rem, 3.45vw, 4.25rem);
  --ll-v42-hero-copy: clamp(1.05rem, 1.35vw, 1.35rem);
}
.company-page .company-hero .section-inner {
  width: var(--ll-v42-grid) !important;
  max-width: var(--ll-v42-grid) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-self: center !important;
  text-align: left !important;
  position: relative !important;
  z-index: 3 !important;
}
.company-page .company-hero .section-inner > * {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}
.company-page .company-hero h1 {
  max-width: 680px !important;
  font-size: var(--ll-v42-hero-h1) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
}
.company-page .company-hero .hero-copy {
  max-width: 680px !important;
  font-size: var(--ll-v42-hero-copy) !important;
  line-height: 1.45 !important;
  color: rgba(235,255,248,.82) !important;
}
.company-page:not(.contact-page) .co-label, .company-page:not(.contact-page) .co-section > .co-label {
  font-size: clamp(1.45rem, 2.15vw, 2rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(230,222,214,0.88) !important;
  font-weight: 800 !important;
  margin: 0 0 1.15rem !important;
}
.company-page:not(.contact-page) .about-grid h2, .company-page:not(.contact-page) .approach-grid h2, .company-page:not(.contact-page) .co-section h2 {
  font-size: clamp(1.35rem, 2.25vw, 2rem) !important;
  line-height: 1.35 !important;
  letter-spacing: -0.025em !important;
  color: rgba(245,255,251,0.96) !important;
  font-weight: 600 !important;
  max-width: 820px !important;
}
.company-page:not(.contact-page) .co-section, .privacy-policy-page .privacy-body, .privacy-policy-page .privacy-body h2, .privacy-policy-page section, .privacy-policy-page article {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.company-page .button, .company-page a.button, .contact-page .button, .contact-page a.button, .contact-page button.button, .privacy-policy-page .button, .privacy-policy-page a.button {
  color: rgba(244,251,255,.94) !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
}
.company-page .button:hover, .company-page a.button:hover, .contact-page .button:hover, .contact-page a.button:hover, .contact-page button.button:hover, .privacy-policy-page .button:hover, .privacy-policy-page a.button:hover {
  color: #fff !important;
  background: rgba(255,255,255,.085) !important;
  border-color: rgba(131,216,255,.34) !important;
}
.contact-page .contact-form, .contact-page form.contact-form {
  gap: 22px !important;
}
.contact-page .form-row {
  gap: 22px !important;
}
.contact-page .form-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.contact-page .form-field label {
  position: static !important;
  display: block !important;
  transform: none !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  background: transparent !important;
}
.contact-page .form-field input, .contact-page .form-field select, .contact-page .form-field textarea {
  min-height: 52px !important;
  padding: 15px 16px !important;
}
.contact-page .form-field textarea {
  min-height: 136px !important;
}
.privacy-policy-page .privacy-hero {
  width: var(--ll-v42-grid) !important;
  max-width: var(--ll-v42-grid) !important;
  margin: 0 auto !important;
  padding: 160px 0 42px !important;
  text-align: left !important;
  border: 0 !important;
}
[data-label="Use Case in Scope"] {
  display: none !important;
}
@media (max-width: 900px) {
:root {
    --ll-v42-grid: min(100% - 40px, 1240px);
    --ll-v42-left: 20px;
    --ll-v42-hero-h1: clamp(2.65rem, 11vw, 4.8rem);
  }
}
:root {
  --ll-v43-grid: min(1240px, calc(100vw - 56px));
  --ll-v43-hero-min: 86vh;
  --ll-v43-nav-offset: 64px;
}
.company-page .company-hero .section-inner {
  width: var(--ll-v43-grid) !important;
  max-width: var(--ll-v43-grid) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-self: center !important;
  transform: translateY(-1.5vh) !important;
  text-align: left !important;
  position: relative !important;
  z-index: 3 !important;
}
.company-page .company-hero h1 {
  max-width: 700px !important;
  font-size: clamp(2.8rem, 3.55vw, 4.45rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  margin: 0 !important;
}
.company-page .company-hero .hero-copy {
  max-width: 700px !important;
  margin-top: 1.35rem !important;
  font-size: clamp(1.05rem, 1.35vw, 1.35rem) !important;
  line-height: 1.45 !important;
  letter-spacing: -0.02em !important;
}
@media (max-width: 900px) {
.company-page .company-hero .section-inner {
    width: min(100% - 40px, 1240px) !important;
    transform: none !important;
  }
}
span[data-tech="HSI"], em[data-tech="HSI"], a[data-tech="HSI"], button[data-tech="HSI"] {display:none!important;}
.nav-toggle, .menu-toggle, .mobile-toggle, .hamburger, button[aria-label="Open menu"], button[aria-label="Menu"] {width:auto!important;min-width:92px!important;height:46px!important;border-radius:999px!important;padding:0 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;color:rgba(245,255,251,.96)!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:none!important;font-size:0!important;line-height:1!important;cursor:pointer!important;}
.nav-toggle::before, .menu-toggle::before, .mobile-toggle::before, .hamburger::before, button[aria-label="Open menu"]::before, button[aria-label="Menu"]::before {content:"Menu"!important;font-size:.82rem!important;font-weight:800!important;letter-spacing:.01em!important;color:rgba(245,255,251,.96)!important;}
.nav-toggle::after, .menu-toggle::after, .mobile-toggle::after, .hamburger::after, button[aria-label="Open menu"]::after, button[aria-label="Menu"]::after {content:"☰"!important;font-size:1.05rem!important;line-height:1!important;color:var(--accent,#8fd334)!important;}
.mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {z-index:9999!important;background:rgba(3,8,10,.97)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;border-top:1px solid rgba(255,255,255,.10)!important;}
.mobile-menu.open, .mobile-menu.is-open, .mobile-menu.active, .mobile-nav.open, .mobile-nav.is-open, .mobile-nav.active, .mobile-panel.open, .mobile-panel.is-open, .mobile-panel.active, .nav-mobile-panel.open, .nav-mobile-panel.is-open, .nav-mobile-panel.active, body.menu-open .mobile-menu, body.nav-open .mobile-menu, body.menu-open .mobile-nav, body.nav-open .mobile-nav {display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.mobile-menu a, .mobile-menu button, .mobile-nav a, .mobile-nav button, .mobile-panel a, .mobile-panel button, .nav-mobile-panel a, .nav-mobile-panel button {font-size:clamp(1.15rem,4.5vw,1.55rem)!important;}
@media(max-width:1100px) {
.desktop-nav {display:none!important}
.nav-toggle, .menu-toggle, .mobile-toggle, .hamburger, button[aria-label="Open menu"], button[aria-label="Menu"] {display:inline-flex!important}
}
@media(max-width:820px) {
.nav-toggle, .menu-toggle, .mobile-toggle, .hamburger, button[aria-label="Open menu"], button[aria-label="Menu"] {min-width:82px!important;height:42px!important;padding:0 14px!important}
}
.site-header .menu-toggle, .site-header [data-menu-toggle] {
  display: none !important;
}
.site-header .menu-toggle span, .site-header [data-menu-toggle] span, .site-header .menu-toggle svg, .site-header [data-menu-toggle] svg, .site-header .menu-toggle i, .site-header [data-menu-toggle] i {
  display: none !important;
}
.site-header .menu-toggle, .site-header [data-menu-toggle] {
  width: auto !important;
  min-width: 78px !important;
  height: 42px !important;
  border-radius: 999px !important;
  padding: 0 15px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  color: rgba(245,255,251,.96) !important;
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.site-header .menu-toggle::before, .site-header [data-menu-toggle]::before {
  content: "Menu" !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  color: rgba(245,255,251,.96) !important;
}
.site-header .menu-toggle::after, .site-header [data-menu-toggle]::after {
  content: "☰" !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  color: var(--accent, #8fd334) !important;
}
@media (max-width: 1100px) {
.site-header .desktop-nav, .site-header .mega-nav {
    display: none !important;
  }
.site-header .menu-toggle, .site-header [data-menu-toggle] {
    display: inline-flex !important;
  }
}
@media (min-width: 1101px) {
.site-header .desktop-nav, .site-header .mega-nav {
    display: flex !important;
  }
.site-header .menu-toggle, .site-header [data-menu-toggle] {
    display: none !important;
  }
}
@media (max-width: 1100px) {
.site-header {
    position: fixed;
    overflow: visible !important;
  }
.mobile-menu[data-mobile-menu], .mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {
    position: fixed !important;
    top: calc(18px + 58px) !important;
    right: max(18px, calc((100vw - 1240px) / 2 + 20px)) !important;
    left: auto !important;
    width: min(420px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 96px) !important;
    overflow-y: auto !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: rgba(3,8,10,.96) !important;
    box-shadow: 0 26px 80px rgba(0,0,0,.44) !important;
    padding: 1.1rem !important;
    transform-origin: top right !important;
  }
.mobile-menu:not(.open):not(.is-open):not(.active), .mobile-nav:not(.open):not(.is-open):not(.active), .mobile-panel:not(.open):not(.is-open):not(.active), .nav-mobile-panel:not(.open):not(.is-open):not(.active) {
    display: none !important;
  }
body.menu-open .mobile-menu, body.nav-open .mobile-menu, body.menu-open .mobile-nav, body.nav-open .mobile-nav, .mobile-menu.open, .mobile-menu.is-open, .mobile-menu.active, .mobile-nav.open, .mobile-nav.is-open, .mobile-nav.active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
.mobile-menu a, .mobile-menu button, .mobile-nav a, .mobile-nav button {
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
  }
.menu-toggle span, .nav-toggle span, .mobile-toggle span, .hamburger span {
    display: none !important;
  }
}
@media (max-width: 520px) {
.mobile-menu[data-mobile-menu], .mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {
    right: 12px !important;
    width: calc(100vw - 24px) !important;
    top: 76px !important;
  }
}
@media (max-width: 1100px) {
.mobile-menu[data-mobile-menu], .mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {
    position: fixed !important;
    top: 74px !important;
    right: max(18px, calc((100vw - 1240px) / 2 + 22px)) !important;
    left: auto !important;
    width: min(390px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 98px) !important;
    overflow-y: auto !important;
    padding: .85rem !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background:
      linear-gradient(180deg, rgba(12, 18, 20, .72), rgba(5, 9, 11, .58)) !important;
    box-shadow:
      0 24px 80px rgba(0,0,0,.42),
      inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(22px) saturate(1.25) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.25) !important;
    transform-origin: top right !important;
  }
.mobile-menu:not(.open):not(.is-open):not(.active), .mobile-nav:not(.open):not(.is-open):not(.active), .mobile-panel:not(.open):not(.is-open):not(.active), .nav-mobile-panel:not(.open):not(.is-open):not(.active) {
    display: none !important;
  }
body.menu-open .mobile-menu, body.nav-open .mobile-menu, body.menu-open .mobile-nav, body.nav-open .mobile-nav, .mobile-menu.open, .mobile-menu.is-open, .mobile-menu.active, .mobile-nav.open, .mobile-nav.is-open, .mobile-nav.active, .mobile-panel.open, .mobile-panel.is-open, .mobile-panel.active, .nav-mobile-panel.open, .nav-mobile-panel.is-open, .nav-mobile-panel.active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
.mobile-menu a, .mobile-menu button, .mobile-nav a, .mobile-nav button, .mobile-panel a, .mobile-panel button, .nav-mobile-panel a, .nav-mobile-panel button {
    border-radius: 16px !important;
    color: rgba(245,255,251,.94) !important;
    background: rgba(255,255,255,.025) !important;
    border-color: rgba(255,255,255,.08) !important;
  }
.mobile-menu a:hover, .mobile-menu button:hover, .mobile-nav a:hover, .mobile-nav button:hover, .mobile-panel a:hover, .mobile-panel button:hover, .nav-mobile-panel a:hover, .nav-mobile-panel button:hover {
    background: rgba(143,211,52,.10) !important;
    border-color: rgba(143,211,52,.22) !important;
  }
}
@media (max-width: 520px) {
.mobile-menu[data-mobile-menu], .mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {
    right: 12px !important;
    width: calc(100vw - 24px) !important;
    top: 76px !important;
    border-radius: 22px !important;
  }
}
.site-header .mega-list-grid.rd-three, .site-header .mega-list-grid.solutions-three {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.mobile-menu .mobile-sub-link {
  font-size: 1.05rem !important;
  color: rgba(245,255,251,.68) !important;
  padding-left: 1.25rem !important;
}
.mobile-menu .mobile-sub-link::before {
  content: "↳ ";
  color: var(--accent, #8fd334);
}
.proof-check {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #07100c;
  background: linear-gradient(135deg, var(--accent, #8fd334), #d8f7b0);
  font-weight: 950;
  box-shadow: 0 0 26px rgba(143,211,52,.28);
  margin-top: .18rem;
}
.proof-tick {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #07100c;
  background: linear-gradient(135deg, var(--accent, #8fd334), #d8f7b0);
  font-weight: 950;
  box-shadow: 0 0 26px rgba(143,211,52,.28);
  margin-top: .18rem;
}
.home-clean-v04 .section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.home-what-v04 {
  padding-top: clamp(54px, 6vw, 82px) !important;
  padding-bottom: clamp(44px, 5vw, 70px) !important;
}
.home-what-grid-v04 {
  width: min(1320px, calc(100% - 40px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, .75fr) 1px minmax(0, 1.25fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  align-items: center;
}
.what-copy-v04 h2 {
  margin: 0 0 22px !important;
  font-size: clamp(24px, 3.3vw, 44px) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(247,244,236,.92) !important;
  text-shadow: 0 8px 24px rgba(0,0,0,.38) !important;
}
.what-copy-v04 p {
  margin: 0 !important;
  max-width: 520px !important;
  color: rgba(245,255,251,.82) !important;
  font-size: clamp(24px, 2.7vw, 34px) !important;
  line-height: 1.22 !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
}
.what-divider-v04 {
  width: 1px;
  min-height: 260px;
  background: linear-gradient(180deg, transparent, rgba(216,247,176,.42), rgba(124,216,255,.22), transparent);
  box-shadow: 0 0 28px rgba(143,211,52,.16);
}
.what-proof-list-v04 {
  display: grid;
  gap: 1.45rem;
}
.proof-item-v04 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  padding: .75rem 0;
}
.proof-item-v04 h3 {
  margin: 0 0 8px !important;
  font-size: clamp(23px, 2.2vw, 32px) !important;
  letter-spacing: -0.045em !important;
  line-height: 1.05 !important;
}
.proof-item-v04 p {
  margin: 0 !important;
  max-width: 720px;
  color: rgba(245,255,251,.72) !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
}
.home-tech-v04 {
  padding-top: clamp(36px, 5vw, 64px) !important;
  padding-bottom: clamp(70px, 8vw, 112px) !important;
}
.home-tech-card-grid-v04 {
  width: min(1320px, calc(100% - 40px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.85rem, 1.6vw, 1.1rem);
}
.home-tech-card-v04 {
  --card-accent: var(--accent, #8fd334);
  position: relative;
  min-height: 410px;
  padding: clamp(1.2rem, 2vw, 1.55rem);
  border: 1px solid color-mix(in srgb, var(--card-accent) 72%, rgba(255,255,255,.16));
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 26%, color-mix(in srgb, var(--card-accent) 16%, transparent), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
  transition: transform .24s var(--ease), box-shadow .24s var(--ease), border-color .24s var(--ease), background .24s var(--ease);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.home-tech-card-v04:hover {
  transform: translateY(-5px);
  border-color: var(--card-accent);
  box-shadow: 0 32px 100px rgba(0,0,0,.36), 0 0 52px color-mix(in srgb, var(--card-accent) 34%, transparent);
}
.home-tech-card-v04.card-ai { --card-accent: #ffb15c; }
.home-tech-card-v04.card-hsi { --card-accent: #7cd8ff; }
.home-tech-card-v04.card-eo { --card-accent: #c6a8ff; }
.home-tech-card-v04.card-env { --card-accent: #8fd334; }
.tech-image-wrap {
  width: 100%;
  height: 160px;
  display: grid;
  place-items: center;
  margin: 0 auto 1.15rem;
  pointer-events: none;
}
.tech-image-wrap img {
  display: block;
  max-width: 94%;
  max-height: 160px;
  object-fit: contain;
  filter: drop-shadow(0 24px 34px rgba(0,0,0,.38)) drop-shadow(0 0 24px color-mix(in srgb, var(--card-accent) 24%, transparent));
  transition: transform .24s var(--ease), filter .24s var(--ease);
}
.home-tech-card-v04:hover .tech-image-wrap img {
  transform: translateY(-4px) scale(1.035);
  filter: drop-shadow(0 30px 42px rgba(0,0,0,.42)) drop-shadow(0 0 34px color-mix(in srgb, var(--card-accent) 38%, transparent));
}
.home-tech-card-v04 h3 {
  margin: auto 0 .85rem !important;
  font-size: clamp(25px, 2.35vw, 35px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
}
.home-tech-card-v04 p {
  margin: 0 !important;
  color: rgba(245,255,251,.74) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
@media (max-width: 980px) {
.home-what-grid-v04 {
    grid-template-columns: 1fr !important;
  }
.home-tech-card-grid-v04 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
.what-divider-v04 {
    min-height: 1px;
    width: 100%;
    background: linear-gradient(90deg, transparent, rgba(216,247,176,.42), rgba(124,216,255,.22), transparent);
  }
.home-tech-card-v04 {
    min-height: 390px;
  }
}
@media (max-width: 620px) {
.home-what-grid-v04, .home-tech-card-grid-v04 {
    width: min(100% - 32px, 520px) !important;
  }
.home-tech-card-grid-v04 {
    grid-template-columns: 1fr !important;
  }
.what-copy-v04 h2 {
    font-size: 24px !important;
  }
.what-copy-v04 p {
    font-size: 24px !important;
  }
.tech-image-wrap {
    height: 170px;
  }
.tech-image-wrap img {
    max-height: 170px;
  }
}
.home-hero-v05 > .section-inner {
  position: relative !important;
  z-index: 2 !important;
  width: min(var(--max), calc(100% - 40px)) !important;
  max-width: var(--max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.home-hero-v05 h1 {
  max-width: 1000px !important;
  font-size: clamp(48px, 5.15vw, 72px) !important;
  line-height: .98 !important;
  letter-spacing: -0.072em !important;
  margin: 0 0 24px !important;
}
.home-hero-v05 .hero-copy {
  max-width: none !important;
  width: max-content !important;
  white-space: nowrap !important;
  font-size: clamp(18px, 1.45vw, 21px) !important;
  line-height: 1.38 !important;
  color: rgba(247,244,236,.78) !important;
}
.what-copy-v04 h2 {
  margin: 0 0 1.15rem !important;
  font-size: clamp(1.45rem, 2.15vw, 2rem) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(230, 222, 214, 0.88) !important;
  text-shadow: none !important;
}
.what-copy-v04 p {
  margin: 0 !important;
  max-width: 520px !important;
  color: rgba(247,244,236,.82) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
.proof-item-v04 h3 {
  color: var(--accent) !important;
}
.home-tech-card-v04 h3 {
  text-align: center !important;
  width: 100% !important;
}
@media (max-width: 980px) {
.home-hero-v05 h1 {
    max-width: 760px !important;
    font-size: clamp(44px, 10vw, 66px) !important;
  }
.home-hero-v05 .hero-copy {
    width: auto !important;
    white-space: normal !important;
  }
}
@media (max-width: 620px) {
.home-hero-v05 h1 {
    max-width: 100% !important;
    font-size: clamp(42px, 12vw, 58px) !important;
  }
.what-copy-v04 p {
    font-size: 16px !important;
  }
}
@media (max-width: 1100px) {
.mobile-menu[data-mobile-menu], .mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {
    position: fixed !important;
    top: 86px !important;
    left: 18px !important;
    right: 18px !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 108px) !important;
    overflow-y: auto !important;
    display: none !important;
    padding: .35rem 0 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
    z-index: 9998 !important;
  }
body.menu-open .mobile-menu, body.nav-open .mobile-menu, .mobile-menu.open, .mobile-menu.is-open, .mobile-menu.active {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .16rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
.mobile-menu a, .mobile-menu button, .mobile-menu .mobile-top-link, .mobile-menu .mobile-menu-parent, .mobile-menu .mobile-sub-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: .46rem .65rem !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(245,255,251,.96) !important;
    font-size: clamp(1.08rem, 4.2vw, 1.34rem) !important;
    font-weight: 700 !important;
    line-height: 1.16 !important;
    letter-spacing: -.02em !important;
    text-align: left !important;
    text-decoration: none !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.82), 0 1px 2px rgba(0,0,0,.72) !important;
  }
.mobile-menu .mobile-menu-section {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
.mobile-menu .mobile-menu-parent {
    cursor: pointer !important;
    font-family: inherit !important;
  }
.mobile-menu .mobile-menu-parent::after {
    content: "+" !important;
    color: var(--accent, #8fd334) !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    margin-left: 1rem !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.82) !important;
  }
.mobile-menu .mobile-menu-section.open > .mobile-menu-parent::after {
    content: "−" !important;
  }
.mobile-menu .mobile-sub-list {
    display: none !important;
    flex-direction: column !important;
    gap: .04rem !important;
    padding: .02rem 0 .18rem .95rem !important;
    margin: 0 !important;
    background: transparent !important;
  }
.mobile-menu .mobile-menu-section.open > .mobile-sub-list {
    display: flex !important;
  }
.mobile-menu .mobile-sub-link {
    min-height: 36px !important;
    padding: .34rem .65rem .34rem .95rem !important;
    color: rgba(245,255,251,.82) !important;
    font-size: clamp(.98rem, 3.75vw, 1.12rem) !important;
    font-weight: 600 !important;
    letter-spacing: -.01em !important;
  }
.mobile-menu .mobile-sub-link::before {
    content: "" !important;
    display: none !important;
  }
.mobile-menu a:hover, .mobile-menu button:hover, .mobile-menu a:focus-visible, .mobile-menu button:focus-visible {
    color: #fff !important;
    background: transparent !important;
    outline: none !important;
  }
}
@media (max-width: 520px) {
.mobile-menu[data-mobile-menu], .mobile-menu {
    top: 78px !important;
    left: 16px !important;
    right: 16px !important;
  }
}
@media (max-width: 1100px) {
.mobile-menu[data-mobile-menu], .mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {
    position: fixed !important;
    top: 94px !important;
    right: 20px !important;
    left: auto !important;
    width: min(320px, calc(100vw - 32px)) !important;
    max-width: min(320px, calc(100vw - 32px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 112px) !important;
    overflow-y: auto !important;
    display: none !important;
    padding: .72rem !important;
    margin: 0 !important;
    border: 1px solid rgba(170, 226, 255, .18) !important;
    border-radius: 22px !important;
    background: rgba(5, 11, 14, .76) !important;
    background-image: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)) !important;
    box-shadow: 0 22px 60px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(18px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
    transform: none !important;
    z-index: 9998 !important;
  }
body.menu-open .mobile-menu, body.nav-open .mobile-menu, .mobile-menu.open, .mobile-menu.is-open, .mobile-menu.active, .mobile-nav.open, .mobile-nav.is-open, .mobile-nav.active, .mobile-panel.open, .mobile-panel.is-open, .mobile-panel.active, .nav-mobile-panel.open, .nav-mobile-panel.is-open, .nav-mobile-panel.active {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .12rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
.mobile-menu a, .mobile-menu button, .mobile-menu .mobile-top-link, .mobile-menu .mobile-menu-parent, .mobile-menu .mobile-sub-link {
    min-height: 38px !important;
    padding: .48rem .62rem !important;
    border-radius: 14px !important;
    text-shadow: none !important;
    font-size: clamp(1rem, 3.55vw, 1.15rem) !important;
    line-height: 1.15 !important;
  }
.mobile-menu .mobile-top-link, .mobile-menu .mobile-menu-parent {
    color: rgba(247,255,252,.96) !important;
    font-weight: 760 !important;
  }
.mobile-menu .mobile-menu-parent::after {
    font-size: 1.08rem !important;
    margin-left: .75rem !important;
    text-shadow: none !important;
  }
.mobile-menu .mobile-sub-list {
    padding: .08rem 0 .28rem .58rem !important;
    gap: .06rem !important;
  }
.mobile-menu .mobile-sub-link {
    min-height: 34px !important;
    padding: .36rem .55rem .36rem .72rem !important;
    color: rgba(225,239,235,.82) !important;
    font-size: clamp(.92rem, 3.2vw, 1.02rem) !important;
    font-weight: 620 !important;
  }
.mobile-menu a:hover, .mobile-menu button:hover, .mobile-menu a:focus-visible, .mobile-menu button:focus-visible {
    color: #fff !important;
    background: rgba(255,255,255,.055) !important;
    outline: none !important;
  }
}
@media (max-width: 520px) {
.mobile-menu[data-mobile-menu], .mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {
    top: 92px !important;
    right: 14px !important;
    left: auto !important;
    width: min(304px, calc(100vw - 28px)) !important;
    max-width: min(304px, calc(100vw - 28px)) !important;
    padding: .64rem !important;
    border-radius: 20px !important;
  }
}
@media (max-width: 1100px) {
.mobile-menu[data-mobile-menu], .mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 112px) !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    padding: .56rem !important;
    gap: .06rem !important;
  }
body.menu-open .mobile-menu, body.nav-open .mobile-menu, .mobile-menu.open, .mobile-menu.is-open, .mobile-menu.active, .mobile-nav.open, .mobile-nav.is-open, .mobile-nav.active, .mobile-panel.open, .mobile-panel.is-open, .mobile-panel.active, .nav-mobile-panel.open, .nav-mobile-panel.is-open, .nav-mobile-panel.active {
    height: auto !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    align-content: flex-start !important;
  }
.mobile-menu > *, .mobile-menu .mobile-menu-section {
    flex: 0 0 auto !important;
  }
.mobile-menu a, .mobile-menu button, .mobile-menu .mobile-top-link, .mobile-menu .mobile-menu-parent, .mobile-menu .mobile-sub-link {
    min-height: 36px !important;
    padding-top: .38rem !important;
    padding-bottom: .38rem !important;
  }
.mobile-menu .mobile-sub-list {
    padding-top: .02rem !important;
    padding-bottom: .18rem !important;
  }
}
@media (max-width: 520px) {
.mobile-menu[data-mobile-menu], .mobile-menu, .mobile-nav, .mobile-panel, .nav-mobile-panel {
    padding: .5rem !important;
  }
}
.luciet-title {
  color: var(--text) !important;
}
.agrioptic-connect-title .agri, .agrioptic-connect-title .connect-word {
  color: var(--text) !important;
}
.agrioptic-connect-title .optic {
  color: var(--accent) !important;
}
.industry-card-orb, .agrioptic-connect-page .industry-card-orb, .luciet-page .industry-card-orb {
  border-color: rgba(255,255,255,.14) !important;
  box-shadow:
    0 0 0 9px rgba(4,8,16,.92),
    0 0 0 10px rgba(255,255,255,.08),
    0 16px 28px rgba(0,0,0,.34) !important;
}
.industry-card-orb::before, .agrioptic-connect-page .industry-card-orb::before, .luciet-page .industry-card-orb::before {
  opacity: 0 !important;
}
.industry-card:hover .industry-card-orb, .agrioptic-connect-page .industry-card:hover .industry-card-orb, .luciet-page .industry-card:hover .industry-card-orb {
  border-color: var(--industry-accent) !important;
  box-shadow:
    0 0 0 9px rgba(4,8,16,.92),
    0 0 0 10px color-mix(in srgb, var(--industry-accent) 44%, rgba(255,255,255,.12)),
    0 20px 34px rgba(0,0,0,.36),
    0 0 34px var(--industry-glow) !important;
}
.industry-card:hover .industry-card-orb::before, .agrioptic-connect-page .industry-card:hover .industry-card-orb::before, .luciet-page .industry-card:hover .industry-card-orb::before {
  opacity: .72 !important;
}
.about-page .about-mission-v12 .home-what-grid-v04, .about-page .about-capabilities-v43 .home-what-grid-v04, .rd-page .vision-v16 .home-what-grid-v04 {
  display: block !important;
  width: min(1320px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
}
.about-page .about-mission-v12 .what-copy-v04, .about-page .about-capabilities-v43 .what-copy-v04, .rd-page .vision-v16 .what-copy-v04 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 clamp(28px, 4vw, 52px) !important;
}
.about-page .about-mission-v12 .what-copy-v04 h2, .about-page .about-capabilities-v43 .what-copy-v04 h2, .rd-page .vision-v16 .what-copy-v04 h2, .about-page .about-mission-v12 .what-copy-v04 p, .about-page .about-capabilities-v43 .what-copy-v04 p, .rd-page .vision-v16 .what-copy-v04 p {
  max-width: none !important;
  width: 100% !important;
}
.about-page .about-mission-v12 .what-divider-v04, .about-page .about-capabilities-v43 .what-divider-v04, .rd-page .vision-v16 .what-divider-v04 {
  display: none !important;
}
.about-page .about-mission-v12 .what-proof-list-v04, .about-page .about-capabilities-v43 .what-proof-list-v04, .rd-page .vision-v16 .what-proof-list-v04 {
  display: grid !important;
  column-gap: clamp(2.4rem, 5vw, 5.5rem) !important;
  row-gap: clamp(2rem, 4vw, 3.25rem) !important;
  align-items: start !important;
  margin-top: 0 !important;
}
.about-page .about-mission-v12 .what-proof-list-v04, .about-page .about-capabilities-v43 .what-proof-list-v04 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.rd-page .vision-v16 .what-proof-list-v04 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.about-page .about-mission-v12 .proof-item-v04, .about-page .about-capabilities-v43 .proof-item-v04, .rd-page .vision-v16 .proof-item-v04 {
  min-width: 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
}
.about-page .about-mission-v12 .proof-item-v04:nth-child(even), .about-page .about-capabilities-v43 .proof-item-v04:nth-child(even), .rd-page .vision-v16 .proof-item-v04:nth-child(3n+2), .rd-page .vision-v16 .proof-item-v04:nth-child(3n+3) {
  border-left: 1px solid rgba(216,247,176,.18) !important;
  padding-left: clamp(2.4rem, 5vw, 5.5rem) !important;
}
.about-page .about-mission-v12 .proof-item-v04 p, .about-page .about-capabilities-v43 .proof-item-v04 p, .rd-page .vision-v16 .proof-item-v04 p {
  max-width: none !important;
}
.agrioptic-page .agrioptic-section#overview .agrioptic-overview-grid, .luciet-page .agrioptic-section#overview .agrioptic-overview-grid, .agrioptic-connect-page .agrioptic-section#overview .agrioptic-overview-grid {
  display: block !important;
  width: min(1320px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
}
.agrioptic-page .agrioptic-section#overview .agrioptic-logo-card, .luciet-page .agrioptic-section#overview .agrioptic-logo-card, .agrioptic-connect-page .agrioptic-section#overview .agrioptic-logo-card, .agrioptic-page .agrioptic-section#overview .agrioptic-divider, .luciet-page .agrioptic-section#overview .agrioptic-divider, .agrioptic-connect-page .agrioptic-section#overview .agrioptic-divider {
  display: none !important;
}
.agrioptic-page .agrioptic-section#overview .agrioptic-capability-copy, .luciet-page .agrioptic-section#overview .agrioptic-capability-copy, .agrioptic-connect-page .agrioptic-section#overview .agrioptic-capability-copy {
  width: 100% !important;
  max-width: none !important;
}
.agrioptic-page .agrioptic-section#overview .agrioptic-capability-copy h2, .luciet-page .agrioptic-section#overview .agrioptic-capability-copy h2, .agrioptic-connect-page .agrioptic-section#overview .agrioptic-capability-copy h2, .agrioptic-page .agrioptic-section#overview .agrioptic-capability-copy > p, .luciet-page .agrioptic-section#overview .agrioptic-capability-copy > p, .agrioptic-connect-page .agrioptic-section#overview .agrioptic-capability-copy > p {
  max-width: none !important;
  width: 100% !important;
}
.agrioptic-page .agrioptic-section#overview .capability-list, .luciet-page .agrioptic-section#overview .capability-list, .agrioptic-connect-page .agrioptic-section#overview .capability-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 0 !important;
  row-gap: clamp(2rem, 4vw, 3.25rem) !important;
  margin-top: clamp(36px, 4vw, 58px) !important;
  padding-top: 0 !important;
}
.agrioptic-page .agrioptic-section#overview .capability-item, .luciet-page .agrioptic-section#overview .capability-item, .agrioptic-connect-page .agrioptic-section#overview .capability-item {
  border-top: 0 !important;
  padding: 0 clamp(1.4rem, 2.8vw, 2.8rem) !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
}
.agrioptic-page .agrioptic-section#overview .capability-item:nth-child(3n+2), .agrioptic-page .agrioptic-section#overview .capability-item:nth-child(3n+3), .luciet-page .agrioptic-section#overview .capability-item:nth-child(3n+2), .luciet-page .agrioptic-section#overview .capability-item:nth-child(3n+3), .agrioptic-connect-page .agrioptic-section#overview .capability-item:nth-child(3n+2), .agrioptic-connect-page .agrioptic-section#overview .capability-item:nth-child(3n+3) {
  border-left: 1px solid rgba(216,247,176,.18) !important;
}
@media (max-width: 980px) {
.about-page .about-mission-v12 .what-proof-list-v04, .about-page .about-capabilities-v43 .what-proof-list-v04, .rd-page .vision-v16 .what-proof-list-v04, .agrioptic-page .agrioptic-section#overview .capability-list, .luciet-page .agrioptic-section#overview .capability-list, .agrioptic-connect-page .agrioptic-section#overview .capability-list {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }
.about-page .about-mission-v12 .proof-item-v04:nth-child(even), .about-page .about-capabilities-v43 .proof-item-v04:nth-child(even), .rd-page .vision-v16 .proof-item-v04:nth-child(3n+2), .rd-page .vision-v16 .proof-item-v04:nth-child(3n+3), .agrioptic-page .agrioptic-section#overview .capability-item:nth-child(3n+2), .agrioptic-page .agrioptic-section#overview .capability-item:nth-child(3n+3), .luciet-page .agrioptic-section#overview .capability-item:nth-child(3n+2), .luciet-page .agrioptic-section#overview .capability-item:nth-child(3n+3), .agrioptic-connect-page .agrioptic-section#overview .capability-item:nth-child(3n+2), .agrioptic-connect-page .agrioptic-section#overview .capability-item:nth-child(3n+3) {
    border-left: 0 !important;
    padding-left: 0 !important;
  }
.agrioptic-page .agrioptic-section#overview .capability-item, .luciet-page .agrioptic-section#overview .capability-item, .agrioptic-connect-page .agrioptic-section#overview .capability-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (min-width: 901px) {
.agrioptic-connect-page .industry-card-grid.agrioptic-connect-grid, .agrioptic-connect-page .agrioptic-connect-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 1400px !important;
    gap: 32px !important;
  }
.agrioptic-connect-page .industry-card-grid.agrioptic-connect-grid .industry-card {
    min-height: 0 !important;
    padding: 34px 52px 34px 34px !important;
  }
.agrioptic-connect-page .industry-card-grid.agrioptic-connect-grid .industry-card ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 34px !important;
    row-gap: 16px !important;
    padding-right: 70px !important;
  }
}
@media (min-width: 701px) and (max-width: 900px) {
.agrioptic-connect-page .industry-card-grid.agrioptic-connect-grid, .agrioptic-connect-page .agrioptic-connect-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}
@media (max-width: 700px) {
.agrioptic-connect-page .industry-card-grid.agrioptic-connect-grid, .agrioptic-connect-page .agrioptic-connect-grid {
    grid-template-columns: 1fr !important;
  }
.agrioptic-connect-page .industry-card-grid.agrioptic-connect-grid .industry-card ul {
    grid-template-columns: 1fr !important;
    padding-right: 48px !important;
  }
}
@media (min-width: 901px) {
.agrioptic-connect-page .industry-card-grid.agrioptic-connect-grid .industry-card ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 14px !important;
    padding-right: 74px !important;
    max-width: none !important;
  }
}
.agrioptic-workflow-figure {
  margin:34px 0 38px;
  width:100%;
  max-width:1280px;
  border:1px solid rgba(114,214,255,.32);
  border-radius:24px;
  overflow:hidden;
  background:rgba(5,10,18,.64);
  box-shadow:0 28px 70px rgba(0,0,0,.42), 0 0 34px rgba(53,211,178,.12);
}
.agrioptic-workflow-figure img {
  display:block;
  width:100%;
  height:auto;
}
@media (max-width: 768px) {
.agrioptic-workflow-figure {
    margin:26px 0 30px;
    border-radius:18px;
  }
}
.workflow-interactive {
  position:relative;
}
.workflow-instruction {
  margin:24px 0 14px;
  color:rgba(218,230,243,.78);
  font-size:.98rem;
  line-height:1.6;
}
.workflow-hotspot {
  position:absolute;
  z-index:4;
  border:1px solid transparent;
  border-radius:18px;
  background:rgba(114,214,255,.02);
  cursor:pointer;
  padding:0;
  color:transparent;
  transition:border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease;
}
.workflow-hotspot span {
  position:absolute;
  inset:auto auto 12px 12px;
  opacity:0;
  pointer-events:none;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(3,9,16,.76);
  color:rgba(244,250,255,.92);
  font-size:.72rem;
  letter-spacing:.02em;
  white-space:nowrap;
  transform:translateY(5px);
  transition:opacity .22s ease, transform .22s ease;
}
.workflow-hotspot:hover, .workflow-hotspot:focus-visible {
  border-color:rgba(114,214,255,.62);
  background:rgba(114,214,255,.08);
  box-shadow:0 0 24px rgba(114,214,255,.18), inset 0 0 28px rgba(114,214,255,.07);
  outline:none;
  transform:scale(1.01);
}
.workflow-hotspot:hover span, .workflow-hotspot:focus-visible span {
  opacity:1;
  transform:translateY(0);
}
.hotspot-inputs {left:1.3%; top:2%; width:45.8%; height:24%;}
.hotspot-ai {left:50.1%; top:2%; width:45.8%; height:22%;}
.hotspot-land {left:1.2%; top:27%; width:60.5%; height:36%;}
.hotspot-insights {left:65%; top:29%; width:33.2%; height:33%;}
.hotspot-foundation {left:1.2%; top:65%; width:51.8%; height:17%;}
.hotspot-carbon {left:5.4%; top:84%; width:47.2%; height:12%;}
.hotspot-outputs {left:62.6%; top:66%; width:36%; height:15%;}
.hotspot-loop {left:59.8%; top:84%; width:37.6%; height:12%;}
.workflow-modal {
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.workflow-modal.is-open {
  opacity:1;
  pointer-events:auto;
}
.workflow-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(2,6,12,.55);
  backdrop-filter:blur(4px);
}
.workflow-modal-card {
  position:relative;
  width:min(680px, 92vw);
  padding:32px 34px 34px;
  border:1px solid rgba(255,255,255,.14);
  border-left:5px solid #72d6ff;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(7,14,25,.88), rgba(10,18,31,.74));
  box-shadow:0 32px 90px rgba(0,0,0,.55), 0 0 45px rgba(114,214,255,.11);
  color:#fff;
  backdrop-filter:blur(18px);
}
.workflow-modal-card[data-accent="green"] {border-left-color:#a9f26a; box-shadow:0 32px 90px rgba(0,0,0,.55), 0 0 45px rgba(169,242,106,.12);}
.workflow-modal-card[data-accent="teal"] {border-left-color:#35d3b2; box-shadow:0 32px 90px rgba(0,0,0,.55), 0 0 45px rgba(53,211,178,.12);}
.workflow-modal-card[data-accent="purple"] {border-left-color:#a98cff; box-shadow:0 32px 90px rgba(0,0,0,.55), 0 0 45px rgba(169,140,255,.12);}
.workflow-modal-card[data-accent="blue"] {border-left-color:#72d6ff;}
.workflow-modal-eyebrow {
  color:rgba(169,242,106,.88);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  font-weight:800;
  margin-bottom:12px;
}
.workflow-modal-card h3 {
  margin:0 44px 14px 0;
  font-size:clamp(1.55rem, 3vw, 2.25rem);
  line-height:1.06;
}
.workflow-modal-card p {
  margin:0;
  color:rgba(235,244,255,.82);
  font-size:1.03rem;
  line-height:1.68;
}
.workflow-modal-close {
  position:absolute;
  top:16px;
  right:18px;
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:1.45rem;
  line-height:1;
  cursor:pointer;
}
.workflow-modal-close:hover {background:rgba(255,255,255,.12);}
@media (max-width: 768px) {
.workflow-instruction {margin:18px 0 12px;}
.workflow-hotspot {border-radius:10px;}
.workflow-hotspot span {display:none;}
.workflow-modal-card {padding:26px 24px 28px; border-radius:20px;}
}
.company-hero h1 {
  color: rgba(255,255,255,.96) !important;
  text-shadow: 0 0 8px rgba(255,255,255,.14), 0 3px 18px rgba(0,0,0,.68) !important;
}
.company-hero .hero-copy {
  color: #a6de4e !important;
  font-weight: 600 !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.66), 0 0 18px rgba(166,222,78,.16) !important;
}
.company-hero .section-inner {
  z-index: 5 !important;
}
.rd-page .vision-v16 .what-copy-v04 p {
  max-width: min(1100px, 100%) !important;
  width: 100% !important;
}
.about-page .about-mission-v12 .what-copy-v04 p, .about-page .about-capabilities-v43 .what-copy-v04 p, .rd-page .vision-v16 .what-copy-v04 p {
  max-width: min(1180px, 100%) !important;
  width: 100% !important;
}
.desktop-nav a.is-active, .desktop-nav .nav-item.is-active > a, .desktop-nav a[aria-current="page"] {
  color: #b9f06a !important;
  text-shadow: 0 0 14px rgba(185,240,106,.22);
}
.mobile-menu a.is-active, .mobile-menu a[aria-current="page"] {
  color: #b9f06a !important;
}
.company-hero .hero-copy, .home-hero-copy-v05, .hero-copy {
  color: rgba(247,244,236,.84) !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.66) !important;
}
.about-page .company-hero .hero-copy, .company-page .company-hero .hero-copy {
  color: rgba(247,244,236,.84) !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.66) !important;
}
.luciet-workflow-figure {
  margin: clamp(28px, 4vw, 46px) 0 clamp(30px, 4.5vw, 54px);
}
.luciet-workflow-figure img {
  display: block;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  border-radius: 24px;
  border: 1px solid rgba(127,234,202,.34);
  box-shadow: 0 28px 90px rgba(0,0,0,.42), 0 0 38px rgba(127,234,202,.10);
  background: rgba(4,10,18,.72);
}
body.about-page main .about-mission-v12 .home-what-grid-v04, body.rd-page main .vision-v16 .home-what-grid-v04 {
  display: block !important;
  width: min(1320px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
}
body.about-page main .about-mission-v12 .what-copy-v04, body.rd-page main .vision-v16 .what-copy-v04 {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: block !important;
  margin: 0 0 clamp(28px, 4vw, 52px) !important;
}
body.about-page main .about-mission-v12 .what-copy-v04::before, body.about-page main .about-mission-v12 .what-copy-v04::after, body.rd-page main .vision-v16 .what-copy-v04::before, body.rd-page main .vision-v16 .what-copy-v04::after {
  display: none !important;
  content: none !important;
}
body.about-page main .about-mission-v12 .what-copy-v04 h2, body.rd-page main .vision-v16 .what-copy-v04 h2 {
  color: rgba(230,222,214,.92) !important;
  text-shadow: none !important;
  margin: 0 0 18px !important;
}
body.about-page main .about-mission-v12 .what-copy-v04 p, body.rd-page main .vision-v16 .what-copy-v04 p {
  display: block !important;
  width: 100% !important;
  max-width: min(1180px, 100%) !important;
  color: var(--muted) !important;
  text-shadow: none !important;
  font-size: clamp(1.02rem, 1.55vw, 1.28rem) !important;
  line-height: 1.62 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}
body.about-page main .about-mission-v12 .what-divider-v04, body.rd-page main .vision-v16 .what-divider-v04 {
  display: none !important;
}
body.about-page main .about-mission-v12 .what-proof-list-v04, body.rd-page main .vision-v16 .what-proof-list-v04 {
  width: 100% !important;
  margin-top: 0 !important;
}
.luciet-workflow-figure.workflow-interactive { position: relative; }
.luciet-workflow-figure .luciet-hotspot-context { left: 1.5%; top: 13%; width: 21%; height: 39%; }
.luciet-workflow-figure .luciet-hotspot-evidence { left: 51%; top: 13%; width: 22.5%; height: 43%; }
.luciet-workflow-figure .luciet-hotspot-ai { left: 76%; top: 13%; width: 22%; height: 43%; }
.luciet-workflow-figure .luciet-hotspot-provenance { left: 1.5%; top: 61%; width: 30%; height: 27%; }
.luciet-workflow-figure .luciet-hotspot-outputs { left: 34%; top: 61%; width: 29%; height: 27%; }
.luciet-workflow-figure .luciet-hotspot-connections { left: 65.5%; top: 61%; width: 32%; height: 27%; }
.luciet-workflow-figure .luciet-hotspot-principles { left: 1.5%; top: 90%; width: 96%; height: 8%; border-radius: 14px; }
@media (max-width: 768px) {
.luciet-workflow-figure .workflow-hotspot { border-radius: 10px; }
}
.rd-workflow-section .agrioptic-overview-grid { align-items: start; }
.rd-workflow-figure, .connect-workflow-figure { margin: clamp(28px, 4vw, 46px) 0 clamp(30px, 4.5vw, 54px); }
.rd-workflow-figure img, .connect-workflow-figure img { display:block; width:100%; max-width:1280px; margin:0 auto; border-radius:24px; border:1px solid rgba(127,234,202,.34); box-shadow:0 28px 90px rgba(0,0,0,.42), 0 0 38px rgba(127,234,202,.10); background:rgba(4,10,18,.72); }
.rd-workflow-figure.workflow-interactive, .connect-workflow-figure.workflow-interactive { position:relative; }
.rd-workflow-figure .rd-hotspot-sensing { left:1%; top:10%; width:20%; height:53%; }
.rd-workflow-figure .rd-hotspot-core { left:23.5%; top:10%; width:38%; height:54%; }
.rd-workflow-figure .rd-hotspot-trust { left:62.5%; top:10%; width:18.5%; height:52%; }
.rd-workflow-figure .rd-hotspot-solutions { left:82%; top:9%; width:16%; height:56%; }
.rd-workflow-figure .rd-hotspot-operating { left:2%; top:66%; width:55%; height:21%; }
.rd-workflow-figure .rd-hotspot-ecosystem { left:58%; top:67%; width:40%; height:19%; }
.rd-workflow-figure .rd-hotspot-principles { left:2%; top:89%; width:96%; height:9%; border-radius:14px; }
.connect-workflow-figure .connect-hotspot-sources { left:1%; top:10%; width:19%; height:67%; }
.connect-workflow-figure .connect-hotspot-stakeholders { left:22%; top:14%; width:57%; height:14%; }
.connect-workflow-figure .connect-hotspot-shared { left:24%; top:28%; width:50%; height:43%; }
.connect-workflow-figure .connect-hotspot-workflows { left:79%; top:9%; width:18%; height:48%; }
.connect-workflow-figure .connect-hotspot-trust { left:20%; top:72%; width:54%; height:16%; }
.connect-workflow-figure .connect-hotspot-outputs { left:75%; top:57%; width:23%; height:30%; }
.connect-workflow-figure .connect-hotspot-principles { left:2%; top:90%; width:96%; height:9%; border-radius:14px; }
@media (max-width: 768px) {
.rd-workflow-figure img, .connect-workflow-figure img { border-radius:18px; }
.rd-workflow-figure .workflow-hotspot, .connect-workflow-figure .workflow-hotspot { border-radius:10px; }
}
.rd-workflow-section .section-inner {
  max-width: 1180px;
  margin: 0 auto;
}
.rd-workflow-instruction {
  text-align: center;
  max-width: 980px;
  margin: 0 auto 1.75rem;
}
.rd-workflow-section {
  padding-top: clamp(1.5rem, 3vw, 3rem);
}
.agrioptic-page .industries-head, .luciet-page .industries-head, .agrioptic-connect-page .industries-head {
  width: min(1320px, calc(100% - 40px)) !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.rd-page .rd-results-head {
  width: min(1320px, calc(100% - 40px)) !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.rd-page .rd-results-head p {
  width: 100% !important;
  max-width: min(1180px, 100%) !important;
}
body.company-page main .about-capabilities-v43 .home-what-grid-v04 {
  display: block !important;
  width: min(1320px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
}
body.company-page main .about-capabilities-v43 .what-copy-v04 {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: block !important;
  margin: 0 0 clamp(28px, 4vw, 52px) !important;
}
body.company-page main .about-capabilities-v43 .what-copy-v04::before, body.company-page main .about-capabilities-v43 .what-copy-v04::after {
  display: none !important;
  content: none !important;
}
body.company-page main .about-capabilities-v43 .what-copy-v04 h2 {
  color: rgba(230,222,214,.92) !important;
  text-shadow: none !important;
  margin: 0 0 18px !important;
}
body.company-page main .about-capabilities-v43 .what-copy-v04 p {
  display: block !important;
  width: 100% !important;
  max-width: min(1180px, 100%) !important;
  color: var(--muted) !important;
  text-shadow: none !important;
  font-size: clamp(1.02rem, 1.55vw, 1.28rem) !important;
  line-height: 1.62 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}
:root {
  --ll-heading-h1-size: clamp(48px, 5.15vw, 72px);
  --ll-heading-h1-line: .98;
  --ll-heading-h1-letter: -0.072em;
  --ll-heading-h2-size: clamp(1.45rem, 2.15vw, 2rem);
  --ll-heading-h2-line: 1.05;
  --ll-heading-h2-letter: 0.22em;
  --ll-heading-h3-size: clamp(23px, 2.2vw, 32px);
  --ll-heading-h3-line: 1.05;
  --ll-heading-h3-letter: -0.045em;
  --ll-hero-tagline-size: var(--ll-heading-h1-size);
  --ll-hero-tagline-line: var(--ll-heading-h1-line);
  --ll-hero-tagline-letter: var(--ll-heading-h1-letter);
  --ll-hero-subtitle-size: clamp(18px, 1.45vw, 21px);
  --ll-hero-subtitle-line: 1.38;
  --ll-hero-subtitle-colour: rgba(247,244,236,.78);
  --ll-neutral-accent: rgba(230, 222, 214, 0.82);
  --ll-neutral-accent-strong: rgba(247,244,236,.88);
  --ll-neutral-accent-soft: rgba(247,244,236,.18);
  --ll-neutral-accent-line: rgba(247,244,236,.26);
  --ll-neutral-accent-dark: #07100c;
}
h1, .company-hero h1 {
  font-size: var(--ll-heading-h1-size) !important;
  line-height: var(--ll-heading-h1-line) !important;
  letter-spacing: var(--ll-heading-h1-letter) !important;
}
h2 {
  font-size: var(--ll-heading-h2-size) !important;
  line-height: var(--ll-heading-h2-line) !important;
  letter-spacing: var(--ll-heading-h2-letter) !important;
}
h3 {
  font-size: var(--ll-heading-h3-size) !important;
  line-height: var(--ll-heading-h3-line) !important;
  letter-spacing: var(--ll-heading-h3-letter) !important;
}
.company-hero .hero-copy, .hero-copy {
  font-size: var(--ll-hero-subtitle-size) !important;
  line-height: var(--ll-hero-subtitle-line) !important;
  color: var(--ll-hero-subtitle-colour) !important;
}
.home-hero-v05 h1 {
  font-size: var(--ll-hero-tagline-size) !important;
  line-height: var(--ll-hero-tagline-line) !important;
  letter-spacing: var(--ll-hero-tagline-letter) !important;
  max-width: 1000px !important;
}
.home-hero-v05 .hero-copy {
  font-size: var(--ll-hero-subtitle-size) !important;
  line-height: var(--ll-hero-subtitle-line) !important;
  color: var(--ll-hero-subtitle-colour) !important;
}
.home-hero-v05 h1 {
  color: #ffffff !important;
  text-shadow:
    0 0 1px rgba(0,0,0,.95),
    0 0 4px rgba(0,0,0,.9),
    0 3px 14px rgba(0,0,0,.88),
    0 12px 36px rgba(0,0,0,.72),
    0 0 50px rgba(255,255,255,.18) !important;
}
.home-hero-v05 .hero-copy {
  color: rgba(255,255,255,.97) !important;
  text-shadow:
    0 0 1px rgba(0,0,0,.92),
    0 0 4px rgba(0,0,0,.85),
    0 3px 12px rgba(0,0,0,.82),
    0 9px 28px rgba(0,0,0,.68) !important;
}
.proof-check, .proof-tick {
  color: var(--ll-neutral-accent-dark) !important;
  background: linear-gradient(135deg, var(--ll-neutral-accent-strong), var(--ll-neutral-accent)) !important;
  box-shadow: 0 0 26px var(--ll-neutral-accent-soft) !important;
}
.what-divider-v04 {
  background: linear-gradient(180deg, transparent, var(--ll-neutral-accent-line), rgba(131,216,255,.16), transparent) !important;
  box-shadow: 0 0 28px rgba(247,244,236,.10) !important;
}
.proof-item-v04 h3 {
  color: var(--ll-neutral-accent-strong) !important;
}
.home-tech-card-v04.card-env {
  --card-accent: #7cd8ff;
}
.desktop-nav a.is-active, .desktop-nav .nav-item.is-active > a, .desktop-nav a[aria-current="page"] { color:#b9f06a !important; text-shadow:0 0 14px rgba(185,240,106,.22); }
.mobile-menu a.is-active, .mobile-menu a[aria-current="page"] { color:#b9f06a !important; }
.company-hero .hero-copy, .home-hero-copy-v05, .hero-copy { color:rgba(247,244,236,.84) !important; text-shadow:0 2px 14px rgba(0,0,0,.66) !important; }
:root {
  --ll-section-title-colour: rgba(247,244,236,.94);
  --ll-section-title-muted: rgba(247,244,236,.68);
  --ll-hero-overlap-depth: clamp(64px, 9vh, 118px);
}
#bg-canvas {
  z-index: 0 !important;
}
.home-tech-heading-v04 {
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto clamp(24px, 3.2vw, 42px);
  text-align: center;
}
.home-tech-heading-v04 h2 {
  margin: 0;
  color: var(--ll-section-title-colour);
  text-shadow: 0 10px 38px rgba(0,0,0,.42);
}
.home-tech-v04 {
  padding-top: clamp(56px, 8vw, 104px) !important;
}


/* ====================================================================
   HERO SYSTEM — clean rebuild (replaces every previous .company-hero /
   .company-hero-bg override in this file). There are exactly two
   variants now, each fully self-contained:

     1. .company-page .company-hero   — contained hero (Solutions,
        R&D, Company, Luciet, Contact pages).
     2. .home-hero-v05                — full-bleed cinematic hero
        (Home page only).

   If you need to change how the hero looks, this is the only place
   to look. Do not add new .company-hero-bg rules elsewhere — extend
   one of the two blocks below instead.
   ==================================================================== */

.company-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.company-hero-bg {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  pointer-events: none !important;
}

/* ---- Variant 1: contained hero (Solutions / R&D / Company / Luciet) ---- */

.company-page .company-hero {
  min-height: 86vh !important;
  box-sizing: border-box !important;
  padding: 64px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.company-page .company-hero-bg {
  left: 36vw !important;
  right: 0 !important;
  background-position: 58% center !important;
  mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.48) 8%, #000 20%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 74%, rgba(0,0,0,.94) 82%, rgba(0,0,0,.62) 90%, transparent 100%) !important;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.48) 8%, #000 20%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 74%, rgba(0,0,0,.94) 82%, rgba(0,0,0,.62) 90%, transparent 100%) !important;
  mask-composite: intersect !important;
  -webkit-mask-composite: source-in !important;
}

@media (max-width: 900px) {
  .company-page .company-hero {
    min-height: 78vh !important;
    padding-top: 88px !important;
  }
  .company-page .company-hero-bg {
    inset: 0 !important;
    left: 0 !important;
    right: 0 !important;
    opacity: .55 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
}

/* ---- Variant 2: full-bleed cinematic hero (Home page only) ---- */

.home-hero-v05.company-hero {
  min-height: var(--ll-hero-min-height, 86vh) !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding-top: 96px !important;
  padding-bottom: 60px !important;
}

.home-hero-v05 .home-hero-bg-v05 {
  left: 34vw !important;
  right: 0 !important;
  width: auto !important;
  filter: brightness(1.02) saturate(1.06) contrast(1.02) !important;
  background-image: url("../images/home-hero-redesign-4-v01.png") !important;
  background-position: right center !important;
  /* Two-layer mask on the image itself, intersected so the image only
     stays visible where BOTH the left-edge fade and the bottom fade
     say so — default compositing lets the opaque horizontal layer
     override the vertical fade almost everywhere, producing a hard
     cut instead of a gradual one. Same fix applied to the Solutions/
     R&D/Company hero above. */
  mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.28) 8%, #000 22%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 74%, rgba(0,0,0,.94) 82%, rgba(0,0,0,.62) 90%, transparent 100%) !important;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.28) 8%, #000 22%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 74%, rgba(0,0,0,.94) 82%, rgba(0,0,0,.62) 90%, transparent 100%) !important;
  mask-composite: intersect !important;
  -webkit-mask-composite: source-in !important;
}

/* No dark tint on the photo itself — legibility comes from the text. */
.home-hero-v05 h1 {
  color: #ffffff !important;
  text-shadow:
    0 0 1px rgba(0,0,0,.95),
    0 0 4px rgba(0,0,0,.9),
    0 3px 14px rgba(0,0,0,.88),
    0 12px 36px rgba(0,0,0,.72),
    0 0 50px rgba(255,255,255,.18) !important;
}
.home-hero-v05 .hero-copy {
  color: rgba(255,255,255,.97) !important;
  text-shadow:
    0 0 1px rgba(0,0,0,.92),
    0 0 4px rgba(0,0,0,.85),
    0 3px 12px rgba(0,0,0,.82),
    0 9px 28px rgba(0,0,0,.68) !important;
}

@media (max-width: 980px) {
  .home-hero-v05 .home-hero-bg-v05 {
    left: 0 !important;
    right: 0 !important;
    background-position: 62% center !important;
    opacity: .44 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
}

.company-hero.home-hero-v05 + .home-what-v04 {
  position: relative !important;
  z-index: 1 !important;
}
/* ====================== END HERO SYSTEM ====================== */


/* ====================== WEB REDESIGN 4 V08 — SOLUTIONS LANDING ====================== */
:root{--solution-card-radius-v08:28px;--solution-text-v08:rgba(244,251,255,.92);--solution-muted-v08:rgba(218,230,243,.72);--solution-green-v08:#b9f06a;--solution-blue-v08:#7cd8ff;--solution-violet-v08:#c6a8ff;--solution-orange-v08:#ffb15c}.eyebrow-v08{margin:0 0 .9rem!important;color:var(--solution-green-v08)!important;font-size:.84rem!important;line-height:1!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-weight:800!important}.solutions-page-v08 .site-header .desktop-nav a[href="solutions.html"],.solutions-page-v08 .mobile-menu a[href="solutions.html"],.coming-soon-page-v08 .site-header .desktop-nav a[href="solutions.html"],.coming-soon-page-v08 .mobile-menu a[href="solutions.html"]{color:var(--solution-green-v08)!important}.solutions-hero-v08 .section-inner{max-width:980px!important}.solutions-hero-v08 h1{max-width:1040px!important}.solutions-hero-v08 .hero-copy{max-width:880px!important}.solutions-intro-v08{padding-top:clamp(58px,7vw,96px)!important;padding-bottom:clamp(30px,4vw,52px)!important}.solutions-intro-inner-v08,.solutions-grid-heading-v08{width:min(1180px,calc(100% - 40px));margin:0 auto}.solutions-intro-inner-v08 h2,.solutions-grid-heading-v08 h2{margin:0 0 1rem!important;color:rgba(230,222,214,.94)!important;font-size:clamp(2.25rem,4.5vw,4.65rem)!important;line-height:.98!important;letter-spacing:-.055em!important;text-transform:none!important;font-weight:800!important}.solutions-intro-inner-v08 p,.solutions-grid-heading-v08 p{margin:0!important;max-width:840px;color:var(--solution-muted-v08)!important;font-size:clamp(1.02rem,1.45vw,1.22rem)!important;line-height:1.66!important}.filter-pills-v08{display:flex;flex-wrap:wrap;gap:.72rem;margin-top:clamp(24px,3vw,38px)}.filter-pill-v08,.solution-tags-v08 span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.48rem .78rem;border:1px solid rgba(185,240,106,.28);border-radius:999px;background:rgba(185,240,106,.06);color:rgba(235,255,218,.92)!important;font-size:.78rem;line-height:1;text-decoration:none!important;letter-spacing:.01em;transition:border-color .22s var(--ease),background .22s var(--ease),transform .22s var(--ease)}.filter-pill-v08:hover,.filter-pill-v08:focus-visible{border-color:rgba(185,240,106,.68);background:rgba(185,240,106,.12);transform:translateY(-1px);outline:none}.solutions-grid-section-v08{padding-top:clamp(34px,4.5vw,62px)!important;padding-bottom:clamp(86px,9vw,132px)!important}.solutions-grid-heading-v08{margin-bottom:clamp(28px,4vw,48px)}.solutions-card-grid-v08{width:min(1320px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.3rem)}.solution-card-v08{--card-accent:var(--solution-blue-v08);position:relative;min-height:505px;display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--card-accent) 54%,rgba(255,255,255,.12));border-radius:var(--solution-card-radius-v08);background:radial-gradient(circle at 50% 22%,color-mix(in srgb,var(--card-accent) 16%,transparent),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.022));box-shadow:0 28px 84px rgba(0,0,0,.34);transition:transform .24s var(--ease),border-color .24s var(--ease),box-shadow .24s var(--ease)}.solution-card-v08:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--card-accent) 84%,white 4%);box-shadow:0 34px 100px rgba(0,0,0,.42),0 0 44px color-mix(in srgb,var(--card-accent) 20%,transparent)}.solution-card-v08[data-theme="inspection-and-integrity"]{--card-accent:var(--solution-orange-v08)}.solution-card-v08[data-theme="classification-and-identification"]{--card-accent:var(--solution-blue-v08)}.solution-card-v08[data-theme="monitoring-and-intelligence"]{--card-accent:var(--solution-violet-v08)}.solution-card-v08[data-theme="environment-and-sustainability"]{--card-accent:var(--solution-green-v08)}.solution-card-v08[data-theme="mathematical-and-signal-optimisation"]{--card-accent:#7feaca}.solution-placeholder-v08{position:relative;min-height:245px;display:grid;place-items:center;padding:1.1rem;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--card-accent) 36%,rgba(255,255,255,.08));background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--card-accent) 22%,transparent),transparent 38%),linear-gradient(160deg,rgba(4,10,18,.28),rgba(255,255,255,.035))}.solution-placeholder-v08:before{content:"";position:absolute;inset:28px;border:1px dashed color-mix(in srgb,var(--card-accent) 46%,rgba(255,255,255,.14));border-radius:24px;opacity:.74}.solution-placeholder-orb-v08{width:138px;height:138px;border-radius:38px;transform:rotateX(58deg) rotateZ(45deg);background:linear-gradient(135deg,color-mix(in srgb,var(--card-accent) 76%,white 10%),rgba(255,255,255,.12)),linear-gradient(145deg,rgba(255,255,255,.28),rgba(0,0,0,.18));box-shadow:0 28px 48px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.28),0 0 46px color-mix(in srgb,var(--card-accent) 28%,transparent);opacity:.86}.solution-placeholder-label-v08{position:absolute;left:1.1rem;right:1.1rem;bottom:1rem;display:block;padding:.58rem .74rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(1,7,13,.58);color:rgba(244,251,255,.78);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:.68rem;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.solution-card-body-v08{display:flex;flex:1;flex-direction:column;padding:clamp(1.2rem,2vw,1.45rem)}.solution-theme-v08{margin:0 0 .75rem!important;color:color-mix(in srgb,var(--card-accent) 88%,white 8%)!important;font-size:.78rem!important;line-height:1.1!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:800!important}.solution-card-body-v08 h3{margin:0 0 .75rem!important;color:var(--solution-text-v08)!important;font-size:clamp(1.38rem,2.1vw,2rem)!important;line-height:1.08!important;letter-spacing:-.046em!important}.solution-card-body-v08 p:not(.solution-theme-v08){margin:0 0 1.05rem!important;color:var(--solution-muted-v08)!important;font-size:.98rem!important;line-height:1.55!important}.solution-tags-v08{display:flex;flex-wrap:wrap;gap:.48rem;margin-top:auto;margin-bottom:1.1rem}.solution-tags-v08 span{min-height:28px;padding:.36rem .62rem;border-color:color-mix(in srgb,var(--card-accent) 38%,rgba(255,255,255,.12));background:color-mix(in srgb,var(--card-accent) 8%,transparent);color:rgba(244,251,255,.80)!important;font-size:.72rem}.solution-card-link-v08{width:fit-content;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.72rem 1rem;border:1px solid color-mix(in srgb,var(--card-accent) 55%,rgba(255,255,255,.18));border-radius:999px;color:#fff!important;background:color-mix(in srgb,var(--card-accent) 14%,rgba(255,255,255,.035));text-decoration:none!important;font-weight:800;font-size:.9rem;transition:transform .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease)}.solution-card-link-v08:hover,.solution-card-link-v08:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--card-accent) 88%,white 4%);background:color-mix(in srgb,var(--card-accent) 24%,rgba(255,255,255,.04));outline:none}.coming-soon-v08{min-height:100vh;display:grid;place-items:center;padding-top:clamp(130px,16vw,180px)!important;padding-bottom:clamp(80px,10vw,120px)!important}.coming-soon-card-v08{width:min(880px,calc(100% - 40px));padding:clamp(2rem,5vw,4rem);border:1px solid rgba(124,216,255,.26);border-radius:34px;background:radial-gradient(circle at 80% 20%,rgba(185,240,106,.13),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 34px 110px rgba(0,0,0,.44)}.coming-soon-card-v08 h1{margin:0 0 1rem!important;color:#fff!important;font-size:clamp(2.8rem,7vw,6rem)!important;line-height:.95!important;letter-spacing:-.06em!important}.coming-soon-card-v08 p:not(.eyebrow-v08){max-width:680px;color:var(--solution-muted-v08)!important;font-size:clamp(1.05rem,1.7vw,1.24rem)!important;line-height:1.62!important}.coming-soon-actions-v08{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:clamp(22px,3vw,34px)}@media(max-width:1180px){.solutions-card-grid-v08{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.solutions-card-grid-v08{grid-template-columns:1fr}.solution-card-v08{min-height:0}.solution-placeholder-v08{min-height:215px}.solution-placeholder-orb-v08{width:116px;height:116px;border-radius:32px}.filter-pills-v08{gap:.55rem}.filter-pill-v08{min-height:32px;font-size:.74rem;padding:.44rem .66rem}}
/* ====================== END WEB REDESIGN 4 V08 ====================== */


/* ====================== WEB REDESIGN 4 V09 SOLUTIONS COPY + FILTER REFINEMENTS ====================== */
.solutions-page-v09 .solutions-hero-v09 .section-inner { max-width: 920px !important; }
.solutions-page-v09 .solutions-hero-v09 h1 { max-width: 860px !important; }
.solutions-page-v09 .solutions-hero-v09 .hero-copy { max-width: 760px !important; }
.solutions-intro-v09 { padding-bottom: clamp(36px, 5vw, 64px) !important; }
.solutions-problem-copy-v09 { margin-bottom: clamp(24px, 3vw, 34px) !important; }
.solution-space-list-v09 { list-style: none; padding: 0; margin: clamp(22px, 3vw, 34px) 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; max-width: 1120px; }
.solution-space-list-v09 li { border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.02)); padding: 1rem 1.05rem; box-shadow: 0 20px 58px rgba(0,0,0,.20); }
.solution-space-list-v09 strong { display: block; color: rgba(244,251,255,.94); font-size: .94rem; line-height: 1.2; margin-bottom: .42rem; }
.solution-space-list-v09 span { display: block; color: rgba(218,230,243,.72); font-size: .92rem; line-height: 1.52; }
.solution-filter-instruction-v09 { margin-top: clamp(26px, 3.4vw, 42px) !important; max-width: 720px !important; color: rgba(244,251,255,.84) !important; font-size: 1rem !important; }
.solutions-page-v09 .filter-pill-v08 { cursor: pointer; font-family: inherit; }
.solutions-page-v09 .filter-pill-v08.is-active, .solutions-page-v09 .filter-pill-v08[aria-pressed="true"] { border-color: rgba(185,240,106,.86); background: rgba(185,240,106,.16); color: #fff !important; box-shadow: 0 0 26px rgba(185,240,106,.12); }
.solutions-page-v09 .solution-card-v08 { display: none; }
.solutions-page-v09 .solution-card-v08.is-visible { display: flex; }
.solutions-page-v09 .solution-card-body-v08 { min-height: 238px; }
.solutions-page-v09 .solution-card-body-v08 p:not(.solution-theme-v08) { margin-bottom: 1.25rem !important; }
.solutions-page-v09 .solution-card-link-v08 { margin-top: auto; }
.solution-image-placeholder-v09 { min-height: 245px; }
.solution-image-placeholder-v09:before { border-style: solid; opacity: .46; }
.solution-icon-image-v09 { width: min(72%, 240px); max-height: 198px; object-fit: contain; position: relative; z-index: 1; filter: drop-shadow(0 26px 42px rgba(0,0,0,.38)); }
.solutions-page-v09 .solution-placeholder-label-v08 { z-index: 2; }
@media(max-width: 900px) { .solution-space-list-v09 { grid-template-columns: 1fr; } }
@media(max-width: 760px) { .solution-icon-image-v09 { width: min(76%, 210px); } .solutions-page-v09 .solution-card-body-v08 { min-height: 0; } }
/* ====================== END WEB REDESIGN 4 V09 SOLUTIONS REFINEMENTS ====================== */


/* ====================== WEB REDESIGN 4 V10 SOLUTIONS REFINEMENTS ====================== */
/* Navigation: only the current page item receives the accent colour. */
.solutions-page-v10 .desktop-nav a:not([aria-current="page"]),
.solutions-page-v10 .mobile-menu a:not([aria-current="page"]) {
  color: var(--muted) !important;
  text-shadow: none !important;
}
.solutions-page-v10 .desktop-nav a[aria-current="page"],
.solutions-page-v10 .mobile-menu a[aria-current="page"] {
  color: #b9f06a !important;
  text-shadow: 0 0 14px rgba(185,240,106,.22) !important;
}
.solutions-page-v10 .desktop-nav a:not([aria-current="page"]):hover,
.solutions-page-v10 .desktop-nav a:not([aria-current="page"]):focus-visible {
  color: var(--text) !important;
}

/* Solutions hero: use the approved bright photographic inspection image. */
.solutions-page-v10 .solutions-hero-bg-v10 {
  background-image: url("../images/solutions-hero-v10.png") !important;
  background-position: 58% center !important;
  background-size: cover !important;
  left: 34vw !important;
  right: 0 !important;
  filter: brightness(.92) saturate(.96) contrast(1.04) !important;
  opacity: .96 !important;
  mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.34) 9%, #000 24%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 74%, rgba(0,0,0,.94) 82%, rgba(0,0,0,.62) 90%, transparent 100%) !important;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.34) 9%, #000 24%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 74%, rgba(0,0,0,.94) 82%, rgba(0,0,0,.62) 90%, transparent 100%) !important;
  mask-composite: intersect !important;
  -webkit-mask-composite: source-in !important;
}

/* Intro copy uses the wider Company-page style rather than a narrow text block. */
.solutions-page-v10 .solutions-intro-inner-v08 {
  width: min(1180px, calc(100% - 40px)) !important;
}
.solutions-page-v10 .solutions-problem-copy-v09 {
  max-width: min(1180px, 100%) !important;
  width: 100% !important;
}

/* Solution spaces: convert from cards to the standard icon-led bullet pattern. */
.solutions-page-v10 .solution-space-list-v09 {
  list-style: none !important;
  padding: 0 !important;
  margin: clamp(30px, 4vw, 50px) 0 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1.1rem, 2vw, 1.55rem) !important;
  max-width: 1180px !important;
}
.solutions-page-v10 .solution-space-list-v09 li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 38px 1fr !important;
  column-gap: .95rem !important;
  align-items: start !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.solutions-page-v10 .solution-space-list-v09 li::before {
  content: "✓" !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: rgba(247,244,236,.86) !important;
  color: #07100b !important;
  font-weight: 900 !important;
  box-shadow: 0 0 22px rgba(247,244,236,.10) !important;
}
.solutions-page-v10 .solution-space-list-v09 strong {
  grid-column: 2 !important;
  display: block !important;
  margin: 0 0 .45rem !important;
  color: rgba(247,244,236,.94) !important;
  font-size: clamp(1.18rem, 2vw, 1.65rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
}
.solutions-page-v10 .solution-space-list-v09 span {
  grid-column: 2 !important;
  display: block !important;
  color: rgba(218,230,243,.74) !important;
  font-size: clamp(.95rem, 1.2vw, 1.05rem) !important;
  line-height: 1.55 !important;
}

/* Clear separation between solution-space explanation and selector. */
.solutions-section-divider-v10 {
  width: 100% !important;
  height: 1px !important;
  margin: clamp(34px, 4.5vw, 58px) 0 clamp(18px, 2.4vw, 28px) !important;
  background: linear-gradient(90deg, transparent, rgba(247,244,236,.18), rgba(124,216,255,.18), transparent) !important;
}
.solutions-page-v10 .solution-filter-instruction-v09 {
  margin-top: 0 !important;
  max-width: 1180px !important;
}
.solutions-page-v10 .filter-pills-v08 {
  margin-top: clamp(18px, 2.2vw, 26px) !important;
}
.solutions-page-v10 .solutions-grid-section-v08 {
  padding-top: clamp(16px, 2.4vw, 30px) !important;
}

/* Solution image placeholders: remove inner border and tag overlay. */
.solutions-page-v10 .solution-placeholder-v08::before,
.solutions-page-v10 .solution-image-placeholder-v09::before {
  display: none !important;
  content: none !important;
}
.solutions-page-v10 .solution-placeholder-label-v08 {
  display: none !important;
}
.solutions-page-v10 .solution-image-placeholder-v09 {
  border-bottom: 1px solid color-mix(in srgb, var(--card-accent) 34%, rgba(255,255,255,.08)) !important;
  background: radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--card-accent) 18%, transparent), transparent 42%), linear-gradient(160deg, rgba(4,10,18,.22), rgba(255,255,255,.026)) !important;
}
.solutions-page-v10 .solution-icon-image-v09 {
  width: min(74%, 250px) !important;
  max-height: 205px !important;
}

/* Fix solution theme accent mapping for the v09 slug names. */
.solutions-page-v10 .solution-card-v08[data-theme="inspection-integrity"] { --card-accent: var(--solution-orange-v08); }
.solutions-page-v10 .solution-card-v08[data-theme="classification-identification"] { --card-accent: var(--solution-blue-v08); }
.solutions-page-v10 .solution-card-v08[data-theme="monitoring-intelligence"] { --card-accent: var(--solution-violet-v08); }
.solutions-page-v10 .solution-card-v08[data-theme="environment-sustainability"] { --card-accent: var(--solution-green-v08); }

@media (max-width: 980px) {
  .solutions-page-v10 .solutions-hero-bg-v10 {
    inset: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background-position: 56% center !important;
    opacity: .46 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  .solutions-page-v10 .solution-space-list-v09 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 700px) {
  .solutions-page-v10 .solution-space-list-v09 {
    grid-template-columns: 1fr !important;
  }
  .solutions-page-v10 .solution-space-list-v09 li {
    grid-template-columns: 34px 1fr !important;
  }
  .solutions-page-v10 .solution-space-list-v09 li::before {
    width: 34px !important;
    height: 34px !important;
  }
}
/* ====================== END WEB REDESIGN 4 V10 SOLUTIONS REFINEMENTS ====================== */

/* ====================== WEB REDESIGN 4 V11 REFINEMENTS ====================== */
/* Navigation: keep non-active items neutral; only aria-current / is-active receives accent. */
.site-header .desktop-nav a,
.site-header .desktop-nav .nav-item > a,
.mobile-menu a,
.mobile-menu .mobile-top-link {
  color: var(--muted) !important;
  text-shadow: none !important;
}
.site-header .desktop-nav a:hover,
.site-header .desktop-nav .nav-item > a:hover,
.site-header .desktop-nav a:focus-visible,
.mobile-menu a:hover,
.mobile-menu .mobile-top-link:hover,
.mobile-menu a:focus-visible {
  color: var(--text) !important;
}
.site-header .desktop-nav a.is-active,
.site-header .desktop-nav a[aria-current="page"],
.site-header .desktop-nav .nav-item.is-active > a,
.mobile-menu a.is-active,
.mobile-menu a[aria-current="page"] {
  color: #b9f06a !important;
  text-shadow: 0 0 14px rgba(185,240,106,.22) !important;
}

/* Solutions filters: match each solution-space pill to the corresponding card colour. */
.solutions-page-v10 .filter-pill-v08[data-solution-filter="inspection-integrity"] {
  --pill-accent: var(--solution-orange-v08);
}
.solutions-page-v10 .filter-pill-v08[data-solution-filter="classification-identification"] {
  --pill-accent: var(--solution-blue-v08);
}
.solutions-page-v10 .filter-pill-v08[data-solution-filter="monitoring-intelligence"] {
  --pill-accent: var(--solution-violet-v08);
}
.solutions-page-v10 .filter-pill-v08[data-solution-filter="environment-sustainability"] {
  --pill-accent: var(--solution-green-v08);
}
.solutions-page-v10 .filter-pill-v08[data-solution-filter="evidence-verification"] {
  --pill-accent: #7feaca;
}
.solutions-page-v10 .filter-pill-v08 {
  border-color: color-mix(in srgb, var(--pill-accent, var(--solution-green-v08)) 45%, rgba(255,255,255,.16)) !important;
  background: color-mix(in srgb, var(--pill-accent, var(--solution-green-v08)) 9%, transparent) !important;
  color: color-mix(in srgb, var(--pill-accent, var(--solution-green-v08)) 86%, white 12%) !important;
}
.solutions-page-v10 .filter-pill-v08:hover,
.solutions-page-v10 .filter-pill-v08:focus-visible,
.solutions-page-v10 .filter-pill-v08.is-active,
.solutions-page-v10 .filter-pill-v08[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--pill-accent, var(--solution-green-v08)) 82%, white 6%) !important;
  background: color-mix(in srgb, var(--pill-accent, var(--solution-green-v08)) 17%, transparent) !important;
  box-shadow: 0 0 26px color-mix(in srgb, var(--pill-accent, var(--solution-green-v08)) 16%, transparent) !important;
  color: #fff !important;
}
/* ====================== END WEB REDESIGN 4 V11 REFINEMENTS ====================== */


/* web_redesign_4_v17: Solutions overview and dropdown navigation */
.site-header .nav-item-dropdown { position: relative; }
.site-header .nav-item-dropdown > a { display: inline-flex; align-items: center; gap: .35rem; }
.site-header .nav-caret { font-size: .7rem; opacity: .7; transform: translateY(-1px); }
.site-header .nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  width: min(420px, 86vw);
  transform: translateX(-50%) translateY(8px);
  padding: .72rem;
  border: 1px solid rgba(185,240,106,.22);
  border-radius: 22px;
  background: rgba(4,10,18,.94);
  box-shadow: 0 28px 88px rgba(0,0,0,.52), 0 0 34px rgba(185,240,106,.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s var(--ease), transform .18s var(--ease), visibility .18s var(--ease);
  z-index: 10000;
}
.site-header .nav-item-dropdown:hover .nav-dropdown-menu,
.site-header .nav-item-dropdown:focus-within .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.site-header .nav-dropdown-menu a {
  display: block;
  padding: .82rem .9rem;
  border-radius: 16px;
  text-decoration: none !important;
  color: rgba(244,251,255,.92) !important;
}
.site-header .nav-dropdown-menu a:hover,
.site-header .nav-dropdown-menu a:focus-visible { background: rgba(185,240,106,.09); outline: none; }
.site-header .nav-dropdown-menu strong { display: block; font-size: .9rem; line-height: 1.18; color: rgba(247,244,236,.96); }
.site-header .nav-dropdown-menu span { display: block; margin-top: .28rem; font-size: .76rem; line-height: 1.35; color: rgba(218,230,243,.70); }

.solutions-page-v17 .solutions-hero-v08 .section-inner { max-width: min(1240px, calc(100% - 40px)) !important; }
.solutions-page-v17 .solutions-hero-v09 h1,
.solutions-page-v17 .solutions-hero-v08 h1 { max-width: 1180px !important; }
.solutions-page-v17 .solutions-hero-v09 .hero-copy,
.solutions-page-v17 .solutions-hero-v08 .hero-copy { max-width: 1080px !important; }
.solutions-page-v17 .solution-space-list-v17 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.solutions-page-v17 .solution-space-list-v17 li:last-child { grid-column: 1 / -1; max-width: calc(50% - .45rem); }
.solutions-page-v17 .solution-jump-pills-v17 a { cursor: pointer; text-decoration: none !important; }
.solutions-page-v17 .solution-jump-pills-v17 .filter-pill-v08:nth-child(1) { border-color: rgba(255,177,92,.54); background: rgba(255,177,92,.08); }
.solutions-page-v17 .solution-jump-pills-v17 .filter-pill-v08:nth-child(2) { border-color: rgba(124,216,255,.54); background: rgba(124,216,255,.08); }
.solutions-page-v17 .solution-jump-pills-v17 .filter-pill-v08:nth-child(3) { border-color: rgba(198,168,255,.54); background: rgba(198,168,255,.08); }
.solutions-page-v17 .solution-jump-pills-v17 .filter-pill-v08:nth-child(4) { border-color: rgba(185,240,106,.54); background: rgba(185,240,106,.08); }
.solutions-page-v17 .solution-jump-pills-v17 .filter-pill-v08:nth-child(5) { border-color: rgba(127,234,202,.54); background: rgba(127,234,202,.08); }

.solutions-landscape-section-v17 { padding-top: clamp(34px, 4.5vw, 62px) !important; padding-bottom: clamp(88px, 10vw, 140px) !important; }
.solutions-landscape-inner-v17 { width: min(1420px, calc(100% - 40px)); margin: 0 auto; }
.solutions-landscape-heading-v17 { margin-bottom: clamp(24px, 3.4vw, 42px); max-width: 1080px; }
.solutions-landscape-heading-v17 h2 { margin: 0 0 1rem !important; color: rgba(230,222,214,.94) !important; font-size: clamp(2.15rem, 4.2vw, 4.6rem) !important; line-height: .98 !important; letter-spacing: -.055em !important; }
.solutions-landscape-heading-v17 p:not(.eyebrow-v08) { margin: 0 !important; color: rgba(218,230,243,.74) !important; font-size: clamp(1.02rem, 1.45vw, 1.22rem) !important; line-height: 1.66 !important; }
.solutions-landscape-frame-v17 { position: relative; margin: 0; overflow: hidden; border-radius: 32px; border: 1px solid rgba(124,216,255,.30); background: rgba(4,10,18,.72); box-shadow: 0 34px 110px rgba(0,0,0,.48), 0 0 56px rgba(124,216,255,.10); }
.solutions-landscape-frame-v17::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(2,8,16,.06), rgba(2,8,16,.18)); }
.solutions-landscape-frame-v17 img { display: block; width: 100%; height: auto; }
.landscape-hotspot-v17 { position: absolute; display: block; border-radius: 18px; z-index: 4; outline: none; }
.landscape-hotspot-v17::after { content: attr(aria-label); position: absolute; left: 50%; bottom: calc(100% + 12px); transform: translateX(-50%) translateY(6px); min-width: max-content; max-width: 260px; padding: .58rem .72rem; border: 1px solid rgba(185,240,106,.42); border-radius: 14px; background: rgba(4,10,18,.92); color: rgba(247,244,236,.95); font-size: .78rem; line-height: 1.2; box-shadow: 0 18px 50px rgba(0,0,0,.44); opacity: 0; pointer-events: none; transition: opacity .18s var(--ease), transform .18s var(--ease); }
.landscape-hotspot-v17:hover::after, .landscape-hotspot-v17:focus-visible::after { opacity: 1; transform: translateX(-50%) translateY(0); }
.landscape-hotspot-v17:hover, .landscape-hotspot-v17:focus-visible { box-shadow: inset 0 0 0 2px rgba(185,240,106,.75), 0 0 30px rgba(185,240,106,.22); background: rgba(185,240,106,.04); }
.hotspot-carbon{left:6%;top:11%;width:19%;height:8%}.hotspot-biodiversity{left:20%;top:17%;width:18%;height:8%}.hotspot-yield{left:14%;top:30%;width:18%;height:8%}.hotspot-soil{left:29%;top:36%;width:18%;height:8%}.hotspot-rail{left:26%;top:51%;width:18%;height:8%}.hotspot-grid{left:29%;top:76%;width:18%;height:8%}.hotspot-water{left:38%;top:18%;width:17%;height:8%}.hotspot-bridge{left:54%;top:21%;width:19%;height:8%}.hotspot-quality{left:72%;top:30%;width:18%;height:8%}.hotspot-marine{left:81%;top:14%;width:18%;height:8%}.hotspot-port{left:88%;top:34%;width:12%;height:8%}.hotspot-urban{left:79%;top:73%;width:20%;height:8%}

/* web_redesign_4_v17: Technology hero width fix carried forward from v17 list */
.rd-page .company-hero .section-inner { max-width: min(1240px, calc(100% - 40px)) !important; }
.rd-page .company-hero h1 { max-width: 1180px !important; }
.rd-page .company-hero .hero-copy { max-width: 1120px !important; }

@media (max-width: 900px) {
  .solutions-page-v17 .solution-space-list-v17 { grid-template-columns: 1fr; }
  .solutions-page-v17 .solution-space-list-v17 li:last-child { max-width: none; }
  .solutions-landscape-frame-v17 { border-radius: 22px; overflow-x: auto; }
  .solutions-landscape-frame-v17 img { width: 1280px; max-width: none; }
  .landscape-hotspot-v17 { display: none; }
}
@media (max-width: 760px) {
  .site-header .nav-dropdown-menu { display: none; }
}

/* web_redesign_4_v18: Solutions page refinements */
.solutions-page-v18 .solutions-hero-v08 .section-inner,
.solutions-page-v18 .solutions-hero-v09 .section-inner {
  width: min(1240px, calc(100% - 80px)) !important;
  max-width: none !important;
}
.solutions-page-v18 .solutions-hero-v08 h1,
.solutions-page-v18 .solutions-hero-v09 h1 {
  max-width: 1180px !important;
}
.solutions-page-v18 .solutions-hero-v08 .hero-copy,
.solutions-page-v18 .solutions-hero-v09 .hero-copy {
  width: min(1120px, 100%) !important;
  max-width: min(1120px, 100%) !important;
  padding-right: 0 !important;
  overflow-wrap: normal !important;
}
.solutions-page-v18 .solutions-intro-inner-v08 {
  width: min(1220px, calc(100% - 40px)) !important;
}
.solutions-page-v18 .solutions-problem-copy-v09 {
  max-width: 1060px !important;
}
.solution-space-card-grid-v18 {
  list-style: none;
  padding: 0;
  margin: clamp(30px, 4vw, 52px) 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 1.9vw, 1.35rem);
}
.solution-space-card-v18 {
  --card-accent: var(--solution-blue-v08);
  min-height: 220px;
  display: grid;
  grid-template-columns: minmax(150px, 31%) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid color-mix(in srgb, var(--card-accent) 44%, rgba(255,255,255,.12));
  border-radius: 28px;
  background:
    radial-gradient(circle at 18% 50%, color-mix(in srgb, var(--card-accent) 16%, transparent), transparent 46%),
    linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.02));
  box-shadow: 0 26px 78px rgba(0,0,0,.28);
  padding: clamp(1rem, 2.2vw, 1.35rem);
  overflow: hidden;
}
.solution-space-card-v18:nth-child(1) { --card-accent: var(--solution-orange-v08); }
.solution-space-card-v18:nth-child(2) { --card-accent: var(--solution-blue-v08); }
.solution-space-card-v18:nth-child(3) { --card-accent: var(--solution-violet-v08); }
.solution-space-card-v18:nth-child(4) { --card-accent: var(--solution-green-v08); }
.solution-space-card-v18:nth-child(5) { --card-accent: #7feaca; grid-column: 1 / -1; width: calc(50% - .68rem); justify-self: center; }
.solution-space-card-media-v18 {
  min-height: 168px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--card-accent) 20%, transparent), transparent 55%), rgba(4,10,18,.34);
  border: 1px solid color-mix(in srgb, var(--card-accent) 26%, rgba(255,255,255,.10));
}
.solution-space-card-media-v18 img {
  display: block;
  width: min(165px, 88%);
  max-height: 150px;
  object-fit: contain;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.34));
}
.solution-space-card-body-v18 h3 {
  margin: 0 0 .72rem !important;
  color: rgba(244,251,255,.95) !important;
  font-size: clamp(1.35rem, 2vw, 2rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -.045em !important;
}
.solution-space-card-body-v18 p {
  margin: 0 0 1.1rem !important;
  color: rgba(218,230,243,.74) !important;
  font-size: clamp(.98rem, 1.1vw, 1.08rem) !important;
  line-height: 1.55 !important;
  max-width: 520px !important;
}
.solution-space-card-cta-v18 {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: .52rem .78rem;
  border: 1px solid color-mix(in srgb, var(--card-accent) 56%, rgba(255,255,255,.12));
  border-radius: 999px;
  background: color-mix(in srgb, var(--card-accent) 10%, rgba(255,255,255,.025));
  color: rgba(247,244,236,.94) !important;
  text-decoration: none !important;
  font-size: .78rem;
  font-weight: 800;
}
.solution-space-card-cta-v18:hover,
.solution-space-card-cta-v18:focus-visible {
  border-color: color-mix(in srgb, var(--card-accent) 84%, white 6%);
  background: color-mix(in srgb, var(--card-accent) 18%, rgba(255,255,255,.035));
  outline: none;
}
.solutions-page-v18 .solutions-landscape-section-v17 {
  padding-top: clamp(20px, 3vw, 38px) !important;
}
.solutions-page-v18 .solutions-landscape-heading-v17 {
  margin-bottom: clamp(22px, 3vw, 36px) !important;
  max-width: 1100px !important;
}
.solutions-landscape-bridge-v18 {
  margin: 0 !important;
  color: rgba(218,230,243,.78) !important;
  font-size: clamp(1.08rem, 1.45vw, 1.3rem) !important;
  line-height: 1.58 !important;
  max-width: 940px !important;
}
.solutions-page-v18 .landscape-hotspot-v17 { display: none !important; }
@media (max-width: 900px) {
  .solutions-page-v18 .solutions-hero-v08 .section-inner,
  .solutions-page-v18 .solutions-hero-v09 .section-inner {
    width: min(100% - 40px, 1240px) !important;
  }
  .solution-space-card-grid-v18 { grid-template-columns: 1fr; }
  .solution-space-card-v18,
  .solution-space-card-v18:nth-child(5) {
    width: auto;
    grid-column: auto;
  }
}
@media (max-width: 620px) {
  .solution-space-card-v18 {
    grid-template-columns: 1fr;
  }
  .solution-space-card-media-v18 { min-height: 150px; }
}

/* web_redesign_4_v19: Solutions page polish */
.solutions-page-v19 .solutions-hero-v08 .section-inner,
.solutions-page-v19 .solutions-hero-v09 .section-inner {
  width: min(1240px, calc(100% - 96px)) !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
.solutions-page-v19 .solutions-hero-v08 .hero-copy,
.solutions-page-v19 .solutions-hero-v09 .hero-copy {
  width: auto !important;
  max-width: 1040px !important;
  padding-right: 0 !important;
  margin-right: auto !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: normal !important;
}
.solutions-page-v19 .solutions-intro-inner-v08 h2 {
  text-transform: none !important;
}
.solutions-page-v19 .solutions-landscape-heading-v17 {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.solutions-page-v19 .solutions-landscape-bridge-v18.solutions-landscape-bridge-v18 {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
@media (max-width: 900px) {
  .solutions-page-v19 .solutions-hero-v08 .section-inner,
  .solutions-page-v19 .solutions-hero-v09 .section-inner {
    width: min(100%, calc(100% - 40px)) !important;
  }
}

/* ====================================================================
   v20 Home page industries strip
   ==================================================================== */
.home-industries-v20 {
  padding-top: clamp(8px, 1.8vw, 24px) !important;
  padding-bottom: clamp(72px, 9vw, 124px) !important;
}
.home-industries-inner-v20 {
  width: min(1320px, calc(100% - 40px));
  margin: 0 auto;
  border: 1px solid rgba(124, 216, 255, .18);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(14, 31, 48, .72), rgba(6, 15, 26, .86)),
    radial-gradient(circle at 50% 0%, rgba(124, 216, 255, .16), transparent 50%);
  box-shadow: 0 26px 80px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05);
  overflow: hidden;
}
.home-industries-inner-v20 h2 {
  display: block;
  width: 100%;
  margin: 0;
  padding: clamp(18px, 2.2vw, 26px) clamp(18px, 2.4vw, 32px) 0;
  text-align: center !important;
  color: rgba(247,244,236,.94);
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1;
  letter-spacing: -0.055em;
  text-shadow: 0 10px 32px rgba(0,0,0,.42);
}
.home-industries-strip-v20 {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  padding: clamp(20px, 2.4vw, 30px) clamp(10px, 1.4vw, 18px) clamp(20px, 2.4vw, 30px);
}
.industry-item-v20 {
  --industry-accent: #7cd8ff;
  position: relative;
  min-height: 178px;
  padding: 0 clamp(12px, 1.2vw, 18px);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.industry-item-v20 + .industry-item-v20::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 8px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(124,216,255,.28), transparent);
}
.industry-icon-v20 {
  width: 48px;
  height: 48px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  color: color-mix(in srgb, var(--industry-accent) 78%, rgba(247,244,236,.88));
  filter: drop-shadow(0 0 18px color-mix(in srgb, var(--industry-accent) 20%, transparent));
}
.industry-icon-v20 svg {
  width: 44px;
  height: 44px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.industry-item-v20 h3 {
  margin: 0 0 9px !important;
  color: rgba(247,244,236,.95) !important;
  font-size: clamp(14px, 1.05vw, 17px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.035em !important;
}
.industry-item-v20 p {
  margin: 0 !important;
  color: rgba(221,237,247,.76) !important;
  font-size: clamp(12px, .86vw, 13.5px) !important;
  line-height: 1.45 !important;
}
.industry-agriculture { --industry-accent: #8fd334; }
.industry-forestry { --industry-accent: #6ee7a8; }
.industry-infrastructure { --industry-accent: #aebdff; }
.industry-energy { --industry-accent: #f7c948; }
.industry-industrial { --industry-accent: #ff9f5c; }
.industry-aerospace-defence { --industry-accent: #7cd8ff; }
.industry-environment { --industry-accent: #7ee0c6; }
.industry-urban { --industry-accent: #8bbcff; }
@media (max-width: 1180px) {
  .home-industries-strip-v20 { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 26px; }
  .industry-item-v20:nth-child(4n+1)::before { display: none; }
}
@media (max-width: 680px) {
  .home-industries-inner-v20 { width: min(100% - 32px, 520px); }
  .home-industries-strip-v20 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
  .industry-item-v20 { min-height: 158px; }
  .industry-item-v20:nth-child(odd)::before { display: none; }
}

/* v22 Home industry heading alignment fix */
.home-industries-v20 .industry-item-v20 h3 {
  width: 100% !important;
  text-align: center !important;
  align-self: center !important;
}


/* v23 carry-forward: centre Home industry item headings */
.home-industries-v20 .industry-item-v20,
.home-industries-v20 .industry-item-v20 h3,
.home-industries-v20 .industry-item-v20 p {
  text-align: center !important;
}
.home-industries-v20 .industry-item-v20 h3 {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* v25 Inspection & Integrity solution space page */
.solution-space-page .site-header .desktop-nav a[href="solutions.html"],
.solution-space-page .mobile-menu a[href="solutions.html"] { color: var(--accent) !important; }
.solution-space-page main { padding-top: clamp(178px, 13vw, 218px) !important; }
.solution-space-hero-section { padding-top: clamp(20px, 3vw, 42px) !important; padding-bottom: clamp(22px, 3.4vw, 44px) !important; }
.solution-space-hero-inner { width: min(1340px, calc(100% - 40px)); margin: 0 auto; display: grid; grid-template-columns: minmax(300px, .95fr) minmax(460px, 1.05fr); gap: clamp(2rem, 4vw, 4.2rem); align-items: start; }
.solution-space-hero-copy h1 { margin: 0 0 clamp(1.4rem, 2.4vw, 2.2rem) !important; color: rgba(230,222,214,.96) !important; font-size: clamp(2.5rem, 5.2vw, 5.6rem) !important; line-height: 1.02 !important; letter-spacing: -.055em !important; text-transform: none !important; font-weight: 850 !important; }
.solution-space-hero-copy p { margin: 0 !important; max-width: 520px; color: rgba(244,251,255,.86) !important; font-size: clamp(1.02rem, 1.45vw, 1.28rem) !important; line-height: 1.56 !important; }
.solution-space-visual { margin: 0 0 0 auto; width: min(100%, 680px); border: 1px solid rgba(185,240,106,.55); background: rgba(3,9,14,.58); box-shadow: 0 32px 110px rgba(0,0,0,.44), 0 0 44px rgba(185,240,106,.10); overflow: hidden; }
.solution-space-visual img { display: block; width: 100%; height: auto; }
.solution-space-mid-section { padding-top: clamp(12px, 2.4vw, 30px) !important; padding-bottom: clamp(28px, 4vw, 56px) !important; }
.solution-space-mid-grid { width: min(1340px, calc(100% - 40px)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, .85fr); gap: clamp(1.5rem, 4vw, 4.2rem); align-items: start; }
.solution-space-text-stack { display: grid; gap: clamp(1.2rem, 2.4vw, 2rem); }
.solution-space-panel { display: grid; grid-template-columns: 64px 1fr; gap: 1.05rem; padding: clamp(1.35rem, 2.4vw, 2rem); background: linear-gradient(135deg, rgba(6, 19, 30, .78), rgba(4, 10, 17, .34)); border-left: 1px solid rgba(124,216,255,.20); border-radius: 0; }
.solution-space-panel-icon { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; border: 1px solid rgba(185,240,106,.55); color: var(--accent); background: rgba(185,240,106,.08); font-size: 1.45rem; box-shadow: 0 0 26px rgba(185,240,106,.10); }
.solution-panel .solution-space-panel-icon { border-color: rgba(55, 230, 154, .54); color: #37e69a; background: rgba(55,230,154,.08); }
.solution-space-panel h2, .solution-space-outcomes h2, .solution-space-solutions-inner h2 { margin: 0 0 .75rem !important; color: var(--accent) !important; font-size: clamp(1.08rem, 1.5vw, 1.28rem) !important; line-height: 1.15 !important; letter-spacing: .01em !important; text-transform: none !important; }
.solution-panel h2 { color: #37e69a !important; }
.solution-space-panel p { margin: 0 !important; color: rgba(244,251,255,.88) !important; font-size: clamp(.98rem, 1.25vw, 1.12rem) !important; line-height: 1.58 !important; max-width: 780px; }
.solution-space-outcomes { padding: clamp(1.35rem, 2.4vw, 2rem); border: 1px solid rgba(124,216,255,.22); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); box-shadow: 0 26px 80px rgba(0,0,0,.34); }
.solution-space-outcomes h2 { color: var(--solution-blue-v08) !important; }
.solution-space-outcomes ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .82rem; }
.solution-space-outcomes li { position: relative; padding-left: 2rem; color: rgba(244,251,255,.84); line-height: 1.45; font-size: .98rem; }
.solution-space-outcomes li::before { content: "✓"; position: absolute; left: 0; top: -.05rem; width: 1.25rem; height: 1.25rem; display: grid; place-items: center; border-radius: 999px; color: var(--accent); border: 1px solid rgba(185,240,106,.58); font-size: .76rem; font-weight: 900; }
.solution-space-solutions-section { padding-top: clamp(22px, 3.5vw, 48px) !important; padding-bottom: clamp(86px, 9vw, 132px) !important; }
.solution-space-solutions-inner { width: min(1340px, calc(100% - 40px)); margin: 0 auto; }
.solution-space-solutions-inner > h2 { color: rgba(244,251,255,.96) !important; font-size: clamp(1.5rem, 2.2vw, 2.1rem) !important; margin-bottom: 1.1rem !important; }
.solution-space-solution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.4rem); }
.solution-mini-card { overflow: hidden; border: 1px solid rgba(185,240,106,.30); border-radius: 18px; background: radial-gradient(circle at 20% 0%, rgba(185,240,106,.14), transparent 32%), linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); box-shadow: 0 24px 72px rgba(0,0,0,.36); display: grid; grid-template-columns: 38% 1fr; min-height: 210px; }
.solution-mini-media { min-height: 100%; background: rgba(4,10,18,.58); display: grid; place-items: center; overflow: hidden; border-right: 1px solid rgba(185,240,106,.20); }
.solution-mini-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.solution-mini-body { padding: clamp(1rem, 1.8vw, 1.35rem); display: flex; flex-direction: column; }
.solution-mini-body h3 { margin: 0 0 .65rem !important; color: rgba(244,251,255,.96) !important; font-size: clamp(1.02rem, 1.35vw, 1.28rem) !important; line-height: 1.18 !important; letter-spacing: -.025em !important; }
.solution-mini-body p { margin: 0 0 1rem !important; color: rgba(218,230,243,.78) !important; font-size: .92rem !important; line-height: 1.52 !important; }
.solution-mini-tags { margin-top: auto; display: flex; flex-wrap: wrap; gap: .45rem; }
.solution-mini-tags span { display: inline-flex; align-items: center; min-height: 28px; padding: .35rem .58rem; border: 1px solid rgba(185,240,106,.36); border-radius: 999px; color: rgba(235,255,218,.92); background: rgba(185,240,106,.08); font-size: .72rem; line-height: 1; }
@media(max-width: 1040px) { .solution-space-hero-inner, .solution-space-mid-grid { grid-template-columns: 1fr; } .solution-space-visual { width: min(100%, 760px); margin-left: 0; } .solution-space-hero-copy p { max-width: 860px; } .solution-space-solution-grid { grid-template-columns: 1fr; } .solution-mini-card { grid-template-columns: 220px 1fr; } }
@media(max-width: 680px) { .solution-space-page main { padding-top: 118px !important; } .solution-space-hero-inner, .solution-space-mid-grid, .solution-space-solutions-inner { width: min(100% - 28px, 1340px); } .solution-space-panel { grid-template-columns: 1fr; } .solution-mini-card { grid-template-columns: 1fr; } .solution-mini-media { min-height: 210px; border-right: 0; border-bottom: 1px solid rgba(185,240,106,.20); } }

/* v33 footer alignment and tidy-up */
.site-footer {
  grid-template-columns: minmax(320px, 1fr) minmax(360px, 0.9fr);
  align-items: start;
}
.site-footer > div:first-child p {
  max-width: none;
  white-space: nowrap;
}
.site-footer .footer-links {
  justify-self: end;
  justify-content: end;
  text-align: right;
  gap: clamp(56px, 8vw, 120px);
}
.site-footer .footer-links > div {
  min-width: 120px;
}
.footer-bottom {
  justify-content: center;
  text-align: center;
  gap: 12px 24px;
}
@media (max-width: 980px) {
  .site-footer {
    grid-template-columns: 1fr;
  }
  .site-footer > div:first-child p {
    white-space: normal;
  }
  .site-footer .footer-links {
    justify-self: stretch;
    justify-content: start;
    text-align: left;
    gap: 28px;
  }
  .footer-bottom {
    justify-content: flex-start;
    text-align: left;
  }
}

/* web_redesign_4_v35: CEO global review changes
   - footer address and shorter footer tagline
   - safer Solutions dropdown hover bridge
   - fuller hero image presentation while retaining feathered left/bottom edge blend
*/
.site-footer .footer-address {
  margin-top: .85rem;
  font-style: normal;
  color: rgba(218,230,243,.66);
  font-size: .92rem;
  line-height: 1.55;
}

.site-header .nav-item-dropdown {
  position: relative;
  padding-bottom: 8px;
  margin-bottom: -8px;
}
.site-header .nav-item-dropdown::after {
  content: "";
  position: absolute;
  left: -18px;
  right: -18px;
  top: 100%;
  height: 18px;
  pointer-events: auto;
}
.site-header .nav-dropdown-menu {
  top: calc(100% + 2px) !important;
  transform: translateX(-50%) translateY(4px) !important;
}
.site-header .nav-item-dropdown:hover .nav-dropdown-menu,
.site-header .nav-item-dropdown:focus-within .nav-dropdown-menu {
  transform: translateX(-50%) translateY(0) !important;
}

.company-page .company-hero-bg {
  left: 0 !important;
  right: 0 !important;
  background-position: center center !important;
  mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.78) 3%, #000 9%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 76%, rgba(0,0,0,.95) 84%, rgba(0,0,0,.64) 92%, transparent 100%) !important;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.78) 3%, #000 9%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 76%, rgba(0,0,0,.95) 84%, rgba(0,0,0,.64) 92%, transparent 100%) !important;
}

.home-hero-v05 .home-hero-bg-v05 {
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  background-position: center center !important;
  mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.82) 3%, #000 9%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 76%, rgba(0,0,0,.95) 84%, rgba(0,0,0,.64) 92%, transparent 100%) !important;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.82) 3%, #000 9%, #000 100%),
    linear-gradient(to bottom, #000 0%, #000 76%, rgba(0,0,0,.95) 84%, rgba(0,0,0,.64) 92%, transparent 100%) !important;
}

/* ====================== WEB REDESIGN 4 V36 GLOBAL HERO POSITIONING ======================
   Global change from v35: keep the full-width hero image treatment but anchor hero
   backgrounds to the top-right of their container. This protects right/top artwork
   elements such as the home hero satellite while preserving all existing masks,
   blends, container sizing and constellation overlays.
   ================================================================================ */
.company-page .company-hero-bg,
.home-hero-v05 .home-hero-bg-v05,
.solutions-page-v10 .solutions-hero-bg-v10 {
  background-position: right top !important;
}

@media (max-width: 980px) {
  .company-page .company-hero-bg,
  .home-hero-v05 .home-hero-bg-v05,
  .solutions-page-v10 .solutions-hero-bg-v10 {
    background-position: right top !important;
  }
}
/* ====================== END WEB REDESIGN 4 V36 ====================== */

/* v39 industry icon artwork */
.industry-icon-v20 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ====================================================================
   v40 Home industries icon layout refinement
   ==================================================================== */
.home-industries-v20 {
  padding-top: clamp(10px, 1.8vw, 26px) !important;
  padding-bottom: clamp(80px, 9vw, 132px) !important;
}
.home-industries-inner-v20 {
  width: min(1260px, calc(100% - 40px)) !important;
}
.home-industries-strip-v20 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  row-gap: clamp(30px, 4vw, 46px) !important;
  column-gap: 0 !important;
  padding: clamp(28px, 3.2vw, 42px) clamp(20px, 2.8vw, 42px) clamp(30px, 3.4vw, 46px) !important;
}
.home-industries-v20 .industry-item-v20 {
  min-height: 270px !important;
  padding: 0 clamp(18px, 2vw, 34px) !important;
}
.home-industries-v20 .industry-item-v20::before {
  display: block;
}
.home-industries-v20 .industry-item-v20:nth-child(4n+1)::before {
  display: none !important;
}
.home-industries-v20 .industry-icon-v20 {
  width: clamp(118px, 10.5vw, 154px) !important;
  height: clamp(118px, 10.5vw, 154px) !important;
  margin-bottom: clamp(16px, 1.8vw, 24px) !important;
  filter: drop-shadow(0 22px 26px rgba(0,0,0,.35));
}
.home-industries-v20 .industry-icon-v20 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}
.home-industries-v20 .industry-item-v20 h3 {
  font-size: clamp(16px, 1.25vw, 20px) !important;
  margin-bottom: 10px !important;
}
.home-industries-v20 .industry-item-v20 p {
  font-size: clamp(13px, .95vw, 15px) !important;
  line-height: 1.5 !important;
  max-width: 240px;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 900px) {
  .home-industries-strip-v20 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .home-industries-v20 .industry-item-v20:nth-child(4n+1)::before {
    display: block !important;
  }
  .home-industries-v20 .industry-item-v20:nth-child(odd)::before {
    display: none !important;
  }
}
@media (max-width: 560px) {
  .home-industries-strip-v20 {
    grid-template-columns: 1fr !important;
    row-gap: 30px !important;
  }
  .home-industries-v20 .industry-item-v20::before {
    display: none !important;
  }
  .home-industries-v20 .industry-item-v20 {
    min-height: 230px !important;
  }
}

/* ====================================================================
   v41 Home industries open layout + per-industry hover glow
   ==================================================================== */
.home-industries-inner-v20 {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.home-industries-strip-v20 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.home-industries-v20 .industry-item-v20::before {
  display: none !important;
}
.home-industries-v20 .industry-item-v20 {
  min-height: 272px !important;
  border-radius: 22px;
  transition: transform .28s ease, filter .28s ease;
}
.home-industries-v20 .industry-item-v20:hover,
.home-industries-v20 .industry-item-v20:focus-within {
  transform: translateY(-6px);
}
.home-industries-v20 .industry-icon-v20 {
  transition: filter .28s ease, transform .28s ease;
}
.home-industries-v20 .industry-item-v20:hover .industry-icon-v20,
.home-industries-v20 .industry-item-v20:focus-within .industry-icon-v20 {
  transform: translateY(-3px) scale(1.035);
  filter:
    drop-shadow(0 18px 28px rgba(0,0,0,.42))
    drop-shadow(0 0 16px color-mix(in srgb, var(--industry-accent) 55%, transparent))
    drop-shadow(0 0 34px color-mix(in srgb, var(--industry-accent) 38%, transparent));
}
.home-industries-v20 .industry-item-v20 h3 {
  transition: color .28s ease, text-shadow .28s ease;
}
.home-industries-v20 .industry-item-v20:hover h3,
.home-industries-v20 .industry-item-v20:focus-within h3 {
  color: var(--industry-accent) !important;
  text-shadow:
    0 0 10px color-mix(in srgb, var(--industry-accent) 68%, transparent),
    0 0 24px color-mix(in srgb, var(--industry-accent) 42%, transparent),
    0 10px 30px rgba(0,0,0,.48);
}
.home-industries-v20 .industry-item-v20 p {
  transition: color .28s ease, text-shadow .28s ease;
}
.home-industries-v20 .industry-item-v20:hover p,
.home-industries-v20 .industry-item-v20:focus-within p {
  color: color-mix(in srgb, var(--industry-accent) 28%, rgba(244,251,255,.92)) !important;
  text-shadow: 0 0 16px color-mix(in srgb, var(--industry-accent) 22%, transparent);
}
.industry-agriculture { --industry-accent: #8ef04c; }
.industry-forestry { --industry-accent: #48e06f; }
.industry-infrastructure { --industry-accent: #35c9ff; }
.industry-energy { --industry-accent: #ffd05a; }
.industry-industrial { --industry-accent: #ff8a2a; }
.industry-aerospace-defence { --industry-accent: #b66cff; }
.industry-environment { --industry-accent: #33e6d3; }
.industry-urban { --industry-accent: #ff5fb3; }
