/* ========================================
   Design Tokens - Reference Matched
   ======================================== */
:root {
  --color-page: rgba(255, 255, 255, 0.96);
  --color-text-primary: rgb(10, 10, 10);
  --color-text-secondary: rgb(64, 64, 64);
  --color-text-tertiary: rgb(70, 76, 105);
  --color-heading: rgb(36, 39, 52);

  --color-eyebrow-hero: rgb(121, 29, 156);
  --color-eyebrow-team: rgb(149, 48, 23);
  --color-eyebrow-showcase: rgb(26, 66, 181);
  --color-eyebrow-faq: rgb(89, 33, 178);

  --color-chip-hero: rgb(252, 245, 255);
  --color-chip-team: rgb(255, 247, 239);
  --color-chip-showcase: rgb(238, 245, 254);
  --color-chip-faq: rgb(244, 242, 254);

  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-56: 56px;
  --space-64: 64px;
  --space-74: 74px;

  --radius-8: 8px;
  --radius-12: 12px;
  --radius-16: 16px;
  --radius-20: 20px;
  --radius-24: 24px;
  --radius-full: 999px;

  --shadow-none: none;

  --container-max: 1200px;
  --section-gap: 24px;
}

/* ========================================
   Base
   ======================================== */
* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  overflow-x: clip;
  max-width: 100%;
}

body {
  background-color: var(--color-page);
  background-image: repeating-linear-gradient(
    45deg,
    rgba(139, 89, 255, 0.04) 0px,
    rgba(139, 89, 255, 0.04) 1px,
    transparent 1px,
    transparent 3px
  );
  color: var(--color-text-primary);
  font-family: Poppins, sans-serif;
  font-size: 16px;
  line-height: 24px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

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

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

p,
h1,
h2,
h3 {
  margin: 0;
}

/* ========================================
   Shared Container
   ======================================== */
.c-main,
.c-framer-credit {
  width: min(100% - 30px, var(--container-max));
  margin-inline: auto;
}

.c-footer {
  width: 100vw;
}

.c-section {
  width: 100%;
}

/* ========================================
   Navbar
   ======================================== */
.c-header {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 64px;
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.c-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgb(89 72 176 / 31%) 20%,
    rgb(89 72 176 / 26%) 80%,
    transparent
  );
  z-index: 2;
}

.c-navbar {
  width: min(100% - 30px, var(--container-max));
  margin-inline: auto;
  height: 33px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: var(--space-24);
}

.c-navbar__brand {
  width: 104px;
  height: 35px;
  display: inline-flex;
  align-items: center;
}

.c-navbar__brand img {
  width: 104px;
  height: 35px;
  object-fit: contain;
}

.c-navbar__nav {
  justify-self: center;
}

.c-navbar__menu {
  display: flex;
  align-items: center;
  gap: var(--space-20);
}

.c-navbar__link,
.c-navbar__link--button {
  border: 0;
  background: transparent;
  padding: 0;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.16px;
  color: rgb(15, 15, 15);
  cursor: pointer;
}

.c-navbar__actions {
  display: flex;
  align-items: center;
  gap: var(--space-20);
}

.c-navbar__actions .c-navbar__link {
  background: rgb(89, 72, 176);
  color: #fff;
  padding: 7px 12px;
  border-radius: 100px;
  font-weight: 500;
  font-size: 14px;
  transition: background 0.2s;
}

.c-navbar__actions .c-navbar__link:hover {
  background: rgb(72, 57, 150);
}

@property --ai-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@keyframes ai-border-spin {
  to {
    --ai-angle: 360deg;
  }
}

.c-navbar__ai-btn {
  display: inline-flex;
  align-items: center;
  border-radius: 100px;
  text-decoration: none;
  position: relative;
  padding: 2.5px;
  background: conic-gradient(
    from var(--ai-angle),
    #3b82f6,
    #6366f1,
    #a855f7,
    #6366f1,
    #3b82f6
  );
  animation: ai-border-spin 6s linear infinite;
  transition: opacity 0.2s;
}

.c-navbar__ai-btn:hover {
  opacity: 0.85;
}

.c-navbar__ai-inner {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 11px 1.5px 11px;
  border-radius: 100px;
  background: #f4f4f5;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  white-space: nowrap;
}

.c-navbar__ai-icon {
  fill: #1a1a1a;
  flex-shrink: 0;
}

.c-navbar__mobile-end {
  display: none;
}

.c-navbar__ai-btn--mobile {
  display: inline-flex;
}

.c-navbar__hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  padding: 6px;
  background: none;
  border: none;
  cursor: pointer;
}

.c-navbar__hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: rgb(15, 15, 15);
  border-radius: 2px;
  transition:
    transform 0.3s,
    opacity 0.3s;
}

.c-navbar__hamburger.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.c-navbar__hamburger.is-open span:nth-child(2) {
  opacity: 0;
}
.c-navbar__hamburger.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Mobile menu overlay */
.c-mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  top: 64px;
  background: #fff;
  z-index: 99;
  overflow-y: auto;
  opacity: 0;
  transform: translateY(-8px);
  transition:
    opacity 0.25s,
    transform 0.25s;
  pointer-events: none;
}

.c-mobile-menu.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.c-mobile-menu__inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px 20px 40px;
  height: 100%;
}

.c-mobile-menu__nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.c-mobile-menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 4px;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: rgb(15, 15, 15);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: none;
  border-left: none;
  border-right: none;
  border-top: none;
  cursor: pointer;
  width: 100%;
  text-align: left;
}

.c-mobile-menu__link--toggle svg {
  transition: transform 0.25s;
  flex-shrink: 0;
}

.c-mobile-menu__link--toggle.is-open svg {
  transform: rotate(180deg);
}

