:root {
  --color-bg: #111114;
  --color-bg-elevated: #18181d;
  --color-surface: #202027;
  --color-surface-strong: #282830;
  --color-border: #373740;
  --color-text: #f4f4f2;
  --color-text-muted: #a6a6af;
  --color-accent: #ff7416;
  --color-accent-hover: #ff8a3d;
  --color-on-accent: #111114;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-smooth: cubic-bezier(0.16, 1, 0.3, 1);
  --container: 1440px;
  color-scheme: dark;
}

* { box-sizing: border-box; }

html { background: var(--color-bg); }

body {
  min-width: 320px;
  margin: 0;
  overflow-x: clip;
  background: var(--color-bg) url("../images/backgrounds/1-screen-BG.webp") center / cover fixed no-repeat;
  color: var(--color-text);
  font-family: "Manrope", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

::selection { background: var(--color-accent); color: var(--color-on-accent); }

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }

.container { width: min(100% - 128px, var(--container)); margin-inline: auto; }

.skip-link {
  position: fixed;
  z-index: 20;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  background: var(--color-accent);
  color: var(--color-on-accent);
  font-weight: 700;
  transform: translateY(-160%);
  transition: transform 160ms var(--ease-out);
}
.skip-link:focus { transform: translateY(0); }

.page__ambient { position: fixed; z-index: 0; inset: 0; width: 100%; height: 100svh; object-fit: cover; opacity: .18; filter: grayscale(1) contrast(1.22) brightness(.64); pointer-events: none; }
body::before { position: fixed; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(17, 17, 20, .77) 0%, rgba(17, 17, 20, .68) 47%, rgba(17, 17, 20, .52) 100%); content: ""; pointer-events: none; }
main, .site-footer { position: relative; z-index: 2; }

.site-header {
  position: sticky;
  z-index: 10;
  top: 0;
  isolation: isolate;
  overflow: visible;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border) 72%, transparent);
  background: var(--color-bg);
}

.nav-shell { display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 72px; gap: 32px; }
.brand { display: inline-flex; align-items: center; }
.brand-mark { display: grid; place-items: center; width: 132px; height: 44px; }
.brand-mark img { display: block; width: 132px; height: 44px; object-fit: contain; }

