:root {
  --ink: #080a0f;
  --ink-2: #161b27;
  --muted: #4b5669;
  --blue: #2563eb;
  --blue-2: #60a5fa;
  --blue-soft: #eff6ff;
  --surface: #ffffff;
  --soft: #f6f8fb;
  --line: #e4e9f0;
  --dark: #070b14;
  --body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --display: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; overflow-x: hidden; }
body { margin: 0; color: #111b38; background: var(--surface); font-family: var(--body); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: clip; }
body.dialog-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; cursor: pointer; border: 0; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 600; line-height: 1.15; letter-spacing: -.03em; word-break: normal; overflow-wrap: normal; hyphens: none; text-wrap: balance; }
p { text-wrap: pretty; }
.shell { width: 100%; max-width: none; margin-inline: auto; padding-inline: clamp(28px, 6vw, 120px); }
.section { padding-block: 92px; }
.soft-section { background: var(--soft); border-block: 1px solid var(--line); }
.dark-section { color: #fff; background: radial-gradient(circle at 85% 5%, rgba(37,99,235,.2), transparent 30%), var(--dark); }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 100; padding: 10px 14px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid rgba(37,99,235,.55); outline-offset: 4px; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.95); border-bottom: 1px solid transparent; backdrop-filter: blur(16px); transition: border-color .2s, box-shadow .2s, background .2s; }
.site-header.is-scrolled { background: rgba(255,255,255,.98); border-bottom-color: var(--line); box-shadow: 0 10px 28px rgba(15,23,42,.07); }
.header-inner { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.site-logo { width: 190px; flex: 0 0 auto; background: transparent; }
.site-logo img { width: 100%; mix-blend-mode: multiply; filter: contrast(1.08) saturate(1.04); }
.desktop-menu { display: flex; align-items: center; gap: 32px; margin-left: auto; }
.desktop-menu a { position: relative; padding: 27px 0 25px; color: #202635; font-size: 14px; font-weight: 600; }
.desktop-menu a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 19px; height: 2px; border-radius: 2px; background: var(--blue); transition: right .2s ease; }
.desktop-menu a:hover::after, .desktop-menu a.active::after { right: 0; }
.desktop-menu a.active { color: var(--ink); }
.menu-button, .mobile-menu { display: none; }

.primary-button, .secondary-button, .white-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 13px 20px; border-radius: 7px; font-size: 14px; font-weight: 650; line-height: 1.25; white-space: nowrap; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; }
.primary-button { background: #050505; color: #fff; border: 1px solid #050505; box-shadow: 0 8px 22px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.13); }
.primary-button span, .white-button span { display: inline-flex; align-items: center; justify-content: center; background: transparent; font-size: 17px; }
.primary-button svg, .secondary-button svg, .white-button svg { width: 17px; height: 17px; flex: 0 0 17px; }
.primary-button:hover { transform: translateY(-2px); background: #181818; box-shadow: 0 12px 28px rgba(0,0,0,.24); }
.secondary-button { color: var(--ink); background: #fff; border: 1px solid #cfd7e2; box-shadow: 0 5px 16px rgba(15,23,42,.06); }
.secondary-button:hover { transform: translateY(-2px); border-color: var(--ink); box-shadow: 0 10px 22px rgba(15,23,42,.1); }
.white-button { color: var(--ink); background: #fff; border: 1px solid #fff; box-shadow: 0 10px 28px rgba(0,0,0,.28); }
.white-button span { color: #fff; background: #050505; }
.white-button:hover { transform: translateY(-2px); background: #eef5ff; }
.large { min-height: 54px; padding-inline: 24px; font-size: 14.5px; }
.header-button { min-height: 44px; padding: 9px 16px 9px 20px; }

.eyebrow, .section-kicker, .page-kicker { display: flex; align-items: center; gap: 12px; color: #536078; font-size: 11px; font-weight: 800; letter-spacing: .15em; line-height: 1.4; }
.eyebrow span, .section-kicker span, .page-kicker span { color: var(--blue); }
.home-hero .eyebrow { gap: 8px; color: #0f172a; font-size: 11.5px; font-weight: 750; letter-spacing: .12em; }
.home-hero .eyebrow > .tiny-star { width: auto; height: auto; flex: 0 0 auto; color: #2563eb; background: none; font-size: 18px; line-height: 1; }
.home-hero { min-height: 720px; display: grid; grid-template-columns: minmax(0,1.04fr) minmax(0,.96fr); gap: clamp(52px,4.5vw,86px); align-items: center; padding-block: 52px 38px; }
.hero-copy { position: relative; z-index: 2; min-width: 0; }
.hero-copy h1 { max-width: 760px; margin: 22px 0 20px; color: #0b132b; font-size: clamp(3rem, 4.7vw, 4.75rem); line-height: 1.12; letter-spacing: -.03em; font-weight: 600; }
.hero-copy h1 > span, .hero-copy h1 > em { display: block; }
h1 em, h2 em { color: var(--blue); font-style: normal; font-weight: inherit; }
.hero-shine { position: relative; width: fit-content; color: #0062ff; background: linear-gradient(108deg,#0052d4 0%,#0062ff 22%,#60a5fa 36%,#fff 48%,#e0f2fe 52%,#60a5fa 64%,#0062ff 80%,#0052d4 100%); background-size: 260% 100%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 2px 14px rgba(0,98,255,.3)); animation: hero-shine-sweep 3.2s cubic-bezier(.2,.8,.4,1) infinite; }
.hero-shine::after { content: ''; position: absolute; top: .12em; right: -.16em; width: .2em; height: .2em; background: radial-gradient(circle,#fff 18%,#38bdf8 50%,transparent 74%); border-radius: 50%; opacity: 0; transform: scale(.2); animation: hero-sparkle 3.2s cubic-bezier(.2,.8,.4,1) infinite; }
@keyframes hero-shine-sweep { 0% { background-position: 130% 0; } 56%,100% { background-position: -30% 0; } }
@keyframes hero-sparkle { 0%,34%,72%,100% { opacity: 0; transform: scale(.2) rotate(0); } 47% { opacity: 1; transform: scale(1.2) rotate(90deg); } 58% { opacity: .1; transform: scale(.45) rotate(160deg); } }
.hero-lede { max-width: 640px; color: #3f4a5a; font-size: 15.5px; line-height: 1.7; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 18px 30px; margin-top: 30px; color: #334155; font-size: 13px; font-weight: 600; line-height: 1.35; }
.hero-proof > span { display: flex; align-items: center; gap: 10px; }
.proof-icon { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 40px; color: var(--blue); background: linear-gradient(145deg,#fff,#eff6ff); border: 1px solid #d7e3f4; border-radius: 50%; box-shadow: 0 7px 18px rgba(37,99,235,.08); }
.proof-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hero-metrics { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 34px; padding-top: 24px; border-top: 1px solid #dfe5ed; }
.hero-metrics > span { display: grid; padding: 0 17px; border-left: 1px solid #d7dee8; }
.hero-metrics > span:first-child { padding-left: 0; border-left: 0; }
.hero-metrics strong { color: #05070d; font-family: var(--display); font-size: 24px; line-height: 1.1; letter-spacing: -.04em; }
.hero-metrics small { margin-top: 4px; color: #647089; font-size: 10.5px; line-height: 1.35; white-space: nowrap; }

.hero-globe { position: relative; min-width: 0; height: 640px; isolation: isolate; }
.globe-halo { position: absolute; inset: 2% -9%; z-index: -2; background: radial-gradient(circle at center,rgba(37,99,235,.18),rgba(96,165,250,.07) 35%,transparent 66%); filter: blur(22px); }
.globe-video-wrap { position: absolute; inset: 34px -6px 48px -26px; z-index: -1; overflow: hidden; border-radius: 50%; mix-blend-mode: multiply; }
.globe-video { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; filter: saturate(1.18) contrast(1.04); }
.globe-card { position: absolute; z-index: 2; min-width: 230px; display: flex; align-items: center; gap: 12px; padding: 15px 17px; background: rgba(255,255,255,.91); border: 1px solid rgba(213,224,240,.9); border-radius: 15px; box-shadow: 0 18px 40px rgba(38,71,120,.13); backdrop-filter: blur(12px); }
.globe-card > svg { width: 38px; height: 38px; flex: 0 0 38px; padding: 8px; color: #1264ed; background: #f1f7ff; border-radius: 50%; stroke-width: 1.8; filter: drop-shadow(0 4px 9px rgba(37,99,235,.18)); }
.globe-card > span { display: grid; }
.globe-card strong { color: #111827; font-size: 12px; line-height: 1.25; letter-spacing: -.02em; }
.globe-card small { margin-top: 3px; color: #65718a; font-size: 9px; line-height: 1.3; }
.globe-card-ai { top: 62px; left: 0; transform: rotate(-5deg); }
.globe-card-cloud { top: 82px; right: 0; transform: rotate(3deg); }
.globe-card-code { left: 0; bottom: 86px; transform: rotate(4deg); }
.globe-card-growth { right: 0; bottom: 104px; transform: rotate(3deg); }
.globe-note { position: absolute; top: 224px; right: -20px; display: flex; flex-direction: column; align-items: center; color: #31486f; font-family: 'Caveat','Segoe Print',cursive; font-size: 21px; font-weight: 700; line-height: .98; text-align: center; transform: rotate(-5deg); }
.globe-note span { display: block; white-space: nowrap; }
.globe-note b { font: inherit; }
.globe-note svg { width: 55px; height: 48px; display: block; margin: 7px auto 0; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transform: translateX(7px) rotate(2deg); }
.globe-caption { position: absolute; right: 12px; bottom: 8px; display: grid; min-width: 260px; }
.globe-caption span { display: flex; align-items: center; gap: 10px; color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.globe-caption span::before { content: ''; width: 34px; height: 2px; background: var(--blue); }
.globe-caption strong { margin-top: 5px; font-family: var(--display); font-size: 17px; letter-spacing: -.03em; }

.section-head { display: grid; grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: end; margin-bottom: 46px; }
.section-head h2, .industry-copy h2, .page-hero h1 { margin-top: 13px; font-size: clamp(2.15rem, 3.8vw, 3.35rem); line-height: 1.15; letter-spacing: -.03em; font-weight: 600; }
.section-intro { padding-left: 30px; border-left: 1px solid var(--line); }
.section-intro p { color: var(--muted); font-size: 14.5px; line-height: 1.75; }
.text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--ink); font-size: 13px; font-weight: 750; }
.text-link span { color: var(--blue); }
.text-link svg { width: 16px; height: 16px; color: var(--blue); }
.text-link:hover { text-decoration: underline; text-underline-offset: 5px; }

.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.service-card { min-height: 330px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 16px 38px -28px rgba(15,23,42,.3); transition: transform .25s, border-color .25s, box-shadow .25s; }
.service-card:hover { transform: translateY(-4px); border-color: #b9c8dc; box-shadow: 0 24px 48px -28px rgba(15,23,42,.38); }
.service-card.featured { background: linear-gradient(145deg,#f8fbff,#edf5ff); border-color: #bfd8ff; }
.service-card.dark-card { color: #fff; background: radial-gradient(circle at 90% 10%,rgba(37,99,235,.25),transparent 35%),#0a0d15; border-color: #252d3a; }
.card-top { display: flex; justify-content: space-between; align-items: center; }
.card-index { color: #7b8799; font-size: 11px; font-weight: 800; }
.card-icon { width: 40px; height: 40px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border: 1px solid #cfe0ff; border-radius: 50%; font-size: 16px; }
.card-tag { display: block; margin: 40px 0 10px; color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.service-card h3 { font-size: 27px; letter-spacing: -.03em; }
.service-card p { max-width: 500px; margin-top: 11px; color: var(--muted); font-size: 13.5px; line-height: 1.7; }
.card-link { display: flex; justify-content: space-between; align-items: center; margin-top: 30px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 12.5px; font-weight: 700; }
.card-link b { color: var(--blue); font-size: 16px; }
.dark-card .card-index, .dark-card p { color: #9eacc0; }
.dark-card .card-icon { color: #93c5fd; background: rgba(37,99,235,.17); border-color: rgba(96,165,250,.3); }
.dark-card .card-link { border-top-color: rgba(255,255,255,.12); }

.services-showcase { display: grid; grid-template-columns: minmax(390px,.9fr) minmax(500px,1.1fr); min-height: 510px; border-block: 1px solid var(--line); }
.service-selector { display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.service-tab { position: relative; min-height: 127px; display: grid; grid-template-columns: 44px 1fr 20px; gap: 18px; align-items: center; padding: 22px 26px 22px 0; color: #263148; background: transparent; border-bottom: 1px solid var(--line); text-align: left; transition: color .25s, padding-left .25s, background .25s; }
.service-tab:last-child { border-bottom: 0; }
.service-tab::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--blue); transform: scaleY(0); transition: transform .25s; }
.service-tab:hover, .service-tab.active { padding-left: 18px; color: var(--ink); background: linear-gradient(90deg,#f3f7ff,transparent 80%); }
.service-tab.active::before { transform: scaleY(1); }
.service-tab-icon { width: 44px; height: 44px; display: grid; place-items: center; color: #657187; border: 1px solid #dbe2ec; border-radius: 8px; transition: color .25s, border-color .25s, background .25s; }
.service-tab-icon svg { width: 20px; height: 20px; }
.service-tab.active .service-tab-icon { color: #fff; background: var(--blue); border-color: var(--blue); }
.service-tab > span:nth-child(2) { display: grid; gap: 7px; }
.service-tab small { color: #7b8799; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.service-tab strong { font-family: var(--display); font-size: 18px; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
.service-arrow { width: 17px; color: #8b96a8; transition: color .25s, transform .25s; }
.service-tab:hover .service-arrow, .service-tab.active .service-arrow { color: var(--blue); transform: translate(2px,-2px); }
.service-preview { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 80% 20%,rgba(37,99,235,.3),transparent 30%),#080b13; }
.service-preview::before { content: ''; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(135deg,transparent,#000 38%,transparent 92%); }
.service-preview::after { content: ''; position: absolute; width: 330px; height: 330px; top: -180px; right: -140px; border: 1px solid rgba(96,165,250,.32); border-radius: 50%; box-shadow: 0 0 0 52px rgba(37,99,235,.06),0 0 0 104px rgba(37,99,235,.035); }
.service-panel { position: relative; z-index: 1; min-height: 510px; display: flex; flex-direction: column; justify-content: flex-end; padding: 44px; }
.service-panel[hidden] { display: none !important; }
.service-panel.active { animation: servicePanelIn .48s cubic-bezier(.2,.75,.2,1) both; }
.panel-icon { width: 60px; height: 60px; display: grid; place-items: center; margin-bottom: auto; color: #8ab5ff; border: 1px solid rgba(138,181,255,.42); border-radius: 10px; background: rgba(37,99,235,.12); }
.panel-icon svg { width: 27px; height: 27px; }
.service-panel > span { color: #77a9ff; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.service-panel h3 { max-width: 590px; margin-top: 12px; font-size: clamp(2.15rem,3.8vw,3.35rem); line-height: 1.15; font-weight: 600; letter-spacing: -.03em; }
.service-panel p { max-width: 590px; margin-top: 16px; color: #aab7ca; font-size: 14px; line-height: 1.7; }
.service-panel a { width: fit-content; display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; padding-bottom: 7px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.35); font-size: 13px; font-weight: 650; }
.service-panel a svg { width: 16px; transition: transform .2s; }.service-panel a:hover svg { transform: translateX(4px); }
@keyframes servicePanelIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.section-head.light .section-kicker { color: #7e8da6; }
.section-head.light h2 { color: #fff; }
.section-head.light h2 em { color: #60a5fa; }
.section-head.light .section-intro { border-color: rgba(255,255,255,.15); }
.section-head.light .section-intro p { color: #9eacc1; }
.section-head.light .light-link { color: #fff; }
.principle-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(255,255,255,.12); border-radius: 22px; overflow: hidden; }
.principle-grid article { min-height: 270px; padding: 25px; background: rgba(255,255,255,.025); border-right: 1px solid rgba(255,255,255,.1); transition: background .25s ease; }
.principle-grid article:hover { background: rgba(37,99,235,.07); }
.principle-grid article:last-child { border-right: 0; }
.principle-grid article > span { color: #60a5fa; font-size: 10px; font-weight: 800; }
.principle-icon { width: 46px; height: 46px; display: grid; place-items: center; margin-top: 28px; color: #7fb0ff; background: linear-gradient(145deg,rgba(37,99,235,.2),rgba(96,165,250,.06)); border: 1px solid rgba(96,165,250,.3); border-radius: 12px; box-shadow: inset 0 1px rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.16); transition: color .25s, border-color .25s, transform .25s, box-shadow .25s; }
.principle-icon svg { width: 22px; height: 22px; stroke-width: 1.8; }
.principle-grid article:hover .principle-icon { color: #fff; border-color: rgba(96,165,250,.62); transform: translateY(-2px); box-shadow: inset 0 1px rgba(255,255,255,.1),0 12px 28px rgba(37,99,235,.2); }
.principle-grid h3 { margin-top: 16px; font-size: 19px; letter-spacing: -.02em; }
.principle-grid p { margin-top: 10px; color: #8f9db1; font-size: 12.5px; line-height: 1.65; }

.process-line { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #cbd5e1; }
.process-line article { position: relative; padding: 25px 28px 0 0; }
.process-line article::before { content: ''; position: absolute; top: -2px; left: 0; width: 34px; height: 3px; background: var(--blue); }
.process-no { color: #6b778b; font-size: 10px; font-weight: 800; }
.process-line h3 { margin-top: 32px; font-size: 20px; }
.process-line p { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.industries-section { position: relative; overflow: hidden; background: linear-gradient(120deg,#fff 0%,#f7faff 58%,#f2f6fb 100%); }
.industries-section::before { content: ''; position: absolute; width: 520px; height: 520px; left: -325px; bottom: -355px; border: 1px solid rgba(37,99,235,.23); border-radius: 50%; box-shadow: 0 0 0 58px rgba(37,99,235,.025); }
.industry-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(320px,.64fr) minmax(760px,1.36fr); gap: clamp(42px,5vw,90px); align-items: center; }
.industry-copy h2 { max-width: 560px; font-size: clamp(2.25rem,3vw,3rem); }
.industry-copy h2 em { display: block; white-space: nowrap; }
.industry-copy p { max-width: 470px; margin: 22px 0 28px; color: #526079; font-size: 15px; line-height: 1.75; }
.industry-signoff { display: grid; gap: 12px; margin-top: 100px; color: #71809a; font-size: 8px; font-weight: 800; line-height: 1.65; letter-spacing: .2em; }
.industry-signoff i { width: 34px; height: 2px; background: var(--blue); }

.industry-accordion { min-width: 0; height: 530px; display: flex; gap: 4px; filter: drop-shadow(0 24px 34px rgba(34,62,101,.13)); }
.industry-item { min-width: 0; display: flex; flex: 0 0 58px; overflow: hidden; background: rgba(247,249,252,.9); border: 1px solid #e4eaf2; border-radius: 16px; transition: flex-basis .5s cubic-bezier(.2,.75,.2,1), background .25s, border-color .25s; }
.industry-item.active { flex: 1 1 590px; background: #fff; border-color: #d7e2f0; }
.industry-rail { width: 58px; min-width: 58px; height: 100%; display: grid; grid-template-rows: 48px 1fr auto 42px; align-items: center; justify-items: center; gap: 10px; padding: 16px 9px; color: #4a566e; background: linear-gradient(180deg,rgba(255,255,255,.92),rgba(240,244,249,.96)); border-right: 1px solid #e4eaf2; }
.industry-rail > svg { width: 21px; height: 21px; color: var(--blue); stroke-width: 1.8; }
.industry-rail strong { writing-mode: vertical-rl; color: inherit; font-family: var(--display); font-size: 14px; font-weight: 600; line-height: 1; }
.industry-rail small { color: #68758b; font-size: 9px; font-weight: 800; }
.industry-rail > span { width: 31px; height: 31px; display: grid; place-items: center; color: #31415d; background: #fff; border: 1px solid #dde5ef; border-radius: 50%; box-shadow: 0 5px 13px rgba(15,23,42,.07); }
.industry-rail > span svg { width: 15px; height: 15px; }
.industry-item.active .industry-rail { color: #fff; background: linear-gradient(165deg,#3478ef 0%,#1457d3 48%,#092b72 100%); border-color: transparent; }
.industry-item.active .industry-rail > svg,.industry-item.active .industry-rail small { color: #fff; }
.industry-item.active .industry-rail > span { color: #155bd7; }
.industry-panel { --industry-image: url('assets/industries-financial-services.jpg'); position: relative; min-width: 0; flex: 1; overflow: hidden; background: #fff; }
.industry-panel#industry-healthcare { --industry-image: url('assets/industries-healthcare.jpg'); }
.industry-panel#industry-government { --industry-image: url('assets/industries-government.jpg'); }
.industry-panel#industry-logistics { --industry-image: url('assets/industries-logistics.jpg'); }
.industry-panel#industry-automotive { --industry-image: url('assets/industries-automotive.jpg'); }
.industry-panel#industry-energy { --industry-image: url('assets/industries-energy.jpg'); }
.industry-panel#industry-retail { --industry-image: url('assets/industries-retail.jpg'); }
.industry-panel#industry-media { --industry-image: url('assets/industries-media.jpg'); }
.industry-panel[hidden] { display: none !important; }
.industry-panel::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 36%,rgba(255,255,255,.8) 58%,rgba(255,255,255,.08) 100%),var(--industry-image); background-position: center,right center; background-size: cover,cover; background-repeat: no-repeat; }
.industry-panel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 72%,rgba(10,60,145,.09)); pointer-events: none; }
.industry-panel-copy { position: relative; z-index: 1; width: min(72%,520px); height: 100%; display: flex; flex-direction: column; padding: 58px 30px 30px; }
.industry-panel-copy > small { color: #43516a; font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.industry-panel-copy h3 { max-width: 470px; margin-top: 18px; color: #111b38; font-size: clamp(1.4rem,1.55vw,1.75rem); line-height: 1.16; letter-spacing: -.03em; text-wrap: balance; }
.industry-panel-copy ul { display: grid; gap: 15px; margin: 34px 0 0; padding: 0; list-style: none; }
.industry-panel-copy li { display: flex; align-items: center; gap: 13px; color: #24314a; font-size: 12px; font-weight: 500; }
.industry-panel-copy li svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--blue); stroke-width: 1.8; }
.industry-panel-copy > a { width: fit-content; display: inline-flex; align-items: center; gap: 16px; margin-top: auto; color: #17233b; font-size: 12px; font-weight: 700; }
.industry-panel-copy > a svg { width: 16px; height: 16px; color: var(--blue); }

.cta-section { padding-block: 48px 70px; }
.cta-panel { position: relative; overflow: hidden; min-height: 360px; display: grid; grid-template-columns: 1.15fr .55fr; gap: 50px; align-items: end; padding: 50px; color: #fff; background: radial-gradient(circle at 87% 28%,rgba(59,130,246,.36),transparent 26%),linear-gradient(135deg,#05070c,#10204d); border: 1px solid #253762; border-radius: 28px; box-shadow: 0 30px 65px -35px rgba(3,15,45,.7); }
.cta-copy { position: relative; z-index: 2; }
.cta-copy > span { color: #7fb0ff; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.cta-copy h2 { max-width: 710px; margin-top: 12px; font-size: clamp(2.4rem,4vw,3.55rem); line-height: 1.09; letter-spacing: -.045em; }
.cta-copy h2 em { color: #60a5fa; }
.cta-copy p { max-width: 580px; margin-top: 17px; color: #a9b7cb; font-size: 14px; }
.cta-actions { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
.cta-actions > a { display: inline-flex; gap: 10px; padding-left: 18px; color: #d9e4f4; font-size: 13px; font-weight: 700; }
.cta-actions > a svg { width: 16px; height: 16px; }
.cta-orbit { position: absolute; width: 360px; height: 360px; right: -95px; top: -100px; border: 1px solid rgba(96,165,250,.3); border-radius: 50%; box-shadow: 0 0 0 48px rgba(37,99,235,.06),0 0 0 96px rgba(37,99,235,.035); }
.cta-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #60a5fa; box-shadow: 0 0 12px #60a5fa; }
.cta-orbit i:nth-child(1) { left: 24px; top: 95px; }.cta-orbit i:nth-child(2) { right: 48px; bottom: 33px; }.cta-orbit i:nth-child(3) { left: 76px; bottom: 20px; }

.site-footer { padding: 64px 0 24px; color: #8e9db4; background: #05070c; }
.footer-grid { display: grid; grid-template-columns: 1.45fr .75fr 1fr 1fr; gap: 60px; padding-bottom: 50px; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-brand img { width: 165px; }
.footer-brand p { max-width: 310px; margin: 20px 0; font-size: 13px; }
.footer-grid h3 { margin-bottom: 9px; color: #fff; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid a { font-size: 13px; transition: color .2s; }
.footer-grid a:hover { color: #60a5fa; }
.footer-contact > a:first-of-type { color: #dbe7f8; }
.footer-contact p { margin-top: 8px; color: #66758b; font-size: 12px; }
.socials { display: flex; gap: 8px; }
.socials a { width: 32px; height: 32px; display: grid; place-items: center; color: #c8d3e2; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; font-size: 11px; font-weight: 700; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.09); color: #66758b; font-size: 11px; }
.footer-bottom div { display: flex; gap: 20px; }

.page-hero { display: grid; grid-template-columns: 1fr .72fr; gap: 86px; align-items: end; padding-block: 88px 76px; }
.page-hero h1 { max-width: 980px; font-size: clamp(2.75rem,4.4vw,4.3rem); font-weight: 750; line-height: 1.08; }
.page-hero-copy > p { max-width: 720px; margin-top: 22px; color: var(--muted); font-size: 17px; }
.page-hero-aside { padding: 26px 0 4px 30px; border-left: 1px solid var(--line); }
.page-hero-aside span { color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.page-hero-aside p { margin-top: 10px; color: #323b4b; font-size: 14px; }
.breadcrumb { display: flex; gap: 8px; margin-bottom: 18px; color: #6d788b; font-size: 11px; font-weight: 700; }.breadcrumb a:hover { color: var(--blue); }

.about-hero { position: relative; overflow: hidden; min-height: 610px; background: radial-gradient(circle at 73% 34%,rgba(219,235,255,.5),transparent 29%),#fff; }
.about-hero__grid { min-height: 610px; display: grid; grid-template-columns: minmax(0,.96fr) minmax(520px,1.04fr); gap: clamp(34px,4vw,72px); align-items: center; padding-block: 34px; }
.about-hero__copy { position: relative; z-index: 3; padding-bottom: 26px; }
.about-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #0f172a; font-size: 11.5px; font-weight: 700; letter-spacing: .12em; line-height: 1.45; text-transform: uppercase; }
.about-hero__eyebrow .tiny-star { width: auto; height: auto; color: var(--blue); font-size: 18px; line-height: 1; }
.about-hero__copy h1 { max-width: 720px; margin: 22px 0 18px; color: #0b1532; font-size: clamp(2.5rem,3.8vw,4.1rem); font-weight: 600; line-height: 1.12; letter-spacing: -.03em; text-wrap: balance; }
.about-hero__copy h1 em { display: inline; }
.about-hero__copy > p { max-width: 640px; color: #3f4a5a; font-size: 15.5px; font-weight: 400; line-height: 1.7; }
.about-hero__pillars { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 38px; }
.about-hero__pillars article { min-width: 0; display: grid; grid-template-columns: 54px 1fr; gap: 15px; align-items: center; padding-right: 20px; }
.about-hero__pillars article + article { padding-left: 24px; border-left: 1px solid #dce4ef; }
.about-hero__pillars article > span { width: 54px; height: 54px; display: grid; place-items: center; color: var(--blue); background: linear-gradient(145deg,#f7fbff,#e9f3ff); border: 1px solid #dfebf9; border-radius: 50%; }
.about-hero__pillars svg { width: 23px; height: 23px; stroke-width: 1.8; }
.about-hero__pillars strong { color: #17233f; font-size: 13px; font-weight: 600; line-height: 1.45; }
.about-hero__visual { position: relative; min-width: 0; min-height: 520px; isolation: isolate; }
.about-hero__visual::before { content: ''; position: absolute; width: 430px; height: 430px; left: 7%; top: 6%; z-index: -2; background: linear-gradient(145deg,rgba(226,240,255,.82),rgba(248,251,255,.28)); border-radius: 50%; }
.about-hero__visual::after { content: ''; position: absolute; width: 190px; height: 190px; right: 9%; bottom: 8%; z-index: -2; background: linear-gradient(145deg,rgba(231,242,255,.72),rgba(248,251,255,.12)); border-radius: 50%; }
.about-hero__image-mask { position: absolute; inset: 32px 7% 24px 3%; z-index: -1; overflow: hidden; border-radius: 46% 48% 8% 38% / 45% 50% 8% 42%; box-shadow: 0 34px 70px -54px rgba(28,80,145,.38); }
.about-hero__image-mask::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(255,255,255,.68) 0%,transparent 24%),linear-gradient(0deg,rgba(255,255,255,.16),transparent 24%); pointer-events: none; }
.about-hero__image-mask img { width: 100%; height: 100%; object-fit: cover; object-position: 72% center; filter: saturate(.9) contrast(.97) brightness(1.03); }
.about-hero__orbit { position: absolute; width: 380px; height: 380px; left: 8%; top: 8%; z-index: 1; border-top: 1px solid rgba(37,99,235,.7); border-left: 1px solid rgba(37,99,235,.38); border-radius: 50%; transform: rotate(18deg); pointer-events: none; }
.about-hero__orbit i { position: absolute; width: 8px; height: 8px; background: #1264ed; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #1264ed,0 0 15px rgba(37,99,235,.35); }
.about-hero__orbit i:first-child { left: 48%; top: -4px; }.about-hero__orbit i:last-child { left: -2px; top: 49%; }

.about-story { position: relative; overflow: hidden; min-height: 700px; padding-block: 104px 96px; background: radial-gradient(circle at 13% 92%,rgba(224,237,255,.72),transparent 28%),#fff; border-bottom: 1px solid #eef2f7; isolation: isolate; }
.about-story::before,.about-story::after { content: ''; position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.95); border-radius: 50%; pointer-events: none; }
.about-story::before { width: 560px; height: 560px; left: -290px; bottom: -345px; box-shadow: 0 0 0 82px rgba(221,235,255,.55); }
.about-story::after { width: 410px; height: 410px; left: 110px; bottom: -360px; box-shadow: 0 0 0 60px rgba(235,243,255,.48); }
.about-story__dots { position: absolute; width: 250px; height: 170px; top: 26px; right: 30px; z-index: -1; opacity: .55; background-image: radial-gradient(circle,#9bc0ff 1.25px,transparent 1.5px); background-size: 25px 25px; }
.about-story__grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(70px,8vw,150px); align-items: start; }
.about-story__statement { position: relative; min-height: 510px; display: flex; flex-direction: column; padding-top: 5px; }
.about-story__location { color: #4e5c76; font-size: 12px; font-weight: 600; letter-spacing: .13em; }
.about-story__statement h2 { max-width: 660px; margin-top: 78px; color: #0d1733; font-size: clamp(2.6rem,3.75vw,4rem); font-weight: 600; line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; }
.about-story__statement h2 em { color: var(--blue); font-style: normal; font-weight: inherit; }
.about-story__actions { display: flex; align-items: center; gap: clamp(32px,4vw,72px); margin-top: 50px; }
.about-story__thought { display: grid; gap: 14px; color: #71809b; font-size: 11px; font-weight: 600; letter-spacing: .1em; white-space: nowrap; }
.about-story__thought i { width: 34px; height: 1px; display: block; background: #495a78; }
.about-story__actions a { display: inline-flex; align-items: center; gap: 14px; color: var(--blue); font-size: 14px; font-weight: 600; }
.about-story__actions a > span { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 44px; border: 1px solid var(--blue); border-radius: 50%; font-size: 20px; transition: color .2s ease,background .2s ease,transform .2s ease; }
.about-story__actions a:hover > span { color: #fff; background: var(--blue); transform: translateX(3px); }
.about-story__disciplines { margin-top: auto; padding-top: 52px; color: #8291af; font-size: 11px; font-weight: 600; letter-spacing: .13em; line-height: 1.75; }
.about-story__disciplines i { width: 34px; height: 1px; display: block; margin-top: 12px; background: #8291af; }
.about-story__copy { padding-top: 34px; }
.about-story__kicker { display: flex; align-items: center; gap: 14px; color: #8794ad; font-size: 11px; font-weight: 600; letter-spacing: .13em; }
.about-story__kicker span { color: var(--blue); font-weight: 700; }
.about-story__kicker i { width: 64px; height: 1px; display: block; background: #97a5bd; }
.about-story__copy h2 { max-width: 680px; margin: 28px 0 36px; color: #0d1733; font-size: clamp(2.6rem,3.8vw,4rem); font-weight: 600; line-height: 1.12; letter-spacing: -.04em; }
.about-story__copy h2 em { display: block; color: var(--blue); font-style: normal; font-weight: inherit; }
.about-story__copy p { max-width: 680px; margin-top: 21px; color: #46536d; font-size: 16px; font-weight: 400; line-height: 1.72; }
.value-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.value-card { min-height: 245px; padding: 25px; background: linear-gradient(145deg,#fff,#fbfdff); border: 1px solid var(--line); border-radius: 12px; transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.value-card:hover { transform: translateY(-3px); border-color: #c9daf2; box-shadow: 0 18px 34px -27px rgba(37,99,235,.45); }
.value-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.value-card span { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.value-card__icon { width: 46px; height: 46px; flex: 0 0 46px; padding: 11px; color: var(--blue); background: linear-gradient(145deg,#f8fbff,#eaf3ff); border: 1px solid #d4e4fb; border-radius: 12px; stroke-width: 1.8; transition: color .22s ease,background .22s ease,transform .22s ease; }
.value-card:hover .value-card__icon { color: #fff; background: var(--blue); transform: translateY(-2px); }
.value-card h3 { margin-top: 32px; font-size: 20px; }
.value-card p { margin-top: 9px; color: var(--muted); font-size: 14px; line-height: 1.65; }

.services-intro-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 82% 22%,rgba(217,234,255,.66),transparent 32%),linear-gradient(180deg,#fff 0%,#fbfdff 72%,#fff 100%); border-bottom: 1px solid #edf2f8; isolation: isolate; }
.services-intro-hero::before { content: ''; position: absolute; width: 620px; height: 620px; right: -330px; bottom: -400px; z-index: -1; border: 1px solid rgba(37,99,235,.16); border-radius: 50%; box-shadow: 0 0 0 78px rgba(226,238,255,.34); pointer-events: none; }
.services-intro-hero__grid { min-height: 660px; display: grid; grid-template-columns: minmax(0,1.04fr) minmax(520px,.96fr); gap: clamp(30px,3vw,58px); align-items: center; padding-block: 48px 54px; }
.services-intro-hero__copy { position: relative; z-index: 3; min-width: 0; padding-block: 32px 24px; }
.services-intro-hero__eyebrow { gap: 8px; color: #0f172a; font-size: 11px; font-weight: 750; letter-spacing: .12em; }
.services-intro-hero__eyebrow .tiny-star { width: auto; height: auto; color: var(--blue); background: none; font-size: 18px; line-height: 1; }
.services-intro-hero__copy h1 { max-width: 840px; margin: 21px 0 22px; color: #0b132b; font-size: clamp(3rem,3.45vw,4.1rem); font-weight: 600; line-height: 1.09; letter-spacing: -.038em; text-wrap: balance; }
.services-intro-hero__line { display: block; white-space: nowrap; }
.services-intro-hero__copy h1 em { display: inline-block; }
.services-intro-hero__copy > p { max-width: 650px; color: #4b5870; font-size: 16px; font-weight: 400; line-height: 1.72; }
.services-intro-hero__actions { display: flex; align-items: center; gap: 34px; margin-top: 30px; }
.services-intro-hero__actions > span { position: relative; padding-left: 30px; color: #65738d; border-left: 1px solid #abc4ea; font-size: 9px; font-weight: 700; letter-spacing: .19em; line-height: 1.62; }
.services-intro-hero__signoff { display: flex; align-items: center; gap: 18px; margin-top: 66px; color: #71809b; font-size: 8.5px; font-weight: 700; letter-spacing: .18em; line-height: 1.55; }
.services-intro-hero__signoff i { width: 2px; height: 43px; display: block; background: var(--blue); }
.services-intro-hero__signoff span { display: grid; gap: 3px; }
.services-intro-hero__signoff b { display: block; font: inherit; white-space: nowrap; }
.services-intro-hero__visual { position: relative; min-width: 0; min-height: 560px; }
.services-intro-hero__image { position: absolute; inset: 38px 0 18px 7%; overflow: hidden; border-radius: 48% 8% 24% 42% / 37% 9% 22% 43%; box-shadow: 0 36px 72px -56px rgba(34,88,157,.52); }
.services-intro-hero__image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.58) 10%,transparent 34%),linear-gradient(0deg,rgba(255,255,255,.85),transparent 21%); pointer-events: none; }
.services-intro-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: 63% center; filter: saturate(.9) contrast(.98) brightness(1.02); }
.services-intro-hero__orbit { position: absolute; width: 370px; height: 370px; left: 2%; top: 6%; z-index: 2; border-top: 1px solid rgba(37,99,235,.64); border-left: 1px solid rgba(37,99,235,.28); border-radius: 50%; transform: rotate(27deg); pointer-events: none; }
.services-intro-hero__orbit i { position: absolute; width: 10px; height: 10px; left: 52%; top: -5px; background: var(--blue); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px var(--blue),0 0 16px rgba(37,99,235,.4); }
.services-intro-hero__outcome { position: absolute; left: 0; bottom: 28px; z-index: 3; width: 300px; padding: 26px 24px 22px; background: rgba(255,255,255,.92); border: 1px solid rgba(207,219,235,.88); border-radius: 16px; box-shadow: 0 24px 55px rgba(48,87,140,.16); backdrop-filter: blur(18px); }
.services-intro-hero__outcome > i { width: 28px; height: 2px; display: block; background: var(--blue); }
.services-intro-hero__outcome > p { max-width: 230px; margin-top: 19px; color: #35425d; font-family: var(--display); font-size: 18px; font-weight: 500; line-height: 1.42; letter-spacing: -.02em; }
.services-intro-hero__metrics { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 23px; padding-top: 18px; border-top: 1px solid #d8e1ee; }
.services-intro-hero__metrics span { min-width: 0; display: grid; padding-inline: 12px; border-left: 1px solid #d8e1ee; }
.services-intro-hero__metrics span:first-child { padding-left: 0; border-left: 0; }
.services-intro-hero__metrics span:last-child { padding-right: 0; }
.services-intro-hero__metrics strong { color: #0b132b; font-family: var(--display); font-size: 20px; font-weight: 600; line-height: 1; letter-spacing: -.04em; }
.services-intro-hero__metrics small { margin-top: 7px; color: #637089; font-size: 8px; line-height: 1.35; }
.services-capabilities { padding-block: 78px 92px; scroll-margin-top: 92px; }
.capability-accordion { height: 510px; display: flex; overflow: hidden; background: #f8faff; border: 1px solid #dce6f4; border-radius: 18px; box-shadow: 0 26px 56px -42px rgba(26,66,126,.48); }
.capability-item { min-width: 0; display: flex; overflow: hidden; background: rgba(255,255,255,.82); border-right: 1px solid #dce6f4; transition: flex-basis .42s cubic-bezier(.2,.75,.2,1),background .25s ease; }
.capability-item:last-child { border-right: 0; }
.capability-item.active { flex: 1 1 650px; background: #fff; }
.capability-item:not(.active) { flex: 0 0 clamp(76px,6.2vw,96px); }
.capability-rail { width: 100%; height: 100%; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; justify-items: center; gap: 18px; padding: 28px 12px 24px; color: #17233f; background: linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,248,254,.8)); border: 0; transition: color .22s ease,background .22s ease; }
.capability-item.active .capability-rail { display: none; }
.capability-rail:hover { color: var(--blue); background: #fff; }
.capability-rail__icon { width: 46px; height: 46px; display: grid; place-items: center; color: var(--blue); background: linear-gradient(145deg,#fff,#eaf3ff); border: 1px solid #d8e7fb; border-radius: 12px; }
.capability-rail__icon svg { width: 21px; height: 21px; stroke-width: 1.8; }
.capability-rail small { color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: .06em; white-space: nowrap; }
.capability-rail strong { align-self: center; font-family: var(--display); font-size: 16px; font-weight: 600; line-height: 1.15; letter-spacing: -.02em; text-align: left; writing-mode: vertical-rl; }
.capability-rail__toggle { width: 32px; height: 32px; display: grid; place-items: center; color: var(--blue); background: #fff; border: 1px solid #d6e5fb; border-radius: 50%; font-size: 20px; font-weight: 400; line-height: 1; }
.capability-panel { position: relative; width: 100%; min-width: 0; display: grid; grid-template-columns: minmax(360px,1.06fr) minmax(230px,.94fr); overflow: hidden; background: radial-gradient(circle at 76% 45%,rgba(159,202,255,.28),transparent 28%),linear-gradient(135deg,#fff 0%,#f7fbff 58%,#eaf3ff 100%); }
.capability-panel[hidden] { display: none; }
.capability-panel__copy { position: relative; z-index: 2; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 34px 16px 28px 30px; }
.capability-panel__heading { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 17px; align-items: start; }
.capability-panel__heading > span { width: 54px; height: 54px; display: grid; place-items: center; color: var(--blue); background: linear-gradient(145deg,#fff,#edf5ff); border: 1px solid #cfe0f7; border-radius: 13px; box-shadow: 0 10px 24px rgba(37,99,235,.08); }
.capability-panel__heading > span svg { width: 25px; height: 25px; stroke-width: 1.8; }
.capability-panel__heading small { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.capability-panel__heading h2 { max-width: 340px; margin-top: 7px; color: #111b38; font-size: clamp(1.75rem,2.25vw,2.35rem); font-weight: 600; line-height: 1.12; letter-spacing: -.035em; }
.capability-panel__copy > p { max-width: 470px; margin-top: 23px; color: #526079; font-size: 14.5px; line-height: 1.62; }
.capability-panel__copy ul { width: min(100%,430px); display: grid; gap: 0; margin: 19px 0 0; padding: 0; list-style: none; }
.capability-panel__copy li { display: flex; align-items: center; gap: 11px; padding: 8px 0; color: #26334d; border-bottom: 1px solid #dbe5f2; font-size: 12.5px; font-weight: 500; }
.capability-panel__copy li svg { width: 20px; height: 20px; flex: 0 0 20px; padding: 4px; color: var(--blue); background: #e7f1ff; border-radius: 50%; stroke-width: 2.2; }
.capability-panel__copy > button { min-height: 44px; display: inline-flex; align-items: center; gap: 18px; margin-top: auto; padding: 11px 18px; color: #fff; background: var(--blue); border: 1px solid var(--blue); border-radius: 8px; box-shadow: 0 9px 20px rgba(37,99,235,.23); font-size: 13px; font-weight: 600; transition: transform .2s ease,background .2s ease; }
.capability-panel__copy > button:hover { background: #174fd0; transform: translateY(-2px); }
.capability-panel__copy > button svg { width: 16px; height: 16px; }
.capability-panel__visual { position: relative; min-width: 0; overflow: hidden; }
.capability-panel__visual::before { content: ''; position: absolute; width: 440px; height: 440px; right: -225px; bottom: -190px; background: radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),rgba(139,188,255,.28) 48%,rgba(37,99,235,.08) 70%,transparent 71%); border: 1px solid rgba(85,144,230,.2); border-radius: 50%; }
.capability-panel__visual::after { content: ''; position: absolute; width: 350px; height: 170px; right: -30px; top: 165px; background: linear-gradient(130deg,rgba(255,255,255,.05),rgba(104,166,255,.18)); border: 1px solid rgba(74,137,231,.24); transform: skewY(-34deg); }
.capability-panel__visual > i { position: absolute; z-index: 2; width: 150px; height: 230px; top: 130px; border: 1px solid rgba(63,131,235,.42); border-radius: 3px; transform: skewY(-34deg); }
.capability-panel__visual > i:nth-child(1) { left: 6%; }
.capability-panel__visual > i:nth-child(2) { left: 28%; top: 145px; }
.capability-panel__visual > i:nth-child(3) { left: 50%; top: 160px; }
.capability-panel__visual > span { position: absolute; right: 28px; bottom: 38px; z-index: 3; padding-left: 30px; color: #7891bb; font-size: 9px; font-weight: 700; letter-spacing: .15em; line-height: 1.65; }
.capability-panel__visual > span::before { content: ''; position: absolute; width: 20px; height: 1px; left: 0; top: 7px; background: var(--blue); }
.featured-innovation { position: relative; overflow: hidden; padding-block: 94px 88px; color: #fff; background: radial-gradient(circle at 67% 47%,rgba(27,83,184,.28),transparent 32%),radial-gradient(circle at 95% 15%,rgba(22,69,149,.22),transparent 25%),#050b16; }
.featured-innovation::before { content: ''; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(96,165,250,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(96,165,250,.12) 1px,transparent 1px); background-size: 72px 72px; -webkit-mask-image: radial-gradient(circle at 70% 50%,#000,transparent 58%); mask-image: radial-gradient(circle at 70% 50%,#000,transparent 58%); pointer-events: none; }
.featured-innovation__grid { position: relative; display: grid; grid-template-columns: minmax(0,.88fr) minmax(560px,1.12fr); gap: clamp(48px,6vw,110px); align-items: center; }
.featured-innovation__copy { position: relative; z-index: 2; }
.featured-innovation__copy .section-kicker { color: #8293ad; }
.featured-innovation__copy h2 { max-width: 680px; margin-top: 22px; font-size: clamp(2.55rem,3.55vw,4rem); font-weight: 500; line-height: 1.22; letter-spacing: -.035em; }
.featured-innovation__copy h2 em { color: #60a5fa; background: linear-gradient(96deg,#5eb6ff,#4c86ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.featured-innovation__copy > p { max-width: 620px; margin-top: 27px; color: #aebdd1; font-size: 16px; line-height: 1.76; }
.featured-innovation__copy > a { display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; color: #fff; font-size: 14px; font-weight: 650; }
.featured-innovation__copy > a svg { width: 17px; height: 17px; color: #60a5fa; }
.featured-innovation__visual { position: relative; min-width: 0; min-height: 430px; display: flex; align-items: center; justify-content: center; isolation: isolate; }
.featured-innovation__visual::after { content: ''; position: absolute; width: 460px; height: 90px; left: 8%; bottom: 34px; z-index: -1; background: radial-gradient(ellipse,rgba(44,120,255,.28),transparent 70%); filter: blur(12px); }
.ai-orbit { position: absolute; z-index: -1; border: 1px solid rgba(83,140,239,.26); border-radius: 50%; pointer-events: none; }
.ai-orbit--one { width: 410px; height: 410px; left: 2%; top: 6%; box-shadow: 0 0 45px rgba(37,99,235,.09); }
.ai-orbit--two { width: 325px; height: 325px; left: 9%; top: 16%; border-color: rgba(83,140,239,.18); }
.ai-conversation-card { position: relative; width: min(470px,75%); min-height: 335px; margin-left: -8%; padding: 58px 28px 24px; background: linear-gradient(145deg,rgba(18,39,78,.96),rgba(6,18,39,.96)); border: 1px solid rgba(119,169,255,.56); border-radius: 20px; box-shadow: inset 0 1px rgba(255,255,255,.08),0 28px 65px rgba(0,0,0,.46),0 0 34px rgba(37,99,235,.14); }
.ai-conversation-card__mark { position: absolute; width: 42px; height: 42px; display: grid; place-items: center; left: 24px; top: 18px; color: #fff; }
.ai-conversation-card__mark svg { width: 31px; height: 31px; stroke-width: 1.6; }
.ai-question { margin-left: 52px; padding: 16px 18px; color: #eef5ff; background: linear-gradient(145deg,rgba(49,79,132,.72),rgba(23,47,88,.74)); border: 1px solid rgba(130,175,248,.38); border-radius: 16px; box-shadow: inset 0 1px rgba(255,255,255,.07); font-size: 13px; line-height: 1.55; }
.ai-result { min-height: 58px; display: flex; align-items: center; gap: 14px; margin-top: 10px; padding: 11px 13px; background: rgba(3,12,28,.52); border: 1px solid transparent; border-radius: 13px; }
.ai-result > i { width: 34px; height: 34px; flex: 0 0 34px; background: linear-gradient(145deg,#334764,#15243d); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; box-shadow: inset 0 0 0 7px rgba(255,255,255,.04); }
.ai-result > span { width: 55%; display: grid; gap: 8px; }
.ai-result > span b { height: 7px; display: block; background: #304564; border-radius: 99px; }
.ai-result > span b:last-child { width: 58%; }
.ai-result--sponsored { color: #fff; background: linear-gradient(100deg,rgba(25,80,174,.8),rgba(16,48,105,.75)); border-color: #3b82f6; box-shadow: 0 0 22px rgba(37,99,235,.36),inset 0 0 20px rgba(59,130,246,.12); }
.ai-result--sponsored > i { background: linear-gradient(145deg,#60a5fa,#2563eb); box-shadow: inset 0 0 0 7px rgba(255,255,255,.12),0 0 14px rgba(96,165,250,.48); }
.ai-result--sponsored strong { font-size: 13px; font-weight: 600; }
.ai-result--sponsored small { margin-left: auto; padding: 4px 9px; color: #aacaff; background: rgba(37,99,235,.24); border-radius: 999px; font-size: 9px; }
.ai-benefits { position: absolute; right: 0; top: 98px; z-index: 2; display: grid; gap: 13px; }
.ai-benefits span { min-width: 174px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; color: #cbd8ea; background: linear-gradient(90deg,rgba(21,42,76,.94),rgba(12,28,55,.9)); border: 1px solid rgba(112,156,227,.14); border-radius: 999px; box-shadow: 0 10px 26px rgba(0,0,0,.22); font-size: 11px; }
.ai-benefits svg { width: 17px; height: 17px; color: #86b6ff; }
.featured-innovation__strip { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(270px,1.1fr) minmax(440px,1.5fr) auto; gap: 34px; align-items: center; margin-top: 54px; padding: 26px 28px; background: linear-gradient(105deg,rgba(18,40,74,.82),rgba(16,48,102,.72)); border: 1px solid rgba(119,169,255,.48); border-radius: 20px; box-shadow: inset 0 1px rgba(255,255,255,.06),0 20px 45px rgba(0,0,0,.22); }
.featured-innovation__offer { display: flex; align-items: center; gap: 17px; }
.featured-innovation__offer > span { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 36px; color: #60a5fa; background: rgba(37,99,235,.15); border-radius: 50%; }
.featured-innovation__offer svg { width: 17px; height: 17px; }
.featured-innovation__offer div { display: grid; gap: 5px; padding-left: 16px; border-left: 1px solid rgba(255,255,255,.13); }
.featured-innovation__offer small { color: #7fb1ff; font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.featured-innovation__offer strong { color: #f3f7ff; font-family: var(--display); font-size: 15px; font-weight: 500; }
.featured-innovation__points { display: flex; align-items: center; justify-content: center; gap: 12px; }
.featured-innovation__points span { min-height: 48px; display: inline-flex; align-items: center; gap: 10px; padding: 11px 15px; color: #eef5ff; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.04); border-radius: 999px; font-size: 11px; white-space: nowrap; }
.featured-innovation__points svg { width: 20px; height: 20px; color: #60a5fa; }
.innovation-strip { display: grid; grid-template-columns: 1fr auto auto; gap: 36px; align-items: center; padding: 24px 26px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); border-radius: 20px; }
.innovation-strip > div:first-child { display: grid; gap: 5px; }
.innovation-strip > div:first-child span { color: #77a9ff; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.innovation-strip > div:first-child strong { font-family: var(--display); font-size: 17px; }
.innovation-points { display: flex; flex-wrap: wrap; gap: 8px; }
.innovation-points span { position: relative; padding: 6px 0 6px 15px; color: #c5d2e6; font-size: 10.5px; font-weight: 650; white-space: nowrap; }.innovation-points span::before { content: ''; position: absolute; left: 0; top: 13px; width: 6px; height: 2px; background: #60a5fa; }
.engagement-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.engagement-grid article { padding: 25px; background: #fff; border: 1px solid var(--line); border-radius: 18px; transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease; }.engagement-grid article:hover { transform: translateY(-3px); border-color: #c9daf2; box-shadow: 0 18px 34px -27px rgba(37,99,235,.45); }.engagement-grid > article > span { color: var(--blue); font-size: 10px; font-weight: 800; }.engagement-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-top: 34px; color: var(--blue); background: linear-gradient(145deg,#fff,#eaf3ff); border: 1px solid #d4e4fb; border-radius: 13px; }.engagement-icon svg { width: 21px; height: 21px; stroke-width: 1.8; }.engagement-grid h3 { margin-top: 18px; font-size: 20px; }.engagement-grid p { margin-top: 8px; color: var(--muted); font-size: 13px; }

.reveal { opacity: 1; }
.js-motion .reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s ease, transform .65s ease; }
.js-motion .reveal.visible { opacity: 1; transform: none; }

.contact-dialog { width: min(520px,calc(100% - 28px)); max-height: 90dvh; padding: 35px; color: var(--ink); border: 0; border-radius: 22px; box-shadow: 0 35px 100px rgba(4,12,30,.38); }
.contact-dialog::backdrop { background: rgba(3,8,20,.72); backdrop-filter: blur(5px); }
.dialog-close { position: absolute; top: 12px; right: 14px; width: 38px; height: 38px; background: transparent; font-size: 27px; }
.dialog-kicker { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.contact-dialog h2 { margin-top: 12px; font-size: 34px; line-height: 1.12; letter-spacing: -.035em; }.contact-dialog > p { margin: 12px 0 20px; color: var(--muted); font-size: 13px; }
.contact-form { display: grid; gap: 12px; }.contact-form label { display: grid; gap: 5px; color: #374151; font-size: 11px; font-weight: 700; }.contact-form input,.contact-form select,.contact-form textarea { width: 100%; min-width: 0; padding: 12px 13px; color: var(--ink); background: var(--soft); border: 1px solid #dbe2eb; border-radius: 9px; font-family: var(--body); font-size: 15px; }.contact-form textarea { resize: vertical; }.contact-form .primary-button { margin-top: 5px; }.contact-ready p { margin-bottom: 12px; color: var(--muted); font-size: 13px; }
.contact-form [type="submit"]:disabled { cursor: wait; opacity: .68; transform: none; }
.contact-form-status { margin: 2px 0 0; color: #176534; font-size: 12.5px; line-height: 1.5; }
.contact-form-status.is-error { color: #9f1c1c; }
.contact-form-status a { color: #174fcf; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }

.contact-page { position: relative; overflow: hidden; background: radial-gradient(circle at 88% 12%,rgba(210,230,255,.72),transparent 31%),linear-gradient(180deg,#fff,#f8fbff); isolation: isolate; }
.contact-page::before { content: ''; position: absolute; width: 620px; height: 620px; right: -270px; top: 12px; z-index: -1; border: 1px solid rgba(37,99,235,.16); border-radius: 50%; box-shadow: 0 0 0 72px rgba(225,237,255,.42); }
.contact-page__grid { min-height: 720px; display: grid; grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr); gap: clamp(60px,8vw,150px); align-items: center; padding-block: 78px 92px; }
.contact-page__intro { min-width: 0; }
.contact-page__eyebrow { gap: 8px; color: #0f172a; font-size: 11px; font-weight: 750; letter-spacing: .12em; }
.contact-page__eyebrow .tiny-star { width: auto; height: auto; color: var(--blue); background: none; font-size: 18px; line-height: 1; }
.contact-page__intro h1 { max-width: 720px; margin: 22px 0 20px; color: #0b132b; font-size: clamp(3rem,4.6vw,4.7rem); font-weight: 600; line-height: 1.08; letter-spacing: -.04em; }
.contact-page__intro > p { max-width: 610px; color: #4b5870; font-size: 16px; line-height: 1.72; }
.contact-page__details { display: grid; gap: 13px; margin-top: 36px; }
.contact-page__details > a,.contact-page__details > div { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 15px; align-items: center; max-width: 520px; padding: 13px 14px; background: rgba(255,255,255,.7); border: 1px solid #e0e9f5; border-radius: 13px; transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.contact-page__details > a:hover { transform: translateX(3px); border-color: #c5d9f5; background: #fff; }
.contact-page__details > a > span,.contact-page__details > div > span { width: 44px; height: 44px; display: grid; place-items: center; color: var(--blue); background: #edf5ff; border: 1px solid #d5e5fb; border-radius: 11px; }
.contact-page__details > a > .contact-page__whatsapp-icon { background: #25d366; border-color: #25d366; }
.contact-page__whatsapp-icon img { width: 21px; height: 21px; display: block; }
.contact-page__details svg { width: 20px; height: 20px; stroke-width: 1.8; }
.contact-page__details > a > div,.contact-page__details > div > div { display: grid; gap: 2px; }
.contact-page__details small { color: #74819a; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.contact-page__details strong { color: #17233f; font-size: 14px; font-weight: 600; line-height: 1.4; }
.contact-page__panel { padding: 38px; background: rgba(255,255,255,.9); border: 1px solid #dbe6f3; border-radius: 22px; box-shadow: 0 28px 70px -38px rgba(30,74,137,.4); backdrop-filter: blur(18px); }
.contact-page__panel-kicker { color: var(--blue); font-size: 10px; font-weight: 750; letter-spacing: .15em; }
.contact-page__panel h2 { margin: 10px 0 25px; color: #111b38; font-size: clamp(2rem,2.7vw,2.7rem); font-weight: 600; }
.contact-page__form { gap: 15px; }
.contact-page__form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.contact-page__form label { gap: 7px; font-size: 13px; font-weight: 600; }
.contact-page__form input,.contact-page__form select,.contact-page__form textarea { min-height: 48px; padding: 13px 14px; background: #f7f9fc; border-color: #dbe4ef; border-radius: 10px; font-size: 15px; transition: border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.contact-page__form textarea { min-height: 112px; }
.contact-page__form input:focus,.contact-page__form select:focus,.contact-page__form textarea:focus { background: #fff; border-color: #8db5f4; outline: 0; box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.contact-page__form .primary-button { justify-self: start; margin-top: 3px; }

/* Focused legal pages */
.legal-page { padding: 78px 0 100px; background: linear-gradient(180deg,#f8fbff 0,#fff 280px); }
.legal-shell { width: min(920px,calc(100% - 48px)); margin-inline: auto; }
.legal-eyebrow { color: var(--blue); font-size: 11px; font-weight: 750; letter-spacing: .15em; }
.legal-page h1 { max-width: 760px; margin-top: 16px; color: #0b132b; font-size: clamp(2.75rem,5.3vw,4.7rem); font-weight: 600; line-height: 1.06; letter-spacing: -.045em; }
.legal-summary { max-width: 760px; margin-top: 22px; color: #4b5870; font-size: 17px; line-height: 1.72; }
.legal-updated { display: block; margin-top: 18px; color: #718096; font-size: 13px; }
.legal-content { margin-top: 50px; border-top: 1px solid #dce5f0; }
.legal-content section { padding: 28px 0; border-bottom: 1px solid #e5ebf2; }
.legal-content h2 { margin-bottom: 12px; color: #15213a; font-size: clamp(1.35rem,2.4vw,1.7rem); font-weight: 600; line-height: 1.25; letter-spacing: -.025em; }
.legal-content p,.legal-content li { color: #4b5870; font-size: 15px; line-height: 1.75; }
.legal-content p + p { margin-top: 12px; }
.legal-content ul { display: grid; gap: 8px; margin: 12px 0 0; padding-left: 22px; }
.legal-content a { color: #1d5ed7; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1020px) {
  .desktop-menu { gap: 22px; }.home-hero { grid-template-columns: 1fr; gap: 20px; padding-top: 68px; }.hero-copy { max-width: 800px; }.hero-globe { width: min(100%,760px); margin-inline: auto; }.capability-inner { align-items: flex-start; flex-direction: column; gap: 18px; padding-block: 24px; }.capability-list { width: 100%; flex-wrap: wrap; }.section-head,.page-hero { grid-template-columns: 1fr; gap: 28px; }.section-intro,.page-hero-aside { max-width: 720px; padding: 20px 0 0; border: 0; border-top: 1px solid var(--line); }.services-showcase { grid-template-columns: 1fr; }.service-selector { display: grid; grid-template-columns: repeat(2,1fr); border-right: 0; border-bottom: 1px solid var(--line); }.service-tab:nth-child(odd) { border-right: 1px solid var(--line); }.service-tab:nth-child(3) { border-bottom: 0; }.service-preview,.service-panel { min-height: 470px; }.principle-grid { grid-template-columns: repeat(2,1fr); }.principle-grid article:nth-child(2) { border-right: 0; }.principle-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }.industry-layout,.story-layout,.people-panel { grid-template-columns: 1fr; }.industry-copy { max-width: 620px; }.story-card { max-width: 760px; width: 100%; }.footer-grid { grid-template-columns: 1.35fr 1fr 1fr; }.footer-contact { grid-column: 2 / 4; }.service-detail { grid-template-columns: 70px .8fr 1fr; gap: 24px; }.innovation-strip { grid-template-columns: 1fr auto; }.innovation-points { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 1280px) {
  .home-hero { grid-template-columns: minmax(0,.98fr) minmax(0,1.02fr); gap: 30px; }
  .home-hero .hero-copy h1 { font-size: clamp(3rem,4.2vw,4rem); }
  .globe-card { min-width: 200px; padding: 13px 14px; }
  .globe-card-ai,.globe-card-code { left: 0; }
  .globe-card-cloud,.globe-card-growth { right: 0; }
  .about-hero__grid { grid-template-columns: minmax(0,.98fr) minmax(460px,1.02fr); gap: 28px; }
  .about-hero__pillars article { grid-template-columns: 46px 1fr; gap: 11px; padding-right: 14px; }
  .about-hero__pillars article + article { padding-left: 16px; }
  .about-hero__pillars article > span { width: 46px; height: 46px; }
  .industry-layout { grid-template-columns: 1fr; gap: 48px; }
  .industry-copy { max-width: 720px; }
  .industry-signoff { margin-top: 42px; }
}

@media (max-width: 1020px) {
  .home-hero { grid-template-columns: 1fr; gap: 20px; padding-top: 54px; }
  .home-hero .hero-copy { max-width: 800px; }
  .home-hero .hero-globe { width: min(100%,760px); margin-inline: auto; }
  .about-hero { min-height: auto; }
  .about-hero__grid { min-height: auto; grid-template-columns: 1fr; gap: 0; padding-block: 64px 0; }
  .about-hero__copy { max-width: 780px; padding-bottom: 28px; }
  .about-hero__visual { width: min(100%,760px); min-height: 450px; margin-inline: auto; }
  .about-hero__image-mask { inset: 24px 6% 20px; }
  .about-story { padding-block: 82px 76px; }
  .about-story__grid { grid-template-columns: 1fr; gap: 72px; }
  .about-story__statement { min-height: auto; }
  .about-story__statement h2 { max-width: 760px; margin-top: 46px; }
  .about-story__disciplines { margin-top: 64px; padding-top: 0; }
  .about-story__copy { max-width: 760px; padding-top: 0; }
}

@media (max-width: 760px) {
  .shell { width: 100%; padding-inline: 16px; }.section { padding-block: 62px; }.header-inner { height: 68px; }.site-logo { width: 148px; }.desktop-menu,.header-button { display: none; }.menu-button { width: 44px; height: 44px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: var(--soft); border: 1px solid var(--line); border-radius: 10px; }.menu-button span { width: 19px; height: 1.5px; background: var(--ink); transition: transform .2s; }.menu-button[aria-expanded="true"] span:first-child { transform: translateY(3.75px) rotate(45deg); }.menu-button[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }.mobile-menu:not([hidden]) { display: flex; flex-direction: column; padding: 4px 16px 16px; background: #fff; box-shadow: 0 18px 28px rgba(15,23,42,.08); }.mobile-menu a,.mobile-menu button { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding-inline: 10px; border-bottom: 1px solid var(--line); background: transparent; font-size: 14px; text-align: left; }.mobile-menu .active { color: var(--blue); }
  .home-hero { min-height: auto; padding-block: 46px 42px; gap: 14px; }.home-hero .eyebrow { font-size: 9px; gap: 7px; }.home-hero .eyebrow > .tiny-star { font-size: 16px; }.hero-copy h1 { margin-block: 17px 18px; font-size: clamp(2.45rem,11.5vw,3.25rem); line-height: 1.06; }.hero-lede,.page-hero-copy > p { font-size: 15px; }.button-row { align-items: stretch; flex-direction: column; margin-top: 24px; }.button-row a,.button-row button { width: 100%; }.hero-proof { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 25px; }.hero-proof > span { align-items: flex-start; flex-direction: column; gap: 7px; font-size: 10.5px; }.proof-icon { width: 36px; height: 36px; flex-basis: 36px; }.hero-metrics { grid-template-columns: repeat(2,1fr); gap: 18px 0; margin-top: 28px; padding-top: 20px; }.hero-metrics > span { padding-inline: 14px; }.hero-metrics > span:nth-child(3) { padding-left: 0; border-left: 0; }.hero-metrics strong { font-size: 21px; }.hero-metrics small { font-size: 9.5px; white-space: normal; }.hero-globe { width: calc(100% + 18px); height: min(116vw,500px); margin-left: -9px; }.globe-video-wrap { inset: 24px 5px 36px; }.globe-card { min-width: 0; max-width: 50%; gap: 7px; padding: 9px 10px; border-radius: 11px; }.globe-card > svg { width: 28px; height: 28px; flex-basis: 28px; padding: 6px; }.globe-card strong { font-size: 9.5px; }.globe-card small { font-size: 7px; }.globe-card-ai { top: 35px; left: 2px; }.globe-card-cloud { top: 54px; right: 0; }.globe-card-code { left: 0; bottom: 76px; }.globe-card-growth { right: 0; bottom: 91px; }.globe-note { display: none; }.globe-caption { right: 10px; bottom: 4px; min-width: 205px; }.globe-caption strong { font-size: 14px; }.capability-list { display: grid; grid-template-columns: repeat(2,1fr); }.capability-list span { padding: 8px 10px; text-align: left; }.section-head { margin-bottom: 30px; }.section-head h2,.industry-copy h2,.page-hero h1 { font-size: clamp(2rem,8.8vw,2.65rem); }.service-selector { grid-template-columns: 1fr; }.service-tab { min-height: 96px; grid-template-columns: 42px 1fr 20px; padding: 16px 10px 16px 0; border-right: 0 !important; border-bottom: 1px solid var(--line) !important; }.service-tab:last-child { border-bottom: 0 !important; }.service-tab:hover,.service-tab.active { padding-left: 10px; }.service-tab-icon { width: 38px; height: 38px; }.service-tab strong { font-size: 17px; }.service-preview,.service-panel { min-height: 430px; }.service-panel { padding: 28px 22px; }.service-panel h3 { font-size: 2rem; }.panel-icon { width: 52px; height: 52px; }.principle-grid,.process-line { grid-template-columns: 1fr; }.principle-grid article { min-height: 190px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }.principle-grid article:last-child { border-bottom: 0; }.principle-grid h3 { margin-top: 38px; }.process-line { gap: 26px; border-top: 0; }.process-line article { padding: 20px 0 0; border-top: 1px solid #cbd5e1; }.industry-layout { gap: 38px; }.industry-grid { grid-template-columns: 1fr; }.cta-section { padding-block: 30px 50px; }.cta-panel { min-height: 0; grid-template-columns: 1fr; gap: 30px; padding: 30px 22px; border-radius: 12px; }.cta-copy h2 { font-size: clamp(2rem,8.8vw,2.65rem); }.cta-actions { align-items: stretch; }.cta-actions .white-button { width: 100%; }.cta-orbit { opacity: .6; }.footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 28px; }.footer-brand { grid-column: 1 / -1; }.footer-contact { grid-column: 1 / -1; }.footer-bottom { align-items: flex-start; flex-direction: column; }.page-hero { padding-block: 58px 52px; }.story-layout { gap: 40px; }.story-card { min-height: 390px; padding: 24px; }.story-card blockquote { margin-top: 95px; }.story-card-bottom { left: 24px; right: 24px; gap: 12px; flex-wrap: wrap; }.value-grid { grid-template-columns: 1fr; }.people-panel { gap: 30px; padding: 22px; }.people-points { grid-template-columns: 1fr; }.service-jump { padding-bottom: 44px; }.service-detail { grid-template-columns: 1fr; gap: 12px; padding-block: 34px; }.service-detail h2 { font-size: 1.7rem; }.detail-title { grid-template-columns: 38px 1fr; }.detail-title > svg { width: 38px; height: 38px; padding: 9px; }.service-detail.featured-detail { margin-inline: -10px; padding-inline: 10px; }.innovation-strip { grid-template-columns: 1fr; gap: 20px; padding: 22px; }.innovation-points { grid-column: auto; grid-row: auto; }.innovation-strip .white-button { width: 100%; }.engagement-grid { grid-template-columns: 1fr; }.contact-dialog { padding: 28px 20px; }.contact-dialog h2 { font-size: 29px; }
}

@media (max-width: 400px) {
  .shell { width: 100%; padding-inline: 12px; }.primary-button,.secondary-button,.white-button { white-space: normal; text-align: center; }.hero-copy h1 { font-size: 2.35rem; }.globe-card small { display: none; }.globe-card strong { font-size: 9px; }.hero-globe { height: 430px; }.capability-list { grid-template-columns: 1fr; }.deliverables { grid-template-columns: 1fr; }.footer-grid { grid-template-columns: 1fr; }.footer-grid > div { grid-column: 1; }
}

@media (max-width: 760px) {
  .about-hero__grid { padding-top: 46px; }
  .about-hero__eyebrow { font-size: 9px; }
  .about-hero__eyebrow .tiny-star { font-size: 16px; }
  .about-hero__copy h1 { margin-block: 18px 16px; font-size: clamp(2.35rem,10.8vw,3rem); line-height: 1.08; letter-spacing: -.035em; }
  .about-hero__copy > p { font-size: 15.5px; line-height: 1.65; }
  .about-hero__pillars { margin-top: 28px; }
  .about-hero__pillars article { grid-template-columns: 1fr; gap: 9px; align-items: start; justify-items: start; padding: 0 10px 0 0; }
  .about-hero__pillars article + article { padding-left: 10px; }
  .about-hero__pillars article > span { width: 43px; height: 43px; }
  .about-hero__pillars svg { width: 19px; height: 19px; }
  .about-hero__pillars strong { font-size: 10px; line-height: 1.4; }
  .about-hero__visual { width: 100%; min-height: 330px; margin-inline: auto; }
  .about-hero__visual::before { width: 280px; height: 280px; left: 2%; top: 6%; }
  .about-hero__visual::after { width: 135px; height: 135px; right: 0; bottom: 5%; }
  .about-hero__image-mask { inset: 18px 4px 8px; border-radius: 48% 48% 5% 34% / 46% 50% 5% 38%; }
  .about-hero__image-mask img { object-position: 72% center; }
  .about-hero__orbit { width: 260px; height: 260px; left: 4%; top: 9%; }
  .about-story { min-height: auto; padding-block: 64px 58px; }
  .about-story::before { width: 380px; height: 380px; left: -250px; bottom: -285px; box-shadow: 0 0 0 55px rgba(221,235,255,.5); }
  .about-story::after { width: 280px; height: 280px; left: 58px; bottom: -270px; box-shadow: 0 0 0 40px rgba(235,243,255,.45); }
  .about-story__dots { width: 130px; height: 105px; top: 18px; right: 5px; background-size: 20px 20px; }
  .about-story__grid { gap: 58px; }
  .about-story__location { font-size: 10px; }
  .about-story__statement h2 { margin-top: 38px; font-size: clamp(2.25rem,10.5vw,3rem); line-height: 1.12; }
  .about-story__actions { align-items: flex-start; flex-direction: column; gap: 25px; margin-top: 38px; }
  .about-story__thought { font-size: 10px; white-space: normal; }
  .about-story__actions a { font-size: 13px; }
  .about-story__disciplines { margin-top: 48px; font-size: 10px; }
  .about-story__kicker { gap: 10px; font-size: 9px; }
  .about-story__kicker i { width: 42px; }
  .about-story__copy h2 { margin: 22px 0 28px; font-size: clamp(2.25rem,10.5vw,3rem); line-height: 1.12; }
  .about-story__copy p { margin-top: 18px; font-size: 15.5px; line-height: 1.7; }
  .principle-grid article { min-height: 230px; }
  .principle-icon { margin-top: 22px; }
  .principle-grid h3 { margin-top: 14px; }
  .industries-section::before { display: none; }
  .industry-layout { gap: 34px; }
  .industry-copy h2 em { white-space: normal; }
  .industry-signoff { display: none; }
  .industry-accordion { height: auto; flex-direction: column; gap: 8px; filter: drop-shadow(0 14px 24px rgba(34,62,101,.1)); }
  .industry-item,.industry-item.active { display: block; flex: 0 0 auto; border-radius: 12px; }
  .industry-rail { width: 100%; min-width: 0; height: 58px; grid-template-columns: 34px minmax(0,1fr) auto 32px; grid-template-rows: 1fr; justify-items: center; gap: 10px; padding: 9px 12px; border-right: 0; }
  .industry-rail > svg { width: 20px; height: 20px; }
  .industry-rail strong { justify-self: start; writing-mode: horizontal-tb; font-size: 14px; }
  .industry-rail small { font-size: 9px; }
  .industry-rail > span { width: 30px; height: 30px; }
  .industry-item.active .industry-rail > span svg { transform: rotate(90deg); }
  .industry-panel { min-height: 500px; border-top: 1px solid #dce6f2; }
  .industry-panel::before { background-image: linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 56%,rgba(255,255,255,.65) 78%,rgba(255,255,255,.2) 100%),var(--industry-image); background-position: center,bottom right; }
  .industry-panel-copy { width: 100%; min-height: 500px; padding: 30px 22px 24px; }
  .industry-panel-copy h3 { max-width: 420px; margin-top: 14px; font-size: 1.55rem; }
  .industry-panel-copy ul { gap: 12px; margin-top: 22px; }
}

@media (max-width: 1180px) {
  .featured-innovation__grid { grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); gap: 38px; }
  .ai-benefits { right: -12px; }
  .featured-innovation__strip { grid-template-columns: 1fr; gap: 20px; }
  .featured-innovation__points { justify-content: flex-start; }
  .featured-innovation__strip .white-button { position: absolute; right: 28px; top: 24px; }
  .services-intro-hero__grid { grid-template-columns: minmax(0,1.02fr) minmax(460px,.98fr); gap: 22px; }
  .services-intro-hero__copy h1 { font-size: clamp(2.7rem,4.25vw,3.25rem); }
  .services-intro-hero__visual { min-height: 510px; }
  .services-intro-hero__image { inset: 38px 0 18px 5%; }
  .capability-panel { grid-template-columns: 1fr; }
  .capability-panel__visual { display: none; }
  .capability-panel__copy { padding-right: 28px; }
}

@media (max-width: 1020px) {
  .featured-innovation { padding-block: 76px 70px; }
  .featured-innovation__grid { grid-template-columns: 1fr; gap: 38px; }
  .featured-innovation__copy { max-width: 760px; }
  .featured-innovation__visual { width: min(100%,760px); margin-inline: auto; }
  .featured-innovation__strip .white-button { position: static; justify-self: start; }
  .contact-page__grid { min-height: auto; grid-template-columns: 1fr; gap: 48px; padding-block: 68px 76px; }
  .contact-page__intro { max-width: 760px; }
  .contact-page__intro h1 { font-size: clamp(2.8rem,7.5vw,4.25rem); }
  .contact-page__panel { width: min(100%,760px); }
  .services-intro-hero__grid { min-height: auto; grid-template-columns: 1fr; gap: 10px; padding-block: 54px 42px; }
  .services-intro-hero__copy { max-width: 760px; padding-block: 0; }
  .services-intro-hero__copy h1 { font-size: clamp(2.8rem,7.6vw,4rem); }
  .services-intro-hero__line { white-space: normal; }
  .services-intro-hero__signoff { margin-top: 46px; }
  .services-intro-hero__visual { width: min(100%,760px); min-height: 480px; margin-inline: auto; }
  .services-intro-hero__image { inset: 12px -7% 0; }
  .services-intro-hero__outcome { left: 2%; bottom: 14px; }
  .services-capabilities { padding-block: 64px 72px; }
  .capability-accordion { height: auto; flex-direction: column; gap: 8px; overflow: visible; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .capability-item,.capability-item.active,.capability-item:not(.active) { display: block; flex: 0 0 auto; overflow: hidden; background: #fff; border: 1px solid #dce6f4; border-radius: 12px; }
  .capability-rail,.capability-item.active .capability-rail { width: 100%; height: 68px; display: grid; grid-template-columns: 42px 64px minmax(0,1fr) 34px; grid-template-rows: 1fr; align-items: center; justify-items: start; gap: 11px; padding: 10px 13px; border: 0; }
  .capability-item.active .capability-rail { color: #fff; background: linear-gradient(110deg,#2563eb,#1749b6); }
  .capability-rail__icon { width: 40px; height: 40px; }
  .capability-rail__icon svg { width: 19px; height: 19px; }
  .capability-item.active .capability-rail__icon { color: #fff; background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.26); }
  .capability-rail small { font-size: 9px; }
  .capability-item.active .capability-rail small { color: #dbeafe; }
  .capability-rail strong { justify-self: start; font-size: 14px; writing-mode: horizontal-tb; }
  .capability-rail__toggle { width: 30px; height: 30px; font-size: 18px; }
  .capability-item.active .capability-rail__toggle { color: #1749b6; border-color: #fff; transform: rotate(45deg); }
  .capability-panel { min-height: 0; grid-template-columns: 1fr; border-top: 1px solid #dce6f4; }
  .capability-panel__copy { padding: 30px 24px 26px; }
  .capability-panel__copy > button { margin-top: 24px; }
}

@media (max-width: 560px) {
  .featured-innovation { padding-block: 62px 56px; }
  .featured-innovation__copy h2 { margin-top: 17px; font-size: clamp(2.2rem,10.4vw,3rem); line-height: 1.14; }
  .featured-innovation__copy > p { margin-top: 20px; font-size: 15px; line-height: 1.68; }
  .featured-innovation__visual { min-height: 365px; }
  .ai-orbit--one { width: 310px; height: 310px; left: 0; }
  .ai-orbit--two { width: 240px; height: 240px; }
  .ai-conversation-card { width: 100%; min-height: 315px; margin: 0; padding: 55px 17px 17px; }
  .ai-question { margin-left: 28px; padding: 13px; font-size: 11.5px; }
  .ai-benefits { display: none; }
  .featured-innovation__strip { margin-top: 34px; padding: 22px 18px; }
  .featured-innovation__offer { align-items: flex-start; }
  .featured-innovation__offer div { padding-left: 12px; }
  .featured-innovation__offer strong { font-size: 13px; }
  .featured-innovation__points { align-items: stretch; flex-direction: column; gap: 8px; }
  .featured-innovation__points span { width: 100%; min-height: 44px; }
  .featured-innovation__strip .white-button { width: 100%; }
  .contact-page__grid { gap: 36px; padding-block: 48px 58px; }
  .contact-page__eyebrow { font-size: 9px; }
  .contact-page__intro h1 { margin-block: 18px 16px; font-size: clamp(2.35rem,11vw,3rem); }
  .contact-page__intro > p { font-size: 15px; }
  .contact-page__details { margin-top: 28px; }
  .contact-page__details > a,.contact-page__details > div { grid-template-columns: 44px minmax(0,1fr); padding: 11px; }
  .contact-page__details > a > span,.contact-page__details > div > span { width: 40px; height: 40px; }
  .contact-page__details strong { font-size: 12.5px; overflow-wrap: anywhere; }
  .contact-page__panel { padding: 26px 18px; border-radius: 16px; }
  .contact-page__form-row { grid-template-columns: 1fr; }
  .contact-page__form .primary-button { width: 100%; }
  .legal-page { padding: 50px 0 68px; }
  .legal-shell { width: min(100% - 32px,920px); }
  .legal-page h1 { font-size: clamp(2.25rem,12vw,3rem); }
  .legal-summary { font-size: 15px; }
  .legal-content { margin-top: 36px; }
  .legal-content section { padding: 23px 0; }
  .legal-content p,.legal-content li { font-size: 14px; }
  .services-intro-hero__grid { gap: 20px; padding-block: 44px 34px; }
  .services-intro-hero__eyebrow { font-size: 9px; }
  .services-intro-hero__eyebrow .tiny-star { font-size: 16px; }
  .services-intro-hero__copy h1 { margin-block: 17px 16px; font-size: clamp(2.3rem,11vw,3rem); line-height: 1.08; }
  .services-intro-hero__copy h1 em { white-space: normal; }
  .services-intro-hero__copy > p { font-size: 15px; line-height: 1.65; }
  .services-intro-hero__actions { align-items: stretch; flex-direction: column; gap: 18px; margin-top: 24px; }
  .services-intro-hero__actions .primary-button { width: 100%; }
  .services-intro-hero__actions > span { padding: 0 0 0 16px; }
  .services-intro-hero__signoff { display: none; }
  .services-intro-hero__visual { min-height: 405px; }
  .services-intro-hero__image { inset: 0 -34% 0 -8%; border-radius: 40% 8% 18% 34% / 33% 8% 18% 35%; }
  .services-intro-hero__image::after { background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.42) 9%,transparent 31%),linear-gradient(0deg,rgba(255,255,255,.88),transparent 26%); }
  .services-intro-hero__orbit { width: 245px; height: 245px; left: 3%; top: 8%; }
  .services-intro-hero__outcome { width: min(280px,90%); left: 50%; bottom: 5px; padding: 20px; transform: translateX(-50%); }
  .services-intro-hero__outcome > p { max-width: 220px; margin-top: 14px; font-size: 15.5px; }
  .services-intro-hero__metrics { margin-top: 16px; padding-top: 15px; }
  .services-intro-hero__metrics strong { font-size: 18px; }
  .services-capabilities { padding-block: 48px 58px; }
  .capability-rail,.capability-item.active .capability-rail { grid-template-columns: 40px minmax(0,1fr) 32px; height: 64px; }
  .capability-rail small { display: none; }
  .capability-panel__copy { padding: 26px 19px 24px; }
  .capability-panel__heading { grid-template-columns: 46px minmax(0,1fr); gap: 13px; }
  .capability-panel__heading > span { width: 46px; height: 46px; }
  .capability-panel__heading > span svg { width: 21px; height: 21px; }
  .capability-panel__heading h2 { font-size: 1.65rem; }
  .capability-panel__copy > p { font-size: 14px; }
  .capability-panel__copy > button { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }.js-motion .reveal { opacity: 1; transform: none; }.hero-shine { background-position: 48% 0; } }