.c-mobile-menu__sub {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.c-mobile-menu__group.is-open .c-mobile-menu__sub {
  max-height: 600px;
}

.c-mobile-menu__sublink {
  padding: 9px 16px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: rgb(100, 100, 110);
}

.c-mobile-menu__cta {
  display: block;
  text-align: center;
  padding: 14px;
  background: rgb(89, 72, 176);
  color: #fff;
  border-radius: 12px;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
  margin-top: 16px;
}

@media (max-width: 767px) {
  .c-navbar__nav,
  .c-navbar__actions {
    display: none;
  }

  .c-navbar__mobile-end {
    display: flex;
    align-items: center;
    gap: 10px;
    grid-column: 3;
    justify-self: end;
  }

  .c-navbar__hamburger {
    display: flex;
  }

  .c-mobile-menu {
    display: block;
  }

  .c-mobile-menu__inner {
    padding-bottom: 90px;
  }

  .c-header {
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  .c-navbar {
    grid-template-columns: auto 1fr auto;
  }

  .c-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .c-footer {
    height: auto;
    overflow: visible;
  }

  /* Hero */
  .c-section--hero {
    width: 100%;
    margin-left: 0;
    height: auto;
    padding-top: 32px;
    margin-bottom: 24px;
  }

  .c-hero-typewriter {
    font-size: 16px !important;
    white-space: normal;
    padding-inline: 16px;
  }

  .c-hero-typewriter__cursor {
    height: 16px !important;
  }

  .c-hero-phones {
    height: auto;
    gap: 6px;
    overflow: hidden;
    padding-inline: 8px;
  }

  .c-hero-phones img {
    width: 100px;
    height: 210px;
    border-radius: 12px;
  }

  .c-hero-phones img:last-child {
    width: 105px;
    height: 215px;
  }

  /* Logo Cloud */
  .c-section--logo-cloud {
    width: 100%;
    margin-left: 0;
    overflow: hidden;
  }

  /* Section titles */
  .c-section__title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px !important;
  }

  .c-section__sub {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }

  /* About */
  .c-section--about {
    grid-template-columns: 1fr;
    height: auto;
  }

  .c-about-scene {
    grid-template-columns: 1fr;
    height: auto;
  }

  .c-feature-tabs {
    gap: 8px;
  }

  .c-about-visuals {
    display: none;
  }

  .c-about-mockup__overlays {
    display: none;
  }

  .c-about-overlay[data-overlay="0"] {
    opacity: 1;
    transform: translateY(0);
  }

  /* Team */
  .c-team-col:nth-child(n + 7) {
    display: none;
  }

  /* Showcase */
  .c-section--showcase {
    height: auto;
    padding-block: 40px;
  }

  .c-showcase-header {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }

  .c-showcase-card {
    width: calc((100vw - 4 * 10px) / 3);
  }

  /* FAQ */
  .c-section--faq {
    height: auto;
    padding-block: 40px;
  }

  /* Footer content */
  .c-footer__content {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .c-footer__top {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}

.c-navbar__item--dropdown {
  position: relative;
}

.c-navbar__dropdown-trigger {
  display: flex;
  align-items: center;
  gap: 4px;
}

.c-navbar__dropdown-chevron {
  transition: transform 0.2s;
  flex-shrink: 0;
}

.c-navbar__item--dropdown.is-open .c-navbar__dropdown-chevron {
  transform: rotate(180deg);
}

.c-navbar__dropdown {
  position: absolute;
  top: calc(100% + 16px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  width: 960px;
  background: #fff;
  border-radius: 20px;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.06),
    0 16px 48px rgba(0, 0, 0, 0.12);
  padding: 16px;
  display: grid;
  grid-template-columns: 0.7fr 1.6fr;
  gap: 12px;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.18s,
    transform 0.18s;
  z-index: 200;
}

.c-navbar__item--dropdown.is-open .c-navbar__dropdown {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* Slide-in animation */
@keyframes dropdown-slide-in {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.c-navbar__item--dropdown.is-open .c-navbar__dropdown-heading,
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-item,
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-badge,
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-promo-title,
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-promo-desc,
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-promo-btn,
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-promo-img {
  animation: dropdown-slide-in 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Heading */
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-heading {
  animation-delay: 0.06s;
}

/* Left links - staggered */
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-item:nth-child(2) {
  animation-delay: 0.09s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-item:nth-child(3) {
  animation-delay: 0.12s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-item:nth-child(4) {
  animation-delay: 0.15s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-item:nth-child(5) {
  animation-delay: 0.18s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-item:nth-child(6) {
  animation-delay: 0.21s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-item:nth-child(7) {
  animation-delay: 0.24s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-item:nth-child(8) {
  animation-delay: 0.27s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-item:nth-child(9) {
  animation-delay: 0.3s;
}

/* Right promo card elements - after links */
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-badge {
  animation-delay: 0.22s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-promo-title {
  animation-delay: 0.28s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-promo-desc {
  animation-delay: 0.34s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-promo-btn {
  animation-delay: 0.4s;
}
.c-navbar__item--dropdown.is-open .c-navbar__dropdown-promo-img {
  animation-delay: 0.46s;
}

.c-navbar__dropdown-links {
  display: flex;
  flex-direction: column;
  gap: 0px;
  padding: 4px 0;
}

.c-navbar__dropdown-heading {
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: rgb(150, 150, 160);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 12px 8px;
  margin: 0;
}

.c-navbar__dropdown-item {
  padding: 4px 12px;
  border-radius: 8px;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgb(138, 138, 138);
  transition:
    background 0.15s,
    color 0.15s;
  white-space: nowrap;
}

.c-navbar__dropdown-item--all {
  color: rgb(89, 33, 178);
  font-weight: 600;
  margin-bottom: 4px;
}

.c-navbar__dropdown-item--all:hover {
  background: rgba(89, 33, 178, 0.06);
  color: rgb(89, 33, 178);
}

.c-navbar__dropdown-item:hover {
  background: rgba(0, 0, 0, 0.04);
  color: rgb(15, 15, 15);
}

/* Promo card */
.c-navbar__dropdown-promo {
  background: rgb(240, 240, 240);
  border-radius: 14px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  overflow: hidden;
  min-height: 240px;
}

.c-navbar__dropdown-promo-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
}

.c-navbar__dropdown-promo-media {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.c-navbar__dropdown-promo-media--padded {
  padding: 20px;
}

.c-navbar__dropdown-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgb(227, 134, 176);
  font-family: Poppins, sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgb(10, 10, 10);
}

.c-navbar__dropdown-promo-title {
  font-family: Poppins, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: rgb(10, 10, 10);
  margin: 0;
  line-height: 1.2;
}

.c-navbar__dropdown-promo-desc {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: rgba(10, 10, 10, 0.6);
  margin: 0;
  line-height: 1.6;
}

.c-navbar__dropdown-promo-btn {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 8px 18px;
  border-radius: 8px;
  background: rgb(193, 210, 217);
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: rgb(10, 10, 10);
  margin-top: 4px;
}

.c-navbar__dropdown-promo-img {
  width: auto;
  height: 100%;
  object-fit: fill;
  object-position: center bottom;
  display: block;
}

.c-navbar__dropdown-promo-img--about {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 20px;
}

.c-navbar__dropdown-promo-media--rect {
  align-items: center;
  padding: 16px 16px 16px 0;
}

.c-navbar__product-art {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 230px;
}

.c-navbar__product-art-img {
  position: absolute;
  width: 180px;
  height: 115px;
  object-fit: fill;
  border-radius: 10px;
  background-color: #fff;
  border: 3px solid #fff;
  box-shadow: 0 10px 24px rgba(10, 10, 10, 0.16);
}

.c-navbar__product-art-img:nth-child(1) {
  top: 117px;
  left: 0;
  transform: rotate(-6deg);
  z-index: 1;
}
.c-navbar__product-art-img:nth-child(2) {
  top: 20px;
  right: 4px;
  transform: rotate(5deg);
  z-index: 2;
}
.c-navbar__product-art-img:nth-child(3) {
  bottom: 8px;
  left: 26px;
  transform: rotate(10deg);
  z-index: 3;
}

.c-navbar__dropdown-promo-img--rect {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(10, 10, 10, 0.12);
}

.c-navbar__search {
  width: 130px;
  height: 33px;
  border: 0;
  padding: 0 10px;
  border-radius: var(--radius-16);
  background: rgba(242, 242, 242, 0.51);
  color: rgb(138, 138, 138);
  text-align: left;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 19px;
}

/* ========================================
   Hero
   ======================================== */
.c-section--hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  height: auto;
  display: flex;
  flex-direction: column;
  gap: var(--section-gap);
  padding-top: 28px;
  padding-bottom: 0;
  margin-bottom: 0;
  overflow: hidden;
}

.c-home-hero__copy {
  order: 0;
  position: relative;
  z-index: 4;
  width: calc(100% - 40px);
  max-width: 1100px;
  margin: 18px auto 4px;
  text-align: center;
}

.c-home-hero__title {
  margin: 0;
  font-family: Poppins, sans-serif;
  font-size: clamp(38px, 4.2vw, 58px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: var(--color-heading);
  text-wrap: balance;
}

.c-home-hero__title-line {
  white-space: nowrap;
}

.c-home-hero__title em {
  font-style: italic;
  color: rgb(89, 33, 178);
}

.c-home-hero__desc {
  max-width: 690px;
  margin: 20px auto 0;
  font-family: Poppins, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: -0.01em;
  color: #6b7280;
  text-wrap: balance;
}

@media (max-width: 767px) {
  .c-home-hero__copy {
    width: calc(100% - 24px);
    max-width: 560px;
    margin-top: 4px;
    margin-bottom: 0;
  }

  .c-home-hero__title-line {
    white-space: normal;
  }

  .c-home-hero__title {
    font-size: clamp(30px, 8.5vw, 38px);
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  .c-home-hero__desc {
    max-width: 480px;
    margin-top: 16px;
    font-size: 15px;
    line-height: 1.65;
  }
}

.c-section__eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  height: 28px;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.14px;
}

.c-section--hero > .c-section__eyebrow {
  order: 2;
  background: var(--color-chip-hero);
  color: var(--color-eyebrow-hero);
  border: 1px solid rgba(139, 89, 255, 0.35);
  gap: 6px;
  margin-inline: auto;
}

.c-hero-typewriter {
  order: 3;
  margin: 0;
  text-align: center;
  font-family: Poppins, sans-serif;
  font-size: 55px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2em;
  color: rgb(0, 0, 0);
  white-space: nowrap;
}

.c-hero-typewriter__cursor {
  display: inline-block;
  width: 1px;
  height: 55px;
  background: rgb(122, 122, 122);
  margin-left: 2px;
  margin-right: 2px;
  vertical-align: bottom;
  border-radius: 2px;
  animation: c-cursor-blink 0.8s step-end infinite;
}

@keyframes c-cursor-blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

.c-section__eyebrow-icon {
  display: block;
  flex-shrink: 0;
}

.c-hero-phones {
  order: 1;
  position: relative;
  width: 100%;
  height: 412px;
  display: block;
  margin-inline: auto;
  overflow: hidden;
  background: transparent;
  contain: layout paint;
}

.c-hero-phones img {
  position: absolute;
  display: block;
  left: 0;
  top: 50px;
  width: 160px;
  height: 320px;
  border-radius: 24px;
  object-fit: cover;
  border: 1px solid rgb(89, 72, 176);
  box-shadow:
    0 8px 4px -4px rgba(139, 89, 255, 0.15),
    0 18px 12px -2px rgba(139, 89, 255, 0.15);
  background-color: #fff;
  filter: blur(3px);
  opacity: 0;
  z-index: 2;
}

.c-hero-phones__background-track {
  position: absolute;
  left: 50%;
  top: 50px;
  display: flex;
  gap: 10px;
  width: max-content;
  height: 320px;
  pointer-events: none;
  transform: translate3d(-50%, 0, 0);
  z-index: 2;
}

.c-hero-phones .c-hero-phones__background-track img {
  position: relative;
  left: auto;
  top: auto;
  flex: 0 0 160px;
  width: 160px;
  height: 320px;
  opacity: 1;
}

.c-hero-phones img.c-hero-phones__foreground {
  left: 50%;
  top: 2px;
  width: 202px;
  height: 408px;
  margin-left: -101px;
  border: 0;
  border-radius: 20px;
  box-shadow: none;
  filter: none;
  opacity: 1;
  z-index: 3;
  transform: none;
}

/* ========================================
   Premium 3D Cylinder Carousel
   ======================================== */
.c-pcarousel {
  order: 3;
  height: 164px;
  position: relative;
  overflow: visible;
  perspective: 960px;
  perspective-origin: 50% 50%;
  cursor: grab;
  padding-bottom: 0;
  margin-bottom: 0;
}

.c-pcarousel:active {
  cursor: grabbing;
}

.c-pcarousel__track {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  transform-style: preserve-3d;
}

.c-pcarousel__item {
  position: absolute;
  width: 120px;
  height: 160px;
  left: -60px;
  top: -80px;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  display: block;
  opacity: 0;
  -webkit-user-drag: none;
  user-select: none;
}

.c-pcarousel__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.c-pcarousel__placeholder {
  width: 100%;
  height: 100%;
}

.c-pcarousel__placeholder--1 {
  background: linear-gradient(
    145deg,
    #f09433 0%,
    #e6683c 30%,
    #dc2743 60%,
    #bc1888 100%
  );
}
.c-pcarousel__placeholder--2 {
  background: linear-gradient(145deg, #5851db 0%, #833ab4 50%, #c13584 100%);
}
.c-pcarousel__placeholder--3 {
  background: linear-gradient(145deg, #06befa 0%, #0ea5e9 50%, #2563eb 100%);
}
.c-pcarousel__placeholder--4 {
  background: linear-gradient(145deg, #ffd200 0%, #f59e0b 50%, #ef4444 100%);
}
.c-pcarousel__placeholder--5 {
  background: linear-gradient(145deg, #34d399 0%, #10b981 50%, #0ea5e9 100%);
}
.c-pcarousel__placeholder--6 {
  background: linear-gradient(145deg, #a78bfa 0%, #8b5cf6 50%, #ec4899 100%);
}
.c-pcarousel__placeholder--7 {
  background: linear-gradient(145deg, #fb923c 0%, #f97316 50%, #facc15 100%);
}
.c-pcarousel__placeholder--8 {
  background: linear-gradient(145deg, #f43f5e 0%, #e11d48 50%, #7c3aed 100%);
}
.c-pcarousel__placeholder--9 {
  background: linear-gradient(145deg, #059669 0%, #0d9488 50%, #0891b2 100%);
}
.c-pcarousel__placeholder--10 {
  background: linear-gradient(145deg, #d946ef 0%, #a855f7 50%, #6366f1 100%);
}

.c-pcarousel__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.38);
  opacity: 0;
  transition: opacity 0.22s ease;
}

.c-pcarousel__item:hover .c-pcarousel__overlay {
  opacity: 1;
}

/* ========================================
   Logo Cloud
   ======================================== */
.c-section--logo-cloud {
  height: 90px;
  display: flex;
  align-items: center;
  overflow: hidden;
  margin-top: 0px;
  margin-bottom: 50px;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 25%,
    black 75%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 25%,
    black 75%,
    transparent 100%
  );
}

.c-logo-cloud-track {
  display: flex;
  width: max-content;
  will-change: transform;
}

.c-logo-cloud {
  display: flex;
  align-items: center;
  gap: 64px;
  padding-inline: 32px;
  flex-shrink: 0;
}

.c-logo-cloud__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.c-logo-cloud__item img {
  height: 30px;
  width: auto;
  opacity: 0.8 !important;
  transform: none !important;
  transition: none !important;
}

/* ========================================
   About / Feature Tabs
   ======================================== */
.c-about-scene {
  position: relative;
  /* height set by JS */
}

.c-section--about {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 650px;
  align-items: center;
  gap: 48px;
  padding-block: 80px;
}

/* About scene active - elements set via JS */
.c-about-scene--active .c-about-mockup,
.c-about-scene--active .c-feature-tabs {
  will-change: opacity, transform;
}

/* Left: tabs */
.c-feature-tabs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-feature-tab {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  border: none;
  border-radius: 12px;
  background: transparent;
  cursor: pointer;
  text-align: left;
  opacity: 0.5;
  transition:
    opacity 0.3s,
    background 0.3s;
}

.c-feature-tab.is-active {
  background: rgb(246, 246, 249);
  opacity: 1;
}

.c-feature-tab__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
  color: rgb(80, 60, 160);
  margin-top: 2px;
}

.c-feature-tab.is-active .c-feature-tab__icon {
  color: rgb(89, 72, 176);
}

.c-feature-tab__title {
  font-family: Poppins, sans-serif;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.4em;
  color: rgb(115, 115, 115);
  margin: 0;
  transition: color 0.3s;
}

.c-feature-tab.is-active .c-feature-tab__title {
  color: rgb(10, 10, 10);
}

.c-feature-tab__desc {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6em;
  letter-spacing: -0.01em;
  color: rgb(80, 80, 90);
  margin: 5px 0 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    max-height 0.4s ease,
    opacity 0.3s ease;
}

.c-feature-tab.is-active .c-feature-tab__desc {
  max-height: 120px;
  opacity: 1;
}

/* Right: mockup */
.c-about-mockup {
  position: relative;
  width: 100%;
  aspect-ratio: 14 / 8;
  border-radius: 25px;
  box-shadow:
    rgba(158, 157, 155, 0.08) 0px 0px 0px 1px,
    rgba(0, 0, 0, 0.06) 0px 2px 4px 0px;
}

.c-about-mockup__bg {
  position: absolute;
  inset: 0;
  border-radius: 16px;
  overflow: hidden;
}

.c-about-mockup__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.c-about-mockup__screen {
  position: absolute;
  inset: 6px;
  border-radius: 14px;
  overflow: hidden;
}

.c-about-mockup__screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-about-mockup__overlays {
  position: absolute;
  inset: 0;
}

.c-about-overlay {
  position: absolute;
  bottom: -10%;
  height: 65%;
  width: auto;
  z-index: 10;
  border-radius: 24px;
  box-shadow:
    rgba(0, 0, 0, 0.1) 0px 8px 24px -4px,
    rgba(0, 0, 0, 0.06) 0px 2px 8px -2px;
  opacity: 0;
  transform: translateY(44px);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.c-about-overlay {
  left: -6%;
}

.c-about-overlay--active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.c-about-visuals {
  grid-column: 2;
  grid-row: 1 / span 3;
  display: flex;
  align-items: flex-end;
  gap: var(--space-12);
  justify-content: flex-end;
  padding-top: 160px;
}

.c-about-visuals img {
  border-radius: var(--radius-20);
  object-fit: cover;
}

/* ========================================
   Home / AI Products
   ======================================== */
.c-section--home-ai {
  padding: 92px 48px 100px;
  border: 1px solid rgba(67, 53, 120, 0.08);
  border-radius: 34px;
  background:
    radial-gradient(
      circle at 12% 12%,
      rgba(111, 62, 214, 0.08),
      transparent 26%
    ),
    radial-gradient(
      circle at 88% 82%,
      rgba(174, 240, 47, 0.1),
      transparent 24%
    ),
    #fafafa;
}

.c-home-ai__header {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

.c-home-ai__eyebrow {
  width: fit-content;
  margin: 0 auto 16px;
  padding: 6px 10px;
  border: 1px solid rgba(89, 33, 178, 0.16);
  border-radius: 999px;
  background: rgba(89, 33, 178, 0.05);
  color: rgb(89, 33, 178);
  font-family: Poppins, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
}

.c-home-ai__header h2 {
  margin: 0;
  color: var(--color-heading);
  font-family: Poppins, sans-serif;
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.c-home-ai__header > p:last-child {
  max-width: 660px;
  margin: 18px auto 0;
  color: #686b75;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.7;
}

.c-home-ai__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.c-home-ai-card {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid #e5e4eb;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(36, 25, 75, 0.055);
  transition:
    transform 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}

.c-home-ai-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 70px rgba(36, 25, 75, 0.1);
}

.c-home-ai-card--codigma:hover {
  border-color: rgba(105, 56, 210, 0.34);
}

.c-home-ai-card--thinkhub {
  border-color: rgba(133, 187, 30, 0.27);
  background: #fafff1;
}

.c-home-ai-card--thinkhub:hover {
  border-color: rgba(119, 170, 21, 0.52);
}

.c-home-ai-card__visual {
  position: relative;
  height: 290px;
  overflow: hidden;
}

.c-home-ai-card__visual--codigma {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(
      circle at 82% 8%,
      rgba(111, 62, 214, 0.22),
      transparent 32%
    ),
    linear-gradient(145deg, #f7f3ff 0%, #eee9ff 100%);
}

.c-home-ai-card__visual--codigma::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.35;
  background-image:
    linear-gradient(rgba(99, 59, 180, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99, 59, 180, 0.1) 1px, transparent 1px);
  background-size: 32px 32px;
}

.c-home-ai-code {
  position: relative;
  z-index: 1;
  width: min(400px, calc(100% - 70px));
  overflow: hidden;
  border: 1px solid rgba(82, 48, 156, 0.14);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 25px 55px rgba(62, 32, 132, 0.17);
  transform: rotate(-1.25deg);
}

.c-home-ai-code__top {
  height: 35px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  gap: 5px;
  border-bottom: 1px solid #ede9f5;
  background: #fbfaff;
}

.c-home-ai-code__top i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c9c1d9;
}

.c-home-ai-code__top span {
  margin-left: auto;
  color: #777082;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
}

.c-home-ai-code__body {
  padding: 19px 20px 21px;
}

.c-home-ai-code__brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.c-home-ai-code__brand img {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  box-shadow: 0 7px 18px rgba(78, 35, 177, 0.2);
}

.c-home-ai-code__brand strong {
  color: #282333;
  font-family: Poppins, sans-serif;
  font-size: 17px;
}

.c-home-ai-code code {
  margin-top: 20px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 11px;
  border-radius: 10px;
  background: #191622;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}

.c-home-ai-code code span {
  color: #d8b7ff;
}
.c-home-ai-code code b {
  color: #777080;
  font-weight: 400;
}
.c-home-ai-code code em {
  color: #83e7c2;
  font-style: normal;
}

.c-home-ai-code__frameworks {
  margin-top: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.c-home-ai-code__frameworks span {
  padding: 4px 7px;
  border-radius: 6px;
  background: #f1edfa;
  color: #5d477f;
  font-family: Poppins, sans-serif;
  font-size: 7px;
  font-weight: 600;
}

.c-home-ai-card__visual--thinkhub {
  padding: 9px;
  background: #060806;
}

.c-home-ai-card__visual--thinkhub img {
  width: 100%;
  height: 100%;
  border-radius: 17px;
  object-fit: cover;
}

.c-home-ai-query {
  position: absolute;
  right: 22px;
  bottom: 18px;
  width: min(280px, calc(100% - 44px));
  padding: 13px 15px;
  border: 1px solid rgba(174, 240, 47, 0.26);
  border-radius: 12px;
  background: rgba(10, 13, 9, 0.94);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.34);
}

.c-home-ai-query span {
  color: #b9ff2c;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 7px;
  letter-spacing: 0.12em;
}

.c-home-ai-query p {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, 0.84);
  font-family: Poppins, sans-serif;
  font-size: 9px;
  line-height: 1.5;
}

.c-home-ai-card__content {
  min-height: 245px;
  padding: 28px 30px 26px;
  display: flex;
  flex: 1;
  flex-direction: column;
}

.c-home-ai-card__type {
  color: #6a577f;
  font-family: Poppins, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.c-home-ai-card--thinkhub .c-home-ai-card__type {
  color: #61783a;
}

.c-home-ai-card__content h3 {
  margin: 8px 0 0;
  color: var(--color-heading);
  font-family: Poppins, sans-serif;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.035em;
}

.c-home-ai-card__content > p {
  margin: 13px 0 25px;
  color: #666a73;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  line-height: 1.7;
}

.c-home-ai-card__footer {
  margin-top: auto;
  padding-top: 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid rgba(50, 46, 64, 0.1);
  font-family: Poppins, sans-serif;
  font-size: 10px;
}

.c-home-ai-card__footer span {
  color: #777983;
}

.c-home-ai-card__footer strong {
  color: #4f269f;
  font-weight: 600;
  white-space: nowrap;
}

.c-home-ai-card--thinkhub .c-home-ai-card__footer strong {
  color: #587319;
}

@media (max-width: 991px) {
  .c-section--home-ai {
    padding: 72px 32px 80px;
  }

  .c-home-ai-card__visual {
    height: 250px;
  }
}

@media (max-width: 767px) {
  .c-section--home-ai {
    padding: 58px 16px 18px;
    border-width: 1px 0 0;
    border-radius: 0;
    background: #fafafa;
  }

  .c-home-ai__header {
    margin-bottom: 30px;
  }

  .c-home-ai__header h2 {
    font-size: 34px;
  }

  .c-home-ai__header > p:last-child {
    font-size: 14px;
  }

  .c-home-ai__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .c-home-ai-card {
    border-radius: 22px;
  }

  .c-home-ai-card__visual {
    height: 225px;
  }

  .c-home-ai-code {
    width: calc(100% - 40px);
  }

  .c-home-ai-card__content {
    min-height: 225px;
    padding: 24px 22px 22px;
  }

  .c-home-ai-card__content h3 {
    font-size: 24px;
  }

  .c-home-ai-card__footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-home-ai-card {
    transition: none;
  }
}

/* ========================================
   Team
   ======================================== */
.c-section--team {
  display: grid;
  grid-template-columns: 400px 1fr;
  align-items: center;
  gap: 64px;
  padding-block: 100px;
  padding-inline: 100px;
  overflow: hidden;
}

.c-team-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

.c-team-content > .c-section__eyebrow {
  background: var(--color-chip-team);
  color: var(--color-eyebrow-team);
  border: 1px solid rgba(149, 48, 23, 0.2);
  gap: 6px;
}

.c-team-heading {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.c-team-heading__sub {
  font-family: Poppins, sans-serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: var(--color-heading);
  margin: 0;
}

.c-team-heading__title {
  font-family: Poppins, sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -1px;
  color: var(--color-heading);
  margin: 0;
}

.c-section__sub {
  font-family: Poppins, sans-serif;
  font-size: 64px;
  font-weight: 600;
  line-height: 72px;
  letter-spacing: -1.28px;
  color: var(--color-heading);
}

.c-section__lead {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: -0.1px;
  color: rgb(70, 76, 105);
}

.c-section--team .c-section__title {
  font-family: Poppins, sans-serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 48px;
  letter-spacing: -0.36px;
  color: var(--color-heading);
}

/* Team mosaic */
.c-team-mosaic {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 4px;
  height: 560px;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 18%,
    black 82%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 18%,
    black 82%,
    transparent 100%
  );
}

.c-team-col {
  height: 100%;
  overflow: hidden;
}

.c-team-col img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
}

@keyframes team-scroll-up {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
@keyframes team-scroll-down {
  from {
    transform: translateY(-50%);
  }
  to {
    transform: translateY(0);
  }
}

/* Single track with [original + clone] - -50% = exactly one set of images */
.c-team-col__track {
  display: flex;
  flex-direction: column;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}

.c-team-col__track img {
  margin-bottom: 4px;
}

.c-team-col:nth-child(odd) .c-team-col__track {
  animation-name: team-scroll-up;
}
.c-team-col:nth-child(even) .c-team-col__track {
  animation-name: team-scroll-down;
}

/* ========================================
   Showcase
   ======================================== */
.c-section--showcase {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding-block: 80px;
}

.c-showcase-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.c-section--showcase .c-section__eyebrow {
  background: var(--color-chip-showcase);
  color: var(--color-eyebrow-showcase);
}

.c-section--showcase .c-section__title {
  font-family: Poppins, sans-serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 48px;
  letter-spacing: -0.36px;
  color: var(--color-heading);
  margin: 0;
}

/* Marquee rows */
.c-showcase-marquee {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.c-showcase-row {
  overflow: hidden;
  padding-block: 6px;
}

.c-showcase-row--up {
  transform: perspective(600px) rotateX(28deg);
  transform-origin: top center;
}

.c-showcase-row--down {
  transform: perspective(600px) rotateX(-28deg);
  transform-origin: bottom center;
}

.c-showcase-track {
  display: flex;
  gap: 14px;
  width: max-content;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}

@keyframes marquee-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-33.333%);
  }
}

@keyframes marquee-right {
  from {
    transform: translateX(-33.333%);
  }
  to {
    transform: translateX(0);
  }
}

.c-showcase-card {
  flex-shrink: 0;
  width: calc((var(--vw, 100vw) - 6 * 14px) / 7);
  border-radius: 20px;
  overflow: hidden;
  box-shadow:
    0 0 0 1px rgba(100, 80, 200, 0.1),
    0 4px 20px rgba(0, 0, 0, 0.1);
}

.c-showcase-card {
  cursor: pointer;
  transition: box-shadow 0.25s ease;
}

.c-showcase-card:hover {
  box-shadow:
    0 0 0 2px rgba(89, 72, 176, 0.5),
    0 12px 36px rgba(89, 72, 176, 0.3);
}

.c-showcase-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

/* Showcase Modal */
.c-showcase-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(6px);
}

.c-showcase-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.c-showcase-modal__box {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: min(960px, 94vw);
  max-height: 90vh;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.45);
  transform: scale(0.92);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.c-showcase-modal.is-open .c-showcase-modal__box {
  transform: scale(1);
}

.c-showcase-modal__media {
  position: relative;
  overflow: hidden;
  background: #0a0a0a;
}

.c-showcase-modal__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-showcase-modal__info {
  padding: 40px 36px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.c-showcase-modal__title {
  font-family: Poppins, sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: rgb(10, 10, 10);
  line-height: 1.3;
  margin: 0;
  padding-right: 32px;
}

.c-showcase-modal__section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-showcase-modal__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(89, 72, 176);
  margin: 0;
}

.c-showcase-modal__about,
.c-showcase-modal__process,
.c-showcase-modal__tech {
  font-size: 14px;
  line-height: 1.7;
  color: rgb(70, 70, 80);
  margin: 0;
}

.c-showcase-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: rgb(30, 30, 40);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.c-showcase-modal__close:hover {
  background: #fff;
}

/* ========================================
   Home - Static Project Showcase
   ======================================== */
.c-section--home-showcase {
  position: relative;
  margin-top: -42px;
  padding: 24px 0 32px;
  scroll-margin-top: 76px;
  isolation: isolate;
}

.c-section--home-showcase::before,
.c-section--home-showcase::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 0;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.c-section--home-showcase::before {
  top: -74px;
  height: 250px;
  background:
    radial-gradient(
      ellipse 62% 76% at 50% 80%,
      rgba(116, 78, 227, 0.16),
      rgba(153, 123, 241, 0.055) 48%,
      transparent 78%
    ),
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(248, 246, 255, 0.54) 54%,
      rgba(242, 238, 255, 0.34) 100%
    );
}

.c-section--home-showcase::after {
  bottom: -72px;
  height: 170px;
  background: radial-gradient(
    ellipse 58% 72% at 50% 10%,
    rgba(126, 88, 234, 0.09),
    rgba(175, 152, 244, 0.035) 48%,
    transparent 76%
  );
}

.c-home-showcase-stage {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 52px 52px 28px;
  border: 1px solid rgba(171, 155, 255, 0.18);
  border-radius: 36px;
  background:
    radial-gradient(
      circle at 82% 12%,
      rgba(105, 73, 238, 0.28),
      transparent 29%
    ),
    radial-gradient(
      circle at 12% 72%,
      rgba(30, 132, 255, 0.14),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      rgb(11, 12, 20) 0%,
      rgb(18, 16, 33) 58%,
      rgb(12, 12, 22) 100%
    );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.1) inset,
    0 28px 80px rgba(30, 23, 71, 0.18);
  isolation: isolate;
}

.c-home-showcase-stage__glow {
  position: absolute;
  top: -180px;
  right: 4%;
  z-index: -1;
  width: 520px;
  height: 420px;
  border-radius: 50%;
  background: rgba(122, 88, 255, 0.2);
  filter: blur(100px);
  pointer-events: none;
}

.c-home-showcase__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 420px);
  align-items: end;
  gap: 64px;
}

.c-home-showcase__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.c-home-showcase__eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(220, 214, 255, 0.72);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
}

.c-home-showcase__eyebrow span {
  width: 26px;
  height: 1px;
  background: rgb(149, 121, 255);
}

.c-home-showcase__header h2 {
  color: #fff;
  font-size: clamp(42px, 4.5vw, 60px);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.c-home-showcase__header h2 em {
  display: block;
  margin-top: 8px;
  color: rgb(154, 124, 255);
  font-weight: 600;
}

.c-home-showcase__lead {
  max-width: 420px;
  padding-bottom: 4px;
  color: rgba(233, 231, 244, 0.68);
  font-size: 14px;
  line-height: 1.75;
}

.c-home-showcase-canvas {
  position: relative;
  height: 370px;
  margin-top: 42px;
}

.c-home-showcase-canvas__grid {
  position: absolute;
  inset: -20px 0 0;
  z-index: -1;
  opacity: 0.3;
  background-image:
    linear-gradient(rgba(164, 145, 255, 0.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(164, 145, 255, 0.11) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(
    to bottom,
    transparent,
    black 28%,
    transparent 94%
  );
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent,
    black 28%,
    transparent 94%
  );
}

.c-home-project-window {
  position: absolute;
  top: 16px;
  left: 0;
  z-index: 1;
  display: flex;
  width: 72%;
  height: 330px;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 20px;
  background: rgb(238, 239, 245);
  box-shadow:
    0 32px 70px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(132, 108, 238, 0.16);
  transform: perspective(1200px) rotateY(1.5deg) rotateZ(-0.5deg);
  transform-origin: left center;
}

.c-home-project-window__bar {
  display: grid;
  height: 38px;
  flex: 0 0 38px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 0 14px;
  border-bottom: 1px solid rgba(30, 31, 46, 0.09);
  background: rgba(250, 250, 253, 0.96);
  color: rgb(65, 65, 78);
  font-size: 10px;
  font-weight: 600;
}

.c-home-project-window__dots {
  display: flex;
  gap: 5px;
}

.c-home-project-window__dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(202, 200, 211);
}

.c-home-project-window__dots i:first-child {
  background: rgb(145, 113, 255);
}

.c-home-project-window__bar b {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  background: rgb(26, 26, 39);
  color: #fff;
  font-size: 11px;
  font-weight: 500;
}

.c-home-project-window__screen {
  min-height: 0;
  flex: 1;
  overflow: hidden;
}

.c-home-project-window__screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.c-home-project-float {
  position: absolute;
  z-index: 3;
  display: flex;
  width: 230px;
  height: 248px;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 24px;
  box-shadow: 0 30px 62px rgba(0, 0, 0, 0.46);
}

.c-home-project-float--commerce {
  top: -2px;
  right: 14%;
  background: linear-gradient(145deg, rgb(255, 248, 248), rgb(226, 220, 255));
  transform: rotate(2.6deg);
}

.c-home-project-float--field {
  right: 0;
  bottom: 0;
  z-index: 4;
  background: linear-gradient(145deg, rgb(246, 248, 255), rgb(210, 220, 246));
  transform: rotate(-2deg);
}

.c-home-project-float__top {
  display: flex;
  height: 40px;
  flex: 0 0 40px;
  align-items: center;
  justify-content: space-between;
  padding: 0 13px;
  color: rgb(40, 38, 55);
}

.c-home-project-float__top small {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.11em;
}

.c-home-project-float__top b {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  background: rgb(34, 32, 49);
  color: #fff;
  font-size: 10px;
  font-weight: 500;
}

.c-home-project-float img {
  width: 100%;
  min-height: 0;
  flex: 1;
  object-fit: cover;
}

.c-home-showcase-canvas__note {
  position: absolute;
  bottom: 4px;
  left: 24px;
  z-index: 5;
  display: flex;
  max-width: 380px;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(12, 13, 22, 0.74);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.c-home-showcase-canvas__note span {
  flex: 0 0 auto;
  color: rgb(171, 150, 255);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.c-home-showcase-canvas__note strong {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
}

.c-home-showcase-index {
  display: grid;
  margin-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.c-home-showcase-index a {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 22px 15px 14px;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.c-home-showcase-index a:first-child {
  border-left: 0;
  padding-left: 0;
}

.c-home-showcase-index__number {
  align-self: start;
  padding-top: 3px;
  color: rgb(145, 118, 245);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.c-home-showcase-index__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.c-home-showcase-index__copy strong {
  overflow: hidden;
  color: rgba(255, 255, 255, 0.92);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-home-showcase-index__copy small {
  overflow: hidden;
  color: rgba(226, 223, 240, 0.45);
  font-size: 8px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.04em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-home-showcase-index__arrow {
  color: rgba(255, 255, 255, 0.4);
  font-size: 13px;
}

.c-home-project-window:hover,
.c-home-project-window:focus-visible,
.c-home-project-float:hover,
.c-home-project-float:focus-visible {
  border-color: rgba(167, 139, 255, 0.72);
}

.c-home-showcase-index a:hover,
.c-home-showcase-index a:focus-visible {
  background: rgba(134, 101, 255, 0.08);
}

.c-home-showcase-index a:hover .c-home-showcase-index__arrow,
.c-home-showcase-index a:focus-visible .c-home-showcase-index__arrow {
  color: rgb(164, 137, 255);
}

.c-home-project-window:focus-visible,
.c-home-project-float:focus-visible,
.c-home-showcase-index a:focus-visible {
  outline: 2px solid rgb(153, 122, 255);
  outline-offset: 3px;
}

@media (max-width: 991px) {
  .c-section--home-showcase {
    margin-top: -30px;
    padding: 16px 0 28px;
  }

  .c-section--home-showcase::before {
    top: -52px;
    height: 210px;
  }

  .c-section--home-showcase::after {
    bottom: -58px;
    height: 145px;
  }

  .c-home-showcase-stage {
    padding: 42px 32px 24px;
  }

  .c-home-showcase__header {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 20px;
  }

  .c-home-showcase__lead {
    max-width: 650px;
  }

  .c-home-showcase-canvas {
    height: 420px;
    margin-top: 32px;
  }

  .c-home-project-window {
    top: 30px;
    width: 84%;
    height: 310px;
  }

  .c-home-project-float--commerce {
    top: 0;
    right: 0;
    width: 205px;
    height: 215px;
  }

  .c-home-project-float--field {
    right: 1%;
    width: 215px;
    height: 220px;
  }

  .c-home-showcase-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .c-home-showcase-index a:nth-child(odd) {
    border-left: 0;
  }

  .c-home-showcase-index a:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
}

@media (max-width: 600px) {
  .c-section--home-showcase {
    margin-top: -18px;
    padding: 10px 0 24px;
  }

  .c-section--home-showcase::before {
    top: -38px;
    height: 170px;
    background:
      radial-gradient(
        ellipse 90% 72% at 50% 78%,
        rgba(116, 78, 227, 0.14),
        rgba(153, 123, 241, 0.045) 52%,
        transparent 82%
      ),
      linear-gradient(180deg, transparent, rgba(244, 240, 255, 0.32));
  }

  .c-section--home-showcase::after {
    bottom: -44px;
    height: 120px;
  }

  .c-home-showcase-stage {
    padding: 30px 18px 16px;
    border-radius: 26px;
  }

  .c-home-showcase__heading {
    gap: 13px;
  }

  .c-home-showcase__header h2 {
    font-size: 38px;
    line-height: 1;
    letter-spacing: -0.045em;
  }

  .c-home-showcase__lead {
    font-size: 14px;
    line-height: 1.65;
  }

  .c-home-showcase-canvas {
    height: 420px;
    margin-top: 24px;
  }

  .c-home-project-window {
    top: 8px;
    width: 100%;
    height: 242px;
    border-radius: 16px;
    transform: none;
  }

  .c-home-project-window__bar {
    gap: 8px;
    padding-inline: 10px;
  }

  .c-home-project-window__bar > span:nth-child(2) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .c-home-project-float {
    top: 266px;
    bottom: auto;
    width: calc(50% - 5px);
    height: 145px;
    border-radius: 17px;
  }

  .c-home-project-float--commerce {
    right: auto;
    left: 0;
    transform: rotate(-1.5deg);
  }

  .c-home-project-float--field {
    right: 0;
    transform: rotate(1.5deg);
  }

  .c-home-project-float__top {
    height: 32px;
    flex: 0 0 32px;
    padding-inline: 9px;
  }

  .c-home-project-float__top small {
    max-width: calc(100% - 22px);
    overflow: hidden;
    font-size: 6px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .c-home-project-float__top b {
    width: 18px;
    height: 18px;
    font-size: 8px;
  }

  .c-home-showcase-canvas__note {
    top: 190px;
    bottom: auto;
    left: 10px;
    max-width: calc(100% - 20px);
    padding: 8px 10px;
  }

  .c-home-showcase-canvas__note strong {
    overflow: hidden;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .c-home-showcase-index {
    margin-top: 14px;
  }

  .c-home-showcase-index a {
    gap: 7px;
    padding: 15px 8px 13px;
  }

  .c-home-showcase-index a:first-child {
    padding-left: 8px;
  }

  .c-home-showcase-index__number {
    display: none;
  }

  .c-home-showcase-index__copy strong {
    font-size: 11px;
  }

  .c-home-showcase-index__copy small {
    font-size: 7px;
  }

  .c-home-showcase-index__arrow {
    font-size: 10px;
  }
}

/* ========================================
   FAQ
   ======================================== */
.c-section--faq {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding-block: 100px;
}

.c-faq-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.c-section--faq .c-section__eyebrow {
  background: var(--color-chip-faq);
  color: var(--color-eyebrow-faq);
}

.c-section--faq .c-section__title {
  font-family: Poppins, sans-serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 48px;
  letter-spacing: -0.36px;
  color: var(--color-heading);
  margin: 0;
}

.c-faq {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.c-faq__item {
  border-bottom: 1px solid #e5e5e5;
}

.c-faq__item:first-child {
  border-top: 1px solid #e5e5e5;
}

.c-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: rgb(120, 120, 130);
  transition: color 0.2s;
}

.c-faq__question:hover {
  background: none;
  color: inherit;
}

.c-faq__item.is-open .c-faq__question {
  color: rgb(10, 10, 10);
  font-weight: 600;
}

/* Plus / Minus icon */
.c-faq__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.c-faq__item.is-open .c-faq__icon {
  transform: rotate(45deg);
}

/* Animated body */
.c-faq__body {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.c-faq__item.is-open .c-faq__body {
  max-height: 600px;
}

.c-faq__answer {
  padding-bottom: 20px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  color: rgb(80, 80, 90);
  margin: 0;
  max-width: 680px;
}

/* ========================================
   Store Buttons
   ======================================== */
.c-store-btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 48px 24px 64px;
}

.c-store-btns__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  color: var(--color-heading);
  margin: 0;
  text-align: center;
}

.c-store-btns__row {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.c-store-btns--hero {
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0px;
  width: 100%;
  gap: 12px;
}

.c-store-btns--hero .c-store-btns__link {
  padding: 8px 18px;
}

.c-store-btns--hero .c-store-btns__link img {
  height: 32px;
}

.c-store-btns__link {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid #28303f;
  border-radius: 12px;
  padding: 10px 22px;
  transition:
    border-color 0.2s,
    transform 0.2s,
    box-shadow 0.2s;
  text-decoration: none;
}

.c-store-btns__link:hover {
  border-color: #555;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.c-store-btns__link img {
  height: 38px;
  width: auto;
  display: block;
  filter: brightness(0);
}

/* ========================================
   CTA Sections (reference-compatible placeholders)
   ======================================== */
.c-section--cta-secondary {
  display: block;
}

/* ========================================
   Footer
   ======================================== */
.c-footer {
  height: 555px;
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  padding-block: 32px;
  padding-inline: max(15px, calc((100% - var(--container-max)) / 2 + 15px));
  position: relative;
  overflow: hidden;
  background: rgb(248, 246, 255);
}

.c-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(89, 72, 176, 0.85) 20%,
    rgba(89, 72, 176, 0.85) 80%,
    transparent
  );
  z-index: 2;
}

.c-footer__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.c-footer > *:not(.c-footer__canvas) {
  position: relative;
  z-index: 1;
}

.c-footer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c-footer__brand img {
  width: 104px;
  height: 35px;
}

.c-footer__content {
  display: grid;
  grid-template-columns: 1.25fr 1.15fr 1fr 1.1fr 1fr;
  gap: var(--space-24);
}

.c-footer__slogans {
  position: relative;
  height: 64px;
}

.c-footer__slogan {
  position: absolute;
  top: 0;
  left: 0;
  font-family: Poppins, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  color: rgb(10, 10, 10);
  margin: 0;
  opacity: 0;
  transform: translateY(8px);
  animation: slogan-cycle 9s ease-in-out infinite;
}

.c-footer__slogan:nth-child(2) {
  animation-delay: 3s;
}
.c-footer__slogan:nth-child(3) {
  animation-delay: 6s;
}

@keyframes slogan-cycle {
  0% {
    opacity: 0;
    transform: translateY(8px);
  }
  8% {
    opacity: 1;
    transform: translateY(0);
  }
  30% {
    opacity: 1;
    transform: translateY(0);
  }
  38% {
    opacity: 0;
    transform: translateY(-8px);
  }
  100% {
    opacity: 0;
    transform: translateY(-8px);
  }
}

.c-footer__slogan-accent {
  color: rgb(89, 72, 176);
}

.c-footer__group {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.c-footer__heading {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.14px;
  color: rgb(100, 105, 120);
}

.c-footer__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.c-footer__list a {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.14px;
  color: rgb(36, 39, 52);
  opacity: 0.5;
}

.c-footer__social {
  display: flex;
  gap: var(--space-12);
}

.c-footer__social a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.06);
  transition: background 0.2s;
}

.c-footer__social a svg {
  width: 20px;
  height: 20px;
}

.c-footer__social a:hover {
  background: rgba(89, 72, 176, 0.12);
}

.c-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.c-footer__copyright,
.c-footer__copyright a {
  font-family: Poppins, "Poppins Placeholder", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.24px;
  color: var(--color-text-tertiary);
}

.c-footer__divider {
  border: none;
  border-top: 1px solid rgba(40, 48, 63, 0.15);
  margin: 12px 0 16px;
}

/* ========================================
   Framer Credit
   ======================================== */
.c-framer-credit {
  padding: 16px 0 24px;
}

.c-framer-credit a {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  line-height: 18px;
  color: rgb(0, 0, 238);
}

/* ========================================
   Animation Classes (state only)
   ======================================== */
.a-fade-up,
[data-animate="fade-up"] {
  opacity: 0;
  transform: translate3d(0, 40px, 0);
}

.a-fade-in,
[data-animate="fade-in"] {
  opacity: 0;
  transform: translate3d(0, 0, 0);
}

.a-scale-in,
[data-animate="scale-in"] {
  opacity: 0;
  transform: scale3d(0.98, 0.98, 1);
}

.a-slide-left {
  opacity: 0;
  transform: translate3d(-60px, 0, 0);
}

.a-slide-right {
  opacity: 0;
  transform: translate3d(60px, 0, 0);
}

.a-stagger > *,
[data-animate="stagger"] > * {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
}

.a-is-visible,
.is-visible {
  opacity: 1;
  transform: none;
}

/* ========================================
   Responsive fidelity from reference behavior
   ======================================== */
@media (max-width: 1220px) {
  .c-header,
  .c-footer,
  .c-framer-credit {
    width: 100%;
    padding-inline: 25px;
  }

  .c-showcase-card {
    width: calc((var(--vw, 100vw) - 6 * 14px) / 7);
  }
}

@media (max-width: 767px) {
  .c-about-overlay {
    border-radius: 14px;
  }

  /* Showcase */
  .c-section--showcase {
    height: auto;
    padding-block: 32px;
  }

  .c-section--team {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-block: 40px;
    padding-inline: 0;
    overflow: visible;
  }

  .c-team-content {
    padding-inline: 16px;
    text-align: justify;
    align-items: center;
  }

  .c-team-content .c-section__eyebrow,
  .c-team-heading {
    text-align: center;
  }

  .c-team-mosaic {
    grid-template-columns: repeat(6, 1fr);
    height: 420px;
    width: 100%;
  }

  .c-team-col:nth-child(-n + 6) {
    display: block;
  }
}

@media (max-width: 991px) {
  .c-section--hero,
  .c-section--about,
  .c-section--team,
  .c-section--showcase,
  .c-section--faq,
  .c-footer {
    height: auto;
    overflow: visible;
  }

  .c-section--about {
    grid-template-columns: 1fr;
  }

  .c-section--team {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .c-team-mosaic {
    grid-template-columns: repeat(4, 1fr);
    -webkit-mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      black 18%,
      black 82%,
      transparent 100%
    );
    mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      black 18%,
      black 82%,
      transparent 100%
    );
  }

  .c-team-col:nth-child(n + 7) {
    display: none;
  }

  .c-about-visuals {
    grid-column: 1;
    grid-row: auto;
    justify-content: flex-start;
    padding-top: 0;
  }

  .c-section__sub {
    font-size: 42px;
    line-height: 50px;
    letter-spacing: -0.84px;
  }

  .c-showcase-card {
    width: calc((100vw - 5 * 14px) / 6);
  }

  .c-showcase-row--up,
  .c-showcase-row--down {
    transform: none;
  }

  .c-footer__content {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .c-team-mosaic {
    grid-template-columns: repeat(6, 1fr);
    height: 420px;
    width: 100%;
  }

  .c-team-col:nth-child(-n + 6) {
    display: block;
  }

  .c-team-col:nth-child(n + 7) {
    display: none;
  }

  .c-showcase-card {
    width: calc((100vw - 6px) / 2.2);
  }

  .c-showcase-track {
    gap: 6px;
  }

  .c-showcase-marquee {
    gap: 6px;
  }

  .c-showcase-row--up {
    transform: perspective(300px) rotateX(38deg);
    transform-origin: top center;
  }

  .c-showcase-row--down {
    transform: perspective(300px) rotateX(-38deg);
    transform-origin: bottom center;
  }

  .c-team-heading__sub,
  .c-team-heading__title {
    font-size: 28px;
  }

  .c-section__lead {
    font-size: 14px;
    line-height: 22px;
  }

  .c-showcase-modal__box {
    grid-template-columns: 1fr;
    max-width: 100vw;
    max-height: 100dvh;
    border-radius: 0;
    height: 100dvh;
  }

  .c-showcase-modal__media {
    max-height: 45vh;
  }

  .c-showcase-modal__info {
    padding: 24px 20px;
    gap: 20px;
    overflow-y: auto;
  }

  .c-showcase-modal__title {
    font-size: 18px;
  }

  .c-footer__copyright,
  .c-footer__copyright a {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ========================================
   Tablet (768px - 1366px)
   ======================================== */
@media (min-width: 768px) and (max-width: 1366px) {
  /* Navbar */
  .c-navbar__nav,
  .c-navbar__actions {
    display: none;
  }

  .c-navbar__mobile-end {
    display: flex;
    align-items: center;
    gap: 10px;
    grid-column: 3;
    justify-self: end;
  }

  .c-navbar__hamburger {
    display: flex;
  }

  .c-mobile-menu {
    display: block;
  }

  .c-mobile-menu__inner {
    padding-bottom: 100px;
  }

  .c-header {
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  /* Hero */
  .c-section--hero {
    width: 100%;
    margin-left: 0;
    height: auto;
    padding-top: 40px;
    margin-bottom: 32px;
  }

  .c-hero-typewriter {
    font-size: 38px;
    white-space: normal;
    text-align: center;
    padding-inline: 24px;
  }

  /* Logo cloud */
  .c-section--logo-cloud {
    width: 100%;
    margin-left: 0;
    overflow: hidden;
  }

  /* About */
  .c-section--about {
    grid-template-columns: 1fr;
    height: auto;
  }

  .c-about-mockup {
    max-width: 500px;
    margin-inline: auto;
  }

  /* Team */
  .c-section--team {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-block: 60px;
    padding-inline: 32px;
    overflow: visible;
  }

  .c-team-content {
    text-align: center;
    align-items: center;
    padding-inline: 24px;
  }

  .c-team-mosaic {
    grid-template-columns: repeat(6, 1fr);
    height: 420px;
    width: 100%;
  }

  .c-team-col:nth-child(-n + 6) {
    display: block;
  }

  .c-team-col:nth-child(n + 7) {
    display: none;
  }

  /* Showcase */
  .c-section--showcase {
    height: auto;
    padding-block: 40px;
  }

  .c-showcase-card {
    width: calc((100vw - 4 * 14px) / 4);
  }

  .c-showcase-row--up {
    transform: perspective(500px) rotateX(28deg);
    transform-origin: top center;
  }

  .c-showcase-row--down {
    transform: perspective(500px) rotateX(-28deg);
    transform-origin: bottom center;
  }

  /* Showcase modal */
  .c-showcase-modal__box {
    grid-template-columns: 1fr;
    max-width: 600px;
    max-height: 90vh;
    border-radius: 20px;
  }

  .c-showcase-modal__media {
    max-height: 40vh;
  }

  /* FAQ */
  .c-section--faq {
    height: auto;
    padding-block: 48px;
    padding-inline: 32px;
  }

  /* Footer */
  .c-footer {
    height: auto;
    overflow: visible;
  }

  .c-footer__content {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
  }

  .c-footer__about {
    grid-column: 1 / -1;
  }

  .c-footer__top {
    flex-direction: row;
    align-items: center;
  }

  .c-footer__bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .c-footer__social {
    justify-content: center;
  }

  .c-footer__copyright,
  .c-footer__copyright a {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ============================================================
   ABOUT US PAGE
   ============================================================ */

/* About Hero */
.c-section--about-hero {
  max-width: 860px;
  margin-inline: auto;
  padding-block: 120px 80px;
  padding-inline: 24px;
  text-align: center;
}

.c-section--about-hero .c-section__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 24px;
  background: var(--color-chip-faq);
  color: var(--color-eyebrow-faq);
  border: 1px solid rgba(89, 33, 178, 0.2);
}

.c-section--about-hero .c-section__title {
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 24px;
}

.c-section--about-hero .c-section__lead {
  font-size: 12px;
  line-height: 1.7;
  color: #6b7280;
  max-width: 720px;
  margin-inline: auto;
}

/* Stats */
.c-section--stats {
  padding-block: 80px;
  padding-inline: 24px;
  text-align: center;
  background: linear-gradient(to bottom, #ffffff 0%, #f7f6fb 100%);
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.c-stats__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  color: var(--color-heading);
  margin: 0 0 16px;
}

.c-stats__subtitle {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #6b7280;
  margin: 0 0 56px;
  line-height: 1.6;
}

.c-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 960px;
  margin-inline: auto;
}

.c-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #fff;
  border-radius: 20px;
  padding: 40px 24px;
  box-shadow: 0 1px 3px rgba(89, 33, 178, 0.06);
  border-bottom: 2px solid rgba(139, 89, 255, 0.18);
}

.c-stat__number {
  font-family: Poppins, sans-serif;
  font-size: clamp(44px, 5vw, 60px);
  font-weight: 300;
  color: #1a1a2e;
  line-height: 1;
}

.c-stat__number sup {
  font-size: 0.45em;
  font-weight: 400;
  vertical-align: super;
  color: #6b7280;
}

.c-stat__label {
  font-size: 14px;
  color: #6b7280;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}

/* Full-width team mosaic (below hero) */
.c-team-mosaic-full {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 6px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  height: 544px;
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 12%,
    black 88%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 12%,
    black 88%,
    transparent 100%
  );
}

.c-team-mosaic .c-team-col,
.c-team-mosaic-full .c-team-col {
  overflow: hidden;
  animation: none;
  gap: 0;
  flex: unset;
  min-width: 0;
}

.c-team-mosaic .c-team-col {
  width: 64px;
  flex: 0 0 64px;
}

.c-team-mosaic .c-team-col img {
  width: 64px;
  height: 130px;
  aspect-ratio: unset;
}

.c-team-mosaic .c-team-col:nth-child(even),
.c-team-mosaic .c-team-col:nth-child(3n),
.c-team-mosaic-full .c-team-col:nth-child(even),
.c-team-mosaic-full .c-team-col:nth-child(3n) {
  animation: none;
}

.c-team-col__track {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 6px; /* makes track height = 3 × set height, so -33.333% = exactly 1 set */
  will-change: transform;
}

.c-team-mosaic-full .c-team-col a,
.c-team-mosaic .c-team-col a {
  display: block;
}

.c-team-mosaic-full .c-team-col img {
  border-radius: 0;
  width: 100%;
  height: 130px;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}

@media (max-width: 767px) {
  .c-team-mosaic-full {
    grid-template-columns: repeat(4, 1fr);
    height: 300px;
  }

  .c-team-mosaic-full .c-team-col:nth-child(n + 5) {
    display: none;
  }
}

/* Team Section */
.c-section--team {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
  max-width: 1280px;
  margin-inline: auto;
  padding-block: 80px;
  padding-inline: 0px;
  overflow: hidden;
}

.c-team-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.c-team-heading {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.c-team-heading__sub {
  font-size: 28px;
  font-weight: 600;
  color: #000000;
  margin: 0;
}

.c-team-heading__title {
  font-size: clamp(28px, 4vw, 34px);
  font-weight: 600;
  line-height: 1.1;
  margin: 0;
}

.c-team-content .c-section__lead {
  font-size: 14px;
  line-height: 1.7;
  color: #2f2f2f;
  text-align: justify;
}

.c-team-mosaic {
  display: flex;
  gap: 8px;
  overflow: hidden;
  height: 480px;
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 15%,
    black 85%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 15%,
    black 85%,
    transparent 100%
  );
}

.c-team-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  animation: teamScrollUp 20s linear infinite;
}

.c-team-col:nth-child(even) {
  animation-name: teamScrollDown;
  animation-duration: 25s;
}

.c-team-col:nth-child(3n) {
  animation-duration: 22s;
}

.c-team-col img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 0;
  display: block;
}

@keyframes teamScrollUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}

@keyframes teamScrollDown {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes marquee-up {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-33.333%);
  }
}

@keyframes marquee-down {
  from {
    transform: translateY(-33.333%);
  }
  to {
    transform: translateY(0);
  }
}

/* CTA Section */
.c-section--cta {
  text-align: center;
  padding-block: 80px;
  padding-inline: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(to bottom, #ffffff 0%, #f7f6fb 100%);
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.c-cta__card {
  width: 100%;
  max-width: 780px;
  background: #fff;
  border-radius: 24px;
  border-bottom: 2px solid rgba(139, 89, 255, 0.22);
  box-shadow: 0 2px 32px rgba(139, 89, 255, 0.07);
  padding: 64px 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.c-cta__heading {
  font-family: Poppins, sans-serif;
  font-size: clamp(22px, 3.5vw, 38px);
  font-weight: 700;
  color: var(--color-heading);
  margin: 0;
  line-height: 44px;
}

.c-cta__tagline {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #9ca3af;
  margin: 0;
}

.c-cta__toggle {
  display: inline-flex;
  align-items: center;
  margin-top: 12px;
  height: 50px;
  background: rgb(206, 198, 238);
  border-radius: 22px;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  max-width: 180px;
  transition:
    max-width 0.7s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.3s;
  cursor: default;
}

.c-cta__toggle:hover {
  max-width: 400px;
  box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.15);
}

.c-cta__label {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: rgb(36, 36, 36);
  white-space: nowrap;
  padding: 0 32px;
  max-width: 180px;
  opacity: 1;
  transition:
    max-width 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.35s ease,
    padding 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.c-cta__toggle:hover .c-cta__label {
  max-width: 0;
  opacity: 0;
  padding: 0;
}

.c-cta__expanded {
  display: inline-flex;
  align-items: center;
  gap: 0;
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  white-space: nowrap;
  pointer-events: none;
  transition:
    max-width 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.15s,
    opacity 0.4s ease 0.2s;
}

.c-cta__toggle:hover .c-cta__expanded {
  max-width: 320px;
  opacity: 1;
  pointer-events: auto;
}

.c-cta__email-text {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: rgb(36, 36, 36);
  padding-left: 22px;
  padding-right: 12px;
  white-space: nowrap;
}

.c-cta__copy-btn {
  background: rgba(255, 255, 255, 0.8);
  border: none;
  border-radius: 100px;
  padding: 8px 18px;
  margin-right: 6px;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition:
    background 0.15s,
    color 0.15s;
}

.c-cta__copy-btn:hover {
  background: #fff;
}

.c-cta__copy-btn.is-copied {
  color: rgb(89, 33, 178);
}

.c-cta__toggle:has(.c-cta__copy-btn.is-copied) {
  max-width: 400px;
}

@media (max-width: 767px) {
  .c-cta__toggle:has(.c-cta__copy-btn.is-copied) {
    max-width: 340px;
  }
}

@media (max-width: 767px) {
  .c-cta__card {
    padding: 40px 20px;
  }

  .c-cta__toggle {
    max-width: 160px;
  }

  .c-cta__toggle:hover {
    max-width: 340px;
  }
}

/* ========================================
   Career Teaser (about-us.php)
   ======================================== */
.c-section--career-teaser {
  padding-block: 80px;
  padding-inline: 24px;
}

.c-career-teaser {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  max-width: 960px;
  margin-inline: auto;
  background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
  border-radius: 24px;
  padding: 56px 64px;
  border-bottom: 2px solid rgba(139, 89, 255, 0.2);
}

.c-career-teaser__eyebrow {
  background: rgba(139, 89, 255, 0.15) !important;
  color: rgb(89, 33, 178) !important;
  border: 1px solid rgba(89, 33, 178, 0.2) !important;
  gap: 6px;
  margin-bottom: 16px;
}

.c-career-teaser__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  color: var(--color-heading);
  margin: 0 0 12px;
  line-height: 1.2;
}

.c-career-teaser__desc {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #6b7280;
  margin: 0 0 20px;
  line-height: 1.6;
  max-width: 440px;
}

.c-career-teaser__perks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.c-career-teaser__perks span {
  background: rgba(255, 255, 255, 0.7);
  color: rgb(89, 33, 178);
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  padding: 5px 14px;
  border-radius: 100px;
  border: 1px solid rgba(139, 89, 255, 0.2);
}

.c-career-teaser__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  background: rgb(89, 33, 178);
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
  padding: 14px 28px;
  border-radius: 14px;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background 0.2s,
    transform 0.2s;
}

.c-career-teaser__btn:hover {
  background: rgb(74, 27, 148);
  transform: translateY(-1px);
}

@media (max-width: 767px) {
  .c-career-teaser {
    flex-direction: column;
    align-items: flex-start;
    padding: 40px 28px;
    gap: 28px;
  }
}

/* ========================================
   How We Work (about-us.php)
   ======================================== */

/* ========================================
   About – Vertical Timeline
   ======================================== */

.c-section--timeline {
  padding-block: 100px;
  padding-inline: 24px;
}

.c-timeline__header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 56px;
}

.c-section__eyebrow--timeline {
  background: rgba(89, 33, 178, 0.08);
  color: rgb(89, 33, 178);
  border: 1px solid rgba(89, 33, 178, 0.18);
  margin-bottom: 20px;
}

.c-timeline__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(24px, 3.5vw, 44px);
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--color-heading);
  margin: 0 0 12px;
  line-height: 41px;
}

.c-timeline__subtitle {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  color: #6b7280;
  line-height: 1.7;
  margin: 0;
}

.c-timeline {
  position: relative;
  max-width: 920px;
  margin-inline: auto;
}

.c-timeline__line {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #e5e7eb;
  transform: translateX(-50%);
  z-index: 0;
}

.c-timeline__item {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: -65px;
}

.c-timeline__item:last-child {
  margin-bottom: 0;
}

.c-timeline__item--left {
  justify-content: flex-start;
  padding-right: calc(50% + 44px);
}

.c-timeline__item--right {
  justify-content: flex-end;
  padding-left: calc(50% + 44px);
}

.c-timeline__dot {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #374151;
  z-index: 1;
  flex-shrink: 0;
}

.c-timeline__card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  width: 100%;
  max-width: 340px;
  transition:
    box-shadow 0.2s,
    transform 0.2s;
}

.c-timeline__card:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.13);
  transform: translateY(-3px);
}

.c-timeline__img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}

.c-timeline__body {
  padding: 16px 20px 20px;
}

.c-timeline__year {
  display: block;
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #9ca3af;
  margin-bottom: 6px;
}

.c-timeline__card-title {
  font-family: Poppins, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-heading);
  margin: 0;
}

.c-section--process {
  padding-block: 96px;
  padding-inline: clamp(24px, 6vw, 120px);
  border-top: 1px solid #f0f0f4;
  max-width: 800px;
  margin-inline: auto;
  width: 100%;
  box-sizing: border-box;
}

.c-process__header {
  max-width: 640px;
  margin-bottom: 56px;
}

.c-process__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(28px, 3.5vw, 42px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--color-heading);
  margin: 0 0 12px;
}

.c-process__subtitle {
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
  margin: 0;
}

.c-process__steps {
  display: flex;
  flex-direction: column;
}

.c-process__step {
  display: grid;
  grid-template-columns: 40px 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 20px;
}

.c-process__step-num {
  grid-column: 1;
  grid-row: 1;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: rgb(89, 72, 176);
  letter-spacing: 0.04em;
  padding-top: 2px;
}

.c-process__step-line {
  grid-column: 1;
  grid-row: 2;
  width: 1px;
  min-height: 40px;
  background: #e4e4ef;
  margin: 6px auto 0;
}

.c-process__step-line--last {
  background: transparent;
}

.c-process__step-content {
  grid-column: 2;
  grid-row: 1 / 3;
  padding-bottom: 48px;
}

.c-process__step-title {
  font-family: Poppins, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0 0 8px;
}

.c-process__step-desc {
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-text);
  margin: 0;
}

.c-process__cta {
  text-align: center;
  margin-top: 64px;
}

.c-process__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: var(--color-heading);
  text-decoration: none;
  padding: 16px 32px;
  border-radius: 100px;
  letter-spacing: 0.01em;
  transition:
    background 0.2s,
    transform 0.2s;
}

.c-process__cta-btn:hover {
  background: rgb(89, 33, 178);
  transform: translateY(-2px);
}

.c-process__cta-btn svg {
  transition: transform 0.2s;
}

.c-process__cta-btn:hover svg {
  transform: translateX(3px);
}

@media (max-width: 767px) {
  .c-section--timeline {
    padding-block: 60px;
  }

  .c-timeline__header {
    margin-bottom: 40px;
  }

  .c-timeline__title {
    font-size: 22px;
  }

  .c-timeline__item {
    margin-bottom: 35px;
  }

  .c-timeline__line {
    left: 20px;
    transform: none;
  }

  .c-timeline__item--left,
  .c-timeline__item--right {
    justify-content: flex-start;
    padding-left: 52px;
    padding-right: 0;
  }

  .c-timeline__dot {
    left: 20px;
    transform: translate(-50%, -50%);
  }

  .c-timeline__card {
    max-width: 100%;
  }

  .c-timeline__img {
    width: 100%;
    height: 160px;
  }
}

/* ========================================
   About – Press Kit
   ======================================== */

.c-section--presskit {
  padding-block: 100px;
  padding-inline: 24px;
}

.c-presskit__header {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 56px;
}

.c-section__eyebrow--presskit {
  background: rgba(89, 33, 178, 0.08);
  color: rgb(89, 33, 178);
  border: 1px solid rgba(89, 33, 178, 0.18);
  margin-bottom: 20px;
}

.c-presskit__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(24px, 3.5vw, 40px);
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--color-heading);
  margin: 0 0 12px;
}

.c-presskit__subtitle {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  color: #6b7280;
  line-height: 1.7;
  margin: 0;
}

.c-presskit__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 960px;
  margin-inline: auto;
}

.c-presskit__card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #f0f0f0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    box-shadow 0.2s,
    transform 0.2s;
}

.c-presskit__card:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.09);
  transform: translateY(-3px);
}

.c-presskit__preview {
  background: #d7d7d7;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.c-presskit__preview img {
  max-width: 100%;
  max-height: 80px;
  object-fit: contain;
}

.c-presskit__preview--pdf {
  background: #d7d7d7;
  color: rgb(89, 33, 178);
}

.c-presskit__info {
  padding: 16px 18px 4px;
  flex: 1;
}

.c-presskit__tag {
  display: inline-block;
  font-family: Poppins, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(89, 33, 178);
  background: rgba(89, 33, 178, 0.08);
  border-radius: 4px;
  padding: 2px 7px;
  margin-bottom: 6px;
}

.c-presskit__name {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0;
}

.c-presskit__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: rgb(89, 33, 178);
  text-decoration: none;
  padding: 12px 18px;
  margin: 12px 18px 18px;
  border: 1px solid rgba(89, 33, 178, 0.25);
  border-radius: 100px;
  transition:
    background 0.15s,
    color 0.15s;
}

.c-presskit__btn:hover {
  background: rgb(89, 33, 178);
  color: #fff;
  border-color: rgb(89, 33, 178);
}

@media (max-width: 767px) {
  .c-section--presskit {
    padding-block: 60px;
  }

  .c-presskit__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

@media (max-width: 480px) {
  .c-presskit__grid {
    grid-template-columns: 1fr;
  }
}

/* ========================================
   Career Page – Editorial
   ======================================== */

/* Hero */
.c-section--career-hero {
  padding: 120px 0 80px;
  text-align: center;
}

.c-career-hero__label {
  display: inline-block;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #9ca3af;
  margin-bottom: 32px;
}

.c-career-hero__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(52px, 8vw, 96px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -2px;
  color: var(--color-heading);
  margin: 0 0 36px;
}

.c-career-hero__title em {
  font-style: italic;
  font-weight: 300;
  color: rgb(89, 33, 178);
}

.c-career-hero__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  color: #9ca3af;
}

.c-career-hero__dot {
  opacity: 0.4;
}

/* Divider */
.c-career-divider {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  height: 1px;
  background: rgba(0, 0, 0, 0.08);
}

/* Positions Editorial */
.c-section--positions-editorial {
  padding-block: 0;
}

.c-positions-editorial {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.c-pos {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 32px max(24px, calc(50% - 640px));
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  cursor: pointer;
  overflow: hidden;
  transition: padding 0.3s ease;
}

.c-pos::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #f9f8ff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

.c-pos:hover::before {
  transform: scaleX(1);
}

.c-pos:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.c-pos__left,
.c-pos__right {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 24px;
  padding-inline: 24px;
}

.c-pos__dept {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
  min-width: 110px;
  transition: color 0.3s;
}

.c-pos:hover .c-pos__dept {
  color: rgb(89, 33, 178);
}

.c-pos__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 600;
  letter-spacing: -0.5px;
  color: var(--color-heading);
  margin: 0;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.c-pos:hover .c-pos__title {
  transform: translateX(6px);
}

.c-pos__type {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  color: #9ca3af;
  white-space: nowrap;
}

.c-pos__apply {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #9ca3af;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(-8px);
  transition:
    opacity 0.3s,
    transform 0.3s,
    color 0.2s;
}

.c-pos:hover .c-pos__apply {
  opacity: 1;
  transform: translateX(0);
}

.c-pos__apply:hover {
  color: rgb(89, 33, 178);
}

/* Floating preview image */
.c-pos__preview {
  display: none;
}

/* Values */
.c-section--career-values {
  padding-block: 100px;
  padding-inline: 24px;
}

.c-career-values__heading {
  font-family: Poppins, sans-serif;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--color-heading);
  text-align: center;
  margin: 0 0 48px;
}

.c-career-values {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  max-width: 1100px;
  margin-inline: auto;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  overflow: hidden;
}

.c-career-values__item {
  padding: 40px 32px;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: background 0.25s;
}

.c-career-values__item:last-child {
  border-right: none;
}

.c-career-values__item:hover {
  background: #f9f8ff;
}

.c-career-values__num {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #d1d5db;
}

.c-career-values__title {
  font-family: Poppins, sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0 0 8px;
}

.c-career-values__desc {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  color: #6b7280;
  margin: 0;
  line-height: 1.65;
}

/* CTA Editorial */
.c-section--career-cta-editorial {
  padding-block: 120px;
  padding-inline: 24px;
  text-align: center;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.c-career-cta-editorial__label {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9ca3af;
  margin: 0 0 20px;
}

.c-career-cta-editorial__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(36px, 6vw, 72px);
  font-weight: 700;
  letter-spacing: -1.5px;
  color: var(--color-heading);
  margin: 0 0 40px;
  line-height: 1.1;
}

.c-career-cta-editorial__btn {
  display: inline-block;
  font-family: Poppins, sans-serif;
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  background: rgb(89, 72, 176);
  padding: 10px 24px;
  border-radius: 100px;
  box-shadow: 0 4px 16px rgba(89, 72, 176, 0.3);
  transition:
    background 0.2s,
    box-shadow 0.2s;
}

.c-career-cta-editorial__btn:hover {
  background: rgb(72, 57, 150);
  box-shadow: 0 4px 24px rgba(89, 72, 176, 0.45);
}

.c-career-cta-editorial__note {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  color: #9ca3af;
  margin: 24px 0 0;
}

@media (max-width: 991px) {
  .c-career-values {
    grid-template-columns: repeat(2, 1fr);
  }

  .c-career-values__item:nth-child(2) {
    border-right: none;
  }

  .c-career-values__item:nth-child(1),
  .c-career-values__item:nth-child(2) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  }
}

@media (max-width: 767px) {
  .c-career-hero__title {
    letter-spacing: -1px;
  }

  .c-pos__preview {
    display: none;
  }

  .c-pos__apply {
    opacity: 1;
    transform: none;
    font-size: 14px;
  }

  .c-pos__dept {
    display: none;
  }

  .c-career-values {
    grid-template-columns: 1fr;
  }

  .c-career-values__item {
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  }

  .c-career-values__item:last-child {
    border-bottom: none;
  }
}

/* ========================================
   Career Apply Modal
   ======================================== */

/* ========================================
   Career Apply Modal
   ======================================== */

/* ========================================
   Career Apply Modal
   ======================================== */

.c-apply-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
}

.c-apply-modal[aria-hidden="false"] {
  pointer-events: auto;
}

.c-apply-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 6, 28, 0.45);
  opacity: 0;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