.nav-shell > .brand, .nav-shell > .button { position: relative; z-index: 3; }
.desktop-nav { position: static; align-self: stretch; justify-self: center; }
.nav-menu { display: flex; height: 72px; align-items: stretch; gap: 0; margin: 0; padding: 0; list-style: none; }
.nav-menu > li, .desktop-nav .mega-nav { display: flex; }
.desktop-nav > .nav-menu > li > a, .desktop-nav .mega-nav > summary { position: relative; z-index: 3; display: inline-flex; min-height: 0; align-items: center; gap: 8px; padding-inline: clamp(16px, 1.65vw, 26px); background: transparent; color: var(--color-text); font-size: clamp(14px, 1.1vw, 16px); font-weight: 700; letter-spacing: .01em; list-style: none; cursor: pointer; transition: background 180ms var(--ease-out), color 180ms var(--ease-out); }
.desktop-nav > .nav-menu > li > a::after, .desktop-nav .mega-nav > summary::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--color-accent); content: ""; transform: scaleX(0); transform-origin: left center; transition: transform 220ms var(--ease-out); }
.desktop-nav > .nav-menu > li > a:hover, .desktop-nav .mega-nav > summary:hover { background: var(--color-surface); color: var(--color-text); }
.desktop-nav > .nav-menu > li > a:focus-visible, .desktop-nav > .nav-menu > li > a[aria-current="page"], .desktop-nav .mega-nav[open] > summary, .desktop-nav .mega-nav.is-current > summary, .desktop-nav .mega-nav > summary:focus-visible { background: var(--color-surface); color: var(--color-text); }
.desktop-nav > .nav-menu > li > a:focus-visible::after, .desktop-nav > .nav-menu > li > a[aria-current="page"]::after, .desktop-nav .mega-nav[open] > summary::after, .desktop-nav .mega-nav.is-current > summary::after, .desktop-nav .mega-nav > summary:focus-visible::after { background: var(--color-accent); transform: scaleX(1); }
.mega-nav { position: static; }
.mega-nav summary::-webkit-details-marker { display: none; }
.desktop-nav .mega-nav > summary i { width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 220ms var(--ease-out); }
.desktop-nav .mega-nav[open] > summary i { transform: translateY(1px) rotate(225deg); }
.mega-nav__panel { position: fixed; z-index: 1; top: 72px; right: 0; left: 0; height: calc(100dvh - 72px); overflow-y: auto; border-top: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent); background: rgba(0, 0, 0, .42); clip-path: inset(0 0 100% 0); opacity: 0; pointer-events: none; visibility: hidden; transition: clip-path 480ms var(--ease-out), opacity 180ms ease, visibility 0s linear 480ms; will-change: clip-path, opacity; }
.mega-nav[open] .mega-nav__panel { clip-path: inset(0); opacity: 1; pointer-events: auto; visibility: visible; transition: clip-path 480ms var(--ease-out), opacity 180ms ease; }
.mega-nav__inner { display: grid; width: 100%; min-height: 100%; align-content: start; padding: 0 0 120px; }
.mega-nav__group { display: grid; width: 100%; gap: 0; }
.mega-nav__group::before, .mega-nav__group::after { min-height: 36px; background: var(--color-bg); content: ""; }
.mega-nav__group a { position: relative; display: flex; width: 100%; min-height: 72px; align-items: center; padding: 14px max(24px, calc((100vw - var(--container)) / 2)); border-right: 1px solid transparent; border-left: 1px solid transparent; background: var(--color-bg); color: var(--color-text); font-size: clamp(1.1rem, 1.55vw, 1.48rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.2; transition: color 180ms var(--ease-out); }
.mega-nav__group a::before { position: absolute; z-index: 0; inset: 0 0 0 max(0px, calc(var(--mega-nav-text-start, 24px) - 24px)); border: 1px solid transparent; background: transparent; content: ""; transition: background 220ms var(--ease-out), border-color 220ms var(--ease-out); }
.mega-nav__group a > span { position: absolute; z-index: 1; left: var(--mega-nav-text-start, 24px); max-width: calc(100vw - var(--mega-nav-text-start, 24px) - 48px); overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.mega-nav__group a:hover::before, .mega-nav__group a:focus-visible::before, .mega-nav__group a[aria-current="page"]::before { border-color: var(--color-border); background: var(--color-surface); }
.mega-nav--about .mega-nav__group a { font-size: clamp(1rem, 1.3vw, 1.22rem); }
.mega-nav__group--services { grid-template-columns: minmax(0, 1fr); }
.mega-nav__group--services a { justify-content: space-between; font-size: clamp(1rem, 1.3vw, 1.22rem); letter-spacing: -.018em; }
.mega-nav__arrow { position: relative; z-index: 1; width: 9px; height: 9px; margin-left: auto; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); transition: transform 220ms var(--ease-out); }
.mega-nav__group a:hover .mega-nav__arrow, .mega-nav__group a:focus-visible .mega-nav__arrow { transform: translateX(4px) rotate(45deg); }
.main-nav a::after { position: absolute; right: 0; bottom: 4px; left: 0; height: 2px; background: var(--color-accent); content: ""; transform: scaleX(0); transform-origin: left center; transition: transform 220ms var(--ease-out); }
.main-nav a:hover::after, .main-nav a:focus-visible::after, .main-nav a[aria-current="page"]::after { transform: scaleX(1); }
.main-nav summary { list-style: none; cursor: pointer; }
.main-nav { display: none; justify-self: center; }
.main-nav summary::-webkit-details-marker { display: none; }
.main-nav nav { display: flex; align-items: center; gap: clamp(14px, 1.8vw, 30px); }
.main-nav a:hover, .main-nav a:focus-visible { color: var(--color-text); }
.main-nav summary { display: none; }

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 0;
  border-radius: 8px;
  background: var(--color-accent);
  color: var(--color-on-accent);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: transform 160ms var(--ease-out);
}
.button:hover { background: var(--color-accent-hover); transform: translateY(-1px); }
.button:active { transform: scale(.98); }
.button--small { min-height: 44px; padding-inline: 17px; font-size: 13px; }
.nav-shell > .button { border-radius: 0; color: #fff; }

.hero { position: relative; display: flex; min-height: calc(100vh - 72px); min-height: calc(100svh - 72px); isolation: isolate; overflow: hidden; padding: clamp(56px, 8vw, 128px) 0 clamp(80px, 10vw, 152px); border-bottom: 1px solid var(--color-border); background: transparent; }
.hero__grid { position: relative; z-index: 2; align-self: stretch; display: grid; grid-template-columns: minmax(0, 8fr) minmax(380px, 4fr); align-items: center; gap: clamp(48px, 7vw, 112px); }
.hero__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: clamp(20px, 4vw, 64px); }
.hero__proof { display: grid; gap: 18px; min-width: 0; }
.hero__scroll-cue { position: absolute; z-index: 3; bottom: clamp(20px, 2.6vw, 38px); left: 50%; display: grid; width: 56px; height: 64px; place-items: center; color: var(--color-accent); text-decoration: none; transform: translate3d(-50%, 0, 0); transition: color 180ms ease, transform 180ms var(--ease-out); }
.hero__scroll-cue svg { width: 34px; height: 54px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.6; }
.hero__scroll-cue path { vector-effect: non-scaling-stroke; }
.hero__scroll-cue-line { opacity: .7; }
.hero__scroll-cue-arrow { transform-box: fill-box; transform-origin: center; animation: hero-scroll-cue 1.9s cubic-bezier(.37, 0, .63, 1) infinite; }
.hero__scroll-cue.is-paused .hero__scroll-cue-arrow { animation-play-state: paused; }
.hero__scroll-cue:focus-visible { outline: 1px solid var(--color-text); outline-offset: 5px; }
@media (hover: hover) and (pointer: fine) { .hero__scroll-cue:hover { color: var(--color-text); transform: translate3d(-50%, 4px, 0); } .hero__scroll-cue:hover .hero__scroll-cue-arrow { animation-play-state: paused; } }
.hero__scroll-cue:active { transform: translate3d(-50%, 4px, 0) scale(.96); }
@keyframes hero-scroll-cue { 0%, 100% { transform: translateY(0); opacity: .72; } 50% { transform: translateY(7px); opacity: 1; } }
h1 { max-width: 100%; font-size: clamp(3.8rem, 4.8vw, 4.9rem); font-weight: 600; letter-spacing: -.04em; line-height: .98; text-wrap: balance; }
.hero__rotator { display: block; min-height: 1.04em; margin-top: clamp(18px, 2vw, 28px); color: var(--color-accent); font-size: .62em; letter-spacing: -.04em; line-height: 1; white-space: nowrap; transform-origin: left center; will-change: transform, opacity; }
.text-link { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; color: var(--color-text); font-size: 14px; font-weight: 700; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--color-accent) 66%, transparent); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.text-link span { font-size: 17px; text-decoration: none; transition: transform 180ms var(--ease-out); }
.text-link:hover { color: var(--color-accent-hover); text-decoration-color: currentColor; }
.text-link:hover span { transform: translate(2px, -2px); }

