/* Nexxia Home - styles from Figma Make https://www.figma.com/make/lcrK3xXm0Jlw6fdLGgFvKx/Nexxia */
@import url('https://fonts.googleapis.com/css2?family=Bangers&family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --nexxia-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --nexxia-font-display: 'Bangers', cursive;
  /* Figma Make palette */
  --nexxia-bg-dark: #050518;
  --nexxia-bg-dark-alt: #07071e;
  --nexxia-purple: #C850F5;
  --nexxia-purple-dark: #6E28DC;
  --nexxia-cyan: #00CDF5;
  --nexxia-blue: #193CE1;
  --nexxia-gray-50: #f9fafb;
  --nexxia-gray-100: #f3f4f6;
  --nexxia-gray-200: #e5e7eb;
  --nexxia-gray-300: #d1d5db;
  --nexxia-gray-500: #6b7280;
  --nexxia-gray-600: #4b5563;
  --nexxia-gray-700: #374151;
  --nexxia-gray-900: #111827;
  /* Design-system aliases (Figma tokens) */
  --color-gray-50: var(--nexxia-gray-50);
  /* Legacy aliases */
  --nexxia-color-bg: var(--nexxia-bg-dark);
  --nexxia-color-bg-alt: var(--nexxia-bg-dark-alt);
  --nexxia-color-surface: var(--nexxia-bg-dark-alt);
  --nexxia-color-text: #fff;
  --nexxia-color-text-muted: #9ca3af;
  --nexxia-color-accent: var(--nexxia-cyan);
  --nexxia-color-accent-hover: var(--nexxia-blue);
  --nexxia-color-light-bg: var(--nexxia-gray-50);
  --nexxia-color-light-text: var(--nexxia-gray-900);
  --nexxia-max-width: 80rem;
  --nexxia-space: 1.5rem;
  --nexxia-radius: 0.625rem;
  --nexxia-radius-xl: 1rem;
  --nexxia-radius-2xl: 1rem;
}

.nexxia-body {
  margin: 0;
  font-family: var(--nexxia-font-sans);
  -webkit-font-smoothing: antialiased;
  background: #fff;
  color: var(--nexxia-gray-900)
}

.nexxia-container {
  max-width: var(--nexxia-max-width);
  margin: 0 auto;
  padding: 0 var(--nexxia-space);
  box-sizing: border-box
}

.nexxia-container--sm {
  max-width: 48rem
}

.nexxia-text-center {
  text-align: center
}

#main-content {
  min-height: 50vh
}

/* Header - Figma Make Navbar: white bar, logo, nav with gradient underline, CTA; mobile hamburger */
.nexxia-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid #f3f4f6
}

.nexxia-header--light {
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(12px)
}

.nexxia-header__inner {
  max-width: 80rem;
  margin: 0 auto;
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative
}

.nexxia-header__logo {
  display: block;
  text-decoration: none
}

.nexxia-header__logo:hover {
  opacity: .9
}

.nexxia-header__logo-img {
  display: block;
  height: 32px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  vertical-align: middle
}

.nexxia-header__toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0
}

.nexxia-header__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 8px
}

.nexxia-header__hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #4b5563;
  border-radius: 1px;
  transition: transform .2s, opacity .2s
}

.nexxia-header__nav {
  display: flex;
  align-items: center;
  gap: 2rem
}

.nexxia-header__link {
  color: #4b5563;
  text-decoration: none;
  font-size: .875rem;
  font-weight: 500;
  padding: .25rem 0;
  position: relative;
  transition: color .2s
}

.nexxia-header__link:hover {
  color: #111
}

.nexxia-header__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  height: 1px;
  background: linear-gradient(90deg, #00CDF5, #193CE1);
  width: 0;
  transition: width .2s ease
}

.nexxia-header__link:hover::after,
.nexxia-header__link--active::after {
  width: 100%
}

.nexxia-header__link--active {
  color: #111;
  font-weight: 600
}

.nexxia-header-bar {
  height: 6px;
  width: 100%;
  background: linear-gradient(90deg, var(--nexxia-purple-dark), var(--nexxia-purple), var(--nexxia-blue));
  flex-shrink: 0
}

/* Collapse nav to hamburger up to 1023px - avoids 768px “tablet” width still showing squeezed horizontal links */
@media (max-width:1023px) {
  .nexxia-header__inner {
    flex-wrap: nowrap
  }

  .nexxia-header__logo {
    flex-shrink: 0;
    order: 0
  }

  .nexxia-header__hamburger {
    display: flex;
    flex-shrink: 0;
    order: 2;
    margin-left: auto;
    z-index: 2;
    position: relative
  }

  .nexxia-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    flex-direction: column;
    align-items: stretch;
    padding: 0 1.5rem;
    gap: 0;
    box-shadow: 0 10px 20px -8px rgba(0, 0, 0, .12);
    z-index: 1
  }

  .nexxia-header__toggle:checked~.nexxia-header__nav {
    display: flex;
    padding-top: 1rem;
    padding-bottom: 1rem
  }

  .nexxia-header__toggle:checked~.nexxia-header__hamburger span:nth-child(1) {
    transform: translateY(7px) rotate(45deg)
  }

  .nexxia-header__toggle:checked~.nexxia-header__hamburger span:nth-child(2) {
    opacity: 0
  }

  .nexxia-header__toggle:checked~.nexxia-header__hamburger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg)
  }

  .nexxia-header__link {
    margin: .5rem 0;
    padding: .75rem 0
  }

  .nexxia-header__link::after {
    display: none
  }
}

/* Footer - Figma Make: white bg, border-t gray-200, logo + address + email + LinkedIn + Privacy */
.nexxia-footer {
  background: #fff;
  color: var(--nexxia-gray-700);
  padding: 4rem var(--nexxia-space) 2rem;
  border-top: 1px solid var(--nexxia-gray-200)
}

.nexxia-footer__inner {
  max-width: var(--nexxia-max-width);
  margin: 0 auto
}

.nexxia-footer__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 3rem
}

.nexxia-footer__brand {
  text-align: center
}

@media (min-width:768px) {
  .nexxia-footer__brand {
    text-align: left
  }
}

.nexxia-footer__logo {
  height: 1.75rem;
  width: auto;
  margin-bottom: 1rem;
  display: inline-block
}

.nexxia-footer__contact {
  display: flex;
  flex-direction: column;
  gap: .5rem
}

.nexxia-footer__contact .nexxia-footer__address,
.nexxia-footer__contact .nexxia-footer__email-wrap {
  display: flex;
  align-items: center;
  gap: .5rem;
  justify-content: center;
  font-size: .875rem;
  color: var(--nexxia-gray-700)
}

@media (min-width:768px) {

  .nexxia-footer__contact .nexxia-footer__address,
  .nexxia-footer__contact .nexxia-footer__email-wrap {
    justify-content: flex-start
  }
}

.nexxia-footer__email {
  color: var(--nexxia-gray-700);
  text-decoration: none
}

.nexxia-footer__email:hover {
  color: var(--nexxia-cyan)
}

.nexxia-footer__social {
  display: flex;
  align-items: center;
  gap: 1.5rem
}

.nexxia-footer__social-link {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--nexxia-radius);
  background: var(--nexxia-gray-100);
  border: 1px solid var(--nexxia-gray-200);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nexxia-gray-600);
  text-decoration: none;
  transition: color .2s, border-color .2s
}

.nexxia-footer__social-link:hover {
  color: var(--nexxia-gray-900);
  border-color: rgba(200, 80, 245, .5)
}

.nexxia-footer__privacy {
  font-size: .875rem;
  color: var(--nexxia-gray-600);
  text-decoration: none;
  transition: color .2s
}

.nexxia-footer__privacy:hover {
  color: var(--nexxia-gray-900)
}

.nexxia-footer__bottom {
  border-top: 1px solid var(--nexxia-gray-200);
  padding-top: 2rem;
  text-align: center
}

.nexxia-footer__copy {
  margin: 0;
  font-size: .875rem;
  color: var(--nexxia-gray-500)
}

/* Hero - Figma Make: min-h-screen, bg #050518, image 55%, overlay 40%, max-w-5xl content, badge mb-8, title mb-6, subtitle mb-10 */
.nexxia-hero {
  background: var(--nexxia-bg-dark);
  color: #fff;
  text-align: center;
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 2rem 0 4rem
}

.nexxia-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0
}

.nexxia-hero__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  opacity: .58;
  position: relative;
  z-index: 0
}

.nexxia-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(5, 5, 24, .4)
}

.nexxia-hero__blobs {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden
}

.nexxia-hero__blob {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  will-change: transform, opacity;
  animation-fill-mode: both
}

