@charset "UTF-8";
@font-face {
  font-family: "Inter Variablefont Opsz Wght";
  src: url("/media/lynx/fonts/inter-variable-live.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
/* ============================================================
   Lynx Solutions – Main Stylesheet
   ============================================================ */
:root {
  --white: #ffffff;
  --black: #000000;
  --lynx-primary: #F7931E;
  --lynx-secondary: #181F27;
  --lynx-secondary-dark: #121519;
  --gray-200: #e6e6e6;
  --gray-400: #999;
  --gray-bg: #F5F6F6;
  --gray-muted: #555;
  --text-color: rgb(24, 31, 39);
  --timing-fast: 0.2s ease;
  --timing-mid: 0.3s ease;
}

/* Reset & base */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: "Inter Variablefont Opsz Wght", -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text-color);
  background: var(--white);
  line-height: 1.43;
  overflow-x: hidden;
  font-optical-sizing: auto;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
}

/* ============================================================
   Navigation
   ============================================================ */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  height: 72px;
  padding: 0 0 0 32px;
  background-color: var(--lynx-secondary-dark);
  z-index: 100;
  transition: transform var(--timing-mid);
}
.nav--hidden {
  transform: translateY(-100%);
}

.nav__logo {
  position: relative;
  display: flex;
  align-items: center;
  width: 80px;
  height: 50px;
  margin-right: auto;
  overflow: hidden;
  transition: scale 0.1s ease-out;
}
.nav__logo:hover {
  scale: 1.1;
}
.nav__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nav__links {
  display: flex;
  align-items: center;
  gap: 0;
}

.nav__link {
  position: relative;
  padding: 16px;
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
  transition: color var(--timing-mid);
}
.nav__link::before {
  content: "";
  position: absolute;
  bottom: 12px;
  left: 16px;
  width: 0;
  height: 2px;
  background-color: var(--white);
  transition: width var(--timing-mid);
}
.nav__link:hover::before {
  width: 16px;
}
.nav__link--open {
  color: var(--lynx-primary);
}
.nav__link--open .nav__plus::after {
  height: 0;
}

/* Active nav link — same appearance as inactive; current page indicated by context */
.nav__plus {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 8px;
  vertical-align: middle;
}
.nav__plus::before, .nav__plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--white);
  transition: background-color var(--timing-mid);
}
.nav__plus::before {
  width: 12px;
  height: 2px;
}
.nav__plus::after {
  width: 2px;
  height: 12px;
}

.nav__cta {
  position: relative;
  height: 72px;
  margin-left: 32px;
  padding: 0 40px;
  font-size: 16px;
  font-weight: 800;
  color: var(--black);
  background-color: var(--lynx-primary);
  overflow: hidden;
  transition: 0.1s ease-out;
}

/* Two-parent rule — kept flat */
.nav__cta .ripple,
.nav__logo .ripple {
  position: absolute;
  background-color: var(--lynx-secondary-dark);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 50%;
  mix-blend-mode: overlay;
  animation: directionalHover 0.5s forwards;
}

@keyframes directionalHover {
  0% {
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    width: 200px;
    height: 200px;
    opacity: 0;
  }
}
/* ============================================================
   Nav Dropdowns
   ============================================================ */
.nav__dropdown {
  position: fixed;
  top: 72px;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 0 32px;
  height: 0;
  overflow: hidden;
  background-color: var(--lynx-secondary-dark);
  z-index: 99;
  transition: height 0.3s ease-out;
}
.nav__dropdown.active {
  height: 94px;
}

.nav__dropdown-link {
  display: block;
  padding: 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: border-color var(--timing-fast), color var(--timing-fast);
  white-space: nowrap;
}
.nav__dropdown-link:hover {
  border-color: rgba(255, 255, 255, 0.4);
}
.nav__dropdown-link--view-all::after {
  content: " ↗";
}

.nav__mobile-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 36px;
  height: 36px;
  margin-right: 24px;
  background: none;
}
.nav__mobile-toggle span {
  display: block;
  width: 36px;
  height: 3px;
  background-color: var(--white);
  transition: transform var(--timing-mid), opacity var(--timing-mid);
}
.nav__mobile-toggle.active span:first-child {
  transform: rotate(45deg) translate(4px, 4px);
}
.nav__mobile-toggle.active span:last-child {
  transform: rotate(-45deg) translate(4px, -4px);
}

/* Mobile menu */
.mobile-menu {
  display: none;
  position: fixed;
  top: 72px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--lynx-secondary-dark);
  z-index: 99;
  padding: 48px 32px;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--timing-mid);
}
.mobile-menu.active {
  opacity: 1;
  pointer-events: all;
}

.mobile-menu__links {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 24px;
}
.mobile-menu__links a {
  font-size: 32px;
  font-weight: 900;
  color: var(--white);
  transition: color var(--timing-fast);
}
.mobile-menu__links a:hover {
  color: var(--lynx-primary);
}

.mobile-menu__cta {
  margin-top: 16px;
  color: var(--lynx-primary) !important;
}

/* ============================================================
   Hero
   ============================================================ */
.hero {
  display: flex;
  flex-direction: column;
  background: var(--lynx-secondary-dark);
  margin-bottom: 96px;
  gap: 40px;
  padding-bottom: 60px;
}

.hero__nav-spacer {
  height: 128px;
  flex-shrink: 0;
}

.hero__main {
  display: flex;
  flex-direction: column;
  gap: 40px;
  flex: 1;
}

.hero__title {
  font-size: 137px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: normal;
  color: var(--white);
}

.hero__subtitle-row {
  display: flex;
  align-items: center;
  gap: 32px;
}

.hero__subtitle {
  font-size: 54px;
  font-weight: 900;
  line-height: 1.1;
  color: var(--white);
  width: 592px;
  flex-shrink: 0;
}

.hero__photos {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
}

.hero__collage {
  width: 640px;
  max-width: 100%;
  height: auto;
}

/* ============================================================
   Testimonials Grid (Masonry via CSS columns)
   ============================================================ */
.testimonials {
  /* max-width/padding handled by _1440px-section */
}

.testimonials__masonry {
  column-count: 3;
  column-gap: 40px;
  margin-bottom: -40px;
}

/* ============================================================
   Card
   ============================================================ */
.card {
  break-inside: avoid;
  border: 1px solid var(--gray-200);
  border-radius: 2px;
  padding: 24px;
  margin-bottom: 40px;
  display: inline-flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.card.visible {
  opacity: 1;
  transform: translateY(0);
}

.card__header {
  display: flex;
  align-items: center;
  gap: 16px;
}

.card__headshot {
  width: 90px;
  height: 90px;
  object-fit: cover;
  flex-shrink: 0;
}

.card__info {
  min-width: 0;
}

.card__name {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4px;
  color: var(--text-color);
}

.card__title {
  font-size: 12px;
  font-weight: 400;
  color: var(--text-color);
  line-height: 1.3;
  margin-bottom: 6px;
}

.card__linkedin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: var(--lynx-primary);
  transition: filter var(--timing-fast);
}
.card__linkedin:hover {
  filter: brightness(1.15);
}
.card__linkedin img {
  width: 16px;
  height: 16px;
}

.card__body {
  overflow: hidden;
}

.card__quote-icon {
  float: left;
  width: 72px;
  height: 40px;
  margin: -4px 0 0 0;
}

.card__text {
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.43;
  color: var(--text-color);
  margin-bottom: 8px;
}
.card__text:last-child {
  margin-bottom: 0;
}

.card__logo {
  margin-top: 0;
}
.card__logo img {
  max-height: 40px;
  max-width: 160px;
  width: auto;
}

/* ============================================================
   Footer
   ============================================================ */
.footer {
  display: flex;
  flex-direction: column;
  gap: 40px;
  background-color: var(--lynx-secondary-dark);
  color: var(--white);
  padding: 40px 64px;
}

.footer__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}

.footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.footer__link {
  font-size: 18px;
  font-weight: 700;
  color: var(--white);
  transition: color var(--timing-fast);
}
.footer__link:hover {
  color: var(--lynx-primary);
}

.footer__social {
  display: flex;
  gap: 16px;
}

.footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--white);
  transition: color var(--timing-fast);
}
.footer__social-link:hover {
  color: var(--lynx-primary);
}

.footer__social-icon {
  width: 40px;
  height: 40px;
}

.footer__divider {
  height: 1px;
  background-color: rgba(255, 255, 255, 0.15);
}

.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}

.footer__brand {
  display: flex;
  align-items: center;
  gap: 24px;
}
.footer__brand img {
  height: 52px;
}

.footer__copyright {
  font-size: 12px;
  color: var(--white);
}

.footer__legal {
  display: flex;
  gap: 32px;
}

.footer__legal-link {
  font-size: 13px;
  color: var(--gray-400);
  transition: color var(--timing-fast);
}
.footer__legal-link:hover,
.footer__legal-link:focus-visible,
.lynx-cookie-options:hover,
.lynx-cookie-options:focus-visible {
  color: var(--lynx-primary);
}

/* ============================================================
   About Page — Shared utilities
   ============================================================ */
._1440px-section,
.container {
  max-width: 1440px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 64px;
  padding-right: 64px;
}

.about-h2 {
  font-size: clamp(48px, 6.3vw, 91px);
  font-weight: 100;
  line-height: 1.05;
}
.about-h2 strong {
  font-weight: 900;
}

.about-h2--white,
.about-h2--white strong {
  color: var(--white);
}

/* ============================================================
   About — Hero
   ============================================================ */
.about-hero {
  padding-top: 72px; /* nav height */
  background: var(--lynx-secondary-dark);
}

.about-hero__inner {
  padding-top: 40px;
  padding-bottom: 32px;
}

.about-hero__h1 {
  font-size: clamp(80px, 10vw, 137px);
  font-weight: 900;
  line-height: 1;
  margin-bottom: 40px;
  color: var(--white);
}

.about-hero__text {
  max-width: 900px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.about-hero__subtitle {
  font-size: clamp(28px, 4.24vw, 61px);
  font-weight: 200;
  line-height: 1.1;
  color: var(--white);
}
.about-hero__subtitle strong {
  font-weight: 900;
}

.about-hero__body {
  font-size: 27px;
  font-weight: 300;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.8);
}

/* ============================================================
   About — Approach Pillars (gray)
   ============================================================ */
.about-approach {
  background: var(--gray-bg);
  padding: 64px 0;
}

.about-approach__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.about-pillar__heading {
  font-size: 27px;
  font-weight: 900;
  margin-bottom: 16px;
  color: var(--text-color);
}

.about-pillar p {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
}

/* ============================================================
   About — What We Stand For (dark + value cards)
   ============================================================ */
.about-values {
  background-color: var(--white);
  background-image: url("/media/lynx/e5db10ff828e-67e10647aaedad540295b684_background.jpg");
  background-position: 0 0;
  background-size: auto;
  padding: 64px 0;
  margin-bottom: 96px;
}

.about-values__inner {
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.about-values__header {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.about-values__title {
  font-size: clamp(48px, 6.3vw, 91px);
  font-weight: 100;
  color: var(--white);
}
.about-values__title strong {
  font-weight: 900;
}

.about-values__subtitle {
  font-size: clamp(16px, 1.875vw, 27px);
  color: var(--white);
}

.about-values__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.value-card {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 2px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.value-card--wide {
  grid-column: 1/-1;
}

.value-card__top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.value-card__icon {
  width: 40px;
  height: 40px;
  object-fit: contain;
  flex-shrink: 0;
}

.value-card__heading {
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 900;
  line-height: 1;
}

.value-card__heading--orange {
  color: #F7931E;
}

.value-card__heading--blue {
  color: #FFFFFF;
}

.value-card__heading--salmon {
  color: #CE4F4F;
}

.value-card__heading--green {
  color: #44A04D;
}

.value-card__heading--purple {
  color: #7C70FF;
}

.value-card__tagline {
  font-size: 18px;
  color: var(--white);
}

.value-card__body {
  font-size: 18px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
}

/* ============================================================
   About — Meet the Team
   ============================================================ */
.about-team {
  padding: 0;
}
.about-team ._1440px-section {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
}

.team-member {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1;
}

.team-member--ors {
  grid-column: span 2;
  grid-row: span 3;
  aspect-ratio: unset;
}

.team-member__img-wrap {
  position: absolute;
  inset: 0;
  background: #eee;
  cursor: pointer;
}
.team-member__img-wrap::before {
  content: none;
}

.team-member__ors-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  background: var(--white);
  display: flex;
  flex-direction: column;
  gap: 24px;
  z-index: 2;
}

.team-member__ors-heading {
  font-size: 27px;
  font-weight: 900;
  color: var(--text-color);
}
.team-member__ors-heading span {
  font-weight: 200;
}

.team-member__ors-quote {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-color);
}

.team-member__ors-author {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.team-member__ors-author .team-member__name {
  color: var(--text-color);
}

.team-member__base,
.team-member__hover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: opacity 0.3s ease;
}

.team-member__hover {
  opacity: 0;
}

.team-member__linkedin-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: flex-end;
  padding: 12px;
  z-index: 3;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
}

.team-member__linkedin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #0A66C2;
  border-radius: 4px;
  color: var(--white);
}

.team-member__details {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
  transform: translateY(100%);
  transition: transform 0.3s ease;
  z-index: 2;
}

.team-member__name {
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
}

.team-member__position {
  font-size: 13px;
  color: var(--lynx-primary);
  margin-top: 2px;
}

/* ============================================================
   About — Mission / Vision (dark)
   ============================================================ */
.about-mission {
  background: var(--lynx-secondary);
  padding: 128px 0;
}

.about-mission ._1440px-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  text-align: center;
}

.about-mission__statement {
  font-size: clamp(28px, 3.47vw, 50px);
  font-weight: 200;
  color: var(--white);
  line-height: 1.2;
  max-width: 1312px;
}

.about-mission__divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.about-mission__line {
  width: 100%;
  height: 1px;
  background: var(--lynx-primary);
}

.about-mission__label {
  font-size: 20px;
  font-weight: 700;
  color: var(--white);
  text-transform: uppercase;
  border: 1px solid var(--lynx-primary);
  border-bottom: none;
  padding: 4px 12px;
}

/* ============================================================
   About — People of Lynx
   ============================================================ */
.about-people {
  padding: 80px 0;
}
.about-people ._1440px-section {
  padding-bottom: 32px;
}

.people-slider-wrap {
  overflow: hidden;
}

#people-slider .splide__track {
  overflow: visible;
}
#people-slider .splide__slide {
  padding: 12px;
  background: var(--white);
  border: 1px solid #e0e0e1;
}
#people-slider .splide__slide:nth-child(odd) {
  rotate: 6deg;
}
#people-slider .splide__slide:nth-child(even) {
  rotate: -6deg;
}
#people-slider .splide__slide img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top;
  display: block;
}

/* ============================================================
   About — History (dark)
   ============================================================ */
.about-history {
  background: var(--lynx-secondary-dark);
  padding: 80px 0 0;
}

.history-inner {
  padding-left: 64px;
  padding-right: 64px;
}

.history-slider-wrap {
  margin-bottom: 32px;
}

.history-slide {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  padding-bottom: 80px !important;
}
.history-slide img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.history-event {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.history-event h4 {
  font-size: clamp(24px, 2.77vw, 40px);
  font-weight: 900;
  color: var(--white);
  margin-bottom: 4px;
}
.history-event p {
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.85);
}
.history-event strong {
  color: var(--white);
}

.history-year {
  font-size: clamp(56px, 6.3vw, 91px);
  font-weight: 900;
  color: var(--lynx-primary);
  line-height: 1;
  display: block;
}

/* Splide arrows positioning for history */
#history-slider .splide__arrows {
  z-index: 2;
  position: absolute;
  bottom: 32px;
  left: 0;
  display: flex;
  gap: 32px;
}
#history-slider .splide__arrow {
  position: static;
  transform: none;
  background: transparent;
  border: none;
  cursor: pointer;
  opacity: 1;
}
#history-slider .splide__arrow[disabled] {
  opacity: 0.3;
}

/* History timeline */
.history-timeline {
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding-bottom: 48px;
  overflow-x: auto;
  scrollbar-width: none;
}
.history-timeline::-webkit-scrollbar {
  display: none;
}

.history-timeline__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 40px;
  position: relative;
}
.history-timeline__item--active {
  cursor: pointer;
}
.history-timeline__item--active .history-timeline__dot {
  background: rgba(255, 255, 255, 0.6);
}
.history-timeline__item--active .history-timeline__tick {
  background: rgba(255, 255, 255, 0.5);
}
.history-timeline__item--active .history-timeline__year {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 700;
}
.history-timeline__item--current .history-timeline__dot {
  background: var(--lynx-primary);
  width: 10px;
  height: 10px;
}
.history-timeline__item--current .history-timeline__year {
  color: var(--lynx-primary);
}

.history-timeline__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  margin-bottom: 4px;
  transition: background 0.3s;
}

.history-timeline__tick {
  width: 1px;
  height: 16px;
  background: rgba(255, 255, 255, 0.2);
}

.history-timeline__year {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
  margin-top: 4px;
  white-space: nowrap;
}

/* ============================================================
   About — Learning & Development
   ============================================================ */
.about-learning {
  padding: 80px 0;
}

.about-learning__header {
  margin-bottom: 48px;
}

.about-learning__subtitle {
  font-size: 16px;
  line-height: 1.65;
  max-width: 700px;
}

.fw-light {
  font-weight: 300;
}

.learning-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}

.learning-featured {
  border: 1px solid var(--gray-200);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: 100%;
}
.learning-featured p {
  font-size: 15px;
  line-height: 1.65;
}

.learning-icon {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.learning-featured__title {
  font-size: 20px;
  font-weight: 700;
}

.learning-details {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.learning-detail {
  padding: 24px;
  border: 1px solid var(--gray-200);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.learning-detail p {
  font-size: 15px;
  line-height: 1.65;
}

/* ============================================================
   About — In Numbers
   ============================================================ */
.about-numbers {
  padding: 80px 0;
  background: hsl(214, 16%, 8%);
}

.about-numbers__header {
  margin-bottom: 48px;
}
.about-numbers__header p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.6);
  max-width: 500px;
  margin-top: 8px;
}

.about-numbers .about-h2 {
  color: var(--white);
}

.about-numbers .about-h2 strong {
  color: var(--white);
}

.stats-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}

.stat {
  padding: 24px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}

.stat__number {
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 900;
  color: var(--white);
  line-height: 1;
  margin-bottom: 8px;
}

.stat__label {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.4;
}

/* ============================================================
   About — Our Offices (dark)
   ============================================================ */
.about-offices {
  background: hsl(214, 16%, 8%);
  color: var(--white);
  padding: 64px;
  overflow: hidden;
}

.offices-h2 {
  margin-bottom: 32px;
}

:is(#offices-slider, #careers-offices-slider) {
  position: relative;
}

.office-slide {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  border: none;
  align-items: center;
}
.office-slide img {
  width: 100%;
  object-fit: cover;
  object-position: top;
  aspect-ratio: 4/2;
}

.office-slide {
  position: relative !important;
}

.office-event {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 80px;
}
.office-event p {
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 1.4;
}

.office-address {
  display: flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
}
.office-address p {
  font-size: 14px;
}

.office-city {
  font-size: 50px;
  font-weight: 900;
  line-height: 1;
  color: var(--lynx-primary);
  position: absolute;
  bottom: 4px;
  left: 60px;
}
.office-city > span {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  padding: 2px 4px;
  font-size: 12px;
  color: hsl(212, 24%, 12%);
  background: var(--lynx-primary);
  border-radius: 2px;
  font-weight: 900;
}

:is(#offices-slider, #careers-offices-slider) .splide__arrows {
  position: absolute;
  bottom: 10px;
  left: 0;
  display: flex;
  align-items: center;
  gap: 374px;
  z-index: 2;
}

:is(#offices-slider, #careers-offices-slider) .splide__arrow {
  position: static;
  transform: none;
  background: transparent;
  opacity: 1;
  width: auto;
  height: auto;
}
:is(#offices-slider, #careers-offices-slider) .splide__arrow img {
  width: 63px;
  height: 35px;
}

:is(#offices-slider, #careers-offices-slider) .splide__pagination {
  display: none;
}

/* ============================================================
   Page Hero (shared across Services, Industries, Careers, Insights, etc.)
   ============================================================ */
.page-hero {
  background: var(--white);
}