.c-apply-modal[aria-hidden="false"] .c-apply-modal__backdrop {
  opacity: 1;
}

.c-apply-modal__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 440px;
  height: 100%;
  background: #0f0a1e;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.c-apply-modal[aria-hidden="false"] .c-apply-modal__panel {
  transform: translateX(0);
}

/* Top bar */
.c-apply-modal__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 32px 32px 0;
  flex-shrink: 0;
}

.c-apply-modal__badges {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.c-apply-modal__dept {
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
}

.c-apply-modal__type {
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.25);
}

.c-apply-modal__close {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
  transition:
    border-color 0.2s,
    color 0.2s;
}

.c-apply-modal__close:hover {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

/* Title area */
.c-apply-modal__title-wrap {
  padding: 40px 32px 32px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  flex-shrink: 0;
}

.c-apply-modal__title {
  font-family: Poppins, sans-serif;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: #fff;
  margin: 0 0 12px;
  line-height: 1.15;
}

.c-apply-modal__subtitle {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.4);
  margin: 0;
  line-height: 1.5;
}

/* Body */
.c-apply-modal__body {
  padding: 32px;
  overflow-y: auto;
  flex: 1;
}

.c-apply-modal__desc {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.8;
  margin: 0 0 20px;
}

.c-apply-modal__desc strong {
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
}