.nexxia-hero__blob--purple {
  top: -15%;
  left: -10%;
  width: 60vw;
  height: 60vw;
  background: radial-gradient(circle, #C850F5 0%, #6E28DC 100%);
  filter: blur(80px);
  opacity: .3;
  animation: nexxia-hero-blob-purple 8s ease-in-out infinite
}

.nexxia-hero__blob--cyan {
  bottom: -10%;
  right: -10%;
  width: 50vw;
  height: 50vw;
  background: radial-gradient(circle, #00CDF5 0%, #193CE1 100%);
  filter: blur(80px);
  opacity: .2;
  animation: nexxia-hero-blob-cyan 10s ease-in-out 2s infinite
}

.nexxia-hero__blob--blue {
  top: 30%;
  left: 40%;
  width: 30vw;
  height: 30vw;
  background: radial-gradient(circle, #193CE1 0%, #6E28DC 100%);
  filter: blur(60px);
  opacity: .15;
  animation: nexxia-hero-blob-blue 12s ease-in-out 1s infinite
}

@keyframes nexxia-hero-blob-purple {

  0%,
  100% {
    transform: scale(1);
    opacity: .3
  }

  50% {
    transform: scale(1.3);
    opacity: .5
  }
}

@keyframes nexxia-hero-blob-cyan {

  0%,
  100% {
    transform: scale(1);
    opacity: .2
  }

  50% {
    transform: scale(1.2);
    opacity: .4
  }
}

@keyframes nexxia-hero-blob-blue {

  0%,
  100% {
    transform: scale(1);
    opacity: .15
  }

  50% {
    transform: scale(1.4);
    opacity: .3
  }
}

.nexxia-hero__particles {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none
}

.nexxia-hero__particle {
  position: absolute;
  width: 3px;
  height: 3px;
  margin-left: -1.5px;
  margin-top: -1.5px;
  border-radius: 50%;
  background: rgba(0, 205, 245, .7);
  box-shadow: 0 0 8px rgba(0, 205, 245, .35);
  opacity: .4;
  animation-name: nexxia-hero-particle-float;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-fill-mode: both
}

@keyframes nexxia-hero-particle-float {

  0%,
  100% {
    transform: translateY(0);
    opacity: .4
  }

  50% {
    transform: translateY(-16px);
    opacity: .9
  }
}

@media (prefers-reduced-motion:reduce) {
  .nexxia-hero__blob {
    animation: none !important;
    opacity: .35
  }

  .nexxia-hero__blob--purple {
    opacity: .4
  }

  .nexxia-hero__blob--cyan {
    opacity: .3
  }

  .nexxia-hero__blob--blue {
    opacity: .25;
    transform: none
  }

  .nexxia-hero__particle {
    animation: none !important;
    opacity: .55
  }
}

.nexxia-hero__grid {
  position: absolute;
  inset: 0;
  z-index: 4;
  opacity: .1;
  pointer-events: none;
  background-image: linear-gradient(rgba(139, 92, 246, .3) 1px, transparent 1px), linear-gradient(90deg, rgba(139, 92, 246, .3) 1px, transparent 1px);
  background-size: 60px 60px
}

.nexxia-hero .nexxia-container {
  position: relative;
  z-index: 5;
  max-width: 64rem
}

.nexxia-hero__tagline {
  margin: 0 auto 2rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .375rem 1rem;
  border: 1px solid rgba(200, 80, 245, .4);
  border-radius: 9999px;
  background: rgba(200, 80, 245, .1);
  color: var(--nexxia-cyan);
  font-size: .875rem;
  font-weight: 500
}

.nexxia-hero__tagline::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--nexxia-cyan);
  border-radius: 50%;
  flex-shrink: 0
}

.nexxia-hero__title {
  margin: 0 0 1.5rem;
  font-size: clamp(2.5rem, 7vw, 5rem);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: 1.1;
  color: #fff
}

.nexxia-hero__title-line {
  display: inline
}

.nexxia-hero__title-gap {
  display: inline
}

.nexxia-hero__subtitle {
  margin: 0 0 2.5rem;
  font-size: 1.25rem;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  line-height: 1.625;
  font-weight: 600
}

@media (min-width:768px) {
  .nexxia-hero__subtitle {
    font-size: 1.5rem
  }
}

.nexxia-hero .nexxia-btn--primary {
  background: linear-gradient(90deg, var(--nexxia-cyan), var(--nexxia-blue));
  color: #fff;
  padding: 1.25rem 3rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow: 0 10px 40px rgba(0, 205, 245, .3);
  display: inline-flex;
  align-items: center;
  gap: .5rem
}

.nexxia-hero .nexxia-btn--primary:hover {
  opacity: .95;
  transform: translateY(-1px);
  box-shadow: 0 20px 40px rgba(0, 205, 245, .35)
}

.nexxia-hero .nexxia-btn--primary::after {
  content: "";
  width: 1.25em;
  height: 1.25em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 8l4 4m0 0l-4 4m4-4H3'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  display: inline-block
}

.nexxia-hero__scroll {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  z-index: 6;
  transform: translateX(-50%);
  color: rgba(0, 205, 245, .6);
  animation: nexxia-bounce 2s ease-in-out infinite;
  background: 0;
  border: 0;
  cursor: pointer;
  padding: 0
}

.nexxia-hero__scroll:hover {
  color: var(--nexxia-cyan)
}

.nexxia-hero__scroll svg {
  width: 32px;
  height: 32px;
  display: block;
  margin: 0 auto;
  pointer-events: none
}

@keyframes nexxia-bounce {

  0%,
  100% {
    transform: translateX(-50%) translateY(0)
  }

  50% {
    transform: translateX(-50%) translateY(8px)
  }
}

/* Figma hero entrance: fade-in-up with staggered delays */
@keyframes nexxia-fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes nexxia-fade-in-up-lg {
  from {
    opacity: 0;
    transform: translateY(30px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes nexxia-pulse {

  0%,
  100% {
    transform: scale(1)
  }

  50% {
    transform: scale(1.5)
  }
}

.nexxia-hero__tagline {
  opacity: 0;
  animation: nexxia-fade-in-up .6s ease-out .2s forwards
}

.nexxia-hero__tagline::before {
  animation: nexxia-pulse 1.5s ease-in-out infinite
}

.nexxia-hero__title {
  opacity: 0;
  animation: nexxia-fade-in-up-lg .8s ease-out .3s forwards
}

.nexxia-hero__subtitle {
  opacity: 0;
  animation: nexxia-fade-in-up .6s ease-out .5s forwards
}

.nexxia-hero .nexxia-btn--primary {
  opacity: 0;
  animation: nexxia-fade-in-up .5s ease-out .65s forwards
}

.nexxia-hero .nexxia-btn--primary:hover {
  transform: translateY(0) scale(1.05);
  opacity: 1
}

.nexxia-hero .nexxia-btn--primary:active {
  transform: translateY(0) scale(0.97)
}

@media (min-width:1024px) {
  #home .nexxia-hero__bg-img {
    object-position: 55% center
  }
}

@media (max-width:1023px) {
  .nexxia-hero {
    padding: calc(5rem + env(safe-area-inset-top, 0px)) 0 4.5rem
  }

  .nexxia-hero__bg-img {
    object-position: 52% 38%
  }

  .nexxia-hero__tagline {
    margin-bottom: 1.5rem;
    padding: .35rem .875rem;
    border: 1px solid rgba(110, 40, 220, .55);
    background: rgba(110, 40, 220, .18);
    color: var(--nexxia-cyan);
    font-size: .8125rem
  }

  .nexxia-hero__tagline::before {
    background: var(--nexxia-cyan)
  }

  .nexxia-hero__title {
    margin-bottom: 1.25rem;
    font-size: clamp(2rem, 9.5vw, 2.75rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .2em
  }

  .nexxia-hero__title-line {
    display: block
  }

  .nexxia-hero__title-gap {
    display: none
  }

  .nexxia-hero__subtitle {
    margin-bottom: 2rem;
    padding: 0 .25rem;
    font-size: 1.0625rem;
    font-weight: 500;
    max-width: 22rem
  }

  .nexxia-hero .nexxia-btn--primary {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    justify-content: center;
    padding: 1.125rem 1.5rem
  }
}

@media (min-width:1024px) {
  #home.nexxia-hero .nexxia-hero__scroll {
    display: none
  }
}

.nexxia-btn {
  display: inline-block;
  padding: .85rem 1.75rem;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--nexxia-radius);
  transition: background .2s, transform .15s;
  cursor: pointer;
  border: none
}

.nexxia-btn--primary {
  background: linear-gradient(90deg, var(--nexxia-cyan), var(--nexxia-blue));
  color: #fff
}

.nexxia-btn--primary:hover {
  background: linear-gradient(90deg, var(--nexxia-cyan), var(--nexxia-blue));
  opacity: .95
}

/* Intro - side by side: image LEFT, text RIGHT (Figma). Grid for reliable 50/50. */
.nexxia-intro {
  background: #fff;
  color: var(--nexxia-gray-900);
  padding: 4rem 0
}

.nexxia-intro .nexxia-container {
  display: block;
  gap: 3rem
}

.nexxia-intro__media {
  width: 100%;
  min-width: 0;
  margin-bottom: 3rem
}

.nexxia-intro__media img {
  width: 100%;
  height: auto;
  border-radius: 1rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
  display: block
}

.nexxia-intro__text-wrap {
  width: 100%;
  min-width: 0
}

@media (min-width:768px) {
  .nexxia-intro .nexxia-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 3rem
  }

  .nexxia-intro__media {
    margin-bottom: 0
  }
}

.nexxia-intro__text {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.625;
  font-weight: 600;
  color: var(--nexxia-gray-900)
}

@media (min-width:768px) {
  .nexxia-intro__text {
    font-size: 1.875rem
  }
}

.nexxia-intro__text .nexxia-intro__highlight--purple {
  color: var(--nexxia-purple);
  font-weight: 700
}

.nexxia-intro__text .nexxia-intro__highlight--blue {
  color: var(--nexxia-blue);
  font-weight: 700
}

.nexxia-intro__text .nexxia-intro__highlight--cyan {
  color: var(--nexxia-cyan);
  font-weight: 700
}

/* Scroll-triggered animations (Figma: fade-in-up when in view) */
.nexxia-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s ease-out, transform .6s ease-out
}

.nexxia-animate.nexxia-inview {
  opacity: 1;
  transform: translateY(0)
}

.nexxia-animate-root .nexxia-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .5s ease-out, transform .5s ease-out
}

.nexxia-animate-root.nexxia-inview .nexxia-animate {
  opacity: 1;
  transform: translateY(0)
}