.page-hero__inner {
  max-width: 1440px;
  margin: 0 auto 96px;
  padding: 0 64px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.page-hero__nav-spacer {
  height: 128px;
}

.page-hero__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.page-hero__h1 {
  font-size: clamp(80px, 10vw, 137px);
  font-weight: 900;
  line-height: 1;
}

.page-hero__h3-group {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.page-hero__h3 {
  font-size: clamp(28px, 3.75vw, 54px);
  font-weight: 900;
  line-height: 1.1;
}

.page-hero__h3-light {
  font-weight: 200;
}

.page-hero__body-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 1000px;
}
.page-hero__body-group p {
  font-size: 18px;
  line-height: 1.6;
}

/* ============================================================
   Services — Cards
   ============================================================ */
.services-cards__inner {
  margin-bottom: 96px;
}

.industries_wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

@media (max-width: 767px) {
  .industries_wrapper {
    grid-template-columns: 1fr;
  }
}
.industry_wrapper {
  overflow: hidden;
}
.industry_wrapper:hover .industry_description {
  transform: translateY(0);
}

.svc-card {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
  height: 420px;
  background-position: 0px 0px, 50% center;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  text-decoration: none;
}

.ai-service-card {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/89b86383b4bc-67f4bdc54cfdc916cc4ef50e_aicard.jpg");
}

.web_dev {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/9c601c038dfb-67f3cce63338282720c252d0_webdev.jpg");
}

.mobile_dev {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/9d30b36ea299-67cff49ca4e41b0ca4297d3e_mobile-development-hero.jpg");
}

.ui_ux_design {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/e0d6f83d1f98-67f3cce53fc51e8a9912e4d4_uiux.jpg");
}

.qa-service-card {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/e36fc9c79b99-67ed26d35391adff2a7d85d4_qa-hero.jpg");
}

.project-management-card {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/c10073227a22-67ed27be311a66b57592219e_project-management-hero.jpg");
}

.sports_fitness {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/0fc110d869d7-67f3cee6bd205bc025869fc8_sport.jpg");
}

.e_learning {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/2d559a0bd2d4-67f8b163630dd52ec41f6b08_student-849825.jpg");
}

.video_industry {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/fab04924c640-65fd627c12ebf37319315590_video_streaming_production.jpg");
}

.food_beverage {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/481d9b27e0b7-67f3cee6abd590a6b6906864_foodandbeverage.jpg");
}

.industry_description {
  display: flex;
  flex-direction: column;
  gap: 20px;
  background-color: var(--white);
  max-width: 90%;
  padding: 24px 24px 0;
  transform: translateY(76px);
  transition: transform 0.2s;
}
.industry_description h5 {
  font-size: 27px;
  font-weight: 900;
  color: var(--text-color);
  line-height: 1.2;
}
.industry_description .hidding_paragraph {
  font-size: 18px;
  color: var(--text-color);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* ============================================================
   Insights
   ============================================================ */
.insights-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.insights-inner--articles {
  margin-bottom: 96px;
  gap: 64px;
}

.insights-subtitle {
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 24px;
}

/* Featured article */
.blog-featured {
  display: flex;
  gap: 40px;
  align-items: center;
  margin-top: 112px;
  text-decoration: none;
  color: var(--text-color);
}
.blog-featured:hover .blog-featured__title {
  color: var(--lynx-primary);
}

.blog-featured__img {
  flex: 0 0 50%;
  min-width: 0;
}
.blog-featured__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: 90% 50%;
  display: block;
}

.blog-featured__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.blog-featured__title {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  transition: color 0.2s;
}

.blog-featured__excerpt {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
}

/* Category tag */
.blog-tag {
  display: inline-block;
  background: var(--lynx-primary);
  color: var(--white);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 3px 10px;
  align-self: flex-start;
}

/* Read more button (scoped to the Insights wrappers) */
.insights-inner .blog-read-more,
.insights-inner .blog-card__read-more,
.insights-inner--featured .meet_the_team_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--white);
  background: var(--text-color);
  padding: 0 16px;
  height: 48px;
  text-decoration: none;
  align-self: flex-start;
  transition: background 0.2s;
}
.insights-inner .blog-read-more img,
.insights-inner .blog-card__read-more img,
.insights-inner--featured .meet_the_team_btn img {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1);
}
.insights-inner .blog-card__read-more {
  margin-top: 12px;
  margin-bottom: 24px;
}
.insights-inner--featured {
  margin-bottom: 64px;
}

/* Article grid */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.blog-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 420px;
  overflow: hidden;
  text-decoration: none;
  color: var(--text-color);
  transition: opacity 0.2s;
}
.blog-card:hover .blog-card__title {
  color: var(--lynx-primary);
}
.blog-card:focus-visible {
  outline: 3px solid var(--lynx-primary);
  outline-offset: 2px;
}

/* Native post-card cover image fills the card behind the text panel.
   object-position matches live .blog_post background-position:85%. */
.blog-card__cover {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 85% center;
}

/* White title panel sits over the image, live .project_description. */
.blog-card__info {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: var(--white);
  max-width: 90%;
  padding: 24px 24px 0;
}

.blog-card__title {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  transition: color 0.2s;
}

/* Live .blog_post_wrapper p: collapsed until hover/focus, then 70px. */
.blog-card__excerpt {
  font-size: 14px;
  line-height: 1.6;
  color: var(--gray-muted);
  height: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  transition: height 0.2s;
}
.blog-card--overlay:hover .blog-card__excerpt,
.blog-card--overlay:focus-visible .blog-card__excerpt,
.blog-card--overlay:focus-within .blog-card__excerpt {
  height: 70px;
}
@media (max-width: 1024px) {
  .blog-card__excerpt {
    height: 70px;
  }
}
@media (max-width: 767px) {
  .blog-card {
    height: auto;
    min-height: 440px;
    padding-top: 140px;
  }
  .blog-card__info {
    padding: 16px 16px 0;
    max-width: 90%;
  }
  .blog-card__title {
    font-size: 22px;
  }
}

/* ============================================================
   Careers — Layout helpers
   ============================================================ */
.careers-inner {
  margin-bottom: 96px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.careers-inner--no-mb {
  margin-bottom: 0;
}

.careers-full-section {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 96px;
}
.careers-full-section .careers-full-inner {
  margin-bottom: 0;
}

.careers-full-inner {
  /* max-width/padding handled by _1440px-section */
}

/* ============================================================
   Careers — Hero
   ============================================================ */
.careers-h5-light {
  font-size: 27px;
  font-weight: 300;
  line-height: 1.5;
  max-width: 700px;
}

.careers-h5-bold {
  font-size: 27px;
  font-weight: 700;
}

.careers_intro_img {
  height: 328px;
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgb(0, 0, 0)), url("/media/lynx/e27222a95fbd-67ee4cc971d86c70d04bc6a3_human_first_banner_two.jpg");
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
  padding: 64px;
}

.careers-intro-h2 {
  color: var(--white);
}
.careers-intro-h2--black {
  font-weight: 900;
}

/* ============================================================
   Careers — Section headings
   ============================================================ */
.careers-h2 {
  font-size: clamp(48px, 6.3vw, 91px);
  font-weight: 100;
  line-height: 1;
}
.careers-h2--black {
  font-weight: 900;
}
.careers-h2--white {
  color: var(--white);
}

/* ============================================================
   Careers — Open positions
   ============================================================ */
.jobs-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.job_listing_item {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 24px 0 0;
  height: 80px;
  background: rgb(245, 246, 246);
  text-decoration: none;
  color: var(--text-color);
  transition: background 0.15s;
}
.job_listing_item:hover {
  background: #edeef0;
}

.job-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  padding: 0 0 0 24px;
  min-height: 80px;
}

.job-title {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  margin: 0;
}

.job-meta {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  text-transform: uppercase;
  padding-left: 19px;
  padding-right: 19px;
}

.job-arrow-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #F7931E;
  flex-shrink: 0;
  transition: 0.333s;
}
.job-arrow-btn:hover {
  transform: scale(1.1);
}

@media (max-width: 767px) {
  .job_listing_item {
    flex-direction: row;
    align-items: center;
    height: auto;
    padding: 8px 24px 8px 0;
  }
  .job-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-height: auto;
  }
  .job-arrow-btn {
    width: 30px;
    height: 30px;
  }
  .job-arrow-btn img {
    width: 18px;
    height: 18px;
  }
}
/* ============================================================
   Careers — Spring Practice Banner
   ============================================================ */
.spring-practice-banner {
  display: flex;
  flex-direction: row;
  gap: 64px;
  padding: 0 64px 0 0;
  background: var(--lynx-secondary-dark);
  align-items: flex-start;
  overflow: hidden;
}

.spring-practice-img {
  width: auto;
  flex-shrink: 0;
  object-fit: cover;
  display: block;
  max-height: 423px;
}

.spring-practice-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 64px 0;
  flex: 1;
}

.spring-practice-eyebrow {
  font-size: 40px;
  font-weight: 900;
  color: var(--white);
}

.spring-practice-title {
  font-size: clamp(48px, 6.3vw, 91px);
  font-weight: 900;
  color: var(--white);
  line-height: 1;
}

.spring-practice-subtitle {
  font-size: 27px;
  font-weight: 900;
  color: var(--white);
  line-height: 1.3;
}

.spring-practice-cta {
  align-self: flex-start;
}

/* ============================================================
   Careers — Check the vibe slider
   ============================================================ */
#check_the_vibe-slider .splide__list {
  align-items: flex-end;
  height: 500px;
}
@media (min-width: 1441px) {
  #check_the_vibe-slider .splide__list {
    height: 70vh;
  }
}
#check_the_vibe-slider .splide__slide {
  position: relative !important;
  display: grid !important;
  align-items: end;
  width: 65vw !important;
  margin: 0 16px 0 0;
  transition: height 0.3s ease;
  overflow: hidden;
}
#check_the_vibe-slider .splide__slide p {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}
#check_the_vibe-slider .splide__slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#check_the_vibe-slider .splide__slide.is-active p {
  height: 126px;
}
#check_the_vibe-slider .splide__slide.is-active .vibe-attribution {
  margin: 0 0 24px 0;
}
#check_the_vibe-slider .splide__arrows {
  position: absolute;
  bottom: 0;
  right: 64px;
  display: flex;
  gap: 8px;
  z-index: 10;
  transform: translateY(calc(100% + 40px));
}
#check_the_vibe-slider .splide__arrow {
  position: static;
  transform: none;
  background: var(--dark);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--white);
  width: 48px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  transition: background 0.2s;
}
#check_the_vibe-slider .splide__arrow:hover {
  background: var(--secondary);
}
#check_the_vibe-slider .splide__pagination {
  counter-reset: pagination-num;
  bottom: 0;
  transform: translateY(calc(100% + 40px));
  width: fit-content;
  padding: 0 40px;
  border-top: 2px solid;
}
#check_the_vibe-slider .splide__pagination li button {
  width: 40px;
  height: 48px;
  margin-top: 9px;
  font-size: 18px;
  background: transparent;
  border-radius: 0;
  opacity: 1;
  transition: all 0.2s;
}
#check_the_vibe-slider .splide__pagination li button.is-active {
  border-top: 3px solid #181F27;
  font-weight: 900;
}
#check_the_vibe-slider .splide__pagination li button:hover {
  color: var(--white);
  background-color: #181F27;
}
#check_the_vibe-slider .splide__pagination__page::before {
  counter-increment: pagination-num;
  content: counter(pagination-num);
}

.service-description {
  position: relative;
  width: 560px;
  padding: 24px 40px 0;
  color: #000;
  z-index: 1;
  background-color: var(--white);
  transition: all 0.3s ease;
}

.h5_testimonial {
  font-size: 27px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.3;
  color: var(--text-color);
}

.vibe-attribution {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  transition: margin 0.3s ease;
}

/* Check-the-vibe slider — responsive slide/description widths (live values). */
@media (max-width: 1200px) {
  #check_the_vibe-slider .splide__list {
    height: 400px;
  }
  #check_the_vibe-slider .splide__slide .service-description {
    padding: 24px 24px 0;
  }
}
@media (max-width: 991px) {
  #check_the_vibe-slider {
    padding-left: 32px;
    padding-right: 32px;
  }
  #check_the_vibe-slider .splide__slide .service-description {
    width: 320px;
    max-width: 100%;
    padding: 24px 24px 0;
  }
  .h5_testimonial {
    font-size: 21px;
  }
}
@media (max-width: 767px) {
  #check_the_vibe-slider {
    padding-left: 16px;
    padding-right: 16px;
  }
  #check_the_vibe-slider .splide__slide {
    width: 90vw !important;
    max-width: 90vw;
    grid-template-columns: minmax(0, 1fr);
  }
  #check_the_vibe-slider .splide__slide .service-description {
    width: 288px;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 16px 16px 0;
  }
  #check_the_vibe-slider .splide__slide .vibe-attribution {
    font-size: 12px;
  }
  .h5_testimonial {
    font-size: 18px;
  }
}
@media (max-width: 479px) {
  #check_the_vibe-slider {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ============================================================
   Careers — Hiring process
   ============================================================ */
.hiringprocess {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.expertise {
  display: flex;
  flex-direction: row;
  gap: 40px;
  padding: 24px 24px 24px 40px;
  border: 1px solid var(--gray-200);
  background: var(--white);
  align-items: center;
}

.expertise-num {
  font-size: 40px;
  font-weight: 900;
  color: var(--text-color);
  flex-shrink: 0;
  line-height: 1;
  min-width: 32px;
}

.expertise-content {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}
.expertise-content p {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
}

.expertise-title {
  font-size: 21px;
  font-weight: 900;
  line-height: 1.3;
}

/* ============================================================
   Careers — Student corner
   ============================================================ */
.student-corner-section {
  background: var(--text-color);
  padding: 0;
  margin-bottom: 96px;
}
.student-corner-section .careers-full-inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-top: 64px;
  padding-bottom: 64px;
}
.student-corner-section h2, .student-corner-section__h2 {
  color: var(--white);
}

.student-corner-subtitle {
  font-size: 27px;
  font-weight: 900;
  color: var(--white);
  line-height: 1.4;
}

.student-corner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.student-corner-image {
  position: relative;
  overflow: hidden;
}
.student-corner-image img {
  width: 100%;
  height: 282px;
  object-fit: cover;
  display: block;
}

.student-city-label {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 40px;
  font-weight: 900;
  color: var(--white);
  padding: 24px;
  background: none;
}

/* ============================================================
   Careers — Benefits
   ============================================================ */
.benefits-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.benefitfeatured {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  grid-row: span 5;
}
.benefitfeatured p {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
}

.benefit-featured-title {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
}

.benefit {
  display: flex;
  flex-direction: row;
  gap: 24px;
  padding: 24px;
  border: 1px solid var(--gray-200);
  background: var(--white);
  align-items: center;
}
.benefit img {
  flex-shrink: 0;
}
.benefit p {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
}

/* Careers — single-column mobile composition for hiring, benefits, students. */
@media (max-width: 991px) {
  .hiringprocess,
  .benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .benefitfeatured {
    grid-row: auto;
  }
}
@media (max-width: 767px) {
  .hiringprocess,
  .benefits-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .expertise {
    min-height: 110px;
  }
  .student-corner-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .student-city-label {
    max-width: 100%;
    font-size: 28px;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 479px) {
  .expertise,
  .benefit,
  .benefitfeatured {
    gap: 24px;
    padding: 12px 12px 12px 24px;
  }
  .student-city-label {
    font-size: 24px;
  }
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1200px) {
  .testimonials__masonry {
    column-count: 2;
  }
  .hero__title {
    font-size: 100px;
  }
  .hero__subtitle {
    font-size: 42px;
    width: auto;
    flex: 1;
  }
  .hero__collage {
    width: 100%;
  }
  .hero {
    min-height: 600px;
  }
}
@media (max-width: 991px) {
  .nav__links,
  .nav__cta {
    display: none;
  }
  .nav__mobile-toggle {
    display: flex;
  }
  .mobile-menu {
    display: block;
  }
  .hero {
    min-height: auto;
    padding: 0 32px 60px;
  }
  .hero__nav-spacer {
    height: 96px;
  }
  .hero__title {
    font-size: 72px;
  }
  .hero__subtitle {
    font-size: 36px;
    width: auto;
  }
  .hero__subtitle-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .hero__collage {
    width: 100%;
  }
  .testimonials {
    padding: 0 32px;
  }
  .footer {
    padding: 40px 32px;
  }
}
@media (max-width: 768px) {
  .testimonials__masonry {
    column-count: 1;
  }
  .hero {
    padding: 0 16px 40px;
  }
  .hero__nav-spacer {
    height: 80px;
  }
  .hero__title {
    font-size: 48px;
  }
  .hero__subtitle {
    font-size: 28px;
  }
  .testimonials {
    padding: 0 16px;
  }
  .footer {
    padding: 40px 16px;
  }
  .footer__top {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer__nav {
    gap: 20px;
  }
  .footer__legal {
    gap: 20px;
    flex-wrap: wrap;
  }
}
/* ============================================================
   Animations
   ============================================================ */
.hero__title,
.hero__subtitle-row {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.6s ease forwards;
}

.hero__title {
  animation-delay: 0.1s;
}

.hero__subtitle-row {
  animation-delay: 0.25s;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ============================================================
   Shared — Button utilities
   ============================================================ */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  background: var(--lynx-primary);
  color: var(--white);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s;
}
.btn-primary:hover {
  opacity: 0.85;
}

/* Large display heading — shared across multiple sections */
.home-values__title,
.home-services__title,
.home-testimonials__title,
.careers-intro-h2,
.student-corner-section h2,
.student-corner-section__h2 {
  font-size: 91px;
  font-weight: 100;
  line-height: 1;
}

/* Careers display headings and intro image — live responsive sizes. */
@media (max-width: 991px) {
  .careers-h2,
  .careers-intro-h2,
  .student-corner-section h2,
  .student-corner-section__h2 {
    font-size: 50px;
  }
}
@media (max-width: 767px) {
  .careers-h2,
  .careers-intro-h2,
  .student-corner-section h2,
  .student-corner-section__h2 {
    font-size: 34px;
  }
  .careers_intro_img {
    height: auto;
    min-height: 200px;
    padding: 24px;
  }
}

/* ============================================================
   Custom Cursor (homepage, desktop only)
   ============================================================ */
@media (min-width: 1023px) {
  #customCursor {
    position: fixed;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background-color: #ffffff;
    pointer-events: none;
    z-index: 9999;
    mix-blend-mode: exclusion;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease-out, height 0.3s ease-out, width 0.3s ease-out;
  }
}
/* ============================================================
   Home — Hero
   ============================================================ */
.home-hero__highlight {
  background-color: var(--lynx-primary);
  opacity: 1;
  filter: blur(80px);
  mix-blend-mode: overlay;
  border-radius: 50%;
  width: 300px;
  height: 300px;
  position: absolute;
  transform: translate(-50%, -50%);
  display: none;
  pointer-events: none;
  z-index: 3;
}

.home-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  margin-top: 72px;
  background: #000;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 64px;
}

.home-hero__bg-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.home-hero__fg-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.home-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.home-hero__h1 {
  font-size: 137px;
  font-weight: 100;
  line-height: 0.9;
  color: var(--white);
  margin: 0;
}

.home-hero__h1-bold {
  font-weight: 900;
}

.home-hero__subtitle {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  color: var(--white);
  margin: 0;
}

/* ============================================================
   Home — Intro (dark gradient section)
   ============================================================ */
.home-intro {
  background: var(--lynx-secondary);
  background: linear-gradient(180deg, var(--lynx-secondary) 60%, #0d1219 100%);
  margin-bottom: 96px;
}

.home-intro__inner {
  /* max-width/padding handled by _1440px-section */
}

.home-intro__row {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center;
  padding: 64px 0;
}

.home-intro__img {
  width: 408px;
  height: 612px;
  object-fit: cover;
  flex-shrink: 0;
}

.home-intro__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.home-intro__content p {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.home-intro__group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.home-intro__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.home-intro__light {
  font-weight: 300;
}

.home-intro__lead,
.home-intro__trust-title {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  color: var(--white);
  margin: 0;
}

.home-intro__certs-title {
  font-size: 22px;
  font-weight: 900;
  color: var(--white);
  margin: 0;
}

.home-intro__certs {
  display: flex;
  gap: 16px;
  align-items: center;
}

/* ============================================================
   Home — Values slider
   ============================================================ */
.home-values {
  background: var(--white);
  padding: 0;
  overflow: visible;
  margin-bottom: 96px;
}

.home-values__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.home-values__title,
.home-services__title {
  color: var(--text-color);
  margin: 0;
}

.home-values__title-bold {
  font-weight: 900;
}

.home-values__subtitle {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  color: var(--text-color);
  margin: 0;
}

/* Values slider */
#values-slider {
  width: 100%;
}
#values-slider .splide__track {
  overflow: visible;
  height: 55vh;
}
#values-slider .splide__list {
  align-items: center;
  height: 100%;
  gap: 16px;
  padding-right: 16px !important;
  margin-left: -16px !important;
}
#values-slider .splide__slide {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 80%;
  transition: all 0.3s ease;
  overflow: hidden;
  background-color: #c8c8c8;
}
#values-slider .splide__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: hsla(0, 0%, 0%, 0.25);
}
#values-slider .splide__slide.is-active {
  height: 100%;
}
#values-slider .splide__slide.is-active span {
  transform: translateY(0);
  opacity: 1;
}
#values-slider .splide__slide span {
  position: relative;
  transform: translateY(50px);
  font-size: clamp(37px, 11vw, 137px);
  font-weight: 900;
  line-height: 1;
  text-align: center;
  opacity: 0;
  color: var(--white);
  z-index: 1;
  transition: all 0.3s ease;
}
#values-slider .splide__slide video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
#values-slider .splide__arrow {
  display: none;
}
#values-slider .splide__pagination {
  bottom: -40px;
  width: 100%;
  border-top: 2px solid;
  counter-reset: pagination-counter;
}
#values-slider .splide__pagination li {
  counter-increment: pagination-counter;
}
#values-slider .splide__pagination__page {
  background: transparent;
  border-radius: 0;
  width: 40px;
  height: 48px;
  margin-top: 9px;
  padding: 0;
  font-size: 18px;
  font-weight: 400;
  color: var(--text-color);
  opacity: 1;
  transition: background 0.1s ease-out, color 0.1s ease-out;
  transform: none !important;
}
#values-slider .splide__pagination__page::before {
  content: counter(pagination-counter);
}
#values-slider .splide__pagination__page.is-active {
  background: transparent;
  border-top: 3px solid var(--text-color);
  color: var(--text-color);
  font-weight: 900;
  transform: scale(1.4) !important;
}
#values-slider .splide__pagination__page:hover {
  color: var(--white);
  background-color: var(--text-color);
}
@media (max-width: 991px) {
  #values-slider .splide__pagination__page {
    width: 32px;
    height: 32px;
    margin-top: 6px;
    font-size: 14px;
  }
}

/* ============================================================
   Home — AI section
   ============================================================ */
.home-ai {
  background: var(--lynx-secondary);
  margin-bottom: 96px;
}

.home-ai__inner {
  /* max-width/padding handled by _1440px-section */
}

.home-ai__row {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
  padding: 64px 0;
}

.home-ai__img {
  width: 424px;
  height: 424px;
  object-fit: cover;
  flex-shrink: 0;
}

.home-ai__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.home-ai__light {
  font-weight: 200;
}

.home-ai__title {
  font-size: 40px;
  font-weight: 900;
  line-height: 1.2;
  color: var(--white);
  margin: 0;
}