.c-apply-modal__section {
  margin-top: 8px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.c-apply-modal__section-title {
  font-family: Poppins, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.25);
  margin: 0 0 16px;
}

.c-apply-modal__req {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-apply-modal__req li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}

.c-apply-modal__req li::before {
  content: "";
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgb(139, 89, 255);
  margin-top: 7px;
}

/* Footer */
.c-apply-modal__footer {
  padding: 24px 32px 32px;
  flex-shrink: 0;
}

.c-apply-modal__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #0f0a1e;
  background: #fff;
  padding: 16px 28px;
  border-radius: 12px;
  text-decoration: none;
  margin-bottom: 16px;
  transition:
    background 0.2s,
    opacity 0.2s;
}

.c-apply-modal__btn:hover {
  background: rgba(255, 255, 255, 0.88);
}

.c-apply-modal__policy {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: Poppins, sans-serif;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.2);
  margin: 0;
  line-height: 1.5;
  text-align: center;
  justify-content: center;
}

.c-apply-modal__policy svg {
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.2);
}

.c-career-hero__sub {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  color: #6b7280;
  line-height: 1.7;
  max-width: 560px;
  margin: 0 auto 28px;
}

@media (max-width: 560px) {
  .c-apply-modal__panel {
    max-width: 100%;
  }
}