.nexxia-animate-delay-1 {
  transition-delay: .1s
}

.nexxia-animate-delay-2 {
  transition-delay: .2s
}

.nexxia-animate-delay-3 {
  transition-delay: .3s
}

.nexxia-animate-delay-4 {
  transition-delay: .4s
}

.nexxia-animate-delay-5 {
  transition-delay: .5s
}

.nexxia-animate-delay-6 {
  transition-delay: .6s
}

/* Sections - Figma: py-24 (6rem), gray-50 / white / dark */
.nexxia-section {
  padding: 6rem 0
}

.nexxia-section--light {
  background: var(--nexxia-gray-50);
  color: var(--nexxia-gray-900)
}

.nexxia-section--dark {
  background: var(--nexxia-bg-dark);
  color: #fff
}

.nexxia-section--white {
  background: #fff;
  color: var(--nexxia-gray-900)
}

.nexxia-section__title {
  margin: 0 0 1rem;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
  text-align: center
}

.nexxia-section#services.nexxia-section--light {
  background: #fff
}

.nexxia-section#services .nexxia-section__title {
  margin-bottom: 1.5rem
}

.nexxia-section#services .nexxia-section__lead {
  margin-bottom: 1.5rem
}

.nexxia-section#services .nexxia-section__tagline {
  margin-bottom: 1.5rem
}

.nexxia-section#services .nexxia-cards {
  margin-top: 2rem
}

.nexxia-section__title .nexxia-gradient--purple {
  background: linear-gradient(90deg, var(--nexxia-purple), var(--nexxia-purple-dark));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-section__title .nexxia-gradient--cyan-blue {
  background: linear-gradient(90deg, var(--nexxia-cyan), var(--nexxia-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-section__title .nexxia-gradient--purple-cyan {
  background: linear-gradient(90deg, var(--nexxia-purple), var(--nexxia-cyan));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-gradient--cyan-purple {
  background: linear-gradient(90deg, var(--nexxia-cyan), var(--nexxia-purple));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-section__lead {
  margin: 0 auto 2rem;
  max-width: 48rem;
  font-size: 1.125rem;
  line-height: 1.625;
  text-align: center;
  color: var(--nexxia-gray-700)
}

.nexxia-section--light .nexxia-section__lead {
  color: var(--nexxia-gray-700)
}

.nexxia-section__tagline {
  margin: 0 auto 2.5rem;
  text-align: center;
  font-size: .875rem;
  line-height: 1.5;
  color: var(--nexxia-gray-700)
}

.nexxia-section--light .nexxia-section__tagline {
  color: var(--nexxia-gray-700)
}

.nexxia-section__tagline .nexxia-tag--purple {
  color: var(--nexxia-purple);
  font-weight: 600
}

.nexxia-section__tagline .nexxia-tag--cyan {
  color: var(--nexxia-cyan);
  font-weight: 600
}

.nexxia-section__tagline .nexxia-tag--blue {
  color: var(--nexxia-blue);
  font-weight: 600
}

/* Cards grid - Figma WhoWeAreSection: sm:2 lg:3 cols, gap-6, p-6, rounded-2xl, icon w-14 h-14 */
.nexxia-cards {
  display: grid;
  gap: 1.5rem;
  margin-top: 2rem;
  grid-template-columns: 1fr
}

@media (min-width:640px) {
  .nexxia-cards {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width:1024px) {
  .nexxia-cards {
    grid-template-columns: repeat(3, 1fr)
  }
}

.nexxia-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid var(--nexxia-gray-200);
  transition: border-color .2s, box-shadow .2s, transform .25s ease
}

.nexxia-card:hover {
  border-color: var(--nexxia-gray-300);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);
  transform: translateY(-4px)
}

.nexxia-card__icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem
}

.nexxia-card__icon svg,
.nexxia-card__icon-img {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  object-fit: contain
}

.nexxia-card__icon--purple {
  background: rgba(200, 80, 245, .125);
  border: 1px solid rgba(200, 80, 245, .25);
  color: #C850F5
}

.nexxia-card__icon--cyan {
  background: rgba(0, 205, 245, .125);
  border: 1px solid rgba(0, 205, 245, .25);
  color: #00CDF5
}

.nexxia-card__title {
  margin: 0 0 .5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--nexxia-gray-900)
}

.nexxia-card__subtitle {
  margin: 0 0 .75rem;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #C850F5
}

#services .nexxia-card:has(.nexxia-card__icon--cyan) .nexxia-card__subtitle {
  color: #00CDF5
}

.nexxia-card__text {
  margin: 0;
  font-size: .875rem;
  line-height: 1.6;
  color: var(--nexxia-gray-600)
}

/* Steps / Roles - Figma Make: smaller dots; current = vibrant purple; complete = soft tint; upcoming = grey */
.nexxia-steps {
  margin-top: 2rem
}

.nexxia-steps__indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin-bottom: 3rem
}

.nexxia-steps__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  font-size: .75rem;
  font-weight: 700;
  transition: background .25s, color .25s, box-shadow .25s, border-color .25s;
  box-sizing: border-box
}

.nexxia-section--light .nexxia-steps__dot--upcoming {
  background: var(--nexxia-gray-200);
  color: var(--nexxia-gray-500)
}

.nexxia-steps__dot--upcoming {
  background: var(--nexxia-gray-200);
  color: var(--nexxia-gray-500)
}

.nexxia-steps__dot--complete {
  background: rgba(200, 80, 245, .18);
  color: var(--nexxia-purple);
  border: 1px solid rgba(200, 80, 245, .35)
}

.nexxia-steps__dot--current {
  background: linear-gradient(135deg, #E879F9, #C026D3);
  color: #fff;
  border: none;
  box-shadow: 0 2px 14px rgba(192, 38, 211, .35)
}

.nexxia-section--light .nexxia-steps__dot--current {
  background: linear-gradient(135deg, #E879F9, #C026D3);
  color: #fff
}

.nexxia-step-content__title {
  margin: 0 0 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #000;
  text-align: center
}

.nexxia-step-content__desc {
  margin: 0 0 2rem;
  font-size: .875rem;
  color: var(--nexxia-gray-500);
  text-align: center
}

.nexxia-roles {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 0
}

@media (min-width:640px) {
  .nexxia-roles {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width:1024px) {
  .nexxia-roles {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem
  }
}

.nexxia-role {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--nexxia-gray-200);
  border-radius: 1rem;
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s;
  text-align: left;
  position: relative;
  width: 100%;
  font: inherit
}

.nexxia-role:hover {
  border-color: rgba(200, 80, 245, .5);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1)
}

.nexxia-role__icon-wrap {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  flex-shrink: 0
}

.nexxia-role--purple .nexxia-role__icon-wrap {
  background: linear-gradient(135deg, rgba(200, 80, 245, .19), rgba(200, 80, 245, .06))
}

.nexxia-role--cyan .nexxia-role__icon-wrap {
  background: linear-gradient(135deg, rgba(0, 205, 245, .19), rgba(0, 205, 245, .06))
}

.nexxia-role__icon-svg {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0
}

.nexxia-role__icon-img {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
  display: block;
  flex-shrink: 0
}

.nexxia-role--purple .nexxia-role__icon-svg {
  color: #C850F5
}

.nexxia-role--cyan .nexxia-role__icon-svg {
  color: #00CDF5
}

.nexxia-role__name {
  margin: 0 0 .25rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: #000
}

.nexxia-role__desc {
  margin: 0;
  font-size: .875rem;
  color: var(--nexxia-gray-500);
  line-height: 1.4
}

.nexxia-role__chevron {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--nexxia-gray-400);
  flex-shrink: 0;
  pointer-events: none
}

.nexxia-role:hover .nexxia-role__chevron {
  color: var(--nexxia-purple)
}

.nexxia-steps__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  transition: color .3s
}

.nexxia-steps__chevron svg {
  width: 100%;
  height: 100%;
  stroke: currentColor
}

.nexxia-steps__chevron--inactive {
  color: var(--nexxia-gray-500)
}

.nexxia-steps__chevron--active {
  color: #00CDF5
}

.nexxia-walkthrough-step {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto
}

#walkthrough-step-3.nexxia-walkthrough-step {
  max-width: 72rem
}

.nexxia-bottlenecks {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem
}

.nexxia-bottleneck {
  display: flex;
  align-items: flex-start;
  gap: .875rem;
  width: 100%;
  padding: 1.25rem 1.25rem;
  text-align: left;
  background: linear-gradient(90deg, #fff 0%, #f8fdff 42%, #ecf8fc 100%);
  border: 1px solid var(--nexxia-gray-200);
  border-radius: 1rem;
  cursor: pointer;
  transition: border-color .2s, background .2s, box-shadow .2s;
  font: inherit;
  box-sizing: border-box
}

.nexxia-bottleneck[hidden] {
  display: none !important
}

.nexxia-bottleneck:hover {
  border-color: rgba(0, 205, 245, .25)
}

.nexxia-bottleneck--selected {
  border: 1px solid rgba(200, 80, 245, .5);
  background: linear-gradient(90deg, #fff 0%, #f4fcff 40%, #e5f4fa 100%);
  box-shadow: 0 4px 18px -6px rgba(200, 80, 245, .12), 0 2px 8px -4px rgba(0, 0, 0, .06)
}

.nexxia-bottleneck__check {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--nexxia-gray-300);
  border-radius: 0.25rem;
  background: #fff;
  transition: all .2s ease;
  box-sizing: border-box
}

.nexxia-bottleneck:not(.nexxia-bottleneck--selected) .nexxia-bottleneck__check-icon {
  display: none
}

.nexxia-bottleneck--selected .nexxia-bottleneck__check {
  border: 2px solid #a855f7;
  background: linear-gradient(135deg, #C850F5, #6E28DC);
  color: #fff
}

.nexxia-bottleneck__check-icon {
  display: block;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0
}

.nexxia-bottleneck__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: .35rem
}

.nexxia-bottleneck__meta {
  display: block;
  font-size: .75rem;
  font-weight: 600;
  color: var(--nexxia-gray-500);
  letter-spacing: .01em
}

.nexxia-bottleneck__text {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: #000;
  line-height: 1.45
}

.nexxia-step-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap
}