.home-ai__body {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.home-ai__sub {
  font-size: 27px;
  font-weight: 900;
  color: var(--white);
  margin: 0;
}

.home-ai__sub-light {
  font-weight: 300;
}

.home-ai__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 14px 24px;
  background: var(--lynx-primary);
  color: var(--black);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s;
}
.home-ai__btn:hover {
  opacity: 0.9;
}

/* ============================================================
   Home — Services slider
   ============================================================ */
.home-services {
  background: var(--white);
  padding: 0;
  margin-bottom: 96px;
}

.home-services__inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.home-services__title-bold {
  font-weight: 900;
}

.home-services__subtitle {
  font-size: 27px;
  font-weight: 900;
  color: var(--text-color);
  margin: 0;
}

/* Services slider */
#home-services-slider {
  margin-top: 40px;
  overflow: visible;
}
#home-services-slider .splide__track {
  overflow: visible;
}
#home-services-slider .splide__list {
  align-items: flex-end;
  height: 500px;
}
#home-services-slider .splide__slide {
  position: relative;
  display: grid;
  align-items: end;
  height: 80%;
  margin: 0 16px 0 0;
  overflow: hidden;
  width: 65vw !important;
  transition: all 0.4s ease;
}
#home-services-slider .splide__slide.is-active {
  height: 100%;
}
#home-services-slider .splide__slide.is-active p {
  height: 126px;
}
#home-services-slider .splide__slide a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99;
  text-decoration: none;
}
#home-services-slider .splide__slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#home-services-slider .splide__slide .service-description {
  position: relative;
  width: 560px;
  padding: 24px 40px 0;
  color: #000;
  z-index: 1;
  background-color: var(--white);
}
#home-services-slider .splide__slide .service-description span {
  display: block;
  padding-bottom: 12px;
  font-size: 61px;
  font-weight: 900;
  line-height: 1;
  color: var(--text-color);
}
#home-services-slider .splide__slide p {
  height: 0;
  overflow: hidden;
  margin: 0;
  transition: all 0.4s ease;
  font-size: 14px;
  line-height: 1.6;
}
#home-services-slider .splide__arrow--prev, #home-services-slider .splide__arrow--next {
  display: none;
}
#home-services-slider .splide__pagination {
  counter-reset: pagination-num 0;
  bottom: -10px;
  transform: translateY(140%);
  width: fit-content;
  padding: 0 40px;
  border-top: 2px solid var(--text-color);
}
#home-services-slider .splide__pagination li {
  counter-increment: pagination-num;
}
#home-services-slider .splide__pagination li button {
  width: 40px;
  height: 48px;
  margin-top: 9px;
  font-size: 18px;
  background: transparent;
  border-radius: 0;
  opacity: 1;
  transition: all 0.2s ease;
  color: var(--text-color);
}
#home-services-slider .splide__pagination li button::before {
  content: counter(pagination-num);
}
#home-services-slider .splide__pagination li button.is-active {
  border-top: 3px solid var(--text-color);
  font-weight: 900;
}
#home-services-slider .splide__pagination li button:hover {
  color: var(--white);
  background-color: var(--text-color);
}

/* ============================================================
   Home — Testimonials
   ============================================================ */
.home-testimonials {
  background: var(--lynx-secondary-dark);
  padding: 0;
}

.home-testimonials__inner {
  padding-top: 64px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.home-testimonials__title {
  color: var(--white);
  margin: 0;
}

.home-testimonials__title-bold {
  font-weight: 900;
}

/* Testimonials accordion panel component */
.wfTestimonials {
  display: flex;
  align-items: stretch;
  gap: 16px;
}

.wfTestimonial {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  gap: 40px;
  min-width: calc(100% - 354px);
  min-height: 254px;
  padding: 24px;
  color: var(--white);
  background-color: hsl(214, 16%, 8%);
  border: 1px solid hsla(0, 0%, 0%, 0.6);
  transition: all 300ms ease-out;
  overflow: hidden;
}
.wfTestimonial::after {
  content: "";
  position: absolute;
  inset: 0%;
  mix-blend-mode: overlay;
  background-color: hsla(0, 0%, 100%, 0.2);
  pointer-events: none;
  z-index: 0;
}
.wfTestimonial > * {
  position: relative;
  z-index: 1;
}
.wfTestimonial:not(.wfHidden) .wfLoadingBar {
  animation: wfLoadingBarFill 6s linear forwards;
}
.wfTestimonial.wfHidden {
  padding: 1px;
  min-width: 102px;
  max-width: 102px;
  overflow: hidden;
  cursor: pointer;
}
.wfTestimonial.wfHidden .wfLoadingBar {
  display: none;
}
.wfTestimonial.wfHidden .wfImage {
  position: relative;
  min-width: 100px;
  max-width: 100px;
  align-self: stretch;
  background-size: cover;
}
.wfTestimonial.wfHidden .wfImage::after {
  content: "";
  position: absolute;
  inset: 0%;
  background-color: hsl(212, 24%, 12%);
  mix-blend-mode: color;
  transition: all 300ms ease-out;
}
.wfTestimonial.wfHidden:hover .wfImage::after {
  background-color: transparent;
}
.wfTestimonial.wfHidden .wfDetails {
  width: 0;
  opacity: 0;
}
@media (max-width: 1368px) {
  .wfTestimonial.wfHidden {
    min-width: 66px;
    max-width: 66px;
  }
  .wfTestimonial.wfHidden .wfImage {
    min-width: 64px;
    max-width: 64px;
  }
}

.wfLoadingBar {
  position: absolute;
  inset: auto auto 0% 0%;
  height: 2px;
  width: 0%;
  background-color: var(--lynx-primary);
  z-index: 2;
}

@keyframes wfLoadingBarFill {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
.wfImage {
  min-width: 200px;
  max-width: 200px;
  align-self: stretch;
  background-size: cover;
  flex-shrink: 0;
}
.wfImage.wfOne {
  background-image: url("/media/lynx/f1acd6de61ab-6980890feb018ae8639a438c_RouvenBesters.png");
  background-position: 50% 10%;
}
.wfImage.wfTwo {
  background-image: url("/media/lynx/48fc718626fe-6980890f20198d76feaa7bd0_BradleyDuong.png");
  background-position: 35% 60%;
}
.wfImage.wfThree {
  background-image: url("/media/lynx/e92024798588-6980890ff8604b25043ce0d5_SjangRamaekers.png");
  background-position: 50% 10%;
}
.wfImage.wfFour {
  background-image: url("/media/lynx/30175644781f-6980890ff609eb9e03cc6833_EduardBrink.png");
  background-position: 60% 10%;
}

.wfDetails {
  flex: 1;
  overflow: hidden;
  transition: all 300ms ease-out;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}

.wfClamp {
  flex: 1;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
  font-size: 14px;
  line-height: 150%;
  color: rgba(255, 255, 255, 0.85);
}

.wfQuoteIcon {
  float: left;
  width: 20px;
  height: auto;
  margin-right: 8px;
  margin-top: 2px;
}

.wfFooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 24px;
}

.wfWrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  width: 100%;
}

.wfWrapperInner {
  display: flex;
  align-items: center;
  gap: 24px;
}

.wfNamePosition {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.wfAuthor {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--white);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
}

.wfPosition {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
}

.wfLinkedIn {
  display: flex;
  aspect-ratio: 1/1;
  padding: 8px;
  background-color: var(--lynx-primary);
  flex-shrink: 0;
  text-decoration: none;
}
.wfLinkedIn img {
  min-width: 16px;
  max-width: 16px;
  aspect-ratio: 1/1;
}

.wfTestimonialLogo {
  display: block;
  max-width: 120px;
  height: auto;
  padding: 8px;
  background-color: var(--white);
  border-radius: 2px;
}

.home-testimonials__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  height: 40px;
  padding: 0 24px;
  background: #f5f6f6;
  color: var(--lynx-secondary);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.333s ease;
}
.home-testimonials__btn:hover {
  transform: scale(1.1);
}

.home-testimonials__btn-arrow {
  width: 16px;
  height: 16px;
  display: inline-block;
}

/* ============================================================
   Home — Global reach
   ============================================================ */
.home-reach {
  background: var(--lynx-secondary-dark);
  padding: 64px 0;
}

.home-reach__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.home-reach__heading {
  font-size: 61px;
  font-weight: 200;
  line-height: 1;
  color: var(--white);
  margin: 0;
}

.home-reach__heading-bold {
  font-weight: 900;
}

.home-reach__sub {
  font-size: 27px;
  font-weight: 900;
  color: var(--white);
  margin: 0;
}

.home-reach__map {
  width: 100%;
  height: auto;
}

.home-reach__legend {
  display: flex;
  gap: 16px;
}

.home-reach__legend-item {
  padding: 6px 24px;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-color);
}
.home-reach__legend-item--clients {
  background: var(--lynx-primary);
}
.home-reach__legend-item--usage {
  background: #ffc453;
}

/* ============================================================
   Home — CTA
   ============================================================ */
.home-cta {
  background: var(--lynx-primary);
}

.home-cta__inner {
  /* max-width/padding handled by _1440px-section */
}

.home-cta__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 64px 0;
}

.home-cta__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.home-cta__title {
  font-size: 61px;
  font-weight: 900;
  color: var(--text-color);
  line-height: 1;
  margin: 0;
}

.home-cta__title-light {
  font-weight: 200;
}

.home-cta__sub {
  font-size: 27px;
  font-weight: 300;
  color: var(--text-color);
  margin: 0;
}

.home-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 64px;
  padding: 0 24px;
  background: var(--lynx-secondary);
  color: var(--white);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: transform 0.333s ease;
}
.home-cta__btn:hover {
  transform: scale(1.1);
}

.home-cta__btn-arrow {
  width: 20px;
  height: 20px;
  display: inline-block;
}

/* ============================================================
   Article pages (Insights subpages)
   ============================================================ */
.article-hero {
  background: var(--lynx-secondary-dark);
  padding-bottom: 64px;
}

.article-hero__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 64px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.article-hero__h1 {
  font-size: 48px;
  font-weight: 900;
  line-height: 1.15;
  color: var(--white);
  margin: 0;
}

.article-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
}

.article-meta__sep {
  opacity: 0.4;
}

.article-body {
  padding: 64px 0 96px;
}

.article-body__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 64px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.article-body__inner p {
  font-size: 17px;
  line-height: 1.75;
  color: var(--text-color);
}
.article-body__inner h2 {
  font-size: 32px;
  font-weight: 900;
  line-height: 1.2;
  margin-top: 16px;
}
.article-body__inner h3 {
  font-size: 26px;
  font-weight: 800;
  line-height: 1.25;
  margin-top: 12px;
}
.article-body__inner h4 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}
.article-body__inner ul, .article-body__inner ol {
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.article-body__inner li {
  font-size: 17px;
  line-height: 1.75;
  color: var(--text-color);
}

.article-body__hero-img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  margin-bottom: 16px;
}

/* When an inline (floated) image is present, switch from flex to block layout
   so that CSS float works and text wraps around the image. */
.article-body__inner:has(.article-body__inline-img) {
  display: block;
}

.article-body__inner:has(.article-body__inline-img) > * + * {
  margin-top: 24px;
}

.article-body__inline-img {
  float: left;
  max-width: 30%;
  height: auto;
  margin: 0 16px 16px 0;
}

.article-body__inline-img + * {
  margin-top: 0;
}

/* ---------- Article template (post pages) — live composition ---------- */
main:has(.article-hero__subtitle) .article-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  margin-top: 72px;
  min-height: 40vh;
  padding: 0;
  background-color: var(--lynx-secondary-dark);
  background-image:
    linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75)),
    var(--article-cover, var(--hero-bg, none));
  background-size: cover, cover;
  background-position: center, 0 0;
  background-repeat: no-repeat, no-repeat;
  overflow: hidden;
}
main:has(.article-hero__subtitle) .article-hero .page-hero__nav-spacer {
  display: none;
}
main:has(.article-hero__subtitle) .article-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px 64px;
  gap: 40px;
}
main:has(.article-hero__subtitle) .article-hero__h1 {
  font-size: 61px;
  line-height: 1.1;
}
main:has(.article-hero__subtitle) .article-hero h1 {
  font-size: 61px;
  line-height: 1.1;
}
main:has(.article-hero__subtitle) .article-hero__subtitle {
  font-size: 18px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.85);
}
main:has(.article-hero__subtitle) .article-body {
  padding: 40px 0 96px;
}
main:has(.article-hero__subtitle) .article-body__inner {
  display: block;
  max-width: 1440px;
  padding: 0 64px;
}
main:has(.article-hero__subtitle) .article-body__inner p,
main:has(.article-hero__subtitle) .article-body__inner li {
  font-size: 18px;
  line-height: 1.4;
  margin: 0;
}
main:has(.article-hero__subtitle) .article-body__inner h2 {
  font-size: 40px;
  line-height: 1.15;
}
main:has(.article-hero__subtitle) .article-body__inner h3 {
  font-size: 32px;
  line-height: 1.2;
}
main:has(.article-hero__subtitle) .article-body__inner h4 {
  font-size: 28px;
  line-height: 1.25;
}
main:has(.article-hero__subtitle) .article-body__inner h5 {
  font-size: 27px;
  line-height: 1.3;
}
main:has(.article-hero__subtitle) .article-body__inner h6 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}
main:has(.article-hero__subtitle) .article-body__inner .article-meta {
  color: #181f27;
  font-size: 14px;
  line-height: 20px;
  font-weight: 800;
  margin-bottom: 40px;
}
/* Rich-text figures keep live's 32.5% default; inline max-width fractions win. */
main:has(.article-hero__subtitle) .article-body__inner figure {
  width: 32.5%;
  max-width: 100%;
  margin: 0 0 16px;
}
main:has(.article-hero__subtitle) .article-body__inner figure > div {
  width: 100%;
}
main:has(.article-hero__subtitle) .article-body__inner figure img {
  width: 100%;
  height: auto;
}
main:has(.article-hero__subtitle) .article-body__inner figure.w-richtext-align-floatleft {
  float: left;
  clear: none;
  margin: 0 16px 16px 0;
}
main:has(.article-hero__subtitle) .article-body__inner figure.w-richtext-align-floatright {
  float: right;
  clear: none;
  margin: 0 0 16px 16px;
}
main:has(.article-hero__subtitle) .article-body__inner figure.w-richtext-align-center {
  margin-left: auto;
  margin-right: auto;
}
main:has(.article-hero__subtitle) .article-body__inner:has(figure.w-richtext-align-floatleft),
main:has(.article-hero__subtitle) .article-body__inner:has(figure.w-richtext-align-floatright) {
  display: block;
}
main:has(.article-hero__subtitle) .article-body__inner:has(figure.w-richtext-align-floatleft)::after,
main:has(.article-hero__subtitle) .article-body__inner:has(figure.w-richtext-align-floatright)::after {
  content: "";
  display: table;
  clear: both;
}
@media (max-width: 991px) {
  main:has(.article-hero__subtitle) .article-body__inner figure,
  main:has(.article-hero__subtitle) .article-body__inner figure.w-richtext-align-floatleft,
  main:has(.article-hero__subtitle) .article-body__inner figure.w-richtext-align-floatright {
    float: none;
    width: 100%;
    max-width: 100% !important;
    margin: 0 0 16px;
  }
}
@media (max-width: 991px) {
  main:has(.article-hero__subtitle) .article-hero {
    background-position: center, 70% center;
  }
}
@media (max-width: 767px) {
  main:has(.article-hero__subtitle) .article-hero {
    padding: 16px 0;
  }
  main:has(.article-hero__subtitle) .article-body {
    padding-top: 24px;
  }
  main:has(.article-hero__subtitle) .article-hero__inner {
    padding: 0 16px;
  }
  main:has(.article-hero__subtitle) .article-hero__h1 {
    font-size: 27px;
    line-height: 1.1;
    overflow-wrap: anywhere;
  }
  main:has(.article-hero__subtitle) .article-hero h1 {
    font-size: 27px;
    line-height: 1.1;
    overflow-wrap: anywhere;
  }
  main:has(.article-hero__subtitle) .article-hero__subtitle {
    font-size: 14px;
    line-height: 1.4;
  }
  main:has(.article-hero__subtitle) .article-body__inner .article-meta {
    margin-bottom: 24px;
  }
  main:has(.article-hero__subtitle) .article-body__inner {
    padding: 0 16px;
  }
  main:has(.article-hero__subtitle) .article-body__inner p,
  main:has(.article-hero__subtitle) .article-body__inner li {
    font-size: 14px;
    line-height: 1.4;
  }
  main:has(.article-hero__subtitle) .article-body__inner h2 {
    font-size: 30px;
  }
  main:has(.article-hero__subtitle) .article-body__inner h3 {
    font-size: 26px;
  }
  main:has(.article-hero__subtitle) .article-body__inner h4 {
    font-size: 22px;
  }
  main:has(.article-hero__subtitle) .article-body__inner h5 {
    font-size: 21px;
  }
  main:has(.article-hero__subtitle) .article-body__inner h6 {
    font-size: 18px;
  }
}

/* References section — inside article-body__inner */
.article-references {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #e6e6e6;
}

.article-references .reference {
  font-size: 9px;
  line-height: 20px;
  color: rgba(24, 31, 39, 0.5);
  padding: 4px 8px;
}

/* References section — sits outside article-body, full-width like the live site */
.references {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px 64px;
}

.reference {
  font-size: 9px;
  line-height: 20px;
  color: var(--text-color);
  padding: 4px 8px;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 600px) {
  .references {
    padding: 0 24px 48px;
  }
}

/* ============================================================
   Industry Sub-pages (batch L4 — measured live geometry)
   ============================================================ */
/* Hero: full-bleed photo with a black gradient stronger toward the bottom,
   content bottom-aligned. Live model = 264px top + 64px bottom padding with
   min-height:40vh, so the H1 sits at y264 at 1440 and the hero is 419px tall
   for the 91px industry title. Each page keeps its inline background-image;
   the ::before supplies the gradient. */
.ind-hero {
  position: relative;
  min-height: 40vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding: 264px 0 64px;
  background-color: var(--lynx-secondary-dark);
  background-size: cover;
  background-position: center;
  overflow: hidden;
  margin-bottom: 96px;
}

.ind-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
  z-index: 1;
}

.ind-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px;
}

.ind-hero__h1 {
  font-size: 91px;
  font-weight: 900;
  line-height: 1;
  color: var(--white);
  margin: 0;
}

/* Intro: the intro heading reuses the .ind-hero__subtitle class but is
   dark-on-white below the hero. */
.ind-intro__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ind-intro .ind-hero__subtitle {
  font-size: 61px;
  font-weight: 900;
  line-height: 1.1;
  color: var(--text-color);
  max-width: none;
  margin: 0;
}

.ind-intro .ind-hero__subtitle .light {
  font-weight: 200;
}

.ind-intro .ind-hero__body p {
  font-size: 27px;
  line-height: 1.3;
  color: var(--text-color);
  margin: 0;
}

.ind-intro .ind-hero__body p + p {
  margin-top: 16px;
}

/* Considerations — three equal columns: two text-card columns + portrait photo */
.ind-considerations {
  padding: 0;
  margin: 40px 0 96px;
}

.ind-considerations__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  background: none;
  border: 0;
}

.ind-considerations__col {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.ind-considerations__img-col {
  overflow: hidden;
  min-height: 400px;
}

.ind-considerations__img-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ind-consideration {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--gray-200);
}

.ind-consideration__title {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  color: var(--text-color);
}

.ind-consideration__body {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
}

/* Focus — full-width stacked light-grey cards with a left icon */
.ind-focus {
  padding: 0;
  margin-bottom: 96px;
}

.ind-focus__header {
  margin-bottom: 40px;
}

.ind-focus__title {
  font-size: 61px;
  font-weight: 200;
  line-height: 1.1;
  color: var(--text-color);
}

.ind-focus__rows {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ind-focus-row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 32px;
  background: var(--gray-bg);
}

.ind-focus-row__icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  object-fit: contain;
}

.ind-focus-row__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.ind-focus-row__title {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  color: var(--text-color);
}

.ind-focus-row__body {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
}

/* Key figures — live is a 3-column grid holding exactly five white bordered
   cards (no sixth card is invented). */
.ind-stats {
  padding: 0;
  margin-bottom: 96px;
}

.ind-stats__header {
  margin-bottom: 24px;
}

.ind-stats__title {
  font-size: 61px;
  font-weight: 200;
  line-height: 1.1;
}
.ind-stats__title strong {
  font-weight: 900;
}

.ind-stats__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  background: none;
  border: 0;
}

.ind-stat {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--gray-200);
}

.ind-stat__diamond {
  flex-shrink: 0;
  font-size: 16px;
  color: var(--lynx-primary);
  margin-top: 2px;
  line-height: 1;
}

.ind-stat__content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ind-stat__body {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
}

.ind-stat__source {
  font-size: 12px;
  color: var(--gray-400);
}

/* Experience — two columns desktop, stacked mobile; testimonial content kept */
.ind-experience {
  padding: 0;
  margin-bottom: 96px;
}

.ind-experience__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.ind-experience__left {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.ind-experience__title {
  font-size: 61px;
  font-weight: 200;
  line-height: 1.1;
  color: var(--text-color);
}
.ind-experience__title strong {
  font-weight: 900;
}

.ind-experience__intro {
  font-size: 27px;
  line-height: 1.3;
  color: var(--text-color);
}

.ind-experience__quote {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ind-experience__quote-text {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--text-color);
  font-style: italic;
}

.ind-experience__quote-author {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-color);
}
.ind-experience__quote-author span {
  font-weight: 400;
  color: var(--gray-muted);
}

.ind-experience__right {
  background: var(--lynx-secondary-dark);
  padding: 40px;
}

.ind-achievement {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ind-achievement:first-child {
  padding-top: 0;
}

.ind-achievement:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.ind-achievement__icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.ind-achievement__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.ind-achievement__text {
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.85);
}

.ind-achievement__text strong {
  color: var(--lynx-primary);
  font-weight: 700;
}