.hero__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.hero__fact { min-width: 0; padding: 28px 18px 32px; }
.hero__fact--primary { display: grid; grid-column: 1 / -1; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 16px; padding: 32px 0 32px 20px; border-bottom: 1px solid var(--color-border); }
.hero__fact + .hero__fact { padding-top: 32px; }
.hero__fact:not(.hero__fact--primary) + .hero__fact:not(.hero__fact--primary) { border-left: 1px solid var(--color-border); }
.hero__fact dt { color: var(--color-accent); font-size: clamp(3.15rem, 5vw, 5.5rem); font-weight: 600; letter-spacing: -.07em; line-height: .8; }
.hero__fact--primary dt { color: var(--color-text); font-size: clamp(6.25rem, 8vw, 7.5rem); white-space: nowrap; }
.hero__fact dd { max-width: 23ch; min-height: 3.1em; margin: 0; color: var(--color-text-muted); font-size: 14px; font-weight: 600; line-height: 1.45; }
.hero__fact-label, .hero__fact-detail { display: block; }
.hero__fact-detail { margin-top: 4px; }
.hero__fact--primary dd { min-width: 0; max-width: none; min-height: 0; padding: 0; font-size: clamp(.95rem, 1.35vw, 1.2rem); letter-spacing: -.035em; line-height: 1.16; }
.hero__fact--primary .hero__fact-label { white-space: nowrap; }
.hero__fact:not(.hero__fact--primary) { position: relative; display: flex; min-height: 148px; flex-direction: column; align-items: center; justify-content: center; gap: 20px; text-align: center; }
.hero__fact:not(.hero__fact--primary) dt { transition: transform 240ms var(--ease-out); }
.hero__fact:not(.hero__fact--primary) dd { position: relative; width: 100%; min-height: 1.45em; }
.hero__fact:not(.hero__fact--primary) .hero__fact-label { transition: color 180ms ease; }
.hero__fact--awards { cursor: pointer; outline: none; }
.hero__fact--awards:focus-visible { outline: 1px solid var(--color-accent); outline-offset: -4px; }
@media (hover: hover) and (pointer: fine) { .hero__fact:not(.hero__fact--primary):hover dt, .hero__fact:not(.hero__fact--primary):focus dt { transform: translateY(-5px); } .hero__fact:not(.hero__fact--primary):hover .hero__fact-label, .hero__fact:not(.hero__fact--primary):focus .hero__fact-label { color: var(--color-text); } }
.hero__awards { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .95fr) minmax(0, .8fr); gap: 1px; border: 1px solid var(--color-border); background: var(--color-border); opacity: 0; pointer-events: none; transform: translate3d(0, 14px, 0); transition: transform 260ms var(--ease-out), opacity 180ms ease; }
.hero__proof:has(.hero__fact--awards:hover) .hero__awards, .hero__proof:has(.hero__fact--awards:focus) .hero__awards, .hero__proof:has(.hero__awards:hover) .hero__awards { opacity: 1; pointer-events: auto; transform: translate3d(0, 0, 0); }
@media (hover: none) { .hero__awards { opacity: 1; pointer-events: auto; transform: none; } }
.hero__award { display: grid; min-width: 0; height: 76px; place-items: center; padding: 14px 18px; background: rgba(13, 13, 15, .82); overflow: hidden; }
.hero__award img { width: 100%; max-width: 176px; max-height: 46px; object-fit: contain; opacity: .82; transform: scale(.98); transition: transform 220ms var(--ease-out), opacity 180ms ease; }
@media (hover: hover) and (pointer: fine) { .hero__award:hover img { opacity: 1; transform: scale(1.03); } }