.nexxia-step-actions .nexxia-btn--secondary {
  flex: 1;
  min-width: 0;
  padding: .8125rem 1.375rem;
  background: #fff;
  border: 1px solid var(--nexxia-gray-300);
  color: #000;
  font-weight: 600;
  border-radius: .875rem
}

.nexxia-step-actions .nexxia-btn--secondary:hover {
  background: var(--nexxia-gray-100)
}

.nexxia-step-actions .nexxia-btn--primary {
  flex: 1;
  min-width: 0;
  padding: .8125rem 1.375rem;
  background: linear-gradient(135deg, #E879F9, #C026D3 55%, #A855F7);
  color: #fff;
  font-weight: 600;
  border-radius: .875rem;
  box-shadow: 0 10px 36px rgba(192, 38, 211, .3)
}

.nexxia-step-actions .nexxia-btn--primary:hover {
  box-shadow: 0 14px 44px rgba(192, 38, 211, .38)
}

.nexxia-problems {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 2rem
}

.nexxia-problem-card {
  background: #fff;
  border: 1px solid var(--nexxia-gray-200);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .05)
}

.nexxia-problem-card__header {
  background: linear-gradient(90deg, #faf5ff, #f0fdfa);
  padding: 1.5rem;
  border-bottom: 1px solid var(--nexxia-gray-200);
  display: flex;
  align-items: flex-start;
  gap: .75rem
}

.nexxia-problem-card__num {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #C850F5, #6E28DC);
  color: #fff;
  font-size: .875rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center
}

.nexxia-problem-card__content {
  flex: 1;
  min-width: 0
}

.nexxia-problem-card__title {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 .25rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #111
}

.nexxia-problem__icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  color: #C850F5
}

.nexxia-problem-card__desc {
  margin: 0;
  font-size: .875rem;
  color: var(--nexxia-gray-600);
  line-height: 1.5
}

.nexxia-problem-card__body {
  padding: 1.5rem
}

.nexxia-solutions-head {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem
}

.nexxia-solutions-head__icon {
  display: flex;
  color: #00CDF5
}

.nexxia-solutions-head__icon svg,
.nexxia-solutions__icon {
  width: 1rem;
  height: 1rem
}

.nexxia-solutions-head__title {
  font-size: .875rem;
  font-weight: 600;
  color: var(--nexxia-gray-700);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 0
}

.nexxia-walkthrough-step3 .nexxia-solutions-head__title {
  color: var(--nexxia-cyan)
}

.nexxia-solutions-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem
}

@media (min-width:768px) {
  .nexxia-solutions-grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

.nexxia-solution-card {
  background: linear-gradient(135deg, var(--nexxia-gray-50), #fff);
  border: 1px solid var(--nexxia-gray-200);
  border-radius: 1rem;
  padding: 1rem;
  transition: border-color .2s, box-shadow .2s, border-width .2s
}

.nexxia-solution-card:hover {
  border-color: #00CDF5;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .08)
}

button.nexxia-solution-card {
  cursor: pointer;
  width: 100%;
  font: inherit;
  text-align: left;
  -webkit-appearance: none;
  appearance: none
}

.nexxia-solution-card--selected {
  border: 2px solid var(--nexxia-cyan);
  box-shadow: 0 4px 12px -2px rgba(0, 205, 245, .2)
}

.nexxia-solution-card__title {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin: 0 0 .5rem;
  font-size: .875rem;
  font-weight: 600;
  color: #111
}

.nexxia-solution__check {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  color: #00CDF5;
  margin-top: .125rem
}

.nexxia-solution-card__desc {
  margin: 0;
  font-size: .75rem;
  color: var(--nexxia-gray-600);
  line-height: 1.5
}

.nexxia-walkthrough-step3 .nexxia-solution-card {
  padding: .75rem .875rem;
  border-radius: .75rem;
  min-height: 6.5rem
}

.nexxia-walkthrough-step3 .nexxia-solution-card__title {
  font-size: .8125rem;
  margin-bottom: .35rem;
  gap: .4rem
}

.nexxia-walkthrough-step3 .nexxia-solution-card__desc {
  font-size: .6875rem;
  line-height: 1.45
}

.nexxia-walkthrough-step3 .nexxia-solution__check {
  width: .875rem;
  height: .875rem;
  margin-top: .1rem
}

.nexxia-snapshot-form__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0
}

.nexxia-walkthrough-form__offscreen {
  position: absolute;
  left: -10000px;
  top: 0;
  width: 1px;
  height: 1px;
  overflow: visible;
  margin: 0;
  padding: 0;
  border: 0;
  clip: auto;
  white-space: nowrap
}

.nexxia-snapshot-for {
  margin-bottom: 2rem
}

.nexxia-snapshot-role {
  color: var(--nexxia-purple);
  font-weight: 600
}

.nexxia-snapshot-form {
  background: #fff;
  border: 1px solid var(--nexxia-gray-200);
  border-radius: 1rem;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .05)
}

.nexxia-snapshot-form__title {
  margin: 0 0 .5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #000
}

.nexxia-snapshot-form__desc {
  margin: 0 0 1rem;
  font-size: .875rem;
  color: var(--nexxia-gray-600)
}

.nexxia-snapshot-form__row {
  display: flex;
  flex-direction: column;
  gap: .75rem
}

@media (min-width:640px) {
  .nexxia-snapshot-form__row {
    flex-direction: row
  }
}

.nexxia-snapshot-form__input {
  flex: 1;
  min-width: 0;
  padding: .75rem 1rem;
  background: var(--nexxia-gray-50);
  border: 1px solid var(--nexxia-gray-300);
  border-radius: 1rem;
  font-size: 1rem;
  color: #000
}

.nexxia-snapshot-form__input:focus {
  outline: none;
  border-color: var(--nexxia-purple);
  box-shadow: 0 0 0 2px rgba(200, 80, 245, .15)
}

.nexxia-snapshot-form__input::placeholder {
  color: var(--nexxia-gray-500)
}

.nexxia-btn--download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .75rem 1.5rem;
  background: linear-gradient(90deg, #00CDF5, #193CE1);
  color: #fff;
  font-weight: 600;
  border-radius: 1rem;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  box-shadow: 0 10px 40px rgba(0, 205, 245, .25)
}

.nexxia-btn--download:hover {
  box-shadow: 0 15px 45px rgba(0, 205, 245, .35)
}

.nexxia-btn--download svg {
  width: 1.25rem;
  height: 1.25rem
}

.nexxia-walkthrough-opportunity-form-host {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--nexxia-gray-200)
}

.nexxia-walkthrough-form__hcaptcha {
  margin-top: .5rem
}

.nexxia-walkthrough-reset {
  margin-top: 1rem;
  background: linear-gradient(90deg, #00CDF5, #C850F5);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: .875rem;
  font-weight: 600;
  text-decoration: underline;
  border: none;
  cursor: pointer;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding: 0
}

.nexxia-walkthrough-reset:hover {
  opacity: .9
}

.nexxia-snapshot-success {
  text-align: center;
  padding: 2rem
}

.nexxia-snapshot-success__icon {
  margin: 0 auto 1.5rem;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: rgba(34, 197, 94, .2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #22c55e
}

.nexxia-snapshot-success__icon svg {
  width: 3rem;
  height: 3rem
}

.nexxia-snapshot-success__title {
  margin: 0 0 1rem;
  font-size: 1.875rem;
  font-weight: 700;
  color: #000
}

.nexxia-snapshot-success__text {
  margin: 0 0 .25rem;
  font-size: 1.125rem;
  color: var(--nexxia-gray-600)
}

.nexxia-snapshot-success__email {
  margin: 0 0 1.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--nexxia-purple)
}

.nexxia-snapshot-success__note {
  margin: 0;
  font-size: .875rem;
  color: var(--nexxia-gray-600)
}

/* Trusted By - Figma AboutSection: image LEFT, "Trusted By" + logos RIGHT, side-by-side from 768px */
.nexxia-trusted-wrap {
  display: block;
  gap: 2rem
}

.nexxia-trusted-wrap .nexxia-trusted__media {
  width: 100%;
  margin-bottom: 2rem
}

.nexxia-trusted-wrap .nexxia-trusted__media img {
  width: 100%;
  height: auto;
  border-radius: 1rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
  display: block
}

.nexxia-trusted-wrap .nexxia-trusted__content {
  width: 100%
}

.nexxia-trusted-wrap .nexxia-section__title {
  text-align: left;
  margin-bottom: 2rem;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800
}

@media (min-width:768px) {
  .nexxia-trusted-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 3rem
  }

  .nexxia-trusted-wrap .nexxia-trusted__media {
    margin-bottom: 0
  }
}

@media (max-width:767px) {
  .nexxia-trusted-wrap .nexxia-section__title {
    text-align: center
  }
}

.nexxia-trusted {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
  margin-top: 0
}

.nexxia-trusted--center {
  justify-content: center
}

.nexxia-trusted-wrap .nexxia-trusted {
  justify-content: flex-start
}

@media (max-width:767px) {
  .nexxia-trusted-wrap .nexxia-trusted {
    justify-content: center
  }
}

.nexxia-trusted__logo {
  height: 5rem;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  transition: transform .2s
}

