/* Pixelized aliases over the raw unitless Figma Variable floats, for easy use in component CSS/inline styles. */
:root{
  --radius-xs:calc(var(--border-radius-10) * 1px);
  --radius-sm:calc(var(--border-radius-20) * 1px);
  --radius-md:calc(var(--border-radius-30) * 1px);
  --radius-lg:calc(var(--border-radius-40) * 1px);
  --radius-xl:calc(var(--border-radius-50) * 1px);
  --radius-2xl:calc(var(--border-radius-60) * 1px);
  --radius-round:calc(var(--border-radius-round) * 1px);
  --bw-10:calc(var(--border-width-10) * 1px);
  --bw-20:calc(var(--border-width-20) * 1px);
  --bw-30:calc(var(--border-width-30) * 1px);
  --bw-40:calc(var(--border-width-40) * 1px);
  --space-10:calc(var(--spacing-10) * 1px);
  --space-20:calc(var(--spacing-20) * 1px);
  --space-30:calc(var(--spacing-30) * 1px);
  --space-40:calc(var(--spacing-40) * 1px);
  --space-50:calc(var(--spacing-50) * 1px);
  --space-60:calc(var(--spacing-60) * 1px);
  --space-70:calc(var(--spacing-70) * 1px);
  --space-80:calc(var(--spacing-80) * 1px);
  --space-90:calc(var(--spacing-90) * 1px);
  --space-100:calc(var(--spacing-100) * 1px);
  --space-110:calc(var(--spacing-110) * 1px);
  --space-120:calc(var(--spacing-120) * 1px);
  --space-130:calc(var(--spacing-130) * 1px);
  --space-140:calc(var(--spacing-140) * 1px);
  --fs-body-xs:calc(var(--typography-body-xsmall-font-size) * 1px);
  --lh-body-xs:calc(var(--typography-body-xsmall-line-height) * 1px);
  --fs-body-sm:calc(var(--typography-body-small-font-size) * 1px);
  --lh-body-sm:calc(var(--typography-body-small-line-height) * 1px);
  --fs-body-md:calc(var(--typography-body-medium-font-size) * 1px);
  --lh-body-md:calc(var(--typography-body-medium-line-height) * 1px);
  --fs-body-lg:calc(var(--typography-body-large-font-size) * 1px);
  --lh-body-lg:calc(var(--typography-body-large-line-height) * 1px);
  --fs-headline-xs:calc(var(--typography-headline-xsmall-font-size) * 1px);
  --lh-headline-xs:calc(var(--typography-headline-xsmall-line-height) * 1px);
  --fs-headline-sm:calc(var(--typography-headline-small-font-size) * 1px);
  --lh-headline-sm:calc(var(--typography-headline-small-line-height) * 1px);
  --fs-headline-md:calc(var(--typography-headline-medium-font-size) * 1px);
  --lh-headline-md:calc(var(--typography-headline-medium-line-height) * 1px);
  --fs-headline-lg:calc(var(--typography-headline-large-font-size) * 1px);
  --lh-headline-lg:calc(var(--typography-headline-large-line-height) * 1px);
  --fs-headline-xl:calc(var(--typography-headline-xlarge-font-size) * 1px);
  --lh-headline-xl:calc(var(--typography-headline-xlarge-line-height) * 1px);
  --fs-display-sm:calc(var(--typography-display-small-font-size) * 1px);
  --lh-display-sm:calc(var(--typography-display-small-line-height) * 1px);
  --fs-display-lg:calc(var(--typography-display-large-font-size) * 1px);
  --lh-display-lg:calc(var(--typography-display-large-line-height) * 1px);
  --fs-button:calc(var(--typography-misc-button-font-size) * 1px);
  --lh-button:calc(var(--typography-misc-button-line-height) * 1px);
  --font-display:var(--font-family-poppins), "Poppins", sans-serif;
  --font-headline:var(--font-family-poppins), "Poppins", sans-serif;
  --font-body:var(--font-family-open-sans), "Open Sans", sans-serif;
  --shadow-level1:0px calc(var(--shadow10-level1-y) * 1px) calc(var(--shadow10-level1-blur) * 1px) var(--shadow10-primary-color);
  --shadow-level2:0px calc(var(--shadow20-level1-y) * 1px) calc(var(--shadow20-level1-blur) * 1px) var(--shadow20-primary-color);
  --shadow-level3:0px calc(var(--shadow30-level1-y) * 1px) calc(var(--shadow30-level1-blur) * 1px) var(--shadow30-primary-color);
  --surface-page:var(--colour-granite010-2);
  --surface-card:var(--colour-granite000);
  --ink-default:var(--colour-granite090-2);
  --ink-subtle:var(--colour-granite070-2);
  --ink-inverse:var(--colour-granite000-2);
  --border-default:var(--colour-granite020-2);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);color:var(--ink-default);background:var(--surface-page)}