@media (max-width: 991px) {
  .ind-considerations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ind-considerations__img-col {
    min-height: 240px;
  }
  .ind-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ind-experience__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .ind-intro ._1440px-section,
  .ind-considerations ._1440px-section,
  .ind-focus ._1440px-section,
  .ind-stats ._1440px-section,
  .ind-experience ._1440px-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .ind-hero {
    min-height: 40vh;
    padding: 0 0 32px;
    margin-bottom: 32px;
  }
  .ind-hero__inner {
    padding: 0 16px;
  }
  .ind-hero__h1 {
    font-size: 34px;
    line-height: 1;
  }
  .ind-intro__inner {
    gap: 12px;
  }
  .ind-intro .ind-hero__subtitle {
    font-size: 27px;
    line-height: 1.1;
  }
  .ind-intro .ind-hero__body p {
    font-size: 18px;
    line-height: 1.3;
  }
  .ind-considerations {
    margin: 24px 0 32px;
  }
  .ind-considerations__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .ind-considerations__col {
    gap: 16px;
  }
  .ind-considerations__img-col {
    min-height: 240px;
  }
  .ind-consideration {
    padding: 16px;
  }
  .ind-consideration__title {
    font-size: 18px;
  }
  .ind-consideration__body {
    font-size: 14px;
    line-height: 1.4;
  }
  .ind-focus {
    margin-bottom: 32px;
  }
  .ind-focus__header {
    margin-bottom: 12px;
  }
  .ind-focus__title {
    font-size: 27px;
    line-height: 1.1;
  }
  .ind-focus__rows {
    gap: 16px;
  }
  .ind-focus-row {
    width: fit-content;
    max-width: 100%;
    gap: 16px;
    padding: 16px;
  }
  .ind-focus-row__title {
    font-size: 18px;
  }
  .ind-focus-row__body {
    font-size: 14px;
    line-height: 1.4;
  }
  .ind-stats {
    margin-bottom: 32px;
  }
  .ind-stats__header {
    margin-bottom: 12px;
  }
  .ind-stats__title {
    font-size: 27px;
    line-height: 1.1;
  }
  .ind-stats__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .ind-stat {
    padding: 16px;
  }
  .ind-stat__body {
    font-size: 14px;
    line-height: 1.4;
  }
  .ind-experience {
    margin-bottom: 32px;
  }
  .ind-experience__right {
    padding: 24px;
  }
  .ind-experience__title {
    font-size: 27px;
  }
  .ind-experience__intro {
    font-size: 18px;
  }
}
.article-quote {
  border-left: 4px solid var(--lynx-primary);
  padding: 16px 24px;
  margin: 8px 0;
  background: #f9f9f9;
}
.article-quote p {
  font-size: 18px !important;
  font-style: italic;
  font-weight: 500;
  color: var(--text-color) !important;
  margin: 0 0 8px !important;
}
.article-quote cite {
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  color: var(--lynx-primary);
}

/* ============================================================
   Service sub-pages
   ============================================================ */
.svc-section {
  padding: 64px 0;
}

.svc-section--dark {
  background: #121519;
  color: var(--white);
}
.svc-section--dark h2, .svc-section--dark h3, .svc-section--dark h4, .svc-section--dark h5 {
  color: var(--white);
}
.svc-section--dark p {
  color: rgba(255, 255, 255, 0.75);
}

.svc-section--gray {
  background: #f5f5f5;
}

.svc-section__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.svc-section__header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 720px;
}

.svc-h2 {
  font-size: clamp(32px, 3.5vw, 48px);
  font-weight: 900;
  line-height: 1.1;
}

.svc-h2__light {
  font-weight: 200;
}

.svc-subtitle {
  font-size: 21px;
  line-height: 1.5;
}

.svc-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.svc-pillars--list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.svc-pillar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  border: 1px solid #e6e6e6;
  background: var(--white);
}

.svc-pillar--dark-bg {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.05);
}

.svc-pillar__heading {
  font-size: 21px;
  font-weight: 900;
  line-height: 1.3;
}

.svc-tech-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.svc-tech-badge {
  padding: 8px 16px;
  background: #f5f5f5;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-color);
}

.svc-tech-badge--icon {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: #f5f5f5;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-color);
}

.svc-tech-badge--icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.svc-tech-badge--dark {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.svc-pillar__icon {
  width: 40px;
  height: 40px;
  object-fit: contain;
  margin-bottom: 8px;
}

.svc-tech-category {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.svc-tech-category__label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #999;
}

.svc-tech-categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.svc-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.svc-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px 24px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.svc-stat__heading {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.svc-stat__number {
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 900;
  color: #F7931E;
}

.svc-stat__label {
  font-size: 16px;
  line-height: 1.4;
}

/* Mobile-development and UI/UX stats: dark readable cards, two columns on phone. */
.lynx-service-page .svc-section:not(.svc-section--dark) .svc-stats .svc-stat {
  background: var(--lynx-secondary-dark);
  border-color: rgba(255, 255, 255, 0.14) !important;
}
.lynx-service-page .svc-section:not(.svc-section--dark) .svc-stats .svc-stat__label {
  color: rgba(255, 255, 255, 0.85);
}
.lynx-service-page .svc-section:not(.svc-section--dark) .svc-stats .svc-stat__icon {
  width: 40px;
  height: 40px;
  object-fit: contain;
}
@media (max-width: 768px) {
  .lynx-service-page .svc-section:not(.svc-section--dark) .svc-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px;
  }
  .lynx-service-page .svc-section:not(.svc-section--dark) .svc-stat {
    padding: 20px 16px;
    min-width: 0;
  }
}
/* AI main has no .lynx-service-page; scope its stats via the dark page hero. */
@media (max-width: 600px) {
  main:has(> .page-hero--dark) .svc-stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  main:has(> .page-hero--dark) .svc-stat {
    min-width: 0;
  }
}

.svc-process {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.svc-process__step {
  display: flex;
  gap: 32px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  align-items: flex-start;
}

.svc-process__num {
  font-size: 54px;
  font-weight: 900;
  color: #F7931E;
  line-height: 1;
  flex-shrink: 0;
  width: 64px;
}

.svc-process__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 8px;
}

.svc-process__title {
  font-size: 21px;
  font-weight: 900;
}

.svc-process__desc {
  font-size: 16px;
  line-height: 1.6;
  opacity: 0.75;
}

/* Light-background variant for process steps */
.svc-process--light {
  border-top: 1px solid #e6e6e6;
}

.svc-process--light .svc-process__step {
  border-bottom: 1px solid #e6e6e6;
}

.svc-process--light .svc-process__step:last-child {
  border-bottom: none;
}

.svc-process--light .svc-process__num {
  color: var(--text-color);
}

.svc-process--light .svc-process__desc {
  color: var(--text-color);
  opacity: 1;
}

.svc-profiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.svc-profile {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px 24px;
  background: var(--white);
  border: 1px solid #e6e6e6;
}

.svc-profile__tag {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #F7931E;
}

.svc-profile__title {
  font-size: 21px;
  font-weight: 900;
  line-height: 1.3;
}

@media (max-width: 991px) {
  .svc-pillars,
  .svc-tech-categories,
  .svc-stats,
  .svc-profiles {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .svc-pillars,
  .svc-tech-categories,
  .svc-stats,
  .svc-profiles {
    grid-template-columns: 1fr;
  }
  .svc-process__step {
    gap: 16px;
  }
  .svc-process__num {
    font-size: 36px;
    width: 44px;
  }
}
/* ============================================================
   Contact Form Overlay
   ============================================================ */
.contact-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0);
  visibility: hidden;
  transition: background-color 0.4s ease, visibility 0s linear 0.4s;
}

.contact-overlay.active {
  background-color: rgba(0, 0, 0, 0.6);
  visibility: visible;
  transition: background-color 0.4s ease, visibility 0s linear 0s;
}

.contact-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 560px;
  background-color: var(--lynx-secondary-dark);
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.contact-overlay.active .contact-panel {
  transform: translateX(0);
}

.contact-panel__close {
  position: sticky;
  top: 0;
  align-self: flex-end;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 16px 16px 0 0;
  background: none;
  color: var(--white);
  border-radius: 50%;
  transition: background-color var(--timing-fast), color var(--timing-fast);
  flex-shrink: 0;
  z-index: 2;
}
.contact-panel__close:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.contact-panel__inner {
  padding: 0 48px 48px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  flex: 1;
}

.contact-panel__header {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.contact-panel__title {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  color: var(--white);
}

.contact-panel__sub {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.65);
}

.contact-panel__form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-panel__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* ============================================================
   Second-level Hero (Spring Practice, future sub-pages)
   ============================================================ */
.second-level-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 510px;
  min-height: 464px;
  overflow: hidden;
  margin-bottom: 96px;
}

.second-level-hero__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 100%;
}

.second-level-hero__gradient {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 510px;
  background: linear-gradient(rgba(0, 0, 0, 0), rgb(0, 0, 0));
  pointer-events: none;
}

.second-level-hero__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding-bottom: 64px;
}

.second-level-hero__h2 {
  font-size: clamp(52px, 6.3vw, 91px);
  font-weight: 900;
  line-height: 1;
  color: var(--white);
}

/* ============================================================
   Spring Practice — Content
   ============================================================ */
.spring-practice-content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 96px;
}

.sp-section {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.sp-h3 {
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 900;
  line-height: 1.15;
  color: var(--text-color);
}

.sp-h5 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--text-color);
}

.sp-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sp-list {
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sp-list li {
  font-size: 18px;
  line-height: 1.6;
  color: var(--text-color);
}

.h5_light {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text-color);
}

/* ============================================================
   Job Hero (batch L4 — measured live geometry)
   Consumes the inline --page-cover photo with a black gradient
   stronger toward the bottom. 264px top + 64px bottom padding
   with min-height:40vh puts the H1 at y264 and makes the hero
   439px tall for the 91px title + 20px meta.
   ============================================================ */
.job-hero {
  position: relative;
  min-height: 40vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding: 264px 0 64px;
  background-color: var(--lynx-secondary-dark);
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1)), var(--page-cover);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  overflow: hidden;
}

.job-hero .page-hero__nav-spacer {
  display: none;
}

.job-hero__inner {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px;
}

.job-hero__h1 {
  font-size: 91px;
  font-weight: 900;
  line-height: 1;
  color: var(--white);
}

.job-hero__meta {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.7);
}

/* ============================================================
   Job Body
   ============================================================ */
.job-body {
  padding: 108px 0 96px;
}

.job-body__inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.job-body__inner>p {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
}

/* A paragraph whose only child is <strong> is a section heading. The live
   blank paragraph before it was dropped by the migration, so add its space
   back; the first one stays flush. */
.job-body__inner>p:has(> strong:only-child):not(:first-child) {
  margin-top: 37.2px;
}

.job-body__inner>ul {
  margin: 0 0 10px;
}

.job-intro {
  font-size: 18px;
  line-height: 1.7;
  color: var(--text-color);
  margin-bottom: 8px;
}

.job-section-h2 {
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 900;
  line-height: 1.2;
  color: var(--text-color);
  margin-top: 16px;
}

.job-section-list {
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.job-section-list li {
  font-size: 16px;
  line-height: 20px;
  color: var(--text-color);
}

.job-rich-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.job-rich-content p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--text-color);
}
.job-rich-content strong {
  font-weight: 700;
}
.job-rich-content ul {
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.job-rich-content li {
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-color);
}

/* ============================================================
   Job Apply Section (shared by spring-practice + job-post)
   ============================================================ */
.job-apply-section {
  background-color: var(--lynx-secondary-dark);
  padding: 64px 0;
}

.job-apply-inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.job-apply-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.job-apply-title {
  font-size: clamp(36px, 4vw, 60px);
  font-weight: 900;
  line-height: 1.1;
  color: var(--lynx-primary);
}

.job-apply-meta {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.7);
}

.job_form {
  width: 100%;
}

.job-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
  margin-bottom: 24px;
}

.job-form-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.job-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.contact-panel__label {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.contact-panel__input {
  width: 100%;
  padding: 12px 16px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  color: var(--white);
  background-color: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 2px;
  outline: none;
  transition: border-color var(--timing-fast), background-color var(--timing-fast);
  appearance: none;
}
.contact-panel__input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.contact-panel__input:focus {
  border-color: var(--lynx-primary);
  background-color: rgba(255, 255, 255, 0.1);
}

.contact-panel__textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.6;
}

.contact-panel__checkbox-row {
  margin-top: 4px;
}

.contact-panel__checkbox-label {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
}

.contact-panel__checkbox {
  position: absolute;
  top: 2px;
  left: 0;
  z-index: 1;
  opacity: 0;
  width: 18px;
  height: 18px;
}

.contact-panel__checkbox-custom {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 2px;
  background-color: transparent;
  transition: border-color var(--timing-fast), background-color var(--timing-fast);
  position: relative;
}
.contact-panel__checkbox-custom::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 5px;
  height: 9px;
  border: 2px solid var(--lynx-secondary-dark);
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity var(--timing-fast);
}

.contact-panel__checkbox:checked + .contact-panel__checkbox-custom {
  background-color: var(--lynx-primary);
  border-color: var(--lynx-primary);
}
.contact-panel__checkbox:checked + .contact-panel__checkbox-custom::after {
  opacity: 1;
}

.contact-panel__checkbox-text {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.5);
}

.contact-panel__checkbox-link {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: underline;
  transition: color var(--timing-fast);
}
.contact-panel__checkbox-link:hover {
  color: var(--lynx-primary);
}

.contact-panel__submit {
  margin-top: 8px;
  padding: 16px 32px;
  font-size: 15px;
  font-weight: 800;
  color: var(--black);
  background-color: var(--lynx-primary);
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.contact-panel__submit:hover {
  opacity: 0.85;
}
.contact-panel__submit--secondary {
  background-color: transparent;
  color: var(--lynx-primary);
  border: 1px solid var(--lynx-primary);
  margin-top: 12px;
}

.contact-panel__success {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 20px;
  background-color: rgba(247, 147, 30, 0.15);
  border: 1px solid rgba(247, 147, 30, 0.3);
  border-radius: 2px;
  color: var(--white);
}
.contact-panel__success p {
  font-size: 15px;
  line-height: 1.6;
}

@media (max-width: 600px) {
  .contact-panel {
    max-width: 100%;
  }
  .contact-panel__inner {
    padding: 0 24px 40px;
  }
  .contact-panel__title {
    font-size: 22px;
  }
}
.job-form-field--tall {
  flex: 1;
}

.field_label_job {
  font-size: 14px;
  font-weight: 600;
  color: var(--white);
}

.text_field_job {
  background-color: var(--lynx-secondary-dark);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--white);
  padding: 10px 12px;
  font-size: 15px;
  font-family: inherit;
  outline: none;
  transition: border-color var(--timing-fast);
  width: 100%;
}
.text_field_job::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.text_field_job:focus {
  border-color: rgba(255, 255, 255, 0.5);
}

.job-textarea {
  resize: vertical;
  min-height: 200px;
  height: 100%;
}

/* File upload */
.job-file-upload {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.job-file-upload__row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.job-file-upload__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: border-color var(--timing-fast), background var(--timing-fast);
  white-space: nowrap;
}
.job-file-upload__btn:hover {
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.05);
}

.job-file-upload__icon {
  flex-shrink: 0;
}

.job-file-upload__info {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.45);
}

/* Submit row */
.job-submit-row {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.job-submit-btn {
  background-color: var(--lynx-primary);
  color: var(--black);
  font-size: 16px;
  font-weight: 800;
  font-family: inherit;
  padding: 14px 40px;
  border: none;
  cursor: pointer;
  transition: opacity var(--timing-fast);
  white-space: nowrap;
  flex-shrink: 0;
}
.job-submit-btn:hover {
  opacity: 0.85;
}

.job-legal-text {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.5;
}

.job-legal-link {
  color: rgba(255, 255, 255, 0.65);
  text-decoration: underline;
  transition: color var(--timing-fast);
}
.job-legal-link:hover {
  color: var(--white);
}

.job-form-success,
.job-form-error {
  padding: 16px;
  font-size: 15px;
  font-weight: 600;
}

.job-form-success {
  color: #4ade80;
}

.job-form-error {
  color: #f87171;
}

@media (max-width: 768px) {
  .second-level-hero__h2 {
    font-size: clamp(36px, 8vw, 60px);
  }
  .job-form-grid {
    grid-template-columns: 1fr;
  }
  .job-hero {
    padding: 0 0 32px;
  }
  .job-hero .job-hero__inner,
  .job-body .job-body__inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .job-hero__h1 {
    font-size: 34px;
    line-height: 1;
  }
  .job-body {
    padding: 32px 0 96px;
  }
  .job-body__inner>p {
    font-size: 14px;
    line-height: 1.4;
  }
  .job-body__inner>p:has(> strong:only-child):not(:first-child) {
    margin-top: 31.6px;
  }
  .job-body__inner li {
    font-size: 14px;
    line-height: 20px;
  }
  .spring-practice-content,
  .second-level-hero {
    margin-bottom: 64px;
  }
}
/* ============================================================
   CTA Button (inline link style)
   ============================================================ */
.cta-button {
  display: inline-block;
  background: var(--lynx-primary);
  color: var(--text-color);
  font-weight: 700;
  padding: 12px 24px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.cta-button:hover {
  opacity: 0.85;
}

/* AICMS migration: shared wrappers, form feedback and responsive safeguards. */
.aicms-nav-shell, .aicms-footer-shell {
  display: contents;
}

main[data-aicms=page] {
  display: block;
}

.lynx-honeypot {
  display: none;
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.form-status {
  display: none;
  width: 100%;
  margin-top: 20px;
  padding: 16px 18px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--white);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-left: 4px solid var(--lynx-primary);
  border-radius: 2px;
}

.form-status[data-state] {
  display: block;
}

.form-status[data-state='sending'] {
  color: #fff3e2;
  background: rgba(247, 147, 30, 0.14);
  border-color: rgba(247, 147, 30, 0.55);
}

.form-status[data-state='success'] {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  padding: 20px 22px;
  color: #d8ffe5;
  background: rgba(34, 197, 94, 0.14);
  border-color: rgba(74, 222, 128, 0.65);
  border-left-color: #4ade80;
}

.form-status__icon {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  font-size: 19px;
  line-height: 1;
  color: var(--lynx-secondary-dark);
  background: #4ade80;
  border-radius: 50%;
}

.form-status__body {
  display: grid;
  gap: 4px;
}

.form-status__title {
  font-size: 20px;
  line-height: 1.2;
}

.form-status__message {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
}

.form-status[data-state='error'] {
  color: #ffe0dc;
  background: rgba(220, 38, 38, 0.16);
  border-color: rgba(252, 165, 165, 0.7);
  border-left-color: #f87171;
}

.form-status:focus,
.contact-panel__success:focus {
  outline: 3px solid var(--lynx-primary);
  outline-offset: 3px;
}

@media (max-width: 600px) {
  .form-status {
    margin-top: 16px;
    padding: 14px 16px;
    font-size: 15px;
  }
  .form-status[data-state='success'] {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    padding: 18px;
  }
  .form-status__icon {
    width: 28px;
    height: 28px;
    font-size: 17px;
  }
  .form-status__title {
    font-size: 18px;
  }
}

.article-body__inner img {
  max-width: 100%;
  height: auto;
}

.article-body__inner h2, .article-body__inner h3 {
  margin-top: 32px;
  margin-bottom: 16px;
}

.article-body__inner table {
  display: block;
  max-width: 100%;
  overflow: auto;
}

.blog-card__title {
  font-size: 27px;
}

.page-hero__inner {
  max-width: 1312px;
  margin: auto;
  padding: 64px 32px;
}

.page-hero {
  min-height: 60vh;
}

body {
  overflow-x: hidden;
}

button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid #F7931E;
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
[hidden] {
  display: none !important;
}

#customCursor {
  display: none !important;
}

/* Responsive completion for the older desktop-first rebuild. */
@media (max-width: 991px) {
  .home-hero__h1 {
    font-size: clamp(58px, 10.7vw, 108px);
  }
  .home-hero__subtitle {
    font-size: clamp(20px, 2.7vw, 27px);
  }
  .home-intro__row, .home-ai__row {
    flex-direction: column;
    align-items: stretch;
  }
  .home-intro__img {
    width: 100%;
    height: 420px;
    object-position: center 30%;
  }
  .home-ai__img {
    max-width: 100%;
    height: auto;
  }
  .home-intro__content {
    min-width: 0;
  }
  .home-services__subtitle, .home-values__subtitle {
    font-size: 23px;
  }
}
@media (max-width: 600px) {
  ._1440px-section {
    padding-left: 24px !important;
    padding-right: 24px !important;
    max-width: 100%;
  }
  .home-hero {
    height: auto;
    min-height: calc(100svh - 72px);
    padding: 180px 0 44px;
  }
  .home-hero__inner {
    gap: 24px;
  }
  .home-hero__h1 {
    font-size: clamp(46px, 12vw, 72px);
    line-height: 1.02;
    overflow-wrap: normal;
  }
  .home-hero__subtitle {
    font-size: 20px;
    line-height: 1.4;
  }
  .home-hero__fg-img, .home-hero__bg-img {
    object-position: 65% center;
    opacity: 0.7;
  }
  .home-intro__row, .home-ai__row {
    gap: 28px;
    padding: 40px 0;
  }
  .home-intro__img {
    height: 340px;
  }
  .home-intro__lead, .home-intro__trust-title, .home-values__subtitle, .home-services__subtitle {
    font-size: 22px;
  }
  .home-intro__content p {
    font-size: 17px;
  }
  .home-intro, .home-ai, .home-values {
    margin-bottom: 56px;
  }
  .home-intro__certs img {
    max-width: calc(50% - 8px);
  }
  .article-hero__inner, .article-body__inner {
    padding-left: 24px;
    padding-right: 24px;
  }
  .article-hero__h1 {
    font-size: clamp(30px, 8vw, 42px);
    overflow-wrap: anywhere;
  }
  .article-body {
    padding-top: 40px;
    padding-bottom: 56px;
  }
  .article-meta {
    flex-wrap: wrap;
  }
  .blog-grid {
    grid-template-columns: 1fr;
  }
  .blog-card {
    min-height: 440px;
  }
  .page-hero__h1 {
    font-size: 42px;
    line-height: 1.1;
  }
  .page-hero__inner {
    padding-left: 24px;
    padding-right: 24px;
  }
  .contact-panel {
    width: 100%;
    max-width: 100%;
    padding: 64px 24px 28px;
  }
}@media(max-width:600px){
 html{overflow-x:hidden}
 .home-values,.home-services{overflow:hidden;padding-bottom:48px}
 #home-services-slider .splide__slide{display:flex;flex-direction:column;align-items:stretch}
 #home-services-slider .splide__slide .service-description{position:relative;width:100%;max-width:100%;padding:28px 24px;left:auto;right:auto;top:auto;transform:none}
 #home-services-slider .splide__slide .service-description span{font-size:26px}
 .home-ai__title{font-size:32px}
 .wfTestimonials{flex-direction:column}
 .wfTestimonial,.wfTestimonial.wfHidden{width:100%;min-width:0;max-width:none;min-height:0}
 .wfTestimonial{gap:20px;flex-direction:column;align-items:stretch}
 .wfTestimonial.wfHidden{display:none}
 .wfTestimonial .wfImage{width:100%;height:180px;min-width:0;max-width:none}
 .home-reach__sub{font-size:22px}
}
@media(max-width:600px){
 .insights-inner{padding-left:16px;padding-right:16px;gap:28px}
 .blog-featured{flex-direction:column;gap:40px;margin-top:16px}
 .blog-featured__img,.blog-featured__content{width:100%;max-width:100%;min-width:0;flex-basis:auto}
 .blog-featured__img img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:90% 50%}
 .blog-featured__title{font-size:18px;line-height:1.3}
 .blog-featured__excerpt{font-size:14px;line-height:1.4}
 .insights-subtitle{font-size:14px;line-height:1.4}
 .home-cta__row{flex-direction:column;align-items:flex-start;padding:40px 0}
 .home-cta__title{font-size:42px}
 .home-cta__sub{font-size:22px}
}
.article-hero h1{color:var(--white);font-size:48px;line-height:1.15;font-weight:900}.article-hero__subtitle{color:rgba(255,255,255,.85);font-size:20px;line-height:1.5}
@media(max-width:600px){.article-hero h1{font-size:32px;overflow-wrap:anywhere}.article-hero__subtitle{font-size:18px}}