.nexxia-trusted__logo:hover {
  transform: scale(1.05)
}

.nexxia-trusted__placeholder {
  padding: 2rem;
  background: var(--nexxia-gray-100);
  border-radius: var(--nexxia-radius);
  color: var(--nexxia-gray-500);
  font-size: .9rem;
  border: 1px dashed var(--nexxia-gray-300)
}

/* Stats - Figma: gradient text 80%, 150%, 10x, mb-20 header */
.nexxia-stats__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-top: 4rem;
  text-align: center;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto
}

.nexxia-section#why-nexxia .nexxia-section__lead {
  margin-bottom: 4rem
}

.nexxia-stat__value {
  display: block;
  font-size: clamp(3.5rem, 8vw, 6rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.03em
}

.nexxia-stat__value--purple {
  background: linear-gradient(90deg, var(--nexxia-purple), var(--nexxia-purple-dark));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-stat__value--cyan-blue {
  background: linear-gradient(90deg, var(--nexxia-cyan), var(--nexxia-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-stat__value--blue-purple {
  background: linear-gradient(90deg, var(--nexxia-blue), var(--nexxia-purple-dark));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-stat__label {
  margin-top: 1rem;
  font-size: 1.125rem;
  color: var(--nexxia-gray-700)
}

.nexxia-section--light .nexxia-stat__label {
  color: var(--nexxia-gray-700)
}

@media (max-width:640px) {
  .nexxia-stats__grid {
    grid-template-columns: 1fr;
    gap: 2rem
  }
}

/* Case studies - Figma TestimonialsSection: gray-50 card, gradient metric block with gradient text */
.nexxia-case-studies {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 72rem;
  margin: 2.5rem auto 0;
  align-items: stretch
}

@media (min-width:768px) {
  .nexxia-case-studies {
    grid-template-columns: repeat(2, 1fr)
  }
}

.nexxia-case-study {
  margin: 0;
  padding: 0;
  background: #f9fafb;
  border-radius: var(--nexxia-radius-2xl);
  border: 1px solid var(--nexxia-gray-200);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 32rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .06);
  transition: border-color .2s, box-shadow .2s, transform .25s ease
}

@media (min-width:768px) {
  .nexxia-case-study {
    min-height: 36rem
  }
}

.nexxia-case-study:hover {
  border-color: var(--nexxia-gray-300);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);
  transform: translateY(-4px)
}

.nexxia-case-study__image {
  width: 100%;
  height: 12rem;
  min-height: 12rem;
  object-fit: cover;
  display: block;
  flex-shrink: 0
}

@media (min-width:768px) {
  .nexxia-case-study__image {
    height: 14rem;
    min-height: 14rem
  }
}

.nexxia-case-study__body {
  padding: 2rem;
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #f9fafb;
  min-height: 0
}

.nexxia-case-study__icon {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
  z-index: 1
}

.nexxia-case-study__header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-right: 3rem;
  flex-shrink: 0
}

.nexxia-case-study__logo {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  /* border: 2px solid rgba(200, 80, 245, .4) */
}

.nexxia-case-study__client {
  margin: 0 0 .2rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--nexxia-gray-900);
  line-height: 1.2
}

.nexxia-case-study__meta {
  font-size: .875rem;
  color: var(--nexxia-gray-700);
  margin: 0
}

.nexxia-case-study__subtitle {
  font-size: .8125rem;
  color: var(--nexxia-gray-600);
  margin: .15rem 0 0
}

.nexxia-case-study__block {
  margin-bottom: 1rem;
  flex-shrink: 0
}

.nexxia-case-study__block:last-of-type {
  margin-bottom: 0
}

.nexxia-case-study__label {
  font-size: .875rem;
  font-weight: 600;
  margin-bottom: .35rem
}

.nexxia-case-study__label--purple {
  color: #C850F5
}

.nexxia-case-study__label--blue {
  color: #193CE1
}

.nexxia-case-study__label--cyan {
  color: #00CDF5
}

.nexxia-case-study__label--purple-dark {
  color: #7c3aed
}

.nexxia-case-study__block p {
  margin: 0;
  font-size: .875rem;
  color: #374151;
  line-height: 1.55
}

.nexxia-case-study__metric {
  width: 100%;
  min-height: 5.625rem;
  border-radius: var(--nexxia-radius-xl);
  padding: 1rem;
  text-align: center;
  margin-top: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, #f3e8ff 0%, #e0f2fe 100%);
  border: 1px solid #d8b4fe;
  box-sizing: border-box;
  flex-shrink: 0
}

.nexxia-case-study__metric-value {
  font-size: 1.5rem;
  font-weight: 800;
  display: block;
  background: linear-gradient(90deg, #C850F5 0%, #6E28DC 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-case-study__metric-label {
  font-size: .75rem;
  font-weight: 600;
  margin-top: .25rem;
  display: block;
  background: linear-gradient(90deg, #00CDF5 0%, #C850F5 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

/* Case study text colors - high specificity overrides for platform/global styles */
#case-studies .nexxia-case-study__label--purple {
  color: #C850F5 !important
}

#case-studies .nexxia-case-study__label--blue {
  color: #193CE1 !important
}

#case-studies .nexxia-case-study__label--cyan {
  color: #00CDF5 !important
}

#case-studies .nexxia-case-study__label--purple-dark {
  color: #7c3aed !important
}

#case-studies .nexxia-case-study__block p {
  color: #374151 !important
}

#case-studies .nexxia-case-study__client {
  color: #111827 !important
}

#case-studies .nexxia-case-study__meta {
  color: #374151 !important
}

#case-studies .nexxia-case-study__subtitle {
  color: #4b5563 !important
}

#case-studies .nexxia-case-study__metric-value {
  background: linear-gradient(90deg, #C850F5 0%, #6E28DC 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important
}

#case-studies .nexxia-case-study__metric-label {
  background: linear-gradient(90deg, #00CDF5 0%, #C850F5 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important
}

/* Microsoft section - Figma: py-20, dark bg with image + gradient overlay, checkmarks */
.nexxia-microsoft {
  position: relative;
  overflow: hidden;
  padding: 5rem 0
}

.nexxia-microsoft__bg {
  position: absolute;
  inset: 0;
  z-index: 0
}

.nexxia-microsoft__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .6
}

.nexxia-microsoft__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 5, 24, .85), rgba(5, 5, 24, .75), rgba(7, 7, 30, .9));
  z-index: 1
}

.nexxia-microsoft .nexxia-container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center
}

@media (max-width:767px) {
  .nexxia-microsoft .nexxia-container {
    grid-template-columns: 1fr
  }
}

.nexxia-microsoft__logo {
  height: 2.5rem;
  width: auto;
  margin-bottom: 1.5rem;
  display: block
}

.nexxia-microsoft__title {
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  margin: 0 0 1.5rem
}

.nexxia-microsoft__text {
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.6;
  margin: 0 0 2rem
}

.nexxia-microsoft__list {
  list-style: none;
  padding: 0;
  margin: 0
}

.nexxia-microsoft__list li {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: #fff;
  margin-bottom: .75rem
}

.nexxia-microsoft__list li::before {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300CDF5' stroke-width='2'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain
}

.nexxia-microsoft__diagram {
  max-width: 500px;
  width: 100%;
  height: auto;
  border-radius: var(--nexxia-radius-2xl);
  margin: 0 auto;
  display: block
}

/* Bullets */
.nexxia-bullets {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto
}

.nexxia-bullets li {
  margin: .75rem 0;
  padding-left: 1.5rem;
  position: relative;
  line-height: 1.5
}

.nexxia-bullets li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .5em;
  width: 6px;
  height: 6px;
  background: var(--nexxia-cyan);
  border-radius: 50%
}

/* Leadership - Figma: 4 cols, ring-2 ring-purple/40, LinkedIn button */
.nexxia-leaders {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 2rem;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto
}

@media (max-width:1023px) {
  .nexxia-leaders {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width:479px) {
  .nexxia-leaders {
    grid-template-columns: 1fr
  }
}

.nexxia-leader {
  text-align: center
}

.nexxia-leader__image-wrap {
  position: relative;
  display: inline-block;
  margin-bottom: 1rem
}

.nexxia-leader__image {
  width: 8rem;
  height: 8rem;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(200, 80, 245, .4);
  transition: border-color .2s
}

.nexxia-leader:hover .nexxia-leader__image {
  border-color: var(--nexxia-purple)
}

.nexxia-leader__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.nexxia-leader__linkedin {
  position: absolute;
  bottom: -.5rem;
  right: -.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #0A66C2;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .2);
  transition: transform .2s
}

.nexxia-leader__linkedin:hover {
  transform: scale(1.1)
}

.nexxia-leader__linkedin svg {
  width: 1.25rem;
  height: 1.25rem
}

.nexxia-leader__name {
  margin: 0 0 .25rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--nexxia-gray-900)
}

.nexxia-leader__title {
  margin: 0;
  font-size: .875rem;
  color: var(--nexxia-gray-700)
}

/* Contact - Figma: gray-50 form, purple gradient submit, contact details below */
.nexxia-contact {
  margin-top: 0;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  text-align: left
}

.nexxia-contact__form {
  background: var(--nexxia-gray-50);
  border: 1px solid var(--nexxia-gray-200);
  border-radius: 1.5rem;
  padding: 2rem
}

.nexxia-contact__title {
  margin: 0 0 .5rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--nexxia-gray-900)
}

.nexxia-contact__subtitle {
  margin: 0 0 1.5rem;
  font-size: .875rem;
  color: var(--nexxia-gray-700)
}

.nexxia-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem
}