/* ========================================
   Contact Us Page
   ======================================== */

.c-section__eyebrow--contact {
  background: rgba(89, 33, 178, 0.08);
  color: rgb(89, 33, 178);
  border: 1px solid rgba(89, 33, 178, 0.18);
  margin-bottom: 20px;
}

.c-section--contact-hero {
  padding: 80px 24px 100px;
}

.c-contact-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: flex-start;
  max-width: 1100px;
  margin-inline: auto;
}

.c-contact-hero__text {
  display: flex;
  flex-direction: column;
}

.c-contact-hero__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 700;
  letter-spacing: -1px;
  color: var(--color-heading);
  line-height: 1.1;
  margin: 0 0 20px;
}

.c-contact-hero__title em {
  font-style: italic;
  font-weight: 300;
  color: rgb(89, 33, 178);
}

.c-contact-hero__desc {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  color: #6b7280;
  line-height: 1.75;
  margin: 0 0 48px;
  max-width: 420px;
}

/* Contact Info Items */
.c-contact-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-contact-info__item {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  padding: 16px 20px;
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.07);
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    transform 0.2s;
}

.c-contact-info__item:hover {
  border-color: rgba(89, 33, 178, 0.2);
  box-shadow: 0 4px 16px rgba(89, 33, 178, 0.07);
  transform: translateX(4px);
}

.c-contact-info__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(139, 89, 255, 0.1);
  color: rgb(89, 33, 178);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.c-contact-info__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.c-contact-info__label {
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
}

.c-contact-info__value {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: var(--color-heading);
}

.c-contact-info__item--address {
  cursor: default;
  align-items: flex-start;
}

.c-contact-info__item--address .c-contact-info__icon {
  margin-top: 2px;
}

.c-contact-info__item--address .c-contact-info__value {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  color: #6b7280;
}

.c-contact-form__heading {
  font-family: Poppins, sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0 0 24px;
}

/* Contact Form */
.c-contact-form-wrap {
  background: #f9f8ff;
  border-radius: 24px;
  border: 1px solid rgba(139, 89, 255, 0.1);
  padding: 40px;
}

.c-contact-form {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.c-contact-form__honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.c-contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.c-contact-form__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-contact-form__label {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
}

.c-contact-form__input {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  color: var(--color-heading);
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  padding: 13px 16px;
  outline: none;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  width: 100%;
  box-sizing: border-box;
}

.c-contact-form__input::placeholder {
  color: #9ca3af;
}

.c-contact-form__input:focus {
  border-color: rgb(89, 33, 178);
  box-shadow: 0 0 0 3px rgba(89, 33, 178, 0.1);
}

.c-contact-form__textarea {
  resize: vertical;
  min-height: 130px;
  line-height: 1.6;
}

.c-contact-form__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  background: rgb(89, 33, 178);
  border: none;
  border-radius: 14px;
  padding: 16px 32px;
  cursor: pointer;
  transition:
    background 0.2s,
    transform 0.2s;
}

.c-contact-form__submit:hover {
  background: rgb(74, 27, 148);
  transform: translateY(-1px);
}

.c-contact-form__submit:disabled {
  cursor: wait;
  opacity: 0.68;
  transform: none;
}

.c-contact-form__submit.is-loading svg {
  animation: contact-submit-pulse 0.9s ease-in-out infinite alternate;
}

@keyframes contact-submit-pulse {
  from {
    opacity: 0.35;
    transform: translateX(-2px);
  }
  to {
    opacity: 1;
    transform: translateX(2px);
  }
}

.c-contact-form__note {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  color: #9ca3af;
  text-align: center;
  margin: 0;
}

.c-contact-form__status {
  margin: -6px 0 0;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-family: Poppins, sans-serif;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}

.c-contact-form__status--success {
  border-color: rgba(34, 139, 82, 0.2);
  background: rgba(34, 139, 82, 0.07);
  color: #17683d;
}

.c-contact-form__status--error {
  border-color: rgba(190, 49, 68, 0.2);
  background: rgba(190, 49, 68, 0.07);
  color: #9f2739;
}

/* Map */
.c-section--contact-map {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}

.c-contact-map {
  display: block;
  width: 100%;
  height: 420px;
  filter: grayscale(1) contrast(1.05);
  transition: filter 0.4s ease;
}

.c-contact-map:hover {
  filter: grayscale(0);
}

/* Social */
.c-section--contact-social {
  padding-block: 60px;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
}

.c-contact-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  max-width: 1100px;
  margin-inline: auto;
  padding-inline: 24px;
}

.c-contact-social__label {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #9ca3af;
  margin: 0;
  letter-spacing: 0.05em;
}

.c-contact-social__links {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.c-contact-social__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  padding: 10px 18px;
  border-radius: 100px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  transition:
    border-color 0.2s,
    color 0.2s,
    background 0.2s;
}

.c-contact-social__link:hover {
  border-color: rgba(89, 33, 178, 0.3);
  color: rgb(89, 33, 178);
  background: rgba(89, 33, 178, 0.04);
}

@media (max-width: 991px) {
  .c-contact-hero__inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .c-contact-hero__desc {
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  .c-contact-form-wrap {
    padding: 28px 20px;
  }

  .c-contact-form__row {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Service pages
   ============================================================ */

/* Shared eyebrow */
.c-section__eyebrow--service {
  background: rgba(89, 33, 178, 0.08);
  color: rgb(89, 33, 178);
  border: 1px solid rgba(89, 33, 178, 0.18);
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Hero */
.c-section--service-hero {
  padding-block: 96px 80px;
}

.c-service-hero__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 64px;
  align-items: center;
}

.c-service-hero__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-service-hero__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--color-heading);
  margin: 0;
  width: 60%;
}

@media (max-width: 1024px) {
  .c-service-hero__title {
    width: 80%;
  }
}

@media (max-width: 640px) {
  .c-service-hero__title {
    width: 100%;
  }
}

.c-service-hero__title em {
  font-style: italic;
  color: rgb(89, 33, 178);
}

.c-main--mobile-app .c-service-hero__title {
  width: 100%;
  max-width: 660px;
  font-size: clamp(38px, 4vw, 50px);
}

.c-service-hero__desc {
  font-family: Poppins, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: #6b7280;
  max-width: 520px;
  margin: 0;
}

.c-service-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.c-service-hero__btn {
  display: inline-flex;
  align-items: center;
  padding: 12px 24px;
  border-radius: 100px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.c-service-hero__btn--primary {
  background: rgb(89, 33, 178);
  color: #fff;
}

.c-service-hero__btn--primary:hover {
  background: rgb(72, 22, 150);
}

.c-service-hero__btn--secondary {
  background: transparent;
  color: var(--color-heading);
  border: 1.5px solid #e5e7eb;
}

.c-service-hero__btn--secondary:hover {
  border-color: rgb(89, 33, 178);
  color: rgb(89, 33, 178);
}

.c-service-hero__visual {
  position: relative;
  width: 480px;
  height: 480px;
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  .c-service-hero__visual {
    width: 400px;
    height: 400px;
  }
}

@media (max-width: 767px) {
  .c-service-hero__visual {
    width: 100%;
    height: 360px;
  }
}

.c-section--services-main {
  position: relative;
  overflow-x: visible;
  overflow-y: clip;
}

.c-section--services-main::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100vw;
  right: -100vw;
  height: 200px;
  background: linear-gradient(to top, transparent, rgba(255, 255, 255, 1));
  pointer-events: none;
  z-index: 10;
}

.c-section--services-main::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -100vw;
  right: -100vw;
  height: 360px;
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 1));
  pointer-events: none;
  z-index: 10;
}

.c-section--services-main .c-service-hero__inner {
  display: block;
  position: relative;
  z-index: 20;
}

.c-tilt-gallery {
  position: absolute;
  top: 0;
  right: -600px;
  width: 100%;
  height: 100%;
  min-height: 480px;
}

@media (max-width: 767px) {
  .c-section--services-main {
    padding-bottom: 0;
  }
  .c-tilt-gallery {
    display: none;
  }
}

.c-service-hero__stat-wrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  text-align: center;
  background: #f9fafb;
  border: 1px solid #f0f0f4;
  border-radius: 24px;
  padding: 40px 36px;
  min-width: 220px;
}

.c-service-hero__stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-service-hero__stat-num {
  font-family: Poppins, sans-serif;
  font-size: 52px;
  font-weight: 800;
  line-height: 1;
  color: var(--color-heading);
  letter-spacing: -0.03em;
}

.c-service-hero__stat-num sup {
  font-size: 28px;
  vertical-align: super;
}

.c-service-hero__stat-label {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: #6b7280;
  font-weight: 500;
}

.c-service-hero__tech-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.c-service-hero__tech {
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 4px 12px;
  border-radius: 100px;
  background: #fff;
  border: 1.5px solid #e5e7eb;
  color: #374151;
}

/* Features grid */
.c-section--service-features {
  padding-block: 80px;
  border-top: 1px solid #f0f0f4;
}

.c-service-features__header {
  margin-bottom: 56px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-service-features__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-heading);
  margin: 0;
}

.c-service-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  border: 1px solid #f0f0f4;
  border-radius: 20px;
  overflow: hidden;
}

.c-service-feature {
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #fff;
  border: 1px solid #f0f0f4;
  transition: background 0.2s ease;
}

.c-service-feature:hover {
  background: #fafafa;
}

.c-service-feature__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(89, 33, 178, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(89, 33, 178);
  flex-shrink: 0;
}

.c-service-feature__title {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0;
}

.c-service-feature__desc {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  color: #6b7280;
  margin: 0;
}

/* Approach / Steps */
.c-section--service-approach {
  padding-block: 96px;
  border-top: 1px solid #f0f0f4;
}

.c-service-approach__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.c-service-approach__header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 100px;
}

.c-service-approach__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-heading);
  margin: 0;
}

.c-service-approach__desc {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
  margin: 0;
}

.c-service-approach__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.c-service-step {
  display: grid;
  grid-template-columns: 48px 1px 1fr;
  gap: 0 24px;
  padding-block: 32px;
  border-bottom: 1px solid #f0f0f4;
}

.c-service-step:last-child {
  border-bottom: none;
}

.c-service-step__num {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: rgb(89, 33, 178);
  letter-spacing: 0.04em;
  padding-top: 3px;
}