/* Live-site comparison fixes: 2026-09-05. */
.home-values,.home-services{overflow:hidden}
.cs-masonry-card__body p,.cs-benefit-card__body p{margin:0 0 16px}.cs-masonry-card__body p:last-child,.cs-benefit-card__body p:last-child{margin-bottom:0}
body #aicms-cookiebar{left:0;right:0;bottom:0;font-family:"Inter Variablefont Opsz Wght",Arial,sans-serif;background:#f5f6ff;border-top:1px solid #4353ff29;padding:24px 32px;color:#181f27}
body #aicms-cookiebar .acb-card{max-width:1000px;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}
body #aicms-cookiebar .acb-main{flex-wrap:nowrap;gap:24px}
body #aicms-cookiebar .acb-body{font-size:14px;line-height:1.45;color:#181f27;min-width:0}
body #aicms-cookiebar .acb-body a,body #aicms-cookiebar .lynx-cookie-copy a{color:#f7931e;font-weight:600}
body #aicms-cookiebar .acb-actions{flex:none;flex-wrap:nowrap;gap:16px}
body #aicms-cookiebar .acb-btn{border-radius:0;padding:10px 20px;font-size:16px;font-weight:700;line-height:1.25;white-space:normal}
body #aicms-cookiebar .acb-primary{background:#f7931e;border:1px solid #f7931e;color:#181f27;min-width:140px}
body #aicms-cookiebar .acb-secondary{border:1px solid #181f27;background:#f5f6ff;color:#181f27;min-width:140px}
body #aicms-cookiebar .acb-ghost{font-size:14px;font-weight:400;padding:0;color:#181f27;text-decoration:none}
.lynx-cookie-dismiss{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;color:#181f27;font-size:30px;cursor:pointer}
body #aicms-cookiebar.lynx-preferences-open{background:transparent;border:0;padding:0}body #aicms-cookiebar.lynx-preferences-open .acb-card{visibility:hidden}
#lynx-cookie-preferences{box-sizing:border-box;background:white;color:#181f27;border:0;border-radius:0;padding:64px 32px 32px;width:576px;max-width:calc(100vw - 32px);max-height:80svh;margin:auto;overflow:auto;font:14px/1.45 "Inter Variablefont Opsz Wght",Arial,sans-serif}
#lynx-cookie-preferences::backdrop{background:rgba(0,0,0,.55)}
#lynx-cookie-preferences h2{font:700 24px/1.2 "Inter Variablefont Opsz Wght",Arial,sans-serif;margin:0 0 16px;color:#181f27}
#lynx-cookie-preferences .lynx-cookie-all{display:flex;gap:8px;margin:32px 0 40px}
.lynx-cookie-close{position:absolute;right:12px;top:12px;border:0;background:none;color:#181f27;font:700 14px "Inter Variablefont Opsz Wght",Arial,sans-serif;cursor:pointer}
body #aicms-cookiebar .acb-details{border:0;padding:0;margin:0}
body #aicms-cookiebar .acb-cat{border-bottom:1px solid #eee;padding:20px 0;flex-direction:row-reverse;gap:20px}
body #aicms-cookiebar .acb-cat-label{display:block;font-size:16px;color:#181f27;margin-bottom:8px}
body #aicms-cookiebar .acb-cat-desc{display:block;font-size:13px;line-height:1.5;color:#4b5563}
body #aicms-cookiebar .acb-cat input{accent-color:#f7931e;width:20px;height:20px}
body #aicms-cookiebar .acb-details-actions{margin-top:24px}
.lynx-cookie-options{background:none;border:0;color:inherit;font:inherit;font-size:12px;cursor:pointer;padding:0}
@media(max-width:991px){body #aicms-cookiebar .acb-main{flex-direction:column;align-items:stretch;gap:16px}body #aicms-cookiebar .acb-actions{justify-content:flex-end}.home-intro__img{display:none}}
@media(max-width:600px){
 body #aicms-cookiebar{padding:16px 24px}body #aicms-cookiebar .acb-card{position:relative;padding-top:44px}body #aicms-cookiebar .acb-actions{display:flex;flex-direction:column-reverse;gap:8px;width:100%}body #aicms-cookiebar .acb-actions .acb-btn{width:100%;min-height:38px;flex:auto}body #aicms-cookiebar .acb-actions .acb-ghost{min-height:24px}body #aicms-cookiebar .lynx-cookie-dismiss{display:block;top:0;right:0;transform:none;width:44px;height:44px}
 #lynx-cookie-preferences{padding:52px 24px 24px;max-height:85svh}#lynx-cookie-preferences h2{font-size:22px}#lynx-cookie-preferences .lynx-cookie-all{flex-wrap:wrap}#lynx-cookie-preferences .acb-btn{min-width:0}
 .home-values__title,.home-services__title,.home-testimonials__title{font-size:32px;line-height:1.08}.home-values__subtitle,.home-services__subtitle,.home-intro__lead,.home-intro__trust-title{font-size:18px;line-height:1.3}.home-intro__content p{font-size:16px}.home-reach__title{font-size:28px}.home-reach__sub{font-size:18px}
 .nav__cta{display:flex;margin-left:auto;margin-right:24px;padding:12px 20px;font-size:12px}
 #home-services-slider .splide__slide{display:grid;position:relative}#home-services-slider .splide__slide .service-description{position:absolute;left:0;bottom:0;top:auto;max-width:76%;padding:20px;z-index:2}#home-services-slider .splide__slide img{height:100%;width:100%;object-fit:cover}#home-services-slider .splide__slide .service-description span{font-size:24px}
 .wfTestimonial.wfHidden{display:flex;flex-direction:row;height:64px;padding:0;gap:12px}.wfTestimonial.wfHidden .wfImage{display:block;width:64px;min-width:64px;height:64px}.wfTestimonial.wfHidden .wfDetails{display:flex;flex:1;min-width:0}.wfTestimonial.wfHidden .wfClamp,.wfTestimonial.wfHidden .wfLogo{display:none}.wfTestimonial.wfHidden .wfFooter{display:flex}.wfTestimonial.wfHidden .wfNamePosition{display:block}
}

@media(max-width:600px){.wfTestimonial.wfHidden .wfDetails{opacity:1;visibility:visible;width:auto;max-width:none}.wfTestimonial.wfHidden .wfAuthor{font-size:13px;white-space:normal}.wfTestimonial.wfHidden .wfPosition{font-size:11px}.wfTestimonial.wfHidden .wfWrapper{width:100%}}

/* Preserve the published service layout and complete the About mobile layout. */
.lynx-service-page .page-hero{position:relative;background:#121519;color:white;min-height:520px;display:flex;align-items:flex-end;padding-top:72px}
.lynx-service-page .page-hero__inner{position:static;width:100%;padding:96px 64px 64px}
.lynx-service-page .page-hero__nav-spacer{display:none}
.lynx-service-page .page-hero__content{position:relative;z-index:1;gap:24px}
.lynx-service-page .page-hero__h1{color:white;font-size:88px;line-height:1.05;margin:0}
.lynx-service-page .page-hero__h3{color:white;font-size:27px;font-weight:400;line-height:1.3}
.lynx-service-page .page-hero__img-wrap{position:absolute;inset:0;width:100%;height:100%;margin:0}
.lynx-service-page .page-hero__img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.lynx-service-page .page-hero__img{width:100%;height:100%;object-fit:cover}
.lynx-service-page .svc-section__header{max-width:none}.lynx-service-page .svc-pillars{grid-template-columns:1fr;gap:24px}.lynx-service-page .svc-pillar{border:0;padding:0;background:transparent}.lynx-service-page .svc-pillar:has(.svc-pillar__icon){padding:32px 32px 32px 144px;background:#f5f6f6;position:relative}.lynx-service-page .svc-pillar__icon{position:absolute;left:48px;top:40px}.lynx-service-page .svc-tech-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px}.lynx-service-page :is(.svc-tech-badge,.svc-tech-badge--icon){background:white;border:1px solid #e6e6e6;min-height:156px;display:flex;flex-direction:column;justify-content:center;gap:16px}.lynx-service-page :is(.svc-tech-badge,.svc-tech-badge--icon) img{width:64px;height:64px}.lynx-service-page .svc-section--dark:has(.svc-process){background:white;color:#181f27}.lynx-service-page .svc-section--dark:has(.svc-process) :is(h2,h3,p){color:#181f27}.lynx-service-page .svc-process__step{position:relative;gap:24px;padding:0 0 24px}.lynx-service-page .svc-process__step:not(:last-child)::before{content:'';position:absolute;left:23px;top:30px;bottom:0;width:1px;background:#181f27}.lynx-service-page .svc-process__num{position:relative;z-index:1;display:grid;place-items:center;background:#181f27;color:white;border-radius:50%;width:48px;height:48px;font-size:27px}.lynx-service-page .svc-process__content{padding-top:0}.lynx-service-page .svc-h2-light{font-weight:200}
.about-hero{background:white}.about-hero__h1,.about-hero__subtitle,.about-hero__body{color:#181f27}.about-approach{background:white}
@media(max-width:991px){.about-approach__grid,.about-values__grid,.learning-grid,.stats-row{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-member--ors{grid-column:span 2;grid-row:auto;min-height:500px}.about-history,.about-offices{overflow:hidden}.lynx-service-page .svc-tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){
 .about-hero__h1{font-size:32px;margin-bottom:16px}.about-hero__subtitle{font-size:24px;line-height:1.15}.about-hero__body{font-size:18px}.about-pillar__heading{font-size:20px}.about-h2,.about-values__title,.offices-h2{font-size:32px;line-height:1.1}.about-values__subtitle{font-size:18px}.about-values__grid{gap:24px}.value-card{grid-column:auto!important}.about-approach__grid{gap:32px}.team-member__name{font-size:14px}.team-member__position{font-size:12px}.learning-grid{gap:24px}.stat{text-align:center}.stat__label{font-size:16px}
 .lynx-service-page .page-hero{min-height:440px}.lynx-service-page .page-hero__inner{padding:64px 24px 40px}.lynx-service-page .page-hero__h1{font-size:40px}.lynx-service-page .page-hero__h3{font-size:20px}.lynx-service-page .svc-pillar:has(.svc-pillar__icon){padding:24px}.lynx-service-page .svc-pillar__icon{position:static}.lynx-service-page .svc-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lynx-service-page :is(.svc-tech-badge,.svc-tech-badge--icon){min-height:130px}.lynx-service-page .svc-process__num{width:36px;height:36px;font-size:20px}.lynx-service-page .svc-process__step:not(:last-child)::before{left:17px}
}
@media(max-width:600px){.wfTestimonial.wfHidden .wfTestimonialLogo{display:none}.wfTestimonial.wfHidden .wfWrapper{gap:8px}.wfTestimonial.wfHidden .wfWrapperInner{gap:8px}.wfTestimonial.wfHidden .wfFooter{margin:0}.wfTestimonial:not(.wfHidden) .wfWrapper{flex-direction:column;align-items:flex-start;gap:8px}.wfTestimonial:not(.wfHidden) .wfWrapperInner{gap:12px}.wfTestimonial:not(.wfHidden) .wfNamePosition{min-width:0}.wfTestimonial:not(.wfHidden) .wfAuthor{font-size:16px}.wfTestimonial:not(.wfHidden) .wfPosition{font-size:12px}}
/* Job body rhythm now lives with the .job-body block above (batch L4). */

/* ============================================================
   Work listing and case-study templates (batch L1)
   Mirrors the live Webflow values for /work and /work/*.
   Scoped to work-*, project-card* and cs-* selectors only.
   ============================================================ */

/* ---------- Work listing ---------- */
.work-hero {
  margin-bottom: 96px;
}
.work-hero__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 128px 64px 0;
}
.work-hero__h1 {
  margin-top: 40px;
  font-size: 137px;
  font-weight: 900;
  line-height: 1;
}
.work-hero__h2 {
  margin-top: 40px;
  font-size: 27px;
  font-weight: 300;
  line-height: 1.3;
}
.work-hero__h2 strong {
  font-weight: 900;
}
.work-hero__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
  font-size: 18px;
  line-height: 1.4;
}
.work-grid-section {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px 96px;
}
.projects_wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  place-content: center;
  place-items: center;
}
.projects_wrapper > a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  height: 548px;
  overflow: hidden;
  background: var(--lynx-secondary-dark);
}
.project-card__img-wrap {
  position: absolute;
  inset: 0;
}
.project-card__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.project-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-card__text {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 90%;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px 24px 0;
  background: var(--white);
}
.project-card__title {
  margin: 0;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
}
.project-card__text .hidding_paragraph {
  height: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  transition: height 0.2s;
  font-size: 18px;
  line-height: 1.4;
}
.projects_wrapper > a:hover .project-card__text .hidding_paragraph,
.projects_wrapper > a:focus-visible .project-card__text .hidding_paragraph {
  height: 70px;
}
.projects_wrapper > a:focus-visible {
  outline: 3px solid var(--lynx-primary);
  outline-offset: 2px;
}
@media (max-width: 1024px) {
  .projects_wrapper > a .project-card__text .hidding_paragraph {
    height: 70px;
  }
}

/* ---------- Case-study hero ---------- */
.cs-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  min-height: 40vh;
  margin-bottom: 96px;
  padding: 264px 0 64px;
  background: var(--lynx-secondary-dark);
  overflow: hidden;
}
.cs-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cs-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(rgba(0, 0, 0, 0), #000);
}
.cs-hero__content {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px;
}
.cs-hero__h1 {
  font-size: 91px;
  font-weight: 900;
  line-height: 1;
  color: var(--white);
}

/* ---------- Shared case-study section shell ---------- */
.cs-intro,
.cs-masonry-section,
.cs-benefits-section,
.cs-tech-section,
.cs-closing-section {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto 96px;
  padding: 0 64px;
}
.cs-intro {
  margin-bottom: 40px;
}
.cs-section-heading {
  margin-bottom: 24px;
  font-size: 61px;
  font-weight: 900;
  line-height: 1.1;
}
.cs-section-heading__light {
  font-weight: 200;
}

/* Intro */
.cs-intro__subtitle {
  margin: 0;
  font-size: 61px;
  font-weight: 900;
  line-height: 1.1;
}
.cs-intro__subtitle .h3_extra-light {
  font-weight: 200;
}
.cs-intro__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}
.cs-intro__body p {
  margin: 0;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
}
.cs-intro__body .h5_light {
  font-weight: 300;
  font-size: inherit;
}

/* Masonry / image-text composition */
.cs-masonry-grid {
  columns: 3;
  column-gap: 40px;
  margin-bottom: -40px;
}
.cs-masonry-cards {
  display: contents;
}
.cs-masonry-card {
  break-inside: avoid;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  min-height: 160px;
  margin-bottom: 40px;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 2px;
}
.cs-masonry-icon {
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.cs-masonry-card__heading {
  margin: 0;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
}
.cs-masonry-card__body {
  font-size: 18px;
  line-height: 1.4;
}
.cs-masonry-card__body p {
  margin: 0 0 8px;
}
.cs-masonry-card__body p:last-child {
  margin-bottom: 0;
}
.cs-masonry-image-wrap {
  break-inside: avoid;
  margin-bottom: 40px;
}
.cs-masonry-image {
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  object-fit: cover;
}

/* Benefits */
.cs-benefits-intro {
  margin: 0 0 24px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
}
.cs-benefits-intro p {
  margin: 0 0 8px;
}
.cs-benefits-intro p:last-child {
  margin-bottom: 0;
}
.cs-benefits-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.cs-benefit-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 48px;
  align-items: center;
  padding: 32px 48px;
  background: var(--gray-bg);
}
.cs-benefit-icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.cs-benefit-card__heading {
  grid-column: 2;
  grid-row: 1;
  margin: 0 0 16px;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
}
.cs-benefit-card__body {
  grid-column: 2;
  grid-row: 2;
  font-size: 18px;
  line-height: 1.4;
}
.cs-benefit-card__body p {
  margin: 0 0 8px;
}
.cs-benefit-card__body p:last-child {
  margin-bottom: 0;
}

/* Technologies */
.cs-tech-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 40px;
}
.cs-tech-badge {
  display: grid;
  grid-template-rows: 96px auto;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  padding: 12px;
  border: 1px solid var(--gray-200);
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
.cs-tech-badge img {
  max-width: 64px;
  height: 48px;
  object-fit: contain;
}

/* In numbers */
.cs-stats-section {
  margin-bottom: 96px;
  padding: 48px 0;
  background: var(--lynx-secondary);
  color: var(--white);
}
.cs-stats-section > * {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 64px;
  padding-right: 64px;
}
.cs-stats-section .cs-section-heading {
  margin-bottom: 40px;
  color: var(--white);
}
.cs-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 40px;
}
.cs-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.cs-stat-icon {
  width: auto;
  max-width: 64px;
  height: 48px;
  object-fit: contain;
}
.cs-stat-value {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.1;
  color: var(--lynx-primary);
}
.cs-stat-label {
  font-size: 18px;
  line-height: 1.2;
  color: var(--white);
}

/* Closing copy */
.cs-closing__heading {
  margin-bottom: 24px;
  font-size: 61px;
  font-weight: 900;
  line-height: 1.1;
}
.cs-closing-section p {
  max-width: 1000px;
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.4;
}
.cs-closing-section p:last-child {
  margin-bottom: 0;
}