@media (max-width:639px) {
  .nexxia-form__grid {
    grid-template-columns: 1fr
  }
}

.nexxia-form__row {
  margin-bottom: 1.25rem
}

.nexxia-form__label {
  display: block;
  margin-bottom: .375rem;
  font-size: .75rem;
  font-weight: 500;
  color: var(--nexxia-gray-700)
}

.nexxia-form__input {
  width: 100%;
  padding: .75rem 1rem;
  font-size: .875rem;
  font-family: inherit;
  color: var(--nexxia-gray-900);
  background: #fff;
  border: 1px solid var(--nexxia-gray-200);
  border-radius: var(--nexxia-radius-xl);
  box-sizing: border-box;
  transition: border-color .2s, box-shadow .2s
}

.nexxia-form__input:focus {
  outline: none;
  border-color: var(--nexxia-purple);
  box-shadow: 0 0 0 2px rgba(200, 80, 245, .2)
}

.nexxia-form__input::placeholder {
  color: var(--nexxia-gray-500)
}

.nexxia-form__textarea {
  min-height: 100px;
  resize: vertical
}

.nexxia-form .nexxia-btn--submit {
  width: 100%;
  padding: 1rem 1.5rem;
  margin-top: .5rem;
  background: linear-gradient(90deg, var(--nexxia-purple), var(--nexxia-purple-dark));
  color: #fff;
  border: none;
  border-radius: var(--nexxia-radius-xl);
  font-weight: 600;
  font-size: 1rem;
  box-shadow: 0 10px 40px rgba(200, 80, 245, .3);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem
}

.nexxia-form .nexxia-btn--submit:hover {
  box-shadow: 0 20px 40px rgba(200, 80, 245, .35)
}

.nexxia-form-note {
  margin: 1rem 0 0;
  font-size: .75rem;
  color: var(--nexxia-gray-500);
  text-align: center
}

.nexxia-contact-details {
  margin-top: 2rem;
  text-align: center
}

.nexxia-contact-details__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  color: var(--nexxia-gray-700);
  font-size: .875rem;
  margin-bottom: .5rem
}

.nexxia-contact-details__item a {
  color: inherit;
  text-decoration: none
}

.nexxia-contact-details__item a:hover {
  color: var(--nexxia-cyan)
}

.nexxia-contact-details__item svg {
  flex-shrink: 0;
  color: var(--nexxia-purple)
}

.nexxia-contact-details__item a+span {
  color: var(--nexxia-cyan)
}

.nexxia-form__req {
  color: #ef4444;
  font-weight: 600
}

.nexxia-contact__form--page {
  max-width: 48rem;
  margin: 0 auto
}

@media (min-width:768px) {
  .nexxia-contact__form--page {
    padding-left: clamp(1.5rem, 4vw, 3rem);
    padding-right: clamp(1.5rem, 4vw, 3rem);
    padding-top: clamp(2rem, 4vw, 3rem);
    padding-bottom: clamp(2rem, 4vw, 3rem)
  }
}

.nexxia-contact-page-section {
  padding-top: 3rem;
  padding-bottom: 4rem
}

.nexxia-page-contact .nexxia-form__label {
  font-size: .875rem;
  font-weight: 500
}

.nexxia-page-contact .nexxia-form--contact .nexxia-form__input:focus {
  outline: none;
  border-color: var(--nexxia-cyan);
  box-shadow: 0 0 0 2px rgba(0, 205, 245, .2)
}

.nexxia-page-contact .nexxia-form__row--spam {
  margin-top: .25rem
}

.nexxia-contact-details--page .nexxia-contact-details__item:first-child svg {
  color: var(--nexxia-purple)
}

.nexxia-contact-details--page .nexxia-contact-details__item:nth-child(2) svg {
  color: var(--nexxia-cyan)
}

.nexxia-page-thank-you {
  min-height: min(70vh, 40rem)
}

.nexxia-thank-you-section {
  padding: clamp(4rem, 12vw, 7rem) 1rem
}

.nexxia-thank-you {
  text-align: center;
  max-width: 32rem;
  margin: 0 auto
}

.nexxia-thank-you__icon {
  display: flex;
  justify-content: center;
  color: var(--nexxia-cyan);
  margin-bottom: 1.5rem
}

.nexxia-thank-you__icon svg {
  display: block
}

.nexxia-thank-you__title {
  font-size: clamp(1.65rem, 4vw, 2.35rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 1rem;
  color: var(--nexxia-gray-900)
}

.nexxia-thank-you__lead {
  margin: 0 0 2rem;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--nexxia-gray-600)
}

.nexxia-thank-you__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .875rem
}

@media (min-width:480px) {
  .nexxia-thank-you__actions {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center
  }
}

.nexxia-thank-you .nexxia-btn--primary {
  padding: 1rem 2rem;
  border-radius: 9999px
}

.nexxia-thank-you__btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .875rem 1.75rem;
  border-radius: 9999px;
  border: 1px solid var(--nexxia-gray-200);
  background: #fff;
  color: var(--nexxia-gray-800);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: border-color .2s, background .2s, box-shadow .2s;
  box-sizing: border-box
}

.nexxia-thank-you__btn-secondary:hover {
  border-color: var(--nexxia-cyan);
  color: var(--nexxia-gray-900);
  box-shadow: 0 4px 20px rgba(0, 205, 245, .12)
}

.nexxia-bottleneck__sub {
  display: block;
  font-size: .875rem;
  font-weight: 500;
  color: var(--nexxia-gray-600);
  line-height: 1.45;
  margin-top: .15rem
}

.nexxia-bottlenecks-empty {
  margin: 0 0 1rem;
  font-size: .875rem;
  color: var(--nexxia-gray-600)
}

.nexxia-step-actions .nexxia-btn--primary:disabled {
  opacity: .55;
  cursor: not-allowed;
  box-shadow: none
}

.nexxia-solutions-empty {
  margin: 0;
  font-size: .875rem;
  color: var(--nexxia-gray-600)
}

/* Services page - top banner (hands + Figma headline) */
.nexxia-services-top-banner {
  position: relative;
  min-height: min(68vh, 38rem);
  padding: clamp(4.5rem, 14vw, 7.5rem) 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nexxia-bg-dark);
  color: #fff;
  overflow: hidden
}

.nexxia-services-top-banner__bg {
  position: absolute;
  inset: 0;
  z-index: 0
}

.nexxia-services-top-banner__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 42%;
  display: block
}

.nexxia-services-top-banner__overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 85% 75% at 50% 45%, rgba(5, 5, 24, .45) 0%, rgba(5, 5, 24, .88) 55%, rgba(5, 5, 24, .94) 100%);
  z-index: 1
}

.nexxia-services-top-banner__inner {
  position: relative;
  z-index: 2;
  max-width: var(--nexxia-max-width);
  width: 100%;
  text-align: center
}

.nexxia-services-top-banner__title {
  margin: 0 auto;
  max-width: 56rem;
  font-size: clamp(1.7rem, 4.2vw, 3.05rem);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
  text-wrap: balance
}

.nexxia-services-top-banner__plain {
  color: #fff
}

.nexxia-services-top-banner--identify {
  color: var(--nexxia-cyan)
}

.nexxia-services-top-banner--deploy {
  color: #c4b5fd
}

.nexxia-services-top-banner--adopt {
  color: #e879f9
}

/* Services page - hero + timeline + process cards (Figma Services) */
.nexxia-services-hero-process {
  position: relative;
  min-height: min(78vh, 52rem);
  padding: 6.5rem 0 6rem;
  overflow: visible;
  background: var(--nexxia-bg-dark);
  color: #fff
}

.nexxia-services-hero-process--process-only {
  min-height: min(62vh, 44rem);
  padding-top: clamp(3rem, 8vw, 4.5rem)
}

.nexxia-services-hero-process__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden
}

.nexxia-services-hero-process__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.nexxia-services-hero-process__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 5, 24, .38) 0%, rgba(5, 5, 24, .48) 50%, rgba(5, 5, 24, .52) 100%);
  z-index: 1
}

.nexxia-services-hero-process__accent {
  position: absolute;
  right: 0;
  top: 0;
  width: 40vw;
  height: 100%;
  opacity: .06;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(270deg, rgba(200, 80, 245, .9), transparent)
}

.nexxia-services-hero-process .nexxia-container {
  position: relative;
  z-index: 2;
  max-width: var(--nexxia-max-width)
}

.nexxia-services-hero-process__title {
  margin: 0 auto;
  padding: 0 .5rem;
  max-width: 62rem;
  text-align: center;
  font-size: clamp(1.85rem, 4.2vw, 3.25rem);
  font-weight: 900;
  line-height: 1.18;
  color: #fff
}

.nexxia-services-hero-process__title-line {
  display: block
}

.nexxia-services-hero-process__title-line+.nexxia-services-hero-process__title-line {
  margin-top: .2em
}

.nexxia-services-hero-process__title-highlight {
  background: linear-gradient(90deg, #fff 0%, #e0f2fe 25%, var(--nexxia-cyan) 45%, #c4b5fd 70%, #f5d0fe 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-process-stage {
  margin-top: clamp(2.75rem, 7vw, 5rem)
}

.nexxia-process-columns {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.75rem;
  align-items: stretch;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 .25rem;
  box-sizing: border-box
}

@media (min-width:1024px) {
  .nexxia-process-columns {
    --nexxia-process-gap: clamp(1.5rem, 2.5vw, 2.25rem);
    grid-template-columns: repeat(4, 1fr);
    gap: var(--nexxia-process-gap);
    padding: 0 .5rem
  }

  .nexxia-process-columns::before {
    content: "";
    position: absolute;
    left: calc((100% - 3 * var(--nexxia-process-gap)) / 8);
    width: calc(3 * ((100% - 3 * var(--nexxia-process-gap)) / 4 + var(--nexxia-process-gap)));
    right: auto;
    top: 2.25rem;
    height: 1px;
    background: rgba(255, 255, 255, .92);
    z-index: 0;
    pointer-events: none;
    box-shadow: 0 0 8px rgba(255, 255, 255, .5), 0 0 20px rgba(255, 255, 255, .15)
  }
}

.nexxia-process-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%
}