.c-service-step__content {
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-service-step__title {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0;
}

.c-service-step__desc {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: #6b7280;
  margin: 0;
}

.c-service-step__desc code {
  font-family: "Courier New", monospace;
  font-size: 12px;
  background: #f3f4f6;
  padding: 1px 5px;
  border-radius: 4px;
  color: rgb(89, 33, 178);
}

/* Services List */
.c-section--services-list {
  border-top: 1px solid #f0f0f4;
}

.c-services-list {
  display: flex;
  flex-direction: column;
}

.c-services-list__item {
  display: grid;
  grid-template-columns: 48px 1fr 24px;
  gap: 0 24px;
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid #f0f0f4;
  text-decoration: none;
  transition: background 0.2s ease;
}

.c-services-list__item:first-child {
  border-top: 1px solid #f0f0f4;
}

.c-services-list__item:hover .c-services-list__title {
  color: rgb(89, 33, 178);
}

.c-services-list__item:hover .c-services-list__arrow {
  transform: translateX(4px);
  color: rgb(89, 33, 178);
}

.c-services-list__num {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #9ca3af;
}

.c-services-list__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-services-list__title {
  font-family: Poppins, sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0;
  transition: color 0.2s ease;
}

.c-services-list__desc {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0;
}

.c-services-list__arrow {
  color: #d1d5db;
  transition:
    transform 0.2s ease,
    color 0.2s ease;
  flex-shrink: 0;
}

.c-feature-header__visual {
  display: none;
}

.c-feature-grid-layout {
  display: grid;
  grid-template-columns: 1fr 423px;
  gap: 35px;
  align-items: center;
}

.c-crossed-shots {
  position: relative;
  aspect-ratio: 1 / 1;
}

.c-crossed-shots__img {
  position: absolute;
  width: 100%;
  border-radius: var(--radius-16);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.14);
  background: #f1f1f1;
  display: block;
}

.c-crossed-shots__img--back {
  top: -35%;
  left: 0;
  transform: rotate(-7deg);
  z-index: 1;
  padding: 14px;
}

.c-crossed-shots__img--front {
  bottom: 18%;
  right: 0;
  transform: rotate(6deg);
  z-index: 3;
  padding: 14px;
}

/* Three-image fanned variant (courier tracking page) */
.c-crossed-shots--triple .c-crossed-shots__img {
  width: 56%;
  padding: 0;
}

.c-crossed-shots--triple .c-crossed-shots__img--back {
  top: -23%;
  left: 2%;
  transform: rotate(-10deg);
}

.c-crossed-shots__img--mid {
  top: -2%;
  left: 57%;
  transform: rotate(2deg);
  z-index: 2;
}

.c-crossed-shots--triple .c-crossed-shots__img--front {
  bottom: -22%;
  right: 26%;
  transform: rotate(9deg);
}

@media (max-width: 1024px) {
  .c-feature-grid-layout {
    grid-template-columns: 1fr;
  }

  .c-service-features__header .c-service-hero__desc {
    max-width: 100%;
    width: 100%;
  }

  .c-feature-header__visual {
    display: block;
    margin-top: 32px;
    text-align: center;
  }

  .c-feature-header__visual img {
    width: 100%;
    max-width: 360px;
    margin-inline: auto;
    border-radius: var(--radius-16);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
    display: block;
  }

  .c-crossed-shots {
    display: none;
  }
}

@media (max-width: 767px) {
  .c-feature-grid-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .c-feature-header__visual img {
    max-width: 280px;
  }
}

/* Services Help */
.c-section--services-help {
  padding-block: 96px;
  border-top: 1px solid #f0f0f4;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 24px;
}

.c-services-help__eyebrow {
  align-self: center;
}

.c-services-help__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--color-heading);
  margin: 0;
}

.c-services-help__desc {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #6b7280;
  margin: 0;
  max-width: 540px;
}

.c-services-help__stats {
  display: flex;
  align-items: center;
  gap: 0;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  width: 100%;
  margin-block: 16px;
}

.c-services-help__stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 32px 24px;
}

.c-services-help__divider {
  width: 1px;
  height: 60px;
  background: #e5e7eb;
  flex-shrink: 0;
}

.c-services-help__stat-num {
  font-family: Poppins, sans-serif;
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--color-heading);
}

.c-services-help__stat-num sup {
  font-size: 24px;
  vertical-align: super;
}

.c-services-help__stat-label {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
}

.c-services-help__cta {
  align-self: center;
}

@media (max-width: 767px) {
  .c-services-help__stats {
    flex-direction: column;
  }

  .c-services-help__divider {
    width: 60px;
    height: 1px;
  }
}

/* Full-scroll Feature Sections */
.c-fullscroll__item {
  display: flex;
  align-items: center;
  gap: 72px;
  max-width: 1080px;
  margin: 0 auto;
  padding: 80px 24px;
}

.c-fullscroll__item + .c-fullscroll__item {
  border-top: 1px solid #ecedf0;
}

.c-fullscroll__bg {
  flex: 0 0 280px;
}

.c-fullscroll__bg img {
  width: 100%;
  border-radius: 24px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
  display: block;
}

.c-fullscroll__card {
  flex: 1;
}

.c-fullscroll__card--right {
  order: -1;
}

.c-fullscroll__bg--video {
  cursor: pointer;
  overflow: hidden;
  border-radius: 24px;
}

.c-fullscroll__bg--video img {
  transition: transform 0.4s ease;
}

.c-fullscroll__bg--video:hover img {
  transform: scale(1.06);
}

/* Video Modal */
.c-video-modal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  pointer-events: none;
}

.c-video-modal.is-open {
  visibility: visible;
  pointer-events: auto;
}

.c-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.c-video-modal.is-open .c-video-modal__backdrop {
  opacity: 1;
}

.c-video-modal__box {
  position: relative;
  width: 90vw;
  max-width: 960px;
  transform: scale(0.92) translateY(16px);
  opacity: 0;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
}

.c-video-modal.is-open .c-video-modal__box {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.c-video-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 8px;
  opacity: 0.8;
  transition: opacity 0.2s;
}

.c-video-modal__close:hover {
  opacity: 1;
}

.c-video-modal__frame {
  position: relative;
  padding-bottom: 56.25%;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
}

.c-video-modal__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.c-fullscroll__num {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgb(89, 72, 176);
  background: rgb(240, 237, 255);
  padding: 4px 12px;
  border-radius: 99px;
  margin-bottom: 20px;
}

.c-fullscroll__title {
  font-size: 28px;
  font-weight: 700;
  color: #28303f;
  line-height: 1.25;
  margin: 0 0 14px;
}

.c-fullscroll__desc {
  font-size: 16px;
  line-height: 1.75;
  color: #5a6478;
  margin: 0;
  max-width: 460px;
}

/* OpsPilot uses data-heavy product screens that need more room than app artwork. */
.c-fullscroll--opspilot .c-fullscroll__item {
  max-width: 1280px;
  gap: 56px;
}

.c-fullscroll--opspilot .c-fullscroll__bg {
  flex: 0 1 620px;
  min-width: 0;
}

.c-fullscroll--opspilot .c-fullscroll__bg img {
  border-radius: 16px;
}

.c-fullscroll--opspilot .c-fullscroll__card {
  min-width: 0;
}

@media (max-width: 1024px) {
  .c-fullscroll--opspilot .c-fullscroll__item {
    flex-direction: column;
    gap: 32px;
  }

  .c-fullscroll--opspilot .c-fullscroll__bg {
    flex: none;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
  }

  .c-fullscroll--opspilot .c-fullscroll__card,
  .c-fullscroll--opspilot .c-fullscroll__card--right {
    order: 0;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .c-fullscroll__item {
    flex-direction: column;
    gap: 32px;
    padding: 48px 24px;
  }

  .c-fullscroll__bg {
    flex: none;
    width: 200px;
    margin: 0 auto;
  }

  .c-fullscroll__card--right {
    order: 0;
  }

  .c-fullscroll__title {
    font-size: 22px;
  }

  .c-fullscroll--opspilot .c-fullscroll__bg {
    width: 100%;
    max-width: 640px;
  }

  .c-fullscroll--opspilot .c-fullscroll__card {
    width: 100%;
  }
}

/* Gallery 5 */
.c-section--gallery5 {
  padding: 80px 24px;
  overflow: hidden;
}

.c-gallery5__heading {
  font-size: 32px;
  font-weight: 700;
  color: #28303f;
  margin: 12px 0 40px;
}

.c-gallery5 {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  justify-content: center;
  max-width: 1080px;
  margin: 0 auto;
}

.c-gallery5__item {
  flex: 1;
  overflow: hidden;
  border-radius: 20px;
  position: relative;
  cursor: pointer;
  height: 320px;
}

.c-gallery5__item:nth-child(2),
.c-gallery5__item:nth-child(4) {
  height: 400px;
}

.c-gallery5__item--center {
  height: 480px;
}

.c-gallery5__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(40, 48, 63, 0);
  transition: background 0.3s ease;
}

.c-gallery5__item:hover::after {
  background: rgba(40, 48, 63, 0.4);
}

.c-gallery5__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  transition: transform 0.4s ease;
}

.c-gallery5__item:hover img {
  transform: scale(1.06);
}

@media (max-width: 767px) {
  .c-gallery5 {
    gap: 8px;
  }

  .c-gallery5__item {
    height: 180px;
  }
  .c-gallery5__item:nth-child(2),
  .c-gallery5__item:nth-child(4) {
    height: 230px;
  }
  .c-gallery5__item--center {
    height: 280px;
  }

  .c-gallery5__heading {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .c-gallery5 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: unset;
  }

  .c-gallery5__item,
  .c-gallery5__item:nth-child(2),
  .c-gallery5__item:nth-child(4),
  .c-gallery5__item--center {
    height: 220px;
  }

  .c-gallery5__item--center {
    grid-column: span 2;
  }
}

/* Step Cards */
.c-section--step-cards {
  padding: 80px 24px;
}

.c-step-cards {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
  max-width: 1080px;
  margin: 0 auto;
}

.c-step-cards__item {
  grid-column: span 2;
  background: #fff;
  border: 1px solid #ecedf0;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.c-step-cards__item:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.c-step-cards__item:nth-child(4) {
  grid-column: 2 / span 2;
}

.c-step-cards__item:nth-child(5) {
  grid-column: 4 / span 2;
}

.c-step-cards__img-wrap {
  background: rgb(240, 237, 255);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 32px 0;
}

.c-step-cards__img-wrap img {
  width: 100%;
  max-width: 160px;
  display: block;
  border-radius: 12px 12px 0 0;
}

.c-step-cards__body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.c-step-cards__num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgb(89, 72, 176);
}

.c-step-cards__title {
  font-size: 16px;
  font-weight: 700;
  color: #28303f;
  margin: 0;
  line-height: 1.3;
}

.c-step-cards__desc {
  font-size: 13px;
  line-height: 1.65;
  color: #5a6478;
  margin: 0;
}

@media (max-width: 900px) {
  .c-step-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .c-step-cards__item,
  .c-step-cards__item:nth-child(4),
  .c-step-cards__item:nth-child(5) {
    grid-column: span 1;
  }
}

@media (max-width: 540px) {
  .c-step-cards {
    grid-template-columns: 1fr;
  }
}

/* Phone Steps */
.c-section--phone-steps {
  padding: 80px 24px;
}

.c-phone-steps {
  display: flex;
  gap: 64px;
  align-items: flex-start;
  max-width: 1080px;
  margin: 0 auto;
}

.c-phone-steps__list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-phone-steps__item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 18px;
  border-radius: 14px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease;
}

.c-phone-steps__item:hover {
  background: rgb(240, 237, 255);
}

.c-phone-steps__item.is-active {
  background: rgb(240, 237, 255);
}

.c-phone-steps__num {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #e5e7ec;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: #28303f;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.c-phone-steps__item.is-active .c-phone-steps__num {
  background: rgb(89, 72, 176);
  border-color: rgb(89, 72, 176);
  color: #fff;
}

.c-phone-steps__text {
  flex: 1;
}

.c-phone-steps__title {
  font-size: 15px;
  font-weight: 700;
  color: #28303f;
  margin: 0 0 6px;
  line-height: 1.3;
}

.c-phone-steps__desc {
  font-size: 14px;
  line-height: 1.65;
  color: #5a6478;
  margin: 0;
  display: none;
}

.c-phone-steps__item.is-active .c-phone-steps__desc {
  display: block;
}

.c-phone-steps__device {
  flex: 0 0 280px;
  position: sticky;
  top: 100px;
}

.c-phone-steps__mockup {
  background: #1a1a2e;
  border-radius: 40px;
  padding: 14px;
  box-shadow:
    0 8px 0 #111,
    0 32px 64px rgba(0, 0, 0, 0.25);
  position: relative;
}

.c-phone-steps__mockup::before {
  content: "";
  display: block;
  width: 60px;
  height: 6px;
  background: #333;
  border-radius: 99px;
  margin: 0 auto 12px;
}

.c-phone-steps__screen {
  width: 100%;
  border-radius: 28px;
  display: block;
  transition: opacity 0.2s ease;
}

.c-phone-steps__screen.is-fading {
  opacity: 0;
}

@media (max-width: 900px) {
  .c-phone-steps {
    flex-direction: column-reverse;
    gap: 36px;
  }

  .c-phone-steps__device {
    flex: none;
    position: static;
    width: 220px;
    margin: 0 auto;
  }

  .c-phone-steps__desc {
    display: block;
  }
}

/* Steps Zigzag */
.c-section--steps-zigzag {
  padding: 80px 24px;
}

.c-steps-zigzag {
  display: flex;
  flex-direction: column;
  gap: 72px;
  max-width: 1080px;
  margin: 0 auto;
}

.c-steps-zigzag__row {
  display: flex;
  align-items: center;
  gap: 64px;
}

.c-steps-zigzag__row--reverse {
  flex-direction: row-reverse;
}

.c-steps-zigzag__media {
  flex: 0 0 260px;
}

.c-steps-zigzag__media img {
  width: 100%;
  border-radius: 20px;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.1);
  display: block;
}

.c-steps-zigzag__content {
  flex: 1;
}

.c-steps-zigzag__num {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgb(89, 72, 176);
  background: rgb(240, 237, 255);
  padding: 4px 12px;
  border-radius: 99px;
  margin-bottom: 16px;
}

.c-steps-zigzag__title {
  font-size: 26px;
  font-weight: 700;
  color: #28303f;
  margin: 0 0 14px;
  line-height: 1.25;
}

.c-steps-zigzag__desc {
  font-size: 16px;
  line-height: 1.75;
  color: #5a6478;
  margin: 0;
}

@media (max-width: 767px) {
  .c-steps-zigzag__row,
  .c-steps-zigzag__row--reverse {
    flex-direction: column;
    gap: 28px;
  }

  .c-steps-zigzag__media {
    flex: none;
    width: 200px;
    margin: 0 auto;
  }

  .c-steps-zigzag__title {
    font-size: 20px;
  }
}

/* Service Ticker */
.c-section--service-ticker {
  padding-block: 96px;
  border-top: 1px solid #f0f0f4;
}

.c-service-ticker__header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 56px;
}

.c-service-ticker__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-heading);
  margin: 0;
}

.c-service-ticker {
  display: flex;
}

.c-service-ticker__item {
  position: relative;
  padding: 32px 24px 32px 20px;
  cursor: pointer;
  overflow: hidden;
  flex: 1;
  height: 250px;
  transition: flex 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 0;
}

.c-service-ticker__item.is-active {
  flex: 2.8;
}

/* Left progress bar */
.c-service-ticker__bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  background: #f0f0f4;
}

.c-service-ticker__fill {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background: rgb(89, 33, 178);
  transition: none;
}

.c-service-ticker__item.is-active .c-service-ticker__fill {
  animation: tickerFill var(--ticker-duration, 6000ms) linear forwards;
}

@keyframes tickerFill {
  from {
    height: 0%;
  }
  to {
    height: 100%;
  }
}

/* Body */
.c-service-ticker__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-service-ticker__body {
  opacity: 0.35;
  transition: opacity 0.4s ease;
}

.c-service-ticker__item.is-active .c-service-ticker__body {
  opacity: 1;
}

.c-service-ticker__num {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #9ca3af;
  transition: color 0.3s ease;
}

.c-service-ticker__item.is-active .c-service-ticker__num {
  color: rgb(89, 33, 178);
}

.c-service-ticker__name {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-heading);
  margin: 0;
}

.c-service-ticker__desc {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    max-height 0.4s ease,
    opacity 0.4s ease;
}

.c-service-ticker__item.is-active .c-service-ticker__desc {
  max-height: 120px;
  opacity: 1;
}

.c-service-ticker__detail {
  display: none;
  padding-top: 28px;
  border-top: 1px solid #f0f0f4;
  margin-top: 28px;
  gap: 10px;
  flex-direction: column;
}

.c-service-ticker__detail-title {
  font-family: Poppins, sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-heading);
  margin: 0;
  transition: opacity 0.2s ease;
}

.c-service-ticker__detail-desc {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
  margin: 0;
  transition: opacity 0.2s ease;
}

/* Service page responsive */

@media (max-width: 1024px) {
  .c-service-hero__inner {
    grid-template-columns: 1fr;
  }

  .c-service-hero__stat-wrap {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    min-width: unset;
  }

  .c-service-approach__inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .c-service-approach__header {
    position: static;
  }
}

@media (max-width: 767px) {
  .c-section--service-hero {
    padding-block: 64px 48px;
  }

  .c-service-features__grid {
    grid-template-columns: 1fr;
  }

  .c-service-hero__stat-wrap {
    flex-direction: column;
    text-align: center;
  }

  .c-service-step {
    grid-template-columns: 36px 1fr;
    gap: 0 16px;
  }

  .c-service-step__content {
    padding-left: 0;
  }

  .c-service-ticker {
    flex-direction: column;
  }

  .c-service-ticker__item {
    flex: 0 0 auto;
    height: auto;
    min-height: unset;
    padding: 20px 16px 20px 16px;
    border-bottom: 1px solid #f0f0f4;
  }

  .c-service-ticker__item.is-active {
    flex: 0 0 auto;
  }

  /* Horizontal bar top */
  .c-service-ticker__bar {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 3px;
  }

  .c-service-ticker__fill {
    top: 0;
    bottom: auto;
    width: 0%;
    height: 100%;
  }

  @keyframes tickerFillH {
    from {
      width: 0%;
    }
    to {
      width: 100%;
    }
  }

  .c-service-ticker__item.is-active .c-service-ticker__fill {
    animation: tickerFillH var(--ticker-duration, 6000ms) linear forwards;
  }

  .c-service-ticker__body {
    opacity: 1;
  }

  .c-service-ticker__name {
    font-size: 14px;
    color: #9ca3af;
    transition: color 0.3s ease;
  }

  .c-service-ticker__item.is-active .c-service-ticker__name {
    color: var(--color-heading);
  }

  .c-service-ticker__desc {
    max-height: 0;
    opacity: 0;
    transition:
      max-height 0.4s ease,
      opacity 0.4s ease;
  }

  .c-service-ticker__item.is-active .c-service-ticker__desc {
    max-height: 120px;
    opacity: 1;
  }
}