/* Prev / next */
.cs-nav-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px 96px;
}
.cs-nav-prev,
.cs-nav-next {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-color);
  transition: color var(--timing-fast);
}
.cs-nav-prev:hover,
.cs-nav-next:hover {
  color: var(--lynx-primary);
}
.cs-nav-arrow {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

/* ---------- Responsive (live breakpoints) ---------- */
@media (max-width: 991px) {
  .work-hero {
    margin-bottom: 64px;
  }
  .work-hero__inner {
    padding: 136px 32px 0;
  }
  .work-hero__h1 {
    font-size: 67px;
  }
  .work-hero__h2 {
    font-size: 21px;
  }
  .work-hero__body {
    font-size: 16px;
  }
  .work-grid-section {
    padding: 40px 32px 64px;
  }
  .projects_wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .projects_wrapper > a {
    height: 440px;
  }
  .project-card__title {
    font-size: 21px;
  }
  .project-card__text .hidding_paragraph {
    font-size: 16px;
  }
  .cs-hero {
    margin-bottom: 64px;
    padding-top: 200px;
    padding-bottom: 20px;
  }
  .cs-hero__h1 {
    font-size: 50px;
  }
  .cs-hero__content {
    padding: 0 32px;
  }
  .cs-intro,
  .cs-masonry-section,
  .cs-benefits-section,
  .cs-tech-section,
  .cs-closing-section {
    margin-bottom: 64px;
    padding: 0 32px;
  }
  .cs-intro {
    margin-bottom: 40px;
  }
  .cs-section-heading,
  .cs-intro__subtitle,
  .cs-closing__heading {
    font-size: 38px;
  }
  .cs-intro__body p,
  .cs-masonry-card__heading,
  .cs-benefit-card__heading {
    font-size: 21px;
  }
  .cs-benefits-intro {
    font-size: 16px;
  }
  .cs-masonry-card__body,
  .cs-benefit-card__body,
  .cs-closing-section p {
    font-size: 16px;
  }
  .cs-masonry-grid {
    columns: 2;
    column-gap: 20px;
    margin-bottom: -20px;
  }
  .cs-masonry-card,
  .cs-masonry-image-wrap {
    margin-bottom: 20px;
  }
  .cs-benefit-card {
    column-gap: 24px;
    padding: 16px 24px;
  }
  .cs-tech-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
  .cs-stats-section > * {
    padding-left: 32px;
    padding-right: 32px;
  }
  .cs-nav-section {
    padding: 0 32px 64px;
  }
}

@media (max-width: 767px) {
  .work-hero__inner {
    padding: 136px 32px 0;
  }
  .work-hero__h1 {
    margin-top: 32px;
    font-size: 43px;
  }
  .work-hero__h2 {
    margin-top: 32px;
    font-size: 18px;
  }
  .work-hero__body {
    margin-top: 8px;
    font-size: 14px;
  }
  .work-grid-section {
    padding: 0 32px 48px;
  }
  .projects_wrapper {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .project-card__title {
    font-size: 18px;
  }
  .project-card__text {
    gap: 10px;
    padding: 16px 16px 0;
  }
  .cs-hero {
    padding-top: 136px;
  }
  .cs-hero__h1 {
    font-size: 34px;
  }
  .cs-section-heading,
  .cs-intro__subtitle,
  .cs-closing__heading {
    font-size: 27px;
  }
  .cs-intro__body p,
  .cs-masonry-card__heading,
  .cs-benefit-card__heading {
    font-size: 18px;
  }
  .cs-benefits-intro {
    font-size: 14px;
  }
  .cs-masonry-card__body,
  .cs-benefit-card__body,
  .cs-closing-section p {
    font-size: 14px;
  }
  .cs-stats-section > * {
    padding-left: 16px;
    padding-right: 16px;
  }
  .cs-tech-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cs-tech-badge {
    grid-template-rows: 64px auto;
  }
  .cs-stat-value,
  .cs-stat-label {
    font-size: 16px;
  }
  .cs-nav-section {
    padding: 0 16px 48px;
  }
}

@media (max-width: 479px) {
  .work-hero {
    margin-bottom: 32px;
  }
  .work-hero__inner {
    padding: 120px 16px 0;
  }
  .work-hero__h1 {
    margin-top: 24px;
  }
  .work-hero__h2 {
    margin-top: 24px;
  }
  .work-grid-section {
    padding: 0 16px 40px;
  }
  .cs-hero {
    margin-bottom: 32px;
  }
  .cs-hero__content {
    padding: 0 16px;
  }
  .cs-intro,
  .cs-masonry-section,
  .cs-benefits-section,
  .cs-tech-section,
  .cs-closing-section {
    margin-bottom: 32px;
    padding: 0 16px;
  }
  .cs-intro {
    margin-bottom: 24px;
  }
  .cs-masonry-grid {
    columns: 1;
  }
  .cs-masonry-card {
    gap: 24px;
  }
  .cs-benefit-card {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
    align-items: start;
    padding: 16px;
  }
  .cs-benefit-icon,
  .cs-benefit-card__heading,
  .cs-benefit-card__body {
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
  }
  .cs-benefit-icon {
    width: 48px;
    height: 48px;
  }
  .cs-tech-grid {
    gap: 4px;
  }
  .cs-stats-section {
    margin-bottom: 32px;
  }
  .cs-stats-grid {
    gap: 20px;
  }
  .cs-nav-section {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 16px 40px;
  }
  .cs-nav-next {
    align-self: flex-end;
  }
}

/* ============================================================
   Legal / certification pages (batch L4 — measured live geometry)
   Scoped to the heroes that carry the inline --page-cover custom
   property (privacy, cookie, terms, certifications). The L3 article
   template is scoped to main:has(.article-hero__subtitle), which these
   pages do not match, so no article rule can regress.
   ============================================================ */
.article-hero[style*="--page-cover"] {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  min-height: 40vh;
  padding: 264px 0 64px;
  background-color: var(--lynx-secondary-dark);
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1)), var(--page-cover);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  overflow: hidden;
}

.article-hero[style*="--page-cover"] .page-hero__nav-spacer {
  display: none;
}

.article-hero[style*="--page-cover"] .article-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.article-hero[style*="--page-cover"] h1 {
  font-size: 137px;
  font-weight: 900;
  line-height: 1;
  color: var(--white);
  margin: 0;
}

main:has(.article-hero[style*="--page-cover"]) .article-body {
  padding: 40px 0 96px;
}

main:has(.article-hero[style*="--page-cover"]) .article-body__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px;
}

main:has(.article-hero[style*="--page-cover"]) .article-body__inner p {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
}

main:has(.article-hero[style*="--page-cover"]) .article-body__inner li {
  font-size: 14px;
  line-height: 20px;
  color: var(--text-color);
}

/* Nested legal paragraphs live inside <div> blocks, so the parent gap does
   not reach them; give the paragraphs their own readable rhythm. */
main:has(.article-hero[style*="--page-cover"]) .article-body__inner p {
  margin: 0 0 8px;
}

main:has(.article-hero[style*="--page-cover"]) .article-body__inner h5 {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  color: var(--text-color);
  margin: 0 0 16px;
}

/* Certification badges: live .iso_badge is width:288px; the local markup
   dropped the class, so size them by their src to avoid huge intrinsic SVGs. */
main:has(.article-hero[style*="--page-cover"]) .article-body__inner img[src*="iso"] {
  width: 288px;
  max-width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .article-hero[style*="--page-cover"] {
    min-height: 40vh;
    padding: 0 0 32px;
  }
  .article-hero[style*="--page-cover"] .article-hero__inner {
    padding: 0 16px;
    gap: 16px;
  }
  .article-hero[style*="--page-cover"] h1 {
    font-size: 43px;
    line-height: 1;
    overflow-wrap: anywhere;
  }
  main:has(.article-hero[style*="--page-cover"]) .article-body {
    padding: 32px 0 96px;
  }
  main:has(.article-hero[style*="--page-cover"]) .article-body__inner {
    gap: 32px;
    padding: 0 16px;
  }
  main:has(.article-hero[style*="--page-cover"]) .article-body__inner p,
  main:has(.article-hero[style*="--page-cover"]) .article-body__inner li {
    font-size: 14px;
    line-height: 1.4;
  }
  main:has(.article-hero[style*="--page-cover"]) .article-body__inner li { line-height: 20px; }
  main:has(.article-hero[style*="--page-cover"]) .article-body__inner h5 {
    font-size: 18px;
    line-height: 1.3;
  }
}

/* ============================================================
   Batch L5 — shared nav/footer/contact, Home/About, Testimonials,
   Careers polish, consent (P3-01) and legal title clamp.
   Appended last so it wins on equal specificity; every selector is
   scoped and no earlier accepted rule is rewritten in place.
   ============================================================ */

/* ---------- L5-1 Shared navigation ---------- */
/* Live desktop: logo margin-right:auto + CTA margin-left:auto split the
   leftover space, centring the links between logo and CTA. Links each
   carry a 16px right margin (live .nav_main_link margin:0 16px 0 0). */
.nav__link {
  margin-right: 16px;
}
.nav__cta {
  margin-left: auto;
}

@media (max-width: 767px) {
  .nav {
    padding-left: 16px;
  }
  .nav__logo {
    width: 75px;
    height: 38px;
  }
  .nav__mobile-toggle {
    margin-right: 16px;
  }
}

@media (max-width: 600px) {
  .nav__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 49px;
    margin-left: auto;
    margin-right: 32px;
    padding: 0;
    font-size: 12px;
  }
}

/* ---------- L5-2 Footer ---------- */
.footer {
  background-color: var(--lynx-secondary-dark);
  color: var(--white);
}
.footer__link {
  color: var(--white);
}

@media (max-width: 767px) {
  .footer {
    padding: 32px 16px;
  }
  .footer__nav {
    flex-wrap: wrap;
    gap: 16px 20px;
  }
}

/* ---------- L5-3 Contact drawer ---------- */
.contact-overlay.active {
  background-color: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.contact-panel {
  width: 50vw;
  max-width: 720px;
  background-color: var(--lynx-primary);
  background-image: url("/media/lynx/0b73b7c5e3d3-64ffecc64a833e9b6d083c7b_contact-form-bg.svg");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--lynx-secondary);
}
.contact-panel__close {
  color: var(--lynx-secondary);
}
.contact-panel__close:hover {
  background-color: rgba(0, 0, 0, 0.08);
}
.contact-panel__inner {
  padding: 32px 64px 64px;
  gap: 32px;
}
.contact-panel__title {
  font-size: 54px;
  font-weight: 900;
  line-height: 1.1;
  color: var(--lynx-secondary);
}
.contact-panel__sub {
  font-size: 18px;
  color: rgba(24, 31, 39, 0.8);
}
.contact-panel__label {
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  color: var(--lynx-secondary);
}
.contact-panel__input {
  height: 48px;
  padding: 0 12px;
  font-size: 15px;
  color: var(--lynx-secondary);
  background-color: var(--white);
  border: 1px solid var(--lynx-secondary);
  border-width: 1px 1px 2px;
}
.contact-panel__input::placeholder {
  color: rgba(24, 31, 39, 0.5);
}
.contact-panel__input:focus {
  background-color: var(--white);
  border-color: var(--lynx-secondary);
}
.contact-panel__textarea {
  height: auto;
  min-height: 150px;
  padding: 12px;
}
.contact-panel__checkbox-text {
  color: rgba(24, 31, 39, 0.85);
}
.contact-panel__checkbox-custom {
  border-color: var(--lynx-secondary);
}
.contact-panel__checkbox-link {
  color: var(--lynx-secondary);
}
.contact-panel__submit {
  color: var(--lynx-primary);
  background-color: var(--lynx-secondary);
}
.contact-panel__submit--secondary {
  color: var(--lynx-secondary);
  background-color: transparent;
  border-color: var(--lynx-secondary);
}
.contact-panel__success {
  color: var(--lynx-secondary);
  background-color: var(--white);
  border: 1px solid var(--lynx-secondary);
}
.contact-panel__success p {
  color: var(--lynx-secondary);
}
.contact-panel .form-status[data-state="sending"] {
  color: #5a3a00;
  background: #fff4e0;
  border-color: #c07a00;
  border-left-color: #c07a00;
}
.contact-panel .form-status[data-state="success"] {
  color: #0b3d1c;
  background: #e6f7ec;
  border-color: #1f8a4c;
  border-left-color: #1f8a4c;
}
.contact-panel .form-status[data-state="error"] {
  color: #5a1010;
  background: #fdecec;
  border-color: #c0392b;
  border-left-color: #c0392b;
}

@media (max-width: 767px) {
  .contact-panel {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  .contact-panel__inner {
    padding: 16px 16px 48px;
  }
  .contact-panel__title {
    font-size: 27px;
  }
  .contact-panel__input {
    height: 48px;
  }
  .contact-panel__textarea {
    min-height: 150px;
  }
}

/* ---------- L5-4 Home hero ---------- */
.home-hero {
  height: 90vh;
}

@media (max-width: 991px) {
  .home-hero {
    height: 75vh;
    min-height: 0;
    padding-top: 0;
    padding-bottom: 32px;
  }
}

@media (max-width: 767px) {
  .home-hero__h1 {
    font-size: 43px;
    line-height: 0.9;
  }
}

@media (max-width: 479px) {
  .home-hero {
    height: 70vh;
    min-height: 0;
    padding-top: 0;
    padding-bottom: 16px;
  }
}

/* Live mobile hero box: 16px gutters, 20px H1→subtitle gap, subtitle
   18/1.3, and no `_1440px-section` bottom margin so the bottom-aligned
   content sits flush at the 16px bottom padding (320 live: H1 y455.797,
   subtitle y553.203, hero ends 662.797). */
@media (max-width: 600px) {
  .home-hero__inner {
    margin-bottom: 0;
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 20px;
  }
  .home-hero__subtitle {
    font-size: 18px;
    line-height: 1.3;
  }
}

/* Home section headings: live h2 scale 91 desktop / 34 mobile. */
@media (max-width: 767px) {
  .home-values__title,
  .home-services__title,
  .home-testimonials__title {
    font-size: 34px;
    line-height: 1;
  }
}

/* L4 correction: live .ind-focus__title is weight 900, not 200. Keep the
   accepted 61 desktop / 27 mobile sizes and only fix the weight. */
.ind-focus__title {
  font-weight: 900;
}

/* ---------- L5-5 Home #values-slider pagination + full-card link ---------- */
/* Splide core hides pagination when the track does not overflow
   (.splide:not(.is-overflow) .splide__pagination{display:none}); this id
   selector restores it. Buttons are empty, so the existing counter renders 1-5. */
#values-slider .splide__pagination {
  position: static;
  display: flex;
  justify-content: center;
  bottom: auto;
  width: 100%;
  padding: 0;
}
#values-slider .splide__pagination__page {
  cursor: pointer;
}
#values-slider .splide__pagination__page:focus-visible {
  outline: 3px solid var(--lynx-primary);
  outline-offset: -3px;
}
/* The href overlay is a zero-size inline anchor in markup; make it fill the
   card so the whole slide is the link. z-index 2 keeps it above the dark
   ::after overlay and the label, while pagination lives outside the track. */
#values-slider .splide__slide > a,
#values-slider .value-card__link {
  position: absolute;
  inset: 0;
  display: block;
  width: auto;
  height: auto;
  z-index: 2;
}
#values-slider .splide__slide > a:focus-visible,
#values-slider .value-card__link:focus-visible {
  outline: 3px solid var(--lynx-primary);
  outline-offset: -3px;
}

/* ---------- L5-6 / L6 About ---------- */
/* H1 top 168 (nav 72 + 96), intro heading at y345 (H1 137 + 40 gap). */
.about-hero__inner {
  padding-top: 96px;
}
/* Live hero heading→body gap is 12, not 24. */
.about-hero__text {
  max-width: none;
  gap: 12px;
}
.about-approach {
  background: #f5f7f7;
}
/* Desktop typography the task asks to preserve explicitly. */
.about-pillar__heading {
  line-height: 1.3;
}
.about-values__title {
  line-height: 1;
}
.about-values__subtitle {
  line-height: 1.3;
}
/* Five value anchors must clear the fixed 72px nav when linked to. */
.value-card[id] {
  scroll-margin-top: 96px;
}
/* About In Numbers is a white section with light-grey cards and dark type. */
main:has(> .about-hero) .about-numbers {
  background: var(--white);
}
main:has(> .about-hero) .about-numbers__header p {
  color: #181f27;
}
main:has(> .about-hero) .about-numbers .about-h2,
main:has(> .about-hero) .about-numbers .about-h2 strong {
  color: #181f27;
}
main:has(> .about-hero) .about-numbers .stat {
  background: #f5f7f7;
  border: none;
}
main:has(> .about-hero) .about-numbers .stat__number,
main:has(> .about-hero) .about-numbers .stat__label {
  color: #181f27;
}

@media (max-width: 767px) {
  /* About's own `_1440px-section` wrappers: 16px gutters (was 24). */
  main:has(> .about-hero) ._1440px-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .about-hero__inner {
    padding-top: 72px;
    padding-bottom: 24px;
  }
  .about-hero__h1 {
    font-size: 43px;
    line-height: 1;
    margin-bottom: 20px;
  }
  .about-hero__subtitle {
    font-size: 27px;
    line-height: 1.1;
  }
  .about-hero__text {
    gap: 12px;
  }
  .about-hero__body {
    font-size: 18px;
    line-height: 1.3;
  }
  .about-approach {
    padding: 16px 0;
  }
  .about-approach__grid {
    gap: 24px;
  }
  .about-pillar__heading {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 8px;
  }
  .about-pillar p {
    font-size: 14px;
    line-height: 1.4;
  }
  .about-values__inner {
    gap: 16px;
  }
  .about-values__header {
    gap: 16px;
  }
  .about-values__title {
    font-size: 34px;
    line-height: 1;
  }
  .about-values__subtitle {
    font-size: 18px;
    line-height: 1.3;
  }
  .about-values__grid {
    gap: 24px;
  }
  /* Cards were icon-above-heading with 18px body, making them oversized. Put
     icon and title on one row and drop the body copy to the live 14/1.4. */
  .value-card {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 12px;
    align-items: center;
  }
  .value-card__icon {
    grid-column: 1;
    grid-row: 1;
  }
  .value-card__heading {
    grid-column: 2;
    grid-row: 1;
    font-size: 22px;
    line-height: 1.2;
  }
  .value-card__tagline,
  .value-card__body {
    grid-column: 1 / -1;
  }
  .value-card__tagline {
    font-size: 14px;
    line-height: 1.4;
  }
  .value-card__body {
    font-size: 14px;
    line-height: 1.4;
  }
  main:has(> .about-hero) .about-values {
    padding: 16px 0;
  }
  /* Lower About: h2 is 34/1, not the remaining 91px desktop scale. */
  main:has(> .about-hero) .about-h2 {
    font-size: 34px;
    line-height: 1;
  }
  main:has(> .about-hero) .about-mission {
    padding: 32px;
  }
  main:has(> .about-hero) .about-history {
    padding: 32px 0 0;
  }
  main:has(> .about-hero) .about-people,
  main:has(> .about-hero) .about-learning,
  main:has(> .about-hero) .about-numbers {
    padding: 32px 0;
  }
  /* Offices are full-bleed by design; only the outer padding changes. */
  main .about-offices {
    padding: 16px;
  }
  /* Mobile history: full-width single column, image above the event copy. */
  main:has(> .about-hero) .history-inner {
    padding: 0 16px;
  }
  main:has(> .about-hero) .history-slide {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  main:has(> .about-hero) .history-slide img {
    order: -1;
    width: 100%;
    aspect-ratio: 21 / 9;
  }
  main:has(> .about-hero) .history-event {
    min-width: 0;
  }
  main:has(> .about-hero) .history-event h4 {
    font-size: 22px;
    line-height: 1.2;
  }
  main:has(> .about-hero) .history-event p {
    font-size: 14px;
    line-height: 1.4;
  }
  main:has(> .about-hero) .history-year {
    font-size: 50px;
  }
  /* Mobile offices: single column, image above the event copy. */
  main .office-slide {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  main .office-slide img {
    order: -1;
    width: 100%;
    aspect-ratio: 21 / 9;
  }
  main .office-slide .office-event {
    width: 100%;
    min-width: 0;
    margin-bottom: 0;
  }
  main .office-event p {
    font-size: 14px;
    line-height: 1.4;
  }
  main .office-address {
    width: auto;
    min-width: 0;
  }
  main .office-city {
    position: static;
    margin-top: 24px;
    font-size: 30px;
    line-height: 1;
  }
  main .office-city > span {
    display: inline-block;
    position: static;
    transform: none;
    margin-right: 8px;
    vertical-align: middle;
  }
  /* Arrows move to a full-width row below the slide content. */
  :is(#offices-slider, #careers-offices-slider) {
    display: flex;
    flex-direction: column;
  }
  :is(#offices-slider, #careers-offices-slider) .splide__track {
    order: 1;
  }
  :is(#offices-slider, #careers-offices-slider) .splide__arrows {
    order: 2;
    position: static;
    gap: 16px;
    justify-content: space-between;
    width: 100%;
    margin-top: 24px;
  }
  /* Mobile numbers: lighter cards, tighter rhythm. */
  main:has(> .about-hero) .about-numbers .stats-row {
    gap: 16px;
  }
  main:has(> .about-hero) .about-numbers .stat {
    padding: 24px;
  }
  main:has(> .about-hero) .about-numbers .stat__number {
    font-size: 27px;
    line-height: 1.3;
  }
  main:has(> .about-hero) .about-numbers .stat__label {
    font-size: 14px;
    line-height: 1.4;
  }
}

/* ---------- L5-7 / L6 Testimonials page (white intro, dark type) ---------- */
/* The 40px `.hero` gap inserts a second offset between the nav spacer and
   `.hero__main` (H1 read y208 instead of 168). The gap moves to
   `.hero__main` so the spacer alone positions the title. */
main.lynx-testimonials-page .hero {
  gap: 0;
  background: var(--white);
  margin-bottom: 96px;
  padding-bottom: 0;
}
main.lynx-testimonials-page .hero__nav-spacer {
  height: 168px;
}
main.lynx-testimonials-page .hero__main {
  gap: 40px;
}
main.lynx-testimonials-page .hero__title {
  font-size: 137px;
  line-height: 1;
  color: var(--text-color);
}
main.lynx-testimonials-page .hero__subtitle-row {
  width: 100%;
  min-width: 0;
}
/* The shared subtitle is `width:592px; flex-shrink:0`; pin it to its row so
   the mixed-weight line wraps instead of overflowing to x1923. */
main.lynx-testimonials-page .hero__subtitle {
  width: 100%;
  min-width: 0;
  flex-shrink: 1;
  font-size: 61px;
  font-weight: 900;
  line-height: 1.1;
  color: var(--text-color);
  overflow-wrap: normal;
  word-break: normal;
}
main.lynx-testimonials-page .hero__collage {
  width: 640px;
  max-width: 50%;
  flex: 0 1 auto;
}
/* Light intro spans ("See why …" / "… to build their products") at weight 200;
   the unsplit middle text keeps the 900 from `.hero__subtitle`. */
main.lynx-testimonials-page .hero__subtitle-light {
  font-weight: 200;
}
main.lynx-testimonials-page .card {
  padding: 24px;
}
main.lynx-testimonials-page .card__text {
  font-size: 18px;
  font-style: italic;
  line-height: 1.4;
}

@media (min-width: 768px) and (max-width: 991px) {
  main.lynx-testimonials-page .hero { padding-left: 32px; padding-right: 32px; }
  main.lynx-testimonials-page .hero__title { font-size: 67px; }
  main.lynx-testimonials-page .hero__subtitle-row { flex-direction: row; }
  main.lynx-testimonials-page .hero__subtitle { font-size: 38px; }
}

@media (max-width: 991px) {
  main.lynx-testimonials-page .hero__nav-spacer {
    height: 136px;
  }
}

@media (max-width: 767px) {
  main.lynx-testimonials-page .hero {
    margin-bottom: 32px;
  }
  main.lynx-testimonials-page .hero__nav-spacer {
    height: 144px;
  }
  main.lynx-testimonials-page .hero__main {
    gap: 20px;
  }
  main.lynx-testimonials-page .hero__title {
    font-size: 43px;
  }
  main.lynx-testimonials-page .hero__subtitle {
    font-size: 27px;
    line-height: 1.1;
  }
  main.lynx-testimonials-page .card {
    padding: 12px;
  }
  main.lynx-testimonials-page .card__text {
    font-size: 14px;
    line-height: 1.4;
  }
}

/* Mobile gutters: beat the global `._1440px-section{padding:…24px!important}`. */
@media (max-width: 600px) {
  main.lynx-testimonials-page ._1440px-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ---------- L5-8 Careers polish ---------- */
/* Local markup uses .job-info-row / .job-cta-btn (live .flex-block-17 /
   .link-block). Title stays hard left (x88) and the arrow becomes the live
   orange square. */
.job_listing_item {
  justify-content: flex-start;
}
.job-info-row {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  min-height: 80px;
  padding-left: 24px;
}
.job-cta-btn {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #F7931E;
  transition: transform 0.333s;
}
.job-cta-btn:hover {
  transform: scale(1.1);
}
.job-cta-btn img {
  display: block;
  width: 24px;
  height: 24px;
}

@media (max-width: 767px) {
  .job-info-row {
    flex-direction: column;
    align-items: flex-start;
    min-height: auto;
    padding-left: 16px;
  }
  .job-cta-btn {
    width: 30px;
    height: 30px;
  }
  .job-cta-btn img {
    width: 18px;
    height: 18px;
  }
  .careers-h5-light,
  .careers-h5-bold {
    font-size: 18px;
    line-height: 1.3;
  }
}

/* ---------- L5-9 Consent polish (P3-01, CSS only) ---------- */
#lynx-cookie-preferences {
  width: 576px;
  max-width: calc(100vw - 32px);
  max-height: 70vh;
  padding: 32px;
  overflow: auto;
  background: #fff;
  color: #181f27;
}
#lynx-cookie-preferences::backdrop {
  background: rgba(0, 0, 32, 0.6);
}
#lynx-cookie-preferences .lynx-cookie-all {
  gap: 8px;
}
#lynx-cookie-preferences .lynx-cookie-all .acb-btn {
  width: auto;
  min-width: 0;
  padding: 12px 24px;
}
/* Essential category: replace the disabled checkbox visually with an
   "Always Active" indicator while keeping the native disabled input in the
   accessibility tree. Scoped to :has(input:disabled) so enabled category
   checkboxes are untouched. */