a{color:var(--colour-cobalt060);text-decoration:none}
a:hover{color:var(--colour-cobalt070)}

/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/geist-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/geist-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/geist-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/geist-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/geist-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/geist-mono-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/geist-mono-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* symbols2 */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/a/8f18c6e7-c6dc-44b1-807d-18f617ea9069.woff2") format('woff2');
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}
/* vietnamese */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/geist-mono-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/geist-mono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/geist-mono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/geist-mono-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/geist-mono-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* symbols2 */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/a/8f18c6e7-c6dc-44b1-807d-18f617ea9069.woff2") format('woff2');
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}
/* vietnamese */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/geist-mono-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/geist-mono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/geist-mono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


html,body{margin:0;background:var(--p,#ECEDF1);color:var(--i,#12141B);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--a,#5B43C9)}
:focus-visible{outline:2px solid var(--a,#5B43C9);outline-offset:3px}
::selection{background:#283452;color:#F2F1EC}
::view-transition-group(*){animation-duration:.65s;animation-timing-function:cubic-bezier(.2,.7,.1,1)}
html{overflow-x:clip}
a{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:color .2s ease-out,background-size .2s ease-out}
a[data-u]{background-size:100% 1px}
a:hover{color:var(--a,#5B43C9)!important;background-size:100% 1px}
a[data-block]{background-image:none}
[data-dark] a:hover{color:#B6A8F4!important}
:focus{outline:none}
:focus-visible{outline:2px solid var(--a,#5B43C9);outline-offset:3px;border-radius:2px}
[data-dark] :focus-visible{outline-color:#B6A8F4}
[data-card] h3{transition:color .2s ease-out}
[data-card]:hover h3,[data-card]:focus-visible h3{color:var(--a,#5B43C9)}
[data-arrow]{display:inline-block;margin-left:.25em;font-size:.6em;vertical-align:.3em;transition:transform .2s ease-out}
[data-card]:hover [data-arrow],[data-card]:focus-visible [data-arrow]{transform:translateX(6px)}
[data-card] img{transition:transform .5s cubic-bezier(.2,.7,.1,1)}
[data-card]:hover img{transform:scale(1.025)}
[data-bp]{background:var(--a,#5B43C9);color:var(--o,#FFFFFF);border:1px solid var(--a,#5B43C9);transition:background-color .2s ease-out,border-color .2s ease-out}
[data-bp]:not(:disabled):hover{background:var(--ah,#4A35A8)!important;border-color:var(--ah,#4A35A8);color:var(--o,#FFFFFF)!important}
[data-bs]{background:transparent;color:var(--a,#5B43C9);border:1px solid var(--a,#5B43C9);transition:background-color .2s ease-out}
[data-bs]:not(:disabled):hover{background:var(--at,rgba(91,67,201,.08))}
[data-dark] [data-bp]{background:#B6A8F4;color:#12141B;border-color:#B6A8F4}
[data-dark] [data-bp]:not(:disabled):hover{background:#A492EE!important;border-color:#A492EE;color:#12141B!important}
[data-dark] [data-bs]{color:#B6A8F4;border-color:#B6A8F4}
[data-dark] [data-bs]:not(:disabled):hover{background:rgba(182,168,244,.12)}
[data-bp]:disabled,[data-bs]:disabled{background:transparent;color:var(--dis,#8A8FA0);border-color:var(--disb,#C5C8D2);cursor:not-allowed}
[data-cl]{display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:center}
[data-cl] ul{display:flex;justify-content:space-between;align-items:center;gap:20px 28px}
[data-cl] li{display:flex;justify-content:center;align-items:center;min-height:72px;flex:none}
[data-lg] [data-m]{opacity:.78;transition:opacity .2s,color .2s,transform .25s cubic-bezier(.2,.7,.1,1)}
a[data-lg]:hover,a[data-lg]:focus-visible{color:var(--a,#5B43C9)!important}
a[data-lg]:hover [data-m],a[data-lg]:focus-visible [data-m]{opacity:1;transform:translateY(-3px)}
[data-cue]{opacity:0;transform:translate(-50%,-4px);transition:opacity .2s,transform .25s cubic-bezier(.2,.7,.1,1);pointer-events:none}
a[data-lg]:hover [data-cue],a[data-lg]:focus-visible [data-cue]{opacity:1;transform:translate(-50%,0)}
@media (hover:none){[data-cue]{opacity:.9;transform:translate(-50%,0)}}
@media (max-width:1180px){[data-cl]{grid-template-columns:1fr}[data-cl] ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}[data-cl] li{flex:initial}}
@media (max-width:560px){[data-cl] ul{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}[data-cl] li{min-height:64px}[data-lg] [data-m]{transform:scale(.85)}}
@media (prefers-reduced-motion:reduce){[data-m],[data-cue]{transition:none!important}}
@media (max-width:720px){[data-desk]{display:none!important}}
@media (max-width:1023px){[data-r5]{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:767px){[data-p4],[data-as4]{grid-template-columns:repeat(2,minmax(0,1fr))!important}[data-as4]>:nth-child(3){padding-left:0!important;border-left:0!important}[data-as4]>:nth-child(n+3){border-top:1px solid var(--l,rgba(18,20,27,.14))}[data-r5]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:899px){[data-nsm]{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:599px){[data-nsif]{display:none!important}[data-nsvid]{display:block!important}[data-nsimg]{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:767px){[data-ns]{grid-template-columns:minmax(0,1fr)!important}[data-wt-run]{height:auto!important}[data-wt]{position:static!important;height:auto!important;display:block!important}[data-wt-main]{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}[data-wt-img]{container-type:normal!important;height:auto!important}[data-wt-frame]{width:100%!important}[data-wt-tabs]{display:none!important}}
@media (min-width:721px){[data-mob]{display:none!important}}
@media (max-width:1179px){[data-hd]{display:none!important}}
@media (min-width:720px){[data-swipe]{display:grid!important;overflow:visible!important}[data-swipe]>*{min-width:0}[data-brand4]{grid-template-columns:repeat(3,minmax(0,1fr))!important}[data-ds3]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (min-width:1180px){[data-hm]{display:none!important}[data-hg]{grid-template-columns:repeat(12,minmax(0,1fr))!important;column-gap:clamp(20px,2vw,32px)!important}[data-hg]>:first-child{grid-column:1/7}[data-hg]>:last-child{grid-column:7/13;margin:0 calc(-1 * clamp(20px,4vw,56px)) 0 -3vw!important;max-width:none!important;transform:scale(1.15);transform-origin:80% 50%}[data-hdl]{grid-template-columns:repeat(4,minmax(0,1fr))!important}[data-hli]{max-height:max(280px,calc(100svh - 330px))}[data-sg]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}[data-tg]{grid-template-columns:repeat(12,minmax(0,1fr))!important;column-gap:clamp(20px,2vw,32px)!important}[data-tg]>:first-child{grid-column:1/7}[data-tg]>:last-child{grid-column:8/13}}
[data-hdr]{transition:background-color .25s ease,border-color .25s ease}
[data-hdr] a:hover,[data-hdr] a:focus-visible{color:#B6A8F4!important}
[data-lbb]{transition:color .2s ease-out,border-color .2s ease-out}[data-lbb]:hover,[data-lbb]:focus-visible{color:#B6A8F4!important;border-color:#B6A8F4!important;outline-color:#B6A8F4}
[data-btn1]{transition:background-color .2s ease-out}
[data-btn1]:hover{background:#A492EE!important}
[data-btn2]{transition:color .2s ease-out,border-color .2s ease-out}
[data-btn2]:not(:disabled):hover{border-color:var(--a,#5B43C9)!important;color:var(--a,#5B43C9)!important}
@media (prefers-reduced-motion: reduce){[data-glow]{animation:none!important;transform:none!important}a{transition:color .2s ease-out!important}[data-arrow],[data-card] img{transform:none!important;transition:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}html{scroll-behavior:auto}[data-hdr]{transition:none!important}}

/* ---- Static-site additions (the design's own rules are above) ---- */
:root{--p:#ECEDF1;--i:#12141B;--m:#50566A;--s:#E2DDF1;--l:rgba(18,20,27,.14);--a:#5B43C9;--o:#FFFFFF;--ah:#4A35A8;--at:rgba(91,67,201,.08);--dis:#8A8FA0;--disb:#C5C8D2;color-scheme:light}
html,body{height:100%}
/* width/height attributes are only there to reserve space; the design's inline sizes still win */
img{width:auto;height:auto}
/* case study cards are now real links: keep the card's own colours on hover, like the original <article> */
a[data-cardlink][data-cardlink],a[data-cardlink][data-cardlink]:hover{color:inherit!important}
/* page-to-page transitions (the design used same-page view transitions) */
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
