:root {
  --ink: #121117;
  --muted: #77737f;
  --purple: #4d10f6;
  --purple-deep: #25175f;
  --purple-soft: #f0edff;
  --warm: #f5f0eb;
  --paper: #ffffff;
  --line: #e7e4e8;
  --shell: 1182px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.section { padding: 124px 0; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100;
  padding: 10px 14px;
  background: var(--ink);
  color: var(--paper);
  transform: translateY(-160%);
}
.skip-link:focus { transform: none; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  padding: 18px 0 0;
  transition: padding 220ms ease;
}
.site-header.scrolled {
  padding-top: 10px;
}
.nav-shell {
  display: grid;
  min-height: 76px;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 24px;
  border: 1px solid rgba(18, 17, 23, 0.1);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 55px rgba(31, 20, 63, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(22px) saturate(1.25);
  transition: min-height 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}
.site-header.scrolled .nav-shell {
  min-height: 68px;
  border-color: rgba(18, 17, 23, 0.08);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 42px rgba(31, 20, 63, 0.13), inset 0 1px 0 #fff;
}
.brand { display: inline-flex; width: 136px; transition: width 220ms ease, transform 180ms ease; }
.brand:hover { transform: scale(1.025); }
.site-header.scrolled .brand { width: 124px; }
.nav-left, .nav-right { display: flex; align-items: center; gap: 34px; }
.nav-right { justify-content: flex-end; }
.nav-left > a, .nav-platform-trigger, .nav-demo {
  position: relative;
  color: #65616b;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: color 160ms ease;
}
.nav-left > a::after, .nav-platform-trigger::after, .nav-demo::after {
  position: absolute;
  right: 0;
  bottom: -9px;
  left: 0;
  height: 2px;
  border-radius: 99px;
  background: var(--purple);
  content: '';
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms ease;
}
.nav-left > a:hover, .nav-platform-trigger:hover, .nav-demo:hover { color: var(--ink); }
.nav-left > a:hover::after, .nav-platform:hover .nav-platform-trigger::after, .nav-platform:focus-within .nav-platform-trigger::after, .nav-demo:hover::after, .nav-left > [aria-current='page']::after, .nav-platform-trigger[aria-current='page']::after, .nav-demo[aria-current='page']::after { transform: scaleX(1); }
.nav-platform { position: relative; }
.nav-platform::after {
  position: absolute;
  top: 100%;
  left: -34px;
  width: 180px;
  height: 64px;
  content: '';
}
.nav-platform-trigger { display: inline-flex; align-items: center; }
.platform-mega {
  position: fixed;
  top: 82px;
  left: 50%;
  width: calc(100% + 2px);
  padding: 26px 0 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -12px) scale(.985);
  transform-origin: 32% top;
  transition: opacity 180ms ease, transform 220ms ease, visibility 180ms ease;
}
.site-header.scrolled .platform-mega { top: 66px; }
.nav-platform:hover .platform-mega, .nav-platform:focus-within .platform-mega {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0) scale(1);
}
.platform-mega-layout {
  display: grid;
  grid-template-columns: .88fr 1.62fr;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(31, 20, 63, .12);
  border-radius: 28px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 34px 90px rgba(31, 20, 63, .22), inset 0 1px 0 #fff;
  backdrop-filter: blur(28px) saturate(1.25);
}
.platform-mega-overview {
  position: relative;
  display: flex;
  min-height: 320px;
  flex-direction: column;
  padding: 34px;
  overflow: hidden;
  border-radius: 20px;
  background:
    radial-gradient(circle at 85% 12%, rgba(172, 150, 255, .32), transparent 34%),
    linear-gradient(145deg, #1a0d3d, #3b1c82);
  color: #fff;
  text-decoration: none;
}
.platform-mega-overview::before, .platform-mega-overview::after {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  content: '';
}
.platform-mega-overview::before { top: -135px; right: -95px; width: 310px; height: 310px; }
.platform-mega-overview::after { top: -70px; right: -30px; width: 178px; height: 178px; border-style: dashed; }
.platform-mega-eyebrow {
  position: relative;
  z-index: 1;
  color: #c9c0ff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.platform-mega-overview strong {
  position: relative;
  z-index: 1;
  max-width: 330px;
  margin: auto 0 27px;
  font-family: 'Manrope', sans-serif;
  font-size: clamp(31px, 3vw, 43px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.05em;
}
.platform-mega-overview small { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 24px; color: rgba(255, 255, 255, .68); font-size: 12px; }
.platform-mega-overview small span { color: #fff; font-size: 17px; transition: transform 180ms ease; }
.platform-mega-overview:hover small span { transform: translateX(5px); }
.platform-mega-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; overflow: hidden; border: 1px solid #e8e4eb; border-radius: 20px; background: #e8e4eb; }
.platform-mega-link {
  position: relative;
  display: grid;
  min-height: 106px;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 20px 22px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  transition: background 180ms ease;
}
.platform-mega-link:hover { background: #f6f3ff; }
.platform-mega-link > span { color: #8c82a8; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.platform-mega-link > div { display: flex; flex-direction: column; gap: 4px; }
.platform-mega-link strong { font-family: 'Manrope', sans-serif; font-size: 15px; font-weight: 600; letter-spacing: -.02em; }
.platform-mega-link small { color: #817c87; font-size: 11px; line-height: 1.35; }
.platform-mega-link > i { color: var(--purple); font-size: 16px; font-style: normal; opacity: 0; transform: translateX(-5px); transition: opacity 180ms ease, transform 180ms ease; }
.platform-mega-link:hover > i { opacity: 1; transform: none; }
.platform-mega a:focus-visible { outline: 3px solid rgba(77, 16, 246, .28); outline-offset: -3px; }
.nav-shell .button-dark {
  min-height: 46px;
  padding-inline: 24px;
  border-color: #21162d;
  background: linear-gradient(135deg, #121117 15%, #2f185f 100%);
  box-shadow: 0 12px 26px rgba(38, 20, 81, 0.22);
}
.nav-shell .button-dark:hover { box-shadow: 0 17px 34px rgba(38, 20, 81, 0.28); }
.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 22px;
  border: 1px solid var(--ink);
  border-radius: 99px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: var(--paper); box-shadow: 0 10px 24px rgba(18, 17, 23, 0.12); }
.button-dark:hover { box-shadow: 0 15px 32px rgba(18, 17, 23, 0.18); }
.button-light { border-color: var(--line); background: var(--paper); color: var(--ink); }
.button-light:hover { background: #faf9fa; }
.button-white { border-color: var(--paper); background: var(--paper); color: var(--purple-deep); }
.button-small { min-height: 40px; padding-inline: 18px; font-size: 12px; }
.menu-toggle, .mobile-menu { display: none; }

.hero { padding: 162px 0 0; }
.hero-inner { display: flex; align-items: center; flex-direction: column; text-align: center; }
.announcement {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 5px 12px 5px 6px;
  border: 1px solid var(--line);
  border-radius: 99px;
  color: #68636f;
  font-size: 12px;
  text-decoration: none;
  transition: border-color 180ms ease, transform 180ms ease;
}
.announcement:hover { border-color: #c9c2dd; transform: translateY(-1px); }
.announcement span { padding: 2px 7px; border-radius: 99px; background: var(--purple); color: var(--paper); font-size: 9px; font-weight: 700; letter-spacing: 0.05em; }
.announcement strong { color: var(--purple); font-size: 18px; line-height: 1; }
h1, h2, h3 { margin-top: 0; font-family: 'Manrope', sans-serif; letter-spacing: -0.045em; }
h1 {
  max-width: 880px;
  margin: 28px 0 22px;
  font-size: clamp(52px, 6vw, 78px);
  font-weight: 600;
  line-height: 1.04;
}
.hero-copy { max-width: 650px; margin: 0; color: var(--muted); font-size: 18px; line-height: 1.6; }
.hero-actions { display: flex; gap: 10px; margin-top: 30px; }
.hero-proof { display: flex; align-items: center; gap: 13px; margin-top: 26px; }
.hero-proof p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.35; text-align: left; }
.hero-proof strong { color: var(--ink); }
.proof-people { display: flex; padding-left: 7px; }
.proof-people span { display: grid; width: 31px; height: 31px; margin-left: -7px; place-items: center; border: 2px solid var(--paper); border-radius: 50%; background: #ddd7ff; color: var(--purple-deep); font-size: 8px; font-weight: 700; }
.proof-people span:nth-child(2) { background: #e0f0ea; }
.proof-people span:nth-child(3) { background: #f6dfcf; }

.product-scene {
  position: relative;
  min-height: 680px;
  margin-top: 88px;
  overflow: hidden;
  border: 1px solid rgba(77, 16, 246, .08);
  border-radius: 28px;
  background: radial-gradient(circle at 15% 10%, rgba(255, 255, 255, .92), transparent 29%), radial-gradient(circle at 88% 76%, rgba(115, 66, 246, .2), transparent 32%), linear-gradient(135deg, #f0ebff 0%, #ddd4ff 46%, #cfc2ff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
}
.product-scene::before { position: absolute; top: -190px; right: -80px; width: 560px; height: 560px; border: 1px solid rgba(77, 16, 246, .13); border-radius: 50%; content: ''; }
.product-scene::after { position: absolute; right: 90px; bottom: -290px; width: 600px; height: 600px; border: 1px dashed rgba(77, 16, 246, .14); border-radius: 50%; content: ''; }
.scene-noise {
  position: absolute;
  inset: 0;
  opacity: .2;
  background-image: radial-gradient(rgba(77, 16, 246, 0.24) 0.6px, transparent 0.6px);
  background-size: 8px 8px;
  mask-image: linear-gradient(to right, black, transparent 75%);
}
.intelligence-flow { position: absolute; inset: 34px; z-index: 2; }
.flow-routes { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(0 0 8px rgba(77, 16, 246, .13)); }
.flow-routes path { fill: none; stroke: rgba(77, 16, 246, .28); stroke-dasharray: 4 9; stroke-linecap: round; stroke-width: 1.5; animation: flow-route 10s linear infinite; }
.flow-routes path:nth-child(2), .flow-routes path:nth-child(4) { stroke: rgba(57, 185, 128, .3); animation-direction: reverse; }
.flow-routes path:nth-child(3) { stroke: rgba(120, 89, 224, .35); animation-delay: -4s; }
.flow-routes path:nth-child(5) { stroke: rgba(37, 23, 95, .35); animation-delay: -7s; }
.flow-side-title { position: absolute; top: 7%; color: rgba(37, 23, 95, .54); font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.flow-side-left { left: 8%; }.flow-side-right { right: 8%; }
.flow-word { position: absolute; z-index: 3; display: grid; min-width: 184px; grid-template-columns: auto 1fr; gap: 2px 10px; padding: 16px 18px; border: 1px solid rgba(37, 23, 95, .11); border-radius: 20px; background: rgba(255, 255, 255, .78); box-shadow: 0 18px 42px rgba(55, 31, 117, .11), inset 0 1px 0 rgba(255, 255, 255, .9); backdrop-filter: blur(16px); transition: transform 280ms ease, box-shadow 280ms ease; }
.flow-word > i { grid-row: 1 / 3; width: 12px; height: 12px; align-self: center; border-radius: 4px; background: var(--purple); box-shadow: 0 0 0 5px rgba(77, 16, 246, .09); }
.flow-word strong { color: #2c2436; font-size: 16px; letter-spacing: -.025em; }
.flow-word small { color: #7d7585; font-size: 7px; }
.flow-skills { top: 14%; left: 7%; transform: rotate(-3deg); }.flow-skills > i { background: #71b8ff; box-shadow: 0 0 0 5px rgba(113, 184, 255, .14); }
.flow-experience { top: 43%; left: 2%; transform: rotate(2deg); }.flow-experience > i { background: #55d292; box-shadow: 0 0 0 5px rgba(85, 210, 146, .14); }
.flow-preferences { bottom: 11%; left: 9%; transform: rotate(-2deg); }.flow-preferences > i { background: #b590ff; box-shadow: 0 0 0 5px rgba(181, 144, 255, .14); }
.flow-roles { top: 16%; right: 7%; transform: rotate(3deg); }.flow-roles > i { background: #f0bf58; box-shadow: 0 0 0 5px rgba(240, 191, 88, .14); }
.flow-opportunities { right: 5%; bottom: 14%; transform: rotate(-3deg); }.flow-opportunities > i { background: var(--purple-deep); box-shadow: 0 0 0 5px rgba(37, 23, 95, .12); }
.product-scene:hover .flow-skills, .product-scene:hover .flow-experience, .product-scene:hover .flow-preferences { box-shadow: 0 24px 50px rgba(55, 31, 117, .15), inset 0 1px 0 #fff; transform: translateX(5px) rotate(0); }
.product-scene:hover .flow-roles, .product-scene:hover .flow-opportunities { box-shadow: 0 24px 50px rgba(55, 31, 117, .15), inset 0 1px 0 #fff; transform: translateX(-5px) rotate(0); }
.flow-core { position: absolute; top: 51%; left: 50%; z-index: 4; width: 230px; height: 230px; transform: translate(-50%, -50%); }
.flow-halo { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(77, 16, 246, .2); border-radius: 37%; transform: translate(-50%, -50%) rotate(45deg); }
.flow-halo-one { width: 230px; height: 230px; animation: flow-halo 8s ease-in-out infinite; }
.flow-halo-two { width: 178px; height: 178px; border-style: dashed; animation: flow-halo 8s -4s ease-in-out infinite reverse; }
.flow-prism { position: absolute; top: 50%; left: 50%; display: grid; width: 142px; height: 142px; place-items: center; border: 1px solid rgba(255, 255, 255, .3); border-radius: 38px; background: linear-gradient(145deg, #6d34f5, #321276 72%); box-shadow: 0 30px 65px rgba(56, 21, 141, .35), inset 0 1px 0 rgba(255, 255, 255, .25); transform: translate(-50%, -50%) rotate(45deg); animation: flow-prism 6s ease-in-out infinite; }
.flow-prism > span { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 9px; color: #fff; text-align: center; transform: rotate(-45deg); }
.flow-mark { display: block; width: 44px; height: 30px; fill: currentColor; }
.flow-prism strong { font-size: 11px; line-height: 1.2; letter-spacing: -.02em; }
.flow-particle { position: absolute; z-index: 2; width: 8px; height: 8px; border: 2px solid rgba(255, 255, 255, .96); border-radius: 50%; opacity: .95; background: var(--purple); box-shadow: 0 0 0 5px rgba(77, 16, 246, .12), 0 5px 14px rgba(44, 20, 100, .18); transform: translate(-50%, -50%); }
.particle-skills { top: 20.65%; left: 15.5%; background: #71b8ff; animation: route-skills 6.8s -1.4s linear infinite; }
.particle-experience { top: 50%; left: 11.5%; background: #55d292; animation: route-experience 7.6s -3.1s linear infinite; }
.particle-preferences { top: 80.65%; left: 17.5%; background: #b590ff; animation: route-preferences 8.2s -5.4s linear infinite; }
.particle-roles { top: 48.39%; left: 53%; background: #f0bf58; animation: route-roles 7.2s -2.7s linear infinite; }
.particle-opportunities { top: 52.58%; left: 53%; background: var(--purple-deep); animation: route-opportunities 8.6s -6.3s linear infinite; }
@keyframes flow-route { to { stroke-dashoffset: -52; } }
@keyframes flow-halo { 50% { opacity: .55; transform: translate(-50%, -50%) rotate(57deg) scale(1.04); } }
@keyframes flow-prism { 50% { transform: translate(-50%, -53%) rotate(45deg); } }
@keyframes route-skills { 0% { top: 20.65%; left: 15.5%; opacity: 0; } 10% { top: 21.18%; left: 19.54%; opacity: .95; } 20% { top: 22.68%; left: 23.05%; } 30% { top: 24.96%; left: 26.15%; } 40% { top: 27.86%; left: 28.96%; } 50% { top: 31.19%; left: 31.63%; } 60% { top: 34.79%; left: 34.26%; } 70% { top: 38.48%; left: 36.98%; } 80% { top: 42.1%; left: 39.93%; } 90% { top: 45.45%; left: 43.23%; opacity: .95; } 100% { top: 48.39%; left: 47%; opacity: 0; } }
@keyframes route-experience { 0% { top: 50%; left: 11.5%; opacity: 0; } 10% { top: 50%; left: 16.14%; opacity: .95; } 20% { top: 50%; left: 20.22%; } 30% { top: 50%; left: 23.87%; } 40% { top: 50%; left: 27.21%; } 50% { top: 50%; left: 30.34%; } 60% { top: 50%; left: 33.38%; } 70% { top: 50%; left: 36.45%; } 80% { top: 50%; left: 39.67%; } 90% { top: 50%; left: 43.15%; opacity: .95; } 100% { top: 50%; left: 47%; opacity: 0; } }
@keyframes route-preferences { 0% { top: 80.65%; left: 17.5%; opacity: 0; } 10% { top: 79.48%; left: 21.28%; opacity: .95; } 20% { top: 77.56%; left: 24.6%; } 30% { top: 75.01%; left: 27.56%; } 40% { top: 72%; left: 30.26%; } 50% { top: 68.67%; left: 32.81%; } 60% { top: 65.18%; left: 35.32%; } 70% { top: 61.67%; left: 37.89%; } 80% { top: 58.3%; left: 40.62%; } 90% { top: 55.22%; left: 43.62%; opacity: .95; } 100% { top: 52.58%; left: 47%; opacity: 0; } }
@keyframes route-roles { 0% { top: 48.39%; left: 53%; opacity: 0; } 10% { top: 45.82%; left: 56.89%; opacity: .95; } 20% { top: 42.85%; left: 60.33%; } 30% { top: 39.62%; left: 63.45%; } 40% { top: 36.28%; left: 66.36%; } 50% { top: 32.96%; left: 69.15%; } 60% { top: 29.82%; left: 71.94%; } 70% { top: 26.98%; left: 74.85%; } 80% { top: 24.6%; left: 77.97%; } 90% { top: 22.82%; left: 81.41%; opacity: .95; } 100% { top: 21.77%; left: 85.3%; opacity: 0; } }
@keyframes route-opportunities { 0% { top: 52.58%; left: 53%; opacity: 0; } 10% { top: 55.15%; left: 56.95%; opacity: .95; } 20% { top: 58.04%; left: 60.47%; } 30% { top: 61.13%; left: 63.67%; } 40% { top: 64.27%; left: 66.66%; } 50% { top: 67.36%; left: 69.56%; } 60% { top: 70.26%; left: 72.48%; } 70% { top: 72.84%; left: 75.52%; } 80% { top: 74.98%; left: 78.79%; } 90% { top: 76.55%; left: 82.42%; opacity: .95; } 100% { top: 77.42%; left: 86.5%; opacity: 0; } }

.audience-strip { padding: 70px 0; border-bottom: 1px solid var(--line); text-align: center; }
.audience-strip p { margin: 0 0 23px; color: #a19ca5; font-size: 11px; }
.audience-list { display: flex; align-items: center; justify-content: center; gap: 25px; }
.audience-list span { color: #444049; font-size: 14px; font-weight: 600; }
.audience-list i { width: 3px; height: 3px; border-radius: 50%; background: #bbb6bf; }

.section-title { max-width: 680px; }
.section-title.centred { margin-inline: auto; text-align: center; }
.kicker { margin: 0 0 18px; color: var(--purple); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.kicker.light { color: #c7bfff; }
.section-title h2, .evidence-copy h2, .grow-copy h2, .works-inner h2, .contact-content h2 {
  margin-bottom: 20px;
  font-size: clamp(42px, 4.4vw, 62px);
  font-weight: 600;
  line-height: 1.08;
}
.section-title > p:not(.kicker), .evidence-copy > p:not(.kicker), .grow-copy > p:not(.kicker), .works-inner > p:not(.kicker), .contact-content > p:not(.kicker) { margin: 0; color: var(--muted); font-size: 17px; }

.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 88px; }
.value-item { padding-top: 30px; border-top: 1px solid var(--line); }
.line-icon { display: grid; width: 39px; height: 39px; margin-bottom: 52px; place-items: center; border: 1px solid var(--ink); border-radius: 9px; }
.line-icon svg { width: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.value-item h3 { margin-bottom: 12px; font-size: 20px; font-weight: 600; letter-spacing: -0.03em; }
.value-item p { margin: 0; color: var(--muted); font-size: 14px; }

.platform { background: #fbf9fc; }
.feature-explorer { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 40px; margin-top: 76px; padding: 50px; border-radius: 20px; background: var(--warm); }
.feature-tabs { align-self: center; }
.feature-tab {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 76px;
  grid-template-columns: 30px 1fr 22px;
  align-items: center;
  padding: 20px 0;
  border: 0;
  border-top: 1px solid #dcd5d0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}
.feature-tab:last-child { border-bottom: 1px solid #dcd5d0; }
.feature-tab > span { color: var(--purple); font-size: 9px; }
.feature-tab > strong { font-size: 17px; font-weight: 600; }
.feature-tab > i { width: 6px; height: 6px; justify-self: end; border-radius: 50%; background: #bcb5b0; transition: background 180ms ease, transform 180ms ease; }
.feature-tab > small { display: none; grid-column: 2 / -1; max-width: 370px; padding-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.feature-tab.active > i { background: var(--purple); transform: scale(1.4); }
.feature-tab.active > small { display: block; }

.feature-panel { min-height: 580px; }
.feature-art { position: relative; display: flex; min-height: 580px; flex-direction: column; padding: 42px; overflow: hidden; border-radius: 14px; background: var(--purple); color: var(--paper); transition: background 300ms ease; }
.feature-art[data-mode='mobility'] { background: #302070; }
.feature-art[data-mode='careers'] { background: #5f37cf; }
.feature-art[data-mode='learning'] { background: #1c1752; }
.art-grid { position: absolute; inset: 0; opacity: 0.18; background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle at 70% 60%, black, transparent 68%); }
.art-kicker { position: relative; margin: 0; color: #cec6ff; font-size: 10px; font-weight: 700; letter-spacing: 0.15em; }
.feature-art > h3 { position: relative; z-index: 2; max-width: 510px; margin: 18px 0 0; font-size: clamp(30px, 3vw, 44px); font-weight: 600; line-height: 1.1; }
.art-system { position: relative; flex: 1; margin-top: 16px; }
.art-ring { position: absolute; top: 53%; left: 62%; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; transform: translate(-50%,-50%); }
.art-ring-one { width: 310px; height: 310px; }
.art-ring-two { width: 210px; height: 210px; border-style: dashed; }
.art-core { position: absolute; top: 53%; left: 62%; display: grid; width: 105px; height: 105px; place-items: center; border-radius: 50%; background: var(--paper); box-shadow: 0 24px 55px rgba(0,0,0,.18); transform: translate(-50%,-50%); }
.art-core img { width: 36px; height: 36px; object-fit: cover; }
.art-label { position: absolute; padding: 8px 13px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; background: rgba(255,255,255,.1); font-size: 10px; font-weight: 600; backdrop-filter: blur(8px); transition: transform 250ms ease; }
.art-label-one { top: 8%; left: 53%; }
.art-label-two { top: 45%; right: 0; }
.art-label-three { bottom: 7%; left: 37%; }
.feature-art[data-mode='mobility'] .art-label-one { transform: translateX(-25px); }
.feature-art[data-mode='careers'] .art-label-two { transform: translateY(20px); }
.feature-art[data-mode='learning'] .art-label-three { transform: translateX(35px); }
.art-result { position: relative; z-index: 2; display: flex; align-items: center; gap: 14px; margin: 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); }
.art-result span { color: #cfc7ff; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.art-result strong { font-size: 11px; font-weight: 500; }

.exchange .section-title { max-width: 780px; }
.bento-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 76px; }
.bento-card { position: relative; min-height: 540px; padding: 42px; overflow: hidden; border-radius: 16px; background: #f4f3f5; }
.bento-person { grid-column: 1 / -1; min-height: 430px; background: var(--purple-soft); }
.bento-copy { position: relative; z-index: 2; max-width: 520px; }
.bento-copy > span { color: var(--purple); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.bento-copy h3 { margin: 17px 0 13px; font-size: 32px; font-weight: 600; line-height: 1.15; }
.bento-copy p { max-width: 470px; margin: 0; color: var(--muted); font-size: 14px; }
.person-journey { position: absolute; right: 50px; bottom: 52px; left: 50px; display: flex; align-items: center; gap: 16px; }
.person-journey span, .person-journey strong { flex: 1; padding: 23px; border: 1px solid rgba(77,16,246,.15); border-radius: 10px; background: rgba(255,255,255,.68); color: var(--purple-deep); font-size: 12px; font-weight: 600; text-align: center; }
.person-journey strong { background: var(--purple); color: var(--paper); }
.person-journey i { color: var(--purple); font-style: normal; }
.team-rings { position: absolute; right: 0; bottom: -65px; left: 0; height: 330px; }
.team-rings > i { position: absolute; bottom: 0; left: 50%; border: 1px solid #d7d3da; border-radius: 50%; transform: translateX(-50%); }
.team-rings > i:nth-child(1) { width: 390px; height: 390px; }
.team-rings > i:nth-child(2) { bottom: 42px; width: 300px; height: 300px; border-style: dashed; }
.team-rings > i:nth-child(3) { bottom: 86px; width: 210px; height: 210px; }
.team-rings > div { position: absolute; bottom: 125px; left: 50%; text-align: center; transform: translateX(-50%); }
.team-rings > div strong, .team-rings > div small { display: block; }
.team-rings > div strong { font-size: 30px; }
.team-rings > div small { color: var(--muted); font-size: 9px; }
.ring-word { position: absolute; padding: 8px 12px; border: 1px solid var(--line); border-radius: 99px; background: var(--paper); color: var(--purple-deep); font-size: 9px; font-weight: 600; box-shadow: 0 10px 30px rgba(37,23,95,.08); }
.ring-word.p1 { bottom: 240px; left: 17%; }
.ring-word.p2 { right: 13%; bottom: 180px; }
.ring-word.p3 { bottom: 70px; left: 12%; }
.bento-organisation { background: var(--purple); color: var(--paper); }
.bento-organisation .bento-copy > span { color: #cdc5ff; }
.bento-organisation .bento-copy p { color: rgba(255,255,255,.66); }
.organisation-truth { position: absolute; right: 0; bottom: 0; left: 0; height: 290px; }
.organisation-truth strong { position: absolute; bottom: 25px; left: 38px; color: rgba(255,255,255,.14); font-family: 'Manrope', sans-serif; font-size: 170px; line-height: 1; letter-spacing: -.08em; }
.organisation-truth span { position: absolute; right: 46px; bottom: 58px; font-size: 13px; font-weight: 600; line-height: 1.35; text-transform: uppercase; }
.organisation-truth i { position: absolute; width: 9px; height: 9px; border: 2px solid var(--paper); border-radius: 50%; }
.organisation-truth i:nth-of-type(1) { right: 43px; bottom: 168px; }
.organisation-truth i:nth-of-type(2) { right: 145px; bottom: 118px; }
.organisation-truth i:nth-of-type(3) { right: 230px; bottom: 198px; }
.organisation-truth i:nth-of-type(4) { right: 315px; bottom: 105px; }

.evidence { background: #faf9fa; }
.evidence-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }
.evidence-copy > small { display: block; margin-top: 34px; color: #a19da5; font-size: 10px; }
.evidence-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.evidence-stats article { padding: 33px 24px; border-right: 1px solid var(--line); }
.evidence-stats article:last-child { border-right: 0; }
.evidence-stats strong, .evidence-stats > article > span { color: var(--purple); font-family: 'Manrope', sans-serif; font-size: 62px; font-weight: 500; line-height: 1; letter-spacing: -.06em; }
.evidence-stats > article > span { font-size: 27px; }
.evidence-stats p { margin: 42px 0 0; color: var(--muted); font-size: 12px; }

.grow { background: var(--purple-deep); color: var(--paper); }
.grow-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 110px; }
.grow-copy > p:not(.kicker) { color: rgba(255,255,255,.65); }
.grow-copy .button { margin-top: 34px; }
.grow-list { border-top: 1px solid rgba(255,255,255,.16); }
.grow-list > div { display: grid; grid-template-columns: 34px 170px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.grow-list span { color: #bdb2ff; font-size: 9px; }
.grow-list strong { font-size: 15px; }
.grow-list small { color: rgba(255,255,255,.58); font-size: 12px; }

.works-inner { display: flex; align-items: center; flex-direction: column; max-width: 830px; text-align: center; }
.works-inner > p:not(.kicker) { max-width: 690px; }
.system-row { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 56px; }
.system-row span, .system-row strong { display: flex; min-width: 104px; min-height: 58px; align-items: center; justify-content: center; gap: 8px; padding: 0 20px; border: 1px solid var(--line); border-radius: 9px; background: #faf9fa; font-size: 12px; }
.system-row strong { border-color: var(--purple); background: var(--purple); color: var(--paper); }
.system-row strong img { width: 52px; filter: grayscale(1) brightness(0) invert(1); }
.system-row i { color: #aaa5ae; font-style: normal; }

.end-benefits { padding-top: 92px; border-top: 1px solid var(--line); }
.end-benefits-heading { max-width: 760px; }
.end-benefits-heading h2 {
  margin: 0;
  font-size: clamp(42px, 4.5vw, 62px);
  font-weight: 600;
  line-height: 1.08;
}
.end-benefits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 72px; }
.end-benefit-visual { overflow: hidden; border-radius: 15px; background: #f4f2f6; }
.end-benefit-visual img { width: 100%; aspect-ratio: 1.44 / 1; object-fit: cover; transition: transform 500ms ease; }
.end-benefit:hover .end-benefit-visual img { transform: scale(1.025); }
.end-benefit h3 { margin: 25px 0 10px; font-size: 21px; font-weight: 600; letter-spacing: -0.03em; }
.end-benefit p { margin: 0; color: var(--muted); font-size: 14px; }

.talent-cloud { padding-top: 40px; }
.talent-cloud-inner { display: flex; align-items: center; flex-direction: column; }
.pill-field { position: relative; width: min(100%, 1040px); height: 330px; overflow: hidden; }
.cloud-pill {
  position: absolute;
  top: var(--top);
  left: var(--left);
  display: inline-flex;
  min-height: 59px;
  align-items: center;
  justify-content: center;
  padding: 0 27px;
  border-radius: 99px;
  color: var(--paper);
  font-family: 'Manrope', sans-serif;
  font-size: clamp(17px, 2vw, 25px);
  font-weight: 500;
  letter-spacing: -0.035em;
  opacity: 0;
  transform: translate3d(0, -240px, 0) rotate(-18deg);
  transition: transform 900ms cubic-bezier(.2, .82, .3, 1.18), opacity 220ms ease;
  transition-delay: var(--delay);
  white-space: nowrap;
}
.pill-field.settled .cloud-pill { opacity: 1; transform: translate3d(0, 0, 0) rotate(var(--rest)); }
.pill-blue { background: #3381f4; }
.pill-purple { background: #7043f4; }
.pill-pink { background: #df61dc; }
.pill-black { background: #17131f; }
.pill-green { background: #24bd73; }
.pill-yellow { background: #ffc229; color: #17131f; }
.pill-cyan { background: #15afe8; }
.talent-cloud-copy { max-width: 890px; text-align: center; }
.talent-cloud-copy h2 { margin: 0 0 22px; font-size: clamp(48px, 6vw, 76px); font-weight: 600; line-height: 1.05; }
.talent-cloud-copy > p:not(.kicker) { max-width: 650px; margin: 0 auto; color: var(--muted); font-size: 17px; }
.talent-cloud-actions { display: flex; justify-content: center; gap: 10px; margin-top: 30px; }

.contact { padding-top: 20px; }
.contact-card { position: relative; min-height: 540px; padding: 74px; overflow: hidden; border-radius: 20px; background: var(--purple); color: var(--paper); }
.contact-content { position: relative; z-index: 2; max-width: 690px; }
.contact-content > p:not(.kicker) { max-width: 560px; color: rgba(255,255,255,.7); }
.contact-content .button { margin-top: 32px; }
.contact-orbit { position: absolute; top: 50%; right: -40px; width: 490px; height: 490px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transform: translateY(-50%); }
.contact-orbit i { position: absolute; inset: 70px; border: 1px dashed rgba(255,255,255,.2); border-radius: 50%; }
.contact-orbit i:nth-child(2) { inset: 145px; border-style: solid; }
.contact-orbit img { position: absolute; top: 50%; left: 50%; width: 105px; filter: grayscale(1) brightness(0) invert(1); transform: translate(-50%,-50%); }

.site-footer {
  position: relative;
  margin-top: 72px;
  padding: 105px 0 32px;
  overflow: hidden;
  border-radius: 34px 34px 0 0;
  background:
    radial-gradient(circle at 78% 8%, rgba(105, 76, 255, .36), transparent 30%),
    linear-gradient(145deg, #100b1f 0%, #1d1144 58%, #28145c 100%);
  color: var(--paper);
}
.site-footer::before {
  position: absolute;
  top: -250px;
  right: -160px;
  width: 670px;
  height: 670px;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 50%;
  box-shadow:
    0 0 0 92px rgba(255, 255, 255, .025),
    0 0 0 184px rgba(255, 255, 255, .018);
  content: '';
}
.site-footer::after {
  position: absolute;
  right: -20px;
  bottom: -122px;
  color: rgba(255, 255, 255, .025);
  content: 'TORCH';
  font-family: 'Manrope', sans-serif;
  font-size: clamp(180px, 25vw, 360px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.09em;
  pointer-events: none;
}
.footer-showcase, .footer-directory, .footer-bottom { position: relative; z-index: 1; }
.footer-showcase {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: end;
  gap: 110px;
  padding-bottom: 92px;
}
.site-footer .footer-brand { width: 152px; margin-bottom: 70px; }
.site-footer .footer-brand img { filter: brightness(0) invert(1); }
.footer-kicker, .footer-group-title {
  margin: 0;
  color: #bdb1ff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.footer-statement h2 {
  max-width: 790px;
  margin: 24px 0 0;
  font-size: clamp(58px, 7.1vw, 94px);
  font-weight: 600;
  line-height: .96;
  letter-spacing: -.065em;
}
.footer-statement h2 span {
  color: transparent;
  background: linear-gradient(90deg, #a99aff 0%, #dcc2ff 50%, #ffb7de 100%);
  background-clip: text;
  -webkit-background-clip: text;
}
.footer-action { max-width: 390px; justify-self: end; padding-bottom: 7px; }
.footer-action p { margin: 0 0 34px; color: rgba(255, 255, 255, .68); font-size: 16px; line-height: 1.7; }
.footer-demo {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 0 26px;
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 99px;
  background: var(--paper);
  color: var(--purple-deep);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: gap 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.footer-demo:hover { gap: 28px; box-shadow: 0 18px 40px rgba(0, 0, 0, .24); transform: translateY(-2px); }
.footer-directory {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 80px;
  padding: 48px 0 52px;
  border-top: 1px solid rgba(255, 255, 255, .16);
}
.footer-directory-intro p { max-width: 330px; margin: 18px 0 0; color: rgba(255, 255, 255, .5); font-size: 13px; }
.footer-link-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 42px; }
.footer-link-group { display: flex; align-items: flex-start; flex-direction: column; gap: 13px; }
.footer-group-title { margin-bottom: 9px; color: rgba(255, 255, 255, .38); }
.footer-link-group a, .site-footer .footer-cookie-settings {
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  text-decoration: none;
  transition: color 160ms ease, transform 160ms ease;
}
.footer-link-group a:hover, .footer-link-group a[aria-current='page'], .site-footer .footer-cookie-settings:hover { color: #fff; transform: translateX(3px); }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding-top: 27px;
  border-top: 1px solid rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .42);
  font-size: 11px;
}
.footer-bottom > div { display: flex; flex-wrap: wrap; gap: 10px 30px; }
.footer-tagline { color: rgba(255, 255, 255, .68); }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity 700ms ease, transform 700ms ease; }
.reveal.visible { opacity: 1; transform: none; }
.value-grid .reveal:nth-child(2), .evidence-stats .reveal:nth-child(2) { transition-delay: 100ms; }
.value-grid .reveal:nth-child(3), .evidence-stats .reveal:nth-child(3) { transition-delay: 200ms; }

@media (max-width: 1040px) {
  .intelligence-flow { inset: 28px; }
  .flow-word { min-width: 166px; padding: 14px 15px; }
  .flow-core { transform: translate(-50%, -50%) scale(.9); }
  .feature-explorer { padding: 34px; }
  .feature-panel, .feature-art { min-height: 530px; }
  .grow-grid, .evidence-grid { gap: 65px; }
}

@media (max-width: 820px) {
  .section { padding: 94px 0; }
  .flow-side-title { display: none; }
  .flow-word { min-width: 145px; padding: 13px; }
  .flow-word strong { font-size: 14px; }
  .flow-word small { font-size: 6px; }
  .flow-skills { left: 4%; }.flow-experience { left: 0; }.flow-preferences { left: 5%; }.flow-roles { right: 4%; }.flow-opportunities { right: 2%; }
  .audience-list { flex-wrap: wrap; }
  .value-grid { gap: 24px; }
  .feature-explorer { grid-template-columns: 1fr; }
  .feature-tabs { display: grid; grid-template-columns: repeat(2, 1fr); }
  .feature-tab:nth-child(2) { border-left: 1px solid #dcd5d0; padding-left: 18px; }
  .feature-tab:nth-child(4) { border-left: 1px solid #dcd5d0; padding-left: 18px; }
  .feature-tab:nth-child(3) { border-bottom: 1px solid #dcd5d0; }
  .evidence-grid, .grow-grid { grid-template-columns: 1fr; }
  .evidence-copy { max-width: 650px; }
  .contact-orbit { right: -220px; opacity: .5; }
  .end-benefits-grid { gap: 16px; }
  .end-benefit h3 { font-size: 19px; }
  .pill-field { width: 760px; transform: scale(.9); }
  .footer-showcase { grid-template-columns: 1fr; gap: 52px; }
  .footer-action { max-width: 560px; justify-self: start; }
  .footer-directory { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 760px) {
  .nav-left, .nav-right { display: none; }
  .site-header, .site-header.scrolled { padding-top: 10px; }
  .nav-shell, .site-header.scrolled .nav-shell { display: flex; min-height: 64px; justify-content: space-between; padding: 0 16px; border-radius: 18px; }
  .brand, .site-header.scrolled .brand { width: 116px; }
  .menu-toggle { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; flex-direction: column; gap: 6px; border: 1px solid rgba(18,17,23,.08); border-radius: 50%; background: rgba(255,255,255,.5); }
  .menu-toggle:focus-visible { outline: 3px solid rgba(77,16,246,.24); outline-offset: 2px; }
  .menu-toggle span:not(.sr-only) { width: 21px; height: 1.5px; background: var(--ink); transition: transform 180ms ease; }
  .menu-toggle[aria-expanded='true'] span:nth-child(2) { transform: translateY(3.75px) rotate(45deg); }
  .menu-toggle[aria-expanded='true'] span:nth-child(3) { transform: translateY(-3.75px) rotate(-45deg); }
  .mobile-menu { position: fixed; inset: 84px 16px auto; z-index: 49; padding: 18px 20px 22px; border: 1px solid rgba(18,17,23,.09); border-radius: 18px; background: rgba(255,255,255,.97); box-shadow: 0 24px 60px rgba(31,20,63,.18); backdrop-filter: blur(22px); }
  .mobile-menu.open { display: flex; flex-direction: column; gap: 4px; }
  .mobile-menu > a:not(.button) { padding: 11px 2px; border-bottom: 1px solid var(--line); font-size: 18px; font-weight: 600; text-decoration: none; }
  .mobile-menu .button { margin-top: 12px; background: linear-gradient(135deg, #121117 15%, #2f185f 100%); }
  body.menu-open::before { position: fixed; inset: 0; z-index: 48; background: rgba(29,18,56,.08); backdrop-filter: blur(3px); content: ''; }
  .header-on-dark:not(.scrolled) .menu-toggle:focus-visible { outline-color: rgba(201,192,255,.5); }
}

@media (max-width: 640px) {
  .shell { width: min(calc(100% - 32px), var(--shell)); }
  .section { padding: 78px 0; }
  .hero { padding-top: 130px; }
  h1 { font-size: 48px; }
  .hero-copy { font-size: 16px; }
  .hero-actions { width: 100%; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .product-scene { min-height: 760px; margin-top: 65px; border-radius: 17px; }
  .product-scene::before { top: -250px; right: -250px; }
  .product-scene::after { right: -270px; bottom: -320px; }
  .intelligence-flow { inset: 18px; }
  .intelligence-flow::before { position: absolute; top: 10%; bottom: 9%; left: 50%; width: 1px; background: linear-gradient(transparent, rgba(77, 16, 246, .28) 18%, rgba(77, 16, 246, .28) 82%, transparent); content: ''; }
  .flow-routes { opacity: .22; }
  .flow-word { min-width: 123px; padding: 11px 12px; border-radius: 16px; }
  .flow-word strong { font-size: 13px; }
  .flow-word small { display: none; }
  .flow-word > i { width: 9px; height: 9px; }
  .flow-skills { top: 4%; left: 1%; }.flow-experience { top: 18%; right: 0; left: auto; }.flow-preferences { top: 32%; bottom: auto; left: 3%; }.flow-roles { top: auto; right: 3%; bottom: 22%; }.flow-opportunities { right: auto; bottom: 5%; left: 1%; }
  .flow-core { top: 53%; width: 190px; height: 190px; transform: translate(-50%, -50%); }
  .flow-halo-one { width: 190px; height: 190px; }.flow-halo-two { width: 148px; height: 148px; }
  .flow-prism { width: 116px; height: 116px; border-radius: 31px; }
  .flow-mark { transform: scale(.84); }.flow-prism strong { font-size: 9px; }
  .flow-particle { width: 7px; height: 7px; }
  .audience-strip { padding: 50px 0; }
  .audience-list { gap: 12px; }
  .audience-list span { font-size: 11px; }
  .section-title h2, .evidence-copy h2, .grow-copy h2, .works-inner h2, .contact-content h2 { font-size: 39px; }
  .value-grid { grid-template-columns: 1fr; margin-top: 55px; }
  .line-icon { margin-bottom: 35px; }
  .feature-explorer { width: 100%; margin-top: 54px; padding: 18px; border-radius: 0; }
  .feature-tabs { grid-template-columns: 1fr; }
  .feature-tab:nth-child(2), .feature-tab:nth-child(4) { border-left: 0; padding-left: 0; }
  .feature-panel, .feature-art { min-height: 520px; }
  .feature-art { padding: 30px 25px; }
  .feature-art > h3 { font-size: 32px; }
  .art-ring-one { width: 270px; height: 270px; }
  .art-ring-two { width: 185px; height: 185px; }
  .art-system { margin-left: -10px; }
  .bento-grid { grid-template-columns: 1fr; margin-top: 54px; }
  .bento-card { min-height: 520px; padding: 30px; }
  .bento-card.bento-person { grid-column: auto; min-height: 650px; }
  .bento-copy h3 { font-size: 27px; }
  .person-journey { right: 30px; bottom: 30px; left: 30px; flex-direction: column; }
  .person-journey span, .person-journey strong { width: 100%; }
  .person-journey i { transform: rotate(90deg); }
  .organisation-truth strong { left: 22px; font-size: 130px; }
  .evidence-stats { grid-template-columns: 1fr; }
  .evidence-stats article { border-right: 0; border-bottom: 1px solid var(--line); }
  .evidence-stats p { margin-top: 22px; }
  .grow-list > div { grid-template-columns: 28px 1fr; }
  .grow-list small { grid-column: 2; }
  .system-row { flex-wrap: wrap; }
  .system-row i { display: none; }
  .system-row span, .system-row strong { min-width: calc(50% - 10px); }
  .end-benefits { padding-top: 76px; }
  .end-benefits-heading h2 { font-size: 39px; }
  .end-benefits-grid { grid-template-columns: 1fr; margin-top: 50px; gap: 48px; }
  .end-benefit-visual img { aspect-ratio: 1.44 / 1; }
  .end-benefit h3 { margin-top: 20px; font-size: 21px; }
  .talent-cloud { padding-top: 12px; }
  .pill-field { width: 100%; height: 385px; transform: none; }
  .cloud-pill { min-height: 47px; padding-inline: 17px; font-size: 15px; }
  .pill-field .cloud-pill:nth-child(1) { --left: 1% !important; --top: 15% !important; }
  .pill-field .cloud-pill:nth-child(2) { --left: 48% !important; --top: 6% !important; }
  .pill-field .cloud-pill:nth-child(3) { --left: 42% !important; --top: 29% !important; }
  .pill-field .cloud-pill:nth-child(4) { --left: 2% !important; --top: 43% !important; }
  .pill-field .cloud-pill:nth-child(5) { --left: 37% !important; --top: 55% !important; }
  .pill-field .cloud-pill:nth-child(6) { --left: 9% !important; --top: 71% !important; }
  .pill-field .cloud-pill:nth-child(7) { --left: 44% !important; --top: 81% !important; }
  .talent-cloud-copy h2 { font-size: 44px; }
  .talent-cloud-actions { flex-direction: column; }
  .talent-cloud-actions .button { width: 100%; }
  .contact { padding-top: 0; }
  .contact-card { width: 100%; min-height: 570px; padding: 55px 25px; border-radius: 0; }
  .contact-orbit { top: auto; right: -120px; bottom: -260px; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .cloud-pill { opacity: 1; transform: translate3d(0, 0, 0) rotate(var(--rest)); }
  .flow-routes path, .flow-halo, .flow-prism, .flow-particle, .workforce-dashboard-top small i, .workforce-update > i, .living-map-visual::after, .map-core, .map-node { animation: none; }
}

/* Narrative-led multi-page site */
[aria-current='page']:not(.brand) { color: var(--ink); }
.header-on-dark:not(.scrolled) .nav-shell {
  border-color: rgba(255,255,255,.2);
  background: rgba(24,13,75,.62);
  box-shadow: 0 20px 58px rgba(7,3,28,.25), inset 0 1px 0 rgba(255,255,255,.12);
}
.header-on-dark:not(.scrolled) .nav-left > a, .header-on-dark:not(.scrolled) .nav-platform-trigger, .header-on-dark:not(.scrolled) .nav-demo { color: rgba(255,255,255,.72); }
.header-on-dark:not(.scrolled) [aria-current='page']:not(.brand) { color: #fff; }
.header-on-dark:not(.scrolled) .nav-left > a::after, .header-on-dark:not(.scrolled) .nav-platform-trigger::after, .header-on-dark:not(.scrolled) .nav-demo::after { background: #c9c0ff; }
.header-on-dark:not(.scrolled) .brand img { filter: grayscale(1) brightness(0) invert(1); }
.header-on-dark:not(.scrolled) .button-dark { border-color: #fff; background: #fff; color: var(--purple-deep); }
.header-on-dark:not(.scrolled) .menu-toggle { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.08); }
.header-on-dark:not(.scrolled) .menu-toggle span:not(.sr-only) { background: #fff; }
.eyebrow { margin: 0 0 8px; color: var(--purple); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.hero h1 { max-width: 920px; margin-top: 20px; font-size: clamp(68px, 9vw, 118px); line-height: .91; }
.gradient-word { background: linear-gradient(90deg, var(--purple) 0%, #8757fa 50%, #d66ade 100%); background-clip: text; color: transparent; }
.hero-copy { max-width: 730px; }
.hero-actions { align-items: center; gap: 26px; }
.text-link, .inline-link { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.text-link span, .inline-link span { transition: transform 180ms ease; }
.text-link:hover span, .inline-link:hover span { transform: translateX(4px); }
.product-scene-home { margin-top: 82px; }

.editorial-section { background: #faf9fa; }
.editorial-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 120px; }
.editorial-copy { max-width: 650px; }
.editorial-copy p { margin: 0 0 24px; color: var(--muted); }
.editorial-copy .lead, .lead { color: var(--ink); font-size: 20px; line-height: 1.55; }
.editorial-copy .statement { margin-top: 42px; padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); font-size: 17px; }

.platform-preview { background: #fff; }
.capability-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 76px; }
.capability-card { position: relative; display: flex; min-height: 440px; flex-direction: column; padding: 42px; overflow: hidden; border-radius: 18px; background: #f5f3f6; }
.capability-card-featured { min-height: 560px; grid-row: span 2; background: var(--purple-soft); }
.capability-card-dark { min-height: 360px; background: var(--purple-deep); color: var(--paper); }
.card-number, .solution-index { color: var(--purple); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.capability-card-dark .card-number { color: #bfb3ff; }
.capability-card h3 { max-width: 460px; margin: auto 0 12px; font-size: clamp(29px, 3vw, 42px); font-weight: 600; line-height: 1.08; }
.capability-card p { max-width: 520px; margin: 0; color: var(--muted); font-size: 14px; }
.capability-card-dark p { color: rgba(255,255,255,.65); }
.capability-card .inline-link { margin-top: 28px; color: var(--paper); }
.card-visual { position: relative; flex: 1; min-height: 255px; }
.workforce-map { min-height: 650px; }
.workforce-map::before { position: absolute; top: 13%; left: 8%; width: 84%; height: 58%; border-radius: 50%; background: rgba(77, 16, 246, .09); content: ''; filter: blur(45px); }
.workforce-dashboard { position: absolute; top: 13%; left: 50%; z-index: 2; width: 92%; overflow: hidden; border: 1px solid rgba(31, 20, 63, .11); border-radius: 23px; background: rgba(255, 255, 255, .94); box-shadow: 0 35px 75px rgba(46, 24, 103, .16), inset 0 1px 0 #fff; transform: translateX(-50%) rotate(-1deg); transition: transform 300ms ease, box-shadow 300ms ease; }
.capability-card-featured:hover .workforce-dashboard { box-shadow: 0 42px 88px rgba(46, 24, 103, .2), inset 0 1px 0 #fff; transform: translateX(-50%) rotate(0); }
.workforce-dashboard-top { display: flex; height: 53px; align-items: center; justify-content: space-between; padding: 0 20px; border-bottom: 1px solid #ece8f0; color: #423b4a; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.workforce-dashboard-top small { display: flex; align-items: center; gap: 7px; color: #7c7582; font-size: 7px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.workforce-dashboard-top small i { width: 7px; height: 7px; border-radius: 50%; background: #45c78a; box-shadow: 0 0 0 4px rgba(69, 199, 138, .13); animation: workforce-status 2.5s ease-in-out infinite; }
.workforce-profile-stage { position: relative; min-height: 315px; padding: 20px; background: linear-gradient(135deg, rgba(248, 250, 255, .96), rgba(252, 250, 255, .96)); }
.workforce-profile-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; padding-bottom: 15px; border-bottom: 1px solid #ebe7ef; }
.workforce-profile-head > b { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 13px; background: #eeeafe; color: #6e4ce0; font-size: 10px; }
.workforce-profile-head > span { display: flex; flex-direction: column; gap: 3px; }
.workforce-profile-head > span strong { color: #2f2935; font-size: 11px; }
.workforce-profile-head > span small { color: #817a87; font-size: 7px; }
.workforce-profile-head > i { display: flex; align-items: center; gap: 6px; padding: 7px 9px; border-radius: 99px; background: #f1fff7; color: #33885d; font-size: 6px; font-style: normal; font-weight: 700; }
.workforce-profile-head > i b { width: 6px; height: 6px; border-radius: 50%; background: #55d292; box-shadow: 0 0 0 3px rgba(85, 210, 146, .13); }
.workforce-profile-meta { display: grid; grid-template-columns: repeat(3, 1fr); margin: 12px 0 15px; padding: 11px 0; border-bottom: 1px solid #ebe7ef; }
.workforce-profile-meta span { display: flex; flex-direction: column; gap: 4px; color: #96909b; font-size: 5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.workforce-profile-meta span + span { padding-left: 12px; border-left: 1px solid #ebe7ef; }
.workforce-profile-meta strong { color: #4b4552; font-size: 7px; letter-spacing: 0; text-transform: none; }
.workforce-skill-group { display: grid; grid-template-columns: 82px 1fr; align-items: start; gap: 8px; padding: 7px 0; }
.workforce-skill-group > span { padding-top: 5px; color: #8e8794; font-size: 5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.workforce-skill-group > div { display: flex; flex-wrap: wrap; gap: 5px; }
.skill-badge { padding: 6px 8px; border-radius: 99px; font-size: 6px; font-style: normal; font-weight: 700; transition: transform 220ms ease, box-shadow 220ms ease; }
.skill-blue { background: #b7d9ff; color: #27558d; }.skill-purple { background: #d5c1ff; color: #5732a5; }.skill-green { background: #8ae6b5; color: #1f7049; }.skill-neutral { border: 1px solid #dfe3e9; background: #f5f7f9; color: #697483; }
.capability-card-featured:hover .skill-badge:nth-child(odd) { box-shadow: 0 7px 14px rgba(31, 20, 63, .08); transform: translateY(-2px); }
.workforce-dashboard-bottom { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #ece8f0; }
.workforce-dashboard-bottom > div { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; padding: 16px 18px; }
.workforce-dashboard-bottom > div + div { border-left: 1px solid #ece8f0; }
.workforce-dashboard-bottom span { color: #87808c; font-size: 7px; }
.workforce-dashboard-bottom strong { color: #28222e; font-size: 14px; }
.workforce-dashboard-bottom strong i { color: #20a96a; font-size: 7px; font-style: normal; }
.workforce-dashboard-bottom div > b { grid-column: 1 / -1; height: 5px; overflow: hidden; border-radius: 99px; background: #eeeaf2; }
.workforce-dashboard-bottom div > b i { display: block; width: 86%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--purple), #a45de7); }
.workforce-dashboard-bottom > div + div > b i { width: 74%; }
.workforce-insight { position: absolute; right: 0; bottom: 9%; z-index: 4; display: flex; width: 210px; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid rgba(77, 16, 246, .18); border-radius: 17px; background: var(--purple-deep); color: #fff; box-shadow: 0 23px 48px rgba(31, 13, 76, .26); transform: rotate(3deg); transition: transform 260ms ease; }
.capability-card-featured:hover .workforce-insight { transform: rotate(1deg) translateY(-4px); }
.workforce-insight > span { color: #bfb2ff; font-size: 6px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.workforce-insight > strong { font-size: 12px; line-height: 1.25; }
.workforce-insight > small { display: flex; align-items: center; color: rgba(255, 255, 255, .65); font-size: 6px; }
.workforce-insight > small i { display: grid; width: 20px; height: 20px; margin-right: -5px; place-items: center; border: 2px solid var(--purple-deep); border-radius: 7px; background: #fff; color: var(--purple); font-size: 5px; font-style: normal; }
.workforce-insight > small i:last-of-type { margin-right: 10px; }
.workforce-update { position: absolute; bottom: 15%; left: 0; z-index: 3; display: flex; align-items: center; gap: 11px; padding: 13px 16px; border: 1px solid rgba(31, 20, 63, .1); border-radius: 15px; background: rgba(255, 255, 255, .93); box-shadow: 0 18px 38px rgba(31, 20, 63, .12); transform: rotate(-2deg); }
.workforce-update > i { width: 10px; height: 10px; border: 3px solid #d9cef8; border-radius: 50%; background: var(--purple); box-shadow: 0 0 0 5px rgba(77, 16, 246, .09); animation: workforce-status 2.5s .6s ease-in-out infinite; }
.workforce-update > span { display: flex; flex-direction: column; gap: 3px; }
.workforce-update strong { font-size: 8px; }.workforce-update small { color: #8a8490; font-size: 6px; }
@keyframes workforce-status { 50% { box-shadow: 0 0 0 7px rgba(69, 199, 138, 0); transform: scale(1.08); } }
.signal-row { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 38px; }
.signal-row span, .signal-row strong { padding: 9px 12px; border: 1px solid #ddd8e0; border-radius: 99px; background: #fff; font-size: 10px; }
.signal-row strong { border-color: var(--purple); background: var(--purple); color: #fff; }
.signal-row i { color: #9a949e; font-style: normal; }
.gap-meter { display: flex; height: 105px; align-items: end; gap: 12px; margin-top: auto; padding-top: 28px; border-bottom: 1px solid #d8d4da; }
.gap-meter span { width: 24%; height: var(--value); border-radius: 7px 7px 0 0; background: linear-gradient(#7141f5, var(--purple)); }

.value-exchange { overflow: hidden; background: var(--purple); color: var(--paper); }
.exchange-heading { max-width: 980px; }
.exchange-heading h2 { margin: 0; font-size: clamp(48px, 6vw, 78px); font-weight: 600; line-height: 1.04; }
.exchange-columns { display: grid; grid-template-columns: repeat(2,1fr); gap: 0; margin-top: 82px; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.exchange-column { padding: 40px 60px 45px 0; }
.exchange-column + .exchange-column { padding-right: 0; padding-left: 60px; border-left: 1px solid rgba(255,255,255,.2); }
.exchange-column > span { color: #c9c1ff; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.exchange-column h3 { max-width: 500px; margin: 28px 0 16px; font-size: 30px; font-weight: 600; line-height: 1.15; }
.exchange-column p, .exchange-note { color: rgba(255,255,255,.66); }
.exchange-note { max-width: 790px; margin: 36px 0 0 auto; font-size: 14px; }
.exchange-narrative { max-width: 880px; margin: 70px 0 0 auto; padding-top: 42px; border-top: 1px solid rgba(255,255,255,.2); }
.exchange-narrative p { margin: 0 0 24px; color: rgba(255,255,255,.72); font-size: 18px; }
.exchange-narrative p:last-child { margin-bottom: 0; }

.difference-section { overflow: hidden; }
.difference-section .section-title { max-width: 790px; margin-bottom: 72px; }
.difference-heading h2 { max-width: 680px; }
.difference-heading > p:not(.kicker) { max-width: 680px; }
.intelligence-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.intelligence-card { min-width: 0; }
.intelligence-visual {
  position: relative;
  min-height: 340px;
  overflow: hidden;
  border: 1px solid rgba(31, 20, 63, .08);
  border-radius: 24px;
  background: #f5f3f6;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
  transition: transform 240ms ease, box-shadow 240ms ease;
}
.intelligence-card:hover .intelligence-visual { box-shadow: 0 24px 56px rgba(31, 20, 63, .11), inset 0 1px 0 #fff; transform: translateY(-5px); }
.intelligence-card-copy { padding: 27px 4px 0; }
.intelligence-card-copy > span { color: var(--purple); font-size: 9px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.intelligence-card-copy h3 { margin: 17px 0 14px; font-size: clamp(23px, 2.15vw, 30px); font-weight: 600; line-height: 1.13; letter-spacing: -.035em; }
.intelligence-card-copy p { margin: 0; color: var(--muted); font-size: 14px; }

.intelligence-records { background: radial-gradient(circle at 78% 18%, rgba(115, 67, 246, .14), transparent 30%), #f5f3f6; }
.record-layer { position: absolute; top: 93px; left: 50%; width: 74%; height: 157px; border: 1px solid rgba(31, 20, 63, .07); border-radius: 15px; background: rgba(255, 255, 255, .62); transform: translateX(-50%); }
.record-layer-back { margin-top: 28px; opacity: .42; transform: translateX(-50%) scale(.88); }
.record-layer-mid { margin-top: 15px; opacity: .68; transform: translateX(-50%) scale(.94); }
.record-panel { position: absolute; top: 80px; left: 50%; z-index: 2; width: 78%; padding: 18px; border: 1px solid rgba(31, 20, 63, .1); border-radius: 16px; background: rgba(255, 255, 255, .95); box-shadow: 0 18px 42px rgba(31, 20, 63, .1); transform: translateX(-50%); }
.record-panel-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 13px; border-bottom: 1px solid var(--line); color: #514b58; font-size: 9px; font-weight: 700; }
.record-panel-top small { display: inline-flex; align-items: center; gap: 5px; color: #5f5970; font-size: 8px; font-weight: 600; }
.record-panel-top small::before { width: 6px; height: 6px; border-radius: 50%; background: #44c787; content: ''; box-shadow: 0 0 0 3px rgba(68, 199, 135, .13); }
.record-person { display: flex; align-items: center; gap: 11px; padding: 15px 0; }
.record-person > b { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: var(--purple); color: #fff; font-size: 10px; }
.record-person > div { display: flex; flex-direction: column; gap: 3px; }
.record-person strong { font-size: 11px; }
.record-person small { color: var(--muted); font-size: 8px; }
.record-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.record-meta span { padding: 8px 4px; border-radius: 7px; background: #f4f1f8; color: #81798d; font-size: 7px; text-align: center; }
.capability-cardlet { position: absolute; right: 8%; bottom: 29px; z-index: 3; display: flex; min-width: 145px; flex-direction: column; gap: 4px; padding: 13px 16px; border: 1px solid rgba(77, 16, 246, .18); border-radius: 13px; background: var(--purple); color: #fff; box-shadow: 0 17px 36px rgba(77, 16, 246, .24); transform: rotate(-3deg); }
.capability-cardlet small { color: #c9c0ff; font-size: 7px; text-transform: uppercase; }
.capability-cardlet strong { font-size: 12px; }

.intelligence-learning { padding: 38px 30px; background: radial-gradient(circle at 15% 90%, rgba(214, 106, 222, .12), transparent 30%), #f7f5fa; }
.learning-gap-card { display: grid; grid-template-columns: 1fr auto; gap: 14px; padding: 17px; border: 1px solid rgba(31, 20, 63, .09); border-radius: 15px; background: #fff; box-shadow: 0 16px 34px rgba(31, 20, 63, .08); }
.learning-gap-card > div { display: flex; flex-direction: column; gap: 4px; }
.learning-gap-card span { color: #8b8590; font-size: 7px; text-transform: uppercase; }
.learning-gap-card strong { font-size: 11px; }
.learning-gap-card > b { color: var(--purple); font-size: 18px; }
.learning-gap-card > i { grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 99px; background: #eeeaf2; }
.learning-gap-card > i span { display: block; width: 62%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--purple), #a960ee); }
.learning-options { display: flex; flex-direction: column; gap: 7px; margin: 13px 7px 0; }
.learning-options > span { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid rgba(31, 20, 63, .07); border-radius: 10px; background: rgba(255, 255, 255, .78); color: #514c57; font-size: 8px; }
.learning-options i { width: 7px; height: 7px; border-radius: 2px; background: #a582ff; }
.learning-options b { color: var(--purple); font-size: 7px; font-weight: 700; }
.learning-route { position: absolute; right: 25px; bottom: 25px; left: 25px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; color: #817a88; font-size: 7px; }
.learning-route i { height: 1px; background: linear-gradient(90deg, #cfc8d7, var(--purple)); }
.learning-route strong { padding: 8px 10px; border-radius: 99px; background: var(--purple-deep); color: #fff; font-size: 7px; }

.intelligence-stack { background: radial-gradient(circle at 50% 48%, rgba(77, 16, 246, .15), transparent 38%), #f5f3f6; }
.stack-visual-label { position: absolute; top: 27px; left: 29px; color: #756e7c; font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.stack-network { position: absolute; inset: 56px 20px 55px; }
.stack-network > strong, .stack-system { position: absolute; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(31, 20, 63, .1); background: #fff; box-shadow: 0 13px 30px rgba(31, 20, 63, .1); }
.stack-network > strong { top: 50%; left: 50%; width: 92px; height: 92px; border-color: rgba(77, 16, 246, .22); border-radius: 29px; transform: translate(-50%, -50%) rotate(-4deg); }
.stack-network > strong img { width: 63px; transform: rotate(4deg); }
.stack-system { width: 58px; height: 58px; border-radius: 18px; color: #5f5967; font-size: 8px; font-weight: 700; }
.stack-hris { top: 2px; left: 5%; transform: rotate(-7deg); }
.stack-lms { top: 15px; right: 2%; transform: rotate(8deg); }
.stack-ats { right: 8%; bottom: 0; transform: rotate(-4deg); }
.stack-line { position: absolute; z-index: 1; left: 50%; width: 1px; height: 94px; background: linear-gradient(rgba(77, 16, 246, .1), rgba(77, 16, 246, .5)); transform-origin: bottom; }
.stack-line-one { top: 9px; transform: rotate(-57deg); }
.stack-line-two { top: 13px; transform: rotate(55deg); }
.stack-line-three { right: 24%; bottom: 28px; left: auto; height: 83px; transform: rotate(-55deg); }
.stack-status { position: absolute; bottom: 23px; left: 50%; display: flex; align-items: center; gap: 7px; width: max-content; padding: 9px 13px; border: 1px solid rgba(31, 20, 63, .09); border-radius: 99px; background: rgba(255, 255, 255, .86); color: #625c69; font-size: 8px; transform: translateX(-50%); }
.stack-status i { width: 7px; height: 7px; border-radius: 50%; background: #44c787; box-shadow: 0 0 0 3px rgba(68, 199, 135, .13); }

.partnership-band, .compound-band { padding: 96px 0; background: var(--purple-deep); color: var(--paper); }
.partnership-grid, .compound-grid { display: grid; grid-template-columns: .5fr 1.5fr; gap: 100px; }
.partnership-grid h2, .compound-grid h2 { max-width: 750px; margin: 0 0 20px; font-size: clamp(40px, 4vw, 58px); font-weight: 600; line-height: 1.08; }
.partnership-grid > div > p, .compound-grid > p { max-width: 720px; margin: 0; color: rgba(255,255,255,.65); }
.footer-bottom > div { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.footer-cookie-settings, .legal-text-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
}
.footer-cookie-settings:hover { color: var(--purple); }
.footer-cookie-settings:focus-visible, .legal-text-button:focus-visible { outline: 3px solid rgba(77, 16, 246, .2); outline-offset: 3px; }

/* Platform */
.inner-hero { position: relative; min-height: 730px; padding: 185px 0 110px; overflow: hidden; }
.inner-hero-purple {
  isolation: isolate;
  background:
    radial-gradient(circle at 82% 10%, rgba(111, 78, 255, .4), transparent 29%),
    radial-gradient(circle at 8% 96%, rgba(255, 183, 222, .1), transparent 31%),
    linear-gradient(145deg, #100b1f 0%, #1d1144 55%, #28145c 100%);
  color: var(--paper);
}
.inner-hero-purple::after {
  position: absolute;
  bottom: -510px;
  left: -330px;
  z-index: 0;
  width: 760px;
  height: 760px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 105px rgba(255,255,255,.022), 0 0 0 210px rgba(255,255,255,.014);
  content: '';
  pointer-events: none;
}
.inner-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 90px; }
.inner-hero h1 { max-width: 850px; margin: 0; font-size: clamp(62px, 7vw, 94px); line-height: .98; }
.inner-hero-copy { max-width: 475px; padding-bottom: 8px; }
.inner-hero-copy p { margin: 0 0 30px; color: rgba(255,255,255,.68); font-size: 18px; }
.platform-orbit { position: absolute; right: -120px; bottom: -300px; width: 720px; height: 720px; opacity: .45; }
.platform-orbit i { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.platform-orbit i:nth-child(2) { inset: 110px; border-style: dashed; }
.platform-orbit i:nth-child(3) { inset: 225px; }
.platform-orbit strong { position: absolute; inset: 300px; display: grid; place-items: center; border-radius: 50%; background: #fff; }
.platform-orbit strong img { width: 40px; }
.platform-orbit span { position: absolute; padding: 8px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 99px; font-size: 10px; }
.platform-orbit span:nth-of-type(1) { top: 8%; left: 42%; }.platform-orbit span:nth-of-type(2) { top: 35%; left: 2%; }.platform-orbit span:nth-of-type(3) { top: 32%; right: 2%; }
.section-nav { position: sticky; top: 88px; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); backdrop-filter: blur(15px); }
.section-nav .shell { display: flex; gap: 34px; padding-inline: 13px; overflow-x: auto; overflow-y: hidden; }
.section-nav a { position: relative; padding: 17px 0; color: var(--muted); font-size: 11px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: color 180ms ease; }
.section-nav a::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; border-radius: 99px; background: var(--purple); content: ''; transform: scaleX(0); transform-origin: center; transition: transform 200ms ease; }
.section-nav a:hover { color: var(--purple); }
.section-nav a.is-active, .section-nav a[aria-current='location'] { color: var(--ink); }
.section-nav a.is-active::after, .section-nav a[aria-current='location']::after { transform: scaleX(1); }
.section-nav a.is-active:hover, .section-nav a[aria-current='location']:hover { color: var(--ink); }
.section-nav a:focus-visible { outline: 3px solid rgba(77,16,246,.25); outline-offset: 7px; }
.feature-story-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 100px; }
.feature-story-reverse { grid-template-columns: 1.05fr .95fr; }
.feature-story-reverse .feature-story-copy { order: 2; }
.feature-story-copy h2 { margin-bottom: 25px; font-size: clamp(44px, 5vw, 67px); font-weight: 600; line-height: 1.05; }
.feature-story-copy > p:not(.kicker) { color: var(--muted); }
.feature-story-copy > p.lead { color: var(--ink); }
.feature-visual { position: relative; min-height: 590px; overflow: hidden; border-radius: 18px; background: var(--purple-soft); }
.living-map-visual { background: radial-gradient(circle at 16% 8%, rgba(255,255,255,.9), transparent 29%), radial-gradient(circle at 88% 82%, rgba(115,66,246,.17), transparent 31%), radial-gradient(rgba(77,16,246,.1) .7px, transparent .7px), linear-gradient(145deg, #f5f2ff, #e4dcff); background-size: auto, auto, 12px 12px, auto; box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.living-map-visual::before, .living-map-visual::after { position: absolute; top: 50%; left: 50%; width: 430px; height: 430px; border: 1px solid rgba(77,16,246,.18); border-radius: 50%; content: ''; transform: translate(-50%,-50%); }
.living-map-visual::before { box-shadow: 0 0 0 64px rgba(77,16,246,.018); }
.living-map-visual::after { width: 280px; height: 280px; border-style: dashed; animation: map-ring-spin 28s linear infinite; }
.map-core { position: absolute; top: 50%; left: 50%; z-index: 3; display: flex; width: 190px; height: 190px; align-items: center; justify-content: center; color: #fff; transform: translate(-50%,-50%); animation: map-core-breathe 6s ease-in-out infinite; }
.map-core::before { position: absolute; inset: 25px; z-index: -1; border: 1px solid rgba(255,255,255,.3); border-radius: 37px; background: linear-gradient(145deg, #6d34f5, #321276 72%); box-shadow: 0 28px 60px rgba(56,21,141,.3), inset 0 1px 0 rgba(255,255,255,.25); content: ''; transform: rotate(45deg); }
.map-core::after { position: absolute; inset: 4px; z-index: -2; border: 1px dashed rgba(77,16,246,.18); border-radius: 42%; content: ''; transform: rotate(45deg); }
.map-mark { display: block; width: 42px; height: 29px; fill: currentColor; }
.map-node { --node-colour: #8e7ee5; --tilt: 0deg; position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid rgba(37,23,95,.1); border-radius: 17px; background: rgba(255,255,255,.82); color: #30283a; font-size: 10px; font-weight: 600; box-shadow: 0 16px 38px rgba(55,31,117,.1), inset 0 1px 0 rgba(255,255,255,.9); backdrop-filter: blur(14px); transform: rotate(var(--tilt)); animation: map-node-float 5.5s var(--delay, 0s) ease-in-out infinite; }
.map-node::before { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 3px; background: var(--node-colour); box-shadow: 0 0 0 4px rgba(77,16,246,.06); content: ''; }
.map-blue, .map-green, .map-yellow { --node-colour: #6336db; }.map-lilac, .map-pink, .map-cyan { --node-colour: #9a82e8; }
.map-node.n1 { top: 8%; left: 39%; --delay: -1s; --tilt: -2deg; }.map-node.n2 { top: 27%; right: 4%; --delay: -3.8s; --tilt: 2deg; }.map-node.n3 { right: 12%; bottom: 9%; --delay: -2.2s; --tilt: -2deg; }.map-node.n4 { bottom: 5%; left: 22%; --delay: -4.4s; --tilt: 2deg; }.map-node.n5 { top: 35%; left: 3%; --delay: -.4s; --tilt: -1deg; }.map-node.n6 { top: 8%; right: 7%; --delay: -2.9s; --tilt: 2deg; }.map-node.n7 { bottom: 25%; left: 3%; --delay: -1.8s; --tilt: 1deg; }.map-node.n8 { right: 31%; bottom: 25%; --delay: -4.9s; --tilt: -2deg; }.map-node.n9 { top: 7%; left: 8%; --delay: -3.3s; --tilt: 2deg; }.map-node.n10 { right: 2%; bottom: 43%; --delay: -.8s; --tilt: -1deg; }
@keyframes map-node-float { 0%, 100% { transform: translate3d(0, 0, 0) rotate(var(--tilt)); } 50% { transform: translate3d(0, -7px, 0) rotate(0); } }
@keyframes map-core-breathe { 50% { transform: translate(-50%,-52%) scale(1.025); } }
@keyframes map-ring-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.insight-pair { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin-top: 22px; }
.insight-card { padding: 40px; border: 1px solid var(--line); border-radius: 15px; }
.insight-card > span { color: var(--purple); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.insight-card h3 { margin: 0 0 18px; font-size: 28px; font-weight: 600; line-height: 1.15; }
.insight-card p { margin: 0; color: var(--muted); font-size: 14px; }
.module-band { padding: 110px 0; background: var(--purple); color: var(--paper); }
.module-grid { display: grid; grid-template-columns: .5fr 1.5fr; gap: 100px; }
.module-label span, .module-label strong { display: block; }.module-label span { color: #c8bfff; font-size: 10px; text-transform: uppercase; }.module-label strong { margin-top: 8px; font-size: 18px; }
.module-copy { max-width: 820px; }.module-copy h2 { margin-bottom: 28px; font-size: clamp(44px,5vw,66px); line-height: 1.05; }.module-copy > p:not(.kicker) { color: rgba(255,255,255,.68); }
.match-visual { padding: 46px; background: #f5f3f6; }
.match-visual > p { margin: 0 0 42px; color: var(--purple); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.match-visual article { display: flex; align-items: center; gap: 18px; margin-bottom: 12px; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.match-visual article > span { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: var(--purple-soft); color: var(--purple); font-size: 13px; font-weight: 700; }
.match-visual article div { display: flex; flex-direction: column; }.match-visual article strong { font-size: 15px; }.match-visual article small { color: var(--muted); }.match-visual footer { margin-top: 38px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; text-align: center; }
.aspiration-section { background: #faf9fa; }.aspiration-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }.aspiration-copy p { color: var(--muted); }.preference-pills { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 34px; }.preference-pills span { padding: 10px 14px; border: 1px solid #ddd8e0; border-radius: 99px; background: #fff; color: var(--purple-deep); font-size: 11px; font-weight: 600; }
.planning-section .section-title { max-width: 850px; }.planning-section .section-title p + p { margin-top: 18px; }.decision-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 72px; }.decision-card { min-height: 330px; padding: 36px; border-top: 3px solid var(--purple); background: #f5f3f6; }.decision-card > span { color: var(--purple); font-size: 10px; }.decision-card h3 { margin: auto 0 16px; padding-top: 90px; font-size: 26px; line-height: 1.15; }.decision-card p { margin: 0; color: var(--muted); font-size: 14px; }
.employee-section { background: var(--purple-deep); color: var(--paper); }.employee-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 100px; }.employee-section .feature-story-copy > p:not(.kicker) { color: rgba(255,255,255,.65); }.employee-section .feature-story-copy > p.lead { color: #fff; }.employee-profile { padding: 34px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: #fff; color: var(--ink); box-shadow: 0 35px 70px rgba(0,0,0,.2); }.employee-profile header, .employee-profile footer { display: flex; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; }.employee-profile header span { color: var(--purple); font-weight: 700; }.profile-person { display: flex; align-items: center; gap: 16px; padding: 32px 0; }.profile-person > i { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; background: var(--purple-soft); color: var(--purple); font-style: normal; font-weight: 700; }.profile-person div, .role-line { display: flex; justify-content: space-between; }.profile-person div { flex-direction: column; }.profile-person small, .role-line, .employee-profile > p { color: var(--muted); font-size: 11px; }.role-line { margin-bottom: 10px; padding: 17px; border-radius: 9px; background: #f5f3f6; }.role-line strong { color: var(--purple); }.employee-profile footer { margin-top: 24px; padding: 20px 0 0; border-top: 1px solid var(--line); border-bottom: 0; }
.principles-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin-top: 72px; background: var(--line); border: 1px solid var(--line); }.principle { min-height: 310px; padding: 40px; background: #fff; }.principle span { color: var(--purple); font-size: 10px; }.principle h3 { margin: 80px 0 14px; font-size: 26px; }.principle p { max-width: 470px; margin: 0; color: var(--muted); font-size: 14px; }.principles-note { max-width: 760px; margin: 40px 0 0 auto; color: var(--muted); font-size: 15px; }
.stack-band { padding: 95px 0; background: #f5f3f6; }.stack-grid { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: 90px; }.stack-grid h2 { margin-bottom: 18px; font-size: clamp(38px,4vw,54px); line-height: 1.08; }.stack-grid p { color: var(--muted); }.stack-grid .system-row { margin: 0; }
.roadmap-section { background: #fbf8f3; }.roadmap-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }.roadmap-badge { display: inline-flex; margin: 0 0 24px; padding: 6px 10px; border-radius: 99px; background: #f1ddbc; color: #74511a; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.roadmap-items { border-top: 1px solid #ded6cb; }.roadmap-item { padding: 34px 0; border-bottom: 1px solid #ded6cb; }.roadmap-item span { color: #8b641f; font-size: 9px; text-transform: uppercase; }.roadmap-item h3 { margin: 0 0 10px; font-size: 25px; }.roadmap-item p { margin: 0; color: var(--muted); font-size: 14px; }.roadmap-conclusion { margin: 34px 0 0; color: var(--muted); }.roadmap-cta { margin-top: 26px; }

/* Solutions */
.solutions-hero { min-height: 760px; padding-bottom: 0; background: linear-gradient(180deg,#fff 0%,#f3edff 100%); }.solutions-hero-inner { display: flex; align-items: center; flex-direction: column; text-align: center; }.solutions-hero h1 { max-width: 920px; }.solutions-hero-inner > p:not(.kicker) { max-width: 690px; color: var(--muted); font-size: 18px; }.solutions-hero .button { margin-top: 25px; }.solution-ribbon { position: absolute; right: -2%; bottom: 60px; left: -2%; display: flex; align-items: center; justify-content: center; gap: 22px; padding: 23px; background: var(--purple); color: #fff; transform: rotate(-2deg); }.solution-ribbon span { font-size: 13px; font-weight: 600; }.solution-ribbon i { width: 4px; height: 4px; border-radius: 50%; background: #c6bbff; }
.flagship-solution { padding-top: 150px; }.flagship-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 90px; }.flagship-copy h2 { margin: 26px 0; font-size: clamp(46px,5.4vw,72px); line-height: 1.03; }.flagship-copy > p { color: var(--muted); }.flagship-copy > p.lead { color: var(--ink); }.flagship-copy .inline-link { margin-top: 22px; }.sprint-card { padding: 52px; border-radius: 18px; background: var(--purple-deep); color: #fff; }.sprint-card h3 { margin: 8px 0 15px; font-size: 38px; }.sprint-card > p:not(.kicker), .sprint-card small { color: rgba(255,255,255,.63); }.sprint-card ol { padding: 0; margin: 38px 0; list-style: none; border-top: 1px solid rgba(255,255,255,.16); }.sprint-card li { display: grid; grid-template-columns: 38px 1fr; gap: 16px; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.16); }.sprint-card li > span { color: #bfb4ff; font-size: 10px; }.sprint-card li div { display: flex; flex-direction: column; }.sprint-card footer { color: #d6d0fa; font-size: 13px; }
.solution-stack { padding-top: 30px; }.solution-story { display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; padding: 100px 0; border-top: 1px solid var(--line); }.solution-heading h2 { margin: 26px 0 0; font-size: clamp(42px,4.5vw,62px); line-height: 1.06; }.solution-body > p { max-width: 610px; color: var(--muted); }.solution-body > p.lead { color: var(--ink); }.solution-diagram { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 50px; padding: 36px; border-radius: 14px; background: #f5f3f6; }.solution-diagram span, .solution-diagram strong { padding: 12px 14px; border-radius: 99px; background: #fff; font-size: 10px; text-align: center; }.solution-diagram strong { background: var(--purple); color: #fff; }.solution-diagram i { color: var(--purple); font-style: normal; }.planning-diagram i { width: 45px; height: 1px; background: #b8adc9; }.compound-grid { align-items: center; }.compound-grid h2 { margin: 0; }

/* About and legal */
.about-hero { min-height: 800px; background: #f0edff; }.about-hero-inner { position: relative; z-index: 2; }.about-hero h1 { max-width: 1040px; font-size: clamp(60px,7.2vw,96px); }.about-mark { position: absolute; right: -150px; bottom: -240px; width: 600px; height: 600px; }.about-mark i { position: absolute; inset: 0; border: 1px solid rgba(77,16,246,.17); border-radius: 50%; }.about-mark i:nth-child(3) { inset: 120px; border-style: dashed; }.about-mark-symbol { position: absolute; top: 50%; left: 50%; z-index: 2; width: 70px; fill: var(--purple); transform: translate(-50%,-50%); }
.belief-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; }.editorial-copy blockquote, .editorial-copy .conviction { margin: 45px 0 0; padding: 30px 0 0; border-top: 2px solid var(--purple); color: var(--purple-deep); font-family: 'Manrope',sans-serif; font-size: 22px; font-weight: 600; line-height: 1.45; }
.working-section { background: #faf9fa; }.working-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 70px; }.working-card { display: flex; min-height: 420px; flex-direction: column; padding: 36px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }.working-card-purple { border-color: var(--purple); background: var(--purple); color: #fff; }.working-card > span { color: var(--purple); font-size: 10px; }.working-card-purple > span { color: #c9c0ff; }.working-card h3 { margin: auto 0 14px; font-size: 29px; line-height: 1.15; }.working-card p { margin: 0; color: var(--muted); font-size: 14px; }.working-card-purple p { color: rgba(255,255,255,.67); }
.contact-page { padding: 150px 0; }.contact-page-grid { display: grid; grid-template-columns: 1fr .75fr; align-items: center; gap: 100px; }.contact-page-copy h2 { margin-bottom: 25px; font-size: clamp(46px,5vw,68px); line-height: 1.05; }.contact-page-copy > p:not(.kicker) { max-width: 650px; color: var(--muted); }.contact-action-card { padding: 48px; border-radius: 18px; background: var(--purple); color: #fff; }.contact-action-card img { width: 116px; margin-bottom: 110px; filter: grayscale(1) brightness(0) invert(1); }.contact-action-card > .button { margin-top: 0; }.contact-details { margin-top: 70px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.22); }.contact-details p, .contact-details address { margin: 0 0 22px; color: rgba(255,255,255,.72); font-size: 15px; font-style: normal; font-weight: 400; line-height: 1.6; }.contact-details address:last-child { margin-bottom: 0; }.contact-details strong { color: #fff; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }.contact-details a { color: #fff; }
.legal-page { min-height: calc(100vh - 110px); padding: 175px 0 120px; }.legal-inner { max-width: 800px; }.legal-inner h1 { margin: 0 0 45px; font-size: clamp(52px,7vw,84px); }.legal-notice { margin-bottom: 35px; padding: 34px; border-left: 4px solid #b47a1f; background: #fbf5e9; }.legal-notice strong { font-size: 20px; }.legal-notice p { margin: 12px 0 0; color: #6e604c; }
.legal-content { max-width: 900px; }
.legal-content h1 { margin-bottom: 15px; }
.legal-meta { margin: 0 0 60px; color: var(--muted); font-size: 14px; }
.legal-content section { padding: 45px 0; border-top: 1px solid var(--line); }
.legal-content section:last-child { padding-bottom: 0; }
.legal-content h2 { margin: 0 0 20px; font-size: clamp(26px, 3vw, 34px); font-weight: 600; line-height: 1.2; }
.legal-content p, .legal-content li, .legal-content address { color: #5f5a65; font-size: 15px; line-height: 1.75; }
.legal-content p { margin: 0 0 18px; }
.legal-content p:last-child { margin-bottom: 0; }
.legal-content ul { margin: 20px 0 0; padding-left: 22px; }
.legal-content li { margin-bottom: 8px; padding-left: 4px; }
.legal-content a, .legal-text-button { color: var(--purple); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legal-content address { font-style: normal; }
.legal-table-wrap { margin: 28px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.legal-content table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 13px; line-height: 1.5; }
.legal-content th, .legal-content td { padding: 15px 17px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-content th { background: #f7f5f8; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: .025em; }
.legal-content td { color: #5f5a65; }
.legal-content tbody tr:last-child td { border-bottom: 0; }
.legal-content code { padding: 2px 6px; border-radius: 5px; background: var(--purple-soft); color: var(--purple-deep); font-size: .9em; }

@media (max-width: 980px) {
  .editorial-grid, .feature-story-grid, .feature-story-reverse, .module-grid, .aspiration-grid, .employee-grid, .roadmap-grid, .flagship-grid, .solution-story, .belief-grid, .contact-page-grid { grid-template-columns: 1fr; gap: 55px; }
  .feature-story-reverse .feature-story-copy { order: 0; }
  .capability-card-featured { min-height: 500px; }
  .intelligence-card-grid { grid-template-columns: repeat(2, 1fr); }
  .intelligence-card:last-child { display: grid; grid-column: 1 / -1; grid-template-columns: 1fr 1fr; gap: 20px; }
  .intelligence-card:last-child .intelligence-card-copy { padding-top: 18px; }
  .inner-hero-grid { grid-template-columns: 1fr; gap: 45px; }.inner-hero-copy { max-width: 650px; }
  .platform-orbit { opacity: .2; }
  .module-label { display: none; }
  .feature-visual { min-height: 520px; }
  .employee-profile { max-width: 650px; }.decision-grid { gap: 10px; }.decision-card { padding: 28px; }
  .stack-grid { grid-template-columns: 1fr; gap: 45px; }.stack-grid .system-row { justify-content: flex-start; }
  .solution-story { padding: 75px 0; }.working-card { min-height: 360px; padding: 28px; }
}

@media (max-width: 760px) {
  .section-nav { top: 84px; }
  .section-nav::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: grid;
    width: 52px;
    place-items: center end;
    padding-right: 14px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff 52%);
    color: var(--purple);
    content: '→';
    font-size: 16px;
    pointer-events: none;
  }
  .section-nav .shell { padding-right: 44px; scrollbar-width: none; }
  .section-nav .shell::-webkit-scrollbar { display: none; }
  #skills-map, #job-architecture, #talent-discovery, #workforce-planning, #employee-experience, #roadmap { scroll-margin-top: 154px; }
  .hero h1 { font-size: 66px; }
  .editorial-grid, .partnership-grid, .compound-grid { gap: 45px; }
  .capability-grid, .exchange-columns, .insight-pair, .principles-grid, .decision-grid, .working-grid { grid-template-columns: 1fr; }
  .capability-card-featured { grid-row: auto; }
  .exchange-column, .exchange-column + .exchange-column { padding: 35px 0; border-left: 0; }.exchange-column + .exchange-column { border-top: 1px solid rgba(255,255,255,.2); }
  .intelligence-card-grid { grid-template-columns: 1fr; gap: 58px; }
  .intelligence-card:last-child { display: block; grid-column: auto; }
  .intelligence-card:last-child .intelligence-card-copy { padding-top: 27px; }
  .partnership-grid, .compound-grid { grid-template-columns: 1fr; }
  .inner-hero { min-height: 680px; padding-top: 155px; }.inner-hero h1 { font-size: 61px; }
  .section-nav .shell { gap: 24px; }
  .feature-visual { min-height: 470px; }
  .principle { min-height: 260px; }.principle h3 { margin-top: 55px; }
  .solution-ribbon { justify-content: flex-start; overflow: hidden; }.solution-ribbon span { white-space: nowrap; }
  .sprint-card { padding: 36px; }.solution-diagram { flex-wrap: wrap; }
  .about-hero { min-height: 720px; }.about-hero h1 { font-size: 59px; }
}

@media (max-width: 640px) {
  .hero h1 { font-size: 55px; }.hero-actions { align-items: stretch; flex-direction: column; }.text-link { justify-content: center; min-height: 45px; }
  .editorial-copy .lead, .lead { font-size: 18px; }
  .capability-card { min-height: 390px; padding: 30px; }.capability-card-featured { min-height: 500px; }.capability-card h3 { font-size: 31px; }
  .workforce-map { min-height: 650px; }
  .workforce-dashboard { top: 4%; width: 100%; }
  .workforce-dashboard-top { padding-inline: 14px; }
  .workforce-profile-stage { min-height: 360px; padding: 17px 14px; }
  .workforce-profile-head { gap: 8px; }
  .workforce-profile-meta span + span { padding-left: 7px; }
  .workforce-skill-group { grid-template-columns: 1fr; gap: 4px; padding: 6px 0; }
  .workforce-skill-group > span { padding-top: 0; }
  .workforce-dashboard-bottom > div { padding: 14px 12px; }
  .workforce-insight { right: -5px; bottom: 3%; width: 188px; padding: 16px; }
  .workforce-update { bottom: 17%; left: -5px; padding: 12px 13px; }
  .exchange-heading h2 { font-size: 43px; }
  .difference-section .section-title { margin-bottom: 55px; }
  .intelligence-visual { min-height: 310px; border-radius: 19px; }
  .intelligence-learning { padding: 30px 21px; }
  .intelligence-card-copy { padding-top: 23px; }
  .intelligence-card-copy h3 { font-size: 26px; }
  .partnership-band, .compound-band { padding: 75px 0; }.partnership-grid h2, .compound-grid h2 { font-size: 38px; }
  .inner-hero { min-height: 650px; }.inner-hero h1 { font-size: 49px; }.inner-hero-copy p { font-size: 16px; }
  .feature-story-copy h2 { font-size: 41px; }.feature-visual { min-height: 400px; border-radius: 12px; }
  .living-map-visual { min-height: 520px; }
  .living-map-visual::before { width: 330px; height: 330px; }
  .living-map-visual::after { width: 220px; height: 220px; }
  .map-core { width: 136px; height: 136px; }
  .map-core::before { inset: 20px; border-radius: 27px; }
  .map-core::after { inset: 5px; }
  .map-mark { width: 35px; height: 24px; }
  .map-node { gap: 7px; padding: 9px 11px; border-radius: 14px; font-size: 8.5px; }
  .map-node::before { width: 7px; height: 7px; border-radius: 2px; }
  .map-node.n1 { top: 5%; left: 38%; }.map-node.n2 { top: 27%; right: 1%; }.map-node.n3 { right: 7%; bottom: 5%; }.map-node.n4 { bottom: 5%; left: 8%; }.map-node.n5 { top: 28%; left: 1%; }.map-node.n6 { top: 15%; right: 2%; }.map-node.n7 { bottom: 25%; left: 1%; }.map-node.n8 { right: 3%; bottom: 15%; }.map-node.n9 { top: 6%; left: 3%; }.map-node.n10 { top: 65%; right: 2px; width: 82px; padding-inline: 8px; line-height: 1.15; white-space: normal; }
  .insight-card { padding: 30px; }.module-band { padding: 80px 0; }.module-copy h2 { font-size: 40px; }
  .match-visual { padding: 25px; }.match-visual article { padding: 14px; }.match-visual article > span { width: 48px; height: 48px; }
  .decision-card h3 { padding-top: 45px; }.employee-profile { padding: 22px; }.profile-person { padding: 24px 0; }
  .stack-grid .system-row { display: grid; grid-template-columns: 1fr 1fr; }.stack-grid .system-row strong { grid-column: 1/-1; }
  .roadmap-grid { gap: 45px; }
  .solutions-hero h1 { font-size: 50px; }.solution-ribbon { bottom: 40px; }.flagship-solution { padding-top: 100px; }.flagship-copy h2 { font-size: 44px; }.sprint-card h3 { font-size: 32px; }.solution-heading h2 { font-size: 40px; }.solution-story { padding: 65px 0; }
  .solution-diagram { align-items: stretch; flex-direction: column; }.planning-diagram i { width: 1px; height: 24px; align-self: center; }.return-diagram i, .career-diagram i { align-self: center; transform: rotate(90deg); }
  .about-hero h1 { font-size: 47px; }.about-mark { opacity: .4; }.editorial-copy blockquote { font-size: 19px; }.working-card { min-height: 310px; }.contact-page { padding: 90px 0; }.contact-page-copy h2 { font-size: 42px; }.contact-action-card { padding: 34px; }.contact-action-card img { margin-bottom: 75px; }
  .legal-page { padding: 145px 0 85px; }.legal-notice { padding: 25px; }
  .legal-meta { margin-bottom: 42px; }
  .legal-content section { padding: 36px 0; }
  .legal-content p, .legal-content li, .legal-content address { font-size: 14px; }
  .legal-table-wrap { margin-inline: -6px; border-radius: 9px; -webkit-overflow-scrolling: touch; }
  .legal-table-wrap::before {
    position: sticky;
    left: 0;
    z-index: 2;
    display: block;
    width: max-content;
    padding: 9px 12px 3px;
    background: #fff;
    color: var(--purple);
    content: 'Swipe to see more →';
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
  }
  .site-footer { margin-top: 38px; padding-top: 72px; border-radius: 24px 24px 0 0; }
  .site-footer::before { top: -210px; right: -390px; }
  .site-footer::after { right: 4px; bottom: -45px; font-size: 116px; }
  .footer-showcase { gap: 42px; padding-bottom: 66px; }
  .site-footer .footer-brand { width: 132px; margin-bottom: 54px; }
  .footer-statement h2 { font-size: clamp(48px, 14vw, 66px); }
  .footer-action p { font-size: 15px; }
  .footer-directory { gap: 36px; padding: 40px 0 44px; }
  .footer-link-grid { grid-template-columns: 1fr 1fr; row-gap: 38px; }
  .footer-link-group:last-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 16px; }
  .footer-bottom > div { flex-direction: column; gap: 4px; }
}

/* Compact cookie consent */
.cookie-banner {
  position: fixed;
  right: 20px;
  bottom: 20px;
  left: 20px;
  z-index: 90;
  display: flex;
  width: min(calc(100% - 40px), 760px);
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-inline: auto;
  padding: 11px 12px 11px 20px;
  border: 1px solid rgba(18, 17, 23, .1);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 50px rgba(31, 20, 63, .16);
  backdrop-filter: blur(16px) saturate(1.2);
  transition: opacity 180ms ease, transform 180ms ease;
}
.cookie-banner.is-closing { opacity: 0; transform: translateY(10px); }
.cookie-banner p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.cookie-banner p a { color: var(--ink); font-weight: 600; text-underline-offset: 3px; }
.cookie-actions { display: flex; flex: 0 0 auto; gap: 7px; }
.cookie-button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 99px;
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
}
.cookie-button:hover { transform: translateY(-1px); }
.cookie-button:focus-visible { outline: 3px solid rgba(77, 16, 246, .25); outline-offset: 2px; }
.cookie-button-secondary:hover { border-color: #c8c2cc; background: #faf9fa; }
.cookie-button-primary { border-color: var(--ink); background: var(--ink); color: var(--paper); }
.cookie-button-primary:hover { border-color: var(--purple-deep); background: var(--purple-deep); }

@media (max-width: 640px) {
  .cookie-banner {
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: calc(100% - 24px);
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border-radius: 15px;
  }
  .cookie-banner p { padding-inline: 2px; }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-button { padding-inline: 10px; }
}

/* Contact and demo overlay */
.contact-action-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.contact-action-buttons .button { margin-top: 0; }
.button-ghost-white { border-color: rgba(255,255,255,.55); background: transparent; color: #fff; }
.button-ghost-white:hover { border-color: #fff; background: rgba(255,255,255,.08); }
body.contact-modal-open { overflow: hidden; }
.contact-modal[hidden] { display: none; }
.contact-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 20px;
}
.contact-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 14, 38, .58);
  backdrop-filter: blur(10px);
}
.contact-modal-panel {
  position: relative;
  width: min(100%, 680px);
  max-height: calc(100vh - 40px);
  padding: 34px;
  overflow-y: auto;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 22px;
  background: var(--paper);
  box-shadow: 0 35px 90px rgba(16, 8, 39, .28);
  outline: 0;
}
.contact-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; }
.contact-modal-header .kicker { margin-bottom: 7px; }
.contact-modal-header h2 { margin: 0; font-size: clamp(34px, 5vw, 48px); font-weight: 600; line-height: 1.05; }
.contact-modal-close {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #faf9fa;
  color: var(--ink);
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}
.contact-modal-close:hover { border-color: #cbc6ce; background: #f3f1f4; }
.contact-modal-close:focus-visible, .contact-modal-form input:focus-visible, .contact-modal-form textarea:focus-visible { outline: 3px solid rgba(77, 16, 246, .2); outline-offset: 2px; }
.contact-modal-intro { max-width: 560px; margin: 18px 0 25px; color: var(--muted); font-size: 14px; }
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.contact-modal-form label { display: flex; flex-direction: column; gap: 7px; color: var(--ink); font-size: 11px; font-weight: 700; }
.contact-field-label > span[aria-hidden='true'] { color: var(--purple); }
.contact-modal-form .field-optional { margin-left: 4px; color: var(--muted); font-size: 9px; font-weight: 500; }
.contact-modal-form input, .contact-modal-form textarea {
  width: 100%;
  border: 1px solid #dcd8df;
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.contact-modal-form input { height: 46px; padding: 0 13px; }
.contact-modal-form textarea { min-height: 92px; padding: 11px 13px; resize: vertical; }
.contact-modal-form input:hover, .contact-modal-form textarea:hover { border-color: #c8c2cc; }
.contact-message-field { margin-top: 15px; }
.contact-form-privacy { margin: 15px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.contact-form-privacy a { color: var(--ink); font-weight: 600; text-underline-offset: 2px; }
.contact-form-status { min-height: 18px; margin: 8px 0 0; color: #a43d35; font-size: 11px; }
.contact-submit { width: 100%; margin-top: 7px; cursor: pointer; }
.contact-submit:disabled { cursor: wait; opacity: .65; }
.contact-form-success { padding: 35px 10px 15px; text-align: center; }
.contact-form-success > span { display: grid; width: 58px; height: 58px; margin: 0 auto 20px; place-items: center; border-radius: 50%; background: var(--purple-soft); color: var(--purple); font-size: 24px; font-weight: 700; }
.contact-form-success h3 { margin: 0 0 10px; font-size: 36px; }
.contact-form-success p { margin: 0 0 25px; color: var(--muted); }

@media (max-width: 640px) {
  .contact-modal { align-items: end; padding: 0; }
  .contact-modal-panel {
    width: 100%;
    max-height: 94vh;
    padding: 25px 18px calc(20px + env(safe-area-inset-bottom));
    border-radius: 20px 20px 0 0;
  }
  .contact-modal-header h2 { font-size: 34px; }
  .contact-modal-intro { margin: 13px 0 20px; font-size: 13px; }
  .contact-form-grid { grid-template-columns: 1fr; gap: 11px; }
  .contact-modal-form input { height: 43px; }
  .contact-modal-form textarea { min-height: 78px; }
  .contact-message-field { margin-top: 11px; }
}

@media (max-width: 360px) {
  .workforce-profile-head > i { width: 27px; height: 27px; justify-content: center; padding: 0; font-size: 0; }
  .workforce-dashboard-bottom > div { gap: 4px 7px; padding: 12px 9px; }
  .workforce-dashboard-bottom strong { font-size: 13px; }
  .workforce-dashboard-bottom strong i { display: none; }
}

@media (max-width: 360px) and (max-height: 820px) {
  .contact-modal-panel { padding: 19px 16px calc(13px + env(safe-area-inset-bottom)); }
  .contact-modal-header h2 { font-size: 31px; }
  .contact-modal-intro { margin: 9px 0 14px; line-height: 1.45; }
  .contact-form-grid { gap: 8px; }
  .contact-modal-form label { gap: 5px; }
  .contact-modal-form input { height: 40px; }
  .contact-modal-form textarea { min-height: 64px; }
  .contact-message-field { margin-top: 8px; }
  .contact-form-privacy { margin-top: 10px; }
  .contact-form-status { min-height: 14px; margin-top: 4px; }
  .contact-submit { min-height: 46px; margin-top: 3px; }
}