body #aicms-cookiebar .acb-cat:has(input:disabled) input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}
body #aicms-cookiebar .acb-cat:has(input:disabled) .acb-cat-text {
  flex: 1;
  min-width: 0;
}
body #aicms-cookiebar .acb-cat:has(input:disabled) .acb-cat-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}
body #aicms-cookiebar .acb-cat:has(input:disabled) .acb-cat-label::after {
  content: "Always Active";
  flex: none;
  font-size: 12px;
  font-weight: 600;
  color: #181f27;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media (max-width: 600px) {
  #lynx-cookie-preferences {
    max-height: 70vh;
    padding: 32px 24px;
  }
  #lynx-cookie-preferences .lynx-cookie-all {
    flex-wrap: wrap;
  }
  #lynx-cookie-preferences .lynx-cookie-all .acb-btn {
    min-width: 0;
  }
}

/* ---------- L5-10 Legal title mobile clamp ---------- */
@media (max-width: 767px) {
  .article-hero[style*="--page-cover"] h1 {
    font-size: clamp(34px, 11vw, 43px);
    overflow-wrap: normal;
    word-break: normal;
  }
}

/* ============================================================
   AI Service page restoration (main.lynx-ai-page)
   Appended batch. Every selector is scoped to .lynx-ai-page /
   main.lynx-ai-page; no earlier declarations are modified.
   ============================================================ */

main.lynx-ai-page {
  background: #121519 url("/media/lynx/e5db10ff828e-67e10647aaedad540295b684_background.jpg") center top / cover no-repeat fixed;
  color: #ffffff;
}

/* ---------- Shared type scale + section rhythm ---------- */
.lynx-ai-page ._1440px-section {
  max-width: 1440px;
  padding-left: 64px;
  padding-right: 64px;
}
.lynx-ai-page .svc-section {
  padding: 48px 0; /* 48 + 48 = 96px between major sections */
  background: transparent; /* let the page background continue, no dark bands */
}
.lynx-ai-page .svc-section__inner {
  gap: 64px;
}
.lynx-ai-page .svc-section__header {
  max-width: 1312px;
  gap: 16px;
}
.lynx-ai-page .svc-h2 {
  font-size: 61px;
  line-height: 1.1;
  font-weight: 900;
}
.lynx-ai-page .svc-h2.ai-h4-title {
  font-size: 40px;
  line-height: 1.2;
}
.lynx-ai-page .svc-subtitle {
  font-size: 40px;
  line-height: 1.2;
  font-weight: 200;
}
.lynx-ai-page .svc-h2-light {
  font-weight: 200;
}
.lynx-ai-page p {
  font-size: 18px;
  line-height: 1.4;
}
.lynx-ai-page .svc-section--dark p {
  color: #ffffff; /* ordinary card/body copy stays white; stat sources stay subdued via their inline opacity */
}
.lynx-ai-page .svc-pillar .svc-pillar__heading {
  font-size: 27px;
  line-height: 1.3;
  font-weight: 900;
}
.lynx-ai-page .svc-pillar > p:not(.svc-pillar__heading) {
  font-size: 18px;
  line-height: 1.4;
}

/* ---------- Hero: dark base + natural-height photo layer ---------- */
.lynx-ai-page .page-hero--dark {
  position: relative;
  background: transparent;
}
.lynx-ai-page .page-hero--dark::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1921 / 641;
  background-image: var(--ai-cover);
  background-position: top center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  opacity: 0.68;
  pointer-events: none;
  z-index: 0;
}
.lynx-ai-page .page-hero--dark .page-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 120px 64px 16px;
  gap: 40px;
}
.lynx-ai-page .page-hero--dark .page-hero__nav-spacer {
  height: 128px;
}
.lynx-ai-page .page-hero--dark .page-hero__content {
  gap: 64px;
}
.lynx-ai-page .page-hero--dark .page-hero__h1 {
  font-size: 137px;
  font-weight: 200;
  line-height: 1;
  letter-spacing: normal;
  color: var(--white);
  max-width: 1312px;
}
.lynx-ai-page .page-hero--dark .page-hero__h1 strong {
  font-weight: 900;
}
.lynx-ai-page .page-hero--dark .page-hero__h1 .light {
  font-weight: 200;
}
.lynx-ai-page .page-hero--dark .page-hero__body-group {
  gap: 16px;
  max-width: 1312px;
}
.lynx-ai-page .page-hero--dark .page-hero__body-group p {
  font-size: 18px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
}
.lynx-ai-page .page-hero--dark .page-hero__body-group p:first-child {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  color: var(--white);
}
.lynx-ai-page .page-hero--dark .page-hero__body-group .cta-button {
  display: inline-block;
  align-self: flex-start;
  margin-top: 48px;
  padding: 0;
  background: none;
  color: var(--lynx-primary);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
}
.lynx-ai-page .page-hero--dark .page-hero__body-group .cta-button:hover {
  opacity: 1;
  text-decoration: underline;
}

/* ---------- Intro: two text cards + photo ---------- */
.lynx-ai-page .ai-intro-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  align-items: start;
}
.lynx-ai-page .ai-intro-col {
  min-width: 0;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.05);
}
.lynx-ai-page .ai-intro-col .svc-section__header {
  max-width: none;
  gap: 16px;
}
.lynx-ai-page .ai-intro-col .svc-section__header .svc-h2 {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 900;
}
.lynx-ai-page .ai-intro-col .svc-section__header p {
  font-size: 18px;
  line-height: 1.4;
  color: #ffffff;
  font-weight: 400;
}
.lynx-ai-page .ai-intro-col .svc-pillars {
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 12px;
}
.lynx-ai-page .ai-intro-col .svc-pillar {
  display: list-item;
  list-style: disc;
  min-width: 0;
  padding: 0 0 0 1em;
  border: 0;
  background: none;
  margin: 0 0 12px;
}
.lynx-ai-page .ai-intro-col .svc-pillar .svc-pillar__heading {
  display: inline;
  font-size: 14px;
  line-height: 20px;
  font-weight: 900;
  margin-right: 4px;
}
.lynx-ai-page .ai-intro-col .svc-pillar > p:not(.svc-pillar__heading) {
  display: inline;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
}
.lynx-ai-page .ai-intro-closing {
  font-size: 18px;
  line-height: 1.4;
  margin-top: 24px;
  color: #ffffff;
}
.lynx-ai-page .ai-intro-certs {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}
.lynx-ai-page .ai-intro-certs .svc-pillar__heading {
  font-size: 18px;
  line-height: 1.4;
}
.lynx-ai-page .ai-intro-certs__logos {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}
.lynx-ai-page .ai-intro-certs__logos img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 72px;
  object-fit: contain;
}
.lynx-ai-page .ai-intro-photo {
  min-width: 0;
  align-self: stretch;
}
.lynx-ai-page .ai-intro-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  object-position: 20% 50%;
  display: block;
}

/* ---------- Experience profiles ---------- */
.lynx-ai-page .svc-profiles {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.lynx-ai-page .svc-profile {
  min-width: 0;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.05);
}
.lynx-ai-page .svc-profile .svc-pillar__icon,
.lynx-ai-page .ai-tier .svc-pillar__icon {
  width: auto;
  height: auto;
  max-width: 70px;
  max-height: 70px;
  object-fit: contain;
  margin-bottom: 8px;
}
.lynx-ai-page .svc-profile .svc-profile__tag {
  font-size: 27px;
  line-height: 1;
  font-weight: 900;
  text-transform: none;
  letter-spacing: normal;
  color: var(--white);
}
.lynx-ai-page .svc-profile .svc-profile__title {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 900;
}
.lynx-ai-page .svc-profile > p {
  font-size: 18px;
  line-height: 1.4;
}

/* ---------- Strategic tiers: three columns, stacked pillars ---------- */
.lynx-ai-page .svc-section__inner:has(> .ai-tier) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  align-items: start;
}
.lynx-ai-page .svc-section__inner:has(> .ai-tier) > .svc-section__header {
  grid-column: 1 / -1;
}
.lynx-ai-page .ai-tier {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.6);
  background: rgba(255, 255, 255, 0.05);
}
.lynx-ai-page .ai-tier > .svc-profile__tag {
  font-size: 27px;
  line-height: 1;
  font-weight: 900;
  text-transform: none;
  letter-spacing: normal;
  color: var(--white);
  margin: 0 !important;
}
.lynx-ai-page .ai-tier .svc-pillars {
  grid-template-columns: 1fr;
  gap: 16px;
}
.lynx-ai-page .ai-tier .svc-pillar {
  border: 0;
  background: none;
  padding: 0;
  gap: 8px;
}
.lynx-ai-page .ai-tier .svc-pillar .svc-pillar__heading {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 900;
}
.lynx-ai-page .ai-tier .svc-pillar > p:not(.svc-pillar__heading) {
  font-size: 18px;
  line-height: 1.4;
}

/* ---------- Section-header topline labels: compact white chips ---------- */
.lynx-ai-page .svc-section__header > .svc-profile__tag {
  display: inline-block;
  width: fit-content;
  padding: 2px 8px;
  background: #ffffff;
  color: #181f27;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: normal;
}

/* ---------- Integrating AI: large heading, full-width pillars ---------- */
.lynx-ai-page .svc-section__inner:has(> .svc-pillars) .svc-h2 {
  font-size: 91px;
  line-height: 1;
}
.lynx-ai-page .svc-section__inner:has(> .svc-pillars) > .svc-pillars {
  grid-template-columns: 1fr;
  gap: 24px;
}

/* ---------- Statistics: large heading, six cards ---------- */
.lynx-ai-page .svc-section__inner:has(> .svc-stats) .svc-h2 {
  font-size: 91px;
  line-height: 1;
}
.lynx-ai-page .svc-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px;
}
.lynx-ai-page .svc-stat,
.lynx-ai-page .svc-stat * {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.lynx-ai-page .svc-stat {
  padding: 24px;
}

/* ---------- Custom AI agents: two-thirds list + one-third photo ---------- */
.lynx-ai-page .ai-agent-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}
.lynx-ai-page .ai-agent-grid .svc-pillars {
  grid-template-columns: 1fr;
  gap: 16px;
}
.lynx-ai-page .ai-agent-grid .ai-agent-photo {
  min-width: 0;
  align-self: stretch;
}
.lynx-ai-page .ai-agent-grid .ai-agent-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lynx-ai-page .svc-section__inner > div:not(.svc-section__header):not(.svc-stats) > h3 {
  font-size: 40px !important;
  line-height: 1.2 !important;
  font-weight: 900;
  margin-bottom: 12px;
}
.lynx-ai-page .ai-advantage-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 24px !important;
  max-width: none !important;
}
.lynx-ai-page .ai-advantage-list > li {
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.6);
  background: rgba(255, 255, 255, 0.05);
}
.lynx-ai-page .ai-advantage-list > li > p {
  font-size: 18px;
  line-height: 1.4;
}

/* ---------- Process: white square markers + content blocks ---------- */
.lynx-ai-page .svc-process {
  position: relative;
}
.lynx-ai-page .svc-process__step {
  display: flex;
  gap: 24px;
  padding: 0;
  margin-bottom: 24px;
  border: none;
  align-items: center;
}
.lynx-ai-page .svc-process__step:not(:last-child)::before {
  content: none;
}
.lynx-ai-page .svc-process__num {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  color: #181f27;
  font-size: 27px;
  font-weight: 900;
  line-height: 1;
}
.lynx-ai-page .svc-process__content {
  flex: 1;
  min-width: 0;
  padding: 24px;
  gap: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.05), transparent);
}
.lynx-ai-page .svc-process__title {
  font-size: 27px;
  line-height: 1.3;
  font-weight: 900;
}
.lynx-ai-page .svc-process__desc {
  font-size: 18px;
  line-height: 1.4;
  color: #ffffff;
  opacity: 1;
}

/* ---------- Final team ---------- */
.lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) .svc-h2 {
  font-size: 91px;
  line-height: 1;
}
.lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) .svc-subtitle {
  font-size: 40px;
  line-height: 1.2;
  font-weight: 200;
}
.lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) > div[style] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
}
.lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) > div[style] > div {
  min-width: 0;
}
.lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}
.lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) a[href^="mailto:"] {
  font-size: 14px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .lynx-ai-page ._1440px-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .lynx-ai-page .svc-section {
    padding: 16px 0;
  }
  .lynx-ai-page .svc-section__inner {
    gap: 16px;
  }
  .lynx-ai-page .svc-h2 {
    font-size: 27px;
  }
  .lynx-ai-page .svc-h2.ai-h4-title {
    font-size: 22px;
    line-height: 1.2;
  }
  .lynx-ai-page .svc-subtitle {
    font-size: 21px;
  }
  .lynx-ai-page p {
    font-size: 14px;
    line-height: 1.4;
  }

  /* Hero */
  .lynx-ai-page .page-hero--dark .page-hero__inner {
    padding: 29px 16px 20px;
    gap: 24px;
  }
  .lynx-ai-page .page-hero--dark .page-hero__nav-spacer {
    height: 64px;
  }
  .lynx-ai-page .page-hero--dark .page-hero__content {
    gap: 24px;
  }
  .lynx-ai-page .page-hero--dark .page-hero__h1 {
    font-size: 43px;
  }
  .lynx-ai-page .page-hero--dark .page-hero__body-group p {
    font-size: 14px;
    line-height: 1.4;
  }
  .lynx-ai-page .page-hero--dark .page-hero__body-group p:first-child {
    font-size: 18px;
    line-height: 1.3;
  }
  .lynx-ai-page .page-hero--dark .page-hero__body-group .cta-button {
    font-size: 14px;
    margin-top: 8px;
  }

  /* Intro */
  .lynx-ai-page .ai-intro-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .lynx-ai-page .ai-intro-col {
    padding: 12px;
  }
  .lynx-ai-page .ai-intro-col .svc-section__header .svc-h2 {
    font-size: 14px;
    line-height: 1.4;
  }
  .lynx-ai-page .ai-intro-col .svc-section__header p {
    font-size: 14px;
  }
  .lynx-ai-page .ai-intro-col .svc-pillar .svc-pillar__heading {
    font-size: 14px;
    line-height: 1.4;
  }
  .lynx-ai-page .ai-intro-col .svc-pillar > p:not(.svc-pillar__heading) {
    font-size: 14px;
    line-height: 1.4;
  }
  .lynx-ai-page .ai-intro-closing {
    font-size: 14px;
    line-height: 1.4;
    margin-top: 16px;
  }
  .lynx-ai-page .ai-intro-photo {
    align-self: auto;
  }
  .lynx-ai-page .ai-intro-photo img {
    height: auto;
    object-position: 20% 50%;
  }

  /* Profiles */
  .lynx-ai-page .svc-profiles {
    grid-template-columns: 1fr;
  }
  .lynx-ai-page .svc-profile {
    padding: 12px;
  }
  .lynx-ai-page .svc-profile .svc-profile__tag {
    font-size: 18px;
  }
  .lynx-ai-page .svc-profile .svc-profile__title,
  .lynx-ai-page .svc-profile > p {
    font-size: 14px;
  }

  /* Strategic tiers */
  .lynx-ai-page .svc-section__inner:has(> .ai-tier) {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .lynx-ai-page .ai-tier {
    padding: 12px;
  }
  .lynx-ai-page .ai-tier > .svc-profile__tag {
    font-size: 18px;
  }
  .lynx-ai-page .ai-tier .svc-pillar .svc-pillar__heading {
    font-size: 14px;
  }
  .lynx-ai-page .ai-tier .svc-pillar > p:not(.svc-pillar__heading) {
    font-size: 14px;
  }

  /* Integrating AI */
  .lynx-ai-page .svc-section__inner:has(> .svc-pillars) .svc-h2 {
    font-size: 34px;
    line-height: 1;
  }
  .lynx-ai-page .svc-pillar .svc-pillar__heading {
    font-size: 18px;
  }
  .lynx-ai-page .svc-pillar > p:not(.svc-pillar__heading) {
    font-size: 14px;
  }

  /* Statistics */
  .lynx-ai-page .svc-section__inner:has(> .svc-stats) .svc-h2 {
    font-size: 34px;
  }
  .lynx-ai-page .svc-stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .lynx-ai-page .svc-stat {
    padding: 16px;
  }

  /* Custom agents */
  .lynx-ai-page .ai-agent-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .lynx-ai-page .ai-agent-grid .ai-agent-photo {
    align-self: auto;
  }
  .lynx-ai-page .ai-agent-grid .ai-agent-photo img {
    height: auto;
    max-height: 420px;
    object-fit: cover;
  }
  .lynx-ai-page .svc-section__inner > div:not(.svc-section__header):not(.svc-stats) > h3 {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
  .lynx-ai-page .ai-advantage-list {
    gap: 16px !important;
  }
  .lynx-ai-page .ai-advantage-list > li {
    padding: 12px;
  }
  .lynx-ai-page .ai-advantage-list > li > p {
    font-size: 14px;
    line-height: 1.4;
  }

  /* Process */
  .lynx-ai-page .svc-process__step {
    gap: 8px;
    margin-bottom: 16px;
  }
  .lynx-ai-page .svc-process__num {
    width: 24px;
    height: 24px;
    font-size: 18px;
  }
  .lynx-ai-page .svc-process__content {
    padding: 12px;
  }
  .lynx-ai-page .svc-process__title {
    font-size: 18px;
    line-height: 1.3;
  }
  .lynx-ai-page .svc-process__desc {
    font-size: 14px;
    line-height: 1.4;
  }

  /* Final team */
  .lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) .svc-h2 {
    font-size: 34px;
  }
  .lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) .svc-subtitle {
    font-size: 21px;
  }
  .lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) > div[style] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Tablet: team becomes two columns */
@media (min-width: 768px) and (max-width: 991px) {
  .lynx-ai-page .svc-section__inner:has(a[href^="mailto:"]) > div[style] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   Service templates + overview (batch: service-style)
   Appended additions only — no earlier rules edited.
   Scoped to .lynx-service-page (5 detail pages) or
   main:has(> .services-cards) (services / industries overview).
   ============================================================ */

/* ---------- Service detail pages: hero ---------- */
.lynx-service-page .page-hero {
  position: relative;
  display: block;
  min-height: 0;
  padding: 0;
  margin-bottom: 96px;
  background: #121519;
  color: #fff;
}
.lynx-service-page .page-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 264px 64px 64px;
}
.lynx-service-page .page-hero__nav-spacer {
  display: none;
}
.lynx-service-page .page-hero__content {
  gap: 32px;
}
.lynx-service-page .page-hero__h1 {
  font-size: 91px;
  font-weight: 900;
  line-height: 1;
  color: #fff;
  margin: 0;
}
.lynx-service-page .page-hero__h3 {
  font-size: 27px;
  font-weight: 400;
  line-height: 1.3;
  color: #fff;
}
.lynx-service-page .page-hero__h3-group {
  gap: 0;
}
.lynx-service-page .page-hero__img-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: 0;
}
.lynx-service-page .page-hero__img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, #000 100%);
}
.lynx-service-page .page-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------- Service detail pages: sections ---------- */
.lynx-service-page .svc-section {
  padding: 0;
  background: #fff;
  color: var(--text-color);
}
.lynx-service-page .svc-section + .svc-section {
  margin-top: 96px;
}
.lynx-service-page .svc-section--gray {
  background: #f5f6f6;
}
.lynx-service-page .svc-section--dark {
  background: #121519;
  color: #fff;
}
.lynx-service-page .svc-section ._1440px-section {
  padding-left: 64px;
  padding-right: 64px;
}
.lynx-service-page .svc-section__inner {
  gap: 24px;
}
.lynx-service-page .svc-section__header {
  gap: 24px;
  max-width: none;
}
.lynx-service-page .svc-h2 {
  font-size: 61px;
  font-weight: 900;
  line-height: 1.1;
}
.lynx-service-page .svc-h2-light {
  font-weight: 200;
}
.lynx-service-page .svc-section p {
  font-size: 18px;
  line-height: 1.4;
}
.lynx-service-page .svc-subtitle {
  font-size: 18px;
  line-height: 1.4;
}

