/* ================= Industry pages: 38 sector pages + the "All industries" hub =================
   Every sector page shares one full-bleed photo hero and the blue accent (--ia, --ia2); each has its own photos and run of sections. */
.ind { --ia: #2F6BFF; --ia2: #5CB8FF; background: var(--paper); }
.ind .x-k { color: var(--ia); display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.ind .x-k::before { content: ""; width: 18px; height: 1px; background: currentColor; }
.ind .x-h2 { font-family: var(--f-display); font-size: clamp(36px, 4.6vw, 68px); letter-spacing: -.045em; line-height: 1.02; font-weight: 600; color: var(--text); }
.ind .x-h2 em { font-family: var(--f-serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--ia); }
.ind .x-lead { font-size: clamp(16.5px, 1.3vw, 18.5px); line-height: 1.6; color: var(--text-2); max-width: 560px; }
.ind .x-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 24px clamp(32px, 6vw, 96px); align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
.ind .x-head .x-k { margin-bottom: 18px; }
.ind svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.k-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.k-ticks li { display: flex; gap: 10px; font-size: 15px; line-height: 1.5; align-items: flex-start; }
.k-ticks svg { flex: none; width: 18px; height: 18px; margin-top: 2px; stroke-width: 2.2; color: var(--k-tick, var(--ia, var(--blue, #2F6BFF))); }
.ind .k-ticks { --k-tick: var(--ia); margin-top: 28px; }
.k-sec { position: relative; padding: clamp(80px, 9vw, 130px) 0; }
.k-sec--paper2 { background: #F7F6F2; }
.k-rel { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.k-rel a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; background: #fff; border: 1px solid rgba(5,6,13,.08); font-weight: 500; font-size: 15px; color: var(--text, #05060D); text-decoration: none; transition: all .2s; }
.k-rel a:hover { background: var(--ia, #1742C0); color: #fff; border-color: var(--ia, #1742C0); }
.k-rel svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; }
.in-ic { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 13px; background: color-mix(in srgb, var(--ia) 12%, #fff); color: var(--ia); transition: background .3s, color .3s; }
.in-ic svg { width: 22px; height: 22px; }
.in-sec { position: relative; padding: clamp(80px, 9vw, 130px) 0; }
.in-sec--paper { background: #F6F7F9; }
.in-sec--tint { background: color-mix(in srgb, var(--ia) 6%, #F7F8FB); }
.in-sec--dark { background: var(--ink-950); color: #fff; }
.in-sec--dark .x-h2 { color: #fff; }
.in-sec--dark .x-h2 em, .in-sec--dark .x-k { color: var(--ia2); }
.in-sec--dark .x-lead { color: var(--on-dark-2); }
.in-sec h3 { font-family: var(--f-display); font-weight: 600; letter-spacing: -.02em; }

/* Heroes (shared) */
.in-hero { position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--header-h) + clamp(40px, 5vw, 80px)) 0 clamp(56px, 6vw, 96px); }
.in-hero h1 { font-family: var(--f-display); font-size: clamp(40px, 5vw, 76px); font-weight: 600; line-height: 1.05; letter-spacing: -.04em; color: var(--text); }
.in-hero h1 em { font-family: var(--f-serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--ia); }
.in-hero .x-k { margin-bottom: 18px; }
.in-hero > .x-wrap { width: 100%; }
.in-hero .x-crumbs { flex-wrap: wrap; color: var(--text-2); }
.in-hero .x-crumbs a:hover { color: var(--ia); }
.in-lead { margin-top: 22px; max-width: 560px; font-size: clamp(16.5px, 1.3vw, 19px); line-height: 1.65; color: var(--text-2); }
.in-hero--dark { background: var(--ink-950); color: #fff; }
.in-hero--dark h1 { color: #fff; }
.in-hero--dark h1 em, .in-hero--dark .x-k { color: var(--ia2); }
.in-hero--dark .in-lead { color: rgba(238,241,255,.84); }
.in-hero--dark .x-crumbs { color: rgba(255,255,255,.62); }
.in-hero--dark .x-crumbs a:hover { color: #fff; }
.in-hero--dark .btn--primary, .in-quote .btn--primary { --btn-fill: #fff; --btn-fg-h: var(--text); }
/* Bleed: full-screen photo with copy and glass tags along the bottom */
.in-hero--bleed { min-height: min(94svh, 980px); display: flex; align-items: flex-end; }
.in-bleed__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; animation: inZoom 22s ease-out both; }
.in-hero--bleed::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--hero-shade); }
@keyframes inZoom { from { transform: scale(1.12); } to { transform: scale(1); } }
.in-bleed { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; }
.in-bleed > div { max-width: 760px; }
.in-bleed__tags { display: grid; gap: 10px; justify-items: end; margin: 0; padding: 0; list-style: none; }
.in-bleed__tags li { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.26); background: rgba(255,255,255,.12); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-family: var(--f-label); font-size: 14px; color: #fff; white-space: nowrap; }
.in-bleed__tags li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ia2); box-shadow: 0 0 10px var(--ia2); }
@keyframes inSpin { to { transform: rotate(360deg); } }

/* Pyzen proof (from pyzenlabs.com): hero promises, a floating facts panel, case studies and client quotes */
.in-hero--bleed { padding-bottom: clamp(110px, 10vw, 150px); }
.in-hero__promise { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 24px 0 0; padding: 0; list-style: none; }
.in-hero__promise li { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: rgba(238,241,255,.88); }
.in-hero__promise svg { width: 16px; height: 16px; color: var(--ia2); stroke-width: 2.4 !important; }
.inp { position: relative; z-index: 2; margin-top: -64px; }
.inp__card { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 40px 80px -40px rgba(10,12,24,.4), 0 0 0 1px var(--line); }
.inp__card > div { padding: 28px 30px; border-left: 1px solid var(--line); }
.inp__card > div:first-child { border-left: 0; }
.inp__card strong { display: block; font-family: var(--f-display); font-size: clamp(36px, 3.6vw, 52px); font-weight: 600; line-height: 1; letter-spacing: -.04em; background: linear-gradient(135deg, var(--ia), var(--ia2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.inp__card span { display: block; margin-top: 10px; font-size: 14.5px; color: var(--text-2); }
.inp__card .inp__clutch strong { font-size: clamp(22px, 2vw, 28px); letter-spacing: .12em; line-height: 1.6; background: none; color: #F5A623; -webkit-text-fill-color: #F5A623; }
.incs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.incs__card { display: flex; flex-direction: column; overflow: hidden; border-radius: 26px; border: 1px solid var(--line); background: #fff; color: var(--text); transition: transform .5s var(--ease-out), box-shadow .5s; }
.incs__card:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -40px color-mix(in srgb, var(--ia) 60%, transparent); }
.incs__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.incs__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out); }
.incs__card:hover .incs__media img { transform: scale(1.06); }
.incs__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.45), transparent 50%); }
.incs__tag, .incs__nda { position: absolute; z-index: 1; top: 16px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.incs__tag { left: 16px; background: rgba(0,0,0,.45); }
.incs__nda { right: 16px; background: color-mix(in srgb, var(--ia) 70%, transparent); }
.incs__nda svg { width: 13px; height: 13px; }
.incs__body { display: flex; flex: 1; flex-direction: column; padding: 24px 26px 26px; }
.incs__body small { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ia); }
.incs__body h3 { margin: 8px 0; font-family: var(--f-display); font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.incs__body p { font-size: 15px; line-height: 1.6; color: var(--text-2); }
.incs__m { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 20px 0; }
.incs__m div { padding: 14px 16px; border-radius: 16px; background: color-mix(in srgb, var(--ia) 8%, #fff); }
.incs__m b { display: block; font-family: var(--f-display); font-size: 28px; font-weight: 600; letter-spacing: -.03em; color: var(--ia); }
.incs__m span { font-size: 13px; color: var(--text-2); }
.incs__body .k-link { margin-top: auto; color: var(--ia); }
/* Client voices: dark spotlight — a floating review card that rotates through clients, a Clutch badge, and a moving client strip */
.intm { overflow: hidden; isolation: isolate; background: var(--ink-950); color: #fff; }
.intm::before { content: ""; position: absolute; inset: -20% -10%; z-index: -1; background: radial-gradient(38% 45% at 12% 25%, color-mix(in srgb, var(--ia) 38%, transparent), transparent 70%), radial-gradient(36% 42% at 88% 80%, color-mix(in srgb, var(--ia2) 26%, transparent), transparent 70%); animation: intmGlow 14s ease-in-out infinite alternate; }
@keyframes intmGlow { to { transform: translate(-3%, 3%) scale(1.05); } }
.intm__wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.intm .x-k, .intm .x-h2 em { color: var(--ia2); }
.intm .x-h2 { margin-top: 16px; color: #fff; }
.intm .x-lead { margin-top: 18px; color: var(--on-dark-2); }
.intm__badge { display: inline-flex; align-items: center; gap: 16px; margin-top: 32px; padding: 16px 22px 16px 16px; border-radius: 20px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.intm__badge > span { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(135deg, #FFC24B, #F5A623); font-family: var(--f-display); font-size: 22px; font-weight: 700; color: #3A2400; }
.intm__badge strong { display: block; font-family: var(--f-display); font-size: 17px; font-weight: 600; color: #fff; }
.intm__badge small { display: block; margin-top: 3px; font-size: 13.5px; color: var(--on-dark-2); }
.intm__badge em { font-style: normal; letter-spacing: .12em; color: #FFC24B; }
.intm__stage { position: relative; overflow: hidden; border-radius: 32px; background: #fff; color: var(--text); box-shadow: 0 60px 120px -50px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.08); }
.intm__stage::before { content: ""; position: absolute; top: -120px; right: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--ia) 22%, transparent), transparent 70%); pointer-events: none; }
.intm__q { position: relative; min-height: 340px; margin: 0; padding: clamp(32px, 4vw, 52px) clamp(28px, 4vw, 52px) 30px; }
.intm__q.is-in { animation: inFade .7s var(--ease-out); }
.intm__mark { position: absolute; top: 8px; left: clamp(20px, 3vw, 40px); font-family: var(--f-serif); font-size: 150px; line-height: 1; background: linear-gradient(135deg, var(--ia), var(--ia2)); -webkit-background-clip: text; background-clip: text; color: transparent; opacity: .2; pointer-events: none; }
.intm__stars { position: relative; font-size: 17px; letter-spacing: .16em; color: #F5A623; }
.intm__q blockquote { position: relative; margin: 18px 0 30px; font-family: var(--f-display); font-size: clamp(19px, 1.7vw, 24px); font-weight: 500; line-height: 1.5; letter-spacing: -.015em; color: var(--text); }
.intm__q figcaption { display: flex; align-items: center; gap: 14px; font-size: 14px; color: var(--text-2); }
.intm__q figcaption strong { display: block; font-family: var(--f-display); font-size: 17px; font-weight: 600; color: var(--text); }
.intm__av { display: grid; place-items: center; flex: none; width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg, var(--ia), var(--ia2)); font-family: var(--f-display); font-size: 17px; font-weight: 600; color: #fff; box-shadow: 0 10px 24px -10px color-mix(in srgb, var(--ia) 70%, transparent); }
.intm__dots { display: flex; align-items: center; gap: 10px; padding: 0 clamp(28px, 4vw, 52px) clamp(28px, 3.4vw, 40px); }
.intm__dots button { position: relative; width: 10px; height: 10px; overflow: hidden; border-radius: 999px; background: #D5DCE8; border: 0; padding: 0; cursor: pointer; outline: none; transition: width .45s var(--ease-out), background .3s; }
.intm__dots button:hover { background: #B9C3D6; }
.intm__dots button[aria-selected="true"] { width: 44px; background: color-mix(in srgb, var(--ia) 22%, #fff); }
.intm__dots i { position: absolute; inset: 0; border-radius: inherit; background: var(--ia); transform: scaleX(0); transform-origin: 0 50%; }
.intm__dots button[aria-selected="true"] i { transform: scaleX(1); }
.intm__stage.is-run .intm__dots button[aria-selected="true"] i { transform: scaleX(0); animation: intmFill var(--dur, 10000ms) linear forwards; }
@keyframes intmFill { to { transform: scaleX(1); } }
.intm__marq { margin-top: clamp(48px, 6vw, 80px); overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.intm__marq > div { display: flex; gap: 14px; width: max-content; padding-right: 14px; animation: inMarq 40s linear infinite; }
.intm__marq span { display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px; border-radius: 999px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); font-family: var(--f-label); font-size: 14.5px; color: rgba(238,241,255,.82); white-space: nowrap; }
.intm__marq span::before { content: "★"; color: #FFC24B; }

/* Solutions: spotlight grid */
.in-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.in-grid article { position: relative; overflow: hidden; padding: 30px 28px 32px; border-radius: 22px; border: 1px solid var(--line); background: #fff; transition: transform .45s var(--ease-out), box-shadow .45s, border-color .45s; }
.in-grid article::before { content: ""; position: absolute; inset: 0; background: radial-gradient(380px circle at var(--mx, -400px) var(--my, -400px), color-mix(in srgb, var(--ia) 15%, transparent), transparent 62%); pointer-events: none; }
.in-grid article:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--ia) 40%, transparent); box-shadow: 0 30px 60px -38px rgba(10,12,24,.4); }
.in-grid article:hover .in-ic { background: var(--ia); color: #fff; }
.in-grid h3 { margin: 24px 0 10px; font-size: 21px; }
.in-grid p, .in-track p, .in-bento p, .in-stack p, .in-outs p, .in-proc p { font-size: 15.5px; line-height: 1.6; color: var(--text-2); }
/* Solutions: vertical tabs with a photo panel */
.in-tabs { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 60px); align-items: start; }
.in-tabs__list { display: grid; gap: 6px; }
.in-tabs__list button { display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 16px 12px 12px; border-radius: 18px; text-align: left; font-family: var(--f-display); font-size: 18px; font-weight: 600; letter-spacing: -.02em; color: var(--text-2); transition: background .3s, color .3s, box-shadow .3s; }
.in-tabs__list button:hover { color: var(--text); }
.in-tabs__list button .in-ic { width: 40px; height: 40px; }
.in-tabs__list button[aria-selected="true"] { background: #fff; color: var(--text); box-shadow: 0 18px 40px -26px rgba(10,12,24,.45); }
.in-tabs__list button[aria-selected="true"] .in-ic { background: var(--ia); color: #fff; }
.in-tabs__panel { overflow: hidden; border-radius: 28px; background: #fff; box-shadow: 0 40px 80px -50px rgba(10,12,24,.45); }
.in-tabs__panel.is-in { animation: inFade .6s var(--ease-out); }
@keyframes inFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.in-tabs__panel img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.in-tabs__body { padding: 28px 32px 32px; }
.in-tabs__body h3 { font-size: 26px; }
.in-tabs__body p { margin: 10px 0 18px; font-size: 16px; line-height: 1.65; color: var(--text-2); }
.in-tabs__body .k-link { color: var(--ia); }
/* Solutions: horizontal photo track */
.in-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 360px); gap: 20px; padding-bottom: 6px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; }
.in-track::-webkit-scrollbar { display: none; }
.in-track.is-drag { cursor: grabbing; scroll-snap-type: none; }
.in-track article { overflow: hidden; scroll-snap-align: start; border-radius: 24px; border: 1px solid var(--line); background: #fff; }
.in-track img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; pointer-events: none; }
.in-track__body { padding: 22px 24px 26px; }
.in-track__body .in-ic { margin-top: -46px; position: relative; box-shadow: 0 0 0 5px #fff; background: var(--ia); color: #fff; }
.in-track h3 { margin: 16px 0 8px; font-size: 20px; }
.in-track__nav { display: flex; align-items: center; gap: 24px; margin-top: 28px; }
.in-prog { flex: 1; height: 3px; overflow: hidden; border-radius: 3px; background: var(--line); }
.in-prog i { display: block; height: 100%; background: var(--ia); transform: scaleX(.08); transform-origin: 0 50%; transition: transform .2s; }
/* Solutions: bento */
.in-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(210px, auto); gap: 16px; }
.in-bento > * { position: relative; overflow: hidden; margin: 0; padding: 26px; border-radius: 24px; border: 1px solid var(--line); background: #fff; }
.in-bento h3 { margin: 18px 0 8px; font-size: 19px; }
.in-bento__big { grid-column: span 2; grid-row: span 2; display: flex; flex-direction: column; justify-content: flex-end; border: 0 !important; color: #fff; isolation: isolate; }
.in-bento__big > img, .in-bento__photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.in-bento__big::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(5,6,13,.85), rgba(5,6,13,.1) 65%); }
.in-bento__big h3 { font-size: 28px; color: #fff; }
.in-bento__big p { color: rgba(255,255,255,.82) !important; max-width: 440px; }
.in-bento__big .in-ic { background: var(--ia); color: #fff; }
.in-bento__photo { grid-column: span 2; padding: 0 !important; border: 0 !important; min-height: 210px; }
.in-bento__cta { display: flex; flex-direction: column; justify-content: space-between; border: 0 !important; background: linear-gradient(140deg, var(--ia), color-mix(in srgb, var(--ia2) 70%, var(--ia))) !important; color: #fff; }
.in-bento__cta span { font-size: 15px; opacity: .85; }
.in-bento__cta strong { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-display); font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.in-bento__cta svg { width: 20px; height: 20px; transition: transform .35s var(--ease-out); }
.in-bento__cta:hover svg { transform: translateX(4px); }
/* Solutions: sticky photo with stacked rows */
.in-stack { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.in-stack__side { position: sticky; top: calc(var(--header-h) + 32px); }
.in-stack__side .x-h2 { margin-top: 16px; }
.in-stack__side .x-lead { margin-top: 18px; }
.in-stack__side img { display: block; width: 100%; aspect-ratio: 5 / 4; margin-top: 30px; object-fit: cover; border-radius: 26px; }
.in-stack__rows article { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 20px; padding: 28px 0; border-top: 1px solid var(--line); }
.in-stack__rows article:first-child { border-top: 0; padding-top: 0; }
.in-stack__rows .in-ic { width: 52px; height: 52px; border-radius: 16px; }
.in-stack__rows h3 { margin-bottom: 8px; font-size: 23px; }

/* Solutions: flip cards (photo front, details on the back) */
.in-flipg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.in-flipc { position: relative; aspect-ratio: 4 / 4.4; perspective: 1400px; border-radius: 24px; outline-offset: 4px; cursor: pointer; }
.in-flipc__in { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .8s var(--ease-out); }
.in-flipc:hover .in-flipc__in, .in-flipc:focus-within .in-flipc__in { transform: rotateY(180deg); }
.in-flipc__f, .in-flipc__b { position: absolute; inset: 0; overflow: hidden; border-radius: 24px; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.in-flipc__f img { width: 100%; height: 100%; object-fit: cover; }
.in-flipc__f::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,6,13,.82), transparent 55%); }
.in-flipc__f h3 { position: absolute; left: 24px; right: 64px; bottom: 22px; z-index: 1; font-size: 22px; color: #fff; }
.in-flipc__hint { position: absolute; right: 18px; bottom: 20px; z-index: 1; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.18); color: #fff; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.in-flipc__hint svg { width: 16px; height: 16px; }
.in-flipc__b { display: flex; flex-direction: column; padding: 30px 28px; background: linear-gradient(150deg, var(--ia), color-mix(in srgb, var(--ia2) 60%, var(--ia))); color: #fff; transform: rotateY(180deg); }
.in-flipc__b .in-ic { background: rgba(255,255,255,.18); color: #fff; }
.in-flipc__b h3 { margin: 22px 0 10px; font-size: 22px; }
.in-flipc__b p { font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,.88); }
.in-flipc__b a { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; font-weight: 600; color: #fff; }
.in-flipc__b a svg { width: 16px; height: 16px; }
/* Solutions: frosted glass cards over a photo */
.in-glass { overflow: hidden; isolation: isolate; color: #fff; }
.in-glass__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.in-glass::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(160deg, rgba(5,6,13,.9) 0%, rgba(5,6,13,.62) 55%, color-mix(in srgb, var(--ia) 55%, rgba(5,6,13,.7)) 100%); }
.in-glass .x-h2 { color: #fff; }
.in-glass .x-h2 em, .in-glass .x-k { color: var(--ia2); }
.in-glass .x-lead { color: rgba(238,241,255,.8); }
.in-glass__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.in-glass__grid article { padding: 28px; border-radius: 22px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.08); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); transition: background .35s, transform .45s var(--ease-out); }
.in-glass__grid article:hover { background: rgba(255,255,255,.14); transform: translateY(-4px); }
.in-glass__grid .in-ic { background: rgba(255,255,255,.14); color: #fff; }
.in-glass__grid h3 { margin: 22px 0 8px; font-size: 20px; color: #fff; }
.in-glass__grid p { font-size: 15px; line-height: 1.6; color: rgba(238,241,255,.78); }
/* Solutions: cards that stack as you scroll */
.in-stk { display: grid; gap: 26px; }
.in-stk article { position: sticky; top: calc(var(--header-h) + 20px + var(--k) * 16px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 380px; overflow: hidden; border-radius: 30px; border: 1px solid var(--line); background: #fff; box-shadow: 0 -24px 60px -40px rgba(10,12,24,.4); }
.in-stk article:nth-child(even) { background: color-mix(in srgb, var(--ia) 7%, #fff); }
.in-stk__txt { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 52px); }
.in-stk h3 { margin: 20px 0 10px; font-size: clamp(24px, 2.4vw, 30px); }
.in-stk p { font-size: 16px; line-height: 1.6; color: var(--text-2); }
.in-stk ul { display: grid; gap: 8px; margin: 18px 0 22px; padding: 0; list-style: none; }
.in-stk li { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; }
.in-stk li svg { width: 18px; height: 18px; color: var(--ia); }
.in-stk .k-link { color: var(--ia); }
.in-stk article > img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
/* Solutions: zigzag photo rows */
.in-zz { display: grid; gap: clamp(56px, 7vw, 110px); }
.in-zz__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.in-zz__row figure { margin: 0 20px 20px 0; aspect-ratio: 5 / 4; overflow: hidden; border-radius: 28px; box-shadow: 20px 20px 0 color-mix(in srgb, var(--ia) 16%, transparent); }
.in-zz__row:nth-child(even) figure { order: 2; margin: 0 0 20px 20px; box-shadow: -20px 20px 0 color-mix(in srgb, var(--ia2) 22%, transparent); }
.in-zz__row figure img { width: 100%; height: 100%; object-fit: cover; }
.in-zz article { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 18px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.in-zz article:last-child { border-bottom: 0; }
.in-zz article .in-ic { width: 52px; height: 52px; border-radius: 16px; }
.in-zz h3 { margin-bottom: 8px; font-size: 23px; }
.in-zz p { font-size: 15.5px; line-height: 1.6; color: var(--text-2); }
/* Solutions: expanding cards (the first is open until another is hovered or focused) */
.in-xp { display: flex; gap: 12px; height: 440px; }
.in-xp article { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 24px; overflow: hidden; border-radius: 24px; border: 1px solid color-mix(in srgb, var(--ia) 20%, transparent); background: color-mix(in srgb, var(--ia) 7%, #fff); cursor: pointer; outline-offset: 3px; transition: flex .7s var(--ease-out), background .5s, color .5s; }
.in-xp h3 { font-size: 19px; white-space: nowrap; writing-mode: vertical-rl; transform: rotate(180deg); }
.in-xp p { display: none; }
:is(.in-xp article:hover, .in-xp article:focus-within, .in-xp:not(:hover):not(:focus-within) article:first-child) { flex: 3.2; border-color: transparent; background: linear-gradient(155deg, var(--ia), color-mix(in srgb, var(--ia2) 65%, var(--ia))); color: #fff; }
:is(.in-xp article:hover, .in-xp article:focus-within, .in-xp:not(:hover):not(:focus-within) article:first-child) h3 { font-size: 26px; white-space: normal; writing-mode: horizontal-tb; transform: none; }
:is(.in-xp article:hover, .in-xp article:focus-within, .in-xp:not(:hover):not(:focus-within) article:first-child) p { display: block; max-width: 400px; margin-top: 10px; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.9); }
:is(.in-xp article:hover, .in-xp article:focus-within, .in-xp:not(:hover):not(:focus-within) article:first-child) .in-ic { background: rgba(255,255,255,.2); color: #fff; }
/* Solutions: list rows that show a photo following the pointer */
.in-rvl { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.in-rvl a { display: grid; grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr) 48px; gap: 24px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--line); transition: padding .5s var(--ease-out), background .4s; }
.in-rvl a:hover, .in-rvl a:focus-visible { padding-left: 18px; padding-right: 12px; background: color-mix(in srgb, var(--ia) 5%, transparent); }
.in-rvl strong { font-family: var(--f-display); font-size: clamp(22px, 2.6vw, 36px); font-weight: 600; line-height: 1.1; letter-spacing: -.035em; transition: color .3s; }
.in-rvl a:hover strong { color: var(--ia); }
.in-rvl span:not(.in-ic):not(.in-rvl__go) { font-size: 15.5px; line-height: 1.6; color: var(--text-2); }
.in-rvl__go { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line); transition: background .3s, color .3s, transform .5s var(--ease-out); }
.in-rvl__go svg { width: 18px; height: 18px; }
.in-rvl a:hover .in-rvl__go { background: var(--ia); border-color: var(--ia); color: #fff; transform: rotate(-45deg); }
/* Products: polaroid cards */
.in-pol { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px 22px; padding-top: 10px; }
.in-pol figure { position: relative; width: calc((100% - 110px) / 6); margin: 0; padding: 12px 12px 66px; background: #fff; box-shadow: 0 26px 50px -26px rgba(10,12,24,.45); transform: rotate(var(--r)); transition: transform .6s var(--ease-out), box-shadow .6s; }
.in-pol figure::before { content: ""; position: absolute; top: -12px; left: 50%; width: 90px; height: 26px; margin-left: -45px; background: color-mix(in srgb, var(--ia2) 45%, rgba(255,255,255,.6)); opacity: .8; transform: rotate(calc(var(--r) * -1.5)); }
.in-pol figure:hover { z-index: 1; transform: rotate(0) translateY(-10px) scale(1.04); box-shadow: 0 40px 70px -30px rgba(10,12,24,.5); }
.in-pol img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.in-pol figcaption { position: absolute; left: 12px; right: 12px; bottom: 12px; display: flex; align-items: center; justify-content: center; height: 46px; font-family: var(--f-serif); font-size: 18px; font-style: italic; line-height: 1.1; text-align: center; color: var(--text); }
/* Features: gradient-border cards */
.in-f2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.in-f2 li { display: flex; align-items: center; gap: 16px; padding: 24px; border: 1.5px solid transparent; border-radius: 20px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, var(--ia), var(--ia2)) border-box; font-family: var(--f-display); font-size: 18px; font-weight: 600; letter-spacing: -.02em; transition: transform .4s var(--ease-out), box-shadow .4s; }
.in-f2 li:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -30px color-mix(in srgb, var(--ia) 70%, transparent); }
.in-f2 li > span:first-child { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--ia), var(--ia2)); color: #fff; }
.in-f2 svg { width: 20px; height: 20px; stroke-width: 2.4 !important; }
/* Call-to-action: split card (photo + accent panel) */
.in-cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow: hidden; border-radius: 32px; background: linear-gradient(150deg, var(--ia), color-mix(in srgb, var(--ia2) 55%, var(--ia))); color: #fff; }
.in-cta > img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; }
.in-cta > div { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(32px, 5vw, 72px); }
.in-cta h2 { font-family: var(--f-display); font-size: clamp(30px, 3.4vw, 48px); font-weight: 600; line-height: 1.08; letter-spacing: -.04em; }
.in-cta h2 em { font-family: var(--f-serif); font-style: italic; font-weight: 400; }
.in-cta p { max-width: 460px; margin: 16px 0 30px; font-size: 17px; line-height: 1.6; color: rgba(255,255,255,.9); }

/* Apps: pill cloud beside a circular photo */
.in-apps { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.in-apps .x-h2 { margin-top: 16px; }
.in-apps .x-lead { margin-top: 18px; }
.in-pills { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 0; padding: 0; list-style: none; }
.in-pills li { display: inline-flex; align-items: center; gap: 10px; padding: 11px 18px 11px 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-family: var(--f-label); font-size: 15px; font-weight: 500; transition: border-color .3s, transform .35s var(--ease-out); }
.in-pills li:hover { border-color: var(--ia); transform: translateY(-2px); }
.in-pills svg { width: 18px; height: 18px; color: var(--ia); }
.in-apps__media { position: relative; justify-self: center; width: min(100%, 440px); aspect-ratio: 1; }
.in-apps__media::before { content: ""; position: absolute; inset: -20px; border-radius: 50%; border: 1.5px dashed color-mix(in srgb, var(--ia) 55%, transparent); animation: inSpin 50s linear infinite; }
.in-apps__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.in-apps__badge { position: absolute; left: -4%; bottom: 10%; display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px 12px 12px; border-radius: 999px; background: #fff; box-shadow: 0 20px 40px -20px rgba(10,12,24,.45); font-family: var(--f-label); font-size: 14px; }
.in-apps__badge svg { width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: var(--ia); color: #fff; }

/* Problem → solution: editorial layout — a sticky photo beside three plainly typeset entries separated by hairlines */
.ipx { background: #fff; }
.ipx__body { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.ipx__photo { position: sticky; top: calc(var(--header-h) + 32px); overflow: hidden; aspect-ratio: 4 / 5; margin: 0; border-radius: 20px; }
.ipx__photo img { width: 100%; height: 100%; object-fit: cover; }
.ipx__photo figcaption { position: absolute; left: 16px; right: 16px; bottom: 16px; padding: 12px 16px; border-radius: 12px; background: rgba(255,255,255,.94); font-size: 13.5px; line-height: 1.45; color: var(--text-2); }
.ipx__photo figcaption strong { color: var(--text); font-weight: 600; }
.ipx__list article { display: grid; grid-template-columns: minmax(0, 1fr) 132px; gap: 32px; padding: 36px 0; border-top: 1px solid var(--line); }
.ipx__list article:first-child { padding-top: 0; border-top: 0; }
.ipx__lbl, .ipx__tag { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .01em; }
.ipx__lbl::before, .ipx__tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ipx__lbl { background: #FDECEC; color: #C2353B; }
.ipx__tag { margin-top: 18px; background: color-mix(in srgb, var(--ia) 10%, #fff); color: var(--ia); }
.ipx__list h3 { margin-top: 12px; font-family: var(--f-display); font-size: clamp(22px, 2vw, 28px); font-weight: 600; line-height: 1.22; letter-spacing: -.025em; }
.ipx__fix { margin-top: 10px; font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--text); }
.ipx__res { margin-top: 18px; padding-left: 14px; border-left: 2px solid var(--ia); font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
.ipx__res strong { font-weight: 600; color: var(--text); }
.ipx__thumb { width: 132px; height: 100px; margin-top: 4px; object-fit: cover; border-radius: 14px; }
@media (max-width: 680px) {
  .ipx__list article { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ipx__thumb { display: none; }
}


/* Before/after compare: greyscale "before" on the left, colour "after" on the right */
.in-cmpw { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.in-cmpw .x-h2 { margin-top: 16px; }
.in-cmpw .x-lead { margin-top: 18px; }
.in-cmp { --pos: 50%; position: relative; overflow: hidden; aspect-ratio: 16 / 11; border-radius: 28px; user-select: none; box-shadow: 0 50px 90px -50px rgba(10,12,24,.55); }
.in-cmp img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.in-cmp__b { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.in-cmp__b img { filter: grayscale(1) contrast(.92) brightness(.82); }
.in-cmp__tag { position: absolute; top: 18px; left: 18px; padding: 8px 14px; border-radius: 999px; background: rgba(5,6,13,.62); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: #fff; pointer-events: none; }
.in-cmp__tag--b { left: auto; right: 18px; background: var(--ia); }
.in-cmp__line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; background: #fff; transform: translateX(-1px); pointer-events: none; }
.in-cmp__line i { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--ia); transform: translate(-50%, -50%); box-shadow: 0 10px 30px rgba(0,0,0,.3); }
.in-cmp__line svg { width: 22px; height: 22px; }
.in-cmp input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }

/* Outcomes */
.in-outs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.in-outs article { display: flex; flex-direction: column; min-height: 250px; padding: 30px 26px; border-radius: 24px; border: 1px solid color-mix(in srgb, var(--ia) 22%, transparent); background: linear-gradient(160deg, color-mix(in srgb, var(--ia) 10%, #fff), #fff 62%); }
.in-outs .in-ic { width: 54px; height: 54px; border-radius: 17px; background: var(--ia); color: #fff; }
.in-outs h3 { margin-top: auto; padding-top: 36px; margin-bottom: 8px; font-size: 24px; }

/* Features: overlapping photos beside a checklist */
.in-feat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.in-feat .x-h2 { margin-top: 16px; }
.in-feat .x-lead { margin-top: 18px; }
.in-feat__media { position: relative; padding-bottom: 12%; }
.in-feat__media img:first-child { display: block; width: 78%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 28px; }
.in-feat__media img:last-child { position: absolute; right: 0; bottom: 0; width: 50%; aspect-ratio: 1; object-fit: cover; border-radius: 24px; border: 8px solid #fff; box-shadow: 0 30px 60px -30px rgba(10,12,24,.5); }
.in-sec--paper .in-feat__media img:last-child { border-color: #F6F7F9; }
.in-feat__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 30px 0 0; padding: 0; list-style: none; }
.in-feat__list li { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px; border-radius: 16px; border: 1px solid var(--line); background: #fff; font-size: 15.5px; font-weight: 500; line-height: 1.45; }
.in-feat__list svg { flex: none; width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--ia); color: #fff; stroke-width: 2.6 !important; }

/* Gallery: photos that widen on hover or focus */
.in-gal { display: flex; gap: 14px; height: clamp(380px, 42vw, 540px); }
.in-gal figure { position: relative; flex: 1; min-width: 0; margin: 0; overflow: hidden; border-radius: 26px; cursor: pointer; outline-offset: 4px; transition: flex .8s var(--ease-out); }
.in-gal figure:hover, .in-gal figure:focus-visible { flex: 2.6; }
.in-gal img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.in-gal figcaption { position: absolute; inset: auto 0 0; padding: 70px 24px 24px; background: linear-gradient(0deg, rgba(5,6,13,.85), transparent); color: #fff; }
.in-gal strong { display: block; font-family: var(--f-display); font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.in-gal span { display: block; max-height: 0; margin-top: 0; overflow: hidden; font-size: 14.5px; line-height: 1.5; color: rgba(255,255,255,.82); opacity: 0; transition: max-height .6s var(--ease-out), opacity .4s, margin .4s; }
.in-gal figure:hover span, .in-gal figure:focus-visible span { max-height: 80px; margin-top: 8px; opacity: 1; }

/* Technology marquee */
.in-tech { display: grid; gap: 14px; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.in-tech__row { display: flex; gap: 14px; width: max-content; animation: inMarq 46s linear infinite; }
.in-tech__row--r { animation-direction: reverse; }
.in-tech:hover .in-tech__row { animation-play-state: paused; }
.in-tech__row > span { display: inline-flex; align-items: center; gap: 12px; padding: 12px 22px 12px 12px; border-radius: 16px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); font-family: var(--f-label); font-size: 16px; font-weight: 500; color: #EEF1FF; white-space: nowrap; }
.in-tech .k-tlogo { width: 34px; height: 34px; padding: 6px; border-radius: 10px; background: #fff; }
.in-tech .k-tlogo--mono { padding: 0; font-size: 10.5px; }
@keyframes inMarq { to { transform: translateX(-50%); } }

/* Delivery process: icons on a line (no step numbers) */
.in-proc { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.in-proc::before { content: ""; position: absolute; left: 10%; right: 10%; top: 31px; height: 2px; background: linear-gradient(90deg, var(--ia), var(--ia2)); opacity: .45; }
.in-proc li { position: relative; text-align: center; }
.in-proc .in-ic { width: 64px; height: 64px; margin: 0 auto 22px; border-radius: 50%; border: 2px solid var(--ia); background: #fff; box-shadow: 0 0 0 8px #fff; }
.in-sec--paper .in-proc .in-ic { box-shadow: 0 0 0 8px #F6F7F9; }
.in-proc h3 { margin-bottom: 8px; font-size: 19px; }

/* Statement band over a photo */
.in-quote { position: relative; overflow: hidden; isolation: isolate; padding: clamp(100px, 12vw, 180px) 0; color: #fff; }
.in-quote > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.in-quote::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, rgba(5,6,13,.86) 10%, rgba(5,6,13,.4) 60%, color-mix(in srgb, var(--ia) 40%, transparent)); }
.in-quote .x-k { color: var(--ia2); }
.in-quote h2 { max-width: 15ch; margin-top: 18px; font-family: var(--f-display); font-size: clamp(36px, 4.6vw, 68px); font-weight: 600; line-height: 1.04; letter-spacing: -.04em; }
.in-quote h2 em { font-family: var(--f-serif); font-style: italic; font-weight: 400; color: var(--ia2); }
.in-quote p { max-width: 540px; margin: 22px 0 34px; font-size: 18px; line-height: 1.6; color: rgba(238,241,255,.85); }

/* Why Pyzen (dark) */
.in-why { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.in-why .x-h2 { margin-top: 16px; }
.in-why .x-lead { margin-top: 18px; }
.in-why__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 36px; }
.in-why__grid article { padding: 24px; border-radius: 20px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); }
.in-why__grid .in-ic { background: color-mix(in srgb, var(--ia2) 18%, transparent); color: var(--ia2); }
.in-why__grid h3 { margin: 18px 0 6px; font-size: 19px; color: #fff; }
.in-why__grid p { font-size: 14.5px; line-height: 1.55; color: var(--on-dark-2); }
.in-why__media { position: relative; aspect-ratio: 4 / 5; }
.in-why__media img:first-child { position: absolute; top: 0; right: 0; width: 82%; height: 84%; object-fit: cover; border-radius: 28px; }
.in-why__media img:last-child { position: absolute; left: 0; bottom: 0; width: 54%; aspect-ratio: 1; object-fit: cover; border-radius: 24px; border: 8px solid var(--ink-950); }

/* "All industries" hub */
.inh-hero { min-height: 78svh; display: flex; align-items: center; }
.inh-hero { padding-bottom: clamp(120px, 12vw, 160px); }
.inh-vid { position: absolute; inset: 0; z-index: -2; background: var(--ink-950); }
.inh-vid video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.inh-vid video.is-on { opacity: 1; }
.inh-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--hero-shade); }
.inh-hero h1, .inh-hero .in-lead { text-shadow: 0 2px 24px rgba(0,0,0,.45); }
.inh-clips { position: absolute; left: 0; right: 0; bottom: clamp(26px, 3vw, 40px); }
.inh-clips .x-wrap { display: flex; gap: 14px; overflow-x: auto; scrollbar-width: none; }
.inh-clips .x-wrap::-webkit-scrollbar { display: none; }
.inh-clips a { position: relative; flex: 1 0 118px; max-width: 200px; white-space: nowrap; padding-top: 14px; font-family: var(--f-label); font-size: 14.5px; font-weight: 500; color: rgba(255,255,255,.62); transition: color .3s; }
.inh-clips a::before, .inh-clips i { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; border-radius: 2px; background: rgba(255,255,255,.25); }
.inh-clips i { background: #fff; transform: scaleX(0); transform-origin: 0 50%; }
.inh-clips a.is-on, .inh-clips a:hover { color: #fff; }
.inh-clips a.is-on i { animation: inhFill 7s linear forwards; }
@keyframes inhFill { to { transform: scaleX(1); } }
.inh-hero h1 { max-width: 14ch; }
.inh-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 34px; }
.inh-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.inh-filter button { padding: 11px 18px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-family: var(--f-label); font-size: 14.5px; font-weight: 500; color: var(--text-2); transition: background .3s, color .3s, border-color .3s; }
.inh-filter button:hover { color: var(--text); border-color: var(--text); }
.inh-filter button[aria-pressed="true"] { border-color: var(--text); background: var(--text); color: #fff; }
.inh-search { position: relative; display: block; }
.inh-search svg { position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; color: var(--text-2); transform: translateY(-50%); pointer-events: none; }
.inh-search input { width: min(320px, 80vw); padding: 13px 18px 13px 44px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 15px; }
.inh-search input:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
.inh-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.inh-card { position: relative; display: block; overflow: hidden; isolation: isolate; aspect-ratio: 3 / 4; border-radius: 24px; color: #fff; }
.inh-card[hidden] { display: none !important; }
[hidden] { display: none !important; }
.inh-card > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out); }
.inh-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(5,6,13,.92) 0%, rgba(5,6,13,.35) 55%, rgba(5,6,13,.05)); transition: background .4s; }
.inh-card:hover > img { transform: scale(1.07); }
.inh-card:hover::before { background: linear-gradient(0deg, rgba(5,6,13,.94) 0%, color-mix(in srgb, var(--ia) 45%, transparent) 70%, rgba(5,6,13,.05)); }
.inh-card__go { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #fff; color: var(--text); opacity: 0; transform: scale(.8) rotate(-45deg); transition: opacity .35s, transform .45s var(--ease-out); }
.inh-card__go svg { width: 18px; height: 18px; }
.inh-card:hover .inh-card__go, .inh-card:focus-visible .inh-card__go { opacity: 1; transform: none; }
.inh-card__body { position: absolute; inset: auto 0 0; display: grid; gap: 6px; padding: 22px; }
.inh-card__body small { font-family: var(--f-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ia2); }
.inh-card__body strong { font-family: var(--f-display); font-size: 22px; font-weight: 600; line-height: 1.15; letter-spacing: -.02em; }
.inh-card__body > span { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.8); }
.inh-none { margin-top: 24px; font-size: 16px; color: var(--text-2); }

@media (max-width: 1180px) {
  .inh-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .in-outs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .in-tabs, .in-stack, .in-apps, .in-cmpw, .in-feat, .in-why, .in-bleed, .in-zz__row, .in-stk article, .in-cta { grid-template-columns: minmax(0, 1fr); }
  .in-bleed__tags { justify-items: start; grid-auto-flow: row; }
  .in-grid, .in-flipg, .in-glass__grid, .in-f2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .in-pol figure { width: calc((100% - 44px) / 3); }
  .in-zz__row:nth-child(even) figure { order: 0; }
  .ipx__body, .incs__grid, .intm__wrap { grid-template-columns: minmax(0, 1fr); }
  .ipx__photo { position: relative; top: auto; aspect-ratio: 16 / 10; }
  .inp__card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inp__card > div:nth-child(3) { border-left: 0; }
  .inp__card > div:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .in-stk article { position: relative; top: auto; }
  .in-xp { flex-direction: column; height: auto; }
  .in-xp article { flex: none !important; border-color: transparent; background: linear-gradient(155deg, var(--ia), color-mix(in srgb, var(--ia2) 65%, var(--ia))); color: #fff; }
  .in-xp article h3 { font-size: 22px; white-space: normal; writing-mode: horizontal-tb; transform: none; margin-top: 16px; }
  .in-xp article p { display: block; margin-top: 8px; color: rgba(255,255,255,.9); }
  .in-xp article .in-ic { background: rgba(255,255,255,.2); color: #fff; }
  .in-rvl a { grid-template-columns: 48px minmax(0, 1fr) 44px; gap: 16px; }
  .in-rvl span:not(.in-ic):not(.in-rvl__go) { grid-column: 2; grid-row: 2; }
  .in-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .in-stack__side { position: static; }
  .in-proc { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .in-proc::before { left: 31px; right: auto; top: 10px; bottom: 10px; width: 2px; height: auto; background: linear-gradient(var(--ia), var(--ia2)); }
  .in-proc li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 0 20px; text-align: left; align-items: start; }
  .in-proc .in-ic { grid-row: span 2; margin: 0; }
  .in-gal { flex-direction: column; height: auto; }
  .in-gal figure { flex: none !important; height: 240px; }
  .in-gal span { max-height: none; margin-top: 8px; opacity: 1; }
  .in-why__media { max-width: 480px; }
  .inh-clips a { font-size: 12.5px; }
}
@media (max-width: 680px) {
  .in-grid, .in-outs, .in-feat__list, .in-why__grid, .in-bento, .in-flipg, .in-glass__grid, .in-f2 { grid-template-columns: minmax(0, 1fr); }
  .in-pol figure { width: calc(50% - 12px); padding-bottom: 46px; }
  .in-pol figcaption { font-size: 17px; }
  .in-bento__big, .in-bento__photo { grid-column: auto; grid-row: auto; min-height: 320px; }
  .inh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .inh-card__body { padding: 16px; } .inh-card__body strong { font-size: 18px; } .inh-card__body > span { display: none; }
}
@media (max-width: 420px) {
  .inh-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .in-apps__media::before, .in-tech__row, .in-bleed__bg { animation: none !important; }
  .in-flipc__in, .in-xp article { transition: none; }
  .intm::before, .intm__marq > div { animation: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ki-ai__pulse { display: none; }
  .ki-ai__bdot, .ki-ai__halo, .ki-ai__ic,.ka-hero__aurora i, .ka-rot > span, .ka-hero__pills li, .ka-auto__orb, .ka-auto__ring, .ka-glow::before, .kd-scan__beam, .kd-drop__ic, .kd-flow__arrow svg, .kp-ui-bars i, .ki-term__cur, .kp-secure__ic::before, .ki-mq__t { animation: none !important; }
  .kp-type { width: auto; border: 0; animation: none; }
  .k-hacc__p, .ka-flip__in { transition: none; }
}

/* ==========================================================================
   AI by Industry — AI for BFSI (kb-, navy and gold), Healthcare (kh-, calm sky blue), Logistics (kl-, asphalt and
   amber) and Retail (kr-, cream and coral). Photography-led components; shared parts come from the k- kit above.
   ========================================================================== */
.kh-hero .x-crumbs, .kr-hero .x-crumbs { color: var(--text-3); flex-wrap: wrap; }
.kb-hero .x-crumbs, .kl-hero .x-crumbs { color: rgba(255,255,255,.6); flex-wrap: wrap; }
.kb-hero h1, .kh-hero h1, .kl-hero h1, .kr-hero h1 { font-size: clamp(40px, 4.8vw, 72px); line-height: 1.02; letter-spacing: -.045em; }
.kb-hero .x-hero__ctas, .kh-hero .x-hero__ctas, .kl-hero .x-hero__ctas, .kr-hero .x-hero__ctas { margin-top: 34px; }
.kb-hero__lead, .kh-hero__lead, .kl-hero__lead, .kr-hero__lead { margin-top: 24px; max-width: 540px; font-size: clamp(16.5px, 1.3vw, 19px); line-height: 1.65; color: var(--text-2); }
.kb-hero__lead, .kl-hero__lead { color: var(--on-dark-2); }

/* ---------- AI for BFSI ---------- */
.kb-navy { background: #0A1330; }
.acp--bfsi .ac-trust { background: #0A1330; }
.kb-navy .x-h2 em, .kb-hero h1 em, .kb-stage .x-h2 em { color: #E9B949; }
.kb-navy .x-k, .kb-hero .x-k, .kb-stage .x-k { color: #E9B949; }
.kb-hero { position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--header-h) + clamp(48px, 6vw, 90px)) 0 0; background: radial-gradient(900px 600px at 80% 30%, rgba(47,107,255,.25), transparent 70%), #0A1330; color: #fff; }
.kb-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: center; padding-bottom: clamp(56px, 6vw, 88px); }
.kb-hero .x-k { margin-bottom: 20px; }
.kb-hero h1 { color: #fff; }
.kb-stack { position: relative; height: clamp(380px, 38vw, 520px); }
.kb-stack img, .kb-alert, .kb-chip { transition: translate .6s var(--ease-out); }
.kb-stack img { position: absolute; object-fit: cover; border-radius: 22px; box-shadow: 0 40px 80px -40px rgba(0,0,0,.8); }
.kb-stack__a { left: 6%; top: 6%; width: 68%; height: 62%; transform: rotate(-3deg); }
.kb-stack__b { right: 0; top: 32%; width: 48%; height: 44%; transform: rotate(4deg); border: 4px solid #0A1330; }
.kb-stack__c { left: 0; bottom: 0; width: 44%; height: 36%; transform: rotate(2deg); border: 4px solid #0A1330; }
.kb-alert { position: absolute; right: 2%; top: 0; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px; border-radius: 16px; background: rgba(255,255,255,.96); color: var(--text); box-shadow: 0 24px 50px -20px rgba(0,0,0,.6); animation: kbFloat 5s ease-in-out infinite; }
.kb-alert__ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #FFF1DD; color: #C77700; }
.kb-alert__ic svg { width: 20px; height: 20px; }
.kb-alert strong { display: block; font-family: var(--f-label); font-size: 14px; }
.kb-alert small { font-size: 12.5px; color: var(--text-3); }
.kb-chip { position: absolute; left: 36%; bottom: 6%; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: #E9B949; color: #0A1330; font-family: var(--f-label); font-size: 13.5px; font-weight: 700; box-shadow: 0 20px 40px -18px rgba(0,0,0,.6); animation: kbFloat 6s ease-in-out -2s infinite; }
.kb-chip svg { width: 16px; height: 16px; stroke-width: 2.6; }
@keyframes kbFloat { 50% { transform: translateY(-8px); } }
.kb-tape { overflow: hidden; padding: 15px 0; border-top: 1px solid var(--line-dark); background: rgba(255,255,255,.03); }
.kb-tape__t { display: flex; gap: 44px; width: max-content; animation: acMarq 50s linear infinite; }
.kb-tape span { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: 13px; color: var(--on-dark-2); white-space: nowrap; }
.kb-tape b { font-weight: 500; color: #fff; }
.kb-tape i { width: 8px; height: 8px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 4px rgba(34,197,94,.16); }
.kb-tape .is-warn i { background: #F59E0B; box-shadow: 0 0 0 4px rgba(245,158,11,.16); }
.kb-tape .is-info i { background: var(--teal); box-shadow: 0 0 0 4px rgba(94,242,225,.16); }
.kb-reveal { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-dark-2); }
.kb-reveal a { display: grid; grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1fr) 48px; gap: 24px; align-items: center; padding: 30px 0; border-bottom: 1px solid var(--line-dark-2); color: var(--on-dark); transition: padding .5s var(--ease-out); }
.kb-reveal a:hover, .kb-reveal a:focus-visible { padding-left: 18px; }
.kb-reveal__tag { justify-self: start; padding: 5px 10px; border-radius: 999px; border: 1px solid rgba(233,185,73,.4); color: #E9B949; font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; }
.kb-reveal strong { font-family: var(--f-display); font-size: clamp(24px, 3vw, 42px); font-weight: 600; line-height: 1.05; letter-spacing: -.04em; color: #fff; transition: color .3s; }
.kb-reveal a:hover strong, .kb-reveal a:focus-visible strong { color: #E9B949; }
.kb-reveal__d { font-size: 15.5px; line-height: 1.6; color: var(--on-dark-2); }
.kb-reveal__go { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line-dark-2); transition: background .3s, border-color .3s, color .3s, transform .5s var(--ease-out); }
.kb-reveal__go svg { width: 18px; height: 18px; stroke-width: 1.9; }
.kb-reveal a:hover .kb-reveal__go { background: #E9B949; border-color: #E9B949; color: #0A1330; transform: rotate(-45deg); }
.kb-reveal__thumb { display: none; }
.kb-reveal__float { position: fixed; left: 0; top: 0; z-index: 40; width: 300px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(.8) rotate(-4deg); box-shadow: 0 40px 80px -30px rgba(0,0,0,.7); transition: opacity .3s, transform .45s var(--ease-out); }
.kb-reveal__float.is-on { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(-4deg); }
.kb-stage { position: relative; overflow: hidden; isolation: isolate; padding: clamp(80px, 9vw, 130px) 0; background: #0A1330; color: #fff; }
.kb-stage__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); transition: opacity 1s var(--ease), transform 7s linear; }
.kb-stage__bg.is-on { opacity: 1; transform: scale(1); }
.kb-stage::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10,19,48,.95) 0%, rgba(10,19,48,.8) 45%, rgba(10,19,48,.5) 100%); }
.kb-stage .x-h2 { max-width: 14ch; margin-top: 18px; color: #fff; }
.kb-stage__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 72px); align-items: start; margin-top: clamp(36px, 4.5vw, 56px); }
.kb-stage__tabs { display: grid; }
.kb-stage__tabs button { position: relative; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.14); text-align: left; font-family: var(--f-display); font-size: clamp(18px, 1.6vw, 22px); font-weight: 600; letter-spacing: -.02em; color: rgba(238,241,255,.5); transition: color .3s, padding .4s var(--ease-out); }
.kb-stage__tabs button:last-child { border-bottom: 1px solid rgba(255,255,255,.14); }
.kb-stage__tabs button:hover { color: #fff; }
.kb-stage__tabs button[aria-selected="true"] { padding-left: 14px; color: #fff; }
.kb-stage__tabs i { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #E9B949; transform: scaleX(0); transform-origin: 0 50%; }
.kb-stage:not(.is-run) [aria-selected="true"] i { transform: none; }
.kb-stage.is-run [aria-selected="true"] i { animation: kaFill var(--dur, 7s) linear forwards; }
.kb-stage__panel { padding: clamp(26px, 3.5vw, 44px); border-radius: 26px; background: rgba(10,19,48,.55); border: 1px solid rgba(255,255,255,.14); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); --k-tick: #E9B949; }
.kb-stage__panel.is-in { animation: acPanel .6s var(--ease-out) both; }
.kb-stage__panel .ac-ic { background: rgba(233,185,73,.14); color: #E9B949; }
.kb-stage__panel h3 { margin-top: 20px; font-size: clamp(26px, 2.6vw, 36px); letter-spacing: -.035em; color: #fff; }
.kb-stage__panel > p { margin-top: 12px; font-size: 16.5px; line-height: 1.65; color: rgba(238,241,255,.82); }
.kb-stage__panel .k-ticks { grid-template-columns: 1fr 1fr; gap: 12px 24px; margin: 22px 0 28px; color: #fff; }
.kb-switch { max-width: 980px; margin: 0 auto; }
.kb-switch__bar { display: flex; align-items: center; justify-content: center; gap: 18px; margin-bottom: 34px; font-family: var(--f-label); font-size: 15px; font-weight: 600; color: var(--text-3); }
.kb-switch__bar span { transition: color .3s; }
.kb-switch:not(.is-on) .kb-switch__bar span:first-child, .kb-switch.is-on .kb-switch__bar span:last-child { color: var(--text); }
.kb-switch__btn { position: relative; width: 72px; height: 38px; border-radius: 999px; background: #D7DAE3; transition: background .4s; }
.kb-switch.is-on .kb-switch__btn { background: #0A1330; }
.kb-switch__btn i { position: absolute; left: 4px; top: 4px; width: 30px; height: 30px; border-radius: 50%; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,.2); transition: transform .5s var(--ease-out), background .4s; }
.kb-switch.is-on .kb-switch__btn i { transform: translateX(34px); background: #E9B949; }
.kb-switch__rows { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.kb-switch__rows li { display: grid; grid-template-columns: minmax(0, .45fr) minmax(0, 1.55fr); gap: 20px; align-items: center; padding: 20px 24px; border-radius: 18px; background: #fff; border: 1px solid var(--line); transition: background .5s, border-color .5s; transition-delay: calc(var(--k) * 90ms); }
.kb-switch.is-on .kb-switch__rows li { background: #0A1330; border-color: #0A1330; }
.kb-switch__rows strong { font-family: var(--f-display); font-size: 17px; letter-spacing: -.02em; transition: color .5s; transition-delay: inherit; }
.kb-switch.is-on .kb-switch__rows strong { color: #E9B949; }
.kb-switch__cell { display: grid; }
.kb-switch__cell p { grid-area: 1 / 1; font-size: 15.5px; line-height: 1.55; transition: opacity .4s, transform .5s var(--ease-out); transition-delay: inherit; }
.kb-switch__off { color: var(--text-2); }
.kb-switch__on { color: #fff; opacity: 0; transform: translateY(10px); }
.kb-switch.is-on .kb-switch__off { opacity: 0; transform: translateY(-10px); }
.kb-switch.is-on .kb-switch__on { opacity: 1; transform: none; }
.kb-tl { display: grid; grid-auto-flow: column; grid-auto-columns: min(340px, 80vw); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; list-style: none; margin: 0; padding: 6px max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter))) 10px; scroll-padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter))); cursor: grab; }
.kb-tl::-webkit-scrollbar { display: none; }
.kb-tl li { scroll-snap-align: start; }
.kb-tl figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 20px; }
.kb-tl img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; transition: transform .8s var(--ease-out); }
.kb-tl li:hover img { transform: scale(1.06); }
.kb-tl__dot { position: relative; display: block; height: 2px; margin: 26px 0 22px; background: var(--line-dark-2); }
.kb-tl li:not(:last-child) .kb-tl__dot { margin-right: -22px; }
.kb-tl__dot::before { content: ""; position: absolute; left: 0; top: -6px; width: 14px; height: 14px; border-radius: 50%; background: #E9B949; box-shadow: 0 0 0 6px rgba(233,185,73,.18); }
.kb-tl h3 { font-size: 20px; letter-spacing: -.025em; color: #fff; }
.kb-tl p { margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--on-dark-2); }
.kb-navy .k-progress { background: var(--line-dark-2); }
.kb-seals { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; list-style: none; margin: 0; padding: 0; }
.kb-seals li { position: relative; display: grid; justify-items: center; align-content: start; text-align: center; }
.kb-seals svg { width: 100%; max-width: 150px; aspect-ratio: 1; animation: kaSpin 24s linear infinite; }
.kb-seals text { font-family: var(--f-mono); font-size: 8.2px; letter-spacing: 1.8px; fill: var(--text-3); }
.kb-seals b { position: absolute; top: 0; left: 50%; z-index: 0; display: grid; place-items: center; width: min(100%, 150px); aspect-ratio: 1; transform: translateX(-50%); font-family: var(--f-display); font-size: 16px; letter-spacing: -.02em; color: #fff; }
.kb-seals b::before { content: ""; position: absolute; inset: 21%; z-index: -1; border-radius: 50%; background: #0A1330; transition: background .3s, transform .5s var(--ease-out); }
.kb-seals li:hover b { color: #0A1330; }
.kb-seals li:hover b::before { background: #E9B949; transform: scale(1.08); }
.kb-seals span { margin-top: 12px; font-size: 13.5px; line-height: 1.5; color: var(--text-2); }

/* ---------- AI for Healthcare ---------- */
.kh-soft { background: #F2F7FB; }
.acp--health .ac-ic { background: #E4F0FB; color: #1E6FB8; }
.kh-hero { position: relative; overflow: hidden; padding: calc(var(--header-h) + clamp(48px, 6vw, 90px)) 0 clamp(56px, 7vw, 96px); background: radial-gradient(800px 500px at 85% 20%, rgba(56,163,232,.16), transparent 70%), #F7FBFE; }
.kh-hero__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 4vw, 64px); align-items: center; }
.kh-hero .x-k { margin-bottom: 20px; color: #1E6FB8; }
.kh-hero h1 em { color: #1E88D6; }
.kh-visual { position: relative; padding: 20px 0 30px 40px; }
.kh-visual__img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 220px 28px 28px 28px; box-shadow: 0 50px 90px -50px rgba(20,60,100,.5); }
.kh-float { position: absolute; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 18px; background: rgba(255,255,255,.93); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 24px 50px -24px rgba(20,60,100,.45); font-family: var(--f-label); animation: kbFloat 6s ease-in-out infinite; }
.kh-float--a { left: 0; top: 34%; flex-direction: column; align-items: flex-start; gap: 6px; width: 230px; }
.kh-float--b { right: -10px; bottom: 6%; animation-delay: -2s; }
.kh-float--c { right: 8%; top: 4%; font-size: 13px; font-weight: 600; animation-delay: -4s; }
.kh-float--c svg { width: 18px; height: 18px; color: #1E88D6; }
.kh-float--a small { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.kh-float strong { font-size: 14.5px; }
.kh-float--b small { display: block; font-size: 12.5px; color: var(--text-3); }
.kh-ecg { width: 100%; height: 40px; fill: none; stroke: #E5484D; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 300; animation: khEcg 2.6s linear infinite; }
@keyframes khEcg { from { stroke-dashoffset: 300; } to { stroke-dashoffset: -300; } }
.kh-pill { padding: 4px 10px; border-radius: 999px; background: #FDECEC; color: #C2262E; font-size: 12px; font-weight: 700; }
.kh-tick { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #16A34A; color: #fff; }
.kh-tick svg { width: 18px; height: 18px; stroke-width: 2.6; }
.acp--health .ac-trust { background: #F7FBFE; }
.kh-mosaic { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 230px; gap: 14px; }
.kh-mosaic__t--0 { grid-column: span 2; grid-row: span 2; }
.kh-mosaic__t--3, .kh-mosaic__t--4, .kh-mosaic__t--5 { grid-column: span 2; }
.kh-mosaic__t { position: relative; isolation: isolate; overflow: hidden; margin: 0; border-radius: 24px; outline: none; }
.kh-mosaic__t img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out); }
.kh-mosaic__t::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 30%, rgba(6,30,50,.9)); }
.kh-mosaic__t:hover img, .kh-mosaic__t:focus-visible img { transform: scale(1.07); }
.kh-mosaic__t:focus-visible { box-shadow: 0 0 0 3px #1E88D6; }
.kh-mosaic figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px; color: #fff; }
.kh-mosaic figcaption span { display: inline-block; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.18); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.kh-mosaic strong { display: block; margin-top: 10px; font-family: var(--f-display); font-size: clamp(19px, 1.7vw, 24px); letter-spacing: -.025em; }
.kh-mosaic p { max-height: 0; margin-top: 0; overflow: hidden; opacity: 0; font-size: 14.5px; line-height: 1.55; color: rgba(255,255,255,.86); transition: max-height .5s var(--ease-out), opacity .4s, margin .4s; }
.kh-mosaic__t:hover p, .kh-mosaic__t:focus-visible p, .kh-mosaic__t--0 p { max-height: 90px; margin-top: 8px; opacity: 1; }
.kh-acc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.kh-acc__item { border-bottom: 1px solid var(--line); }
.kh-acc__item:first-child { border-top: 1px solid var(--line); }
.kh-acc__item > button { display: grid; grid-template-columns: 48px minmax(0, 1fr) 28px; gap: 16px; align-items: center; width: 100%; padding: 20px 0; text-align: left; }
.kh-acc__item strong { font-family: var(--f-display); font-size: clamp(18px, 1.6vw, 21px); font-weight: 600; letter-spacing: -.02em; transition: color .3s; }
.kh-acc__item > button:hover strong, .kh-acc__item > button[aria-selected="true"] strong { color: #1E6FB8; }
.kh-acc__pm { position: relative; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--line-2); transition: transform .4s var(--ease-out), background .3s, border-color .3s, color .3s; }
.kh-acc__pm::before, .kh-acc__pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 2px; margin: -1px 0 0 -5px; background: currentColor; }
.kh-acc__pm::after { transform: rotate(90deg); }
[aria-selected="true"] .kh-acc__pm { transform: rotate(45deg); background: #1E6FB8; border-color: #1E6FB8; color: #fff; }
.kh-acc__panel { padding: 0 0 26px 64px; --k-tick: #1E88D6; }
.kh-acc__panel.is-in { animation: acPanel .5s var(--ease-out) both; }
.kh-acc__panel > p { font-size: 16px; line-height: 1.6; color: var(--text-2); }
.kh-acc__panel .k-ticks { margin: 16px 0 20px; }
.kh-acc__media { position: sticky; top: calc(var(--header-h) + 40px); aspect-ratio: 4 / 5; overflow: hidden; border-radius: 28px 28px 160px 28px; background: #DCEAF6; }
.kh-acc__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity .7s var(--ease), transform 1.2s var(--ease-out); }
.kh-acc__media img.is-on { opacity: 1; transform: none; }
.kh-journey { position: relative; height: 350px; }
.kh-journey__path { position: absolute; left: 0; top: 0; width: 100%; height: 220px; overflow: visible; }
.kh-journey__path path { fill: none; stroke: #1E88D6; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 3000; stroke-dashoffset: 3000; vector-effect: non-scaling-stroke; transition: stroke-dashoffset 2.6s var(--ease); }
.kh-journey.is-in path { stroke-dashoffset: 0; }
.kh-journey ol { list-style: none; margin: 0; padding: 0; }
.kh-journey li { position: absolute; left: var(--x); top: var(--y); width: 180px; transform: translate(-50%, -28px); text-align: center; }
.kh-journey__dot { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto; border-radius: 50%; background: #fff; border: 2px solid #1E88D6; color: #1E6FB8; box-shadow: 0 0 0 8px rgba(30,136,214,.1); transform: scale(0); transition: transform .6s var(--ease-out); transition-delay: calc(.3s + var(--k) * .35s); }
.kh-journey__dot svg { width: 24px; height: 24px; }
.kh-journey.is-in .kh-journey__dot { transform: none; }
.kh-journey h3 { margin-top: 14px; font-size: 17.5px; letter-spacing: -.02em; }
.kh-journey p { margin-top: 6px; font-size: 14px; line-height: 1.55; color: var(--text-2); }
.kh-std { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.kh-std .x-h2 { margin-top: 18px; }
.kh-std .x-lead { margin-top: 22px; }
.kh-std ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.kh-std li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 22px; border-radius: 20px; background: #fff; border: 1px solid var(--line); transition: border-color .3s, transform .5s var(--ease-out); }
.kh-std li:hover { border-color: rgba(30,136,214,.4); transform: translateY(-3px); }
.kh-std strong { font-family: var(--f-display); font-size: 18px; letter-spacing: -.02em; }
.kh-std p { margin-top: 4px; font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
.kh-banner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow: hidden; border-radius: var(--r-xl); background: #0B2A45; color: #fff; }
.kh-banner img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.kh-banner > div { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 16px; padding: clamp(32px, 4.5vw, 60px); }
.kh-banner h2 { font-size: clamp(30px, 3.4vw, 50px); line-height: 1.05; letter-spacing: -.04em; color: #fff; }
.kh-banner h2 em { color: #7CC4F5; }
.kh-banner p { max-width: 460px; font-size: 16.5px; line-height: 1.6; color: rgba(238,241,255,.82); }

/* ---------- AI for Logistics ---------- */
.kl-asphalt { background: #0E1116; }
.acp--logi .ac-trust { background: #0E1116; }
.kl-asphalt .x-h2 em, .kl-hero h1 em { color: #FFB020; }
.kl-asphalt .x-k, .kl-hero .x-k { color: #FFB020; }
.kl-hero { position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--header-h) + clamp(48px, 6vw, 90px)) 0 clamp(56px, 7vw, 96px); background: #0E1116; color: #fff; }
.kl-hero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; opacity: .5; animation: acZoom 18s var(--ease) both; }
.kl-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(14,17,22,.96), rgba(14,17,22,.72) 50%, rgba(14,17,22,.5)); }
.kl-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: center; }
.kl-hero .x-k { margin-bottom: 20px; }
.kl-hero h1 { color: #fff; }
.kl-map { position: relative; }
.kl-map svg { display: block; width: 100%; height: auto; overflow: visible; }
.kl-route { fill: none; stroke: rgba(255,176,32,.4); stroke-width: 2; stroke-dasharray: 6 8; animation: kiDash 1.4s linear infinite; }
.kl-truck { fill: #FFB020; filter: drop-shadow(0 0 6px rgba(255,176,32,.9)); }
.kl-city circle { fill: #0E1116; stroke: #FFB020; stroke-width: 2.5; }
.kl-city .halo { fill: rgba(255,176,32,.2); stroke: none; transform-box: fill-box; transform-origin: center; animation: kiRing 2.8s ease-out infinite; }
.kl-city text { fill: #fff; font-family: var(--f-label); font-size: 14px; font-weight: 600; paint-order: stroke; stroke: rgba(14,17,22,.8); stroke-width: 4px; }
.kl-eta { position: absolute; right: 0; top: 0; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 14px; background: rgba(255,255,255,.96); color: var(--text); font-family: var(--f-label); box-shadow: 0 24px 50px -20px rgba(0,0,0,.6); animation: kbFloat 5s ease-in-out infinite; }
.kl-eta i { width: 10px; height: 10px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 5px rgba(34,197,94,.2); }
.kl-eta strong { display: block; font-size: 13.5px; }
.kl-eta small { font-size: 12px; color: var(--text-3); }
.kl-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.kl-cards article { position: relative; isolation: isolate; overflow: hidden; aspect-ratio: 4 / 5; border-radius: 22px; outline: none; }
.kl-cards img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); transition: transform 1s var(--ease-out), filter .6s; }
.kl-cards article::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14,17,22,0) 30%, rgba(14,17,22,.94)); }
.kl-cards article > div { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px; transform: translateY(calc(100% - 92px)); transition: transform .6s var(--ease-out); }
.kl-cards h3 { font-size: 22px; letter-spacing: -.025em; color: #fff; }
.kl-cards h3::before { content: ""; display: block; width: 32px; height: 3px; margin-bottom: 14px; background: #FFB020; }
.kl-cards p { margin-top: 10px; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.86); opacity: 0; transition: opacity .4s .1s; }
.kl-cards article:hover > div, .kl-cards article:focus-visible > div { transform: none; }
.kl-cards article:hover p, .kl-cards article:focus-visible p { opacity: 1; }
.kl-cards article:hover img, .kl-cards article:focus-visible img { transform: scale(1.08); filter: saturate(1.05); }
.kl-cards article:focus-visible { box-shadow: 0 0 0 3px #FFB020; }
.kl-track__bar { position: relative; height: 100px; margin: 0 clamp(36px, 5vw, 70px) 26px; }
.kl-track__line { position: absolute; left: 0; right: 0; top: 46px; height: 6px; overflow: hidden; border-radius: 6px; background: #E6E8EE; }
.kl-track__line i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #FFB020, #FF7A1A); transform: scaleX(calc(var(--i, 0) / (var(--n) - 1))); transform-origin: 0 50%; transition: transform .9s var(--ease-out); }
.kl-track__truck { position: absolute; top: 0; left: calc(var(--i, 0) * 100% / (var(--n) - 1)); z-index: 2; display: grid; place-items: center; width: 46px; height: 34px; margin-left: -23px; border-radius: 10px; background: #0E1116; color: #FFB020; box-shadow: 0 12px 24px -12px rgba(0,0,0,.6); transition: left .9s var(--ease-out); }
.kl-track__truck svg { width: 22px; height: 22px; }
.kl-track__truck::after { content: ""; position: absolute; left: 50%; bottom: -6px; margin-left: -6px; border: 6px solid transparent; border-top-color: #0E1116; border-bottom: 0; }
.kl-track__bar [role="tab"] { position: absolute; top: 38px; display: flex; flex-direction: column; align-items: center; gap: 12px; transform: translateX(-50%); font-family: var(--f-label); font-size: 13.5px; font-weight: 600; white-space: nowrap; color: var(--text-3); transition: color .3s; }
.kl-track__bar [role="tab"] i { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 3px solid #D4D8E1; transition: border-color .4s, background .4s; }
.kl-track__bar [role="tab"]:hover, .kl-track__bar [aria-selected="true"] { color: var(--text); }
.kl-track__bar [aria-selected="true"] i { background: #FFB020; border-color: #FF7A1A; }
.kl-track__panel { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: center; padding: clamp(16px, 2vw, 22px); border-radius: 30px; background: #fff; border: 1px solid var(--line); box-shadow: 0 40px 80px -60px rgba(10,12,24,.5); --k-tick: #FF7A1A; }
.kl-track__panel.is-in { animation: acPanel .6s var(--ease-out) both; }
.kl-track__panel img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 22px; }
.kl-track__panel > div { padding-right: clamp(8px, 2vw, 24px); }
.acp--logi .ac-ic { background: #FFF3DC; color: #B26A00; }
.kl-track__panel h3 { margin-top: 18px; font-size: clamp(24px, 2.4vw, 32px); letter-spacing: -.035em; }
.kl-track__panel p { margin-top: 10px; font-size: 16px; line-height: 1.6; color: var(--text-2); }
.kl-track__panel .k-ticks { margin: 20px 0 26px; }
.kl-tower { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.kl-tower .x-h2 { margin-top: 18px; }
.kl-tower .x-lead { margin-top: 22px; }
.kl-tower .btn { margin-top: 30px; }
.kl-dash { overflow: hidden; border-radius: 22px; background: #12161D; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 50px 100px -50px rgba(255,176,32,.35); }
.kl-dash__bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,.08); font-family: var(--f-mono); font-size: 12.5px; color: var(--on-dark-3); }
.kl-dash__bar i { width: 11px; height: 11px; border-radius: 50%; background: #FF5F57; }
.kl-dash__bar i:nth-child(2) { background: #FEBC2E; }
.kl-dash__bar i:nth-child(3) { background: #28C840; }
.kl-dash__bar span { margin-left: 10px; }
.kl-dash__bar b { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-weight: 500; color: #22C55E; }
.kl-dash__bar b::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22C55E; animation: klBlink 1.4s ease-in-out infinite; }
@keyframes klBlink { 50% { opacity: .3; } }
.kl-dash__body { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 1px; background: rgba(255,255,255,.06); }
.kl-dash__body > div { padding: 20px; background: #12161D; }
.kl-dash small { display: block; margin-bottom: 14px; font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--on-dark-3); }
.kl-dash__lanes div { margin-bottom: 16px; }
.kl-dash__lanes span { display: block; margin-bottom: 7px; font-family: var(--f-label); font-size: 13px; color: var(--on-dark); }
.kl-dash__lanes i { display: block; width: var(--w); height: 8px; border-radius: 6px; background: linear-gradient(90deg, #FFB020, #FF7A1A); transform-origin: 0 50%; animation: klGrow 3s var(--ease-out) infinite alternate; }
@keyframes klGrow { from { transform: scaleX(.7); } }
.kl-dash__feed { height: 280px; overflow: hidden; -webkit-mask: linear-gradient(transparent, #000 10%, #000 90%, transparent); mask: linear-gradient(transparent, #000 10%, #000 90%, transparent); }
.kl-dash__feed ul { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; animation: klFeed 18s linear infinite; }
@keyframes klFeed { to { transform: translateY(calc(-50% - 5px)); } }
.kl-dash__feed li { display: grid; gap: 3px; padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,.04); border-left: 3px solid #22C55E; font-family: var(--f-label); font-size: 13px; color: var(--on-dark-2); }
.kl-dash__feed .is-warn { border-left-color: #F59E0B; }
.kl-dash__feed .is-info { border-left-color: var(--teal); }
.kl-dash__feed b { font-size: 13.5px; color: #fff; }
.kl-dash__feed em { font-style: normal; font-weight: 600; color: #FFB020; }
.kl-road { position: relative; max-width: 1000px; margin: 0 auto; padding: 0; list-style: none; }
.kl-road::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 64px; margin-left: -32px; border-radius: 32px; background: #1A1F28; }
.kl-road::after { content: ""; position: absolute; left: 50%; top: 20px; bottom: 20px; width: 4px; margin-left: -2px; background: repeating-linear-gradient(#FFB020 0 22px, transparent 22px 44px); animation: klLane 1.2s linear infinite; }
@keyframes klLane { to { background-position: 0 44px; } }
.kl-road li { position: relative; z-index: 1; width: 50%; padding: 0 76px 0 0; }
.kl-road li + li { margin-top: -26px; }
.kl-road li:nth-child(even) { margin-left: 50%; padding: 0 0 0 76px; }
.kl-road__sign { position: relative; padding: 22px 24px; border-radius: 14px; background: #FFB020; color: #1A1206; box-shadow: 0 20px 40px -24px rgba(178,106,0,.6); }
.kl-road__sign::after { content: ""; position: absolute; top: 50%; right: -44px; width: 44px; height: 4px; margin-top: -2px; background: #8A5A00; }
.kl-road li:nth-child(even) .kl-road__sign::after { right: auto; left: -44px; }
.kl-road h3 { font-size: 19px; letter-spacing: -.02em; }
.kl-road p { margin-top: 6px; font-size: 15px; line-height: 1.55; color: rgba(26,18,6,.8); }

/* ---------- AI for Retail ---------- */
.kr-soft { background: #FFF6EE; }
.acp--retail .x-h2 em, .acp--retail .k-faqc__more a { color: #E8553A; }
.acp--retail .k-sec .x-k { color: #D9472A; }
.acp--retail .ac-band { background: linear-gradient(115deg, #6E1F0F 0%, #D9472A 55%, #FF8A65 100%); }
.acp--health .k-sec .x-h2 em { color: #1E88D6; }
.acp--health .k-sec .x-k { color: #1E6FB8; }
.acp--logi .k-sec:not(.k-dark) .x-h2 em { color: #D97706; }
.acp--logi .k-sec:not(.k-dark) .x-k { color: #B26A00; }
.acp .x-dark .x-h2 em { color: var(--teal); }

/* Solutions, Services & Work dark sections text override */
.ind .sl-intro .x-h2, .ind .sl-intro h2,
.ind .in-sec--dark .x-h2, .ind .in-sec--dark h2,
.ind .sl-banner h1, .ind .in-hero--dark h1 {
  color: #fff !important;
}
.ind .sl-intro .x-h2 em, .ind .sl-intro h2 em,
.ind .in-sec--dark .x-h2 em, .ind .in-sec--dark h2 em,
.ind .sl-banner h1 em, .ind .in-hero--dark h1 em,
.ind .sl-banner .x-k, .ind .in-hero--dark .x-k {
  color: var(--ia2, #5CB8FF) !important;
}
.ind .sl-banner .in-lead, .ind .in-hero--dark .in-lead {
  color: rgba(238,241,255,.88) !important;
}
.acp--retail .ac-ic { background: #FFE9E1; color: #D9472A; }
.kr-hero { position: relative; overflow: hidden; padding: calc(var(--header-h) + clamp(32px, 4vw, 56px)) 0 0; background: radial-gradient(700px 500px at 0% 10%, rgba(255,107,74,.13), transparent 70%), #FFFAF5; }
.kr-hero__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 4vw, 64px); align-items: center; }
.kr-hero__grid > div:first-child { padding-bottom: clamp(48px, 6vw, 80px); }
.kr-hero .x-k { margin-bottom: 20px; color: #D9472A; }
.kr-hero h1 em { color: #FF6B4A; }
.acp--retail .ac-trust { background: #FFFAF5; }
.kr-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; height: clamp(520px, 52vw, 680px); overflow: hidden; -webkit-mask: linear-gradient(transparent, #000 12%, #000 88%, transparent); mask: linear-gradient(transparent, #000 12%, #000 88%, transparent); }
.kr-col > div { display: grid; gap: 14px; animation: krUp 32s linear infinite; }
.kr-col--1 > div { animation-direction: reverse; animation-duration: 38s; }
.kr-col--2 > div { animation-duration: 27s; }
.kr-cols:hover .kr-col > div { animation-play-state: paused; }
@keyframes krUp { to { transform: translateY(calc(-50% - 7px)); } }
.kr-col img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 20px; }
.kr-hot { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .5fr); gap: 24px; align-items: start; }
.kr-hot__img { position: relative; }
.kr-hot__img > img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 28px; }
.kr-hot__pt { position: absolute; z-index: 2; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%; background: rgba(255,255,255,.35); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: background .3s, transform .3s; }
.kr-hot__pt:hover { transform: scale(1.15); }
.kr-hot__pt i { position: absolute; inset: 8px; border-radius: 50%; background: #fff; animation: krPing 2s ease-out infinite; }
.kr-hot__pt.is-on { background: rgba(255,107,74,.5); }
.kr-hot__pt.is-on i { background: #FF6B4A; }
@keyframes krPing { from { box-shadow: 0 0 0 0 rgba(255,255,255,.75); } to { box-shadow: 0 0 0 18px rgba(255,255,255,0); } }
.kr-hot__card { position: absolute; z-index: 3; width: 280px; margin: 28px 0 0 -30px; padding: 18px; border-radius: 18px; background: #fff; box-shadow: 0 30px 60px -30px rgba(60,20,10,.55); }
.kr-hot__card.is-l { margin-left: -250px; }
.kr-hot__card.is-up { translate: 0 calc(-100% - 56px); }
.kr-hot__card.is-in { animation: acPanel .45s var(--ease-out) both; }
.kr-hot__card strong { display: block; margin-top: 12px; font-family: var(--f-display); font-size: 18px; letter-spacing: -.02em; }
.kr-hot__card p { margin-top: 6px; font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
.kr-hot__list { display: grid; gap: 8px; }
.kr-hot__list button { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; border: 1px solid transparent; text-align: left; font-family: var(--f-label); font-size: 14.5px; font-weight: 600; color: var(--text-2); transition: background .3s, border-color .3s, color .3s; }
.kr-hot__list button:hover { color: var(--text); }
.kr-hot__list button[aria-selected="true"] { background: #fff; border-color: rgba(255,107,74,.35); color: var(--text); box-shadow: 0 16px 32px -24px rgba(60,20,10,.5); }
.kr-hot__list .ac-ic { width: 38px; height: 38px; border-radius: 11px; }
.kr-hot__list .ac-ic svg { width: 18px; height: 18px; }
.kr-deck { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.kr-deck__list { display: grid; }
.kr-deck__list button { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); text-align: left; font-family: var(--f-display); font-size: clamp(18px, 1.7vw, 23px); font-weight: 600; letter-spacing: -.02em; color: var(--text-3); transition: color .3s; }
.kr-deck__list button::before { content: ""; flex: none; width: 0; height: 3px; border-radius: 3px; background: #FF6B4A; transition: width .4s var(--ease-out); }
.kr-deck__list button:hover, .kr-deck__list [aria-current="true"] { color: var(--text); }
.kr-deck__list [aria-current="true"]::before { width: 26px; }
.kr-deck__nav { margin-top: 24px; }
.kr-deck__stack { position: relative; height: 600px; margin: 56px 80px 0 0; }
.kr-card { position: absolute; inset: 0; display: grid; grid-template-rows: 44% minmax(0, 1fr); overflow: hidden; border-radius: 28px; background: #fff; border: 1px solid rgba(60,20,10,.08); box-shadow: 0 40px 80px -50px rgba(60,20,10,.45); transform: translate(calc(var(--p) * 24px), calc(var(--p) * -16px)) scale(calc(1 - var(--p) * .05)); z-index: calc(20 - var(--p)); opacity: clamp(0, calc(1.25 - var(--p) * .3), 1); transition: transform .7s var(--ease-out), opacity .5s; --k-tick: #FF6B4A; }
.kr-card img { width: 100%; height: 100%; object-fit: cover; }
.kr-card > div { padding: 22px 28px; overflow: hidden; }
.kr-card h3 { margin-top: 12px; font-size: 24px; letter-spacing: -.03em; }
.kr-card p { margin-top: 6px; font-size: 15px; line-height: 1.55; color: var(--text-2); }
.kr-card .k-ticks { grid-template-columns: 1fr 1fr; gap: 8px 20px; margin: 14px 0 18px; }
.kr-card .k-ticks li { font-size: 14px; }
.kr-words { overflow: hidden; padding: clamp(26px, 4vw, 46px) 0; background: #FF6B4A; color: #fff; }
.kr-words__t { display: flex; width: max-content; animation: acMarq 34s linear infinite; }
.kr-words span { display: inline-flex; align-items: center; font-family: var(--f-display); font-size: clamp(44px, 7vw, 110px); font-weight: 700; line-height: 1; letter-spacing: -.05em; white-space: nowrap; }
.kr-words span::after { content: ""; display: inline-block; width: .3em; height: .3em; margin: 0 .55em; border-radius: 50%; background: #FFD8CC; }
.kr-words span:nth-child(even) { color: transparent; -webkit-text-stroke: 1.5px #fff; }
.kr-polar { display: grid; grid-auto-flow: column; grid-auto-columns: min(300px, 76vw); gap: 34px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; list-style: none; margin: 0; padding: 22px max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter))) 24px; scroll-padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter))); cursor: grab; }
.kr-polar::-webkit-scrollbar { display: none; }
.kr-polar li { scroll-snap-align: start; transform: rotate(var(--r)); transition: transform .5s var(--ease-out); }
.kr-polar li:hover { transform: rotate(0) translateY(-6px); }
.kr-polar figure { margin: 0; padding: 12px 12px 18px; border-radius: 4px; background: #fff; box-shadow: 0 24px 50px -28px rgba(60,20,10,.45); }
.kr-polar img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; pointer-events: none; }
.kr-polar figcaption { margin-top: 14px; font-family: var(--f-serif); font-size: 25px; line-height: 1.1; }
.kr-polar p { margin-top: 16px; padding: 0 6px; font-size: 15px; line-height: 1.6; color: var(--text-2); }
.kr-soft .k-progress { background: rgba(60,20,10,.12); }

@media (max-width: 1080px) {
  .kb-hero__grid, .kh-hero__grid, .kl-hero__grid, .kr-hero__grid, .kb-stage__grid, .kh-acc, .kh-std, .kl-tower, .kr-hot, .kr-deck, .kl-track__panel { grid-template-columns: minmax(0, 1fr); }
  .kb-reveal a { grid-template-columns: minmax(0, 1fr) 44px; gap: 10px 18px; }
  .kb-reveal__tag { grid-column: 1; }
  .kb-reveal strong, .kb-reveal__d { grid-column: 1; }
  .kb-reveal__go { grid-column: 2; grid-row: 1 / span 3; }
  .kb-reveal__thumb { display: block; grid-column: 1 / -1; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; }
  .kb-reveal__float { display: none; }
  .kb-seals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kh-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kh-mosaic__t--0, .kh-mosaic__t--3, .kh-mosaic__t--4, .kh-mosaic__t--5 { grid-column: span 2; grid-row: auto; }
  .kh-acc__media { display: none; }
  .kh-journey { height: auto; }
  .kh-journey__path { display: none; }
  .kh-journey ol { display: grid; gap: 22px; }
  .kh-journey li { position: static; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 4px 16px; width: auto; transform: none; text-align: left; }
  .kh-journey__dot { grid-row: span 2; margin: 0; transform: none; }
  .kh-journey h3 { margin-top: 4px; }
  .kh-banner { grid-template-columns: minmax(0, 1fr); }
  .kh-banner img { min-height: 260px; }
  .kl-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kr-cols { height: 460px; }
  .kr-hot__card { position: static; width: auto; margin: 14px 0 0; translate: none !important; }
  .kr-deck__stack { margin-right: 60px; }
  .kl-track__bar { overflow-x: auto; }
}
@media (max-width: 680px) {
  .kb-seals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kb-stage__panel .k-ticks, .kr-card .k-ticks, .kh-std ul, .kl-cards { grid-template-columns: minmax(0, 1fr); }
  .kb-switch__rows li { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .kh-mosaic { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 260px; }
  .kh-mosaic__t--0, .kh-mosaic__t--3, .kh-mosaic__t--4, .kh-mosaic__t--5 { grid-column: auto; }
  .kh-mosaic p { max-height: 90px; margin-top: 8px; opacity: 1; }
  .kh-float--a { display: none; }
  .kh-visual { padding-left: 0; }
  .kl-road::before { left: 26px; }
  .kl-road::after { left: 26px; }
  .kl-road li, .kl-road li:nth-child(even) { width: 100%; margin-left: 0; padding: 0 0 0 76px; }
  .kl-road li + li { margin-top: 16px; }
  .kl-road__sign::after, .kl-road li:nth-child(even) .kl-road__sign::after { right: auto; left: -18px; width: 18px; }
  .kl-track__bar { margin: 0 0 20px; height: 90px; }
  .kl-track__bar [role="tab"] span { display: none; }
  .kl-dash__body { grid-template-columns: minmax(0, 1fr); }
  .kr-cols { height: 360px; }
  .kr-deck__stack { height: 640px; margin: 40px 40px 0 0; }
  .kr-card { transform: translate(calc(var(--p) * 12px), calc(var(--p) * -10px)) scale(calc(1 - var(--p) * .04)); }
}
@media (hover: none) {
  .kh-mosaic p { max-height: 90px; margin-top: 8px; opacity: 1; }
  .kl-cards article > div { transform: none; }
  .kl-cards p { opacity: 1; }
}
@media (hover: none), (prefers-reduced-motion: reduce) {
  .intm::before, .intm__marq > div, .in-apps__media::before, .in-tech__row,
  .kb-alert, .kb-chip, .kb-tape__t, .kb-seals svg, .kh-float, .kh-ecg, .kl-route, .kl-city .halo, .kl-eta, .kl-dash__lanes i, .kl-dash__feed ul, .kl-road::after, .kr-col > div, .kr-hot__pt i, .kr-words__t, .kl-hero__bg { animation: none !important; }
  .kl-truck { display: none; }
  .kh-journey__path path { transition: none; stroke-dashoffset: 0; }
  .kh-journey__dot { transform: none; transition: none; }
}

/* Solutions, Services & Work dark sections text override */
.ind .sl-intro .x-h2, .ind .sl-intro h2,
.ind .in-sec--dark .x-h2, .ind .in-sec--dark h2,
.ind .sl-banner h1, .ind .in-hero--dark h1,
.sl-intro__copy h2, .sl-intro__copy .x-h2 {
  color: #ffffff !important;
}
.ind .sl-intro .x-h2 em, .ind .sl-intro h2 em,
.ind .in-sec--dark .x-h2 em, .ind .in-sec--dark h2 em,
.ind .sl-banner h1 em, .ind .in-hero--dark h1 em,
.ind .sl-banner .x-k, .ind .in-hero--dark .x-k,
.sl-intro__copy h2 em, .sl-intro__copy .x-h2 em {
  color: var(--ia2, #5CB8FF) !important;
}
.ind .sl-banner .in-lead, .ind .in-hero--dark .in-lead {
  color: rgba(238,241,255,.88) !important;
}