/* About page responsive */
@media (max-width: 991px) {
  .c-section--team {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .c-team-mosaic {
    height: 340px;
  }
}

@media (max-width: 767px) {
  .c-section--about-hero {
    padding-block: 80px 48px;
  }

  .c-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .c-stat__number {
    font-size: 40px;
  }

  .c-team-mosaic {
    height: 260px;
    gap: 6px;
  }

  .c-team-col {
    gap: 6px;
  }
}

/* ========================================
   Language Toggle
   ======================================== */
.c-lang-toggle {
  position: fixed;
  bottom: 32px;
  left: 32px;
  height: 44px;
  padding: 0 14px;
  border-radius: 22px;
  background: rgb(89, 72, 176);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 200;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 4px 16px rgba(89, 72, 176, 0.35);
  transition:
    background 0.2s,
    box-shadow 0.2s;
}

.c-lang-toggle:hover {
  background: rgb(72, 57, 150);
  box-shadow: 0 4px 20px rgba(89, 72, 176, 0.45);
}

.c-lang-toggle__divider {
  color: rgba(255, 255, 255, 0.3);
}

.c-lang-toggle__option {
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.2s;
}

.c-lang-toggle__option.is-active {
  color: #fff;
  font-weight: 600;
}

@media (max-width: 767px) {
  .c-lang-toggle {
    bottom: 20px;
    left: 20px;
    height: 40px;
    font-size: 12px;
  }
}

/* ========================================
   Scroll to Top Button
   ======================================== */
.c-scroll-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgb(89, 72, 176);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.3s,
    transform 0.3s;
  pointer-events: none;
  box-shadow: 0 4px 16px rgba(89, 72, 176, 0.35);
}

.c-scroll-top.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.c-scroll-top:hover {
  background: rgb(72, 57, 150);
}

@media (max-width: 767px) {
  .c-scroll-top {
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
  }
}

/* ========================================
   Card Sphere Badge
   ======================================== */
@keyframes sphere-badge-dot {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}

.c-sphere-badge {
  position: absolute;
  top: 24px;
  right: 24px;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(89, 72, 176, 0.15);
  border-radius: 100px;
  padding: 6px 14px 6px 10px;
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: rgb(89, 72, 176);
  pointer-events: none;
  z-index: 10;
  box-shadow: 0 2px 12px rgba(89, 72, 176, 0.12);
}

.c-sphere-badge__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgb(89, 72, 176);
  flex-shrink: 0;
  animation: sphere-badge-dot 1.6s ease-in-out infinite;
}

/* ========================================
   404 Page
   ======================================== */
.c-section--404 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70vh;
  text-align: center;
}

.c-404__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.c-404__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(80px, 15vw, 160px);
  font-weight: 800;
  line-height: 1;
  color: rgb(15, 15, 15);
  letter-spacing: -4px;
  margin: 0;
}

.c-404__brace {
  color: rgb(89, 72, 176);
  font-weight: 200;
}

.c-404__desc {
  font-family: Poppins, sans-serif;
  font-size: 18px;
  color: rgba(15, 15, 15, 0.5);
  margin: 0;
}

/* ─── Privacy Policy / Legal page ─── */

.c-section--legal {
  padding-block: 0 80px;
}

.c-legal {
  max-width: 720px;
  display: flex;
  flex-direction: column;
}

.c-legal__block {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding-block: 36px;
  border-bottom: 1px solid #e5e5e5;
}

.c-legal__block:first-child {
  padding-top: 0;
  border-bottom: 1px solid #e5e5e5;
}

.c-legal__intro {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text-tertiary);
  margin: 0;
  padding-bottom: 36px;
  border-bottom: 1px solid #e5e5e5;
}

.c-legal__block-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-12);
  background: var(--color-chip-faq);
  color: var(--color-eyebrow-faq);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.c-legal__block-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.c-legal__heading {
  font-family: Poppins, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0;
}

.c-legal__body {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.85;
  color: var(--color-text-tertiary);
  margin: 0;
}

.c-legal__list {
  margin: 4px 0 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-legal__list li {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-text-tertiary);
}

.c-legal__link {
  color: var(--color-eyebrow-faq);
  text-decoration: none;
  font-weight: 500;
}

.c-legal__link:hover {
  text-decoration: underline;
}

@media (max-width: 640px) {
  .c-legal__block {
    flex-direction: column;
    gap: 14px;
  }
}

/* AI LLM Services page */
.c-section--ai-ps .c-ai-ps__header {
  display: flex;
  justify-content: center;
}

.c-main--ai .c-section__eyebrow--service,
.c-main--ai .c-section__eyebrow {
  align-self: center;
}

.c-main--ai .c-section--service-hero .c-section__eyebrow--service {
  align-self: flex-start;
}
.c-section--ai-codigma {
  padding-block: 80px;
  padding-inline: 24px;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 18px;
}

.c-ai-codigma__card {
  width: 100%;
  max-width: 560px;
  background: #fff;
  border: 1px solid #e8e8f0;
  border-radius: 24px;
  box-shadow: 0 4px 40px rgba(89, 33, 178, 0.07);
  padding: 48px 52px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.c-ai-codigma__card--thinkhub {
  border-color: rgba(133, 186, 30, 0.28);
  background: linear-gradient(145deg, #ffffff 0%, #f7ffe9 100%);
  box-shadow: 0 4px 40px rgba(93, 128, 27, 0.08);
}

.c-ai-codigma__card .c-service-hero__btn {
  align-self: center;
}

.c-ai-codigma__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: var(--color-heading);
  margin: 0;
  letter-spacing: -0.02em;
}

.c-ai-codigma__desc {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-text-secondary);
  margin: 0;
}

.c-ai-codigma__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-ai-codigma__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-heading);
}

.c-ai-codigma__list li svg {
  color: var(--color-eyebrow-faq);
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .c-ai-codigma__card {
    padding: 32px 24px;
  }
}

/* Codigma product page */
.c-main--codigma .c-service-hero__title {
  width: 100%;
}

.c-main--codigma .c-service-hero__desc {
  max-width: 650px;
}

.c-codigma-hero {
  width: 440px;
  height: auto;
  min-height: 440px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-codigma-hero__card {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(115, 64, 255, 0.18);
  border-radius: 28px;
  padding: 36px;
  background:
    radial-gradient(
      circle at 90% 0%,
      rgba(115, 64, 255, 0.18),
      transparent 38%
    ),
    #fff;
  box-shadow: 0 24px 70px rgba(65, 33, 150, 0.14);
}

.c-codigma-hero__brand {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
}

.c-codigma-hero__brand img {
  display: block;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(115, 64, 255, 0.25);
}

.c-codigma-hero__brand div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.c-codigma-hero__brand strong {
  font-size: 22px;
  color: var(--color-heading);
}

.c-codigma-hero__brand span,
.c-codigma-hero__card > p,
.c-codigma-hero__metric span {
  font-size: 13px;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.c-codigma-hero__card > p {
  margin: 0 0 16px;
}

.c-codigma-hero__frameworks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 30px;
}

.c-codigma-hero__frameworks span {
  padding: 7px 11px;
  border: 1px solid rgba(115, 64, 255, 0.16);
  border-radius: 999px;
  background: rgba(115, 64, 255, 0.06);
  color: #4f2aae;
  font-size: 11px;
  font-weight: 600;
}

.c-codigma-hero__metric {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-top: 24px;
  border-top: 1px solid rgba(40, 48, 63, 0.09);
}

.c-codigma-hero__metric strong {
  font-size: 42px;
  line-height: 1;
  color: #7340ff;
}

.c-codigma-resources {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 1080px;
  margin: 0 auto;
}

.c-codigma-resources a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px;
  border: 1px solid #e8e8f0;
  border-radius: 16px;
  color: var(--color-heading);
  text-decoration: none;
  background: #fff;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.c-codigma-resources a:hover {
  transform: translateY(-2px);
  border-color: rgba(115, 64, 255, 0.35);
  box-shadow: 0 12px 32px rgba(65, 33, 150, 0.08);
}

.c-codigma-resources strong {
  font-size: 15px;
}

.c-codigma-resources span {
  color: var(--color-text-secondary);
  font-size: 12px;
  text-align: right;
}

.c-codigma-press {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  max-width: 1080px;
  margin: 0 auto;
}

.c-codigma-press__item {
  display: flex;
  min-height: 230px;
  flex-direction: column;
  padding: 26px;
  border: 1px solid #e8e8f0;
  border-radius: 18px;
  color: var(--color-heading);
  text-decoration: none;
  background: #fff;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.c-codigma-press__item:hover {
  transform: translateY(-2px);
  border-color: rgba(115, 64, 255, 0.35);
  box-shadow: 0 12px 32px rgba(65, 33, 150, 0.08);
}

.c-codigma-press__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 32px;
  color: var(--color-text-secondary);
  font-size: 12px;
}

.c-codigma-press__meta strong {
  color: #7340ff;
  font-size: 13px;
}

.c-codigma-press__item h3 {
  margin: 0 0 28px;
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.35;
}

.c-codigma-press__item > span {
  margin-top: auto;
  color: var(--color-text-secondary);
  font-size: 12px;
  font-weight: 600;
}

.c-main--codigma .c-cta__card .c-service-hero__actions {
  justify-content: center;
}

@media (max-width: 1024px) {
  .c-codigma-hero {
    width: 100%;
    max-width: 620px;
    min-height: 0;
    justify-self: center;
  }
}

@media (max-width: 640px) {
  .c-codigma-hero__card {
    padding: 26px 22px;
  }

  .c-codigma-resources {
    grid-template-columns: 1fr;
  }

  .c-codigma-press {
    grid-template-columns: 1fr;
  }

  .c-codigma-press__item {
    min-height: 210px;
    padding: 22px;
  }

  .c-codigma-resources a {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .c-codigma-resources span {
    text-align: left;
  }
}

.c-section--ai-howwework {
  padding-block: 72px;
  padding-inline: 24px;
  display: flex;
  justify-content: center;
}

.c-ai-howwework {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-ai-howwework__steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.c-ai-step {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 20px 0;
  border-bottom: 1px solid #f0f0f4;
}

.c-ai-step:first-child {
  border-top: 1px solid #f0f0f4;
}

.c-ai-step__num {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-eyebrow-faq);
  min-width: 32px;
  letter-spacing: 0.05em;
}

.c-ai-step__title {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--color-heading);
}

.c-section--ai-ps {
  padding-block: 72px;
  padding-inline: 24px;
  display: flex;
  justify-content: center;
}