/* Focus cards */
.lynx-service-page .svc-pillars {
  gap: 24px;
}
.lynx-service-page .svc-pillar {
  gap: 12px;
}
.lynx-service-page .svc-pillar .svc-pillar__heading {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
}
.lynx-service-page .svc-pillar > p {
  font-size: 18px;
  line-height: 1.4;
}

/* Technology grids: keep icons bounded and labels unclipped */
.lynx-service-page :is(.svc-tech-badge, .svc-tech-badge--icon) {
  gap: 16px;
  min-width: 0;
  text-align: center;
}
.lynx-service-page :is(.svc-tech-badge, .svc-tech-badge--icon) span {
  font-size: 14px;
  line-height: 1.3;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Process: vertical flow, orange badges, readable at 320px */
.lynx-service-page .svc-process__step {
  align-items: flex-start;
  gap: 24px;
}
.lynx-service-page .svc-process__num {
  flex-shrink: 0;
  background: #F7931E;
  color: #181f27;
}
.lynx-service-page .svc-process__content {
  min-width: 0;
  padding-top: 0;
}
.lynx-service-page .svc-process .svc-process__title {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
}
.lynx-service-page .svc-process .svc-process__desc {
  font-size: 18px;
  line-height: 1.4;
  opacity: 1;
}

/* ---------- Service detail pages: mobile ---------- */
@media (max-width: 767px) {
  .lynx-service-page .page-hero {
    display: flex;
    align-items: flex-end;
    min-height: 40vh;
    margin-bottom: 32px;
  }
  .lynx-service-page .page-hero__inner {
    padding: 136px 16px 32px;
  }
  .lynx-service-page .page-hero__content {
    gap: 12px;
  }
  .lynx-service-page .page-hero__h1 {
    font-size: 34px;
    line-height: 1;
  }
  .lynx-service-page .page-hero__h3 {
    font-size: 18px;
    line-height: 1.3;
  }
  .lynx-service-page .svc-section + .svc-section {
    margin-top: 32px;
  }
  .lynx-service-page .svc-section ._1440px-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .lynx-service-page .svc-section__header {
    gap: 12px;
  }
  .lynx-service-page .svc-h2 {
    font-size: 27px;
    line-height: 1.1;
  }
  .lynx-service-page .svc-section p,
  .lynx-service-page .svc-subtitle {
    font-size: 14px;
    line-height: 1.4;
  }
  .lynx-service-page .svc-pillar .svc-pillar__heading {
    font-size: 18px;
    line-height: 1.3;
  }
  .lynx-service-page .svc-pillar > p {
    font-size: 14px;
    line-height: 1.4;
  }
  .lynx-service-page .svc-process__step {
    gap: 16px;
  }
  .lynx-service-page .svc-process .svc-process__title {
    font-size: 18px;
    line-height: 1.3;
  }
  .lynx-service-page .svc-process .svc-process__desc {
    font-size: 14px;
    line-height: 1.4;
  }
}

/* ---------- Services / Industries overview ---------- */
main:has(> .services-cards) .page-hero {
  min-height: 0;
  background: #fff;
  color: var(--text-color);
}
main:has(> .services-cards) .page-hero__inner {
  max-width: 1440px;
  margin: 0 auto 96px;
  padding: 168px 64px 0;
}
main:has(> .services-cards) .page-hero__nav-spacer {
  display: none;
}
main:has(> .services-cards) .page-hero__content {
  gap: 40px;
}
main:has(> .services-cards) .page-hero__h1 {
  font-size: 137px;
  font-weight: 900;
  line-height: 1;
}
main:has(> .services-cards) .page-hero__h3 {
  font-size: 61px;
  font-weight: 900;
  line-height: 1.1;
}
main:has(> .services-cards) .page-hero__body-group p {
  font-size: 18px;
  line-height: 1.4;
}

/* Cards */
main:has(> .services-cards) .industries_wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}
main:has(> .services-cards) .industry_wrapper {
  overflow: hidden;
}
main:has(> .services-cards) .svc-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
  height: 420px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-decoration: none;
}
main:has(> .services-cards) .svc-card:focus-visible {
  outline: 3px solid #F7931E;
  outline-offset: -3px;
}
main:has(> .services-cards) .ai-service-card {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/media/lynx/6dbcbf42fc47-67f3c90c9cd716fa729fa321_ai_driven_digital_transformation_hero.png");
}
main:has(> .services-cards) .industry_description {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  max-width: 90%;
  padding: 24px;
  background: #fff;
  transform: translateY(0);
}
main:has(> .services-cards) .industry_description h5 {
  font-size: 27px;
  font-weight: 900;
  line-height: 1.3;
  color: var(--text-color);
  margin: 0;
}
main:has(> .services-cards) .hidding_paragraph {
  font-size: 18px;
  line-height: 1.4;
  color: var(--text-color);
  margin: 0;
}
@media (min-width: 768px) {
  main:has(> .services-cards) .hidding_paragraph {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.25s ease, opacity 0.25s ease;
  }
  main:has(> .services-cards) .industry_wrapper:hover .hidding_paragraph,
  main:has(> .services-cards) .industry_wrapper:focus-within .hidding_paragraph {
    max-height: 200px;
    opacity: 1;
  }
}

/* ---------- Services / Industries overview: mobile ---------- */
@media (max-width: 767px) {
  main:has(> .services-cards) ._1440px-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  main:has(> .services-cards) .page-hero__inner {
    padding: 144px 16px 0;
    margin-bottom: 32px;
  }
  main:has(> .services-cards) .page-hero__content {
    gap: 24px;
  }
  main:has(> .services-cards) .page-hero__h1 {
    font-size: 43px;
    line-height: 1;
  }
  main:has(> .services-cards) .page-hero__h3 {
    font-size: 27px;
    line-height: 1.1;
  }
  main:has(> .services-cards) .page-hero__body-group p {
    font-size: 14px;
    line-height: 1.4;
  }
  main:has(> .services-cards) .industries_wrapper {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  main:has(> .services-cards) .svc-card {
    height: auto;
    min-height: 420px;
  }
  main:has(> .services-cards) .industry_description {
    padding: 16px;
    transform: none;
  }
  main:has(> .services-cards) .industry_description h5 {
    font-size: 18px;
    line-height: 1.3;
  }
  main:has(> .services-cards) .hidding_paragraph {
    display: block;
    font-size: 14px;
    line-height: 1.4;
    max-height: none;
    opacity: 1;
    overflow: visible;
    -webkit-line-clamp: unset;
  }
}

/* QA #110088: keyboard feedback and shared component parity. */
.contact-panel__checkbox:focus-visible + .contact-panel__checkbox-custom {
  outline: 2px solid var(--lynx-primary);
  outline-offset: 3px;
}
.contact-panel__checkbox[aria-invalid="true"] + .contact-panel__checkbox-custom {
  border-color: #c62828;
}
.footer__legal-link, .lynx-cookie-options { color: #fff; font-size: 12px; }
#check_the_vibe-slider .splide__slide { height: 80%; }
#check_the_vibe-slider .splide__slide.is-active { height: 100%; }
#check_the_vibe-slider .splide__arrow--prev svg { transform: scaleX(-1); }
#home-services-slider .splide__pagination { display: flex; position: relative; transform: none; bottom: auto; margin-top: 40px; flex-wrap: wrap; padding: 0; }
@media (max-width: 767px) {
  .student-corner-subtitle { font-size: 18px; line-height: 1.3; }
}
.lynx-not-found { max-width: 1440px; margin: auto; padding: 120px 32px; min-height: 60vh; }
.lynx-not-found h1 { font-size: clamp(36px, 5vw, 72px); line-height: 1.1; margin-bottom: 24px; }
.lynx-not-found .home-cta__btn { display: inline-flex; margin-top: 32px; background: var(--lynx-primary); }

/* The final service section retains live's white space before the footer. */
.lynx-service-page > .svc-section:last-child { margin-bottom: 96px; }

/* Overlay contents scroll independently while the document is held still. */
.mobile-menu { overflow-y: auto; overscroll-behavior: contain; }
.contact-panel { overscroll-behavior: contain; }
html.lynx-overlay-open #mainNav { transform: none; }
html.lynx-overlay-open #aicms-cookiebar:not(.lynx-preferences-open) { visibility: hidden; }
@media (max-width: 991px) {
  .mobile-menu__cta { order: -1; margin-top: 0; }
}

/* Restore the mobile section rhythm instead of retaining desktop spacing. */
@media (max-width: 767px) {
  .lynx-service-page > .svc-section:last-child { margin-bottom: 32px; }
  .careers-inner, .careers-full-section, .student-corner-section,
  .home-intro, .home-ai, .home-values, .home-services { margin-bottom: 32px; }
  .careers-inner._1440px-section,
  .careers-full-inner._1440px-section { padding-left: 16px !important; padding-right: 16px !important; }
  .student-corner-section .careers-full-inner { padding-top: 32px; padding-bottom: 32px; gap: 16px; }
  .student-corner-grid { margin-top: 24px; }
  .student-corner-image img { height: auto; aspect-ratio: 2; }
  .expertise-content p, .benefit p, .benefitfeatured p { font-size: 14px; line-height: 1.4; }
}

/* Live treatment of service facts and industry experience. */
.svc-section.svc-statistics { background: var(--lynx-secondary); color: #fff; padding: 48px 0; }
.svc-statistics .svc-stats { gap: 40px; }
.svc-statistics .svc-stats--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.svc-statistics .svc-stat { background: transparent; border: 0; padding: 0; align-items: center; text-align: center; gap: 16px; }
.svc-statistics .svc-stat__icon { width: auto; height: 48px; object-fit: contain; }
.svc-statistics .svc-stat .svc-stat__sentence { color: #fff; font-size: 21px; line-height: 1.2; opacity: 1; }
.svc-stat__highlight { color: var(--lynx-primary); font-weight: 900; }
.lynx-ai-page .svc-stat--ai .svc-stat__sentence { color: var(--lynx-primary); font-size: 18px; line-height: 1.3; }
.svc-tech-badge--icon img,
.lynx-service-page .svc-tech-badge--icon img { width: auto; height: 48px; max-width: 64px; object-fit: contain; }
.ind-experience__inner { gap: 40px; align-items: center; }
.ind-experience__quote { grid-column: 1 / -1; width: 100%; gap: 24px; align-items: flex-start; }
.ind-experience__quote-text { font-size: 18px; font-weight: 400; line-height: 1.3; }
.ind-experience__right { background: var(--lynx-secondary); padding: 64px; display: flex; flex-direction: column; gap: 48px; }
.ind-achievement { display: flex; align-items: center; gap: 64px; padding: 0; border: 0; }
.ind-achievement__icon { width: 48px; height: 48px; flex-shrink: 0; }
.ind-achievement__text { font-size: 21px; line-height: 1.2; color: #fff; }
.ind-achievement__text strong { color: var(--lynx-primary); font-weight: 900; }
.ind-experience__quote-author { display: inline-flex; align-items: center; gap: 8px; width: fit-content; border: 1px solid #e6e6e6; border-radius: 2px; padding: 12px; font-size: 14px; font-weight: 400; }
.ind-experience__quote-author::before { content: ""; width: 24px; height: 24px; flex-shrink: 0; background: url("/media/lynx/abd4281ec0b8-670f5921019d0aac3f837203_quote.svg") center / contain no-repeat; }
@media (max-width: 767px) {
  .svc-statistics .svc-stats { grid-template-columns: 1fr; gap: 32px; }
  .svc-statistics .svc-stats--four { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .svc-statistics .svc-stat .svc-stat__sentence { font-size: 16px; }
  .ind-experience__inner { gap: 40px; }
  .ind-experience__right { padding: 24px; gap: 24px; }
  .ind-achievement { gap: 24px; }
  .ind-achievement__icon { width: 32px; height: 32px; }
  .ind-achievement__text { font-size: 16px; }
  .ind-experience__quote-text { font-size: 14px; }
}
.home-ai__sub, .home-services__subtitle, .home-reach__sub, .home-cta__sub,
.team-member__ors-heading, .careers-h5-light, .careers-h5-bold, .student-corner-subtitle {
  line-height: 1.3;
}

/* QA #110088 final: mobile typography and collage visibility from live. */
@media (max-width: 767px) {
  .hero__collage { display: none; }
  .blog-card__title { font-size: 18px; line-height: 1.3; }
  .blog-card__excerpt { font-size: 14px; line-height: 1.4; }
}

/* ============================================================
   /nimrod — Nimród Nagy personal page
   ============================================================ */
.np-page { background: var(--lynx-secondary); color: var(--white); }
.np-wrap { max-width: 1340px; margin: 0 auto; padding: 0 64px; }
.np-hero { position: relative; padding: 168px 0 36px; overflow: hidden; }
.np-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 64px; align-items: end; }
.np-hero__copy { padding-bottom: 84px; }
.np-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--lynx-primary); }
.np-eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--lynx-primary); }
.np-hero h1 { margin: 28px 0 32px; font-size: clamp(52px, 7.2vw, 108px); line-height: 0.98; letter-spacing: -0.035em; font-weight: 200; }
.np-hero h1 strong { font-weight: 800; }
.np-hero h1 em { font-style: normal; font-weight: 800; color: var(--lynx-primary); }
.np-lead { max-width: 620px; font-size: 21px; line-height: 1.55; color: rgba(255, 255, 255, 0.72); }
.np-lead b { color: var(--white); font-weight: 600; }
.np-ctas { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 44px; }
.np-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 60px; padding: 0 32px; font-size: 17px; font-weight: 700; transition: var(--timing-mid); }
.np-btn--primary { background: var(--lynx-primary); color: var(--lynx-secondary-dark); }
.np-btn--primary:hover { background: var(--white); }
.np-btn--ghost { border: 1px solid rgba(255, 255, 255, 0.3); color: var(--white); }
.np-btn--ghost:hover { border-color: var(--lynx-primary); color: var(--lynx-primary); }
.np-btn svg { width: 18px; height: 18px; transition: transform var(--timing-mid); }
.np-btn:hover svg { transform: translateX(4px); }

/* Cut-out portrait standing in the orbit; head breaks out above the rings. */
.np-orbit { position: relative; width: min(480px, 100%); aspect-ratio: 1; margin: 0 0 0 auto; }
.np-orbit::before { content: ""; position: absolute; inset: -45% -45% -25%; border-radius: 50%; background: radial-gradient(circle closest-side at 50% 42%, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0) 100%); pointer-events: none; }
.np-orbit__ring { position: absolute; inset: 0; border-radius: 50%; border: 1px dashed rgba(255, 255, 255, 0.2); animation: np-spin 60s linear infinite; }
.np-orbit__ring--inner { inset: 13%; border: 1px solid rgba(247, 147, 30, 0.45); animation-direction: reverse; animation-duration: 90s; }
.np-orbit__person { position: absolute; left: 50%; bottom: 0; width: 104%; max-width: none; transform: translateX(-50%); -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 100%); mask-image: linear-gradient(180deg, #000 72%, transparent 100%); pointer-events: none; }
.np-orbit__social { position: absolute; z-index: 2; display: grid; place-items: center; width: 56px; height: 56px; margin: -28px; border-radius: 50%; color: var(--white); background: var(--lynx-secondary-dark); border: 1px solid rgba(255, 255, 255, 0.14); transition: var(--timing-mid); }
.np-orbit__social svg { width: 20px; height: 20px; }
.np-orbit__social:hover, .np-orbit__social:focus-visible { color: var(--lynx-secondary-dark); background: var(--lynx-primary); border-color: var(--lynx-primary); transform: scale(1.1); }
.np-orbit__social span { position: absolute; top: 64px; font-size: 12px; font-weight: 600; white-space: nowrap; color: rgba(255, 255, 255, 0.6); opacity: 0; transition: opacity var(--timing-fast); }
.np-orbit__social:hover span, .np-orbit__social:focus-visible span { opacity: 1; }
.np-orbit__social--yt { left: 1.7%; top: 37%; }
.np-orbit__social--li { left: 98.3%; top: 37%; }
.np-orbit__social--x { left: 6.7%; top: 75%; }
.np-orbit__social--ig { left: 93.3%; top: 75%; }
.np-orbit__social--tt { left: 50%; top: 100%; }
@keyframes np-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .np-orbit__ring { animation: none; } }

.np-do { position: relative; background: var(--lynx-secondary-dark); border-top: 1px solid rgba(255, 255, 255, 0.08); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.np-do__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.np-do__item { padding: 56px 40px; border-right: 1px solid rgba(255, 255, 255, 0.08); }
.np-do__item:first-child { padding-left: 0; }
.np-do__item:last-child { border-right: 0; }
.np-do__num { font-size: 14px; font-weight: 700; color: var(--lynx-primary); }
.np-do__item h3 { margin: 14px 0 12px; font-size: 26px; font-weight: 700; letter-spacing: -0.01em; }
.np-do__item p { font-size: 17px; line-height: 1.55; color: rgba(255, 255, 255, 0.62); }

.np-news { padding: 140px 0; }
.np-news__card { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px 72px; padding: 72px; border: 1px solid rgba(255, 255, 255, 0.12); background: linear-gradient(135deg, rgba(247, 147, 30, 0.12), rgba(247, 147, 30, 0) 55%); }
.np-news__card::after { content: "WEEKLY"; position: absolute; right: 40px; top: 24px; font-size: 13px; font-weight: 700; letter-spacing: 0.3em; color: rgba(255, 255, 255, 0.25); }
.np-news h2 { grid-column: 1 / -1; font-size: 56px; line-height: 1.02; letter-spacing: -0.03em; font-weight: 200; white-space: nowrap; }
.np-news h2 strong { font-weight: 800; }
.np-news__intro { margin-top: 0; font-size: 19px; line-height: 1.6; color: rgba(255, 255, 255, 0.72); }
.np-news ul { display: grid; gap: 18px; margin-bottom: 32px; list-style: none; }
.np-news li { display: flex; gap: 16px; font-size: 17px; line-height: 1.5; color: rgba(255, 255, 255, 0.85); }
.np-news li::before { content: ""; flex: none; width: 10px; height: 10px; margin-top: 8px; background: var(--lynx-primary); transform: rotate(45deg); }
.np-form__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 12px; }
.np-form__input { width: 100%; height: 60px; padding: 0 20px; font: inherit; font-size: 17px; color: var(--white); background: transparent; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 0; outline: none; transition: border-color var(--timing-fast); }
.np-form__input::placeholder { color: rgba(255, 255, 255, 0.45); }
.np-form__input:focus { border-color: var(--lynx-primary); }
.np-form .np-btn { width: 100%; margin-top: 12px; }
.np-form .np-btn:disabled { opacity: 0.6; cursor: wait; }
.np-form__consent { display: flex; gap: 12px; align-items: flex-start; margin-top: 16px; font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, 0.55); cursor: pointer; }
.np-form__consent input { flex: none; width: 18px; height: 18px; margin-top: 1px; accent-color: var(--lynx-primary); }
.np-form__consent a { color: var(--lynx-primary); }

.np-talk { padding: 0 0 160px; text-align: center; }
.np-talk h2 { font-size: clamp(44px, 6vw, 88px); line-height: 1; letter-spacing: -0.035em; font-weight: 200; }
.np-talk h2 strong { font-weight: 800; }
.np-talk p { max-width: 640px; margin: 24px auto 40px; font-size: 19px; line-height: 1.55; color: rgba(255, 255, 255, 0.65); }

@media (max-width: 991px) {
  .np-wrap { padding: 0 24px; }
  .np-hero { padding: 120px 0 0; }
  .np-hero__grid, .np-news__card { grid-template-columns: minmax(0, 1fr); }
  .np-hero__copy { padding-bottom: 0; }
  .np-orbit { width: 82%; margin: 18% auto 56px; }
  .np-do__grid { grid-template-columns: minmax(0, 1fr); }
  .np-do__item, .np-do__item:first-child { padding: 36px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
  .np-do__item:last-child { border-bottom: 0; }
  .np-news { padding: 88px 0; }
  .np-news__card { gap: 36px; padding: 40px 24px; }
  .np-news h2 { font-size: clamp(24px, 7.4vw, 40px); }
  .np-news__card::after { display: none; }
  .np-form__row { grid-template-columns: minmax(0, 1fr); }
  .np-talk { padding-bottom: 104px; }
}

/* QA #110088 J: header "Let's talk" stays visible wherever the hamburger
   is shown (<=991px), using the compact <=600px appearance (L5-1). The
   earlier <=991px rule still hides .nav__links. */
@media (max-width: 991px) {
  .nav__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 49px;
    margin-left: auto;
    margin-right: 32px;
    padding: 0;
    font-size: 12px;
  }
}

/* QA #110088 I: short (landscape phone) viewports keep the enquiry fields
   in view. The sticky close button overlaps the header instead of taking
   its own row (44px tap target kept); the header reserves room for it. */
@media (max-height: 500px) {
  .contact-panel__close {
    width: 44px;
    height: 44px;
    margin: 8px 8px -52px 0;
  }
  .contact-panel__inner {
    padding: 16px 24px 32px;
    gap: 16px;
  }
  .contact-panel__header {
    gap: 6px;
    padding-right: 36px;
  }
  .contact-panel__title {
    font-size: 24px;
    line-height: 1.15;
  }
  .contact-panel__sub {
    font-size: 14px;
    line-height: 1.4;
  }
}

/* QA #110088: the AI service hero heading overflowed between 768 and 869px.
   Match live's intermediate step until the desktop size fits. */
@media (min-width: 768px) and (max-width: 991px) {
  .lynx-ai-page .page-hero--dark .page-hero__h1 {
    font-size: 67px;
  }
}