.nexxia-process-card__orb {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .25), 0 0 0 2px rgba(255, 255, 255, .12);
  position: relative;
  z-index: 3
}

.nexxia-process-card__orb svg {
  width: 1.875rem;
  height: 1.875rem;
  color: #fff
}

.nexxia-process-card__orb--1 {
  background: linear-gradient(145deg, #e879f9, #a21caf)
}

.nexxia-process-card__orb--2 {
  background: linear-gradient(145deg, #2563eb, #38bdf8)
}

.nexxia-process-card__orb--3 {
  background: linear-gradient(145deg, #22d3ee, #0284c7)
}

.nexxia-process-card__orb--4 {
  background: linear-gradient(145deg, #d946ef, #c084fc)
}

.nexxia-process-card__body {
  width: 90%;
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-top: clamp(1.875rem, 3.5vw, 2.5rem);
  position: relative;
  z-index: 1;
  background: #fff;
  border: 1px solid var(--nexxia-gray-200);
  border-radius: var(--nexxia-radius-xl);
  padding: 1.5rem 1.25rem 1.5rem;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .06), 0 2px 6px rgba(0, 0, 0, .04);
  transition: border-color .2s, box-shadow .2s
}

.nexxia-process-card__body:hover {
  border-color: var(--nexxia-gray-300);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .08), 0 4px 10px rgba(0, 0, 0, .05)
}

.nexxia-process-card__title {
  margin: 0 0 .25rem;
  font-size: 1.25rem;
  font-weight: 700
}

.nexxia-process-card__title--1 {
  color: #C850F5
}

.nexxia-process-card__title--2 {
  color: #193CE1
}

.nexxia-process-card__title--3 {
  color: var(--nexxia-cyan)
}

.nexxia-process-card__title--4 {
  color: #C850F5
}

.nexxia-process-card__cat {
  margin: 0 0 .65rem;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nexxia-gray-500)
}

.nexxia-process-card__copy {
  margin: 0 0 1rem;
  font-size: .875rem;
  line-height: 1.65;
  color: var(--nexxia-gray-600);
  flex: 1
}

.nexxia-process-card__copy strong {
  color: var(--nexxia-gray-800);
  font-weight: 600
}

.nexxia-process-card__details {
  width: 100%;
  margin-top: auto;
  border-top: 0
}

.nexxia-process-card__expand {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.nexxia-process-card__details[open] .nexxia-process-card__expand {
  grid-template-rows: 1fr
}

.nexxia-process-card__expand .nexxia-process-card__list {
  min-height: 0;
  overflow: hidden;
  margin: 0
}

.nexxia-process-card__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  list-style: none;
  cursor: pointer;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .5rem 0;
  margin: 0;
  -webkit-user-select: none;
  user-select: none
}

.nexxia-process-card__summary::-webkit-details-marker {
  display: none
}

.nexxia-process-card__summary::after {
  content: "";
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: .85
}

.nexxia-process-card__details[open] .nexxia-process-card__summary::after {
  transform: rotate(180deg)
}

.nexxia-process-card__list {
  margin: 0;
  padding: 0 0 .5rem;
  list-style: none
}

@media (prefers-reduced-motion:reduce) {
  .nexxia-process-card__expand {
    transition: none
  }

  .nexxia-process-card__summary::after {
    transition: none
  }
}

.nexxia-process-card__list li {
  display: flex;
  gap: .5rem;
  font-size: .875rem;
  color: var(--nexxia-gray-600);
  line-height: 1.45;
  margin-bottom: .35rem
}

.nexxia-process-card__list li span:first-child {
  flex-shrink: 0;
  margin-top: .2em
}

.nexxia-process-card--1 .nexxia-process-card__summary {
  color: #C850F5
}

.nexxia-process-card--2 .nexxia-process-card__summary {
  color: #193CE1
}

.nexxia-process-card--3 .nexxia-process-card__summary {
  color: var(--nexxia-cyan)
}

.nexxia-process-card--4 .nexxia-process-card__summary {
  color: #C850F5
}

.nexxia-process-card--1 .nexxia-process-card__list li span:first-child {
  color: #a855f7
}

.nexxia-process-card--2 .nexxia-process-card__list li span:first-child {
  color: #2563eb
}

.nexxia-process-card--3 .nexxia-process-card__list li span:first-child {
  color: #06b6d4
}

.nexxia-process-card--4 .nexxia-process-card__list li span:first-child {
  color: #7c3aed
}

.nexxia-services-problem {
  padding-top: clamp(3rem, 8vw, 5rem);
  padding-bottom: 6rem
}

/* White band so Non-Negotiable cards read as gray-50 on white (Figma mobile) */
.nexxia-services-problem.nexxia-section--light {
  background: #fff
}

.nexxia-services-problem__head {
  max-width: 56rem;
  margin: 0 auto 4rem;
  text-align: center
}

.nexxia-services-problem__title {
  margin: 0;
  font-size: clamp(1.5rem, 3.5vw, 2.5rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--nexxia-gray-900)
}

.nexxia-services-problem__title .nexxia-gradient--cyan-blue {
  background: linear-gradient(90deg, var(--nexxia-cyan), var(--nexxia-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-services-problem__title .nexxia-gradient--purple {
  background: linear-gradient(90deg, var(--nexxia-purple), var(--nexxia-purple-dark));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-nonneg__title {
  margin: 0 0 2.5rem;
  text-align: center;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: var(--nexxia-gray-900)
}

.nexxia-nonneg__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  max-width: 56rem;
  margin: 0 auto
}

@media (min-width:640px) {
  .nexxia-nonneg__grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width:768px) {
  .nexxia-nonneg__grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

.nexxia-nonneg__item {
  display: flex;
  align-items: center;
  gap: .875rem;
  background-color: var(--color-gray-50);
  border: 1px solid var(--nexxia-gray-200);
  border-radius: .75rem;
  padding: 1rem 1.125rem;
  transition: border-color .2s, box-shadow .2s, transform .2s
}

@media (hover:hover) and (pointer:fine) {
  .nexxia-nonneg__item:hover {
    border-color: rgba(200, 80, 245, .35);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .06);
    transform: scale(1.02)
  }
}

.nexxia-nonneg__icon-wrap {
  width: 2rem;
  height: 2rem;
  border-radius: .5rem;
  background: #f3e8ff;
  border: 1px solid #e9d5ff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #9333ea
}

.nexxia-nonneg__icon-wrap svg {
  width: 1rem;
  height: 1rem;
  display: block
}

.nexxia-nonneg__text {
  margin: 0;
  font-size: .875rem;
  color: var(--nexxia-gray-700);
  font-weight: 500
}

@media (max-width:639px) {
  .nexxia-services-problem__head {
    margin-bottom: 2.75rem
  }

  .nexxia-services-problem__title {
    line-height: 1.28;
    padding: 0 .125rem
  }

  .nexxia-nonneg__title {
    margin: 0 0 1.75rem;
    font-size: 1.375rem;
    letter-spacing: -.02em
  }

  .nexxia-nonneg__grid {
    gap: .875rem;
    max-width: 100%
  }

  .nexxia-nonneg__item {
    gap: 1rem;
    padding: 1.125rem 1.25rem;
    border-radius: .625rem
  }

  .nexxia-nonneg__icon-wrap {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .625rem
  }

  .nexxia-nonneg__icon-wrap svg {
    width: 1.125rem;
    height: 1.125rem
  }

  .nexxia-nonneg__text {
    font-size: 1rem;
    font-weight: 600;
    color: var(--nexxia-gray-900);
    line-height: 1.35
  }
}

.nexxia-services-tech {
  padding-top: 6rem;
  padding-bottom: 6rem
}

.nexxia-services-tech__title {
  margin: 0 0 2.5rem;
  text-align: center;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--nexxia-gray-900)
}

.nexxia-tech-logos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  width: 100%;
  max-width: 56rem;
  margin: 0 auto;
  align-items: stretch
}

@media (max-width:767px) {
  .nexxia-tech-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    padding: 0 .25rem
  }
}

@media (max-width:419px) {
  .nexxia-tech-logos {
    grid-template-columns: 1fr
  }
}

.nexxia-tech-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1.25rem;
  background: #fff;
  border: 1px solid var(--nexxia-gray-200);
  border-radius: .75rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .07), 0 1px 3px rgba(0, 0, 0, .04);
  transition: border-color .2s, box-shadow .2s, transform .2s;
  min-height: 7rem;
  box-sizing: border-box
}

.nexxia-tech-logo:hover {
  border-color: var(--nexxia-gray-300);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .06);
  transform: translateY(-2px)
}

.nexxia-tech-logo img {
  display: block;
  height: 4rem;
  width: auto;
  max-width: 160px;
  object-fit: contain
}

.nexxia-tech-logo--sm img {
  height: 2.5rem
}

.nexxia-services-cta {
  padding: 5rem 0;
  background: var(--nexxia-gray-50)
}

.nexxia-services-cta__card {
  max-width: 72rem;
  margin: 0 auto;
  border-radius: 1.5rem;
  overflow: hidden;
  border: 1px solid rgba(0, 205, 245, .3);
  background: linear-gradient(135deg, rgba(200, 80, 245, .08), rgba(0, 205, 245, .05), rgba(25, 60, 225, .08))
}

