@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
  *, ::before, ::after, ::backdrop { --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-space-y-reverse: 0; --tw-border-style: solid; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-duration: initial; --tw-ease: initial; --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-space-x-reverse: 0; --tw-animation-delay: 0s; --tw-animation-direction: normal; --tw-animation-duration: initial; --tw-animation-fill-mode: none; --tw-animation-iteration-count: 1; --tw-enter-blur: 0; --tw-enter-opacity: 1; --tw-enter-rotate: 0; --tw-enter-scale: 1; --tw-enter-translate-x: 0; --tw-enter-translate-y: 0; --tw-exit-blur: 0; --tw-exit-opacity: 1; --tw-exit-rotate: 0; --tw-exit-scale: 1; --tw-exit-translate-x: 0; --tw-exit-translate-y: 0; }
}
}
@layer theme {
  :root, :host { --font-sans: "Instrument Sans", sans-serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace; --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-900: oklch(20.8% .042 265.755); --color-black: #000; --color-white: #fff; --spacing: .25rem; --container-sm: 24rem; --container-md: 28rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-5xl: 64rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: calc(1.5 / 1); --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: calc(2.25 / 1.875); --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --tracking-tight: -.025em; --leading-tight: 1.25; --leading-relaxed: 1.625; --ease-in-out: cubic-bezier(.4, 0, .2, 1); --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: "Instrument Sans", sans-serif; --default-mono-font-family: var(--font-mono); --color-background: var(--background); --color-foreground: var(--foreground); --color-border: var(--border); }
}
@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings, normal); font-variation-settings: var(--default-font-variation-settings, normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings, normal); font-variation-settings: var(--default-mono-font-variation-settings, normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
  ::placeholder { color: currentcolor; }
  @supports (color: color-mix(in lab, red, red)) {
  ::placeholder { color: color-mix(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
  * { border-color: var(--color-border); }
  body { background-color: var(--color-background); color: var(--color-foreground); font-family: var(--font-sans); letter-spacing: 0px; text-rendering: optimizelegibility; }
  html { scroll-behavior: smooth; }
  ::selection { background: var(--lilac-strong); color: var(--ink); }
}
@layer components;
@layer utilities {
  .visible { visibility: visible; }
  .sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }
  .absolute { position: absolute; }
  .fixed { position: fixed; }
  .relative { position: relative; }
  .inset-0 { inset: 0px; }
  .inset-\[7\%\] { inset: 7%; }
  .inset-\[17\%\] { inset: 17%; }
  .inset-\[28\%\] { inset: 28%; }
  .inset-x-0 { inset-inline: 0px; }
  .inset-y-0 { inset-block: 0px; }
  .top-0 { top: 0px; }
  .top-1\/2 { top: 50%; }
  .top-4 { top: calc(var(--spacing) * 4); }
  .top-\[10\%\] { top: 10%; }
  .top-\[20\%\] { top: 20%; }
  .top-\[45\%\] { top: 45%; }
  .-right-4 { right: calc(var(--spacing) * -4); }
  .right-0 { right: 0px; }
  .right-4 { right: calc(var(--spacing) * 4); }
  .right-\[-10\%\] { right: -10%; }
  .right-\[8\%\] { right: 8%; }
  .bottom-0 { bottom: 0px; }
  .bottom-\[12\%\] { bottom: 12%; }
  .left-0 { left: 0px; }
  .left-\[10\%\] { left: 10%; }
  .left-\[14\%\] { left: 14%; }
  .z-50 { z-index: 50; }
  .mx-auto { margin-inline: auto; }
  .my-2 { margin-block: calc(var(--spacing) * 2); }
  .mt-0\.5 { margin-top: calc(var(--spacing) * .5); }
  .mt-1 { margin-top: var(--spacing); }
  .mt-2 { margin-top: calc(var(--spacing) * 2); }
  .mt-3 { margin-top: calc(var(--spacing) * 3); }
  .mt-4 { margin-top: calc(var(--spacing) * 4); }
  .mt-5 { margin-top: calc(var(--spacing) * 5); }
  .mt-6 { margin-top: calc(var(--spacing) * 6); }
  .mt-7 { margin-top: calc(var(--spacing) * 7); }
  .mt-8 { margin-top: calc(var(--spacing) * 8); }
  .mt-9 { margin-top: calc(var(--spacing) * 9); }
  .mt-10 { margin-top: calc(var(--spacing) * 10); }
  .mt-12 { margin-top: calc(var(--spacing) * 12); }
  .mr-2 { margin-right: calc(var(--spacing) * 2); }
  .mb-4 { margin-bottom: calc(var(--spacing) * 4); }
  .mb-8 { margin-bottom: calc(var(--spacing) * 8); }
  .block { display: block; }
  .flex { display: flex; }
  .grid { display: grid; }
  .hidden { display: none; }
  .inline-flex { display: inline-flex; }
  .aspect-square { aspect-ratio: 1 / 1; }
  .size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }
  .size-3\.5 { width: calc(var(--spacing) * 3.5); height: calc(var(--spacing) * 3.5); }
  .size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }
  .size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }
  .h-4 { height: calc(var(--spacing) * 4); }
  .h-5 { height: calc(var(--spacing) * 5); }
  .h-8 { height: calc(var(--spacing) * 8); }
  .h-11 { height: calc(var(--spacing) * 11); }
  .h-13 { height: calc(var(--spacing) * 13); }
  .h-72 { height: calc(var(--spacing) * 72); }
  .h-\[15\%\] { height: 15%; }
  .h-full { height: 100%; }
  .min-h-screen { min-height: 100vh; }
  .w-3\/4 { width: 75%; }
  .w-4 { width: calc(var(--spacing) * 4); }
  .w-5 { width: calc(var(--spacing) * 5); }
  .w-11 { width: calc(var(--spacing) * 11); }
  .w-72 { width: calc(var(--spacing) * 72); }
  .w-\[72\%\] { width: 72%; }
  .w-\[92\%\] { width: 92%; }
  .w-full { width: 100%; }
  .max-w-2xl { max-width: var(--container-2xl); }
  .max-w-3xl { max-width: var(--container-3xl); }
  .max-w-5xl { max-width: var(--container-5xl); }
  .max-w-\[560px\] { max-width: 560px; }
  .max-w-\[1240px\] { max-width: 1240px; }
  .max-w-md { max-width: var(--container-md); }
  .max-w-none { max-width: none; }
  .max-w-sm { max-width: var(--container-sm); }
  .flex-1 { flex: 1 1 0%; }
  .flex-shrink-0, .shrink-0 { flex-shrink: 0; }
  .grow { flex-grow: 1; }
  .-rotate-12 { rotate: -12deg; }
  .rotate-180 { rotate: 180deg; }
  .transform { transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, ); }
  .animate-float { animation: 7s ease-in-out 0s infinite normal none running float; }
  .animate-orbit { animation: 22s linear 0s infinite normal none running orbit; }
  .animate-rise { animation: 0.55s ease-out 0s 1 normal both running rise; }
  .cursor-pointer { cursor: pointer; }
  .resize { resize: both; }
  .flex-col { flex-direction: column; }
  .flex-col-reverse { flex-direction: column-reverse; }
  .flex-wrap { flex-wrap: wrap; }
  .place-items-center { place-items: center; }
  .items-center { align-items: center; }
  .items-start { align-items: flex-start; }
  .justify-between { justify-content: space-between; }
  .justify-center { justify-content: center; }
  .gap-2 { gap: calc(var(--spacing) * 2); }
  .gap-3 { gap: calc(var(--spacing) * 3); }
  .gap-4 { gap: calc(var(--spacing) * 4); }
  .gap-6 { gap: calc(var(--spacing) * 6); }
  .gap-px { gap: 1px; }
  :where(.space-y-2 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-4 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-6 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-8 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-10 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-12 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse))); }
  .overflow-hidden { overflow: hidden; }
  .overflow-y-auto { overflow-y: auto; }
  .rounded-2xl { border-radius: calc(var(--radius) + 8px); }
  .rounded-3xl { border-radius: calc(var(--radius) + 12px); }
  .rounded-\[2rem\] { border-radius: 2rem; }
  .rounded-\[28px\] { border-radius: 28px; }
  .rounded-\[40\%_60\%_55\%_45\%\] { border-radius: 40% 60% 55% 45%; }
  .rounded-full { border-radius: 3.40282e+38px; }
  .rounded-md { border-radius: calc(var(--radius) - 2px); }
  .rounded-sm { border-radius: calc(var(--radius) - 4px); }
  .rounded-xl { border-radius: calc(var(--radius) + 4px); }
  .border { border-style: var(--tw-border-style); border-width: 1px; }
  .border-\[12px\] { border-style: var(--tw-border-style); border-width: 12px; }
  .border-\[26px\] { border-style: var(--tw-border-style); border-width: 26px; }
  .border-\[34px\] { border-style: var(--tw-border-style); border-width: 34px; }
  .border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }
  .border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }
  .border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }
  .border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }
  .border-l-0 { border-left-style: var(--tw-border-style); border-left-width: 0px; }
  .border-dashed { --tw-border-style: dashed; border-style: dashed; }
  .border-blue\/85 { border-color: var(--blue); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-blue\/85 { border-color: color-mix(in oklab, var(--blue) 85%, transparent); }
}
  .border-border { border-color: var(--border); }
  .border-cyan { border-color: var(--cyan); }
  .border-cyan\/80 { border-color: var(--cyan); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-cyan\/80 { border-color: color-mix(in oklab, var(--cyan) 80%, transparent); }
}
  .border-foreground\/15 { border-color: var(--foreground); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-foreground\/15 { border-color: color-mix(in oklab, var(--foreground) 15%, transparent); }
}
  .border-ink-foreground\/15 { border-color: var(--ink-foreground); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-ink-foreground\/15 { border-color: color-mix(in oklab, var(--ink-foreground) 15%, transparent); }
}
  .border-input { border-color: var(--input); }
  .border-primary\/15 { border-color: var(--primary); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-primary\/15 { border-color: color-mix(in oklab, var(--primary) 15%, transparent); }
}
  .border-primary\/30 { border-color: var(--primary); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-primary\/30 { border-color: color-mix(in oklab, var(--primary) 30%, transparent); }
}
  .border-slate-200 { border-color: var(--color-slate-200); }
  .bg-background { background-color: var(--background); }
  .bg-background\/70 { background-color: var(--background); }
  @supports (color: color-mix(in lab, red, red)) {
  .bg-background\/70 { background-color: color-mix(in oklab, var(--background) 70%, transparent); }
}
  .bg-black\/80 { background-color: rgba(0, 0, 0, 0.8); }
  @supports (color: color-mix(in lab, red, red)) {
  .bg-black\/80 { background-color: color-mix(in oklab, var(--color-black) 80%, transparent); }
}
  .bg-border { background-color: var(--border); }
  .bg-cyan { background-color: var(--cyan); }
  .bg-destructive { background-color: var(--destructive); }
  .bg-ink { background-color: var(--ink); }
  .bg-ink-foreground\/5 { background-color: var(--ink-foreground); }
  @supports (color: color-mix(in lab, red, red)) {
  .bg-ink-foreground\/5 { background-color: color-mix(in oklab, var(--ink-foreground) 5%, transparent); }
}
  .bg-lilac { background-color: var(--lilac); }
  .bg-lilac\/50 { background-color: var(--lilac); }
  @supports (color: color-mix(in lab, red, red)) {
  .bg-lilac\/50 { background-color: color-mix(in oklab, var(--lilac) 50%, transparent); }
}
  .bg-primary { background-color: var(--primary); }
  .bg-secondary { background-color: var(--secondary); }
  .bg-slate-50 { background-color: var(--color-slate-50); }
  .bg-white { background-color: var(--color-white); }
  .p-5 { padding: calc(var(--spacing) * 5); }
  .p-6 { padding: calc(var(--spacing) * 6); }
  .p-7 { padding: calc(var(--spacing) * 7); }
  .p-8 { padding: calc(var(--spacing) * 8); }
  .px-3 { padding-inline: calc(var(--spacing) * 3); }
  .px-4 { padding-inline: calc(var(--spacing) * 4); }
  .px-5 { padding-inline: calc(var(--spacing) * 5); }
  .px-6 { padding-inline: calc(var(--spacing) * 6); }
  .px-7 { padding-inline: calc(var(--spacing) * 7); }
  .py-2 { padding-block: calc(var(--spacing) * 2); }
  .py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }
  .py-3 { padding-block: calc(var(--spacing) * 3); }
  .py-4 { padding-block: calc(var(--spacing) * 4); }
  .py-6 { padding-block: calc(var(--spacing) * 6); }
  .py-20 { padding-block: calc(var(--spacing) * 20); }
  .pt-0 { padding-top: 0px; }
  .pt-3 { padding-top: calc(var(--spacing) * 3); }
  .pt-36 { padding-top: calc(var(--spacing) * 36); }
  .pb-4 { padding-bottom: calc(var(--spacing) * 4); }
  .pb-6 { padding-bottom: calc(var(--spacing) * 6); }
  .pb-20 { padding-bottom: calc(var(--spacing) * 20); }
  .text-center { text-align: center; }
  .text-left { text-align: left; }
  .font-sans { font-family: "Instrument Sans", sans-serif; }
  .\!text-3xl { font-size: var(--text-3xl) !important; line-height: var(--tw-leading, var(--text-3xl--line-height)) !important; }
  .text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading, var(--text-2xl--line-height)); }
  .text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading, var(--text-3xl--line-height)); }
  .text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading, var(--text-4xl--line-height)); }
  .text-5xl { font-size: var(--text-5xl); line-height: var(--tw-leading, var(--text-5xl--line-height)); }
  .text-7xl { font-size: var(--text-7xl); line-height: var(--tw-leading, var(--text-7xl--line-height)); }
  .text-base { font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); }
  .text-lg { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); }
  .text-sm { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
  .text-xl { font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); }
  .text-xs { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
  .leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }
  .leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }
  .leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }
  .leading-\[1\.02\] { --tw-leading: 1.02; line-height: 1.02; }
  .leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }
  .leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }
  .font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }
  .font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }
  .font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }
  .font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }
  .tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }
  .text-balance { text-wrap: balance; }
  .whitespace-nowrap { white-space: nowrap; }
  .text-blue-600 { color: var(--color-blue-600); }
  .text-blue-700 { color: var(--color-blue-700); }
  .text-cyan { color: var(--cyan); }
  .text-destructive-foreground { color: var(--destructive-foreground); }
  .text-foreground { color: var(--foreground); }
  .text-ink { color: var(--ink); }
  .text-ink-foreground { color: var(--ink-foreground); }
  .text-ink-foreground\/40 { color: var(--ink-foreground); }
  @supports (color: color-mix(in lab, red, red)) {
  .text-ink-foreground\/40 { color: color-mix(in oklab, var(--ink-foreground) 40%, transparent); }
}
  .text-ink-foreground\/55 { color: var(--ink-foreground); }
  @supports (color: color-mix(in lab, red, red)) {
  .text-ink-foreground\/55 { color: color-mix(in oklab, var(--ink-foreground) 55%, transparent); }
}
  .text-ink-foreground\/60 { color: var(--ink-foreground); }
  @supports (color: color-mix(in lab, red, red)) {
  .text-ink-foreground\/60 { color: color-mix(in oklab, var(--ink-foreground) 60%, transparent); }
}
  .text-ink-foreground\/70 { color: var(--ink-foreground); }
  @supports (color: color-mix(in lab, red, red)) {
  .text-ink-foreground\/70 { color: color-mix(in oklab, var(--ink-foreground) 70%, transparent); }
}
  .text-lilac-strong { color: var(--lilac-strong); }
  .text-muted-foreground { color: var(--muted-foreground); }
  .text-primary { color: var(--primary); }
  .text-primary-foreground { color: var(--primary-foreground); }
  .text-secondary-foreground { color: var(--secondary-foreground); }
  .text-slate-500 { color: var(--color-slate-500); }
  .text-slate-600 { color: var(--color-slate-600); }
  .text-slate-700 { color: var(--color-slate-700); }
  .text-slate-900 { color: var(--color-slate-900); }
  .uppercase { text-transform: uppercase; }
  .italic { font-style: italic; }
  .underline { text-decoration-line: underline; }
  .underline-offset-4 { text-underline-offset: 4px; }
  .opacity-70 { opacity: 0.7; }
  .shadow-\[inset_18px_14px_35px_oklch\(0\.8_0\.15_210_\/_45\%\)\,0_24px_80px_oklch\(0\.61_0\.235_294_\/_35\%\)\] { --tw-shadow: inset 18px 14px 35px var(--tw-shadow-color, oklch(80% .15 210 / .45)), 0 24px 80px var(--tw-shadow-color, oklch(61% .235 294 / .35)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-brand { --tw-shadow: 0 14px 40px -18px var(--tw-shadow-color, oklch(56% .24 294 / .45)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-ink { --tw-shadow: 0 18px 45px -22px var(--tw-shadow-color, oklch(17% .1 266 / .6)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .ring-offset-background { --tw-ring-offset-color: var(--background); }
  .outline { outline-style: var(--tw-outline-style); outline-width: 1px; }
  .filter { filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, ); }
  .transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .transition-all { transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }
  .duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }
  .ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }
  @media (hover: hover) {
  .group-hover\:translate-x-1:is(:where(.group):hover *) { --tw-translate-x: var(--spacing); translate: var(--tw-translate-x) var(--tw-translate-y); }
  .hover\:-translate-y-0\.5:hover { --tw-translate-y: calc(var(--spacing) * -.5); translate: var(--tw-translate-x) var(--tw-translate-y); }
  .hover\:border-primary:hover { border-color: var(--primary); }
  .hover\:bg-accent:hover { background-color: var(--accent); }
  .hover\:bg-destructive\/90:hover { background-color: var(--destructive); }
  @supports (color: color-mix(in lab, red, red)) {
  .hover\:bg-destructive\/90:hover { background-color: color-mix(in oklab, var(--destructive) 90%, transparent); }
}
  .hover\:bg-ink\/92:hover { background-color: var(--ink); }
  @supports (color: color-mix(in lab, red, red)) {
  .hover\:bg-ink\/92:hover { background-color: color-mix(in oklab, var(--ink) 92%, transparent); }
}
  .hover\:bg-lilac:hover { background-color: var(--lilac); }
  .hover\:bg-muted:hover { background-color: var(--muted); }
  .hover\:bg-primary\/90:hover { background-color: var(--primary); }
  @supports (color: color-mix(in lab, red, red)) {
  .hover\:bg-primary\/90:hover { background-color: color-mix(in oklab, var(--primary) 90%, transparent); }
}
  .hover\:bg-secondary\/80:hover { background-color: var(--secondary); }
  @supports (color: color-mix(in lab, red, red)) {
  .hover\:bg-secondary\/80:hover { background-color: color-mix(in oklab, var(--secondary) 80%, transparent); }
}
  .hover\:text-accent-foreground:hover { color: var(--accent-foreground); }
  .hover\:no-underline:hover { text-decoration-line: none; }
  .hover\:underline:hover { text-decoration-line: underline; }
  .hover\:opacity-100:hover { opacity: 1; }
}
  .focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .focus\:ring-ring:focus { --tw-ring-color: var(--ring); }
  .focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }
  .focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }
  .focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .focus-visible\:ring-ring:focus-visible { --tw-ring-color: var(--ring); }
  .focus-visible\:ring-offset-2:focus-visible { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }
  .focus-visible\:outline-none:focus-visible { --tw-outline-style: none; outline-style: none; }
  .disabled\:pointer-events-none:disabled { pointer-events: none; }
  .disabled\:cursor-not-allowed:disabled { cursor: not-allowed; }
  .disabled\:opacity-50:disabled { opacity: 0.5; }
  .data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] { animation: accordion-up var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none); }
  .data-\[state\=closed\]\:animate-out[data-state="closed"] { animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none); }
  .data-\[state\=closed\]\:duration-300[data-state="closed"] { --tw-duration: .3s; transition-duration: 0.3s; }
  .data-\[state\=closed\]\:fade-out-0[data-state="closed"] { --tw-exit-opacity: 0; }
  .data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] { --tw-exit-translate-y: 100%; }
  .data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] { --tw-exit-translate-x: -100%; }
  .data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] { --tw-exit-translate-x: 100%; }
  .data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] { --tw-exit-translate-y: -100%; }
  .data-\[state\=open\]\:animate-accordion-down[data-state="open"] { animation: accordion-down var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none); }
  .data-\[state\=open\]\:animate-in[data-state="open"] { animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none); }
  .data-\[state\=open\]\:bg-secondary[data-state="open"] { background-color: var(--secondary); }
  .data-\[state\=open\]\:duration-500[data-state="open"] { --tw-duration: .5s; transition-duration: 0.5s; }
  .data-\[state\=open\]\:fade-in-0[data-state="open"] { --tw-enter-opacity: 0; }
  .data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] { --tw-enter-translate-y: 100%; }
  .data-\[state\=open\]\:slide-in-from-left[data-state="open"] { --tw-enter-translate-x: -100%; }
  .data-\[state\=open\]\:slide-in-from-right[data-state="open"] { --tw-enter-translate-x: 100%; }
  .data-\[state\=open\]\:slide-in-from-top[data-state="open"] { --tw-enter-translate-y: -100%; }
  @media (width >= 40rem) {
  .sm\:h-\[520px\] { height: 520px; }
  .sm\:w-\[520px\] { width: 520px; }
  .sm\:max-w-sm { max-width: var(--container-sm); }
  .sm\:flex-row { flex-direction: row; }
  .sm\:justify-end { justify-content: flex-end; }
  :where(.sm\:space-x-2 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))); }
  .sm\:border-\[18px\] { border-style: var(--tw-border-style); border-width: 18px; }
  .sm\:border-\[38px\] { border-style: var(--tw-border-style); border-width: 38px; }
  .sm\:border-\[60px\] { border-style: var(--tw-border-style); border-width: 60px; }
  .sm\:p-9 { padding: calc(var(--spacing) * 9); }
  .sm\:p-10 { padding: calc(var(--spacing) * 10); }
  .sm\:px-6 { padding-inline: calc(var(--spacing) * 6); }
  .sm\:pt-44 { padding-top: calc(var(--spacing) * 44); }
  .sm\:pb-28 { padding-bottom: calc(var(--spacing) * 28); }
  .sm\:text-left { text-align: left; }
  .sm\:text-5xl { font-size: var(--text-5xl); line-height: var(--tw-leading, var(--text-5xl--line-height)); }
  .sm\:text-7xl { font-size: var(--text-7xl); line-height: var(--tw-leading, var(--text-7xl--line-height)); }
  .sm\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); }
}
  @media (width >= 48rem) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .md\:text-5xl { font-size: var(--text-5xl); line-height: var(--tw-leading, var(--text-5xl--line-height)); }
}
  @media (width >= 64rem) {
  .lg\:block { display: block; }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
  .lg\:p-14 { padding: calc(var(--spacing) * 14); }
  .lg\:text-\[5\.8rem\] { font-size: 5.8rem; }
}
  .\[\&_svg\]\:pointer-events-none svg { pointer-events: none; }
  .\[\&_svg\]\:size-4 svg { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }
  .\[\&_svg\]\:shrink-0 svg { flex-shrink: 0; }
  .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state="open"] > svg { rotate: 180deg; }
}
@property --tw-animation-delay { syntax: "*"; inherits: false; initial-value: 0s; }
@property --tw-animation-direction { syntax: "*"; inherits: false; initial-value: normal; }
@property --tw-animation-duration { syntax: "*"; inherits: false; }
@property --tw-animation-fill-mode { syntax: "*"; inherits: false; initial-value: none; }
@property --tw-animation-iteration-count { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-enter-blur { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-enter-opacity { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-enter-rotate { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-enter-scale { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-enter-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-enter-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-exit-blur { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-exit-opacity { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-exit-rotate { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-exit-scale { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-exit-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-exit-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
:root { --radius: 1rem; --background: oklch(98.5% .008 294); --foreground: oklch(19% .09 268); --card: oklch(100% 0 0); --card-foreground: oklch(12.9% .042 264.695); --popover: oklch(100% 0 0); --popover-foreground: oklch(12.9% .042 264.695); --primary: oklch(61% .235 294); --primary-foreground: oklch(99% .005 290); --secondary: oklch(93% .038 294); --secondary-foreground: oklch(20.8% .042 265.755); --muted: oklch(95.5% .018 285); --muted-foreground: oklch(48% .045 269); --accent: oklch(93% .038 294); --accent-foreground: oklch(20.8% .042 265.755); --destructive: oklch(57.7% .245 27.325); --destructive-foreground: oklch(98.4% .003 247.858); --border: oklch(88% .035 290); --input: oklch(86% .035 290); --ring: oklch(61% .235 294); --lilac: oklch(93% .038 294); --lilac-strong: oklch(82% .095 294); --blue: oklch(58% .2 257); --cyan: oklch(75% .15 210); --ink: oklch(20% .1 268); --ink-foreground: oklch(98% .01 285); --surface: oklch(100% 0 0 / .78); --chart-1: oklch(64.6% .222 41.116); --chart-2: oklch(60% .118 184.704); --chart-3: oklch(39.8% .07 227.392); --chart-4: oklch(82.8% .189 84.429); --chart-5: oklch(76.9% .188 70.08); --sidebar: oklch(98.4% .003 247.858); --sidebar-foreground: oklch(12.9% .042 264.695); --sidebar-primary: oklch(20.8% .042 265.755); --sidebar-primary-foreground: oklch(98.4% .003 247.858); --sidebar-accent: oklch(96.8% .007 247.896); --sidebar-accent-foreground: oklch(20.8% .042 265.755); --sidebar-border: oklch(92.9% .013 255.508); --sidebar-ring: oklch(70.4% .04 256.788); }
.dark { --background: oklch(12.9% .042 264.695); --foreground: oklch(98.4% .003 247.858); --card: oklch(20.8% .042 265.755); --card-foreground: oklch(98.4% .003 247.858); --popover: oklch(20.8% .042 265.755); --popover-foreground: oklch(98.4% .003 247.858); --primary: oklch(92.9% .013 255.508); --primary-foreground: oklch(20.8% .042 265.755); --secondary: oklch(27.9% .041 260.031); --secondary-foreground: oklch(98.4% .003 247.858); --muted: oklch(27.9% .041 260.031); --muted-foreground: oklch(70.4% .04 256.788); --accent: oklch(27.9% .041 260.031); --accent-foreground: oklch(98.4% .003 247.858); --destructive: oklch(70.4% .191 22.216); --destructive-foreground: oklch(98.4% .003 247.858); --border: oklch(100% 0 0 / .1); --input: oklch(100% 0 0 / .15); --ring: oklch(55.1% .027 264.364); --chart-1: oklch(48.8% .243 264.376); --chart-2: oklch(69.6% .17 162.48); --chart-3: oklch(76.9% .188 70.08); --chart-4: oklch(62.7% .265 303.9); --chart-5: oklch(64.5% .246 16.439); --sidebar: oklch(20.8% .042 265.755); --sidebar-foreground: oklch(98.4% .003 247.858); --sidebar-primary: oklch(48.8% .243 264.376); --sidebar-primary-foreground: oklch(98.4% .003 247.858); --sidebar-accent: oklch(27.9% .041 260.031); --sidebar-accent-foreground: oklch(98.4% .003 247.858); --sidebar-border: oklch(100% 0 0 / .1); --sidebar-ring: oklch(55.1% .027 264.364); }
@keyframes orbit { 
  100% { transform: rotate(360deg); }
}
@keyframes float { 
  0%, 100% { transform: translate3d(0px, 0px, 0px) rotate(-4deg); }
  50% { transform: translate3d(0px, -14px, 0px) rotate(3deg); }
}
@keyframes rise { 
  0% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes flow { 
  100% { stroke-dashoffset: -26px; }
}
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
:root { --foreground: oklch(17% .025 275); --muted-foreground: oklch(43% .025 275); --blue: oklch(46% .14 251); }
html { scroll-padding-top: 112px; }
body { margin: 0px; }
button, a { -webkit-tap-highlight-color: transparent; }
a, button { touch-action: manipulation; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
h1, h2 { letter-spacing: -0.045em; font-weight: 500; }
.section-wrap { width: min(1280px, 100% - 80px); margin-inline: auto; }
.eyebrow { letter-spacing: 0.12em; margin-bottom: 20px; font-size: 11px; font-weight: 500; }
.section-wrap h2 { font-size: clamp(36px, 3.7vw, 56px); line-height: 1.1; }
.section-copy { color: var(--muted-foreground); margin-top: 22px; font-size: 17px; line-height: 1.65; }
.section-header { justify-content: space-between; align-items: end; gap: 28px; display: flex; }
.text-link { align-items: center; gap: 14px; font-size: 15px; font-weight: 500; transition: color 0.25s; display: inline-flex; }
.text-link svg, .pill svg { flex-shrink: 0; transition: transform 0.3s; }
.text-link:hover { color: var(--blue); }
.text-link:hover svg, .pill:hover svg { transform: translateX(3px); }
.pill { border-radius: 100px; justify-content: center; align-items: center; gap: 20px; min-height: 52px; padding: 13px 24px; font-size: 15px; font-weight: 500; transition: transform 0.3s, box-shadow 0.3s, background 0.3s; display: inline-flex; }
.pill:hover { transform: translateY(-2px); box-shadow: rgba(48, 37, 108, 0.125) 0px 8px 20px; }
.pill-blue { background: var(--blue); color: rgb(255, 255, 255); }
.pill-white { color: rgb(22, 21, 31); background: rgb(255, 255, 255); border: 1px solid rgba(22, 21, 31, 0.047); }
.small-label { letter-spacing: 0.13em; font-size: 10px; font-weight: 500; }
.site-header { z-index: 50; pointer-events: none; padding: 16px 24px 0px; position: fixed; inset: 0px 0px auto; }
.nav-capsule { pointer-events: auto; backdrop-filter: blur(20px); background: rgba(255, 254, 253, 0.94); border: 1px solid rgba(255, 255, 255, 0.66); border-radius: 100px; justify-content: space-between; align-items: center; gap: 22px; max-width: 1360px; height: 80px; margin: auto; padding: 8px 12px 8px 26px; transition: height 0.3s, box-shadow 0.3s; display: flex; }
.is-scrolled .nav-capsule { height: 72px; box-shadow: rgba(48, 37, 108, 0.075) 0px 6px 30px; }
.brand-logo { flex-shrink: 0; width: 212px; display: block; overflow: hidden; }
.brand-logo img { object-fit: contain; width: 100%; height: 61px; }
.desktop-nav { align-items: center; gap: 4px; display: flex; }
.desktop-nav > a, .services-nav > button { color: rgb(39, 35, 51); cursor: pointer; background: none; border-radius: 100px; align-items: center; gap: 7px; padding: 12px 15px; font-size: 14px; transition: background 0.2s; display: flex; }
.desktop-nav a:hover, .services-nav > button:hover, .desktop-nav .nav-active { background: var(--lilac); }
.services-dropdown { border: 1px solid var(--border); background: rgb(255, 255, 255); border-radius: 24px; width: 620px; padding: 20px; animation: 0.2s ease-out 0s 1 normal none running rise; position: absolute; top: calc(100% + 12px); left: -180px; box-shadow: rgba(48, 37, 108, 0.125) 0px 20px 60px; }
.dropdown-overview { justify-content: space-between; padding: 8px 12px 16px; font-weight: 500; display: flex; }
.dropdown-grid { grid-template-columns: 1fr 1fr; gap: 6px; display: grid; }
.dropdown-grid a { border-radius: 14px; gap: 13px; padding: 14px; transition: background 0.2s; display: flex; }
.dropdown-grid svg { color: var(--primary); flex-shrink: 0; margin-top: 2px; }
.dropdown-grid strong { font-size: 14px; font-weight: 500; display: block; }
.dropdown-grid small { color: var(--muted-foreground); margin-top: 5px; font-size: 12px; line-height: 1.5; display: block; }
.mobile-nav { display: none; }
.skip-link { background: rgb(255, 255, 255); border-radius: 12px; padding: 14px; position: absolute; top: -80px; left: 30px; }
.skip-link:focus { top: 100px; }
.reference-hero { background: rgb(233, 229, 251); border-radius: 0px 0px 48px 48px; min-height: min(930px, 100svh); padding: 160px max(40px, -640px + 50vw) 112px; position: relative; overflow: hidden; }
.reference-video, .hero-wash { object-fit: cover; width: 100%; height: 100%; position: absolute; inset: 0px; }
.hero-wash { background: linear-gradient(90deg, rgba(243, 240, 255, 0.396) 0%, rgba(243, 240, 255, 0.165) 52%, rgba(0, 0, 0, 0) 85%); }
.hero-content { z-index: 1; position: relative; }
.hero-eyebrow { color: rgb(123, 67, 204); align-items: center; gap: 8px; margin-bottom: 54px; font-size: 14px; font-weight: 500; display: flex; }
.hero-content h1 { color: rgb(8, 8, 10); letter-spacing: -0.045em; max-width: 790px; font-size: clamp(52px, 5.55vw, 82px); font-weight: 500; line-height: 1.075; animation: 0.65s ease-out 0s 1 normal none running rise; }
.hero-copy { color: rgb(23, 22, 34); max-width: 710px; margin-top: 24px; font-size: 19px; line-height: 1.5; }
.hero-actions { flex-wrap: wrap; gap: 16px; margin-top: 32px; display: flex; }
.hero-scroll { z-index: 2; align-items: center; gap: 22px; font-size: 12px; display: flex; position: absolute; bottom: 28px; right: 46px; }
.hero-scroll svg { animation: 2.4s ease-in-out 0s infinite normal none running scroll-cue; }
.hero-corner { background: var(--background); border-top-right-radius: 80px; width: 240px; height: 24px; position: absolute; bottom: 0px; left: 0px; }
.intro-section { grid-template-columns: 0.95fr 1.15fr; gap: 100px; padding-block: 116px; display: grid; }
.intro-copy h2 { max-width: 420px; }
.intro-copy > p:not(.eyebrow) { max-width: 420px; color: var(--muted-foreground); margin-top: 28px; font-size: 17px; line-height: 1.7; }
.intro-copy > .text-link { margin-top: 30px; }
.intro-note { color: var(--muted-foreground); border-top: 1px solid var(--border); align-items: start; gap: 14px; max-width: 360px; margin-top: 68px; padding-top: 22px; font-size: 13px; line-height: 1.65; display: flex; }
.note-dot { background: var(--blue); border-radius: 50%; flex-shrink: 0; width: 8px; height: 8px; margin-top: 7px; }
.capability-cards { grid-template-columns: 1fr 1fr; gap: 22px; display: grid; }
.capability-card { border: 1px solid rgba(25, 21, 43, 0.035); border-radius: 28px; height: 100%; min-height: 320px; padding: 28px; transition: transform 0.35s, box-shadow 0.35s; display: block; }
.capability-card:hover { transform: translateY(-5px); box-shadow: rgba(48, 37, 108, 0.07) 0px 14px 35px; }
.pastel-blue { background: linear-gradient(140deg, rgb(224, 233, 250), rgb(244, 246, 251)); }
.pastel-mint { background: linear-gradient(140deg, rgb(224, 240, 232), rgb(245, 250, 247)); }
.pastel-purple { background: linear-gradient(140deg, rgb(233, 224, 252), rgb(247, 244, 252)); }
.pastel-peach { background: linear-gradient(140deg, rgb(251, 233, 220), rgb(253, 248, 244)); }
.card-top { color: rgb(106, 105, 116); justify-content: space-between; font-size: 12px; display: flex; }
.card-top svg { opacity: 0.65; }
.capability-icon { background: rgba(255, 255, 255, 0.5); border-radius: 13px; place-items: center; width: 45px; height: 45px; margin-top: 26px; display: grid; }
.capability-card h3 { letter-spacing: -0.04em; margin-top: 22px; font-size: 24px; font-weight: 500; line-height: 1.15; }
.capability-card p { color: var(--muted-foreground); margin-top: 15px; font-size: 14px; line-height: 1.65; }
.services-section { padding-block: 40px 90px; }
.gallery-controls { gap: 12px; display: flex; }
.gallery-controls button { cursor: pointer; background: rgb(238, 237, 243); border-radius: 50%; place-items: center; width: 44px; height: 44px; transition: background 0.2s; display: grid; }
.gallery-controls button:hover { background: var(--lilac); }
.service-gallery { scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgb(197, 185, 230) transparent; gap: 22px; padding: 40px max(40px, -640px + 50vw) 18px; display: flex; overflow-x: auto; }
.service-tile { scroll-snap-align: center; background: rgb(241, 239, 246); border: 1px solid rgba(25, 21, 43, 0.03); border-radius: 28px; flex: 0 0 295px; transition: background 0.3s; overflow: hidden; }
.service-tile:nth-child(2n) { background: rgb(236, 234, 250); }
.service-tile:hover { background: rgb(231, 222, 249); }
.service-tile-copy { padding: 0px 28px 30px; }
.service-number { color: rgb(101, 98, 112); font-size: 11px; }
.service-tile h3 { letter-spacing: -0.035em; margin-top: 10px; font-size: 25px; font-weight: 500; }
.service-tile p { color: var(--muted-foreground); min-height: 72px; margin-top: 14px; font-size: 14px; line-height: 1.7; }
.service-tile .text-link { margin-top: 25px; font-size: 13px; }
.sculpture { perspective: 800px; place-items: center; height: 230px; display: grid; position: relative; overflow: hidden; }
.sculpture-object { background: linear-gradient(135deg, rgb(255, 250, 253) 4%, rgb(181, 189, 245) 24%, rgb(238, 233, 255) 45%, rgb(139, 128, 221) 67%, rgb(197, 219, 250) 85%, rgb(255, 255, 255)); border: 1px solid rgba(255, 255, 255, 0.69); border-radius: 24px; width: 110px; height: 110px; animation: 7s ease-in-out 0s infinite normal none running sculpt-float; transform: rotateX(30deg) rotateZ(-28deg); box-shadow: rgba(255, 255, 255, 0.533) 8px 7px 12px inset, rgba(113, 97, 193, 0.392) -12px -10px 25px inset, rgba(128, 117, 183, 0.2) 14px 20px 28px; }
.sculpture-1 .sculpture-object { border-radius: 70px; width: 90px; height: 130px; animation-delay: -0.7s; transform: rotate(-35deg); }
.sculpture-2 .sculpture-object { background: conic-gradient(from 30deg, rgb(238, 233, 255), rgb(157, 169, 240), rgb(255, 255, 255), rgb(175, 161, 233), rgb(234, 243, 255)); border: 24px solid rgba(214, 211, 243, 0.627); border-radius: 50%; width: 124px; height: 124px; animation-delay: -1.4s; }
.sculpture-3 .sculpture-object { border-radius: 22px 65px; height: 120px; animation-delay: -2s; }
.sculpture-4 .sculpture-object { background: linear-gradient(135deg, rgb(228, 220, 251), rgb(143, 129, 222)); border: 18px solid rgb(185, 200, 244); border-radius: 50%; animation-delay: -2.7s; }
.sculpture-reflection { filter: blur(10px); background: rgba(112, 104, 165, 0.14); border-radius: 50%; width: 100px; height: 12px; position: absolute; bottom: 35px; }
.gallery-footer { color: var(--muted-foreground); justify-content: space-between; gap: 20px; margin-top: 24px; font-size: 12px; display: flex; }
.process-section { padding-block: 90px 110px; }
.process-heading { grid-template-columns: 1fr 1fr; align-items: end; column-gap: 80px; display: grid; }
.process-heading .eyebrow { grid-column: 1 / -1; }
.process-heading .section-copy { justify-self: end; margin: 0px; }
.process-grid { grid-template-columns: repeat(4, 1fr); gap: 28px; margin-top: 70px; display: grid; }
.process-number { align-items: center; gap: 18px; display: flex; }
.process-number span { color: rgb(187, 167, 224); letter-spacing: -0.06em; font-size: 48px; font-weight: 400; }
.process-number div { background: linear-gradient(90deg, rgb(200, 182, 230), rgb(223, 231, 250)); flex: 1 1 0%; height: 1px; }
.process-step h3 { letter-spacing: -0.025em; margin: 30px 0px 18px; font-size: 22px; font-weight: 500; line-height: 1.15; }
.process-step > p { color: var(--muted-foreground); font-size: 14px; line-height: 1.7; }
.process-output { color: var(--blue); align-items: start; gap: 8px; margin-top: 24px; font-size: 12px; display: flex; }
.process-output svg { flex-shrink: 0; margin-top: 2px; }
.solutions-section { background: linear-gradient(135deg, rgb(238, 232, 251), rgb(242, 237, 251) 65%, rgb(232, 239, 251)); border-radius: 40px; margin: 0px 16px; padding-block: 96px; }
.solution-showcase { grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 48px; display: grid; }
.solution-feature { color: rgb(255, 255, 255); background: rgb(100, 80, 168); border-radius: 28px; overflow: hidden; }
.solution-feature > a { background: radial-gradient(at 90% 90%, rgba(121, 119, 189, 0.4), rgba(0, 0, 0, 0)); height: 100%; padding: 36px; display: block; }
.solution-feature-top { color: rgb(238, 231, 255); justify-content: space-between; align-items: center; display: flex; }
.solution-feature h3 { letter-spacing: -0.045em; margin-top: 36px; font-size: 44px; font-weight: 500; line-height: 1.06; }
.solution-feature p { color: rgb(225, 217, 242); max-width: 380px; margin-top: 22px; font-size: 15px; line-height: 1.65; }
.flow-illustration { grid-template-columns: repeat(4, 1fr); margin-block: 46px; display: grid; position: relative; }
.flow-illustration::before { content: ""; border-top: 1px dashed rgba(219, 209, 250, 0.5); position: absolute; top: 24px; left: 12%; right: 12%; }
.flow-illustration > div { flex-direction: column; align-items: center; gap: 15px; font-size: 11px; display: flex; position: relative; }
.flow-node { background: rgb(125, 102, 190); border: 1px solid rgba(189, 173, 240, 0.376); border-radius: 15px; place-items: center; width: 48px; height: 48px; display: grid; }
.flow-dot { background: rgb(206, 213, 255); border-radius: 50%; width: 8px; height: 8px; }
.feature-link { align-items: center; gap: 16px; font-size: 14px; display: flex; }
.solution-stack { flex-direction: column; gap: 16px; display: flex; }
.solution-row { background: rgba(255, 255, 255, 0.69); border-radius: 24px; align-items: start; gap: 22px; padding: 28px; transition: background 0.3s, transform 0.3s; display: flex; }
.solution-row:hover { background: rgb(255, 255, 255); transform: translateX(3px); }
.solution-row-number { color: rgb(135, 122, 162); padding-top: 4px; font-size: 12px; }
.solution-row h3 { letter-spacing: -0.035em; margin-top: 10px; font-size: 25px; font-weight: 500; }
.solution-row p { color: var(--muted-foreground); margin-top: 12px; font-size: 14px; line-height: 1.6; }
.solution-row > svg { color: rgb(105, 97, 131); flex-shrink: 0; }
.insights-section { padding-block: 110px; }
.insight-grid { grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 44px; display: grid; }
.insight-card { background: rgb(255, 255, 255); border: 1px solid rgba(25, 21, 43, 0.05); border-radius: 26px; height: 100%; transition: transform 0.3s, box-shadow 0.3s; display: block; overflow: hidden; }
.insight-card:hover { transform: translateY(-4px); box-shadow: rgba(48, 37, 108, 0.047) 0px 14px 35px; }
.insight-art { background: rgb(231, 225, 243); place-items: center; height: 175px; display: grid; position: relative; overflow: hidden; }
.insight-art > div { border: 30px solid rgb(196, 182, 226); border-radius: 50%; width: 160px; height: 160px; transform: translate(40px, 35px); }
.insight-art > span { color: rgb(117, 103, 142); font-size: 12px; position: absolute; top: 24px; left: 26px; }
.insight-1 .insight-art { background: rgb(228, 233, 245); }
.insight-1 .insight-art > div { border-color: rgb(174, 187, 221); border-radius: 26px; transform: translate(40px, 30px) rotate(-22deg); }
.insight-2 .insight-art { background: rgb(233, 229, 245); }
.insight-2 .insight-art > div { border-color: rgb(185, 174, 214); border-radius: 90px 20px; width: 200px; }
.insight-copy { padding: 26px; }
.insight-copy h3 { letter-spacing: -0.035em; margin-top: 18px; font-size: 25px; font-weight: 500; line-height: 1.2; }
.insight-copy > p:not(.small-label) { color: var(--muted-foreground); margin-top: 16px; font-size: 14px; line-height: 1.7; }
.insight-copy .text-link { margin-top: 25px; font-size: 13px; }
.faq-section { grid-template-columns: 1fr 1.2fr; gap: 90px; padding-bottom: 110px; display: grid; }
.faq-section .text-link { margin-top: 26px; }
.faq-section [data-slot] { font-weight: 500; }
.faq-section > div:last-child > div { margin-top: 0px; }
.faq-section button { font-size: 17px; font-weight: 500; }
.site-footer { color: rgb(249, 247, 252); background: rgb(32, 28, 50); }
.site-footer .section-wrap { padding-top: 72px; }
.footer-top { grid-template-columns: 1.2fr 0.8fr 1.1fr; gap: 60px; padding-bottom: 55px; display: grid; }
.brand-logo-footer { background: rgb(249, 248, 255); border-radius: 16px; width: 230px; padding: 6px; }
.footer-top > div > p:not(.small-label) { color: rgb(192, 184, 210); margin-top: 24px; font-size: 14px; line-height: 1.7; }
.footer-top .small-label { color: rgb(199, 183, 232); }
.footer-links { gap: 14px; margin-top: 22px; font-size: 14px; display: grid; }
.footer-links a { color: rgb(227, 221, 235); align-items: center; gap: 20px; width: fit-content; display: flex; }
.footer-top h2 { margin: 22px 0px 26px; font-size: 40px; line-height: 1.1; }
.footer-bottom { color: rgb(182, 174, 199); border-top: 1px solid rgba(255, 255, 255, 0.125); justify-content: space-between; gap: 25px; padding: 25px 0px 30px; font-size: 12px; display: flex; }
main > div:not(.home-page):not(.site-page) { padding-top: 140px; }
main h1, main h2 { font-weight: 500; }
.site-page .page-hero { padding-top: 170px; }
@keyframes sculpt-float { 
  0%, 100% { translate: 0px; }
  50% { translate: 0px -10px; }
}
@keyframes scroll-cue { 
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(5px); }
}
@media (width >= 1600px) {
  .reference-hero { padding-top: 170px; }
  .hero-eyebrow { margin-bottom: 60px; }
}
@media (width <= 1100px) {
  .desktop-nav, .nav-cta { display: none; }
  .mobile-nav { display: block; }
  .intro-section { gap: 45px; }
  .capability-card { padding: 24px; }
  .process-grid, .solution-showcase { gap: 20px; }
  .solution-feature > a { padding: 28px; }
  .solution-row { gap: 14px; padding: 24px; }
  .faq-section { gap: 50px; }
}
@media (width <= 767px) {
  .section-wrap { width: calc(100% - 40px); }
  .site-header { padding: 10px 12px 0px; }
  .nav-capsule { height: 68px; padding-left: 18px; }
  .is-scrolled .nav-capsule { height: 64px; }
  .brand-logo { width: 174px; }
  .brand-logo img { height: 48px; }
  .reference-hero { border-radius: 0px 0px 32px 32px; min-height: 820px; padding: 132px 24px 100px; }
  .reference-video { object-position: 65% center; }
  .hero-wash { background: rgba(241, 237, 255, 0.52); }
  .hero-eyebrow { margin-bottom: 38px; font-size: 12px; }
  .hero-content h1 { max-width: 610px; font-size: clamp(43px, 7.7vw, 60px); line-height: 1.08; }
  .desktop-break { display: none; }
  .hero-copy { font-size: 17px; line-height: 1.6; }
  .hero-actions { gap: 12px; }
  .hero-actions .pill { padding: 13px 20px; font-size: 14px; }
  .hero-scroll { bottom: 30px; right: 24px; }
  .hero-corner { width: 140px; }
  .intro-section { grid-template-columns: 1fr; gap: 38px; padding-block: 70px; }
  .intro-copy h2 { max-width: 580px; }
  .intro-note { margin-top: 30px; }
  .capability-card { min-height: 280px; padding: 22px; }
  .capability-card h3 { font-size: 22px; }
  .capability-cards { gap: 14px; }
  .section-header { align-items: start; }
  .section-header h2 { font-size: 36px; }
  .section-header > .text-link { margin-top: 10px; font-size: 13px; }
  .services-section { padding-block: 20px 56px; }
  .service-gallery { gap: 16px; padding: 30px 20px 15px; }
  .service-tile { flex-basis: 280px; }
  .gallery-controls { gap: 7px; padding-top: 18px; }
  .gallery-controls button { width: 36px; height: 36px; }
  .gallery-footer { align-items: center; }
  .gallery-footer > span { max-width: 150px; }
  .process-section { padding-block: 60px 72px; }
  .process-heading { grid-template-columns: 1fr; }
  .process-heading .section-copy { justify-self: start; margin-top: 22px; }
  .process-grid { grid-template-columns: 1fr 1fr; gap: 35px 24px; margin-top: 38px; }
  .process-step h3 { margin-top: 20px; }
  .process-number span { font-size: 40px; }
  .solutions-section { border-radius: 28px; margin-inline: 8px; padding-block: 64px; }
  .solutions-section .section-header { flex-direction: column; }
  .solution-showcase { grid-template-columns: 1fr; margin-top: 30px; }
  .solution-feature h3 { font-size: 40px; }
  .solution-row h3 { font-size: 23px; }
  .insights-section { padding-block: 72px; }
  .insights-section .section-header { flex-direction: column; }
  .insight-grid { grid-template-columns: 1fr; gap: 22px; margin-top: 30px; }
  .insight-art { height: 170px; }
  .faq-section { grid-template-columns: 1fr; gap: 38px; padding-bottom: 72px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 38px; }
  .footer-top > div:first-child { grid-column: 1 / -1; }
  .footer-top h2 { font-size: 32px; }
  .footer-top .pill { gap: 10px; padding-inline: 16px; font-size: 12px; }
  .footer-bottom { flex-wrap: wrap; gap: 16px; }
  .footer-bottom > span { display: none; }
  .site-page .page-hero { padding-top: 135px; }
}
@media (width <= 420px) {
  .capability-cards { grid-template-columns: 1fr; }
  .capability-card { min-height: 250px; }
  .reference-hero { min-height: 870px; }
  .hero-actions { flex-direction: column; align-items: start; }
  .hero-copy { max-width: 330px; }
  .gallery-footer { flex-wrap: wrap; }
  .process-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-top > div:first-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .reference-video { display: none; }
  .reference-hero { background: url("../media/hero-poster.svg") center center / cover rgb(233, 229, 251); }
  .hero-wash { background: rgba(241, 237, 255, 0.52); }
}
.form-label { flex-direction: column; gap: 10px; font-size: 13px; font-weight: 500; display: flex; }
.form-label input, .form-label select, .form-label textarea { border: 1px solid var(--border); width: 100%; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; background: rgb(255, 255, 255); border-radius: 12px; padding: 14px; font-weight: 400; }
.form-label textarea { resize: vertical; }
.pill-blue { background: linear-gradient(115deg, rgb(70, 79, 199) 0%, rgb(112, 81, 206) 70%, rgb(128, 88, 210) 100%) 0px 0px / 150% 100%; transition: background-position 0.4s, transform 0.3s, box-shadow 0.3s; box-shadow: rgba(103, 80, 195, 0.14) 0px 4px 15px; }
.pill-blue:hover { background-position: 100% 0px; box-shadow: rgba(102, 80, 202, 0.25) 0px 10px 28px; }
.brand-logo { width: 250px; }
.brand-logo img { height: 64px; display: block; }
.nav-capsule { position: relative; }
.desktop-nav > a, .services-nav > button { padding-inline: 13px; }
.services-nav { position: static; }
.services-dropdown { border-radius: 26px; width: min(1020px, -48px + 100vw); padding: 0px; top: calc(100% + 12px); left: auto; right: 0px; overflow: visible; }
.services-dropdown::before { content: ""; width: 100%; height: 18px; position: absolute; top: -16px; }
.mega-main { border-radius: 26px 26px 0px 0px; grid-template-columns: 2.1fr 1fr; display: grid; overflow: hidden; }
.mega-services { padding: 27px 22px; }
.mega-heading { justify-content: space-between; align-items: center; padding: 0px 12px 18px; font-size: 15px; font-weight: 500; display: flex; }
.mega-heading > a { color: rgb(118, 106, 150); align-items: center; gap: 6px; font-size: 12px; display: flex; }
.dropdown-grid { gap: 8px 4px; }
.dropdown-grid a { align-items: center; padding: 15px 12px; transition: background 0.25s, transform 0.25s; }
.dropdown-grid a:hover { background: rgb(245, 241, 253); transform: translateX(3px); }
.mega-icon { color: rgb(93, 82, 108); background: rgb(245, 244, 248); border-radius: 12px; flex-shrink: 0; place-items: center; width: 46px; height: 46px; transition: background 0.3s, color 0.3s; display: grid; }
.dropdown-grid .mega-icon svg { color: inherit; margin: 0px; }
.dropdown-grid a:hover .mega-icon { color: rgb(103, 72, 200); background: rgb(233, 226, 251); }
.dropdown-grid strong { font-size: 14px; line-height: 1.3; }
.dropdown-grid small { font-size: 11px; line-height: 1.45; }
.mega-workflows { background: linear-gradient(145deg, rgb(238, 232, 255), rgb(249, 247, 253)); padding: 29px 26px; }
.mega-workflows > p { margin-bottom: 20px; font-size: 15px; font-weight: 500; }
.mega-workflows a { align-items: flex-start; gap: 12px; padding: 10px 0px; font-size: 13px; line-height: 1.5; transition: color 0.25s, translate 0.25s; display: flex; }
.mega-workflows a svg { color: rgb(135, 80, 205); flex-shrink: 0; margin-top: 3px; }
.mega-workflows a:hover { color: rgb(100, 53, 181); background: none; translate: 3px; }
.mega-consult { border-top: 1px solid rgb(238, 232, 245); justify-content: space-between; align-items: center; gap: 26px; padding: 24px 32px; display: flex; }
.mega-consult h3 { font-size: 16px; font-weight: 500; }
.mega-consult p { color: rgb(117, 108, 130); margin-top: 6px; font-size: 13px; }
.mega-consult .pill { min-height: 48px; font-size: 14px; }
.partners-section { border-bottom: 1px solid rgba(33, 21, 53, 0.063); justify-content: space-between; align-items: center; gap: 60px; padding-block: 52px; display: flex; }
.partners-heading .eyebrow { color: rgb(124, 108, 149); margin-bottom: 12px; }
.partners-heading > p:last-child { letter-spacing: -0.025em; font-size: 19px; line-height: 1.4; }
.partner-logos { justify-content: center; align-items: center; gap: 60px; display: flex; }
.partner-logos a { opacity: 0.7; border-radius: 18px; padding: 18px 25px; transition: background 0.35s, opacity 0.35s, transform 0.35s; }
.partner-logos a:hover { opacity: 1; background: rgb(240, 234, 252); transform: translateY(-3px); }
.partner-logos img { object-fit: contain; width: 275px; height: 58px; }
.partner-logos a:last-child img { width: 150px; height: 46px; }
.service-tile { transition: background 0.35s, transform 0.35s, box-shadow 0.35s; }
.service-tile:hover { transform: translateY(-6px); box-shadow: rgba(104, 80, 138, 0.1) 0px 14px 28px; }
.service-tile:hover .sculpture-object { scale: 1.08; }
.sculpture-object { transition: scale 0.5s; }
.capability-card:hover .capability-icon { background: rgba(255, 255, 255, 0.753); transform: rotate(-5deg); }
.capability-icon { transition: transform 0.35s, background 0.35s; }
.approach-background { isolation: isolate; background: rgb(253, 252, 255); position: relative; overflow: hidden; }
.approach-ribbon { z-index: -1; opacity: 0.62; background: url("../media/approach-ribbon.webp") 50% 45% / cover no-repeat; animation: 18s ease-in-out 0s infinite alternate none running ribbon-drift; position: absolute; inset: 0px; }
.approach-background::after { content: ""; z-index: -1; background: linear-gradient(rgb(253, 252, 255) 0%, rgba(253, 252, 255, 0.25) 40%, rgba(253, 252, 255, 0.627) 85%, rgb(253, 252, 255) 100%); position: absolute; inset: 0px; }
.approach-background .process-section { padding-block: 110px; }
.process-step { backdrop-filter: blur(14px); background: rgba(255, 255, 255, 0.67); border: 1px solid rgba(255, 255, 255, 0.753); border-radius: 24px; height: 100%; padding: 28px 24px; transition: transform 0.4s, box-shadow 0.4s, background 0.4s, border-color 0.4s; }
.process-step:hover { background: rgba(255, 255, 255, 0.93); border-color: rgb(205, 189, 239); transform: translateY(-8px); box-shadow: rgba(118, 96, 156, 0.125) 0px 18px 44px; }
.process-grid { gap: 18px; }
.process-number span { color: rgb(138, 112, 190); }
.supplier-section { background: linear-gradient(135deg, rgb(242, 236, 253), rgb(248, 246, 252) 60%, rgb(238, 241, 255)); padding-block: 110px; position: relative; }
.supplier-layout { grid-template-columns: 1fr 1.05fr; align-items: center; gap: 80px; display: grid; }
.verification-label { color: rgb(116, 80, 171); letter-spacing: 0.08em; background: rgba(233, 223, 249, 0.376); border: 1px solid rgba(203, 183, 232, 0.42); border-radius: 100px; align-items: center; gap: 9px; margin-bottom: 30px; padding: 11px 15px; font-size: 10px; display: inline-flex; }
.supplier-copy h2 span { color: rgb(125, 105, 157); }
.supplier-copy .section-copy { max-width: 440px; }
.supplier-copy .pill { margin-top: 28px; }
.supplier-services { gap: 15px; display: grid; }
.supplier-card { background: rgba(255, 255, 255, 0.71); border: 1px solid rgb(255, 255, 255); border-radius: 24px; align-items: flex-start; gap: 20px; padding: 28px; transition: transform 0.35s, background 0.35s, box-shadow 0.35s; display: flex; }
.supplier-card:hover { background: rgb(255, 255, 255); transform: translateX(6px); box-shadow: rgba(96, 67, 132, 0.075) 0px 16px 35px; }
.supplier-card > svg { color: rgb(128, 97, 179); flex-shrink: 0; }
.supplier-card > svg:last-child { margin-left: auto; }
.supplier-number { color: rgb(147, 133, 159); padding-top: 5px; font-size: 10px; }
.supplier-card h3 { letter-spacing: -0.035em; font-size: 20px; font-weight: 500; line-height: 1.2; }
.supplier-card p { color: rgb(113, 102, 126); margin-top: 10px; font-size: 14px; line-height: 1.6; }
.solutions-section { margin-block: 42px; }
.solution-feature { transition: box-shadow 0.4s, transform 0.4s; }
.solution-feature:hover { transform: translateY(-5px); box-shadow: rgba(101, 81, 147, 0.19) 0px 22px 45px; }
.solution-feature:hover .flow-node { background: rgb(148, 128, 206); transform: translateY(-3px); }
.flow-node { transition: transform 0.4s, background 0.4s; }
.industries-section { color: rgb(255, 255, 255); background: radial-gradient(at 50% 110%, rgb(128, 98, 213) 0%, rgba(0, 0, 0, 0) 52%), linear-gradient(rgb(22, 12, 40), rgb(41, 18, 68) 80%, rgb(50, 23, 87)); border-radius: 38px; margin: 24px 16px 0px; padding: 90px 0px 100px; overflow: hidden; }
.industries-section .section-copy { color: rgb(204, 192, 223); }
.industries-section .gallery-controls button { background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.133); }
.industries-section .gallery-controls button:hover { background: rgba(255, 255, 255, 0.145); }
.industry-track { scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.208) transparent; gap: 22px; padding: 44px max(24px, -624px + 50vw) 16px; display: flex; overflow-x: auto; }
.industry-card { scroll-snap-align: center; background: rgb(50, 37, 68); border: 1px solid rgba(255, 255, 255, 0.094); border-radius: 24px; flex: 0 0 285px; min-height: 405px; transition: translate 0.4s, box-shadow 0.4s, border-color 0.4s; position: relative; overflow: hidden; }
.industry-card:hover { border-color: rgba(201, 176, 255, 0.565); translate: 0px -5px; box-shadow: rgba(8, 2, 30, 0.376) 0px 20px 40px; }
.industry-image { opacity: 0.83; background-position: center center; background-size: cover; transition: transform 0.7s, opacity 0.5s; position: absolute; inset: 0px; }
.industry-card:hover .industry-image { opacity: 1; transform: scale(1.07); }
.industry-finance .industry-image { background-image: url("../media/industry-finance.webp"); }
.industry-manufacturing .industry-image { background-image: url("../media/industry-manufacturing.webp"); }
.industry-healthcare .industry-image { background-image: url("../media/industry-healthcare.webp"); }
.industry-cybersecurity .industry-image { background-image: url("../media/industry-cybersecurity.webp"); }
.industry-commerce .industry-image { background-image: url("../media/industry-commerce.webp"); }
.industry-card::after { content: ""; background: linear-gradient(rgba(23, 8, 33, 0.25) 0%, rgba(53, 24, 117, 0.125) 40%, rgba(19, 7, 29, 0.92) 100%); position: absolute; inset: 0px; }
.industry-index { z-index: 1; opacity: 0.8; font-size: 11px; position: absolute; top: 22px; left: 22px; }
.industry-icon { z-index: 1; color: rgb(255, 255, 255); position: absolute; top: 22px; right: 22px; }
.industry-copy { z-index: 2; position: absolute; bottom: 26px; left: 24px; right: 24px; }
.industry-copy h3 { letter-spacing: -0.035em; font-size: 23px; font-weight: 500; }
.industry-copy p { color: rgb(230, 221, 239); margin-top: 12px; font-size: 13px; line-height: 1.55; }
.industry-copy > span { opacity: 0.85; align-items: center; gap: 10px; margin-top: 18px; font-size: 12px; display: flex; }
.case-studies-section { background: radial-gradient(at 50% 0px, rgb(236, 227, 251), rgba(0, 0, 0, 0) 50%); padding-block: 95px; overflow: hidden; }
.case-section-heading { text-align: center; max-width: 750px; margin-inline: auto; }
.case-section-heading h2 span { color: rgb(130, 101, 167); }
.case-section-heading .text-link { margin-top: 22px; }
.case-slider { scroll-snap-type: x mandatory; scrollbar-width: none; gap: 24px; margin-top: 44px; padding: 12px 0px 22px; display: flex; position: relative; overflow-x: auto; }
.case-slider::-webkit-scrollbar { display: none; }
.case-card { scroll-snap-align: start; background: rgb(255, 255, 255); border: 1px solid rgb(232, 224, 240); border-radius: 30px; flex: 0 0 calc(100% - 75px); transition: box-shadow 0.4s, transform 0.4s; overflow: hidden; }
.case-card:hover { transform: translateY(-4px); box-shadow: rgba(109, 80, 154, 0.11) 0px 18px 40px; }
.case-card > a { grid-template-columns: 1fr 1fr; height: 100%; display: grid; }
.case-card-copy { flex-direction: column; order: 1; align-items: flex-start; padding: 42px; display: flex; }
.case-card-copy .small-label { color: rgb(133, 110, 158); line-height: 1.8; }
.case-card-copy h3 { letter-spacing: -0.05em; max-width: 440px; margin-top: 24px; font-size: clamp(32px, 3.2vw, 48px); font-weight: 500; line-height: 1.06; }
.case-card-copy > p:not(.small-label) { color: rgb(116, 107, 126); max-width: 430px; margin-top: 22px; font-size: 15px; line-height: 1.7; }
.case-card-bottom { justify-content: space-between; align-items: center; gap: 22px; width: 100%; margin-top: auto; padding-top: 40px; display: flex; }
.case-card-bottom strong { letter-spacing: -0.04em; color: rgb(102, 69, 158); font-size: 28px; font-weight: 500; display: block; }
.case-card-bottom div > span { color: rgb(133, 119, 143); margin-top: 8px; font-size: 12px; display: block; }
.case-arrow { background: rgb(237, 229, 248); border-radius: 50%; place-items: center; width: 50px; height: 50px; transition: background 0.3s, transform 0.3s, color 0.3s; display: grid; }
.case-card:hover .case-arrow { color: rgb(255, 255, 255); background: rgb(112, 81, 182); transform: rotate(5deg); }
.case-visual { background: radial-gradient(at 20% 10%, rgb(200, 220, 250), rgb(182, 165, 222) 55%, rgb(121, 102, 179)); order: 2; place-items: center; min-height: 475px; padding: 38px 30px; display: grid; position: relative; overflow: hidden; }
.case-visual-support { background: radial-gradient(at 80% 10%, rgb(237, 231, 255), rgb(170, 155, 224) 50%, rgb(136, 118, 192)); }
.case-orbit { border: 60px solid rgba(212, 201, 250, 0.376); border-radius: 50%; width: 470px; height: 470px; position: absolute; top: -160px; right: -180px; }
.case-app { background: rgba(255, 255, 255, 0.94); border: 1px solid rgb(255, 255, 255); border-radius: 14px; width: 390px; max-width: 100%; transition: transform 0.7s; position: relative; transform: rotate(-5deg); box-shadow: rgba(52, 40, 98, 0.25) 0px 30px 60px; }
.case-card:hover .case-app { transform: rotate(-2deg) translateY(-5px); }
.case-visual-support .case-app { transform: rotate(4deg); }
.case-app-bar { border-bottom: 1px solid rgb(230, 223, 239); align-items: center; gap: 5px; padding: 13px; display: flex; }
.case-app-bar > span { background: rgb(192, 174, 214); border-radius: 50%; width: 5px; height: 5px; }
.case-app-bar strong { color: rgb(111, 99, 131); margin-left: 8px; font-size: 8px; font-weight: 500; }
.case-app-body { min-height: 220px; display: flex; }
.case-app-sidebar { background: rgb(246, 242, 252); border-right: 1px solid rgb(238, 232, 246); border-radius: 0px 0px 0px 14px; width: 45px; padding: 15px 13px; }
.case-app-sidebar span { background: rgb(223, 212, 242); border-radius: 5px; height: 16px; margin-bottom: 15px; display: block; }
.case-app-main { flex: 1 1 0%; min-width: 0px; padding: 20px; }
.case-app-heading { color: rgb(53, 43, 71); justify-content: space-between; align-items: center; gap: 5px; font-size: 12px; display: flex; }
.case-status { color: rgb(98, 126, 98); background: rgb(231, 241, 232); border-radius: 5px; padding: 5px; font-size: 7px; }
.case-app-metrics { gap: 7px; margin-block: 22px; display: flex; }
.case-app-metrics > span { color: rgb(134, 114, 158); background: rgb(241, 236, 248); border-radius: 7px; flex-direction: column; flex: 1 1 0%; gap: 12px; padding: 12px 8px; font-size: 8px; display: flex; }
.case-app-flow { gap: 5px; display: flex; }
.case-app-flow > div { color: rgb(128, 105, 152); border: 1px solid rgb(218, 206, 233); border-radius: 7px; flex: 1 1 0%; justify-content: center; align-items: center; gap: 4px; padding: 8px 4px; font-size: 7px; display: flex; }
.case-app-lines { gap: 8px; margin-top: 18px; display: grid; }
.case-app-lines span { background: rgb(232, 225, 241); border-radius: 10px; width: 90%; height: 5px; }
.case-app-lines span:nth-child(2) { width: 65%; }
.case-app-lines span:nth-child(3) { width: 75%; }
.case-visual-caption { letter-spacing: 0.13em; color: rgb(255, 255, 255); font-size: 9px; position: absolute; bottom: 26px; left: 30px; }
.slider-bottom { justify-content: space-between; align-items: center; gap: 20px; margin-top: 14px; display: flex; }
.slider-bottom > span { color: rgb(134, 118, 149); }
.slider-dots { gap: 9px; display: flex; }
.slider-dots button { cursor: pointer; width: 30px; height: 30px; position: relative; }
.slider-dots button::after { content: ""; background: rgb(211, 199, 226); border-radius: 50%; width: 7px; height: 7px; transition: background 0.3s, scale 0.3s; position: absolute; top: 11px; left: 11px; }
.slider-dots button[aria-pressed="true"]::after { background: rgb(113, 81, 173); scale: 1.3; }
.testimonials-section { grid-template-columns: 0.8fr 1.2fr; align-items: center; gap: 90px; padding-block: 70px 110px; display: grid; }
.testimonials-intro .section-copy { max-width: 330px; }
.testimonial-source { color: rgb(153, 142, 165); margin-top: 28px; font-size: 11px; }
.testimonial-panel { background: linear-gradient(145deg, rgb(238, 229, 251), rgb(244, 240, 250) 70%, rgb(229, 235, 250)); border: 1px solid rgb(255, 255, 255); border-radius: 28px; padding: 40px; transition: box-shadow 0.4s; }
.testimonial-panel:hover { box-shadow: rgba(105, 82, 136, 0.094) 0px 15px 50px; }
.testimonial-quote-icon { color: rgb(156, 128, 199); }
.testimonial-content { min-height: 280px; animation: 0.4s ease-out 0s 1 normal none running rise; }
.testimonial-content blockquote { letter-spacing: -0.025em; margin-top: 25px; font-size: 25px; font-weight: 400; line-height: 1.45; }
.testimonial-person { align-items: center; gap: 15px; margin-top: 30px; display: flex; }
.testimonial-avatar { color: rgb(255, 255, 255); background: linear-gradient(130deg, rgb(137, 117, 189), rgb(168, 182, 218)); border-radius: 50%; place-items: center; width: 48px; height: 48px; font-size: 13px; display: grid; }
.testimonial-person strong { font-size: 13px; font-weight: 500; display: block; }
.testimonial-person div > span { color: rgb(141, 128, 153); margin-top: 5px; font-size: 11px; display: block; }
.testimonial-controls { border-top: 1px solid rgb(214, 199, 231); justify-content: space-between; align-items: center; margin-top: 30px; padding-top: 30px; display: flex; }
.testimonial-controls > span { color: rgb(128, 102, 153); font-size: 14px; }
.testimonial-controls > span > span { color: rgb(176, 161, 190); }
.testimonial-controls button { background: rgba(255, 255, 255, 0.5); }
.cto-section { grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; padding-block: 30px 110px; display: grid; }
.cto-visual { background: radial-gradient(at 50% 45%, rgb(216, 213, 239), rgb(238, 235, 247) 70%, rgb(228, 234, 247)); border-radius: 32px; place-items: center; min-height: 440px; display: grid; position: relative; overflow: hidden; }
.cto-orbit { border: 1px solid rgb(194, 180, 224); border-radius: 50%; width: 290px; height: 290px; animation: 24s linear 0s infinite normal none running leadership-orbit; position: absolute; box-shadow: rgba(215, 206, 237, 0.2) 0px 0px 0px 38px, rgba(216, 208, 238, 0.133) 0px 0px 0px 78px; }
.cto-orbit::before { content: ""; background: rgb(154, 128, 199); border: 2px solid rgb(255, 255, 255); border-radius: 50%; width: 10px; height: 10px; position: absolute; top: 45px; right: 25px; }
.cto-center { backdrop-filter: blur(16px); color: rgb(118, 98, 156); background: rgba(255, 255, 255, 0.44); border: 1px solid rgb(255, 255, 255); border-radius: 35px; flex-direction: column; justify-content: center; align-items: center; gap: 16px; width: 164px; height: 164px; display: flex; box-shadow: rgba(112, 88, 156, 0.133) 0px 15px 50px; }
.cto-center span { letter-spacing: 0.1em; text-align: center; font-size: 10px; line-height: 1.5; }
.cto-chip { backdrop-filter: blur(14px); color: rgb(120, 98, 143); background: rgba(255, 255, 255, 0.753); border: 1px solid rgb(255, 255, 255); border-radius: 12px; align-items: center; gap: 12px; padding: 13px 17px; font-size: 12px; animation: 7s ease-in-out 0s infinite normal none running sculpt-float; display: flex; position: absolute; box-shadow: rgba(112, 88, 156, 0.063) 0px 8px 20px; }
.cto-chip-0 { top: 75px; left: 35px; }
.cto-chip-1 { animation-delay: -2s; top: 150px; right: 24px; }
.cto-chip-2 { animation-delay: -4s; bottom: 90px; left: 70px; }
.cto-visual-label { color: rgb(138, 117, 163); position: absolute; bottom: 30px; }
.cto-copy h2 > span { color: rgb(130, 103, 163); }
.cto-topics { gap: 14px; margin-block: 28px; display: grid; }
.cto-topics > span { color: rgb(117, 104, 133); align-items: center; gap: 12px; font-size: 14px; display: flex; }
.cto-topics svg { color: rgb(155, 125, 189); }
.discovery-section { isolation: isolate; background: rgb(233, 225, 245); border-radius: 36px; margin: 12px 16px 24px; padding-block: 95px; position: relative; overflow: hidden; }
.discovery-glow { z-index: -1; background: radial-gradient(at 85% 40%, rgba(179, 183, 238, 0.667), rgba(0, 0, 0, 0) 45%), radial-gradient(at 30% 85%, rgba(200, 169, 230, 0.667), rgba(0, 0, 0, 0) 45%); animation: 18s ease-in-out 0s infinite alternate none running ribbon-drift; position: absolute; inset: -80px; }
.discovery-layout { justify-content: space-between; align-items: center; gap: 65px; display: flex; }
.discovery-layout h2 { letter-spacing: -0.055em; font-size: clamp(42px, 4.7vw, 68px); }
.discovery-layout h2 span { color: rgb(134, 101, 166); }
.discovery-layout .section-copy { max-width: 540px; }
.discovery-button { color: rgb(255, 255, 255); background: linear-gradient(130deg, rgb(77, 82, 188), rgb(128, 82, 188)); border-radius: 26px; justify-content: space-between; align-items: center; gap: 40px; width: 265px; height: 160px; padding: 32px; transition: transform 0.4s, box-shadow 0.4s; display: flex; box-shadow: rgba(97, 82, 163, 0.19) 0px 15px 40px; }
.discovery-button:hover { transform: translateY(-7px) rotate(-2deg); box-shadow: rgba(97, 82, 163, 0.25) 0px 25px 45px; }
.discovery-button > span { letter-spacing: -0.035em; font-size: 23px; line-height: 1.25; }
.glass-footer { isolation: isolate; color: rgb(50, 39, 62); background: linear-gradient(130deg, rgb(235, 230, 244), rgb(218, 225, 244) 50%, rgb(232, 221, 245)); padding: 28px 0px; position: relative; overflow: hidden; }
.footer-ambient { z-index: -1; filter: blur(40px); background: radial-gradient(at 80% 30%, rgba(150, 122, 201, 0.4), rgba(0, 0, 0, 0) 45%), radial-gradient(at 10% 100%, rgba(158, 191, 229, 0.467), rgba(0, 0, 0, 0) 40%); position: absolute; inset: -100px; }
.footer-glass-panel { backdrop-filter: blur(24px); background: rgba(255, 255, 255, 0.333); border: 1px solid rgba(255, 255, 255, 0.66); border-radius: 32px; padding-inline: 45px; position: relative; box-shadow: rgba(255, 255, 255, 0.533) 0px 1px inset, rgba(106, 80, 117, 0.1) 0px 16px 50px; }
.glass-footer .footer-top > div > p:not(.small-label) { color: rgb(123, 108, 138); }
.glass-footer .footer-top .small-label { color: rgb(133, 108, 156); }
.glass-footer .footer-links a { color: rgb(92, 77, 109); transition: color 0.3s, translate 0.3s; }
.glass-footer .footer-links a:hover { color: rgb(99, 66, 161); translate: 4px; }
.glass-footer .brand-logo-footer { background: rgba(255, 255, 255, 0.314); border-radius: 15px; width: 260px; padding: 8px; }
.glass-footer .footer-bottom { color: rgb(136, 119, 150); border-color: rgba(191, 174, 205, 0.376); flex-wrap: wrap; font-size: 11px; }
.case-detail-visual { margin-top: 60px; }
.case-detail-visual .case-visual { border-radius: 30px; min-height: 500px; }
.case-detail-visual .case-app { width: 580px; transform: rotate(-3deg); }
.case-detail-grid { grid-template-columns: 1fr 1fr; gap: 90px; padding-block: 85px; display: grid; }
.case-detail-outcome { background: rgb(238, 231, 248); border-radius: 20px; margin-top: 35px; padding: 28px; line-height: 1.7; }
@keyframes ribbon-drift { 
  0% { transform: translate3d(-15px, 15px, 0px) scale(1.03); }
  100% { transform: translate3d(15px, -15px, 0px) scale(1.07); }
}
@keyframes leadership-orbit { 
  100% { rotate: 360deg; }
}
@media (width <= 1100px) {
  .partners-section { gap: 30px; }
  .partner-logos { gap: 15px; }
  .partner-logos img { width: 225px; }
  .supplier-layout { gap: 45px; }
  .supplier-card { gap: 14px; padding: 24px; }
  .testimonials-section, .cto-section { gap: 45px; }
  .case-card-copy { padding: 32px; }
  .case-visual { padding: 28px 20px; }
  .case-app-main { padding: 16px; }
  .process-grid { grid-template-columns: 1fr 1fr; }
}
@media (width <= 767px) {
  .brand-logo { width: 205px; }
  .brand-logo img { height: 50px; }
  .partners-section { flex-direction: column; align-items: flex-start; gap: 24px; padding-block: 35px; }
  .partners-heading { justify-content: space-between; align-items: center; gap: 25px; width: 100%; display: flex; }
  .partners-heading > p:last-child { font-size: 14px; }
  .partners-heading .eyebrow { margin: 0px; font-size: 9px; }
  .partner-logos { justify-content: space-between; gap: 16px; width: 100%; }
  .partner-logos a { padding: 12px 5px; }
  .partner-logos img { width: 175px; height: 40px; }
  .partner-logos a:last-child img { width: 112px; height: 36px; }
  .approach-background .process-section { padding-block: 72px; }
  .approach-ribbon { opacity: 0.45; background-position: center center; background-size: auto 80%; }
  .process-step { padding: 22px; }
  .process-grid { gap: 15px; }
  .supplier-section { padding-block: 70px; }
  .supplier-layout { grid-template-columns: 1fr; gap: 38px; }
  .supplier-card { padding: 24px 20px; }
  .supplier-number { display: none; }
  .supplier-card h3 { font-size: 20px; }
  .verification-label { padding-inline: 11px; font-size: 9px; }
  .supplier-copy .pill { font-size: 13px; }
  .industries-section { border-radius: 28px; margin-inline: 8px; padding-block: 60px; }
  .industry-track { gap: 15px; padding: 32px 20px 15px; }
  .industry-card { flex-basis: 275px; min-height: 375px; }
  .industries-section .section-header { gap: 15px; }
  .industries-section h2 { font-size: 36px; }
  .case-studies-section { padding-block: 70px; }
  .case-section-heading { text-align: left; }
  .case-section-heading h2 { font-size: 39px; }
  .case-slider { gap: 16px; margin-top: 30px; }
  .case-card { border-radius: 24px; flex-basis: calc(100% - 20px); }
  .case-card > a { grid-template-columns: 1fr; }
  .case-visual { order: 0; min-height: 285px; padding: 40px 25px; }
  .case-app { width: 290px; }
  .case-app-body { min-height: 175px; }
  .case-app-main { padding: 15px; }
  .case-app-metrics { margin-block: 14px; }
  .case-app-heading { font-size: 10px; }
  .case-status { font-size: 6px; }
  .case-app-metrics > span { padding: 9px 5px; }
  .case-app-metrics svg { width: 16px; height: 16px; }
  .case-visual-caption { font-size: 8px; bottom: 14px; left: 22px; }
  .case-card-copy { padding: 26px; }
  .case-card-copy h3 { margin-top: 18px; font-size: 33px; }
  .case-card-copy > p:not(.small-label) { font-size: 14px; }
  .case-card-copy .small-label { font-size: 8px; }
  .case-card-bottom { padding-top: 25px; }
  .case-card-bottom strong { font-size: 24px; }
  .slider-bottom { flex-wrap: wrap; gap: 10px; }
  .slider-bottom > span { font-size: 8px; }
  .slider-dots { gap: 0px; }
  .slider-bottom .gallery-controls { padding: 0px; }
  .testimonials-section { grid-template-columns: 1fr; gap: 30px; padding-block: 20px 75px; }
  .testimonial-panel { padding: 28px; }
  .testimonial-content { min-height: 330px; }
  .testimonial-content blockquote { font-size: 23px; }
  .testimonial-controls { padding-top: 22px; }
  .testimonials-intro .section-copy { max-width: none; }
  .testimonial-source { margin-top: 16px; }
  .cto-section { grid-template-columns: 1fr; gap: 36px; padding-block: 10px 75px; }
  .cto-visual { min-height: 360px; }
  .cto-center { width: 145px; height: 145px; }
  .cto-chip-0 { top: 55px; left: 22px; }
  .cto-chip-1 { top: 150px; right: 16px; }
  .cto-chip-2 { bottom: 65px; left: 30px; }
  .cto-chip { padding: 11px 14px; font-size: 10px; }
  .discovery-section { border-radius: 28px; margin-inline: 8px; padding-block: 64px; }
  .discovery-layout { flex-direction: column; align-items: flex-start; gap: 35px; }
  .discovery-layout h2 { font-size: 43px; }
  .discovery-button { width: 245px; height: 120px; padding: 26px; }
  .footer-glass-panel { border-radius: 25px; padding-inline: 25px; }
  .glass-footer .footer-top { gap: 35px; }
  .glass-footer .brand-logo-footer { width: 235px; }
  .glass-footer .footer-bottom > a { font-size: 10px; }
  .case-detail-grid { grid-template-columns: 1fr; gap: 35px; padding-block: 65px; }
  .case-detail-visual { margin-top: 35px; }
  .case-detail-visual .case-visual { min-height: 330px; }
  .case-detail-visual .case-app { width: 290px; }
}
@media (width <= 420px) {
  .process-grid { grid-template-columns: 1fr; }
  .partner-logos img { width: 165px; }
  .partner-logos a:last-child img { width: 100px; }
  .testimonial-content { min-height: 390px; }
  .testimonial-content blockquote { font-size: 22px; }
  .case-card-copy h3 { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .approach-ribbon, .cto-orbit, .cto-chip, .discovery-glow, .testimonial-content { animation: auto ease 0s 1 normal none running none !important; }
  .case-slider, .industry-track { scroll-behavior: auto; }
  .service-tile:hover, .process-step:hover, .industry-card:hover, .case-card:hover, .discovery-button:hover { transform: translate3d(0px, 0px, 0px); }
}
.approach-scrollstage { height: 230svh; position: relative; }
.approach-pin { isolation: isolate; background: radial-gradient(at 85% 20%, rgb(231, 222, 247) 0px, rgba(0, 0, 0, 0) 43%), radial-gradient(at 10% 90%, rgb(219, 231, 248) 0px, rgba(0, 0, 0, 0) 40%), rgb(249, 247, 252); align-items: center; height: 100svh; min-height: 690px; display: flex; position: sticky; top: 0px; overflow: hidden; }
.approach-pin::before { content: ""; opacity: 0.19; pointer-events: none; background: url("../media/approach-ribbon.webp") center center / cover no-repeat; position: absolute; inset: 0px; }
.approach-lines { z-index: -1; transform: translateX(var(--approach-line-shift, 0px)); transition: transform 0.12s linear; position: absolute; inset: -10%; }
.approach-lines svg { fill: none; stroke: rgba(149, 110, 202, 0.467); stroke-width: 1.6px; width: 100%; height: 100%; }
.approach-lines path { stroke-dasharray: 13, 18; animation: 18s linear 0s infinite normal none running approach-flow; }
.approach-lines path:nth-child(2) { stroke: rgba(107, 153, 198, 0.467); animation-duration: 25s; animation-direction: reverse; }
.approach-lines path:nth-child(3) { stroke: rgba(187, 139, 223, 0.4); animation-duration: 31s; }
@keyframes approach-flow { 
  100% { stroke-dashoffset: -310px; }
}
.approach-pin .process-section { width: 100%; padding-block: 60px; position: relative; }
.approach-pin .process-grid { perspective: 900px; }
.approach-card-motion { will-change: transform; transition: transform 0.12s linear; }
.approach-card-0, .approach-card-3 { transform: translateY(var(--approach-shift-up, 0px)); }
.approach-card-1, .approach-card-2 { transform: translateY(var(--approach-shift-down, 0px)); }
.approach-pin .process-step { backdrop-filter: blur(14px); background: rgba(255, 255, 255, 0.733); border: 1px solid rgb(255, 255, 255); box-shadow: rgba(100, 83, 137, 0.07) 0px 15px 42px; }
.approach-progress-indicator { background: rgba(182, 166, 199, 0.4); border-radius: 5px; width: 90px; height: 2px; position: absolute; bottom: 25px; left: 50%; overflow: hidden; transform: translateX(-50%); }
.approach-progress-indicator span { width: 100%; height: 100%; transform: scaleX(var(--approach-progress)); transform-origin: 0px center; background: rgb(103, 86, 189); display: block; }
.partners-section { border-bottom: 1px solid rgb(233, 225, 239); padding-block: 65px; }
.partner-logos { flex-wrap: wrap; flex: 1 1 0%; justify-content: space-around; align-items: center; gap: 14px 25px; display: flex; }
.partner-logos a { filter: grayscale(); opacity: 0.58; flex: 0 1 125px; place-items: center; min-height: 67px; transition: filter 0.35s, opacity 0.35s, transform 0.35s; display: grid; }
.partner-logos a:hover, .partner-logos a:focus-visible { filter: none; opacity: 1; transform: translateY(-5px); }
.partner-logos img, .partner-logos a:last-child img { object-fit: contain; width: 100%; max-width: 135px; height: 45px; }
.partner-logos a:first-child { flex-basis: 170px; }
.partner-logos a:first-child img { max-width: 165px; }
.capability-cards > div:nth-child(2) .capability-card { border-radius: 30px 30px 8px; }
.capability-cards > div:nth-child(4) .capability-card { border-radius: 30px 8px 30px 30px; }
.service-tile { isolation: isolate; transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s, border-color 0.4s; }
.service-tile:hover, .service-tile:focus-visible { border-color: rgb(155, 131, 211); transform: translateY(-11px) rotate(-0.5deg); box-shadow: rgba(74, 64, 123, 0.19) 0px 28px 55px; }
.service-tile .service-tile-copy { transition: transform 0.45s; }
.service-tile:hover .service-tile-copy, .service-tile:focus-visible .service-tile-copy { transform: translateY(-7px); }
.service-tile .text-link svg { transition: transform 0.3s; }
.service-tile:hover .text-link svg, .service-tile:focus-visible .text-link svg { transform: translate(4px, -4px); }
.service-tile:nth-child(3n+2) { border-radius: 30px 30px 30px 8px; }
.service-tile:nth-child(3n+1) { border-radius: 30px 8px 30px 30px; }
.service-tile:nth-child(4n+3)::after { content: ""; background: rgb(255, 255, 255); border-radius: 50%; width: 27px; height: 27px; position: absolute; top: 38%; right: -13px; box-shadow: rgba(106, 90, 157, 0.08) 4px 0px 8px inset; }
.supplier-section { background: radial-gradient(at 0px 0px, rgb(229, 233, 250), rgba(0, 0, 0, 0) 36%), linear-gradient(125deg, rgb(240, 235, 250), rgb(231, 232, 249) 70%, rgb(228, 239, 249)); }
.supplier-copy { position: relative; }
.supplier-copy h2 { z-index: 1; position: relative; }
.supplier-emblem { color: rgb(124, 105, 199); height: 170px; margin: 22px 0px 15px; position: relative; }
.supplier-emblem-ring { background: radial-gradient(circle, rgb(248, 248, 255), rgb(235, 231, 246)); border: 1px solid rgb(153, 131, 208); border-radius: 50%; place-items: center; width: 158px; height: 158px; display: grid; box-shadow: rgba(255, 255, 255, 0.376) 0px 0px 0px 9px, rgba(154, 140, 206, 0.533) 0px 0px 0px 10px, rgba(126, 106, 186, 0.17) 0px 18px 45px; }
.supplier-emblem > span { letter-spacing: 0.25em; background: rgb(255, 255, 255); border: 1px solid rgb(207, 194, 231); border-radius: 100px; padding: 10px 19px; font-size: 11px; position: absolute; top: 76px; left: 123px; box-shadow: rgba(98, 83, 156, 0.1) 0px 12px 25px; }
.supplier-services > .small-label { color: rgb(120, 104, 139); letter-spacing: 0.16em; margin-bottom: 15px; }
.supplier-card { backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.667); border-color: rgb(255, 255, 255); transition: transform 0.35s, box-shadow 0.35s, background 0.35s; }
.supplier-card:hover, .supplier-card:focus-visible { background: rgb(255, 255, 255); transform: translateX(9px); box-shadow: rgba(114, 97, 148, 0.125) 0px 14px 34px; }
.supplier-card-icon { color: rgb(118, 101, 178); background: rgb(231, 224, 244); border-radius: 14px; flex: 0 0 auto; place-items: center; width: 48px; height: 48px; display: grid; }
.solution-showcase { position: relative; }
.solution-feature { background: radial-gradient(circle at 80% 12%, rgb(145, 143, 223), rgb(94, 75, 178) 50%, rgb(48, 40, 102)); }
.solution-feature::before { content: ""; pointer-events: none; border: 1px solid rgba(255, 255, 255, 0.27); border-radius: 50%; width: 320px; height: 320px; animation: 16s ease-in-out 0s infinite alternate none running solution-orbit; position: absolute; top: -70px; right: -70px; box-shadow: rgba(255, 255, 255, 0.043) 0px 0px 0px 40px, rgba(255, 255, 255, 0.043) 0px 0px 0px 90px; }
@keyframes solution-orbit { 
  100% { transform: translate(-55px, 85px) scale(1.15); }
}
.solution-row { transition: transform 0.35s, background 0.35s, box-shadow 0.35s; }
.solution-row:hover, .solution-row:focus-visible { background: rgb(240, 234, 249); transform: translateX(8px); box-shadow: rgba(109, 88, 167, 0.098) 0px 14px 35px; }
.industry-copy p, .industry-copy > span:last-child { opacity: 0; max-height: 0px; margin-top: 0px; transition: opacity 0.35s, transform 0.35s, max-height 0.35s, margin 0.35s; overflow: hidden; transform: translateY(10px); }
.industry-card:hover .industry-copy p, .industry-card:hover .industry-copy > span:last-child, .industry-card:focus-visible .industry-copy p, .industry-card:focus-visible .industry-copy > span:last-child { opacity: 1; max-height: 90px; margin-top: 12px; transform: translateY(0px); }
.industry-navigation { justify-content: center; gap: 9px; padding: 20px 0px 0px; display: flex; }
.industry-navigation button { color: rgb(255, 255, 255); backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.133); border: 1px solid rgba(255, 255, 255, 0.333); border-radius: 50%; width: 37px; height: 37px; transition: background 0.3s, transform 0.3s; }
.industry-navigation button:hover { background: rgb(156, 132, 208); transform: translateY(-3px); }
.case-section-heading h2 { font-size: clamp(42px, 5vw, 68px); }
.case-section-heading .section-copy { max-width: 560px; margin-inline: auto; }
.case-slider { gap: 20px; scroll-padding: 0px; }
.case-card { background: none; border: 0px; border-radius: 26px; flex-basis: 100%; overflow: visible; box-shadow: rgba(37, 28, 59, 0.086) 0px 20px 60px; }
.case-frame { border-radius: 26px; grid-template-columns: 1fr 1fr; height: 490px; display: grid; overflow: hidden; }
.case-photo { background: rgb(167, 151, 187); overflow: hidden; }
.case-photo img { object-fit: cover; filter: saturate(0.78) sepia(0.07); width: 100%; height: 100%; transition: transform 0.8s, filter 0.8s; }
.case-card:hover .case-photo img { filter: saturate(); transform: scale(1.055); }
.case-dark { color: rgb(255, 255, 255); background: rgb(28, 25, 34); flex-direction: column; justify-content: space-between; padding: 44px 46px; display: flex; position: relative; }
.case-badge { letter-spacing: 0.13em; color: rgb(209, 201, 217); border: 1px solid rgba(255, 255, 255, 0.27); border-radius: 100px; align-self: flex-start; padding: 10px 15px; font-size: 10px; }
.case-story h3 { letter-spacing: -0.05em; max-width: 550px; font-size: clamp(30px, 3.2vw, 50px); font-weight: 500; line-height: 1.06; }
.case-story p { color: rgb(209, 201, 216); max-width: 490px; margin-top: 18px; font-size: 15px; line-height: 1.7; }
.case-focus { color: rgb(170, 154, 202); margin-top: 20px; font-size: 12px; display: block; }
.case-focus span { color: rgb(182, 173, 191); }
.case-learnmore { color: rgb(255, 255, 255); z-index: 2; background: rgb(250, 249, 252); border-radius: 100px 0px 0px; align-items: center; gap: 24px; padding: 16px 20px; font-size: 12px; display: flex; position: absolute; bottom: 0px; right: 0px; }
.case-learnmore::before { content: ""; pointer-events: none; border-radius: 0px 0px 23px; width: 23px; height: 23px; position: absolute; bottom: 0px; left: -23px; box-shadow: rgb(250, 249, 252) 8px 8px; }
.case-learnmore::after { content: ""; pointer-events: none; border-radius: 0px 0px 23px; width: 23px; height: 23px; position: absolute; top: -23px; right: 0px; box-shadow: rgb(250, 249, 252) 8px 8px; }
.case-learnmore { box-shadow: rgb(250, 249, 252) 12px 12px inset; }
.case-learnmore svg, .case-learnmore { transition: transform 0.3s; }
.case-learnmore { background: linear-gradient(rgb(33, 28, 45), rgb(33, 28, 45)) content-box content-box, rgb(250, 249, 252); border-radius: 25px 0px 0px; padding: 10px; }
.case-learnmore > svg { margin-right: 12px; }
.case-learnmore { color: rgb(255, 255, 255); }
.dummy-clients { border-bottom: 1px solid rgb(232, 225, 238); padding-block: 30px 75px; }
.dummy-clients > div:first-child { align-items: baseline; gap: 20px; display: flex; }
.dummy-clients > div:first-child p:last-child { color: rgb(147, 135, 155); font-size: 12px; }
.dummy-client-logos { flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; margin-top: 28px; display: flex; }
.dummy-client-logos span { letter-spacing: 0.08em; color: rgb(170, 164, 177); align-items: center; gap: 7px; font-size: 16px; font-weight: 650; display: flex; }
.dummy-client-logos i { color: rgb(182, 167, 201); font-size: 28px; font-style: normal; font-weight: 300; }
.resources-section { padding-block: 90px 115px; }
.resources-heading { justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 42px; display: flex; }
.resources-heading .eyebrow { align-self: flex-start; position: absolute; }
.resources-heading h2 { letter-spacing: -0.05em; padding-top: 25px; font-size: clamp(39px, 4.2vw, 58px); line-height: 1.08; }
.resources-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 20px; display: grid; }
.resources-grid > div { min-width: 0px; }
.resource-card { background: rgb(238, 234, 245); border-radius: 25px; flex-direction: column; height: 100%; min-height: 525px; transition: transform 0.4s, box-shadow 0.4s; display: flex; overflow: hidden; }
.resource-card:hover, .resource-card:focus-visible { transform: translateY(-9px); box-shadow: rgba(121, 99, 167, 0.165) 0px 22px 45px; }
.resource-art { height: 255px; position: relative; overflow: hidden; }
.resource-art img { object-fit: cover; width: 100%; height: 100%; transition: transform 0.7s; }
.resource-card:hover .resource-art img { transform: scale(1.08); }
.resource-art > span { letter-spacing: 0.1em; background: rgba(255, 255, 255, 0.867); border-radius: 100px; padding: 9px 13px; font-size: 9px; position: absolute; top: 20px; left: 20px; }
.resource-card-text { flex-direction: column; flex: 1 1 0%; padding: 27px; display: flex; }
.resource-card-text .small-label { color: rgb(132, 115, 146); }
.resource-card-text h3 { letter-spacing: -0.04em; margin-top: 18px; font-size: clamp(24px, 2vw, 34px); line-height: 1.16; }
.resource-card-text p { color: rgb(114, 102, 125); margin-top: 14px; font-size: 13px; line-height: 1.6; }
.resource-read { align-self: flex-start; align-items: center; gap: 12px; margin-top: auto; padding-top: 28px; font-size: 12px; font-weight: 600; display: flex; }
.resource-read svg { transition: transform 0.3s; }
.resource-card:hover .resource-read svg { transform: translate(4px, -4px); }
.resource-card-1 { background: rgb(229, 223, 241); }
.resource-card-1 .resource-art { height: 155px; }
.resource-card-1 .resource-card-text h3 { font-size: clamp(28px, 2.5vw, 42px); }
.resource-card-1 .resource-read { color: rgb(255, 255, 255); background: rgb(27, 24, 33); border-radius: 50%; align-self: flex-end; place-items: center; width: 44px; height: 44px; padding: 0px; font-size: 0px; display: grid; }
.resource-card-1 .resource-read svg { width: 20px; height: 20px; }
.resource-card-2 { background: rgb(235, 237, 249); border-radius: 25px 25px 25px 6px; }
.resources-page-intro { padding-top: 175px; }
.resources-page-intro h1 { letter-spacing: -0.07em; margin-top: 22px; font-size: clamp(54px, 7vw, 110px); line-height: 1; }
.resources-page-intro > p:last-child { color: rgb(118, 108, 128); margin-top: 25px; }
.resources-page .resources-section { padding-top: 70px; }
.brand-logo-draw { min-height: 87px; display: block; position: relative; }
.brand-logo-draw > img { z-index: 2; transition: opacity 0.15s linear; position: relative; }
.footer-drawn-b { filter: drop-shadow(rgba(109, 115, 187, 0.208) 0px 2px 5px); width: 66px; height: 70px; position: absolute; top: 8px; left: 20px; overflow: visible; }
@media (width <= 900px) {
  .approach-scrollstage { height: auto; }
  .approach-pin { height: auto; min-height: 0px; position: relative; }
  .approach-pin .process-section { padding-block: 80px; }
  .approach-card-motion { transform: none !important; }
  .approach-progress-indicator { display: none; }
  .resources-grid { gap: 13px; }
  .resource-card-text { padding: 20px; }
}
@media (width <= 767px) {
  .partners-section { gap: 20px; }
  .partner-logos { justify-content: center; gap: 5px 17px; }
  .partner-logos a, .partner-logos a:first-child { flex: 0 1 95px; min-height: 50px; }
  .partner-logos a:first-child { flex-basis: 135px; }
  .partner-logos img, .partner-logos a:last-child img { max-width: 95px; height: 38px; }
  .partner-logos a:first-child img { max-width: 130px; }
  .supplier-emblem { height: 130px; }
  .supplier-emblem-ring { width: 120px; height: 120px; }
  .supplier-emblem-ring svg { width: 55px; }
  .supplier-emblem > span { top: 52px; left: 91px; }
  .supplier-card-icon { display: none; }
  .industry-navigation { padding-top: 10px; }
  .case-frame { grid-template-columns: 1fr; height: auto; }
  .case-photo { height: 245px; }
  .case-dark { min-height: 365px; padding: 27px; }
  .case-story { margin-bottom: 38px; }
  .case-story h3 { font-size: 34px; }
  .case-story p { font-size: 13px; }
  .case-badge { font-size: 8px; }
  .dummy-clients > div:first-child { display: block; }
  .dummy-client-logos { justify-content: center; }
  .dummy-client-logos span { font-size: 12px; }
  .resources-section { padding-block: 75px; }
  .resources-heading { display: block; }
  .resources-heading .eyebrow { position: static; }
  .resources-heading h2 { margin-top: 20px; padding: 0px; }
  .resources-heading .text-link { margin-top: 18px; display: inline-flex; }
  .resources-grid { grid-template-columns: 1fr; gap: 18px; }
  .resource-card { min-height: 0px; }
  .resource-art, .resource-card-1 .resource-art { height: 210px; }
  .resource-card-text { min-height: 210px; padding: 25px; }
  .resources-page-intro { padding-top: 125px; }
  .brand-logo-draw { min-height: 70px; }
  .footer-drawn-b { width: 56px; height: 60px; top: 5px; left: 17px; }
}
@media (hover: none) {
  .industry-copy p, .industry-copy > span:last-child { opacity: 1; max-height: 90px; margin-top: 12px; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .approach-lines path, .solution-feature::before { animation: auto ease 0s 1 normal none running none; }
  .approach-card-motion, .service-tile, .supplier-card, .resource-card, .case-photo img { transition: none !important; }
}
html, body { max-width: 100%; }
body { overflow-x: clip; }
.approach-scrollstage { height: 360svh; }
.approach-pin { background: radial-gradient(at 85% center, rgba(220, 231, 249, 0.667), rgba(0, 0, 0, 0) 42%), linear-gradient(125deg, rgb(247, 244, 251), rgb(240, 235, 250) 60%, rgb(234, 234, 248)); align-items: center; height: 100svh; min-height: 0px; display: flex; position: sticky; top: 0px; }
.approach-flow-ribbon { z-index: -1; pointer-events: none; transform: translate(var(--ribbon-x, 0px),var(--ribbon-y, 0px)) rotate(var(--ribbon-turn, 0deg)); transition: transform 0.15s linear; position: absolute; inset: -12% -9%; }
.approach-flow-ribbon svg { opacity: 0.65; width: 100%; height: 100%; position: absolute; inset: 0px; }
.ribbon-texture { opacity: 0.25; mix-blend-mode: multiply; background: url("../media/approach-ribbon.webp") center center / cover no-repeat; animation: 12s ease-in-out 0s infinite alternate none running ribbon-surface-flow; position: absolute; inset: 0px; }
.ribbon-soft-glow { opacity: 0.5; animation: 6s ease-in-out 0s infinite alternate none running ribbon-breathe; }
.ribbon-travel-light { animation: 7s linear 0s infinite normal none running ribbon-light-flow; }
@keyframes ribbon-light-flow { 
  100% { transform: translateX(2000px); }
}
@keyframes ribbon-surface-flow { 
  100% { filter: hue-rotate(16deg); transform: translate(30px, -25px) scale(1.09); }
}
@keyframes ribbon-breathe { 
  100% { opacity: 0.95; }
}
.approach-composition { grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; padding-top: 75px; display: grid; position: relative; }
.approach-intro h2 { letter-spacing: -0.05em; font-size: clamp(38px, 4.5vw, 67px); line-height: 1.08; }
.approach-intro .section-copy { margin-top: 26px; font-size: 17px; }
.approach-step-nav { gap: 14px; margin-top: 46px; display: flex; }
.approach-step-nav button { color: rgb(166, 155, 178); cursor: pointer; flex-direction: column; gap: 12px; width: 48px; padding: 8px 0px; font-size: 13px; transition: color 0.3s; display: flex; }
.approach-step-nav button i { background: rgb(203, 194, 216); border-radius: 5px; height: 3px; transition: background 0.3s; display: block; }
.approach-step-nav button[aria-pressed="true"] i { background: linear-gradient(90deg, rgb(105, 84, 189), rgb(115, 170, 220)); }
.approach-scroll-note { color: rgb(134, 118, 143); align-items: center; gap: 9px; margin-top: 24px; font-size: 11px; display: flex; }
.approach-stage { perspective: 900px; height: 430px; position: relative; }
.approach-stage-card { backdrop-filter: blur(22px); opacity: var(--step-opacity, 0); transform: translateY(var(--step-y, 0px)) scale(var(--step-scale, 1)); will-change: transform, opacity; pointer-events: none; background: rgba(255, 255, 255, 0.79); border: 1px solid rgb(255, 255, 255); border-radius: 29px; padding: 42px; position: absolute; inset: 0px; box-shadow: rgba(113, 97, 147, 0.12) 0px 24px 65px; }
.approach-stage-card.is-current { pointer-events: auto; }
.approach-card-top { color: rgb(155, 138, 172); justify-content: space-between; align-items: center; gap: 15px; display: flex; }
.approach-card-number { letter-spacing: -0.055em; color: rgb(141, 119, 201); font-size: 67px; line-height: 1; }
.approach-card-top > span:last-child { letter-spacing: 0.13em; font-size: 10px; }
.approach-stage-card h3 { letter-spacing: -0.035em; margin-top: 38px; font-size: clamp(29px, 3vw, 40px); font-weight: 500; line-height: 1.1; }
.approach-stage-card > p { color: rgb(116, 107, 127); margin-top: 20px; font-size: 15px; line-height: 1.65; }
.approach-output { color: rgb(88, 110, 182); border-top: 1px solid rgb(222, 213, 236); align-items: center; gap: 10px; margin-top: 23px; padding-top: 24px; font-size: 12px; display: flex; }
.government-editorial { isolation: isolate; color: rgb(255, 255, 255); background: rgb(18, 24, 34); padding: 100px 0px 110px; position: relative; overflow: hidden; }
.government-aura { z-index: -1; background: radial-gradient(at 0px 100%, rgba(49, 68, 123, 0.333), rgba(0, 0, 0, 0) 50%), radial-gradient(at 90% 0px, rgba(87, 80, 130, 0.27), rgba(0, 0, 0, 0) 44%); position: absolute; inset: 0px; }
.government-heading { text-align: center; max-width: 960px; margin-inline: auto; }
.government-kicker { color: rgb(173, 183, 221); letter-spacing: 0.13em; align-items: center; gap: 10px; font-size: 11px; display: inline-flex; }
.government-heading h2 { letter-spacing: -0.045em; margin-top: 24px; font-size: clamp(38px, 4vw, 61px); line-height: 1.09; }
.government-heading > p { color: rgb(177, 185, 202); max-width: 805px; margin: 25px auto 0px; font-size: 17px; line-height: 1.7; }
.government-body { border-top: 1px solid rgba(255, 255, 255, 0.145); grid-template-columns: 0.9fr 1.1fr; gap: 110px; margin-top: 75px; padding-top: 55px; display: grid; }
.government-seal { color: rgb(153, 165, 218); align-items: center; gap: 19px; margin-bottom: 36px; display: flex; }
.government-seal svg { border: 1px solid rgba(134, 147, 190, 0.467); border-radius: 50%; width: 100px; height: 100px; padding: 15px; box-shadow: rgba(255, 255, 255, 0.02) 0px 0px 0px 6px; }
.government-seal span { letter-spacing: 0.15em; font-size: 11px; line-height: 1.7; }
.government-principle .eyebrow { color: rgb(199, 195, 212); font-size: 11px; }
.government-principle > p:not(.eyebrow) { color: rgb(182, 191, 206); letter-spacing: -0.015em; max-width: 460px; margin: 22px 0px 32px; font-size: 20px; line-height: 1.6; }
.government-expertise { display: grid; }
.government-expertise-row { border-bottom: 1px solid rgba(255, 255, 255, 0.125); align-items: start; gap: 20px; padding: 27px 0px; transition: padding 0.35s; display: flex; }
.government-expertise > div:first-child .government-expertise-row { padding-top: 0px; }
.government-expertise > div:last-child .government-expertise-row { border-bottom: 0px; padding-bottom: 0px; }
.government-row-index { color: rgb(132, 145, 186); flex: 0 0 auto; width: 29px; padding-top: 6px; font-size: 11px; }
.government-expertise-row > div { flex: 1 1 0%; }
.government-expertise-row > div > svg { display: none; }
.government-expertise-row h3 { letter-spacing: -0.03em; font-size: 25px; font-weight: 500; line-height: 1.2; }
.government-expertise-row p { color: rgb(171, 181, 199); margin-top: 14px; font-size: 14px; line-height: 1.7; }
.government-expertise-row > svg { color: rgb(159, 174, 213); flex: 0 0 auto; margin-top: 3px; transition: transform 0.3s; }
.government-expertise-row:hover > svg { transform: translate(4px, -4px); }
.government-expertise-row:hover { padding-left: 8px; }
.industry-track { scrollbar-width: none; padding-bottom: 22px; overflow-x: hidden; }
.industry-track::-webkit-scrollbar { display: none; }
.industry-card { flex-basis: 315px; height: 515px; min-height: 515px; }
.industry-navigation { padding-top: 12px; }
.case-studies-section { color: rgb(255, 255, 255); background: radial-gradient(at 85% 10%, rgb(41, 39, 61), rgba(0, 0, 0, 0) 50%), rgb(17, 17, 24); padding-block: 95px; }
.case-section-heading { max-width: 960px; }
.case-section-heading h2 { letter-spacing: -0.05em; font-size: clamp(40px, 4.6vw, 67px); }
.case-card { box-shadow: none; background: rgb(24, 23, 33); border: 1px solid rgba(255, 255, 255, 0.125); flex-basis: 100%; overflow: hidden; }
.case-frame { border-radius: 25px; grid-template-columns: 1fr 1fr; height: 540px; }
.case-photo { background: rgb(38, 33, 50); order: 2; position: relative; }
.case-photo::after { content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(24, 23, 33, 0.314), rgba(0, 0, 0, 0) 30%), linear-gradient(0deg, rgba(41, 35, 57, 0.19), rgba(0, 0, 0, 0)); position: absolute; inset: 0px; }
.case-photo img { filter: brightness(0.76) saturate(0.8); }
.case-dark { background: rgb(24, 23, 33); order: 1; padding: 42px 44px; }
.case-story h3 { font-size: clamp(34px, 3.4vw, 52px); }
.case-story p { color: rgb(185, 180, 196); }
.case-badge { background: rgba(255, 255, 255, 0.02); font-size: 9px; }
.case-focus { color: rgb(181, 165, 215); }
.case-learnmore > span { color: rgb(41, 33, 55); background: rgb(230, 225, 241); border-radius: 100px; align-items: center; gap: 30px; padding: 13px 22px; transition: background 0.3s, transform 0.3s; display: flex; }
.case-studies-section .slider-bottom .gallery-controls button { color: rgb(215, 205, 235); background: rgba(255, 255, 255, 0.07); border-color: rgba(255, 255, 255, 0.133); }
.discovery-reference { background: rgb(236, 234, 251); border-radius: 38px; width: min(1440px, 100% - 80px); margin: 20px auto 65px; padding-block: 115px; position: relative; }
.discovery-reference::before, .discovery-reference::after { content: ""; background: var(--background); z-index: 2; pointer-events: none; width: 270px; height: 58px; position: absolute; }
.discovery-reference::before { border-radius: 0px 0px 100px; top: 0px; left: 0px; }
.discovery-reference::after { border-radius: 100px 0px 0px; bottom: 0px; right: 0px; }
.discovery-ribbon-art { opacity: 1; z-index: -1; background: url("../media/cta-ribbon.webp") center center / cover no-repeat; position: absolute; inset: 0px; }
.discovery-reference .discovery-glow { opacity: 0.33; }
.discovery-reference .discovery-layout { text-align: center; display: block; position: relative; }
.discovery-reference h2 { letter-spacing: -0.05em; font-size: clamp(43px, 5.5vw, 82px); line-height: 1.08; }
.discovery-reference .discovery-layout p { color: rgb(48, 43, 59); max-width: 1000px; margin: 26px auto 0px; font-size: 18px; line-height: 1.6; }
.discovery-reference .discovery-layout p + p { margin-top: 30px; }
.discovery-reference .discovery-call { color: rgb(25, 22, 32); background: rgb(255, 255, 255); min-height: 62px; margin-top: 35px; padding: 18px 30px; font-size: 17px; box-shadow: rgba(81, 68, 107, 0.082) 0px 4px 12px; }
.glass-footer { background: linear-gradient(130deg, rgb(233, 229, 245), rgb(216, 222, 242) 50%, rgb(228, 218, 241)); padding: 55px 0px; }
.glass-footer .footer-glass-panel { background: rgba(255, 255, 255, 0.32); border-color: rgba(255, 255, 255, 0.875); border-radius: 40px; width: min(1440px, 100% - 96px); min-height: 560px; padding: 78px 55px 0px; }
.glass-footer .footer-top { grid-template-columns: 1.2fr 0.8fr 1.1fr; gap: 80px; min-height: 370px; padding-bottom: 65px; }
.glass-footer .brand-logo-footer { background: rgba(255, 255, 255, 0.314); border-radius: 20px; width: 330px; max-width: 100%; padding: 16px; }
.glass-footer .brand-logo-footer img { height: 100px; }
.glass-footer .footer-top > div > p:not(.small-label) { margin-top: 28px; font-size: 16px; line-height: 1.8; }
.glass-footer .footer-top .small-label { letter-spacing: 0.1em; font-size: 11px; }
.glass-footer .footer-links { gap: 20px; margin-top: 30px; font-size: 16px; }
.glass-footer .footer-top h2 { letter-spacing: -0.05em; margin-top: 28px; font-size: clamp(38px, 3.4vw, 55px); line-height: 1.07; }
.glass-footer .footer-top .pill { min-height: 60px; padding-inline: 25px; font-size: 15px; }
.glass-footer .footer-bottom { padding-block: 30px 32px; font-size: 12px; }
.glass-footer .brand-logo-draw { min-height: 132px; }
.glass-footer .footer-drawn-b { width: 64px; height: 68px; top: 31px; left: 36px; }
@media (width <= 1100px) {
  .approach-composition { gap: 40px; }
  .approach-stage-card { padding: 30px; }
  .approach-stage-card h3 { font-size: 33px; }
  .government-body { gap: 55px; }
  .glass-footer .footer-top { gap: 35px; }
  .glass-footer .footer-glass-panel { padding-inline: 38px; }
  .glass-footer .footer-top .pill { padding-inline: 18px; font-size: 13px; }
  .glass-footer .brand-logo-footer { width: 290px; }
  .glass-footer .brand-logo-footer img { height: 86px; }
  .glass-footer .brand-logo-draw { min-height: 118px; }
  .glass-footer .footer-drawn-b { width: 57px; height: 61px; top: 28px; left: 34px; }
}
@media (width <= 767px) {
  .approach-scrollstage { height: 340svh; }
  .approach-pin { height: 100svh; min-height: 0px; position: sticky; }
  .approach-composition { grid-template-columns: 1fr; gap: 22px; padding-top: 92px; padding-bottom: 20px; }
  .approach-intro h2 { font-size: 36px; }
  .approach-intro .eyebrow { margin-bottom: 16px; font-size: 10px; }
  .approach-intro .section-copy { margin-top: 15px; font-size: 13px; }
  .approach-step-nav { gap: 12px; margin-top: 15px; }
  .approach-step-nav button { gap: 7px; width: 35px; padding: 4px 0px; font-size: 11px; }
  .approach-scroll-note { display: none; }
  .approach-stage { height: 300px; }
  .approach-stage-card { border-radius: 22px; padding: 25px; }
  .approach-card-number { font-size: 44px; }
  .approach-stage-card h3 { margin-top: 25px; font-size: 27px; }
  .approach-stage-card > p { margin-top: 15px; font-size: 13px; }
  .approach-output { margin-top: 20px; padding-top: 15px; font-size: 11px; }
  .government-editorial { padding-block: 75px; }
  .government-heading h2 { font-size: 36px; }
  .government-kicker { letter-spacing: 0.1em; font-size: 9px; }
  .government-heading > p { font-size: 15px; }
  .government-body { grid-template-columns: 1fr; gap: 40px; margin-top: 45px; padding-top: 35px; }
  .government-principle > p:not(.eyebrow) { max-width: none; font-size: 19px; }
  .government-seal { margin-bottom: 28px; }
  .government-expertise-row h3 { font-size: 23px; }
  .industry-card { flex-basis: 285px; height: 490px; min-height: 490px; }
  .case-frame { grid-template-columns: 1fr; height: auto; }
  .case-photo { order: 1; height: 300px; }
  .case-dark { order: 2; min-height: 400px; padding: 28px; }
  .case-story h3 { font-size: 34px; }
  .case-section-heading { text-align: left; }
  .case-section-heading h2 { font-size: 39px; }
  .case-section-heading .section-copy { margin-inline: 0px; }
  .case-studies-section { padding-block: 75px; }
  .case-studies-section .slider-bottom .text-link { font-size: 11px; }
  .discovery-reference { border-radius: 25px; width: calc(100% - 32px); margin-bottom: 40px; padding-block: 95px 75px; }
  .discovery-reference::before, .discovery-reference::after { width: 110px; height: 27px; }
  .discovery-reference h2 { font-size: 39px; }
  .discovery-reference .discovery-layout p { margin-top: 22px; font-size: 15px; }
  .discovery-reference .discovery-call { min-height: 55px; padding: 14px 20px; font-size: 14px; }
  .glass-footer { padding-block: 22px; }
  .glass-footer .footer-glass-panel { border-radius: 28px; width: calc(100% - 32px); padding: 35px 25px 0px; }
  .glass-footer .footer-top { grid-template-columns: 1fr 1fr; gap: 38px 20px; padding-bottom: 38px; }
  .glass-footer .footer-top > div:first-child { grid-column: 1 / -1; }
  .glass-footer .footer-top > div > p:not(.small-label) { margin-top: 18px; font-size: 14px; }
  .glass-footer .footer-links { gap: 17px; font-size: 13px; }
  .glass-footer .footer-top h2 { font-size: 31px; }
  .glass-footer .footer-top .pill { gap: 8px; min-height: 49px; padding: 12px 15px; font-size: 11px; }
  .glass-footer .footer-top .pill svg { width: 15px; }
  .glass-footer .footer-bottom { gap: 18px; padding-block: 25px; font-size: 10px; }
}
@media (width <= 380px) {
  .approach-intro h2 { font-size: 31px; }
  .approach-composition { padding-top: 82px; }
  .approach-stage { height: 295px; }
  .approach-stage-card { padding: 23px; }
  .glass-footer .footer-top { grid-template-columns: 1fr; }
  .glass-footer .footer-top > div:first-child { grid-column: auto; }
}
@media (height <= 700px) and (width >= 768px) {
  .approach-stage { height: 345px; }
  .approach-stage-card { padding: 30px; }
  .approach-stage-card h3 { margin-top: 22px; }
  .approach-output { margin-top: 17px; padding-top: 17px; }
  .approach-card-number { font-size: 50px; }
  .approach-composition { padding-top: 45px; }
  .approach-intro h2 { font-size: 45px; }
}
@media (height <= 710px) and (width <= 767px) {
  .approach-composition { gap: 15px; padding-top: 82px; }
  .approach-intro h2 { font-size: 29px; }
  .approach-intro .section-copy { display: none; }
  .approach-stage { height: 280px; }
  .approach-stage-card { padding: 22px; }
  .approach-stage-card h3 { margin-top: 18px; font-size: 25px; }
  .approach-output { margin-top: 15px; padding-top: 12px; }
  .approach-stage-card > p { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .ribbon-texture, .ribbon-soft-glow, .ribbon-travel-light { animation: auto ease 0s 1 normal none running none; }
  .approach-flow-ribbon { transition: none; transform: none; }
  .approach-stage-card { transform: none; }
  .approach-stage-card[aria-hidden="true"] { visibility: hidden; }
}
.case-detail-photo { background: rgb(23, 19, 31); padding: 0px; position: relative; overflow: hidden; }
.case-detail-photo > img { object-fit: cover; filter: brightness(0.75) saturate(0.8); width: 100%; height: 100%; position: absolute; inset: 0px; }
.case-detail-photo::after { content: ""; background: linear-gradient(0deg, rgba(16, 9, 25, 0.667), rgba(0, 0, 0, 0) 50%); position: absolute; inset: 0px; }
.case-detail-photo .case-visual-caption { z-index: 1; }
.pill-ink { color: rgb(255, 255, 255); background: rgb(23, 21, 29); box-shadow: rgba(28, 19, 36, 0.094) 0px 5px 15px; }
.pill-ink:hover { background: rgb(57, 48, 68); transform: translateY(-3px); }
.reference-page-hero { z-index: 1; background: linear-gradient(rgb(225, 216, 250) 0%, rgb(244, 240, 252) 48%, rgb(255, 255, 255) 90%); border-radius: 0px 0px 38px 38px; padding: 180px 0px 62px; position: relative; }
.reference-page-hero h1 { letter-spacing: -0.045em; color: rgb(19, 17, 26); max-width: 1150px; margin-top: 25px; font-size: clamp(48px, 5vw, 76px); font-weight: 500; line-height: 1.08; }
.reference-page-hero > .section-wrap > p:not(.eyebrow) { letter-spacing: -0.025em; color: rgb(48, 40, 61); max-width: 1100px; margin-top: 24px; font-size: clamp(20px, 2vw, 28px); line-height: 1.45; }
.reference-breadcrumb { color: rgb(111, 94, 138); align-items: center; gap: 9px; font-size: 13px; display: inline-flex; }
.reference-hero-actions { flex-wrap: wrap; gap: 15px; margin-top: 30px; display: flex; }
.reference-hero-actions .pill { box-shadow: rgba(65, 52, 84, 0.086) 0px 4px 12px; }
.service-reference-hero { border-radius: 0px 0px 0px 40px; padding-bottom: 32px; }
.service-section-nav { backdrop-filter: blur(18px); z-index: 20; background: rgba(255, 255, 255, 0.94); position: sticky; top: 105px; box-shadow: rgba(65, 50, 84, 0.027) 0px 6px 16px; }
.service-section-nav > div { justify-content: flex-end; align-items: center; gap: 34px; padding-block: 20px; display: flex; }
.service-section-nav a { color: rgb(107, 96, 120); font-size: 13px; position: relative; }
.service-section-nav a::after { content: ""; background: rgb(105, 85, 183); height: 1px; transition: transform 0.3s; position: absolute; bottom: -6px; left: 0px; right: 0px; transform: scaleX(0); }
.service-section-nav a:hover::after { transform: scaleX(1); }
.service-reference-art { background: url("../media/service-surface.webp") center center / cover no-repeat rgb(219, 226, 255); border-radius: 0px 0px 40px 40px; height: 480px; position: relative; overflow: hidden; }
.service-reference-art::before { content: ""; background: rgb(255, 255, 255); border-radius: 0px 0px 100px; width: 260px; height: 46px; position: absolute; top: 0px; left: 0px; }
.service-reference-art > .section-wrap { align-items: flex-end; height: 100%; padding-bottom: 35px; display: flex; }
.service-art-caption { backdrop-filter: blur(20px); background: rgba(255, 255, 255, 0.81); border: 1px solid rgb(255, 255, 255); border-radius: 25px; max-width: 405px; padding: 29px 34px; box-shadow: rgba(75, 87, 151, 0.153) 0px 20px 60px; }
.service-art-caption .eyebrow { color: rgb(107, 95, 132); margin-bottom: 16px; font-size: 9px; }
.service-art-caption strong { letter-spacing: -0.04em; font-size: 32px; font-weight: 500; line-height: 1.12; }
.service-art-caption > span { color: rgb(115, 103, 135); margin-top: 20px; font-size: 12px; display: block; }
[id^="service-"], .case-article-panel { scroll-margin-top: 172px; }
.service-expertise-section { grid-template-columns: 1.1fr 0.9fr; align-items: center; gap: 100px; padding-block: 110px; display: grid; }
.service-expertise-section h2 { letter-spacing: -0.035em; font-size: clamp(33px, 3.4vw, 49px); line-height: 1.13; }
.service-expertise-section .section-copy { font-size: 16px; }
.service-standard { background: rgb(243, 245, 250); border: 1px solid rgb(230, 231, 239); border-radius: 25px; padding: 35px; }
.service-standard .eyebrow { margin-bottom: 22px; }
.service-standard > div { border-top: 1px solid rgb(219, 224, 234); align-items: center; gap: 14px; padding: 17px 0px; display: flex; }
.service-standard > div > span { color: rgb(110, 112, 181); background: rgb(228, 232, 244); border-radius: 50%; flex: 0 0 auto; place-items: center; width: 33px; height: 33px; display: grid; }
.service-standard p { color: rgb(102, 91, 116); font-size: 14px; line-height: 1.6; }
.service-deliverables-section { background: rgb(247, 246, 244); padding: 85px 0px 95px; }
.service-deliverables-section h2, .service-examples-section h2 { letter-spacing: -0.04em; }
.service-deliverable-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 18px; margin-top: 40px; display: grid; }
.service-deliverable-grid > div { min-width: 0px; display: flex; }
.service-deliverable { background: rgb(255, 255, 255); border: 1px solid rgb(232, 228, 238); border-radius: 23px; flex-direction: column; flex: 1 1 0%; min-height: 330px; padding: 28px; transition: transform 0.35s, box-shadow 0.35s; display: flex; }
.service-deliverable:hover { transform: translateY(-7px); box-shadow: rgba(107, 84, 131, 0.082) 0px 18px 40px; }
.deliverable-round { color: rgb(132, 100, 180); background: rgb(236, 231, 247); border-radius: 50%; place-items: center; width: 47px; height: 47px; margin-bottom: 28px; font-size: 12px; display: grid; }
.service-deliverable-grid > div:nth-child(2n) .deliverable-round { color: rgb(102, 137, 178); background: rgb(228, 237, 247); }
.service-deliverable h3 { letter-spacing: -0.025em; font-size: 24px; line-height: 1.2; }
.service-deliverable > p { color: rgb(134, 119, 143); margin-top: 15px; margin-bottom: 26px; font-size: 13px; line-height: 1.7; }
.deliverable-output { color: rgb(130, 112, 144); border-top: 1px solid rgb(233, 225, 239); align-items: start; gap: 9px; margin-top: auto; padding-top: 20px; font-size: 11px; line-height: 1.6; display: flex; }
.deliverable-output svg { flex: 0 0 auto; margin-top: 2px; }
.service-process-section { grid-template-columns: 0.9fr 1.1fr; gap: 100px; padding-block: 100px; display: grid; }
.service-process-heading { align-self: start; position: sticky; top: 190px; }
.service-process-heading .section-copy { max-width: 340px; }
.service-process-heading h2 { letter-spacing: -0.045em; font-size: clamp(38px, 4vw, 59px); }
.service-process-list { gap: 0px; display: grid; }
.service-process-list article { border-bottom: 1px solid rgb(223, 216, 231); gap: 25px; padding: 30px 0px; display: flex; }
.service-process-list > div:first-child article { padding-top: 0px; }
.service-process-list article > span { letter-spacing: 0.07em; color: rgb(156, 132, 186); flex: 0 0 auto; padding-top: 6px; font-size: 10px; }
.service-process-list h3 { letter-spacing: -0.03em; font-size: 26px; line-height: 1.2; }
.service-process-list p { color: rgb(130, 116, 140); margin-top: 15px; font-size: 14px; line-height: 1.7; }
.service-examples-section { background: rgb(236, 236, 247); padding: 90px 0px; }
.service-examples-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 22px; margin-top: 40px; display: grid; }
.service-example { background: rgba(255, 255, 255, 0.79); border: 1px solid rgb(255, 255, 255); border-radius: 25px; height: 100%; padding: 30px; transition: transform 0.35s, box-shadow 0.35s; display: block; }
.service-example:hover { transform: translateY(-7px); box-shadow: rgba(121, 116, 155, 0.133) 0px 18px 45px; }
.service-example > div:first-child { color: rgb(147, 131, 185); justify-content: space-between; align-items: center; margin-bottom: 30px; display: flex; }
.service-example .small-label { color: rgb(142, 127, 160); font-size: 8px; }
.service-example h3 { letter-spacing: -0.035em; min-height: 65px; margin-top: 18px; font-size: 28px; line-height: 1.14; }
.example-flow { color: rgb(138, 122, 158); border-top: 1px solid rgb(228, 223, 238); border-bottom: 1px solid rgb(228, 223, 238); flex-wrap: wrap; align-items: center; gap: 9px; margin: 28px 0px; padding: 17px 0px; font-size: 10px; display: flex; }
.service-example .text-link { font-size: 12px; }
.service-faq-section { grid-template-columns: 0.8fr 1.2fr; gap: 100px; padding-block: 70px 100px; display: grid; }
.service-faq-section .pill { border: 1px solid rgb(226, 218, 233); margin-top: 27px; }
.service-enquiry-section { background: linear-gradient(125deg, rgb(241, 238, 248), rgb(233, 237, 247)); padding-block: 90px 100px; }
.service-enquiry-section > div { grid-template-columns: 0.9fr 1.1fr; align-items: start; gap: 90px; display: grid; }
.service-enquiry-section h2 { letter-spacing: -0.045em; font-size: clamp(37px, 3.7vw, 54px); line-height: 1.1; }
.service-enquiry-section ul { gap: 15px; margin-top: 30px; display: grid; }
.service-enquiry-section li { color: rgb(125, 111, 138); align-items: start; gap: 11px; font-size: 14px; line-height: 1.6; display: flex; }
.service-enquiry-section li svg { color: rgb(139, 120, 180); flex: 0 0 auto; margin-top: 3px; }
.reference-contact-links { gap: 17px; margin-top: 40px; display: grid; }
.reference-contact-links a { overflow-wrap: anywhere; color: rgb(84, 73, 101); align-items: center; gap: 13px; font-size: 17px; display: flex; }
.reference-contact-links svg { color: rgb(141, 128, 161); flex: 0 0 auto; }
.reference-enquiry-panel { background: rgba(255, 255, 255, 0.867); border: 1px solid rgb(255, 255, 255); border-radius: 28px; padding: 40px; box-shadow: rgba(94, 75, 117, 0.063) 0px 20px 55px; }
.reference-enquiry-panel h2 { letter-spacing: -0.035em; font-size: clamp(28px, 2.7vw, 39px); line-height: 1.1; }
.reference-enquiry-panel > p { color: rgb(132, 118, 142); margin-top: 20px; font-size: 14px; line-height: 1.65; }
.reference-enquiry-form { gap: 24px; margin-top: 33px; display: grid; }
.enquiry-field-pair { grid-template-columns: 1fr 1fr; gap: 20px; display: grid; }
.reference-enquiry-form label { text-transform: uppercase; letter-spacing: 0.09em; color: rgb(134, 113, 148); flex-direction: column; gap: 10px; font-size: 10px; display: flex; }
.reference-enquiry-form input, .reference-enquiry-form select, .reference-enquiry-form textarea { letter-spacing: 0px; color: rgb(65, 51, 79); text-transform: none; background: rgb(252, 251, 254); border: 1px solid rgb(220, 212, 229); border-radius: 11px; width: 100%; min-width: 0px; padding: 13px 14px; font-size: 14px; font-weight: 400; transition: border-color 0.25s, box-shadow 0.25s; }
.reference-enquiry-form input:focus, .reference-enquiry-form select:focus, .reference-enquiry-form textarea:focus { border-color: rgb(154, 132, 199); outline: none; box-shadow: rgba(165, 141, 204, 0.098) 0px 0px 0px 3px; }
.reference-enquiry-form textarea { resize: vertical; min-height: 140px; }
.enquiry-form-bottom p { color: rgb(157, 141, 168); margin-bottom: 20px; font-size: 11px; line-height: 1.6; }
.enquiry-form-bottom .pill { font-size: 13px; }
.enquiry-confirmation { color: rgb(127, 104, 163); padding-block: 38px; }
.enquiry-confirmation h3 { color: rgb(75, 59, 91); margin-top: 22px; font-size: 27px; }
.enquiry-confirmation p { margin-top: 15px; font-size: 14px; }
.enquiry-confirmation .pill { margin-top: 22px; }
.contact-reference-hero { border-radius: 0px 0px 0px 35px; padding-bottom: 42px; }
.contact-reference-hero h1 { margin: 0px; }
.contact-reference-hero > .section-wrap > p { max-width: 1050px; }
.contact-reference-hero > .section-wrap > span { color: rgb(115, 101, 125); max-width: 1050px; margin-top: 25px; font-size: 16px; line-height: 1.7; display: block; }
.contact-workspace-art { background: url("../media/contact-workspace.webp") center center / cover no-repeat rgb(218, 214, 205); border-radius: 0px 0px 35px 35px; height: 440px; margin-top: -1px; position: relative; overflow: hidden; }
.contact-workspace-art::before { content: ""; background: rgb(255, 255, 255); border-radius: 0px 0px 100px; width: 270px; height: 47px; position: absolute; top: 0px; left: 0px; }
.contact-art-note { backdrop-filter: blur(20px); background: rgba(255, 255, 255, 0.89); border: 1px solid rgb(255, 255, 255); border-radius: 25px 25px 0px 0px; align-items: center; gap: 20px; width: 460px; max-width: 90%; padding: 28px 35px; display: flex; position: absolute; bottom: 0px; right: max(40px, -640px + 50vw); }
.contact-art-note > svg { color: rgb(147, 136, 151); }
.contact-art-note span { letter-spacing: 0.1em; color: rgb(138, 122, 148); font-size: 9px; display: block; }
.contact-art-note a { color: rgb(71, 56, 83); margin-top: 10px; font-size: 24px; display: block; }
.contact-reference-body { grid-template-columns: 0.85fr 1.15fr; align-items: start; gap: 95px; padding-block: 95px; display: grid; }
.contact-reference-copy h2 { letter-spacing: -0.04em; font-size: clamp(32px, 3.3vw, 48px); }
.contact-reference-copy > div + div { margin-top: 40px; }
.contact-reference-copy h3 { letter-spacing: -0.02em; font-size: 21px; }
.contact-reference-copy ul { gap: 15px; margin-top: 27px; display: grid; }
.contact-reference-copy li { color: rgb(124, 106, 137); align-items: start; gap: 12px; font-size: 14px; line-height: 1.7; display: flex; }
.contact-reference-copy li svg { color: rgb(147, 130, 179); flex: 0 0 auto; margin-top: 4px; }
.contact-reference-body .reference-enquiry-panel { background: rgb(241, 237, 247); }
.contact-next-section { background: rgb(246, 245, 243); padding-block: 85px 95px; }
.contact-next-grid { border: 1px solid rgb(223, 219, 228); border-radius: 26px; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 0px; margin-top: 40px; display: grid; overflow: hidden; }
.contact-next-grid article { background: rgba(255, 255, 255, 0.61); border-right: 1px solid rgb(223, 219, 228); height: 100%; padding: 32px; }
.contact-next-grid > div:last-child article { border: 0px; }
.contact-next-grid article > span { color: rgb(155, 134, 183); font-size: 12px; }
.contact-next-grid h3 { letter-spacing: -0.025em; margin-top: 28px; font-size: 25px; }
.contact-next-grid p { color: rgb(138, 123, 147); margin-top: 18px; font-size: 14px; line-height: 1.65; }
.case-archive-grid { grid-template-columns: 1fr 1fr; gap: 28px; padding-top: 40px; padding-bottom: 65px; display: grid; }
.case-archive-art { background: rgb(215, 197, 237); border-radius: 25px; height: 430px; display: block; position: relative; overflow: hidden; }
.case-archive-art::after { content: ""; background: linear-gradient(rgba(0, 0, 0, 0) 35%, rgba(22, 16, 34, 0.68) 100%); position: absolute; inset: 0px; }
.case-archive-art > img { object-fit: cover; filter: saturate(0.75); width: 100%; height: 100%; transition: transform 0.7s, filter 0.7s; }
.case-archive-art:hover > img { filter: saturate(); transform: scale(1.055); }
.case-archive-art > span { z-index: 1; color: rgb(86, 67, 96); background: rgb(255, 255, 255); border-radius: 100px; padding: 10px 15px; font-size: 9px; position: absolute; top: 17px; left: 17px; }
.case-archive-art > div { z-index: 1; color: rgb(255, 255, 255); position: absolute; bottom: 32px; left: 30px; }
.case-archive-art > div > p { letter-spacing: -0.045em; font-size: 40px; }
.case-archive-art > div > strong { color: rgb(224, 211, 237); font-size: 13px; font-weight: 400; }
.case-archive-art::before { content: ""; background: var(--background); z-index: 2; border-top-right-radius: 50px; width: 90px; height: 18px; position: absolute; bottom: 0px; left: 0px; }
.case-archive-copy { padding: 26px 3px 0px; }
.case-archive-copy h2 { letter-spacing: -0.04em; font-size: 28px; line-height: 1.17; }
.case-archive-copy > p { color: rgb(142, 123, 152); max-width: 540px; margin-top: 18px; font-size: 14px; line-height: 1.7; }
.case-archive-copy .pill { min-height: 45px; margin-top: 25px; padding: 11px 20px; font-size: 12px; }
.case-archive-note { color: rgb(159, 138, 170); padding-bottom: 65px; font-size: 12px; }
.case-article-hero .eyebrow { margin-top: 33px; }
.case-article-hero h1 { max-width: 950px; font-size: clamp(48px, 5.2vw, 80px); }
.case-article-hero > .section-wrap > p:not(.eyebrow) { max-width: 820px; font-size: 18px; line-height: 1.65; }
.case-article-layout { grid-template-columns: 300px 1fr; align-items: start; gap: 75px; padding-block: 55px 90px; display: grid; }
.case-article-sidebar { background: rgb(247, 243, 251); border: 1px solid rgb(229, 221, 235); border-radius: 24px; position: sticky; top: 118px; overflow: hidden; }
.case-sidebar-art { background: rgb(214, 196, 235); height: 190px; position: relative; }
.case-sidebar-art > img { object-fit: cover; filter: brightness(0.55) saturate(0.7); width: 100%; height: 100%; }
.case-sidebar-art > div { color: rgb(255, 255, 255); position: absolute; bottom: 26px; left: 25px; }
.case-sidebar-art strong { letter-spacing: -0.03em; font-size: 27px; }
.case-sidebar-art span { color: rgb(216, 205, 229); margin-top: 7px; font-size: 10px; display: block; }
.case-article-sidebar nav { padding: 19px 25px; }
.case-article-sidebar nav a { color: rgb(111, 92, 125); border-bottom: 1px solid rgb(229, 220, 233); grid-template-columns: 22px 1fr 16px; align-items: center; gap: 15px; padding: 16px 0px; font-size: 13px; display: grid; }
.case-article-sidebar nav a > span { color: rgb(165, 138, 181); font-size: 10px; }
.case-article-sidebar nav a strong { font-weight: 500; }
.case-article-sidebar nav a:hover { color: rgb(103, 80, 171); }
.case-article-sidebar > .pill { gap: 14px; min-height: 43px; margin: 0px 22px 24px; padding: 11px 16px; font-size: 10px; }
.case-article-body { gap: 25px; min-width: 0px; display: grid; }
.case-article-panel { background: rgb(255, 255, 255); border: 1px solid rgb(233, 225, 239); border-radius: 26px; padding: 48px; }
.case-article-panel .small-label { color: rgb(161, 138, 175); font-size: 9px; }
.case-article-panel h2 { letter-spacing: -0.04em; margin-top: 20px; font-size: 37px; }
.case-article-panel > p { color: rgb(135, 114, 146); margin-top: 20px; font-size: 15px; line-height: 1.8; }
.case-context-tags { flex-wrap: wrap; gap: 10px; margin-top: 25px; display: flex; }
.case-context-tags > span { color: rgb(154, 128, 170); border: 1px solid rgb(230, 219, 237); border-radius: 100px; padding: 8px 13px; font-size: 9px; }
.case-article-panel blockquote { letter-spacing: -0.02em; color: rgb(126, 100, 141); border-left: 2px solid rgb(186, 164, 211); margin-top: 30px; padding-left: 25px; font-size: 20px; line-height: 1.5; }
.case-approach-list { gap: 0px; margin-top: 25px; display: grid; }
.case-approach-list li { border-top: 1px solid rgb(233, 225, 238); gap: 18px; padding: 22px 0px; display: flex; }
.case-approach-list li > span { color: rgb(168, 147, 183); padding-top: 3px; font-size: 10px; }
.case-approach-list p { color: rgb(122, 102, 134); font-size: 15px; line-height: 1.6; }
.case-article-outcome { background: linear-gradient(125deg, rgb(238, 232, 248), rgb(232, 238, 248)); border-color: rgb(224, 217, 233); }
.case-outcome-attributes { gap: 13px; padding: 27px 0px; display: grid; }
.case-outcome-attributes span { color: rgb(139, 107, 167); align-items: center; gap: 11px; font-size: 13px; display: flex; }
.case-article-panel > .case-illustration-note { color: rgb(160, 136, 174); font-size: 11px; line-height: 1.7; }
.case-article-outcome .pill { margin-top: 27px; font-size: 13px; }
.case-article-related { padding-bottom: 80px; }
.case-article-related > a { border-top: 1px solid rgb(221, 209, 231); border-bottom: 1px solid rgb(221, 209, 231); grid-template-columns: 1fr auto; align-items: center; gap: 20px; padding: 30px 0px; display: grid; }
.case-article-related > a > span { color: rgb(165, 138, 175); grid-column: 1 / -1; font-size: 12px; }
.case-article-related h2 { letter-spacing: -0.04em; font-size: clamp(30px, 3vw, 45px); }
.case-article-related > a > svg { color: rgb(142, 106, 167); }
.service-gallery { scrollbar-width: none; overflow-x: hidden; }
.service-gallery::-webkit-scrollbar { display: none; }
.ribbon-soft-glow { stroke: rgb(139, 104, 228); opacity: 0.7; animation: 4.5s ease-in-out 0s infinite normal none running ribbon-brand-flash; }
.ribbon-travel-light { fill: rgb(119, 157, 255); filter: drop-shadow(rgb(128, 85, 239) 0px 0px 17px) drop-shadow(rgb(81, 185, 247) 0px 0px 28px); animation: 5s linear 0s infinite normal none running ribbon-light-flow; }
.ribbon-texture { animation: 12s ease-in-out 0s infinite alternate none running ribbon-surface-flow; }
@keyframes ribbon-brand-flash { 
  0%, 100% { opacity: 0.4; filter: drop-shadow(rgb(144, 107, 244) 0px 0px 16px); }
  45% { opacity: 0.9; filter: drop-shadow(rgb(103, 184, 245) 0px 0px 25px); }
  55% { opacity: 1; filter: drop-shadow(rgb(174, 117, 238) 0px 0px 32px); }
}
.government-light { color: rgb(23, 20, 30); background: rgb(250, 249, 247); padding-block: 100px; position: relative; overflow: hidden; }
.government-light-heading { text-align: center; max-width: 1050px; margin-inline: auto; }
.government-light-heading h2 { letter-spacing: -0.045em; font-size: clamp(37px, 4vw, 61px); line-height: 1.1; }
.government-light-heading > p:not(.eyebrow) { color: rgb(111, 104, 117); max-width: 890px; margin: 25px auto 0px; font-size: 17px; line-height: 1.7; }
.government-light-heading .eyebrow { color: rgb(114, 102, 123); font-size: 11px; }
.government-light-grid { background: rgba(255, 255, 255, 0.69); border: 1px solid rgb(224, 221, 227); border-radius: 28px; grid-template-columns: repeat(4, minmax(0px, 1fr)); margin-top: 48px; display: grid; overflow: hidden; }
.government-light-grid > div { min-width: 0px; }
.government-light-card { border-right: 1px solid rgb(224, 221, 227); flex-direction: column; height: 100%; min-height: 380px; padding: 28px; transition: background 0.35s; display: flex; }
.government-light-grid > div:last-child .government-light-card { background: radial-gradient(at 100% 0px, rgba(224, 213, 248, 0.267), rgba(0, 0, 0, 0) 60%); border-right: 0px; }
.government-light-card:hover { background: rgba(241, 237, 248, 0.467); }
.government-card-top { color: rgb(170, 153, 182); justify-content: space-between; align-items: center; font-size: 11px; display: flex; }
.government-icon-circle { color: rgb(142, 120, 184); background: rgb(235, 231, 245); border-radius: 50%; place-items: center; width: 47px; height: 47px; display: grid; }
.government-light-grid > div:nth-child(2n) .government-icon-circle { color: rgb(111, 145, 189); background: rgb(231, 238, 247); }
.government-light-card h3 { letter-spacing: -0.035em; margin-top: 29px; font-size: 27px; line-height: 1.22; }
.government-light-card > p { color: rgb(137, 129, 141); margin-top: 26px; font-size: 14px; line-height: 1.7; }
.government-card-arrow { box-sizing: content-box; color: rgb(154, 134, 181); align-self: flex-end; margin-top: auto; padding-top: 22px; transition: transform 0.3s; }
.government-light-card:hover .government-card-arrow { transform: translate(3px, -3px); }
.government-light-cta { text-align: center; margin-top: 40px; }
.case-studies-section { color: rgb(25, 20, 31); background: radial-gradient(at 50% 0px, rgb(243, 237, 249), rgba(0, 0, 0, 0) 46%), rgb(255, 255, 255); }
.case-section-heading .eyebrow { color: rgb(156, 129, 176); }
.case-section-heading .section-copy { color: rgb(138, 116, 148); }
.case-studies-section .slider-bottom { color: rgb(155, 131, 168); }
.case-studies-section .slider-bottom .gallery-controls button { color: rgb(136, 108, 165); background: rgb(238, 231, 247); border: 1px solid rgb(230, 220, 239); }
.case-studies-section .slider-dots button::after { background: rgb(222, 209, 233); }
.case-studies-section .slider-dots button[aria-pressed="true"]::after { background: rgb(152, 106, 192); }
.screenshot-footer { isolation: isolate; color: rgb(41, 33, 51); background: linear-gradient(125deg, rgb(228, 221, 250), rgb(237, 240, 250) 46%, rgb(220, 210, 247)); padding: 30px 0px; position: relative; overflow: hidden; }
.screenshot-footer-ribbon { z-index: -1; filter: blur(7px); opacity: 0.3; mix-blend-mode: multiply; background: url("../media/approach-ribbon.webp") 0px center / cover no-repeat; position: absolute; inset: -5%; }
.screenshot-footer-glass { backdrop-filter: blur(24px); background: rgba(255, 255, 255, 0.333); border: 1px solid rgba(255, 255, 255, 0.83); border-radius: 35px; width: min(1600px, 100% - 48px); box-shadow: rgba(255, 255, 255, 0.667) 0px 1px inset; padding: 58px 42px 0px !important; }
.screenshot-footer-layout { grid-template-columns: 0.75fr 1.25fr; gap: 65px; display: grid; }
.footer-connect-column h2 { letter-spacing: -0.06em; font-size: clamp(65px, 6vw, 95px); font-weight: 500; line-height: 1.06; }
.footer-connect-column > .pill { margin-top: 35px; font-size: 15px; }
.footer-contact-details { gap: 23px; margin-top: 70px; display: grid; }
.footer-contact-details a { color: rgb(78, 61, 89); overflow-wrap: anywhere; align-items: center; gap: 14px; font-size: clamp(16px, 1.65vw, 25px); line-height: 1.4; display: flex; }
.footer-contact-details svg { color: rgb(135, 114, 147); flex: 0 0 auto; }
.footer-newsletter-row { justify-content: space-between; align-items: center; gap: 22px; padding-top: 10px; display: flex; }
.footer-newsletter { flex: 1 1 0%; min-width: 0px; }
.footer-newsletter > label { letter-spacing: -0.025em; margin-bottom: 23px; font-size: 21px; display: block; }
.footer-newsletter form { align-items: center; gap: 10px; display: flex; }
.footer-newsletter input { background: rgba(255, 255, 255, 0.863); border: 1px solid rgb(222, 214, 230); border-radius: 100px; outline: none; width: 100%; min-width: 0px; padding: 16px 19px; font-size: 14px; }
.footer-newsletter input:focus { border-color: rgb(164, 139, 191); box-shadow: rgba(179, 154, 197, 0.13) 0px 0px 0px 3px; }
.footer-newsletter button { min-height: 51px; padding: 13px 24px; font-size: 13px; }
.footer-newsletter-note { color: rgb(164, 144, 179); margin-top: 10px; font-size: 9px; }
.newsletter-status { color: rgb(126, 102, 143); padding-block: 14px; font-size: 14px; line-height: 1.6; }
.footer-social-links { align-items: center; gap: 7px; margin-top: 32px; display: flex; }
.footer-social-links a { color: rgb(255, 255, 255); background: rgb(33, 26, 41); border-radius: 50%; place-items: center; width: 34px; height: 34px; transition: transform 0.3s, background 0.3s; display: grid; }
.footer-social-links a:hover { background: rgb(131, 100, 160); transform: translateY(-4px); }
.footer-social-links a span { font-size: 19px; }
.footer-service-columns { grid-template-columns: 1fr 1fr 1fr; gap: 28px; margin-top: 48px; display: grid; }
.footer-service-columns > div { flex-direction: column; gap: 15px; min-width: 0px; display: flex; }
.footer-service-columns .small-label { color: rgb(154, 133, 169); letter-spacing: 0.1em; margin-bottom: 7px; font-size: 9px; }
.footer-service-columns a { color: rgb(89, 71, 99); font-size: 14px; line-height: 1.5; transition: color 0.3s, transform 0.3s; }
.footer-service-columns a:hover { color: rgb(149, 100, 180); transform: translateX(3px); }
.footer-brand-sequence { aspect-ratio: 2048 / 682; width: min(100%, 1080px); margin: 45px auto 20px; display: block; }
.footer-unified-logo { width: 100%; height: 100%; display: block; overflow: visible; }
.screenshot-footer-bottom { color: rgb(158, 135, 172); border-top: 1px solid rgba(162, 147, 181, 0.208); flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 22px; padding: 29px 0px 31px; font-size: 10px; display: flex; }
@media (width <= 1100px) {
  .service-expertise-section, .service-process-section, .service-faq-section { gap: 55px; }
  .service-deliverable-grid { grid-template-columns: repeat(2, 1fr); }
  .service-deliverable { min-height: 300px; }
  .service-enquiry-section > div, .contact-reference-body { gap: 45px; }
  .reference-enquiry-panel { padding: 30px; }
  .service-example { padding: 24px; }
  .service-example h3 { font-size: 24px; }
  .government-light-grid { grid-template-columns: repeat(2, 1fr); }
  .government-light-grid > div:nth-child(2) .government-light-card { border-right: 0px; }
  .government-light-grid > div:nth-child(-n+2) .government-light-card { border-bottom: 1px solid rgb(224, 221, 227); }
  .government-light-card { min-height: 340px; }
  .case-article-layout { grid-template-columns: 250px 1fr; gap: 40px; }
  .case-article-panel { padding: 35px; }
  .screenshot-footer-layout { grid-template-columns: 0.7fr 1.3fr; gap: 38px; }
  .footer-newsletter-row { display: block; }
  .footer-social-links { margin-top: 20px; }
  .footer-contact-details a { font-size: 17px; }
  .footer-service-columns { gap: 19px; }
  .footer-service-columns a { font-size: 12px; }
}
@media (width <= 767px) {
  .reference-page-hero { border-radius: 0px 0px 0px 25px; padding: 132px 0px 44px; }
  .reference-page-hero h1 { margin-top: 21px; font-size: 44px; }
  .reference-page-hero > .section-wrap > p:not(.eyebrow) { margin-top: 22px; font-size: 20px; }
  .reference-hero-actions { gap: 10px; }
  .reference-hero-actions .pill { min-height: 45px; padding: 12px 19px; font-size: 12px; }
  .service-section-nav { top: 84px; }
  .service-section-nav > div { justify-content: space-between; gap: 12px; padding-block: 16px; }
  .service-section-nav a { font-size: 11px; }
  .service-reference-art { border-radius: 0px 0px 28px 28px; height: 340px; }
  .service-reference-art::before { width: 130px; height: 25px; }
  .service-reference-art > .section-wrap { padding-bottom: 22px; }
  .service-art-caption { border-radius: 20px; max-width: 260px; padding: 23px; }
  .service-art-caption strong { font-size: 26px; }
  .service-art-caption .eyebrow { font-size: 8px; }
  .service-art-caption > span { font-size: 10px; }
  .service-expertise-section, .service-process-section, .service-faq-section { grid-template-columns: 1fr; gap: 35px; padding-block: 65px; }
  .service-expertise-section h2 { font-size: 33px; }
  .service-standard { padding: 26px; }
  .service-deliverables-section, .service-examples-section { padding-block: 65px; }
  .service-deliverable-grid { gap: 12px; margin-top: 30px; }
  .service-deliverable { min-height: 315px; padding: 22px; }
  .service-deliverable h3 { font-size: 21px; }
  .service-deliverable > p { font-size: 12px; }
  .deliverable-output { font-size: 9px; }
  .deliverable-round { width: 38px; height: 38px; margin-bottom: 21px; }
  .service-process-heading { position: static; }
  .service-process-heading h2 { font-size: 38px; }
  .service-process-list article { gap: 18px; }
  .service-process-list h3 { font-size: 24px; }
  .service-examples-grid { grid-template-columns: 1fr; gap: 15px; }
  .service-example h3 { min-height: 0px; }
  .service-enquiry-section { padding-block: 65px; }
  .service-enquiry-section > div { grid-template-columns: 1fr; gap: 35px; }
  .reference-contact-links a { font-size: 14px; }
  .reference-enquiry-panel { border-radius: 23px; padding: 25px; }
  .reference-enquiry-panel h2 { font-size: 29px; }
  .enquiry-field-pair { grid-template-columns: 1fr; gap: 20px; }
  .reference-enquiry-form { gap: 20px; }
  .contact-reference-hero h1 { margin-top: 0px; }
  .contact-reference-hero > .section-wrap > span { font-size: 14px; }
  .contact-workspace-art { background-position: 45% center; height: 320px; }
  .contact-workspace-art::before { width: 130px; height: 25px; }
  .contact-art-note { gap: 14px; max-width: calc(100% - 40px); padding: 23px; right: 20px; }
  .contact-art-note a { font-size: 20px; }
  .contact-art-note span { font-size: 8px; }
  .contact-reference-body { grid-template-columns: 1fr; gap: 40px; padding-block: 65px; }
  .contact-reference-copy h2 { font-size: 35px; }
  .contact-next-section { padding-block: 65px; }
  .contact-next-grid { border-radius: 23px; grid-template-columns: 1fr; }
  .contact-next-grid article { border-bottom: 1px solid rgb(223, 219, 228); border-right: 0px; padding: 28px; }
  .contact-next-grid > div:last-child article { border: 0px; }
  .contact-next-grid h3 { margin-top: 21px; }
  .case-archive-grid { grid-template-columns: 1fr; gap: 45px; padding-top: 10px; padding-bottom: 45px; }
  .case-archive-art { height: 340px; }
  .case-archive-copy h2 { font-size: 27px; }
  .case-archive-note { padding-bottom: 45px; font-size: 11px; }
  .case-article-hero h1 { font-size: 43px; }
  .case-article-hero > .section-wrap > p:not(.eyebrow) { font-size: 16px; }
  .case-article-layout { grid-template-columns: 1fr; gap: 25px; padding-block: 25px 60px; }
  .case-article-sidebar { position: static; }
  .case-sidebar-art { height: 220px; }
  .case-article-sidebar nav { grid-template-columns: 1fr 1fr; gap: 0px 18px; padding: 15px 22px; display: grid; }
  .case-article-sidebar nav a { gap: 9px; font-size: 12px; }
  .case-article-sidebar > .pill { margin-block: 5px 23px; }
  .case-article-panel { border-radius: 23px; padding: 28px; }
  .case-article-panel h2 { font-size: 32px; }
  .case-article-panel > p { font-size: 14px; }
  .case-article-panel blockquote { padding-left: 18px; font-size: 18px; }
  .case-article-related { padding-bottom: 55px; }
  .case-article-related h2 { font-size: 28px; }
  .government-light { padding-block: 70px; }
  .government-light-heading h2 { font-size: 35px; }
  .government-light-heading > p:not(.eyebrow) { font-size: 15px; }
  .government-light-grid { margin-top: 34px; }
  .government-light-card { min-height: 385px; padding: 23px; }
  .government-light-card h3 { margin-top: 24px; font-size: 22px; }
  .government-light-card > p { margin-top: 20px; font-size: 12px; line-height: 1.65; }
  .government-icon-circle { width: 37px; height: 37px; }
  .government-icon-circle svg { width: 18px; }
  .government-light-heading .eyebrow { font-size: 9px; }
  .government-light-cta { margin-top: 30px; }
  .screenshot-footer { padding-block: 16px; }
  .screenshot-footer-glass { border-radius: 25px; width: calc(100% - 24px); padding: 37px 25px 0px !important; }
  .screenshot-footer-layout { grid-template-columns: 1fr; gap: 42px; }
  .footer-connect-column h2 { font-size: 64px; }
  .footer-connect-column > .pill { margin-top: 25px; font-size: 13px; }
  .footer-contact-details { gap: 17px; margin-top: 33px; }
  .footer-contact-details a { font-size: 17px; }
  .footer-newsletter-row { padding-top: 0px; }
  .footer-newsletter > label { margin-bottom: 20px; font-size: 22px; }
  .footer-newsletter input { padding: 14px 16px; font-size: 12px; }
  .footer-newsletter button { min-height: 47px; padding: 11px 18px; font-size: 11px; }
  .footer-service-columns { grid-template-columns: 1fr 1fr; gap: 31px 23px; margin-top: 35px; }
  .footer-service-columns > div:last-child { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; display: grid; }
  .footer-service-columns > div:last-child .small-label { grid-column: 1 / -1; }
  .footer-service-columns a { font-size: 12px; }
  .footer-brand-sequence { width: calc(100% + 12px); margin: 35px -6px 20px; }
  .screenshot-footer-bottom { gap: 16px; padding-block: 25px; font-size: 9px; }
  .screenshot-footer-bottom > span { display: none; }
}
@media (width <= 420px) {
  .service-deliverable-grid { grid-template-columns: 1fr; }
  .service-deliverable { min-height: 255px; }
  .government-light-grid { grid-template-columns: 1fr; }
  .government-light-card { border-bottom: 1px solid rgb(224, 221, 227); border-right: 0px; min-height: 0px; padding: 28px; }
  .government-light-card h3 { font-size: 25px; }
  .government-light-card > p { font-size: 14px; }
  .government-light-grid > div:last-child .government-light-card { border-bottom: 0px; }
}
@media (prefers-reduced-motion: reduce) {
  .ribbon-soft-glow, .ribbon-travel-light { animation: auto ease 0s 1 normal none running none; }
  .case-archive-art img, .service-deliverable, .service-example { transition: none; }
}
.reference-legal-page { padding-top: 145px; }
.reference-legal-page section { scroll-margin-top: 135px; }
.case-studies-section { background: rgb(255, 255, 255); }
@media (width >= 768px) {
  .case-photo { order: 1; }
  .case-dark { order: 2; }
}
.case-card { box-shadow: none; background: none; border: 0px; }
.case-frame { position: relative; }
.case-dark { padding-bottom: 112px; position: static; }
.case-story { margin-bottom: 0px; }
.case-learnmore { box-shadow: none; background: rgb(255, 255, 255); border-radius: 85px 0px 0px; align-self: auto; padding: 21px 0px 0px 40px; position: absolute; bottom: 0px; right: 0px; }
.case-learnmore::before { content: ""; background: none; border-radius: 0px 0px 35px; width: 35px; height: 35px; display: block; position: absolute; bottom: 0px; left: -35px; box-shadow: rgb(255, 255, 255) 12px 12px; }
.case-learnmore::after { content: ""; background: none; border-radius: 0px 0px 28px; width: 28px; height: 28px; display: block; position: absolute; top: -28px; right: 0px; box-shadow: rgb(255, 255, 255) 10px 10px; }
.case-learnmore > span { color: rgb(255, 255, 255); background: rgb(8, 8, 10); justify-content: space-between; min-width: 190px; padding: 18px 26px; font-size: 16px; box-shadow: rgba(0, 0, 0, 0.133) 0px 2px 7px; }
.case-learnmore:hover > span { background: rgb(48, 34, 68); transform: none; }
.case-learnmore:hover svg { transform: translateX(4px); }
.case-learnmore:focus-visible { outline-offset: -3px; outline: rgb(125, 97, 213) solid 2px; }
.footer-brand-sequence { width: min(57.8%, 552.5px); margin: 32px auto 22px; }
.industry-track { padding-left: max(24px, -660px + 50vw); scroll-padding-left: max(24px, -660px + 50vw); }
.approach-flow-ribbon svg { transform-origin: center center; will-change: transform; animation: 9s ease-in-out 0s infinite normal none running ribbon-body-sway; }
.ribbon-texture { display: none; }
@keyframes ribbon-body-sway { 
  0%, 100% { transform: translate(-18px, 20px) rotate(-2deg) scale(1.04); }
  50% { transform: translate(28px, -25px) rotate(3deg) scale(1.08); }
}
@media (width <= 767px) {
  .footer-brand-sequence { width: min(73.1%, 365.5px); margin: 28px auto 20px; }
  .industry-track { padding-left: 16px; scroll-padding-left: 16px; }
  .case-dark { padding-bottom: 118px; }
  .case-learnmore { border-top-left-radius: 66px; padding: 17px 0px 0px 31px; }
  .case-learnmore > span { min-width: 163px; padding: 15px 22px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .approach-flow-ribbon svg { will-change: auto; animation: auto ease 0s 1 normal none running none; }
  .case-learnmore > span, .case-learnmore svg { transition: none; }
  .case-learnmore:hover svg { transform: none; }
}
.approach-pin::before { display: none; }
.approach-flow-ribbon svg { will-change: auto; animation: auto ease 0s 1 normal none running none; }
.approach-flow-ribbon { opacity: clamp(0,calc(var(--ribbon-reveal, 0) * 12),1); }
.ribbon-stroke { stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--ribbon-reveal, 0)); }
.ribbon-soft-glow { filter: drop-shadow(rgb(132, 116, 237) 0px 0px 18px); animation: auto ease 0s 1 normal none running none; }
.government-light-grid .government-light-card { transition: background-color 0.35s, color 0.35s; }
.government-light-grid .government-light-card:hover, .government-light-grid .government-light-card:focus-within { color: rgb(255, 255, 255); background: rgb(11, 11, 14); }
.government-light-card > p, .government-card-top, .government-icon-circle, .government-card-arrow { transition: color 0.35s, background-color 0.35s, transform 0.35s; }
.government-light-card:hover > p, .government-light-card:focus-within > p { color: rgb(208, 205, 215); }
.government-light-card:hover .government-card-top, .government-light-card:hover .government-card-arrow, .government-light-card:focus-within .government-card-top, .government-light-card:focus-within .government-card-arrow { color: rgb(188, 169, 242); }
.government-light-grid .government-light-card:hover .government-icon-circle, .government-light-grid .government-light-card:focus-within .government-icon-circle { color: rgb(185, 202, 255); background: rgb(41, 37, 51); }
.case-learnmore { background: none; border-radius: 0px; }
.case-learnmore::before, .case-learnmore::after { display: none; }
.case-learnmore > .case-notch { pointer-events: none; width: calc(100% + 45px); height: 100%; margin: 0px; transition: none; position: absolute; top: 0px; left: -45px; transform: none; }
.case-learnmore:hover > .case-notch { transform: none; }
.case-learnmore > span { z-index: 1; position: relative; }
.case-frame { isolation: isolate; border: 0px; }
.case-photo img { backface-visibility: hidden; }
.footer-connect-column h2 { font-size: clamp(42px, 4vw, 58px); line-height: 1.1; }
.screenshot-footer-layout { align-items: start; }
.footer-newsletter-row { align-items: flex-start; padding-top: 0px; }
@media (width <= 767px) {
  .footer-connect-column h2 { font-size: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .approach-flow-ribbon { opacity: 1; }
  .ribbon-stroke { stroke-dashoffset: 0; }
  .government-light-grid .government-light-card, .government-light-card > p, .government-card-top, .government-icon-circle, .government-card-arrow { transition: none; }
}
.approach-silk { clip-path: inset(0 calc((1 - var(--ribbon-reveal, 0)) * 100%) 0 0); }
.approach-silk svg { opacity: 0.78; overflow: visible; }
.silk-fabric { filter: drop-shadow(rgba(76, 62, 117, 0.25) 0px 16px 22px) drop-shadow(rgba(138, 121, 227, 0.227) 0px 0px 20px); }
.government-light-grid > div:last-child .government-light-card:hover, .government-light-grid > div:last-child .government-light-card:focus-within { color: rgb(255, 255, 255); background: rgb(11, 11, 14); }
.capability-cards .capability-card { transition: background 0.35s, border-color 0.35s, box-shadow 0.35s, transform 0.35s; }
.capability-cards .capability-card:hover, .capability-cards .capability-card:focus-visible { background: linear-gradient(135deg, rgba(255, 255, 255, 0.85), rgba(233, 230, 243, 0.61) 58%, rgba(220, 234, 251, 0.61)); border-color: rgb(255, 255, 255); box-shadow: rgb(255, 255, 255) 0px 1px inset, rgba(255, 255, 255, 0.5) 0px -1px inset, rgba(98, 81, 138, 0.125) 0px 18px 38px; }
@media (prefers-reduced-motion: reduce) {
  .approach-silk { clip-path: none; }
  .capability-cards .capability-card { transition: none; }
}
.approach-pin { background: linear-gradient(135deg, rgb(88, 124, 188), rgb(101, 133, 194) 55%, rgb(124, 145, 201)); }
.approach-silk { clip-path: none; opacity: 1; transition: none; inset: 0px; transform: none; }
.approach-silk svg { opacity: 0.92; transform: translateX(var(--silk-enter-x, -1750px)); filter: blur(0.4px); overflow: visible; }
.approach-intro { color: rgb(255, 255, 255); }
.approach-intro .section-copy, .approach-intro .eyebrow, .approach-scroll-note { color: rgb(237, 241, 255); }
.approach-step-nav button { color: rgb(231, 234, 254); }
.approach-step-nav button[aria-pressed="true"] { color: rgb(255, 255, 255); }
.screenshot-footer { background: linear-gradient(135deg, rgb(219, 229, 245), rgb(231, 232, 245) 55%, rgb(221, 230, 247)); }
.screenshot-footer-ribbon.footer-silk { opacity: 0.2; filter: blur(4px); mix-blend-mode: normal; background: none; inset: -15% -8%; }
.footer-silk svg { width: 100%; height: 100%; }
.screenshot-footer-glass { background: rgba(255, 255, 255, 0.55); position: relative; }
@media (prefers-reduced-motion: reduce) {
  .approach-silk svg { transform: none; }
}
.service-related-links { border-top: 1px solid rgb(229, 224, 234); padding-block: 45px 65px; }
.service-related-links h2 { font-size: 30px; }
.service-related-links > p { color: rgb(113, 107, 123); margin-top: 16px; line-height: 1.7; }
.service-related-links > div { flex-wrap: wrap; gap: 16px 30px; margin-top: 24px; display: flex; }
.service-related-links a { color: rgb(99, 80, 180); text-underline-offset: 5px; align-items: center; gap: 10px; text-decoration: underline; display: inline-flex; }
.beyond-agent-widget { right: 24px; bottom: max(24px,env(safe-area-inset-bottom)); z-index: 55; font-family: inherit; position: fixed; }
.beyond-agent-launcher { color: rgb(255, 255, 255); background: linear-gradient(125deg, rgb(70, 102, 216), rgb(121, 81, 203)); border: 1px solid rgba(255, 255, 255, 0.69); border-radius: 100px; align-items: center; gap: 11px; margin-left: auto; padding: 10px 17px 10px 10px; font-size: 14px; font-weight: 600; transition: box-shadow 0.25s, transform 0.25s; display: flex; box-shadow: rgba(72, 52, 137, 0.25) 0px 8px 30px; }
.beyond-agent-launcher:hover { transform: translateY(-3px); box-shadow: rgba(72, 52, 137, 0.376) 0px 12px 35px; }
.beyond-agent-mark { background: rgba(255, 255, 255, 0.93); border-radius: 50%; flex-shrink: 0; place-items: center; width: 39px; height: 39px; padding: 6px; display: grid; }
.beyond-agent-mark svg { width: 100%; height: 100%; overflow: hidden; }
.beyond-agent-status { background: rgb(204, 227, 255); border-radius: 50%; width: 7px; height: 7px; }
.beyond-agent-panel { backdrop-filter: blur(22px); color: rgb(39, 34, 57); background: rgba(250, 249, 255, 0.96); border: 1px solid rgba(255, 255, 255, 0.875); border-radius: 24px; flex-direction: column; width: 25vw; height: 50dvh; display: flex; position: absolute; bottom: 76px; right: 0px; overflow: hidden; box-shadow: rgba(42, 36, 68, 0.24) 0px 22px 65px; }
.beyond-agent-header { background: linear-gradient(125deg, rgb(232, 234, 251), rgb(238, 229, 250)); border-bottom: 1px solid rgb(227, 222, 239); flex-shrink: 0; align-items: center; gap: 10px; padding: 15px 17px; display: flex; }
.beyond-agent-header > div { flex: 1 1 0%; min-width: 0px; }
.beyond-agent-header h2 { letter-spacing: -0.02em; font-size: 16px; font-weight: 600; }
.beyond-agent-header p { color: rgb(121, 112, 139); margin-top: 3px; font-size: 10px; }
.beyond-agent-header > button { background: rgba(255, 255, 255, 0.54); border-radius: 50%; place-items: center; width: 32px; height: 32px; display: grid; }
.beyond-agent-messages { overscroll-behavior: contain; flex-direction: column; flex: 1 1 0%; gap: 12px; min-height: 0px; padding: 17px; display: flex; overflow-y: auto; }
.beyond-agent-message { border-radius: 15px; flex-shrink: 0; max-width: 94%; padding: 11px 13px; font-size: 12px; line-height: 1.65; }
.beyond-agent-message p { margin: 0px; }
.beyond-agent-message-agent { background: rgb(238, 235, 247); border-bottom-left-radius: 5px; align-self: flex-start; }
.beyond-agent-message-user { color: rgb(255, 255, 255); background: linear-gradient(135deg, rgb(81, 103, 210), rgb(121, 85, 191)); border-bottom-right-radius: 5px; align-self: flex-end; }
.beyond-agent-message a { color: rgb(93, 72, 168); text-underline-offset: 3px; align-items: center; gap: 5px; margin-top: 9px; font-weight: 600; text-decoration: underline; display: inline-flex; }
.beyond-agent-topics { flex-wrap: wrap; flex-shrink: 0; gap: 6px; padding: 0px 15px 12px; display: flex; }
.beyond-agent-topics button { color: rgb(99, 81, 131); background: rgb(255, 255, 255); border: 1px solid rgb(221, 214, 239); border-radius: 100px; padding: 6px 9px; font-size: 10px; }
.beyond-agent-topics button:hover { background: rgb(236, 230, 250); }
.beyond-agent-input { background: rgb(255, 255, 255); border: 1px solid rgb(222, 216, 238); border-radius: 100px; flex-shrink: 0; align-items: center; gap: 7px; margin: 0px 13px; padding: 5px 5px 5px 12px; display: flex; }
.beyond-agent-input:focus-within { outline-offset: 2px; outline: rgb(150, 131, 214) solid 2px; }
.beyond-agent-input input { background: none; outline: none; width: 100%; min-width: 0px; padding-block: 7px; font-size: 12px; }
.beyond-agent-input button { color: rgb(255, 255, 255); background: rgb(105, 84, 187); border-radius: 50%; flex-shrink: 0; place-items: center; width: 33px; height: 33px; display: grid; }
.beyond-agent-input button:disabled { opacity: 0.45; cursor: default; }
.beyond-agent-note { color: rgb(147, 138, 159); flex-shrink: 0; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 16px 12px; font-size: 9px; display: flex; }
.beyond-agent-note a { color: rgb(104, 86, 136); align-items: center; gap: 3px; display: inline-flex; }
.beyond-agent-launcher:focus-visible, .beyond-agent-header button:focus-visible, .beyond-agent-topics button:focus-visible, .beyond-agent-input button:focus-visible { outline-offset: 3px; outline: rgb(162, 138, 223) solid 3px; }
@media (width <= 1023px) {
  .beyond-agent-panel { width: 360px; max-width: calc(-40px + 100vw); }
}
@media (width <= 600px) {
  .beyond-agent-widget { right: 14px; bottom: max(14px,env(safe-area-inset-bottom)); }
  .beyond-agent-panel { border-radius: 21px; width: calc(-28px + 100vw); max-width: none; height: 50dvh; bottom: 70px; }
  .beyond-agent-launcher { padding: 8px 14px 8px 8px; font-size: 12px; }
  .beyond-agent-mark { width: 35px; height: 35px; }
}
@media (prefers-reduced-motion: reduce) {
  .beyond-agent-launcher { transition: none; }
  .beyond-agent-launcher:hover { transform: none; }
}
.beyond-agent-launcher { border-radius: 50%; justify-content: center; width: 62px; height: 62px; padding: 8px; }
.beyond-agent-launcher .beyond-agent-mark { background: rgba(255, 255, 255, 0.93); width: 44px; height: 44px; }
.service-menu-slot { height: 64px; position: relative; }
.service-moving-menu { position: relative; top: auto; }
.service-moving-menu > .section-wrap { height: 64px; padding-block: 0px; }
.service-moving-menu a { align-items: center; gap: 8px; padding-block: 12px; transition: color 0.25s, background-color 0.25s, opacity 0.25s; display: flex; }
.service-menu-number, .service-moving-menu a i { display: none; }
.service-moving-menu.is-docked { background: linear-gradient(135deg, rgba(255, 255, 255, 0.85), rgba(238, 235, 245, 0.72)); border: 1px solid rgba(255, 255, 255, 0.88); border-radius: 21px; width: 157px; padding: 9px; animation: 0.3s ease-out 0s 1 normal none running service-menu-dock; position: fixed; top: 50%; right: 20px; transform: translateY(-50%); box-shadow: rgb(255, 255, 255) 0px 1px inset, rgba(60, 42, 100, 0.1) 0px 10px 35px; }
.service-moving-menu.is-docked > .section-wrap { flex-direction: column; align-items: stretch; gap: 4px; width: 100%; height: auto; padding: 0px; display: flex; }
.service-moving-menu.is-docked a { color: rgb(164, 155, 172); border-radius: 12px; padding: 12px 10px; font-size: 12px; }
.service-moving-menu.is-docked a::after { display: none; }
.service-moving-menu.is-docked .service-menu-number { opacity: 0.6; font-size: 9px; display: block; }
.service-moving-menu.is-docked a[aria-current="location"] { color: rgb(101, 80, 170); background: rgba(221, 213, 243, 0.48); box-shadow: rgba(188, 174, 230, 0.224) 0px 0px 0px 1px inset; }
.service-moving-menu.is-docked a[aria-current="location"] i { background: rgb(130, 105, 199); border-radius: 50%; width: 5px; height: 5px; margin-left: auto; display: block; }
.service-moving-menu.is-docked a:hover, .service-moving-menu.is-docked a:focus-visible { color: rgb(64, 54, 78); background: rgb(255, 255, 255); }
.service-moving-menu.is-offscreen { visibility: hidden; pointer-events: none; }
.service-moving-menu a:focus-visible { outline-offset: 2px; outline: rgb(146, 120, 206) solid 2px; }
@keyframes service-menu-dock { 
  0% { opacity: 0; translate: 15px -12px; }
  100% { opacity: 1; translate: 0px; }
}
@media (width <= 767px) {
  .service-menu-slot, .service-moving-menu > .section-wrap { height: 52px; }
  .beyond-agent-launcher { width: 54px; height: 54px; padding: 6px; }
  .beyond-agent-launcher .beyond-agent-mark { width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .service-moving-menu.is-docked { animation: auto ease 0s 1 normal none running none; }
  .service-moving-menu a { transition: none; }
}
@media (width <= 1099px) {
  .service-menu-slot { z-index: 20; position: sticky; top: 105px; }
}
@media (width <= 767px) {
  .service-menu-slot { top: 84px; }
}
.service-menu-toggle { color: rgb(121, 103, 143); background: rgba(255, 255, 255, 0.66); border-radius: 50%; place-items: center; width: 30px; height: 30px; margin: 0px 0px 5px auto; transition: background 0.2s, color 0.2s; display: grid; }
.service-menu-toggle:hover { color: rgb(79, 57, 130); background: rgb(255, 255, 255); }
.service-menu-toggle:focus-visible { outline-offset: 2px; outline: rgb(146, 120, 206) solid 2px; }
.service-moving-menu.is-docked.is-collapsed { border-radius: 50%; width: 40px; height: 40px; padding: 4px; }
.service-moving-menu.is-collapsed .service-menu-toggle { width: 30px; height: 30px; margin: 0px; }
.service-moving-menu > .section-wrap[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
  .service-menu-toggle { transition: none; }
}
@media (width <= 600px) {
  .beyond-agent-panel { border-radius: 18px; width: min(300px, -48px + 100vw); height: min(360px, 42dvh); max-height: calc(100dvh - 110px); bottom: 66px; }
  .beyond-agent-header { gap: 8px; padding: 11px 12px; }
  .beyond-agent-header h2 { font-size: 14px; }
  .beyond-agent-header .beyond-agent-mark { width: 30px; height: 30px; }
  .beyond-agent-header p { font-size: 9px; }
  .beyond-agent-messages { gap: 9px; padding: 12px; }
  .beyond-agent-topics { gap: 5px; padding: 0px 11px 9px; }
  .beyond-agent-topics button { padding: 5px 7px; font-size: 9px; }
  .beyond-agent-input { margin-inline: 10px; }
  .beyond-agent-input input { font-size: 16px; }
  .beyond-agent-note { padding: 7px 12px 9px; font-size: 8px; }
}
@media (width <= 600px) and (height <= 500px) {
  .beyond-agent-panel { height: calc(100dvh - 110px); }
  .beyond-agent-topics, .beyond-agent-note, .beyond-agent-header p { display: none; }
  .beyond-agent-input { margin-bottom: 9px; }
}
@property --tw-rotate-x { syntax: "*"; inherits: false; }
@property --tw-rotate-y { syntax: "*"; inherits: false; }
@property --tw-rotate-z { syntax: "*"; inherits: false; }
@property --tw-skew-x { syntax: "*"; inherits: false; }
@property --tw-skew-y { syntax: "*"; inherits: false; }
@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-leading { syntax: "*"; inherits: false; }
@property --tw-font-weight { syntax: "*"; inherits: false; }
@property --tw-tracking { syntax: "*"; inherits: false; }
@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-shadow-color { syntax: "*"; inherits: false; }
@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-ring-color { syntax: "*"; inherits: false; }
@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-ring-color { syntax: "*"; inherits: false; }
@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-ring-inset { syntax: "*"; inherits: false; }
@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-blur { syntax: "*"; inherits: false; }
@property --tw-brightness { syntax: "*"; inherits: false; }
@property --tw-contrast { syntax: "*"; inherits: false; }
@property --tw-grayscale { syntax: "*"; inherits: false; }
@property --tw-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-invert { syntax: "*"; inherits: false; }
@property --tw-opacity { syntax: "*"; inherits: false; }
@property --tw-saturate { syntax: "*"; inherits: false; }
@property --tw-sepia { syntax: "*"; inherits: false; }
@property --tw-drop-shadow { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
@property --tw-duration { syntax: "*"; inherits: false; }
@property --tw-ease { syntax: "*"; inherits: false; }
@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@keyframes enter { 
  0% { opacity: var(--tw-enter-opacity, 1); transform: translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0)scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1))rotate(var(--tw-enter-rotate, 0)); filter: blur(var(--tw-enter-blur, 0)); }
}
@keyframes exit { 
  100% { opacity: var(--tw-exit-opacity, 1); transform: translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0)scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1))rotate(var(--tw-exit-rotate, 0)); filter: blur(var(--tw-exit-blur, 0)); }
}
@keyframes accordion-down { 
  0% { height: 0px; }
  100% { height: var(--radix-accordion-content-height, var(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto))))); }
}
@keyframes accordion-up { 
  0% { height: var(--radix-accordion-content-height, var(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto))))); }
  100% { height: 0px; }
}