.section { padding: clamp(56px, 6vw, 88px) 0; }
.section-heading { display: grid; grid-template-columns: minmax(0, 8fr) minmax(230px, 3fr); gap: 48px; align-items: end; margin-bottom: 56px; }
.section-heading h2 { max-width: 920px; font-size: clamp(2.5rem, 3.7vw, 3.25rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.08; text-wrap: balance; }
.section-heading p { color: var(--color-text-muted); font-size: 16px; line-height: 1.55; }

.services { background: transparent; }
.service-grid { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--color-border); background: var(--color-border); perspective: 1200px; }
.service-item { position: relative; display: block; min-height: clamp(258px, 20vw, 314px); overflow: hidden; color: var(--color-text); text-decoration: none; perspective: inherit; }
.service-item__card { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform 560ms var(--ease-in-out); will-change: transform; }
.service-item__face { position: absolute; inset: 0; display: flex; flex-direction: column; padding: clamp(26px, 2.25vw, 36px); overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.service-item__face--front { justify-content: space-between; background: #0d0d0f; transform: translateZ(1px); }
.service-item__face--back { isolation: isolate; justify-content: flex-end; border: 1px solid color-mix(in srgb, var(--color-accent) 70%, transparent); background: #24150f; transform: rotateY(180deg) translateZ(1px); }
.service-item__face--back::before { position: absolute; z-index: 0; inset: 0; background: linear-gradient(135deg, #3b2111 0%, #24150f 58%, #111114 100%); content: ""; pointer-events: none; transform: translateZ(0); }
.service-item__face--back > * { position: relative; z-index: 1; }
.service-item h3 { max-width: 12ch; margin: 0; font-size: clamp(1.58rem, 2.15vw, 2.08rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.02; }
.service-item__face--back h3 { margin-bottom: 16px; font-size: clamp(1.28rem, 1.7vw, 1.66rem); }
.service-item__tags { display: flex; flex-wrap: wrap; gap: 8px; max-width: 30ch; margin: 32px 0 0; padding: 0; list-style: none; }
.service-item__tags li { padding: 8px 11px; border: 1px solid color-mix(in srgb, var(--color-text-muted) 34%, transparent); border-radius: 999px; color: var(--color-text-muted); font-size: 12px; font-weight: 600; line-height: 1.1; }
.service-item__face--back p { position: relative; z-index: 1; max-width: 25ch; margin: 0; color: var(--color-text); font-size: clamp(14px, 1.08vw, 16px); font-weight: 500; line-height: 1.5; opacity: .72; transform: translate3d(0, 8px, 0); transition: transform 240ms var(--ease-out), opacity 180ms ease; }
.service-item__logo { position: absolute; top: clamp(24px, 2.4vw, 38px); right: clamp(24px, 2.4vw, 38px); width: clamp(84px, 8vw, 130px); height: clamp(84px, 8vw, 130px); object-fit: contain; opacity: .74; transform: translate3d(0, 6px, 0) rotate(-3deg) scale(.97); transform-origin: right top; transition: transform 280ms var(--ease-out), opacity 200ms ease; }
.service-item__logo--java { width: clamp(98px, 9.4vw, 148px); height: clamp(98px, 9.4vw, 148px); }
@media (hover: hover) and (pointer: fine) {
  .service-item:hover .service-item__card { transform: rotateY(180deg); }
  .service-item:hover:active .service-item__card { transform: rotateY(180deg) scale(.985); }
  .service-item:hover .service-item__face--back p { opacity: 1; transform: translate3d(0, 0, 0); transition-delay: 250ms; }
  .service-item:hover .service-item__logo { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); transition-delay: 210ms; }
}
@media (hover: none), (pointer: coarse) {
  .service-item.is-flipped .service-item__card { transform: rotateY(180deg); }
  .service-item.is-flipped .service-item__face--back p { opacity: 1; transform: translate3d(0, 0, 0); transition-delay: 250ms; }
  .service-item.is-flipped .service-item__logo { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); transition-delay: 210ms; }
}
.service-item:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.service-item:focus-visible .service-item__card { transform: rotateY(180deg); }
.service-item:focus-visible .service-item__face--back p { opacity: 1; transform: translate3d(0, 0, 0); transition-delay: 250ms; }
.service-item:focus-visible .service-item__logo { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); transition-delay: 210ms; }
.service-item:active .service-item__card { transform: scale(.985); }

.services-showcase { border-bottom: 0; }
.services-showcase__bento { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 224px; gap: 1px; border: 1px solid var(--color-border); background: var(--color-border); }
.services-showcase__item { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 28px; overflow: hidden; background: #0d0d0f; transform-origin: center; transition: transform 180ms var(--ease-out); }
.services-showcase__item:first-child { grid-row: span 2; padding: 34px; background: #101013; }
.services-showcase__item strong { max-width: 15ch; font-size: clamp(1.35rem, 1.8vw, 1.72rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.08; }
.services-showcase__item:first-child strong { font-size: clamp(1.8rem, 2.65vw, 2.55rem); line-height: 1.04; }
.services-showcase__item--ai { display: grid; grid-template-rows: auto 1fr auto; align-items: start; gap: 0; }
.services-showcase__item.services-showcase__item--ai .services-showcase__ai-intro { display: flex; max-width: none; align-items: center; gap: clamp(12px, 1.4vw, 22px); margin: 0; padding: 0; }
.services-showcase__item.services-showcase__item--ai strong.services-showcase__ai-mark { max-width: none; color: var(--color-text); font-size: clamp(4.5rem, 5.8vw, 6.5rem); font-weight: 600; letter-spacing: -.04em; line-height: .8; transition: color 180ms var(--ease-out); }
.services-showcase__item.services-showcase__item--ai .services-showcase__ai-copy { display: grid; max-width: none; gap: .1em; margin: 0; padding: 0; color: var(--color-text); font-size: clamp(1.35rem, 1.8vw, 1.72rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.08; transition: color 180ms var(--ease-out); }
.services-showcase__item.services-showcase__item--ai .services-showcase__ai-image { position: absolute; z-index: 0; top: 50%; left: 50%; width: min(70%, 230px); aspect-ratio: 3 / 2; object-fit: cover; object-position: center; opacity: 0; pointer-events: none; clip-path: inset(0 7% 0 7%); transform: translate3d(-50%, -43%, 0) scale(.96); transition: transform 360ms var(--ease-smooth), opacity 180ms ease, clip-path 360ms var(--ease-smooth); }
.services-showcase__item.services-showcase__item--ai .services-showcase__ai-description { max-width: 27ch; align-self: end; margin: 0; padding: 0; color: var(--color-text-muted); font-size: 13px; font-weight: 400; line-height: 1.5; }
.services-showcase__item > span { max-width: 30ch; margin-top: auto; padding-right: 26px; color: var(--color-text-muted); font-size: 13px; line-height: 1.5; }
.services-showcase__ai-copy > span { display: block; max-width: none; margin: 0; padding: 0; color: inherit; font: inherit; line-height: inherit; }
.services-showcase__icon { position: absolute; z-index: 0; right: 34px; bottom: 48px; width: clamp(76px, 7vw, 108px); height: auto; opacity: 0; pointer-events: none; transform: translate3d(14px, 8px, 0) scale(.94); transform-origin: right bottom; transition: transform 240ms var(--ease-out), opacity 180ms ease; }
.services-showcase__icon--persistent { right: auto; bottom: 50%; left: 50%; width: clamp(164px, 18vw, 284px); opacity: .82; transform: translate3d(-50%, 50%, 0); }
.services-showcase__item strong, .services-showcase__item span, .services-showcase__index { position: relative; z-index: 1; }
.services-showcase__index { position: absolute; right: 26px; bottom: 28px; color: var(--color-accent); font-size: 11px; font-weight: 700; letter-spacing: .12em; line-height: 1; transition: transform 180ms var(--ease-out); }
.services-showcase__item:active { transform: scale(.995); }
@media (hover: hover) and (pointer: fine) {
  .services-showcase__item:hover strong { color: var(--color-accent-hover); }
	.services-showcase__item.services-showcase__item--ai .services-showcase__ai-image { position: relative; top: auto; left: auto; grid-row: 2; align-self: center; justify-self: center; height: auto; max-height: 100%; object-fit: contain; transform: translate3d(0, 8px, 0) scale(.96); }
	.services-showcase__item--ai:hover .services-showcase__ai-copy, .services-showcase__item--ai:focus-visible .services-showcase__ai-copy { color: var(--color-accent); }
	.services-showcase__item.services-showcase__item--ai:hover strong.services-showcase__ai-mark, .services-showcase__item.services-showcase__item--ai:focus-visible strong.services-showcase__ai-mark { color: var(--color-accent); }
	.services-showcase__item--ai:hover .services-showcase__ai-image, .services-showcase__item--ai:focus-visible .services-showcase__ai-image { opacity: .88; clip-path: inset(0); transform: translate3d(0, 0, 0) scale(1); }
  .services-showcase__item:hover .services-showcase__icon { opacity: .92; transform: translate3d(0, 0, 0) scale(1); }
  .services-showcase__item:hover .services-showcase__icon--persistent { opacity: .82; transform: translate3d(-50%, 50%, 0); }
  .services-showcase__item:hover .services-showcase__index { transform: translate(2px, -2px); }
}

.products { background: transparent; }
.products__title { margin: 0 0 30px; }
.product-tabs { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-bottom: 24px; }
.product-tab { position: relative; display: inline-flex; min-height: 48px; align-items: center; gap: 10px; padding: 0 1px; border: 0; background: transparent; color: var(--color-text-muted); cursor: pointer; font: inherit; font-size: 15px; font-weight: 700; letter-spacing: -.018em; line-height: 1; text-align: left; transition: color 160ms ease, transform 180ms var(--ease-out); }
.product-tab::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--color-accent); content: ""; transform: scaleX(0); transform-origin: left center; transition: transform 220ms var(--ease-out); }
.product-tab span { color: color-mix(in srgb, var(--color-text-muted) 68%, transparent); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.product-tab.is-active { color: var(--color-text); }
.product-tab.is-active::after { transform: scaleX(1); }
.product-tab.is-active span { color: var(--color-accent); }
.product-tab:active { transform: scale(.98); }
@media (hover: hover) and (pointer: fine) { .product-tab:not(.is-active):hover { color: var(--color-text); transform: translateY(-2px); } }
.product-showcase { --product-peek: clamp(34px, 6vw, 104px); --product-inset: max(var(--product-peek), calc(50% - 720px)); position: relative; width: 100vw; min-height: clamp(410px, 38vw, 540px); margin-inline: calc(50% - 50vw); overflow: hidden; background: transparent; isolation: isolate; touch-action: pan-y; }
.product-showcase__scene { position: absolute; z-index: 2; inset: 0 var(--product-inset); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); overflow: hidden; border: 1px solid var(--color-border); background: #050505; transform-origin: center; will-change: transform, opacity; }
.product-showcase__preview { position: absolute; z-index: 1; top: 18px; bottom: 18px; width: calc(var(--product-peek) + 16%); margin: 0; overflow: hidden; background: #050505; opacity: .62; pointer-events: none; transition: transform 240ms var(--ease-out), opacity 180ms ease; }
.product-showcase__preview--previous { left: 0; border-right: 1px solid var(--color-border); transform: translateX(-62%); }
.product-showcase__preview--next { right: 0; border-left: 1px solid var(--color-border); transform: translateX(62%); }
.product-showcase__preview img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.56) brightness(.48) contrast(1.08); transform: scale(1.28); }
.product-showcase__preview-image--contain { object-fit: contain; padding: 12px; transform: scale(1.06); }
.product-showcase__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: clamp(28px, 4vw, 64px); background: #050505; }
.product-showcase__index { margin: 0 auto auto 0; color: var(--color-accent); font-size: 11px; font-weight: 700; letter-spacing: .1em; line-height: 1; }
.product-showcase__content h3 { max-width: 12ch; font-size: clamp(2.5rem, 4.2vw, 4.35rem); font-weight: 600; letter-spacing: -.04em; line-height: .94; text-wrap: balance; }
.product-showcase__content > p:not(.product-showcase__index) { max-width: 34ch; margin-top: 22px; color: var(--color-text-muted); font-size: 15px; line-height: 1.55; }
.product-showcase__content .product-showcase__link {
  min-height: 46px;
  margin-top: 30px;
  padding: 0 18px;
  border: 1px solid color-mix(in srgb, var(--color-text) 36%, transparent);
  border-radius: 999px;
  color: var(--color-text);
  text-decoration: none;
  transition: background-color 200ms var(--ease-out), border-color 200ms var(--ease-out), color 200ms var(--ease-out), transform 220ms var(--ease-out);
}
.product-showcase__content .product-showcase__link:hover,
.product-showcase__content .product-showcase__link:focus-visible {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: var(--color-on-accent);
  transform: translateY(-2px);
}
.product-showcase__content .product-showcase__link:active { transform: scale(.98); }
.product-visual { position: relative; min-height: 100%; margin: 0; overflow: hidden; background: #050505; }
.product-visual--top-inset { padding: clamp(18px, 2.4vw, 40px); }
.product-visual--top-inset .product-visual__image { object-fit: contain; }
.product-visual__image { width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center; filter: saturate(.82) brightness(.78) contrast(1.06); transform: scale(1.025); transition: transform 520ms var(--ease-out), filter 260ms var(--ease-out); }
.product-visual__image--contain { object-fit: contain; padding: clamp(18px, 2.6vw, 42px); filter: saturate(.9) brightness(.82) contrast(1.05); }
.product-visual__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13, 13, 15, .32), transparent 38%), linear-gradient(0deg, rgba(13, 13, 15, .6), transparent 46%); pointer-events: none; }
@media (min-width: 768px) { .product-showcase__scene, .product-showcase__preview, .product-showcase__content, .product-visual { background: var(--color-bg-elevated); } }
@media (hover: hover) and (pointer: fine) { .product-showcase:hover .product-visual__image { transform: scale(1.045); filter: saturate(.94) brightness(.86) contrast(1.04); } .product-showcase:hover .product-visual__image--contain { transform: scale(1.015); } .product-showcase:hover .product-showcase__preview { opacity: .78; } .product-showcase:hover .product-showcase__preview--previous { transform: translateX(-56%); } .product-showcase:hover .product-showcase__preview--next { transform: translateX(56%); } }

.clients { padding: clamp(56px, 5.5vw, 80px) 0; overflow: hidden; border-bottom: 1px solid var(--color-border); background: transparent; }
.clients__heading { margin-bottom: 56px; }
.clients__heading h2 { max-width: 920px; font-size: clamp(2.5rem, 3.7vw, 3.25rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.08; text-wrap: balance; }
.section-heading h2,
.products__title,
.clients__heading h2 { max-width: none; color: var(--color-text-muted); font-size: clamp(11px, .78vw, 13px); font-weight: 700; letter-spacing: .12em; line-height: 1.25; text-transform: uppercase; text-wrap: pretty; }
.clients__rails { display: grid; gap: 1px; overflow: hidden; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); background: var(--color-border); }
.clients__rail { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.clients__track { display: flex; width: max-content; will-change: transform; animation: clients-marquee 38s linear infinite; }
.clients__track--reverse { animation-direction: reverse; }
.clients__track.is-paused, .clients__rail:hover .clients__track, .clients__rail:focus-within .clients__track { animation-play-state: paused; }
.clients__group { display: flex; flex: none; gap: 1px; margin: 0; padding: 0 1px 0 0; list-style: none; background: var(--color-border); }
.client-logo { display: grid; width: clamp(252px, 20vw, 336px); height: 142px; flex: none; place-items: center; padding: 28px 42px; overflow: hidden; background: rgba(17, 17, 20, .36); }
.client-logo img { width: 100%; max-width: 254px; max-height: 64px; object-fit: contain; opacity: .9; transform: scale(.98); transition: transform 220ms var(--ease-out), opacity 180ms var(--ease-out); }
/* Square emblems need more vertical room than wide wordmarks. */
.client-logo--emblem { padding: 4px 12px; }
.client-logo--emblem img { max-width: 194px; max-height: 118px; }
.client-logo--large-canvas { padding: 0 14px; }
.client-logo--large-canvas img { transform: scale(2.7); }
@media (hover: hover) and (pointer: fine) { .client-logo:hover img { opacity: 1; transform: scale(1); } .client-logo--emblem:hover img { transform: scale(1.035); } .client-logo--large-canvas:hover img { transform: scale(2.82); } }
@keyframes clients-marquee { to { transform: translateX(-50%); } }

/* Skip layout and paint work for the long sections before they approach the viewport. */
.home .services,
.home .technologies,
.home .products,
.home .clients,
.home .site-footer { content-visibility: auto; contain-intrinsic-size: auto 900px; }

.site-footer { padding: clamp(64px, 7vw, 112px) 0 28px; border-top: 1px solid var(--color-border); background: rgba(17, 17, 20, .82); }
.site-footer__inner { display: grid; grid-template-columns: minmax(132px, 1.15fr) minmax(120px, .85fr) minmax(175px, 1.25fr) minmax(120px, .75fr) minmax(210px, 1.25fr); gap: clamp(28px, 4vw, 72px); align-items: start; }
.site-footer__brand { padding-top: 1px; }
.site-footer__group, .site-footer__contacts { display: grid; align-content: start; gap: 12px; margin: 0; font-style: normal; }
.site-footer__group h2, .site-footer__contacts h2 { margin: 0 0 8px; color: var(--color-text-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.site-footer__group a, .site-footer__contacts a { color: var(--color-text); font-size: 15px; font-weight: 600; letter-spacing: .035em; line-height: 1.35; text-transform: uppercase; transition: color 180ms var(--ease-out); }
.site-footer__group a:hover, .site-footer__group a:focus-visible, .site-footer__contacts a:hover, .site-footer__contacts a:focus-visible { color: var(--color-accent); }
.site-footer__contacts { gap: 16px; }
.site-footer__contacts a { display: grid; gap: 4px; }
.site-footer__contacts a span { color: var(--color-text-muted); font-size: 11px; font-weight: 700; letter-spacing: .075em; line-height: 1.2; text-transform: uppercase; }
.site-footer__contacts .site-footer__email { margin-top: 4px; color: var(--color-accent); }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: clamp(52px, 6vw, 88px); padding-top: 20px; border-top: 1px solid var(--color-border); color: var(--color-text-muted); }
.site-footer__bottom a, .site-footer__bottom p { margin: 0; color: inherit; font-size: 12px; font-weight: 600; letter-spacing: .055em; line-height: 1.45; text-transform: uppercase; }
.site-footer__bottom a { text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--color-accent) 72%, transparent); text-underline-offset: 5px; transition: color 180ms var(--ease-out); }
.site-footer__bottom a:hover, .site-footer__bottom a:focus-visible { color: var(--color-text); }

@supports (animation-timeline: view()) {
  .reveal { opacity: 0; animation: reveal-up 420ms var(--ease-out) both; animation-timeline: view(); animation-range: entry 10% cover 30%; }
  .reveal--first, .reveal--second { animation-timeline: auto; animation-range: normal; }
  .reveal--first { animation-delay: 40ms; }
  .reveal--second { animation-delay: 110ms; }
  .product-showcase { animation: product-showcase-reveal linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
}

@keyframes reveal-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes product-showcase-reveal { from { opacity: .52; transform: translate3d(0, 16px, 0) scale(.985); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); } }

@media (hover: hover) and (pointer: fine) {
  .service-item:hover { color: var(--color-text); }
}

@media (max-width: 1023px) {
  .container { width: min(100% - 64px, var(--container)); }
  .nav-shell { gap: 20px; }
  .hero__grid { gap: 44px; }
  .hero__grid { grid-template-columns: minmax(0, 7fr) minmax(330px, 5fr); }
  .section-heading { grid-template-columns: 1fr 280px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .site-footer__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px 28px; }
  .site-footer__contacts { grid-column: span 2; }
}

@media (max-width: 767px) {
  body { background-attachment: fixed; }
  .container { width: min(100% - 40px, var(--container)); }
  .site-header { position: sticky; }
  .nav-shell { grid-template-columns: auto minmax(0, 1fr) auto; min-height: 64px; gap: 8px; }
  .brand-mark { width: 112px; height: 38px; transform: scale(.9); transform-origin: left center; }
  .brand-mark img { width: 112px; height: 38px; }
  .desktop-nav { display: none; }
  .main-nav { position: relative; display: block; grid-column: 3; grid-row: 1; justify-self: end; }
  .main-nav > summary { display: flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; color: var(--color-text); }
  .main-nav > summary i { display: block; width: 18px; height: 18px; background: linear-gradient(to bottom, currentColor 0 1px, transparent 1px 8px, currentColor 8px 9px, transparent 9px 16px, currentColor 16px 17px, transparent 17px); transition: color 180ms var(--ease-out); }
  .main-nav > summary i::before { display: none; }
  .main-nav[open] > summary i { color: var(--color-accent); transform: none; }
  .main-nav nav { position: fixed; z-index: 1; top: 64px; right: 0; bottom: 0; left: 0; display: grid; align-content: start; gap: 8px; padding: 34px 20px 52px; overflow-y: auto; border-top: 1px solid var(--color-border); background: #0d0d0f; clip-path: inset(0 0 100% 0); opacity: 0; pointer-events: none; visibility: hidden; transform: translate3d(0, -10px, 0) scale(.985); transform-origin: top right; transition: clip-path 280ms cubic-bezier(.23, 1, .32, 1), transform 280ms cubic-bezier(.23, 1, .32, 1), opacity 160ms ease, visibility 0s linear 280ms; }
  .main-nav[open] nav { clip-path: inset(0); opacity: 1; pointer-events: auto; visibility: visible; transform: translate3d(0, 0, 0) scale(1); transition: clip-path 280ms cubic-bezier(.23, 1, .32, 1), transform 280ms cubic-bezier(.23, 1, .32, 1), opacity 160ms ease; }
  .main-nav nav > * { opacity: 0; transform: translate3d(0, -8px, 0); transition: transform 240ms cubic-bezier(.23, 1, .32, 1), opacity 150ms ease; }
  .main-nav[open] nav > * { opacity: 1; transform: translate3d(0, 0, 0); }
  .main-nav[open] nav > :nth-child(1) { transition-delay: 40ms; }
  .main-nav[open] nav > :nth-child(2) { transition-delay: 75ms; }
  .main-nav[open] nav > :nth-child(3) { transition-delay: 110ms; }
  .main-nav[open] nav > :nth-child(4) { transition-delay: 145ms; }
  .main-nav a { position: relative; display: flex; width: fit-content; min-height: 46px; align-items: center; padding: 0; color: var(--color-text); font-size: clamp(1.35rem, 7vw, 1.8rem); font-weight: 600; letter-spacing: -.03em; }
  .main-nav a::after { bottom: 2px; }
  .mobile-nav-group { margin: 0; border-bottom: 1px solid var(--color-border); }
  .mobile-nav-group summary { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 18px; color: var(--color-text); cursor: pointer; font-size: clamp(1.35rem, 7vw, 1.8rem); font-weight: 600; letter-spacing: -.03em; touch-action: manipulation; transition: color 180ms ease, transform 140ms cubic-bezier(.23, 1, .32, 1); }
  .mobile-nav-group.is-current summary { color: var(--color-accent); }
  .mobile-nav-group summary::-webkit-details-marker { display: none; }
  .mobile-nav-group summary i { position: relative; display: block; width: 16px; height: 16px; flex: none; background: transparent; }
  .mobile-nav-group summary i::before, .mobile-nav-group summary i::after { position: absolute; top: 7px; left: 1px; width: 14px; height: 1px; background: var(--color-text-muted); content: ""; transition: transform 180ms var(--ease-out), background-color 180ms ease; }
  .mobile-nav-group summary i::before { transform: none; }
  .mobile-nav-group summary i::after { transform: rotate(90deg); }
  .mobile-nav-group[open] summary i::before, .mobile-nav-group[open] summary i::after { background: var(--color-accent); }
  .mobile-nav-group[open] summary i::after { transform: rotate(0); }
  .mobile-nav-group summary:active { transform: scale(.985); }
  .mobile-nav-group__links { display: grid; grid-template-rows: 0fr; opacity: 0; pointer-events: none; transform: translate3d(0, -6px, 0); transition: grid-template-rows 240ms cubic-bezier(.23, 1, .32, 1), transform 220ms cubic-bezier(.23, 1, .32, 1), opacity 150ms ease; }
  .mobile-nav-group__links-inner { display: grid; min-height: 0; gap: 4px; overflow: hidden; padding: 0; }
  .mobile-nav-group[open] .mobile-nav-group__links { grid-template-rows: 1fr; opacity: 1; pointer-events: auto; transform: translate3d(0, 0, 0); }
  .main-nav .mobile-nav-group__links a { min-height: 44px; color: var(--color-text-muted); font-size: clamp(1.06rem, 5.5vw, 1.32rem); font-weight: 600; letter-spacing: -.025em; opacity: 0; transform: translate3d(0, -5px, 0); transition: color 180ms ease, transform 200ms cubic-bezier(.23, 1, .32, 1), opacity 140ms ease; }
  .mobile-nav-group[open] .mobile-nav-group__links-inner { padding: 0 0 18px; }
  .mobile-nav-group[open] .mobile-nav-group__links a { opacity: 1; transform: translate3d(0, 0, 0); }
  .mobile-nav-group[open] .mobile-nav-group__links a:nth-child(1) { transition-delay: 35ms; }
  .mobile-nav-group[open] .mobile-nav-group__links a:nth-child(2) { transition-delay: 60ms; }
  .mobile-nav-group[open] .mobile-nav-group__links a:nth-child(3) { transition-delay: 85ms; }
  .mobile-nav-group[open] .mobile-nav-group__links a:nth-child(4) { transition-delay: 110ms; }
  .mobile-nav-group[open] .mobile-nav-group__links a:nth-child(5) { transition-delay: 135ms; }
  .main-nav .mobile-nav-group__links a::after { bottom: 4px; }
  .mobile-nav-direct { min-height: 64px !important; margin: 0; }
  .main-nav .mobile-nav-order { display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: center; margin-top: auto; padding: 0 20px; background: var(--color-accent); color: var(--color-on-accent); font-size: 14px; font-weight: 800; letter-spacing: -.015em; text-decoration: none; transition: background-color 180ms var(--ease-out), transform 180ms var(--ease-out); }
  .main-nav .mobile-nav-order::after { display: none; }
  .main-nav .mobile-nav-order:active { background: var(--color-accent-hover); transform: scale(.99); }
  .nav-shell > .header-order-button { display: none; }
  .hero { min-height: calc(100vh - 64px); min-height: calc(100svh - 64px); padding-block: 52px 88px; }
  .page__ambient { display: none; }
  .hero__grid { grid-template-columns: 1fr; gap: 48px; }
  .hero__content { padding: 0; }
  .hero__proof { gap: 14px; }
  .hero__scroll-cue { display: none; }
  h1 { max-width: 100%; font-size: clamp(2.45rem, 10.3vw, 3.1rem); letter-spacing: -.04em; }
  .hero__rotator { margin-top: 22px; font-size: .57em; }
  .hero__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero__fact--primary { grid-column: 1 / -1; grid-template-columns: max-content minmax(0, 1fr); gap: 10px; }
  .hero__fact + .hero__fact { padding-top: 22px; }
  .hero__fact { padding: 22px 6px; }
  .hero__fact--primary { padding: 26px 0 26px 10px; }
  .hero__fact:not(.hero__fact--primary) { min-height: 132px; gap: 14px; }
  .hero__fact dt { font-size: clamp(3rem, 16vw, 4.5rem); }
  .hero__fact--primary dt { font-size: clamp(5.5rem, 27vw, 7.25rem); }
  .hero__fact dd { font-size: 13px; }
  .hero__fact--primary dd { font-size: clamp(.8rem, 3.8vw, .95rem); }
  .hero__awards { grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 1fr)); }
  .hero__award { height: 64px; padding: 12px 10px; }
  .hero__award img { max-height: 38px; }
  .section { padding: 52px 0; }
  .section-heading, .section-heading--row { display: block; margin-bottom: 38px; }
  .section-heading h2 { font-size: 11px; }
  .section-heading p { margin-top: 20px; }
  .section-heading--row .text-link { margin-top: 26px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-item { min-height: 198px; }
  .service-item__face { padding: 20px 18px; }
  .service-item h3 { max-width: 11ch; font-size: clamp(1.12rem, 5.8vw, 1.42rem); }
  .service-item__face--back h3 { margin-bottom: 12px; font-size: clamp(1.04rem, 5.2vw, 1.25rem); }
  .service-item__tags { gap: 6px; margin-top: 20px; }
  .service-item__tags li { padding: 7px 8px; font-size: 10px; }
  .service-item__face--back p { font-size: 13px; line-height: 1.45; }
  .service-item__logo { top: 18px; right: 18px; width: 70px; height: 70px; }
  .service-item__logo--java { width: 80px; height: 80px; }
  .services-showcase__bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(184px, auto); }
  .services-showcase__item { min-height: 184px; padding: 28px 18px 20px; }
  .services-showcase__item:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 272px; padding: 30px 26px 26px; }
	.services-showcase__item--ai { grid-template-rows: auto 1fr auto; }
	.services-showcase__item.services-showcase__item--ai .services-showcase__ai-intro { gap: 14px; }
	.services-showcase__item.services-showcase__item--ai .services-showcase__ai-mark { font-size: clamp(4rem, 20vw, 5.5rem); }
	.services-showcase__item.services-showcase__item--ai .services-showcase__ai-copy { font-size: clamp(1.1rem, 5vw, 1.34rem); line-height: 1.08; }
  .services-showcase__icon { right: 20px; bottom: 28px; width: min(24vw, 92px); }
  .services-showcase__item:first-child .services-showcase__icon--persistent { display: none; }
  .services-showcase__icon--persistent { right: auto; bottom: 50%; left: 50%; width: min(43vw, 188px); transform: translate3d(-50%, 50%, 0); }
  .services-showcase__item strong { max-width: 12ch; font-size: clamp(1.1rem, 5vw, 1.34rem); }
  .services-showcase__item:first-child strong { max-width: 13ch; font-size: clamp(1.46rem, 6.8vw, 1.8rem); }
  .services-showcase__item span { max-width: 18ch; padding: 0 22px 18px 0; font-size: 12px; line-height: 1.45; }
  .services-showcase__item:not(:first-child) > span { display: none; }
  .services-showcase__item:first-child > span { max-width: 28ch; padding: 0 40px 20px 0; font-size: 13px; }
	.services-showcase__item.services-showcase__item--ai .services-showcase__ai-description { max-width: 28ch; padding: 0 34px 18px 0; font-size: 12px; }
  .services-showcase__index { right: 18px; bottom: 20px; }
  .products__title { margin-bottom: 38px; font-size: 11px; }
  .product-tabs { gap: 8px 18px; margin-bottom: 18px; }
  .product-tab { min-height: 44px; padding: 0; font-size: 14px; }
  .product-showcase { min-height: 0; height: 640px; }
  .product-showcase { --product-peek: 18px; }
  .product-showcase__scene { grid-template-columns: 1fr; grid-template-rows: 360px 280px; }
  .product-showcase__preview { top: 12px; bottom: 12px; width: 54px; }
  .product-showcase__preview--previous { transform: translateX(-58%); }
  .product-showcase__preview--next { transform: translateX(58%); }
  .product-showcase__content { min-height: 0; padding: 32px 26px; }
  .product-showcase__content h3 { font-size: clamp(2.35rem, 11vw, 3.5rem); }
  .product-showcase__content > p:not(.product-showcase__index) { margin-top: 22px; font-size: 15px; }
  .product-showcase__content .text-link { margin-top: 28px; }
  .product-visual, .product-visual__image { min-height: 0; }
  .product-visual__image { object-position: 60% center; }
  .clients { padding-block: 52px; }
  .clients__heading { margin-bottom: 38px; }
  .clients__heading h2 { font-size: 11px; }
  .clients__rail { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
  .clients__track { animation-duration: 32s; }
  .client-logo { width: min(44vw, 168px); height: 92px; padding: 17px 20px; }
  .client-logo img { max-width: 124px; max-height: 40px; }
  .client-logo--emblem { padding: 4px 10px; }
  .client-logo--emblem img { max-width: 112px; max-height: 72px; }
  .client-logo--large-canvas { padding: 0 10px; }
  .client-logo--large-canvas img { transform: scale(2.08); }
  .client-logo--large-canvas:hover img { transform: scale(2.16); }
  .site-footer { padding: 56px 0 24px; }
  .site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 28px; }
  .site-footer__brand { grid-column: 1 / -1; }
  .site-footer__bottom { flex-direction: column; gap: 12px; margin-top: 48px; }
}

@media (max-width: 359px) {
  .nav-shell { gap: 6px; }
  .brand-mark { width: 92px; height: 34px; transform: none; }
  .brand-mark img { width: 92px; height: 34px; }
  .main-nav > summary { min-width: 40px; min-height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
  .product-showcase { opacity: 1 !important; transform: none !important; animation: none !important; }
  .service-item__card { transform: none !important; }
  .service-item__face { transform: none !important; transition: opacity 160ms ease !important; }
  .service-item__face--front { opacity: 1; }
  .service-item__face--back { opacity: 0; }
  .service-item:hover .service-item__face--front, .service-item:focus-visible .service-item__face--front { opacity: 0; }
  .service-item:hover .service-item__face--back, .service-item:focus-visible .service-item__face--back { opacity: 1; }
  .page__ambient { display: none; }
  .hero__rotator { opacity: 1; transform: none; }
  .hero__scroll-cue-arrow { animation: none; }
  .clients__track { width: max-content; animation: none; }
  .clients__group[aria-hidden="true"] { display: none; }
}

@media (prefers-reduced-motion: reduce) and (max-width: 767px) {
  .service-item.is-flipped .service-item__face--front { opacity: 0; }
  .service-item.is-flipped .service-item__face--back { opacity: 1; }
}

@media (max-width: 767px) {
  .main-nav nav { display: flex; flex-direction: column; align-items: stretch; padding-bottom: max(20px, env(safe-area-inset-bottom)); }
  .main-nav .mobile-nav-order { position: sticky; z-index: 2; bottom: 0; width: calc(100% + 40px); min-height: 58px; flex: 0 0 auto; margin-top: auto; margin-inline: -20px; border-top: 1px solid color-mix(in srgb, var(--color-on-accent) 28%, transparent); border-radius: 0; background: var(--color-accent); box-shadow: 0 -12px 24px rgba(13, 13, 15, .38); color: #fff !important; }
}