.nexxia-services-cta__grid {
  display: grid;
  grid-template-columns: 1fr
}

@media (min-width:768px) {
  .nexxia-services-cta__grid {
    grid-template-columns: 1fr 1fr
  }
}

.nexxia-services-cta__media {
  position: relative;
  min-height: 16rem
}

@media (min-width:768px) {
  .nexxia-services-cta__media {
    min-height: 20rem
  }
}

.nexxia-services-cta__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  min-height: 16rem
}

.nexxia-services-cta__content {
  padding: 3rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center
}

.nexxia-services-cta__spark {
  margin-bottom: 1rem;
  color: var(--nexxia-cyan);
  animation: nexxia-spin-slow 8s linear infinite
}

@keyframes nexxia-spin-slow {
  to {
    transform: rotate(360deg)
  }
}

.nexxia-services-cta__spark svg {
  width: 2.5rem;
  height: 2.5rem;
  display: block
}

.nexxia-services-cta__title {
  margin: 0 0 2.5rem;
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 900;
  line-height: 1.15
}

.nexxia-services-cta__title span {
  background: linear-gradient(90deg, var(--nexxia-cyan), var(--nexxia-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nexxia-services-cta .nexxia-btn--cta,
.nexxia-btn--cta {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  padding: 1.25rem 3.5rem;
  border-radius: 9999px;
  background: linear-gradient(90deg, var(--nexxia-purple), var(--nexxia-purple-dark));
  color: #fff;
  font-weight: 700;
  font-size: 1.125rem;
  text-decoration: none;
  box-shadow: 0 15px 50px rgba(200, 80, 245, .4);
  transition: transform .15s, box-shadow .2s
}

.nexxia-services-cta .nexxia-btn--cta:hover,
.nexxia-btn--cta:hover {
  transform: scale(1.04);
  box-shadow: 0 20px 55px rgba(200, 80, 245, .45)
}

.nexxia-services-cta .nexxia-btn--cta svg,
.nexxia-btn--cta svg {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0
}

/* Contact page - Figma ContactPage: hero + purple blob, cyan focus on inputs */
.nexxia-hero--contact {
  min-height: 0;
  padding: clamp(6rem, 12vw, 8rem) 0 clamp(3.5rem, 8vw, 5rem)
}

.nexxia-hero--contact .nexxia-hero__scroll {
  display: none
}

.nexxia-hero--contact .nexxia-hero__bg-img {
  z-index: 0
}

.nexxia-contact-hero__blob {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(60vw, 42rem);
  height: min(60vw, 42rem);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, #C850F5 0%, #6E28DC 100%);
  opacity: .15;
  filter: blur(80px);
  pointer-events: none;
  z-index: 1;
  animation: nexxia-faq-blob 10s ease-in-out infinite
}

@media (prefers-reduced-motion:reduce) {
  .nexxia-contact-hero__blob {
    animation: none
  }
}

.nexxia-hero--contact .nexxia-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 5, 24, .72) 0%, rgba(5, 5, 24, .62) 45%, rgba(7, 7, 32, .92) 100%);
  pointer-events: none;
  z-index: 2
}

.nexxia-hero--contact .nexxia-hero__grid {
  z-index: 3;
  opacity: .08
}

.nexxia-hero--contact .nexxia-container {
  max-width: 56rem
}

.nexxia-hero--contact .nexxia-hero__title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  opacity: 1;
  animation: none
}

.nexxia-hero--contact .nexxia-hero__subtitle {
  opacity: 1;
  animation: none;
  font-size: 1.125rem;
  font-weight: 400;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255, 255, 255, .78)
}

/* FAQ page - hero reuses .nexxia-hero; accordion cards align with .nexxia-card treatment */
.nexxia-hero--faq {
  min-height: 0;
  padding: clamp(6rem, 12vw, 8rem) 0 clamp(3.5rem, 8vw, 5rem)
}

.nexxia-hero--faq .nexxia-hero__scroll {
  display: none
}

.nexxia-hero--faq .nexxia-hero__bg-img {
  z-index: 0
}

.nexxia-hero-faq__blob {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(60vw, 42rem);
  height: min(60vw, 42rem);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, #00CDF5 0%, #193CE1 100%);
  opacity: .15;
  filter: blur(80px);
  pointer-events: none;
  z-index: 1;
  animation: nexxia-faq-blob 10s ease-in-out infinite
}

.nexxia-hero--faq .nexxia-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 5, 24, .72) 0%, rgba(5, 5, 24, .62) 45%, rgba(7, 7, 32, .92) 100%);
  pointer-events: none;
  z-index: 2
}

.nexxia-hero--faq .nexxia-hero__grid {
  z-index: 3;
  opacity: .08
}

@keyframes nexxia-faq-blob {

  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: .12
  }

  50% {
    transform: translate(-50%, -50%) scale(1.15);
    opacity: .2
  }
}

@media (prefers-reduced-motion:reduce) {
  .nexxia-hero-faq__blob {
    animation: none
  }
}

.nexxia-hero--faq .nexxia-container {
  max-width: 56rem
}

.nexxia-hero--faq .nexxia-hero__title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  opacity: 1;
  animation: none
}

.nexxia-hero--faq .nexxia-hero__subtitle {
  opacity: 1;
  animation: none;
  font-size: 1.125rem;
  font-weight: 400;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255, 255, 255, .78)
}

.nexxia-section--faq-list {
  padding-top: 4rem;
  padding-bottom: 4rem
}

.nexxia-faq-empty {
  margin: 0;
  text-align: center
}

.nexxia-faq-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%
}

/* FAQ accordion - #main-content raises specificity over Siteglide / Bootstrap resets; kill native disclosure triangle everywhere */
#main-content details.nexxia-faq-item {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  background: var(--nexxia-gray-50);
  border: 1px solid var(--nexxia-gray-200);
  border-radius: var(--nexxia-radius-xl);
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s
}

#main-content details.nexxia-faq-item:hover {
  border-color: var(--nexxia-gray-300);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .06)
}

#main-content details.nexxia-faq-item[open] {
  border-color: var(--nexxia-gray-300);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .08)
}

#main-content details.nexxia-faq-item>.nexxia-faq-item__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 1.25rem 1.5rem;
  box-sizing: border-box;
  cursor: pointer;
  list-style: none;
  list-style-type: none;
  text-align: left;
  font: inherit;
  font-size: 1rem;
  font-family: var(--nexxia-font-sans);
  font-weight: 600;
  line-height: 1.35;
  background: transparent;
  border: 0;
  color: var(--nexxia-gray-900);
  appearance: none;
  -webkit-appearance: none;
  transition: background .2s, border-color .2s
}

#main-content details.nexxia-faq-item>.nexxia-faq-item__summary::-webkit-details-marker {
  display: none
}

#main-content details.nexxia-faq-item>.nexxia-faq-item__summary::marker {
  color: transparent;
  font-size: 0
}

#main-content details.nexxia-faq-item>.nexxia-faq-item__summary:hover {
  background: rgba(0, 0, 0, .04)
}

#main-content details.nexxia-faq-item[open]>.nexxia-faq-item__summary {
  background: var(--nexxia-gray-100)
}

#main-content .nexxia-faq-item__question {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.35;
  flex: 1;
  min-width: 0;
  padding-right: .5rem;
  margin: 0;
  color: var(--nexxia-gray-900)
}

#main-content .nexxia-faq-item__chevron {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nexxia-cyan);
  line-height: 0;
  transition-property: transform !important;
  transition-duration: .3s !important;
  transition-timing-function: var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)) !important;
  transition-delay: 0s !important
}

#main-content .nexxia-faq-item__chevron svg {
  display: block;
  width: 20px;
  height: 20px
}

#main-content details.nexxia-faq-item[open] .nexxia-faq-item__chevron {
  transform: rotate(180deg)
}

/* FAQ answer: smooth height (grid 0fr→1fr) + fade/slide - same idea as .nexxia-process-card__expand */
#main-content .nexxia-faq-item__panel {
  display: grid;
  grid-template-rows: 0fr;
  background: var(--nexxia-gray-50);
  transition-property: grid-template-rows !important;
  transition-duration: .4s !important;
  transition-timing-function: var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)) !important;
  transition-delay: 0s !important
}

#main-content details.nexxia-faq-item[open] .nexxia-faq-item__panel {
  grid-template-rows: 1fr
}

#main-content .nexxia-faq-item__panel-inner {
  min-height: 0;
  overflow: hidden
}

#main-content .nexxia-faq-item__answer {
  padding: 0 1.5rem 1.25rem;
  padding-top: .625rem;
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--nexxia-gray-700);
  border-top: 1px solid var(--nexxia-gray-200);
  opacity: 0;
  transform: translateY(-6px);
  transition-property: opacity, transform !important;
  transition-duration: .35s !important;
  transition-timing-function: var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)) !important;
  transition-delay: .05s !important
}

#main-content details.nexxia-faq-item[open] .nexxia-faq-item__answer {
  opacity: 1;
  transform: translateY(0)
}

#main-content .nexxia-faq-item__answer p:first-child {
  margin-top: 0
}

#main-content .nexxia-faq-item__answer p:last-child {
  margin-bottom: 0
}

@media (prefers-reduced-motion:reduce) {
  #main-content .nexxia-faq-item__panel {
    transition-property: none !important;
    transition-duration: 0s !important
  }

  #main-content .nexxia-faq-item__chevron {
    transition-property: none !important;
    transition-duration: 0s !important
  }

  #main-content .nexxia-faq-item__answer {
    transition-property: none !important;
    transition-duration: 0s !important;
    opacity: 1;
    transform: none
  }
}