/* Figma 532:2045 — shared homepage fonts/colours, 1140px text column, 200px rhythm. */
body.sso-figma {
 --sso-paper:#fcfdf9;--sso-ink:#111310;--sso-muted:#4d514b;--sso-purple:#9138f7;
 --sso-rule:#d9b7ff;--sso-stage:#eeefea;--sso-question:#f5f5f5;
 --sso-glass:rgba(252,253,249,.28);--sso-gap:200px;--sso-unit:min(1px,calc(100vw / 1440));
 --sso-inset:max(24px,calc((100vw - 1140px) / 2));
 margin:0;background:var(--sso-paper);color:var(--sso-ink);font-family:var(--font-body,"Plus Jakarta Sans",sans-serif);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
}
body.sso-figma.home-dark {--sso-paper:#141715;--sso-ink:#f4f5ef;--sso-muted:#c0c5bd;--sso-purple:#be85ff;--sso-rule:#654386;--sso-stage:#222621;--sso-question:#242824;--sso-glass:rgba(20,23,21,.32);color-scheme:dark;}
.sso-figma *, .sso-figma *::before,.sso-figma *::after {box-sizing:border-box;}
.sso-figma :is(h1,h2,h3,p,figure) {margin:0;}
.sso-figma h1,.sso-figma h2 {font-family:var(--font-heading,"Space Mono",monospace);font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.055em;text-transform:uppercase;}
.sso-figma h3 {font-family:var(--font-body);font-size:18px;font-weight:600;line-height:1.4;}
.sso-figma a {color:inherit;text-underline-offset:3px;}
.sso-figma a:hover {color:var(--sso-purple);}
.sso-figma :is(a,button,summary):focus-visible {outline:2px solid var(--sso-purple);outline-offset:5px;}
.sso-figma .sso-content {width:min(calc(100% - 48px),1140px);margin-inline:auto;}
.sso-figma .sso-stack {display:flex;flex-direction:column;align-items:stretch;gap:var(--sso-gap);padding-top:259px;overflow:clip;}
.sso-figma .sso-group {display:flex;flex-direction:column;gap:40px;}
.sso-figma .sso-group--60 {gap:60px;}
.sso-figma .sso-group--70 {gap:70px;}
.sso-figma .sso-heading {max-width:none;}
.sso-figma .sso-heading span {font-weight:400;}
.sso-figma section[id] {scroll-margin-top:112px;}
.sso-figma .sso-header {position:fixed;z-index:100;top:0;left:0;width:100%;isolation:isolate;padding:25px 0 16px;}
.sso-figma .sso-header::before {content:"";position:absolute;z-index:-1;inset:0 0 -8px;background:var(--sso-glass);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);-webkit-mask-image:linear-gradient(#000 0 76%,transparent 100%);mask-image:linear-gradient(#000 0 76%,transparent 100%);pointer-events:none;}
.sso-figma .sso-header-inner {display:flex;align-items:flex-start;justify-content:space-between;gap:30px;}
.sso-figma .sso-header nav {display:flex;align-items:flex-start;gap:40px;flex-wrap:wrap;}
.sso-figma .sso-header a,.sso-figma #ssoThemeToggle {font-family:var(--font-heading);font-size:16px;line-height:24px;letter-spacing:-.02em;text-transform:uppercase;text-decoration:underline;}
.sso-figma .sso-header a {font-weight:700;}
.sso-figma .sso-header a span {font-weight:400;}
.sso-figma #ssoThemeToggle {border:0;padding:0;background:none;color:inherit;cursor:pointer;white-space:nowrap;}
.sso-figma #ssoThemeToggle:hover {color:var(--sso-purple);}
.sso-figma .sso-intro-grid {display:grid;grid-template-columns:1fr 2fr;align-items:center;}
.sso-figma .sso-intro-grid h1 {width:max-content;max-width:850px;}
.sso-figma .sso-intro-grid p {max-width:380px;margin-top:10px;line-height:1.4;}
.sso-figma .sso-live {position:relative;isolation:isolate;justify-self:end;flex:none;padding:1px;border-radius:999px;overflow:hidden;box-shadow:0 0 22px rgba(150,62,255,.18);text-decoration:none;color:var(--sso-ink);}
.sso-figma .sso-live::before {content:"";position:absolute;z-index:-1;inset:-150%;background:conic-gradient(from 0deg,transparent 0deg,transparent 80deg,var(--sso-purple) 135deg,transparent 200deg,transparent 290deg,#c794ff 335deg,transparent 360deg);animation:sso-glow 4s linear infinite;}
.sso-figma .sso-live span {display:block;padding:12px 22.4px;background:var(--sso-paper);border-radius:inherit;font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap;}
.sso-figma .sso-live:hover {box-shadow:0 0 28px rgba(150,62,255,.35);}
@keyframes sso-glow {to {transform:rotate(360deg);}}
.sso-figma .sso-hero {position:relative;isolation:isolate;width:100%;aspect-ratio:1440 / 950;max-height:none;overflow:hidden;background:#fff;}
.sso-figma .sso-hero-media {position:absolute;inset:0;}
.sso-figma .sso-hero-media :is(img,video) {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.sso-figma .sso-summary {display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:start;}
.sso-figma .sso-summary > p {max-width:570px;}
.sso-figma .sso-meta {font-size:14px;line-height:1.6;}
.sso-figma .sso-stats,.sso-figma .sso-principles {display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.sso-figma .sso-stat,.sso-figma .sso-principles > div {display:flex;flex-direction:column;gap:15px;border-top:1px solid var(--sso-rule);padding:24px 0 22.5px;}
.sso-figma .sso-stat strong {font-family:var(--font-heading);font-size:22px;line-height:1.25;letter-spacing:-.055em;color:var(--sso-purple);font-weight:700;}
.sso-figma .sso-stat p {font-size:15px;line-height:1.5;}
.sso-figma .sso-copy-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start;}
.sso-figma .sso-copy {display:flex;flex-direction:column;gap:24px;}
.sso-figma .sso-small {margin-top:20px;font-size:14px;line-height:1.5;}
.sso-figma .sso-bold {font-weight:700;}
.sso-figma .sso-arrow {text-align:center;color:var(--sso-purple);font-size:22px;line-height:1;}
.sso-figma .sso-emphasis {font-size:18px;line-height:1.5;}
.sso-figma .sso-phone-stage {position:relative;display:flex;justify-content:center;align-items:flex-end;padding:106px 16px 0;background:var(--sso-stage);overflow:hidden;}
.sso-figma .sso-phone {position:relative;flex:none;width:340px;height:646.92px;border:5px solid #161816;border-bottom:0;border-radius:34px 34px 0 0;overflow:hidden;background:#fff;box-shadow:0 12px 32px #00000014;}
.sso-figma .sso-phone :is(img,video) {position:absolute;inset:0 auto auto 0;display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;}
.sso-figma .sso-video-poster {display:block;}
.sso-figma .sso-video-panel {position:relative;width:100%;overflow:hidden;}
.sso-figma .sso-research-pair {display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.sso-figma .sso-video-panel--research {aspect-ratio:910 / 728;background:#fff;border-radius:6% / 7.5%;clip-path:inset(1px round 6% / 7.5%);}
.sso-figma .sso-video-panel--research :is(img,video) {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.sso-figma .sso-media-toggle {position:absolute;z-index:4;right:14px;bottom:14px;display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border:1px solid #ffffff55;border-radius:999px;background:#151715b8;color:#fff;font-family:var(--font-body);font-size:13px;line-height:1;cursor:pointer;}
.sso-figma .sso-media-toggle:hover {background:#9138f7;}
.sso-figma .sso-video-progress {position:absolute;z-index:3;left:0;right:0;bottom:0;height:2px;background:rgba(145,56,247,.15);overflow:hidden;}
.sso-figma .sso-video-progress > span {display:block;width:100%;height:100%;background:var(--sso-purple);transform:scaleX(0);transform-origin:left;}
/* Figma's three authored flow crops use their own source offsets. */
.sso-figma .sso-wide {position:relative;width:100%;height:calc(900 * var(--sso-unit));overflow:hidden;}
.sso-figma .sso-wide-paper {position:absolute;top:0;height:100%;width:calc(1535 * var(--sso-unit));background:#fff;color:#161715;}
.sso-figma .sso-wide--right .sso-wide-paper {left:var(--sso-inset);}
.sso-figma .sso-wide--left .sso-wide-paper {right:var(--sso-inset);}
.sso-figma .sso-wide figcaption {position:absolute;left:calc(var(--sso-inset) + 20px);top:calc(30 * var(--sso-unit));font-size:14px;line-height:21px;font-weight:500;color:#161715;z-index:1;}
.sso-figma .sso-wide-crop {position:absolute;top:calc(81 * var(--sso-unit));bottom:0;left:0;right:0;overflow:hidden;}
.sso-figma .sso-wide-crop img {position:absolute;display:block;width:calc(var(--image-width) * var(--sso-unit));max-width:none;height:auto;left:calc(var(--image-x) * var(--sso-unit));top:calc(var(--image-y) * var(--sso-unit));}
.sso-figma .sso-questions {display:flex;flex-direction:column;gap:20px;width:50%;margin:0 0 0 auto;padding:0;list-style:none;}
.sso-figma .sso-questions li {padding:25px;background:var(--sso-question);border-radius:5px;line-height:1.25;}
.sso-figma .sso-questions li:first-child {border-radius:20px 20px 5px 5px;}
.sso-figma .sso-questions li:last-child {border-radius:5px 5px 20px 20px;}
.sso-figma .sso-success {display:flex;align-items:center;justify-content:center;gap:10px;padding:30px 25px;border-radius:15px;background:#16c81c;color:#fff;}
.sso-figma .sso-success img {flex:none;}
.sso-figma .sso-success p {font-size:20px;line-height:1.4;font-weight:700;}
.sso-figma .sso-principles h3 {font-weight:800;line-height:1.2;}
.sso-figma .sso-homepage-sections {width:100%;background:var(--sso-stage);}
.sso-figma .sso-homepage-sections > img {display:block;width:100%;height:auto;max-width:2880px;margin-inline:auto;}
.sso-figma .sso-device-stage {position:relative;display:flex;justify-content:center;align-items:flex-end;width:100%;padding:106px 16px 0;background:var(--sso-stage);overflow:hidden;}
.sso-figma .sso-referral-window {position:relative;width:100%;overflow:hidden;}
.sso-figma .sso-referral-window > img {display:block;width:100%;height:auto;}
.sso-figma .sso-regions-window {position:relative;width:min(100%,804px);aspect-ratio:804 / 569;overflow:hidden;}
.sso-figma .sso-regions-window :is(img,video) {position:absolute;display:block;max-width:none;width:155.93%;height:113.36%;left:-27.96%;top:.03%;object-fit:fill;}
.sso-figma .sso-regions-window video {-webkit-mask:url('/images/sso-regions-mask.png') center / 100% 100% no-repeat;mask:url('/images/sso-regions-mask.png') center / 100% 100% no-repeat;}
.sso-figma .sso-footer {margin-top:var(--sso-gap);padding:50px 0;border-top:1px dashed rgba(141,45,251,.4);}
.sso-figma .sso-footer h2 {font-size:24px;line-height:1.5;letter-spacing:-.02em;margin-bottom:30px;}
.sso-figma .sso-footer-row {display:flex;align-items:center;justify-content:space-between;gap:30px;}
.sso-figma .sso-footer nav {display:flex;flex-wrap:wrap;gap:16px 40px;}
.sso-figma .sso-footer :is(a,p) {font-size:12px;line-height:1.25;letter-spacing:-.02em;}
.sso-figma .sso-footer a {text-decoration:none;}
.sso-figma .sso-footer a:hover {text-decoration:underline;}
.sso-figma .sso-contents {position:fixed;z-index:90;left:20px;bottom:20px;color:var(--sso-ink);}
.sso-figma .sso-contents > summary {display:flex;align-items:center;gap:30px;cursor:pointer;list-style:none;padding:12px 18px;border:1px solid var(--sso-rule);background:var(--sso-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:13px;}
.sso-figma .sso-contents > summary::-webkit-details-marker {display:none;}
.sso-figma .sso-contents[open] > summary span {transform:rotate(45deg);}
.sso-figma .sso-contents nav {position:absolute;bottom:calc(100% + 8px);left:0;width:min(330px,calc(100vw - 40px));max-height:65dvh;padding:18px;overflow-y:auto;background:var(--sso-paper);border:1px solid var(--sso-rule);box-shadow:0 8px 24px #0002;overscroll-behavior:contain;}
.sso-figma .sso-contents ol {display:grid;gap:4px;list-style:none;margin:0;padding:0;}
.sso-figma .sso-contents a {display:block;padding:8px 4px;font-size:14px;text-decoration:none;}
.sso-figma .sso-contents a[aria-current="location"] {font-weight:700;color:var(--sso-purple);}
.sso-figma .sso-back-top {position:fixed;right:20px;bottom:20px;z-index:90;width:42px;height:42px;border:0;background:var(--sso-ink);color:var(--sso-paper);font-size:22px;cursor:pointer;}
.sso-figma [hidden] {display:none!important;}
.sso-figma .sso-skip {position:fixed;top:8px;left:16px;z-index:110;transform:translateY(-160%);padding:10px 16px;background:var(--sso-paper);}
.sso-figma .sso-skip:focus {transform:none;}
@media(max-width:1100px) {
 .sso-figma .sso-header a,.sso-figma #ssoThemeToggle {font-size:13px;}
 .sso-figma .sso-header nav {gap:24px;}
 .sso-figma .sso-intro-grid {grid-template-columns:1fr auto;gap:30px;}
 .sso-figma .sso-intro-grid h1 {width:auto;max-width:600px;}
}
@media(max-width:767.98px) {
 body.sso-figma {--sso-gap:110px;--sso-inset:24px;}
 .sso-figma .sso-stack {padding-top:190px;}
 .sso-figma h1,.sso-figma h2 {font-size:19px;}
 .sso-figma .sso-header-inner {gap:20px;}
 .sso-figma .sso-header nav {gap:10px 22px;}
 .sso-figma .sso-header a,.sso-figma #ssoThemeToggle {font-size:11px;line-height:1.5;}
 .sso-figma .sso-header a span {display:block;}
 .sso-figma .sso-copy-row,.sso-figma .sso-summary {grid-template-columns:1fr;gap:28px;}
 .sso-figma .sso-group,.sso-figma .sso-group--60,.sso-figma .sso-group--70 {gap:36px;}
 .sso-figma .sso-questions {width:100%;}
 .sso-figma .sso-phone-stage,.sso-figma .sso-device-stage {padding-top:60px;}
 .sso-figma .sso-phone {width:290px;max-width:90%;height:auto;aspect-ratio:340 / 646.92;border-width:4px;border-bottom:0;border-radius:30px 30px 0 0;}
 .sso-figma .sso-research-pair {grid-template-columns:1fr;gap:30px;}
 .sso-figma .sso-stats,.sso-figma .sso-principles {gap:30px;}
 .sso-figma .sso-wide {height:clamp(400px,78vw,590px);}
 .sso-figma .sso-wide-paper {width:100%;left:0!important;right:0!important;}
 .sso-figma .sso-wide figcaption {left:44px;top:22px;font-size:12px;}
 .sso-figma .sso-wide-crop {top:66px;}
 .sso-figma .sso-wide-crop img {--mobile-scale:clamp(.55px,calc(100vw / 900),.8px);width:calc(var(--image-width) * var(--mobile-scale));left:calc(var(--image-x) * var(--mobile-scale));top:calc(var(--image-y) * var(--mobile-scale));}
 .sso-figma .sso-wide--left .sso-wide-crop img {left:calc(var(--image-x) * var(--mobile-scale) - 150px);}
 .sso-figma .sso-success {align-items:flex-start;padding:25px;}
 .sso-figma .sso-success p {font-size:17px;}
 .sso-figma .sso-footer-row {flex-direction:column;align-items:flex-start;gap:30px;}
}
@media(max-width:575.98px) {
 body.sso-figma {--sso-gap:100px;--sso-inset:16px;font-size:15px;}
 .sso-figma .sso-content {width:calc(100% - 32px);}
 .sso-figma .sso-header {padding-top:22px;}
 .sso-figma .sso-header-inner {flex-wrap:wrap;gap:16px;}
 .sso-figma .sso-header nav {justify-content:space-between;width:100%;}
 .sso-figma #ssoThemeToggle {margin-left:auto;}
 .sso-figma .sso-stack {padding-top:210px;}
 .sso-figma .sso-intro-grid {grid-template-columns:1fr;gap:30px;}
 .sso-figma .sso-intro-grid h1 {max-width:100%;}
 .sso-figma .sso-intro-grid p {max-width:100%;margin-top:16px;}
 .sso-figma .sso-live {justify-self:start;}
 .sso-figma .sso-copy-row h3 {font-size:16px;}
 .sso-figma .sso-phone-stage,.sso-figma .sso-device-stage {padding:42px 12px 0;}
 .sso-figma .sso-stats,.sso-figma .sso-principles {grid-template-columns:1fr;gap:28px;}
 .sso-figma .sso-stat strong {font-size:19px;}
 .sso-figma .sso-success p {font-size:16px;}
 .sso-figma .sso-success {gap:12px;}
 .sso-figma .sso-emphasis {font-size:16px;}
 .sso-figma .sso-wide figcaption {left:36px;max-width:calc(100% - 56px);}
 .sso-figma .sso-footer h2 {font-size:22px;}
 .sso-figma .sso-footer nav {gap:16px 24px;}
 .sso-figma .sso-contents {left:12px;bottom:12px;}
 .sso-figma .sso-back-top {right:12px;bottom:12px;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 .sso-figma *, .sso-figma *::before,.sso-figma *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
.sso-figma video {opacity:0;}
.sso-figma video[data-ready="true"] {opacity:1;}

/* Native sticky stacking. Disable either flag in sso-figma.js to restore normal flow. */
.sso-figma .sso-device-stage.sso-device-stage--referral {padding:0;}
.sso-figma .sso-highlight-stack {display:flex;flex-direction:column;gap:var(--sso-gap);}
.sso-figma.has-highlight-stack .sso-highlight-card {position:sticky;top:var(--stack-top);z-index:calc(1 + var(--stack-index));background:var(--sso-paper);}
.sso-figma.has-question-stack #journey-questions {display:block;position:relative;isolation:isolate;}
.sso-figma.has-question-stack #journey-questions > .sso-copy-row {position:sticky;top:var(--question-context-top);z-index:10;background:var(--sso-paper);padding-bottom:20px;}
.sso-figma.has-question-stack .sso-questions {margin-top:20px;}
.sso-figma.has-question-stack .sso-questions li {position:sticky;top:calc(var(--question-card-top) + var(--stack-index) * 6px);z-index:calc(1 + var(--stack-index));}
@media(prefers-reduced-motion:reduce) {
 .sso-figma.has-highlight-stack .sso-highlight-card,.sso-figma.has-question-stack #journey-questions > .sso-copy-row,.sso-figma.has-question-stack .sso-questions li {position:static;}
}

/* Breathing room as each highlight slides over the preceding media. */
.sso-figma .sso-highlight-card {gap:60px;}
.sso-figma .sso-highlight-card + .sso-highlight-card {padding-top:72px;}
@media(max-width:767.98px) {
 .sso-figma .sso-highlight-card {gap:40px;}
 .sso-figma .sso-highlight-card + .sso-highlight-card {padding-top:48px;}
}

/* Mobile project navigation and clearance above the fixed footer controls. */
@media(max-width:767.98px) {
 .sso-figma .sso-header-inner {display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:16px 20px;}
 .sso-figma .sso-header nav {display:contents;}
 .sso-figma .sso-header nav > a:first-child {grid-column:1;grid-row:1;font-size:14px;line-height:21px;}
 .sso-figma .sso-header nav > a:nth-child(2) {grid-column:1 / -1;grid-row:2;white-space:nowrap;}
 .sso-figma .sso-header a span {display:inline;}
 .sso-figma #ssoThemeToggle {grid-column:2;grid-row:1;justify-self:end;margin:0;line-height:21px;}
 .sso-figma .sso-footer {padding-top:40px;padding-bottom:calc(112px + env(safe-area-inset-bottom,0px));}
}