.c-ai-ps {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-ai-ps__eyebrow {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 100px;
}

.c-ai-ps__eyebrow--problem {
  background: #f0f0f5;
  color: var(--color-heading);
}

.c-ai-ps__eyebrow--solution {
  background: var(--color-chip-faq);
  color: var(--color-eyebrow-faq);
}

.c-ai-problem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.c-ai-problem-card {
  background: #fff;
  border: 1px solid #e8e8f0;
  border-top: 3px solid var(--color-heading);
  border-radius: 16px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-ai-problem-card__icon {
  width: 40px;
  height: 40px;
  background: #f0f0f5;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-heading);
}

.c-ai-problem-card__title {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0;
}

.c-ai-problem-card__desc {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  color: var(--color-text-secondary);
  margin: 0;
}

.c-ai-solution-card {
  background: var(--color-chip-faq);
  border: 1px solid rgba(89, 33, 178, 0.15);
  border-top: 3px solid var(--color-eyebrow-faq);
  border-radius: 16px;
  padding: 32px 36px;
  display: flex;
  gap: 20px;
}

.c-ai-solution-card__text {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-heading);
  margin: 0;
  flex: 1;
}

@media (max-width: 768px) {
  .c-ai-problem-grid {
    grid-template-columns: 1fr;
  }

  .c-ai-solution-card {
    flex-direction: column;
    padding: 24px 20px;
  }
}
.c-service-features__grid--2col {
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 640px) {
  .c-service-features__grid--2col {
    grid-template-columns: 1fr;
  }
}

.c-service-features__grid--wide {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-service-feature--wide {
  max-width: 760px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.c-section--ai-usecases {
  padding-block: 72px;
  padding-inline: 24px;
  display: flex;
  justify-content: center;
  background: linear-gradient(to bottom, #ffffff 0%, #f9f8ff 100%);
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.c-ai-usecases-inner {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-ai-usecases__header {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-ai-usecases__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.c-ai-usecase-card {
  background: #fff;
  border: 1px solid #e8e8f0;
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.c-ai-usecase-card:hover {
  box-shadow: 0 8px 32px rgba(89, 33, 178, 0.1);
  transform: translateY(-3px);
}

.c-ai-usecase-card__icon {
  width: 52px;
  height: 52px;
  background: var(--color-chip-faq);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-eyebrow-faq);
}

.c-ai-usecase-card__title {
  font-family: Poppins, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: var(--color-heading);
  margin: 0;
}

.c-ai-usecase-card__desc {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  color: var(--color-text-secondary);
  margin: 0;
}

@media (max-width: 768px) {
  .c-ai-usecases__grid {
    grid-template-columns: 1fr;
  }
}

.c-section--ai-testimonial {
  padding-block: 64px;
  padding-inline: 24px;
  display: flex;
  justify-content: center;
  background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.c-ai-testimonial {
  max-width: 680px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-ai-testimonial__quote {
  font-family: Poppins, sans-serif;
  font-size: clamp(18px, 2.5vw, 26px);
  font-weight: 500;
  color: var(--color-heading);
  line-height: 1.5;
  margin: 0;
}

.c-ai-testimonial__author {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #7c3aed;
  font-style: normal;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.c-ai-feature-list {
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.c-ai-feature-list li {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-text);
}

/* ============================================================
   Industries
   ============================================================ */

.c-main--industries {
  --industry-purple: #5921b2;
  --industry-ink: #202231;
  --industry-muted: #697083;
}

.c-industry-hero {
  min-height: 640px;
  padding-block: 88px 80px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  gap: 72px;
  align-items: center;
  border-bottom: 1px solid #f0f0f4;
}

.c-industry-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
}

.c-industry-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--industry-purple);
  letter-spacing: 0.03em;
}

.c-industry-breadcrumb span {
  color: #b6b8c3;
}

.c-industry-hero__title {
  max-width: 720px;
  font-family: Poppins, sans-serif;
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -0.04em;
  color: var(--industry-ink);
}

.c-industry-hero__title em {
  color: var(--industry-purple);
  font-style: italic;
}

.c-industry-hero__desc {
  max-width: 650px;
  font-family: Poppins, sans-serif;
  font-size: 17px;
  line-height: 1.75;
  color: var(--industry-muted);
}

.c-industry-proof {
  position: relative;
  padding: 34px;
  border: 1px solid rgba(89, 33, 178, 0.13);
  border-radius: 28px;
  background:
    radial-gradient(
      circle at 82% 15%,
      rgba(166, 110, 255, 0.2),
      transparent 28%
    ),
    linear-gradient(145deg, #fbfaff 0%, #f5f1ff 100%);
  box-shadow: 0 24px 70px rgba(56, 35, 91, 0.08);
  overflow: hidden;
}

.c-industry-proof::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(89, 33, 178, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(89, 33, 178, 0.04) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
  pointer-events: none;
}

.c-industry-proof > * {
  position: relative;
}

.c-industry-proof__eyebrow {
  margin-bottom: 22px;
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--industry-purple);
}

.c-industry-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.c-industry-proof__item {
  min-height: 150px;
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(89, 33, 178, 0.1);
  border-radius: 18px;
}

.c-industry-proof__item strong {
  font-family: Poppins, sans-serif;
  font-size: clamp(24px, 2.5vw, 38px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--industry-ink);
}

.c-industry-proof__item span,
.c-industry-proof__note {
  font-family: Poppins, sans-serif;
  color: var(--industry-muted);
}

.c-industry-proof__item span {
  font-size: 11px;
  line-height: 1.45;
}

.c-industry-proof__note {
  margin-top: 20px;
  font-size: 11px;
  line-height: 1.6;
}

.c-industry-section-desc {
  max-width: 760px;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.75;
  color: var(--industry-muted);
}

.c-industry-experience,
.c-industry-product-map,
.c-industry-related,
.c-industry-list-section {
  padding-block: 88px;
  border-top: 1px solid #f0f0f4;
}

.c-industry-experience__header {
  max-width: 760px;
  margin-bottom: 42px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.c-industry-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.c-industry-evidence-card {
  min-height: 280px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border: 1px solid #ececf2;
  border-radius: 22px;
  background: #fff;
}

.c-industry-evidence-card__num {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--industry-purple);
}

.c-industry-evidence-card h3 {
  font-family: Poppins, sans-serif;
  font-size: 19px;
  line-height: 1.35;
  color: var(--industry-ink);
}

.c-industry-evidence-card p {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.75;
  color: var(--industry-muted);
}

.c-industry-product-map__header {
  margin-bottom: 38px;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: end;
  gap: 42px;
}

.c-industry-product-map__header > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.c-industry-product-map__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.c-industry-product-card {
  min-height: 235px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid rgba(89, 33, 178, 0.12);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(247, 243, 255, 0.88), #fff 62%);
  color: var(--industry-ink);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.c-industry-product-card:hover {
  transform: translateY(-3px);
  border-color: rgba(89, 33, 178, 0.3);
  box-shadow: 0 18px 38px rgba(55, 34, 90, 0.07);
}

.c-industry-product-card__num {
  margin-bottom: 22px;
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--industry-purple);
}

.c-industry-product-card h3 {
  margin-bottom: 10px;
  font-family: Poppins, sans-serif;
  font-size: 19px;
  line-height: 1.35;
  color: var(--industry-ink);
}

.c-industry-product-card p {
  margin-bottom: 24px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: var(--industry-muted);
}

.c-industry-product-card__link,
.c-industry-product-map__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--industry-purple);
}

.c-industry-product-card__link {
  margin-top: auto;
}

.c-industry-product-card__link svg,
.c-industry-product-map__all svg {
  transition: transform 0.2s ease;
}

.c-industry-product-card:hover .c-industry-product-card__link svg,
.c-industry-product-map__all:hover svg {
  transform: translateX(4px);
}

.c-industry-product-map__all {
  margin-top: 24px;
}

.c-industry-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.c-industry-related-card {
  min-height: 190px;
  padding: 26px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: start;
  gap: 10px 16px;
  border: 1px solid #ececf2;
  border-radius: 20px;
  color: var(--industry-ink);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.c-industry-related-card:hover {
  transform: translateY(-3px);
  border-color: rgba(89, 33, 178, 0.28);
  box-shadow: 0 18px 38px rgba(55, 34, 90, 0.07);
}

.c-industry-related-card span {
  font-family: Poppins, sans-serif;
  font-size: 17px;
  font-weight: 600;
}

.c-industry-related-card p {
  grid-column: 1 / -1;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  line-height: 1.7;
  color: var(--industry-muted);
}

.c-industry-related-card svg {
  transition: transform 0.2s ease;
}

.c-industry-related-card:hover svg {
  transform: translateX(4px);
}

.c-industry-faq {
  border-top: 1px solid #f0f0f4;
}

.c-industry-cta__actions {
  justify-content: center;
  margin-top: 8px;
}

/* Industries index */
.c-industry-hero--index {
  min-height: 700px;
}

.c-industry-map {
  position: relative;
  min-height: 500px;
  border: 1px solid rgba(89, 33, 178, 0.11);
  border-radius: 32px;
  background:
    radial-gradient(circle at center, rgba(89, 33, 178, 0.12), transparent 38%),
    linear-gradient(145deg, #faf9ff, #f4f0ff);
  overflow: hidden;
}

.c-industry-map::before,
.c-industry-map::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(89, 33, 178, 0.1);
  border-radius: 50%;
  inset: 70px;
}

.c-industry-map::after {
  inset: 145px;
}

.c-industry-map__line {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--industry-purple);
  box-shadow: 0 0 0 12px rgba(89, 33, 178, 0.1);
  transform: translate(-50%, -50%);
}

.c-industry-map__card {
  position: absolute;
  width: 190px;
  min-height: 118px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  border: 1px solid rgba(89, 33, 178, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 15px 30px rgba(55, 34, 90, 0.08);
}

.c-industry-map__card strong {
  font-family: Poppins, sans-serif;
  font-size: 28px;
  line-height: 1;
  color: var(--industry-ink);
}

.c-industry-map__card span,
.c-industry-map__note {
  font-family: Poppins, sans-serif;
  color: var(--industry-muted);
}

.c-industry-map__card span {
  font-size: 11px;
  line-height: 1.45;
}

.c-industry-map__card--1 {
  top: 38px;
  left: 42px;
  transform: rotate(-3deg);
}
.c-industry-map__card--2 {
  top: 70px;
  right: 28px;
  transform: rotate(3deg);
}
.c-industry-map__card--3 {
  bottom: 82px;
  left: 22px;
  transform: rotate(2deg);
}
.c-industry-map__card--4 {
  right: 52px;
  bottom: 54px;
  transform: rotate(-2deg);
}

.c-industry-map__note {
  position: absolute;
  left: 50%;
  bottom: 20px;
  width: 70%;
  transform: translateX(-50%);
  font-size: 10px;
  line-height: 1.5;
  text-align: center;
}

.c-industry-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.c-industry-card {
  min-height: 300px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  border: 1px solid #ececf2;
  border-radius: 24px;
  background: #fff;
  color: var(--industry-ink);
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}

.c-industry-card:hover {
  transform: translateY(-4px);
  border-color: rgba(89, 33, 178, 0.24);
  box-shadow: 0 22px 48px rgba(55, 34, 90, 0.08);
}

.c-industry-card__num {
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: var(--industry-purple);
}

.c-industry-card__content {
  margin-top: 38px;
  max-width: 470px;
}

.c-industry-card h2,
.c-industry-card h3 {
  margin-bottom: 12px;
  font-family: Poppins, sans-serif;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.c-industry-card p {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: var(--industry-muted);
}

.c-industry-card__link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--industry-purple);
}

.c-industry-card:hover .c-industry-card__link svg {
  transform: translateX(4px);
}

.c-industry-card__link svg {
  transition: transform 0.2s ease;
}

.c-industry-solution {
  padding-block: 88px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 72px;
  align-items: center;
  border-top: 1px solid #f0f0f4;
}

.c-industry-solution__copy {
  max-width: 690px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}

.c-industry-solution h2,
.c-industry-confidentiality h2 {
  font-family: Poppins, sans-serif;
  color: var(--industry-ink);
}

.c-industry-solution h2 {
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.c-industry-solution p,
.c-industry-confidentiality p {
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.75;
  color: var(--industry-muted);
}

.c-industry-solution__flow {
  padding: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(89, 33, 178, 0.12);
  border-radius: 22px;
  background: #f8f5ff;
  color: var(--industry-purple);
}

.c-industry-solution__flow span {
  padding: 9px 12px;
  border-radius: 10px;
  background: #fff;
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--industry-ink);
  white-space: nowrap;
}

.c-industry-confidentiality {
  margin-block: 24px 88px;
  padding: 34px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  border: 1px solid #e9e4f5;
  border-radius: 24px;
  background: #fbfaff;
}

.c-industry-confidentiality__icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(89, 33, 178, 0.09);
  color: var(--industry-purple);
}

.c-industry-confidentiality h2 {
  margin-bottom: 7px;
  font-size: 19px;
}

/* Industries menu visual */
.c-navbar__industry-art {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 230px;
}

.c-navbar__industry-chip {
  position: absolute;
  padding: 9px 12px;
  border: 1px solid rgba(89, 33, 178, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  font-family: Poppins, sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #453066;
  box-shadow: 0 10px 24px rgba(55, 34, 90, 0.08);
}

.c-navbar__industry-chip:nth-child(1) {
  top: 22px;
  left: 8px;
  transform: rotate(-4deg);
}
.c-navbar__industry-chip:nth-child(2) {
  top: 76px;
  right: 8px;
  transform: rotate(4deg);
}
.c-navbar__industry-chip:nth-child(3) {
  bottom: 62px;
  left: 0;
  transform: rotate(3deg);
}
.c-navbar__industry-chip:nth-child(4) {
  right: 10px;
  bottom: 18px;
  transform: rotate(-3deg);
}

@media (max-width: 1100px) {
  .c-industry-hero {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .c-industry-proof,
  .c-industry-map {
    max-width: 760px;
    width: 100%;
  }

  .c-industry-solution {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .c-industry-solution__flow {
    width: fit-content;
  }
}

@media (max-width: 767px) {
  .c-industry-hero {
    min-height: 0;
    padding-block: 58px 52px;
    gap: 36px;
  }

  .c-industry-hero__title {
    font-size: clamp(36px, 11vw, 50px);
  }

  .c-industry-hero__desc {
    font-size: 15px;
    line-height: 1.7;
  }

  .c-industry-proof {
    padding: 20px;
    border-radius: 22px;
  }

  .c-industry-proof__grid {
    grid-template-columns: 1fr;
  }

  .c-industry-proof__item {
    min-height: 105px;
  }

  .c-industry-evidence-grid,
  .c-industry-product-map__grid,
  .c-industry-related__grid,
  .c-industry-card-grid {
    grid-template-columns: 1fr;
  }

  .c-industry-experience,
  .c-industry-product-map,
  .c-industry-related,
  .c-industry-list-section,
  .c-industry-solution {
    padding-block: 58px;
  }

  .c-industry-evidence-card,
  .c-industry-product-card,
  .c-industry-card {
    min-height: 240px;
    padding: 24px;
  }

  .c-industry-map {
    min-height: 560px;
    border-radius: 24px;
  }

  .c-industry-map__card {
    width: calc(50% - 28px);
  }

  .c-industry-map__card--1 {
    top: 30px;
    left: 16px;
  }
  .c-industry-map__card--2 {
    top: 76px;
    right: 16px;
  }
  .c-industry-map__card--3 {
    bottom: 118px;
    left: 16px;
  }
  .c-industry-map__card--4 {
    bottom: 65px;
    right: 16px;
  }

  .c-industry-solution__flow {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .c-industry-solution__flow svg {
    align-self: center;
    transform: rotate(90deg);
  }

  .c-industry-confidentiality {
    margin-bottom: 58px;
    padding: 24px;
    grid-template-columns: 1fr;
  }

  .c-industry-product-map__header {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 18px;
  }
}

.c-navbar__dropdown-heading--section {
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(82, 72, 139, 0.12);
}

.c-navbar__dropdown-promo--industries {
  background: linear-gradient(135deg, #f6f2ff 0%, #f5f8ff 58%, #eefaf7 100%);
}

.c-main--instant-content + .c-footer .a-fade-up,
.c-main--instant-content + .c-footer .a-fade-in {
  opacity: 1;
  transform: none;
}

/* ThinkHub AI Studio */
.c-main--thinkhub {
  --th-black: #070907;
  --th-ink: #151814;
  --th-green: #b9ff2c;
  --th-green-soft: #f1ffd8;
  --th-line: rgba(21, 24, 20, 0.13);
  --th-muted: #62685f;
  background: #fff;
  color: var(--th-ink);
  font-family: Poppins, sans-serif;
}

.c-th-shell {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.c-th-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 0 96px;
  background:
    radial-gradient(
      circle at 82% 18%,
      rgba(185, 255, 44, 0.13),
      transparent 27%
    ),
    var(--th-black);
  color: #fff;
}

.c-th-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.18;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.c-th-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(480px, 1.08fr);
  align-items: center;
  gap: 70px;
}

.c-th-kicker {
  margin: 0 0 18px;
  color: #607051;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14em;
}

.c-th-kicker span {
  color: var(--th-green);
}

.c-th-hero .c-th-kicker,
.c-th-section--deployment .c-th-kicker {
  color: var(--th-green);
}

.c-th-hero h1 {
  margin: 0;
  max-width: 690px;
  font-size: clamp(45px, 5.25vw, 72px);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -0.052em;
}

.c-th-hero__lead {
  max-width: 650px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: 16px;
  line-height: 1.75;
}

.c-th-actions {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.c-th-button {
  min-height: 48px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition:
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

.c-th-button:hover {
  transform: translateY(-2px);
}

.c-th-button--primary {
  background: var(--th-green);
  color: #0b0d09;
}

.c-th-button--ghost {
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.c-th-button--ghost:hover {
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.06);
}

.c-th-button--dark {
  margin-top: 26px;
  background: var(--th-black);
  color: #fff;
}

.c-th-facts {
  margin: 32px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
}

.c-th-facts li {
  padding: 7px 10px;
  border: 1px solid rgba(185, 255, 44, 0.23);
  border-radius: 8px;
  background: rgba(185, 255, 44, 0.06);
  color: rgba(255, 255, 255, 0.76);
  font-size: 10px;
  font-weight: 600;
}

.c-th-hero__visual {
  position: relative;
  padding: 10px;
  border: 1px solid rgba(185, 255, 44, 0.16);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
}

.c-th-hero__visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
}

.c-th-hero__glow {
  position: absolute;
  z-index: 0;
  inset: 22% -8% -8% 22%;
  border-radius: 50%;
  background: rgba(185, 255, 44, 0.14);
  filter: blur(54px);
}

.c-th-console {
  position: absolute;
  z-index: 2;
  right: -18px;
  bottom: -58px;
  width: min(380px, 82%);
  padding: 18px 20px;
  border: 1px solid rgba(185, 255, 44, 0.28);
  border-radius: 16px;
  background: rgba(12, 15, 11, 0.95);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(14px);
}

.c-th-console__label {
  display: block;
  color: var(--th-green);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  letter-spacing: 0.14em;
}

.c-th-console p {
  margin: 8px 0 16px;
  color: #fff;
  font-size: 12px;
  line-height: 1.55;
}

.c-th-console__route {
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(255, 255, 255, 0.55);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  white-space: nowrap;
}

.c-th-console__route i {
  width: 14px;
  height: 1px;
  display: block;
  background: var(--th-green);
}

.c-th-section {
  padding: 96px 0;
}

.c-th-heading {
  max-width: 780px;
  margin-bottom: 44px;
}

.c-th-heading h2,
.c-th-deployment__intro h2,
.c-th-poc h2 {
  margin: 0;
  font-size: clamp(34px, 4.2vw, 56px);
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.c-th-heading > p:last-child,
.c-th-deployment__intro > p:last-child,
.c-th-poc > div > p {
  margin: 20px 0 0;
  color: var(--th-muted);
  font-size: 15px;
  line-height: 1.75;
}

.c-th-heading--split {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.65fr);
  align-items: end;
  gap: 70px;
}

.c-th-heading--split > p {
  margin: 0;
}

.c-th-section--questions {
  background: #fbfcf8;
}

.c-th-question-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.c-th-question-card {
  min-height: 280px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--th-line);
  border-radius: 22px;
  background: #fff;
}

.c-th-question-card > span {
  color: #6d7e59;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.c-th-question-card h3 {
  margin: 26px 0 24px;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.02em;
}

.c-th-question-card p {
  margin: auto 0 0;
  color: var(--th-muted);
  font-size: 12px;
  line-height: 1.7;
}

.c-th-section--workflow {
  border-top: 1px solid var(--th-line);
  border-bottom: 1px solid var(--th-line);
}

.c-th-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: stretch;
}

.c-th-flow article {
  min-height: 190px;
  padding: 22px;
  border: 1px solid var(--th-line);
  border-radius: 18px;
  background: #fff;
}

.c-th-flow article > span {
  color: #77816e;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}

.c-th-flow article strong {
  margin-top: 30px;
  display: block;
  font-size: 15px;
}

.c-th-flow article p {
  margin: 10px 0 0;
  color: var(--th-muted);
  font-size: 11px;
  line-height: 1.65;
}

.c-th-flow > i {
  width: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8fae5b;
  font-style: normal;
}

.c-th-note {
  margin: 22px 0 0;
  padding-left: 16px;
  border-left: 2px solid #9bd520;
  color: var(--th-muted);
  font-size: 12px;
  line-height: 1.7;
}

.c-th-section--deployment {
  background: var(--th-black);
  color: #fff;
}

.c-th-deployment {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(540px, 1.22fr);
  align-items: start;
  gap: 84px;
}

.c-th-deployment__intro > p:last-child {
  color: rgba(255, 255, 255, 0.6);
}

.c-th-control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.c-th-control-grid article {
  min-height: 210px;
  padding: 24px;
  border: 1px solid rgba(185, 255, 44, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
}

.c-th-control-grid span {
  color: var(--th-green);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}

.c-th-control-grid h3 {
  margin: 28px 0 9px;
  font-size: 15px;
}

.c-th-control-grid p {
  margin: 0;
  color: rgba(255, 255, 255, 0.56);
  font-size: 11px;
  line-height: 1.7;
}

.c-th-fit {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(480px, 1.14fr);
  gap: 90px;
  align-items: start;
}

.c-th-fit .c-th-heading {
  margin-bottom: 0;
}

.c-th-fit__list {
  border-top: 1px solid var(--th-line);
}

.c-th-fit__list article {
  padding: 22px 0;
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 22px;
  border-bottom: 1px solid var(--th-line);
}

.c-th-fit__list strong {
  font-size: 13px;
}

.c-th-fit__list span {
  color: var(--th-muted);
  font-size: 12px;
  line-height: 1.6;
}

.c-th-section--poc {
  padding-top: 0;
}

.c-th-poc {
  padding: 58px;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(430px, 1.15fr);
  gap: 82px;
  border-radius: 30px;
  background: var(--th-green-soft);
}

.c-th-poc__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(21, 24, 20, 0.15);
}

.c-th-poc__steps li {
  padding: 17px 0;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 16px;
  border-bottom: 1px solid rgba(21, 24, 20, 0.15);
}

.c-th-poc__steps span {
  color: #667154;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}

.c-th-poc__steps p {
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
}

.c-th-section--faq {
  background: #fbfcf8;
}

.c-th-faq {
  max-width: 930px;
}

.c-th-faq .c-faq__item {
  background: transparent;
}

.c-th-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.c-th-related-grid a {
  min-height: 190px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--th-line);
  border-radius: 20px;
  color: var(--th-ink);
  text-decoration: none;
  transition:
    border-color 180ms ease,
    transform 180ms ease,
    background-color 180ms ease;
}

.c-th-related-grid a:hover {
  transform: translateY(-3px);
  border-color: #a6d44a;
  background: #fbfff4;
}

.c-th-related-grid span {
  color: #71805d;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-th-related-grid strong {
  margin-top: auto;
  max-width: 220px;
  font-size: 17px;
  line-height: 1.35;
}

.c-th-related-grid i {
  align-self: flex-end;
  color: #73932f;
  font-size: 18px;
  font-style: normal;
}

@media (max-width: 1050px) {
  .c-th-hero__grid,
  .c-th-deployment,
  .c-th-fit,
  .c-th-poc {
    grid-template-columns: 1fr;
  }

  .c-th-hero__grid {
    gap: 76px;
  }

  .c-th-hero__content {
    max-width: 760px;
  }

  .c-th-hero__visual {
    max-width: 760px;
  }

  .c-th-deployment,
  .c-th-fit,
  .c-th-poc {
    gap: 48px;
  }

  .c-th-heading--split {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .c-th-flow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
  }

  .c-th-flow > i {
    display: none;
  }
}

@media (max-width: 767px) {
  .c-th-shell {
    width: min(100% - 32px, 1180px);
  }

  .c-th-hero {
    padding: 58px 0 86px;
  }

  .c-th-hero__grid {
    gap: 58px;
  }

  .c-th-hero h1 {
    font-size: clamp(38px, 12vw, 54px);
  }

  .c-th-hero__lead {
    font-size: 14px;
  }

  .c-th-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .c-th-button {
    width: 100%;
  }

  .c-th-hero__visual {
    padding: 6px;
    border-radius: 20px;
  }

  .c-th-hero__visual img {
    border-radius: 15px;
  }

  .c-th-console {
    right: 8px;
    bottom: -52px;
    width: calc(100% - 16px);
  }

  .c-th-section {
    padding: 68px 0;
  }

  .c-th-heading {
    margin-bottom: 32px;
  }

  .c-th-question-grid,
  .c-th-control-grid,
  .c-th-flow,
  .c-th-related-grid {
    grid-template-columns: 1fr;
  }

  .c-th-question-card {
    min-height: 235px;
  }

  .c-th-flow article,
  .c-th-control-grid article {
    min-height: 0;
  }

  .c-th-flow article strong,
  .c-th-control-grid h3 {
    margin-top: 18px;
  }

  .c-th-fit__list article {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .c-th-section--poc {
    padding-top: 0;
  }

  .c-th-poc {
    width: min(100% - 24px, 1180px);
    padding: 32px 24px;
    border-radius: 24px;
  }

  .c-th-related-grid a {
    min-height: 150px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-th-button,
  .c-th-related-grid a {
    transition: none;
  }
}
