:root {
  --font-geist-sans: "Segoe UI", Inter, Arial, sans-serif;
  --navy: #061c30;
  --navy-2: #0a2a46;
  --ink: #0b263b;
  --blue: #0877f9;
  --cyan: #25d8eb;
  --green: #39b91d;
  --paper: #f3f7fa;
  --paper-blue: #edf5ff;
  --muted: #617788;
  --line: #dce7ed;
  --white: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: #fff; color: var(--ink); font-family: var(--font-geist-sans), Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { margin-top: 0; }
h2 { margin-bottom: 0; font-size: clamp(34px, 4.1vw, 62px); line-height: 1.03; letter-spacing: -2.5px; }

.site-header {
  height: 94px; padding: 0 clamp(22px, 4.2vw, 68px); display: flex; align-items: center; gap: 24px;
  position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(11,35,55,.09);
  background: rgba(255,255,255,.96); backdrop-filter: blur(18px);
}
.brand { width: 210px; height: 68px; display: flex; align-items: center; justify-content: flex-start; flex: 0 0 auto; overflow: visible; }
.brand img { width: 210px; height: auto; display: block; object-fit: contain; filter: none; }
.site-nav { margin-left: auto; display: flex; align-items: stretch; gap: clamp(17px, 1.7vw, 31px); height: 100%; }
.site-nav > a, .nav-dropdown > button { height: 100%; padding: 0; display: flex; align-items: center; gap: 7px; position: relative; border: 0; background: transparent; color: #294254; font-size: 12.5px; font-weight: 760; cursor: pointer; white-space: nowrap; }
.site-nav > a::after, .nav-dropdown > button::after { content: ""; height: 2px; position: absolute; left: 0; right: 100%; bottom: 25px; background: var(--blue); transition: right .25s ease; }
.site-nav > a:hover::after, .site-nav > a.active::after, .nav-dropdown:hover > button::after, .nav-dropdown.open > button::after { right: 0; }
.nav-upcoming { gap: 7px !important; }
.nav-live-dot { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(57,185,29,.12); }
.nav-dropdown { height: 100%; position: relative; }
.nav-dropdown > button span { color: var(--blue); font-size: 13px; transition: transform .2s ease; }
.nav-dropdown.open > button span { transform: rotate(180deg); }
.dropdown-panel { width: min(760px,calc(100vw - 48px)); padding: 12px; position: absolute; top: 80px; left: -178px; display: grid; grid-template-columns: 245px 1fr; gap: 12px; opacity: 0; visibility: hidden; transform: translateY(-9px); border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 30px 85px rgba(5,31,50,.2); transition: .22s ease; }
.erp-panel { left: -295px; }
.nav-dropdown:hover .dropdown-panel, .nav-dropdown.open .dropdown-panel { opacity: 1; visibility: visible; transform: translateY(0); }
.mega-intro { min-height: 100%; padding: 25px 23px; display: flex; flex-direction: column; border-radius: 14px; color: white; background: linear-gradient(145deg,var(--navy),#0b3658); }
.mega-intro > small { color: #64dff0; font-size: 7px; line-height: 1.45; letter-spacing: 1.1px; font-weight: 900; }
.mega-intro > strong { margin-top: 31px; font-size: 22px; line-height: 1.1; letter-spacing: -.8px; }
.mega-intro > p { margin: 13px 0 24px; color: #9cb6c6; font-size: 9px; line-height: 1.6; }
.mega-intro > a { margin-top: auto; display: flex; align-items: center; justify-content: space-between; color: #78e7f5; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .7px; }
.mega-links { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 5px; }
.mega-links > a { min-height: 86px; padding: 12px; display: grid; grid-template-columns: 39px 1fr auto; align-items: center; gap: 11px; border: 1px solid transparent; border-radius: 12px; }
.mega-links > a:hover { border-color: #dce9f2; background: var(--paper-blue); }
.mega-links b { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 10px; color: var(--blue); background: #eaf4ff; font-size: 8px; letter-spacing: .5px; }
.mega-links span { color: #17344a; font-size: 10px; line-height: 1.25; font-weight: 850; }
.mega-links small { margin-top: 4px; display: block; color: #758b99; font-size: 7.5px; line-height: 1.35; font-weight: 520; }
.mega-links i { color: #9ab0be; font-size: 12px; font-style: normal; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.language-switch { padding: 4px; display: flex; border: 1px solid var(--line); border-radius: 999px; background: #f8fbfd; }
.language-switch a { padding: 7px 8px; display: flex; align-items: center; gap: 4px; border: 0; border-radius: 999px; background: transparent; color: #7b8d99; font-size: 9px; font-weight: 850; cursor: pointer; }
.language-switch a.active { background: var(--navy); color: white; box-shadow: 0 3px 10px rgba(7,29,49,.18); }
.header-cta { min-width: 158px; padding: 14px 15px; display: inline-flex; justify-content: space-between; align-items: center; gap: 18px; border-radius: 8px; color: white; background: var(--navy); font-size: 11px; font-weight: 850; }
.header-cta > span, .button > span, .text-link > span, .service-catalog a > div:last-child span, .related-grid a > span:last-child { font-size: 18px; line-height: 0; }
.menu-button { width: 42px; height: 42px; padding: 10px; display: none; border: 1px solid var(--line); border-radius: 9px; background: white; cursor: pointer; }
.menu-button span { height: 2px; margin: 4px 0; display: block; background: var(--navy); }
.mobile-contact { display: none !important; }

.kicker { margin: 0 0 20px; color: var(--blue); font-size: 9px; line-height: 1.45; letter-spacing: 2px; font-weight: 900; text-transform: uppercase; }
.light-kicker { color: #9abbd0; display: flex; align-items: center; gap: 10px; }
.light-kicker > span { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 15px var(--cyan); }
.button { min-height: 53px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: space-between; gap: 25px; border-radius: 8px; font-size: 11px; font-weight: 900; }
.button-primary { color: white; background: var(--blue); box-shadow: 0 14px 38px rgba(8,119,249,.25); }
.button-ghost { color: white; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.05); }
.button-dark { color: white; background: var(--navy); }
.section { padding: 118px clamp(24px, 6vw, 96px); }
.section-intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(50px, 8vw, 135px); align-items: end; }
.section-intro > p { max-width: 600px; margin: 0 0 6px; color: var(--muted); font-size: 14px; line-height: 1.75; }

.hero { min-height: 720px; padding: 88px clamp(24px, 6vw, 96px) 74px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(480px, .92fr); gap: clamp(45px, 7vw, 110px); align-items: center; position: relative; overflow: hidden; color: white; background: var(--navy); }
.hero::before, .detail-hero::before, .page-hero::before, .contact-page::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to right,#000,transparent 82%); }
.hero-glow { position: absolute; border-radius: 50%; opacity: .2; filter: blur(4px); }
.glow-one { width: 540px; height: 540px; right: -150px; top: -30px; background: #006dff; }
.glow-two { width: 320px; height: 320px; left: 32%; bottom: -245px; background: #00dff3; }
.hero-content, .intelligence-hub { position: relative; z-index: 2; }
.hero h1 { margin: 0; font-size: clamp(54px, 5.45vw, 86px); line-height: .98; letter-spacing: -4.6px; }
.hero h1 em { color: #57ddef; font-style: normal; }
.hero-text { max-width: 690px; margin: 31px 0 0; color: #a9c0ce; font-size: 15px; line-height: 1.75; }
.hero-buttons { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-note { margin: 27px 0 0; display: flex; align-items: center; gap: 9px; color: #7594a8; font-size: 8px; letter-spacing: .4px; }
.hero-note span { color: #c5d7e2; font-weight: 900; }.hero-note i { width: 18px; height: 1px; background: #36546a; }

.intelligence-hub { border: 1px solid rgba(125,192,229,.25); border-radius: 17px; background: rgba(5,27,45,.78); box-shadow: 0 35px 110px rgba(0,0,0,.32); backdrop-filter: blur(12px); }
.hub-header { min-height: 57px; padding: 0 18px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.09); }
.window-dots { display: flex; gap: 5px; }.window-dots i { width: 6px; height: 6px; border-radius: 50%; background: #345064; }.window-dots i:nth-child(2) { background: #0877f9; }.window-dots i:nth-child(3) { background: #35c25a; }
.hub-header strong { color: #a9c1d0; font-size: 8px; letter-spacing: 1.2px; }.hub-header > span { justify-self: end; display: flex; align-items: center; gap: 6px; color: #5be272; font-size: 7px; font-weight: 900; }.hub-header > span i { width: 5px; height: 5px; border-radius: 50%; background: #5be272; box-shadow: 0 0 9px #5be272; }
.hub-body { padding: 20px; }.hub-status { display: flex; gap: 8px; }.hub-status span { padding: 7px 9px; display: flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; color: #7e9bad; font-size: 6px; font-weight: 850; }.hub-status i { width: 5px; height: 5px; border-radius: 50%; }.status-blue { background: var(--blue); }.status-green { background: var(--green); }
.hub-flow { margin-top: 17px; display: grid; grid-template-columns: 1fr 25px 1.05fr 25px 1fr; align-items: center; }.flow-column > small,.flow-engine > small { min-height: 28px; display: block; color: #66879b; font-size: 6px; line-height: 1.2; letter-spacing: 1px; text-align: center; font-weight: 900; }.flow-column > div { min-height: 43px; margin: 7px 0; padding: 7px; display: grid; grid-template-columns: 26px 1fr 5px; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; background: rgba(255,255,255,.035); }.flow-column b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 6px; color: #65dcee; background: rgba(30,204,230,.1); font-size: 7px; }.flow-column span { color: #b7ccd8; font-size: 7px; font-weight: 700; }.flow-column i { width: 4px; height: 4px; border-radius: 50%; background: #0877f9; box-shadow: 0 0 7px #0877f9; }.outcomes b { color: #68e57c; background: rgba(65,205,85,.1); }.outcomes i { background: #39b91d; box-shadow: 0 0 7px #39b91d; }.flow-arrow { color: #3e789a; text-align: center; }.flow-engine { min-height: 244px; padding: 14px; border: 1px solid rgba(50,155,232,.27); border-radius: 11px; background: linear-gradient(180deg,rgba(8,119,249,.14),rgba(8,119,249,.03)); }.engine-label { width: 76px; height: 76px; margin: 1px auto 11px; display: grid; place-items: center; color: white; border: 1px solid rgba(83,220,239,.35); border-radius: 14px; background: linear-gradient(145deg,#0b76ee,#0a2f50); box-shadow: 0 12px 28px rgba(0,0,0,.22); font-size: 22px; font-weight: 950; letter-spacing: -1px; }.flow-engine ul { margin: 0; padding: 0; list-style: none; }.flow-engine li { padding: 6px 5px; display: flex; gap: 8px; border-top: 1px solid rgba(255,255,255,.06); color: #96b1c1; font-size: 6px; }.flow-engine li b { color: #36d9ed; }

.proof-strip { min-height: 126px; padding: 0 clamp(24px, 6vw, 96px); display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--line); background: white; }
.proof-strip > div { padding: 25px 30px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }.proof-strip > div:first-child { border-left: 1px solid var(--line); }.proof-strip strong { color: var(--blue); font-size: 24px; letter-spacing: -1px; }.proof-strip span { margin-top: 5px; color: #728795; font-size: 8px; line-height: 1.4; font-weight: 750; text-transform: uppercase; letter-spacing: .7px; }

.visual-stories { padding-bottom: 40px; }.story-stack { display: grid; gap: 95px; }.story-stack article { display: grid; grid-template-columns: 1.07fr .93fr; gap: clamp(50px,8vw,120px); align-items: center; }.story-stack article.reverse .story-image { order: 2; }.story-stack article > div:last-child > p:not(.kicker) { margin: 27px 0 0; color: var(--muted); font-size: 14px; line-height: 1.8; }.story-image { aspect-ratio: 1.18/1; position: relative; overflow: hidden; border-radius: 24px; background: var(--navy); box-shadow: 0 32px 80px rgba(8,39,61,.15); }.story-image img { width: 100%; height: 100%; object-fit: cover; }.story-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 60%,rgba(4,24,39,.3)); }.story-image > span { width: 60px; height: 60px; position: absolute; right: 18px; bottom: 18px; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: white; background: rgba(5,29,48,.7); font-size: 11px; font-weight: 900; backdrop-filter: blur(8px); }.story-line { margin-top: 32px; padding-top: 21px; display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--line); color: #6d8595; font-size: 7px; font-weight: 900; letter-spacing: .7px; }.story-line i { width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }.story-line i:nth-of-type(2) { background: var(--cyan); }.story-line i:nth-of-type(3) { background: var(--green); }

.all-services { background: var(--paper); }.service-catalog { margin-top: 70px; display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }.service-catalog > a { min-height: 360px; padding: 28px; display: flex; flex-direction: column; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: white; transition: .25s ease; }.service-catalog > a:hover { transform: translateY(-5px); border-color: #b7cee0; box-shadow: 0 22px 55px rgba(7,41,65,.1); }.service-catalog > a.featured { color: white; border-color: var(--navy); background: var(--navy); }.service-catalog > a.featured::before { content: ""; width: 280px; height: 280px; position: absolute; right: -165px; top: -170px; border-radius: 50%; background: var(--blue); opacity: .45; }.catalog-top { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; }.catalog-top span { min-width: 45px; height: 45px; padding: 0 8px; display: grid; place-items: center; border-radius: 11px; color: var(--blue); background: var(--paper-blue); font-size: 8px; font-weight: 900; }.featured .catalog-top span { color: #87e8f6; background: rgba(255,255,255,.1); }.catalog-top small { color: #93a5b1; font-size: 8px; }.service-catalog h3 { margin: 54px 0 16px; font-size: 26px; line-height: 1.13; letter-spacing: -1px; position: relative; z-index: 1; }.service-catalog p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; position: relative; z-index: 1; }.featured p { color: #a9c0ce; }.service-catalog a > div:last-child { margin-top: auto; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); color: var(--blue); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .8px; }.featured > div:last-child { color: #69e3f3; border-color: rgba(255,255,255,.12); }

.service-catalog > a { min-height: 420px; }
.service-catalog h3 { margin: 43px 0 13px; }
.catalog-points { margin: 19px 0 24px; padding: 16px 0 0; display: grid; gap: 8px; position: relative; z-index: 1; border-top: 1px solid var(--line); list-style: none; }
.catalog-points li { padding-left: 13px; position: relative; color: #526b7b; font-size: 8px; line-height: 1.4; font-weight: 700; }
.catalog-points li::before { content: ""; width: 5px; height: 5px; position: absolute; left: 0; top: 4px; border-radius: 50%; background: var(--green); }
.featured .catalog-points { border-color: rgba(255,255,255,.12); }
.featured .catalog-points li { color: #9eb7c7; }

.home-industries { background: white; }.industry-preview { margin-top: 65px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.industry-preview div { min-height: 120px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.industry-preview span { color: var(--blue); font-size: 8px; font-weight: 900; }.industry-preview strong { color: #29465a; font-size: 13px; line-height: 1.3; }.industry-preview .industry-any { color: white; background: var(--navy); }.industry-preview .industry-any span { color: var(--cyan); font-size: 22px; line-height: 1; }.industry-preview .industry-any strong { color: white; }.text-link { margin-top: 29px; display: inline-flex; align-items: center; gap: 20px; color: var(--blue); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .7px; }

.crossborder { min-height: 610px; padding: 78px clamp(24px,7vw,112px); display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(60px,9vw,145px); align-items: center; color: white; background: var(--blue); }.crossborder-image { aspect-ratio: 1.25/1; overflow: hidden; border: 8px solid rgba(255,255,255,.95); border-radius: 22px; box-shadow: 0 32px 90px rgba(3,38,94,.26); transform: rotate(-1deg); }.crossborder-image img { width: 100%; height: 100%; object-fit: cover; }.crossborder h2 { max-width: 730px; }.crossborder > div:last-child > p:not(.kicker) { max-width: 610px; margin: 25px 0 0; color: #d9e9ff; font-size: 14px; line-height: 1.75; }.crossborder .light-kicker { color: #d9e9ff; }.area-pills { margin: 30px 0; display: flex; flex-wrap: wrap; gap: 8px; }.area-pills span { min-width: 43px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: white; font-size: 8px; font-weight: 900; text-align: center; }.crossborder .button-primary { color: var(--navy); background: white; box-shadow: none; }
.launch-preview { background: linear-gradient(135deg,#075fd1,#0877f9 55%,#0a95e8); }
.launch-preview .crossborder-image { background: var(--navy); }
.launch-pills span { min-width: 62px; letter-spacing: .7px; }

.experience { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(70px,9vw,145px); align-items: center; }.experience-visual { min-height: 520px; display: grid; place-items: center; position: relative; }.experience-visual::before { content: ""; width: 74%; height: 74%; position: absolute; border-radius: 50%; background: #e4f3ff; }.experience-image { width: min(100%,640px); aspect-ratio: 1.25/1; position: relative; z-index: 1; border: 9px solid white; border-radius: 25px; background: var(--navy); box-shadow: 0 35px 90px rgba(9,48,74,.18); transform: rotate(-1deg); }.experience-image > img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 17px; }.experience-metric { min-width: 145px; padding: 14px 15px; position: absolute; z-index: 3; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.96); box-shadow: 0 15px 35px rgba(5,36,57,.16); }.experience-metric strong { color: var(--blue); font-size: 23px; }.experience-metric span { max-width: 105px; color: #607684; font-size: 7px; line-height: 1.35; font-weight: 850; text-transform: uppercase; }.metric-data { right: -28px; top: 30px; }.metric-erp { left: -31px; bottom: 49px; }.metric-erp strong { color: var(--green); }.experience-copy > p:not(.kicker) { margin: 27px 0 0; color: var(--muted); font-size: 14px; line-height: 1.8; }.experience-copy ul { margin: 30px 0 0; padding: 25px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 15px 20px; border-top: 1px solid var(--line); list-style: none; }.experience-copy li { display: flex; align-items: flex-start; gap: 8px; color: #3d5667; font-size: 10px; line-height: 1.45; }.experience-copy li span { color: var(--green); font-weight: 900; }

.contact-band { padding: 110px clamp(24px,7vw,112px); display: grid; grid-template-columns: 1fr .8fr; gap: clamp(60px,9vw,150px); align-items: center; color: white; background: var(--navy); }.contact-band > div > p:not(.kicker) { max-width: 630px; margin: 27px 0 0; color: #a7bdca; font-size: 14px; line-height: 1.75; }
.contact-form { width: 100%; padding: 36px; border-radius: 20px; background: white; color: var(--ink); box-shadow: 0 35px 90px rgba(0,0,0,.23); }.form-heading { margin-bottom: 25px; display: flex; gap: 15px; align-items: flex-start; }.form-heading > span { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; color: var(--blue); background: var(--paper-blue); font-size: 8px; font-weight: 900; }.form-heading h3 { margin: 0; font-size: 24px; letter-spacing: -.8px; }.form-heading p { margin: 6px 0 0; color: var(--muted); font-size: 10px; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }.contact-form label { margin-top: 16px; display: block; color: #607482; font-size: 7px; font-weight: 900; letter-spacing: .9px; text-transform: uppercase; }.contact-form input, .contact-form select, .contact-form textarea { width: 100%; margin-top: 7px; padding: 11px 2px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; outline: 0; color: var(--ink); background: transparent; font-family: var(--font-geist-sans),Arial,sans-serif; font-size: 13px; line-height: 1.5; letter-spacing: 0; text-transform: none; }.contact-form textarea { min-height: 118px; resize: vertical; font-size: 14px; line-height: 1.65; }.contact-form textarea::placeholder { color: #9aacb7; font-size: 12px; opacity: 1; }.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--blue); }.contact-form button { width: 100%; min-height: 53px; margin-top: 24px; padding: 0 17px; display: flex; align-items: center; justify-content: space-between; border: 0; border-radius: 8px; color: white; background: var(--blue); font-size: 10px; font-weight: 900; cursor: pointer; }.contact-form button:disabled { cursor: wait; opacity: .75; }.contact-form button.submitted { background: var(--green); }.contact-form button span { font-size: 17px; }.privacy-note { margin-top: 13px; display: block; color: #8da0ac; font-size: 7px; text-align: center; }.form-error { margin: 12px 0 0; color: #b93131; font-size: 9px; line-height: 1.4; }.honeypot { width: 1px !important; height: 1px !important; padding: 0 !important; position: absolute !important; left: -9999px !important; opacity: 0 !important; }
.popup-open { overflow: hidden; }.form-popup { padding: 24px; position: fixed; inset: 0; z-index: 500; display: grid; place-items: center; background: rgba(3,22,36,.72); backdrop-filter: blur(7px); animation: popupFade .2s ease-out; }.form-popup-card { width: min(100%,510px); padding: 42px 38px 36px; position: relative; border: 1px solid rgba(8,119,249,.14); border-radius: 24px; color: var(--ink); background: white; box-shadow: 0 35px 110px rgba(0,0,0,.3); text-align: center; animation: popupRise .28s ease-out; }.form-popup-close { width: 39px; height: 39px; padding: 0; position: absolute; right: 16px; top: 16px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: #657d8d; background: white; font-size: 23px; line-height: 1; cursor: pointer; }.form-popup-icon { width: 72px; height: 72px; margin: 0 auto 22px; display: grid; place-items: center; border-radius: 50%; font-size: 31px; font-weight: 900; }.form-popup-icon.sent { color: #188436; background: #e7f8ec; }.form-popup-icon.error { color: #ba3030; background: #fdecec; }.form-popup-card > small { color: var(--blue); font-size: 8px; font-weight: 950; letter-spacing: 1.4px; }.form-popup-card h3 { margin: 13px 0 14px; font-size: 31px; line-height: 1.08; letter-spacing: -1.1px; }.form-popup-card p { max-width: 400px; margin: 0 auto; color: var(--muted); font-size: 13px; line-height: 1.7; }.form-popup-action { min-width: 150px; min-height: 48px; margin-top: 27px; padding: 0 25px; border: 0; border-radius: 9px; color: white; background: var(--blue); font-size: 10px; font-weight: 900; cursor: pointer; }.form-popup[hidden] { display: none; }@keyframes popupFade { from { opacity: 0; } }@keyframes popupRise { from { opacity: 0; transform: translateY(14px) scale(.98); } }

.site-footer { padding: 0 0 28px; color: white; background: #031521; }
.footer-brand-strip { min-height: 230px; padding: 34px clamp(24px,6vw,96px); display: grid; grid-template-columns: 310px minmax(260px,1fr) auto; gap: clamp(32px,5vw,78px); align-items: center; color: var(--ink); background: #f6f9fb; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.brand-footer { width: 310px; height: auto; padding: 0; justify-content: flex-start; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.brand-footer img { width: 310px; height: auto; display: block; object-fit: contain; filter: none; opacity: 1; }
.footer-brand-message { max-width: 560px; }
.footer-brand-message > span { color: var(--blue); font-size: 8px; font-weight: 950; letter-spacing: 1.7px; }
.footer-brand-message > p { margin: 15px 0 0; color: #516b7d; font-size: 13px; line-height: 1.75; }
.footer-main { padding: 58px clamp(24px,6vw,96px); display: grid; grid-template-columns: minmax(420px,1.2fr) minmax(300px,.72fr); gap: clamp(55px,8vw,125px); align-items: stretch; }
.footer-email { display: grid; grid-template-columns: 42px 1fr; gap: 1px 13px; align-items: center; color: var(--ink); }
.footer-email > span { width: 37px; height: 37px; grid-row: 1/3; display: grid; place-items: center; border: 1px solid #cfe1ec; border-radius: 10px; color: var(--blue); background: #eaf4ff; }
.footer-email small { color: #6f8695; font-size: 7px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }
.footer-email strong { color: #17364c; font-size: 11px; }
.footer-directory { display: grid; grid-template-columns: 1.35fr .8fr; gap: clamp(35px,5vw,70px); }
.footer-link-group { display: grid; align-content: start; }
.footer-link-group > strong { margin-bottom: 24px; color: #eff9fd; font-size: 10px; letter-spacing: 1.15px; text-transform: uppercase; }
.footer-link-group > a { min-height: 38px; padding: 10px 0; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid rgba(255,255,255,.075); color: #91aab9; font-size: 9px; line-height: 1.35; transition: .2s ease; }
.footer-link-group > a > span { color: #476b80; font-size: 11px; }
.footer-link-group > a:hover { padding-left: 5px; color: white; border-color: rgba(39,215,235,.3); }
.footer-link-group > a:hover > span { color: var(--cyan); }
.footer-link-group > a.footer-all-link { color: #68deed; font-weight: 850; }
.footer-cta-card { min-height: 330px; padding: 31px; display: flex; flex-direction: column; border: 1px solid rgba(117,210,233,.2); border-top: 3px solid var(--blue); border-radius: 14px; background: #082a43; box-shadow: 0 22px 55px rgba(0,0,0,.18); }
.footer-cta-card > small { color: #68dfed; font-size: 7px; font-weight: 950; letter-spacing: 1.2px; }
.footer-cta-card > h3 { margin: 38px 0 16px; max-width: 310px; color: white; font-size: 29px; line-height: 1.05; letter-spacing: -1.2px; }
.footer-cta-card > p { margin: 0; color: #9fb9c8; font-size: 10px; line-height: 1.65; }
.footer-cta-card > a { min-height: 48px; margin-top: auto; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; border-radius: 9px; color: var(--navy); background: white; font-size: 9px; font-weight: 900; }
.footer-cta-card > a span { font-size: 17px; }
.footer-bottom { min-height: 55px; margin: 0 clamp(24px,6vw,96px); padding-top: 24px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 25px; position: relative; z-index: 1; border-top: 1px solid rgba(255,255,255,.1); color: #607d8f; font-size: 8px; }
.footer-signature { display: flex; align-items: center; gap: 8px; color: #6f8d9e; font-size: 7px; font-weight: 850; letter-spacing: 1px; }
.footer-signature i { width: 4px; height: 4px; border-radius: 50%; background: var(--blue); }.footer-signature i:last-of-type { background: var(--green); }
.footer-bottom > div { justify-self: end; display: flex; gap: 4px; }
.footer-bottom a { padding: 7px 9px; border: 1px solid transparent; border-radius: 999px; color: #829dab; background: transparent; font-size: 8px; cursor: pointer; }
.footer-bottom a.active { color: white; border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.06); }
.floating-contact { width: 48px; height: 48px; position: fixed; right: 24px; bottom: 23px; z-index: 50; display: grid; place-items: center; border: 4px solid rgba(255,255,255,.92); border-radius: 50%; color: white; background: var(--blue); box-shadow: 0 13px 34px rgba(8,119,249,.34); }

/* Service detail pages */
.detail-hero { min-height: 650px; padding: 88px clamp(24px,7vw,112px); display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(65px,9vw,145px); align-items: center; position: relative; overflow: hidden; color: white; background: var(--navy); }.detail-hero-copy, .detail-visual { position: relative; z-index: 1; }.back-link { margin-bottom: 48px; display: inline-block; color: #7594a8; font-size: 8px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }.detail-hero h1, .page-hero h1, .contact-page h1 { margin: 0; font-size: clamp(49px,5vw,78px); line-height: .99; letter-spacing: -4px; }.detail-hero-copy > p:not(.kicker) { max-width: 680px; margin: 28px 0 34px; color: #a8bfcc; font-size: 14px; line-height: 1.8; }.detail-visual { aspect-ratio: 1.22/1; border: 8px solid rgba(255,255,255,.95); border-radius: 24px; background: #0b2a45; box-shadow: 0 35px 100px rgba(0,0,0,.35); transform: rotate(1deg); }.detail-visual > img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 16px; }.detail-float { min-width: 175px; padding: 14px 16px; position: absolute; z-index: 3; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: rgba(255,255,255,.96); box-shadow: 0 17px 40px rgba(0,0,0,.2); transform: rotate(-1deg); }.detail-float.top { right: -28px; top: 28px; }.detail-float.bottom { left: -32px; bottom: 35px; }.detail-float small { display: block; color: #768b99; font-size: 7px; font-weight: 850; text-transform: uppercase; }.detail-float strong { margin-top: 5px; display: block; color: var(--blue); font-size: 10px; }
.detail-title { max-width: 960px; }.overview-columns { margin-top: 62px; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.overview-columns article { min-height: 330px; padding: 31px; border: 1px solid var(--line); border-radius: 17px; background: white; }.overview-columns article.dark { color: white; border-color: var(--navy); background: var(--navy); }.overview-columns article > span { color: var(--blue); font-size: 9px; font-weight: 900; }.overview-columns h3 { margin: 55px 0 24px; font-size: 24px; letter-spacing: -1px; }.overview-columns p { color: #a9bfcc; font-size: 12px; line-height: 1.75; }.overview-columns ul { margin: 0; padding: 0; display: grid; gap: 13px; list-style: none; }.overview-columns li { padding-top: 12px; border-top: 1px solid var(--line); color: #506879; font-size: 10px; line-height: 1.5; }.overview-columns .dark h3 { color: white; }
.service-applications { padding-top: 105px; background: var(--paper); }
.application-layout { margin-top: 64px; display: grid; grid-template-columns: 1.18fr .82fr; gap: 15px; align-items: stretch; }
.application-list { display: grid; gap: 10px; }
.application-list article { min-height: 155px; padding: 25px; display: grid; grid-template-columns: 45px 1fr; gap: 20px; align-items: start; border: 1px solid var(--line); border-radius: 15px; background: white; }
.application-list article > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; color: var(--blue); background: var(--paper-blue); font-size: 8px; font-weight: 900; }
.application-list h3 { margin: 2px 0 10px; font-size: 19px; letter-spacing: -.6px; }
.application-list p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.works-with { min-height: 100%; padding: 37px; display: flex; flex-direction: column; position: relative; overflow: hidden; border-radius: 18px; color: white; background: var(--navy); }
.works-with > span { width: 55px; height: 55px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; color: #6de2f1; background: rgba(255,255,255,.06); font-size: 10px; font-weight: 900; }
.works-with .kicker { margin-top: 70px; color: #6de2f1; }
.works-with > div { display: flex; flex-wrap: wrap; gap: 8px; }
.works-with b { padding: 10px 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: #c5d8e3; background: rgba(255,255,255,.045); font-size: 8px; }
.works-with small { margin-top: auto; padding-top: 45px; color: #7896a8; font-size: 8px; line-height: 1.65; }
.service-principles { padding: 110px clamp(24px,6vw,96px); display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: linear-gradient(90deg,transparent 6%,var(--line) 6%,var(--line) 94%,transparent 94%); }.service-principles article { min-height: 230px; padding: 33px; background: white; }.service-principles span { color: var(--blue); font-size: 8px; font-weight: 900; }.service-principles h3 { margin: 45px 0 15px; font-size: 20px; letter-spacing: -.8px; }.service-principles p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.process { color: white; background: var(--navy); }.process-intro { max-width: 920px; }.process .kicker { color: #69dfee; }.process-steps { margin-top: 65px; display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(255,255,255,.12); }.process-steps article { min-height: 315px; padding: 30px; background: var(--navy); }.step-top { display: flex; align-items: center; justify-content: space-between; color: #718e9f; font-size: 9px; }.step-top i { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; color: #58dced; font-style: normal; }.process-steps h3 { margin: 78px 0 17px; font-size: 21px; letter-spacing: -.7px; }.process-steps p { margin: 0; color: #91a9b8; font-size: 11px; line-height: 1.7; }.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }.related-grid > a { min-height: 270px; padding: 28px; display: flex; flex-direction: column; position: relative; border: 1px solid var(--line); border-radius: 16px; background: white; transition: .2s ease; }.related-grid > a:hover { transform: translateY(-4px); box-shadow: 0 20px 45px rgba(8,43,67,.1); }.related-grid > a > span:first-child { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; color: var(--blue); background: var(--paper-blue); font-size: 8px; font-weight: 900; }.related-grid h3 { margin: 35px 0 12px; font-size: 23px; letter-spacing: -.8px; }.related-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }.related-grid a > span:last-child { margin-top: auto; align-self: flex-end; color: var(--blue); }

.data-detail-visual { aspect-ratio: 1.56/1; }
.data-card-visual { height: auto; aspect-ratio: 16/9; margin-top: 24px; position: relative; overflow: hidden; border: 1px solid rgba(8,42,65,.08); border-radius: 12px; background: #dff4f5; }
.data-card-visual img { width: 100%; height: 100%; display: block; object-fit: contain; }
.data-overview .overview-columns article { min-height: 465px; }
.data-overview .overview-columns h3 { margin-top: 27px; }
.overview-columns article.dark .data-card-visual { border-color: rgba(255,255,255,.15); }
.application-visual { height: auto; margin: 0 0 20px; }
.application-list article.data-application-card { min-height: 285px; }
.data-principles article { min-height: 375px; }
.data-principles h3 { margin-top: 27px; }
.data-process .process-steps article { min-height: 500px; }
.process-visual { height: auto; border-color: rgba(255,255,255,.13); }
.data-process .process-steps h3 { margin-top: 28px; }
.service-example-grid article.data-example-card { min-height: 455px; }
.example-visual { height: auto; margin-top: 30px; }
.service-example-grid .example-visual + h3 { margin-top: 28px; }
.process-summary { max-width: 770px; margin: 26px 0 0; color: #9eb5c3; font-size: 13px; line-height: 1.75; }
.data-process .process-steps { gap: 14px; background: transparent; }
.data-process .process-steps article { min-height: 500px; position: relative; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: linear-gradient(145deg,#08253d,#061c30); }
.data-process .process-steps article:not(:last-child)::after { content: "→"; width: 28px; height: 28px; position: absolute; right: -22px; top: 50%; z-index: 2; display: grid; place-items: center; border-radius: 50%; color: #56d9eb; background: #0b3451; box-shadow: 0 0 0 5px var(--navy); transform: translateY(-50%); }
.data-process .process-steps h3 { margin-top: 28px; }
.service-example { background: var(--paper); }
.service-example-intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(45px,8vw,120px); align-items: end; }
.service-example-intro > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.service-example-grid { margin-top: 58px; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.service-example-grid article { min-height: 320px; padding: 30px; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 16px 45px rgba(8,42,65,.05); }
.service-example-grid article::before { content: ""; width: 130px; height: 130px; position: absolute; right: -70px; top: -70px; border-radius: 50%; background: var(--paper-blue); }
.example-stage-top { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; }
.example-stage-top span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--blue); background: var(--paper-blue); font-size: 9px; font-weight: 900; }
.example-stage-top small { max-width: 145px; color: var(--cyan-dark); font-size: 7px; font-weight: 850; letter-spacing: .9px; text-align: right; text-transform: uppercase; }
.service-example-grid h3 { margin: 54px 0 16px; position: relative; font-size: 23px; letter-spacing: -.7px; }
.service-example-grid p { margin: 0; position: relative; color: var(--muted); font-size: 11px; line-height: 1.72; }
.service-example-note { margin-top: 16px; padding: 22px 25px; display: flex; gap: 17px; align-items: flex-start; border: 1px solid #ccecf0; border-radius: 15px; background: #eefbfd; }
.service-example-note > span { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--cyan-dark); font-size: 12px; font-weight: 900; }
.service-example-note small { display: block; color: var(--cyan-dark); font-size: 7px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }
.service-example-note p { margin: 6px 0 0; color: #37586b; font-size: 11px; line-height: 1.65; }

/* Directory, about and contact pages */
.page-hero { min-height: 470px; padding: 90px clamp(24px,7vw,112px); display: grid; grid-template-columns: minmax(0,980px); align-items: center; position: relative; overflow: hidden; color: white; background: var(--navy); }.page-hero > div { position: relative; z-index: 1; }.page-hero > div:first-child > p:not(.kicker) { max-width: 760px; margin: 27px 0 0; color: #a8bfcc; font-size: 14px; line-height: 1.75; }
.directory { background: var(--paper); }.directory-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }.directory-grid article { min-height: 535px; padding: 27px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 17px; background: white; }.directory-code { display: flex; justify-content: space-between; align-items: center; }.directory-code > span { min-width: 44px; height: 42px; padding: 0 8px; display: grid; place-items: center; border-radius: 10px; color: var(--blue); background: var(--paper-blue); font-size: 7px; font-weight: 900; }.directory-code small { color: #9aabb5; font-size: 8px; }.directory-grid h2 { margin: 38px 0 13px; font-size: 23px; line-height: 1.15; letter-spacing: -.8px; }.directory-grid p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }.directory-label { margin-top: 24px; display: block; color: #8ba0ad; font-size: 7px; letter-spacing: .8px; text-transform: uppercase; }.directory-tags { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 6px; }.directory-tags span { padding: 7px 9px; border-radius: 999px; color: #34617f; background: var(--paper-blue); font-size: 7px; font-weight: 750; }.directory-support { margin-top: 9px !important; color: #435e70 !important; }.mini-flow { margin-top: auto; padding-top: 18px; display: flex; align-items: center; gap: 5px; border-top: 1px solid var(--line); color: #748997; font-size: 6px; font-weight: 900; }.mini-flow i { width: 5px; height: 5px; border-radius: 50%; background: var(--blue); }.mini-flow i:nth-of-type(2){background:var(--cyan)}.mini-flow i:nth-of-type(3){background:var(--green)}.mini-flow b { color: #a5b5bf; }
.industry-open { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(65px,9vw,145px); align-items: center; background: white; }
.industry-open-copy > p:not(.kicker) { max-width: 680px; margin: 26px 0 34px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.industry-open-visual { min-height: 520px; position: relative; overflow: hidden; border-radius: 28px; background: radial-gradient(circle at 50% 46%,#0d4774 0,#082c49 34%,var(--navy) 71%); box-shadow: 0 35px 90px rgba(5,38,61,.2); }
.industry-open-visual::before,.industry-open-visual::after { content: ""; position: absolute; border-radius: 50%; filter: blur(1px); }
.industry-open-visual::before { width: 260px; height: 260px; right: -105px; top: -125px; background: rgba(8,119,249,.55); }
.industry-open-visual::after { width: 210px; height: 210px; left: -105px; bottom: -112px; background: rgba(45,214,232,.18); }
.industry-orbit { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(83,220,239,.24); border-radius: 50%; transform: translate(-50%,-50%); }
.orbit-one { width: 380px; height: 380px; }.orbit-two { width: 265px; height: 265px; border-style: dashed; }
.industry-any-badge { width: 190px; height: 190px; position: absolute; left: 50%; top: 50%; z-index: 2; display: grid; place-content: center; gap: 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: white; background: rgba(5,31,50,.72); box-shadow: 0 0 70px rgba(37,187,225,.16); transform: translate(-50%,-50%); text-align: center; }
.industry-any-badge span { color: var(--cyan); font-size: 55px; line-height: .72; }.industry-any-badge strong { max-width: 115px; color: #d9f7fb; font-size: 10px; line-height: 1.35; letter-spacing: 1.1px; }
.industry-flow-label { min-width: 86px; padding: 11px 13px; position: absolute; z-index: 3; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #b9d2df; background: rgba(255,255,255,.06); font-size: 7px; font-weight: 900; letter-spacing: .9px; text-align: center; }
.flow-data { left: 8%; top: 20%; }.flow-systems { right: 7%; top: 27%; }.flow-action { right: 12%; bottom: 15%; color: #c8f9cf; border-color: rgba(66,203,80,.2); }
.industry-examples { background: var(--paper); }
.industry-example-grid { margin-top: 68px; display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.industry-example-grid > article { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 16px 45px rgba(8,42,65,.06); }
.industry-example-image { aspect-ratio: 1.55/1; position: relative; overflow: hidden; background: var(--navy); }
.industry-example-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 52%,rgba(3,22,36,.58)); }
.industry-example-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s ease; }.industry-example-grid > article:hover img { transform: scale(1.035); }
.industry-example-image > span { width: 38px; height: 38px; position: absolute; right: 16px; bottom: 15px; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: white; background: rgba(5,30,48,.55); font-size: 8px; font-weight: 900; }
.industry-example-copy { padding: 26px; }.industry-example-copy > small { color: var(--blue); font-size: 8px; font-weight: 950; letter-spacing: .9px; }.industry-example-copy h3 { min-height: 58px; margin: 20px 0 13px; font-size: 24px; line-height: 1.12; letter-spacing: -.9px; }.industry-example-copy > p { min-height: 82px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }.industry-example-copy > strong { margin-top: 24px; padding-top: 18px; display: block; border-top: 1px solid var(--line); color: #8094a1; font-size: 7px; letter-spacing: .8px; text-transform: uppercase; }.industry-example-copy > div { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }.industry-example-copy > div span { padding: 8px 10px; border-radius: 999px; color: #365f79; background: var(--paper-blue); font-size: 7px; font-weight: 800; }
.industry-example-notice { margin-top: 18px; padding: 30px 32px; display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; border: 1px solid rgba(77,218,238,.2); border-radius: 18px; color: white; background: linear-gradient(110deg,var(--navy),#0a4167); box-shadow: 0 18px 50px rgba(5,38,61,.15); }.industry-example-notice > span { color: var(--cyan); font-size: 42px; line-height: .8; }.industry-example-notice > strong { max-width: 760px; color: #eefbff; font-size: 14px; line-height: 1.55; }.industry-example-notice > a { display: inline-flex; align-items: center; gap: 16px; color: #73e5f4; font-size: 8px; font-weight: 900; letter-spacing: .6px; text-transform: uppercase; }
.industry-needs { background: white; }.industry-needs-grid { margin-top: 65px; display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); }.industry-needs-grid article { min-height: 270px; padding: 28px; background: white; }.industry-needs-grid article > span { color: var(--blue); font-size: 9px; font-weight: 900; }.industry-needs-grid h3 { margin: 56px 0 15px; font-size: 21px; letter-spacing: -.7px; }.industry-needs-grid p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.upcoming-section { background: var(--paper); }
.upcoming-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.upcoming-card { min-height: 480px; padding: 34px; display: flex; flex-direction: column; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: white; }
.upcoming-card.featured-release { color: white; border-color: var(--navy); background: var(--navy); }
.upcoming-card.featured-release::before { content: ""; width: 360px; height: 360px; position: absolute; right: -190px; top: -210px; border-radius: 50%; background: var(--blue); opacity: .48; }
.upcoming-card-top { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; }
.upcoming-card-top > span { min-width: 58px; height: 48px; padding: 0 12px; display: grid; place-items: center; border-radius: 12px; color: var(--blue); background: var(--paper-blue); font-size: 9px; font-weight: 950; letter-spacing: .5px; }
.featured-release .upcoming-card-top > span { color: #7ae8f6; background: rgba(255,255,255,.1); }
.upcoming-card-top small { color: #9cafbb; font-size: 9px; }
.release-status { margin-top: 48px; display: flex; align-items: center; gap: 7px; position: relative; z-index: 1; color: #7c919f; font-size: 8px; letter-spacing: .6px; text-transform: uppercase; }
.release-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px rgba(57,185,29,.65); }
.release-status strong { color: var(--green); }
.upcoming-card h2 { margin: 22px 0 17px; position: relative; z-index: 1; font-size: clamp(29px,3vw,43px); line-height: 1.04; letter-spacing: -1.8px; }
.upcoming-card > p { max-width: 650px; margin: 0; position: relative; z-index: 1; color: var(--muted); font-size: 12px; line-height: 1.75; }
.featured-release > p { color: #a8c0cf; }
.release-features { margin-top: auto; padding-top: 30px; display: flex; flex-wrap: wrap; gap: 8px; position: relative; z-index: 1; border-top: 1px solid var(--line); }
.release-features span { padding: 9px 11px; border-radius: 999px; color: #3c6079; background: var(--paper-blue); font-size: 8px; font-weight: 800; }
.featured-release .release-features { border-color: rgba(255,255,255,.12); }
.featured-release .release-features span { color: #bfd7e5; background: rgba(255,255,255,.07); }
.release-interest { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: center; color: white; background: linear-gradient(135deg,var(--navy),#0a3557); }
.release-interest h2 { max-width: 850px; }
.release-interest > div > p:not(.kicker) { max-width: 700px; margin: 24px 0 0; color: #9fb7c6; font-size: 13px; line-height: 1.75; }
.release-interest .button { min-width: 220px; }
.areas-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(55px,7vw,110px); align-items: start; }.map-panel { aspect-ratio: 1.05/1; position: sticky; top: 120px; overflow: hidden; border-radius: 24px; background: var(--navy); box-shadow: 0 30px 80px rgba(7,40,61,.16); }.map-panel > img { width: 100%; height: 100%; object-fit: cover; }.map-panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(4,24,39,.65)); }.map-caption { position: absolute; left: 30px; right: 30px; bottom: 27px; z-index: 2; display: flex; align-items: end; justify-content: space-between; color: white; }.map-caption strong { font-size: 38px; letter-spacing: -2px; }.map-caption span { color: #bed3df; font-size: 8px; font-weight: 800; text-transform: uppercase; }.coverage-note { margin: 18px 5px 0; color: #7a8f9c; font-size: 8px; line-height: 1.6; }.area-directory { display: grid; gap: 10px; }.area-directory article { min-height: 235px; padding: 25px; display: grid; grid-template-columns: 58px 1fr; gap: 20px; align-items: start; border: 1px solid var(--line); border-radius: 15px; background: white; }.area-directory article > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 12px; color: var(--blue); background: var(--paper-blue); font-size: 9px; font-weight: 900; }.area-directory h2 { margin: 2px 0 0; font-size: 20px; letter-spacing: -.6px; }.area-directory p { margin: 8px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }.area-directory small { margin-top: 17px; display: block; color: #8ba0ad; font-size: 7px; font-weight: 850; text-transform: uppercase; letter-spacing: .7px; }.area-focus { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }.area-focus b { padding: 7px 9px; border-radius: 999px; color: #315c79; background: var(--paper-blue); font-size: 7px; }.area-directory .area-note { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line); color: #39566a; }
.about-difference { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(70px,9vw,145px); align-items: center; }.about-difference > div:last-child > p:not(.kicker) { color: var(--muted); font-size: 14px; line-height: 1.8; }.about-pillars { margin: 27px 0 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.about-pillars div { min-height: 80px; padding: 14px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 10px; color: #3d5668; font-size: 9px; line-height: 1.4; }.about-pillars span { color: var(--blue); font-size: 8px; font-weight: 900; }.about-proof { background: var(--paper); }
.contact-page { min-height: 800px; padding: 95px clamp(24px,7vw,112px); display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(70px,10vw,160px); align-items: center; position: relative; overflow: hidden; color: white; background: var(--navy); }.contact-page-copy, .contact-page .contact-form { position: relative; z-index: 1; }.contact-page-copy > p:not(.kicker) { max-width: 620px; margin: 28px 0 0; color: #a8bfcc; font-size: 14px; line-height: 1.75; }.contact-facts { margin-top: 40px; display: grid; gap: 8px; }.contact-facts > div, .contact-facts > a { padding: 14px; display: grid; grid-template-columns: 39px 1fr; gap: 12px; align-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.035); }.contact-facts > div > span, .contact-facts > a > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 9px; color: #76e5f4; background: rgba(44,205,230,.1); font-size: 11px; font-weight: 900; }.contact-facts small { display: block; color: #708fa3; font-size: 6px; text-transform: uppercase; letter-spacing: 1px; }.contact-facts strong { margin-top: 4px; display: block; color: #c7d9e4; font-size: 10px; }

@media (max-width: 1180px) {
  .brand { width: 185px; }.brand img { width: 185px; }.site-nav { gap: 15px; }.site-nav > a,.nav-dropdown > button { font-size: 10px; }.header-cta { display: none; }
  .hero { grid-template-columns: 1fr 430px; gap: 50px; }.hub-body { padding: 14px; }
  .directory-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 920px) {
  .site-header { height: 88px; padding: 0 22px; }.brand { width: 190px; height: 62px; }.brand img { width: 190px; height: auto; }.menu-button { display: block; }
  .site-nav { height: auto; max-height: calc(100vh - 88px); padding: 18px; position: fixed; top: 88px; left: 0; right: 0; display: none; align-items: stretch; overflow-y: auto; border-top: 1px solid var(--line); background: white; box-shadow: 0 25px 55px rgba(7,34,53,.15); }.site-nav.open { display: block; }.site-nav > a,.nav-dropdown > button { width: 100%; min-height: 48px; padding: 0 6px; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 12px; }.site-nav > a::after,.nav-dropdown > button::after { display: none; }.nav-dropdown { height: auto; }.nav-dropdown:hover .dropdown-panel { opacity: 0; visibility: hidden; }.nav-dropdown.open .dropdown-panel { opacity: 1; visibility: visible; }.dropdown-panel,.erp-panel { width: 100%; padding: 6px; position: static; display: none; grid-template-columns: 1fr; transform: none; opacity: 1; visibility: visible; border: 0; box-shadow: none; }.nav-dropdown.open .dropdown-panel { display: grid; }.mega-intro { display: none; }.mega-links { grid-template-columns: 1fr; }.mega-links > a { min-height: 70px; }.mobile-contact { display: flex !important; color: var(--blue) !important; }
  .hero { min-height: auto; padding-top: 72px; grid-template-columns: 1fr; }.intelligence-hub { width: min(100%,650px); }.proof-strip { grid-template-columns: 1fr 1fr; }.proof-strip > div:nth-child(3) { border-left: 1px solid var(--line); }
  .section-intro,.story-stack article,.crossborder,.experience,.detail-hero,.contact-band,.about-difference,.contact-page,.areas-layout,.release-interest,.industry-open { grid-template-columns: 1fr; }
  .story-stack article.reverse .story-image { order: 0; }.service-catalog { grid-template-columns: 1fr 1fr; }.industry-preview { grid-template-columns: 1fr 1fr; }
  .crossborder { gap: 55px; }.experience-visual { min-height: 450px; }.contact-band { gap: 50px; }
  .detail-hero { gap: 55px; }.detail-visual { width: min(100%,720px); }.overview-columns,.service-principles,.related-grid,.application-layout,.service-example-intro { grid-template-columns: 1fr; }.service-principles { gap: 8px; background: white; }.process-steps { grid-template-columns: 1fr 1fr; }.data-process .process-steps article::after { display: none; }.service-example-grid { grid-template-columns: 1fr; }.service-example-grid article { min-height: 260px; }
  .page-hero { grid-template-columns: 1fr; }.directory-grid,.upcoming-grid,.industry-example-grid { grid-template-columns: 1fr; }.industry-example-grid > article { display: grid; grid-template-columns: .9fr 1.1fr; }.industry-example-copy h3,.industry-example-copy > p { min-height: 0; }.industry-needs-grid { grid-template-columns: 1fr 1fr; }.map-panel { position: relative; top: auto; width: min(100%,680px); }.contact-page { gap: 55px; }
  .footer-brand-strip { grid-template-columns: 300px 1fr; }.brand-footer { width: 300px; height: auto; }.brand-footer img { width: 300px; height: auto; }.footer-brand-strip .footer-email { grid-column: 2; }.footer-main { grid-template-columns: 1fr; }.footer-cta-card { min-height: 280px; }.footer-cta-card > h3 { max-width: 570px; }.footer-bottom { grid-template-columns: 1fr auto; }.footer-signature { display: none; }
}

@media (max-width: 620px) {
  .site-header { padding: 0 15px; gap: 12px; }.brand { width: 150px; height: 54px; }.brand img { width: 150px; height: auto; }.language-switch span { display: none; }.language-switch a { padding: 7px; }
  .section { padding: 82px 20px; }.hero { padding: 66px 20px 58px; }.hero h1,.detail-hero h1,.page-hero h1,.contact-page h1 { font-size: 43px; letter-spacing: -2.7px; }.hero-text { font-size: 13px; }.hero-buttons { display: grid; }.button { width: 100%; }.hero-note { align-items: flex-start; flex-wrap: wrap; }
  .intelligence-hub { overflow-x: auto; }.hub-header,.hub-body { min-width: 520px; }.proof-strip { padding: 0 20px; }.proof-strip > div { padding: 21px 15px; }.proof-strip strong { font-size: 20px; }
  .section-intro { gap: 25px; }.service-catalog,.directory-grid { grid-template-columns: 1fr; }.service-catalog > a { min-height: 310px; }.industry-preview { grid-template-columns: 1fr 1fr; }.industry-preview div { min-height: 100px; padding: 16px; }
  .visual-stories { padding-bottom: 20px; }.story-stack { gap: 68px; }.story-stack article { gap: 35px; }.story-image { border-radius: 17px; }.story-line { flex-wrap: wrap; }
  .crossborder { padding: 75px 20px; }.experience { gap: 40px; }.experience-visual { min-height: 360px; }.experience-image { width: 92%; }.experience-metric { min-width: 120px; }.metric-data { right: -12px; }.metric-erp { left: -12px; }.experience-copy ul,.about-pillars { grid-template-columns: 1fr; }
  .contact-band,.contact-page { padding: 80px 20px; }.contact-form { padding: 25px 20px; }.form-row { grid-template-columns: 1fr; gap: 0; }.form-popup { padding: 15px; }.form-popup-card { padding: 39px 23px 28px; border-radius: 19px; }.form-popup-card h3 { font-size: 27px; }.form-popup-card p { font-size: 12px; }.form-popup-close { right: 12px; top: 12px; }
  .detail-hero,.page-hero { padding: 70px 20px; }.detail-float { min-width: 140px; padding: 11px; }.detail-float.top { right: -8px; }.detail-float.bottom { left: -8px; }.detail-overview { padding-bottom: 80px; }.overview-columns article { min-height: 290px; }.service-applications { padding-top: 80px; }.application-layout { margin-top: 42px; }.application-list article { grid-template-columns: 38px 1fr; gap: 14px; padding: 20px; }.application-list article > span { width: 36px; height: 36px; }.works-with { padding: 28px 22px; }.works-with .kicker { margin-top: 45px; }.service-principles { padding: 80px 20px; }.process-steps { grid-template-columns: 1fr; }.process-steps article { min-height: 260px; }.process-steps h3 { margin-top: 55px; }
  .directory-grid article { min-height: 280px; }.areas-layout { gap: 40px; }.map-caption { left: 18px; right: 18px; bottom: 18px; }.map-caption strong { font-size: 28px; }.area-directory article { grid-template-columns: 48px 1fr; gap: 14px; padding: 14px; }.area-directory article > span { width: 46px; height: 46px; }
  .industry-open { gap: 42px; }.industry-open-visual { min-height: 390px; }.orbit-one { width: 320px; height: 320px; }.orbit-two { width: 225px; height: 225px; }.industry-any-badge { width: 160px; height: 160px; }.industry-example-grid > article { display: block; }.industry-example-copy { padding: 22px 20px; }.industry-example-notice { grid-template-columns: auto 1fr; }.industry-example-notice > a { grid-column: 1/-1; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.12); }.industry-needs-grid { grid-template-columns: 1fr; gap: 8px; background: white; }.industry-needs-grid article { min-height: 230px; border: 1px solid var(--line); }.industry-needs-grid h3 { margin-top: 42px; }
  .upcoming-card { min-height: 430px; padding: 25px 21px; }.release-interest { gap: 35px; }
  .site-footer { padding-bottom: 24px; }.footer-brand-strip { padding: 42px 20px 38px; grid-template-columns: 1fr; gap: 25px; text-align: center; }.brand-footer { width: min(100%,310px); height: auto; margin: 0 auto; }.brand-footer img { width: 100%; height: auto; }.footer-brand-message { margin: 0 auto; }.footer-brand-message > p { font-size: 12px; }.footer-brand-strip .footer-email { width: max-content; max-width: 100%; margin: 0 auto; grid-column: auto; text-align: left; }.footer-main { padding: 42px 20px; grid-template-columns: 1fr; gap: 42px; }.footer-directory { grid-template-columns: 1.25fr .75fr; gap: 24px; }.footer-link-group > a { font-size: 8px; }.footer-cta-card { min-height: 300px; padding: 25px; }.footer-cta-card > h3 { font-size: 27px; }.footer-bottom { margin: 0 20px; grid-template-columns: 1fr; align-items: flex-start; gap: 16px; }.footer-bottom > div { justify-self: start; }.footer-signature { display: none; }
}
