@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/inter-v20-latin-600.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url("/fonts/inter-v20-latin-800.woff2") format("woff2")}@font-face{font-family:"Crimson Text";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/crimson-text-v19-latin-700.woff2") format("woff2")}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}:root{--space-xs: 8px;--space-sm: 16px;--space-md: 20px;--space-lg: 28px;--space-xl: 34px}@media(min-width: 768px){:root{--space-md: 24px;--space-lg: 42px;--space-xl: 56px}}html{height:100%}body{margin:0;font-family:"Inter",sans-serif;font-size:1rem;line-height:1.6;color:#1f2933;background-color:#f4f1ec;-webkit-font-smoothing:antialiased;padding:var(--space-lg);min-height:100vh;display:flex;flex-direction:column;box-sizing:border-box}.col-2{display:flex;flex-direction:row}h1,h2,h3{font-family:"Crimson Text",serif}h1{font-size:3rem;line-height:1.15;padding-bottom:var(--space-sm)}h2{font-size:2.5rem;line-height:1.15}h3{font-size:2.25rem}h4{font-size:1.125rem}p{margin-bottom:var(--space-sm)}p.lede{font-family:"Inter",sans-serif;font-weight:800;font-size:1.25rem}p.sub{font-style:italic}a{color:#528cf7;text-decoration:none;transition:color 600ms}a:hover{color:#1f2933}.skip-link{position:absolute;top:0;left:0;transform:translateY(-120%);padding:.5rem 1rem;background:#000;color:#fff;z-index:1000;text-decoration:none}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}header{max-width:1520px;display:flex;justify-content:space-between;margin:0 auto;padding-bottom:var(--space-lg);border-bottom:solid 1px #b7b7b7;width:100%;box-sizing:border-box;flex-direction:column;gap:var(--space-xs)}@media(min-width: 768px){header{flex-direction:row;gap:0}}header .brand-block{color:#1f2933;display:flex;flex-direction:column;width:max-content;text-align:center}header .brand-block .brand-name{font-size:33px;line-height:1;font-family:"Crimson Text",serif;transition:color 600ms}header .brand-block .brand-title{font-size:13px;letter-spacing:.09em;text-transform:uppercase;transition:color 600ms;text-align:left}header .brand-block:hover .brand-name,header .brand-block:hover .brand-title{color:#528cf7}header nav{display:flex;gap:var(--space-lg);align-items:center}#breadcrumb{max-width:1520px;margin:var(--space-md) auto 0 auto;width:100%}#breadcrumb ol{display:flex;flex-direction:row;gap:.5rem}#breadcrumb ol li{list-style:none;font-weight:600;color:#b7b7b7}#breadcrumb ol li:not(:nth-of-type(1))::before{content:"/";color:#b7b7b7;padding-right:.5rem}#breadcrumb ol li svg{width:20px;height:20px;display:block}#content{max-width:1105px;padding:var(--space-lg) 0;margin:0 auto;width:100%;flex:1 0 auto}#content #introduction{padding-bottom:var(--space-lg);margin-bottom:var(--space-lg);border-bottom:solid 1px #b7b7b7}#content #case-study-links{padding-top:var(--space-lg);margin-top:var(--space-lg);border-top:solid 1px #b7b7b7}#content #case-study-links p{font-weight:800}#content #case-study-links ul{padding-left:1.15rem}#content #case-study-links ul li{padding-bottom:.5rem}#content #case-study-links ul li:nth-last-of-type(1){padding-bottom:0}.case-studies .case-study .case-study-link{position:relative;background:#fff;border-radius:6px;padding:var(--space-sm);padding-bottom:50px;margin-top:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm);color:#1f2933;align-items:center;transition:box-shadow 600ms cubic-bezier(0.22, 1, 0.36, 1)}@media(min-width: 768px){.case-studies .case-study .case-study-link{flex-direction:row;padding-right:var(--space-xl);padding-bottom:var(--space-sm);gap:var(--space-lg)}}.case-studies .case-study .case-study-link:hover{box-shadow:0 0 0 2px #528cf7,0 0 16px rgba(82,140,247,.35)}.case-studies .case-study .case-study-link:hover .case-study-screenshot-wrapper{box-shadow:0 0 10px rgba(82,140,247,.35);border-color:#528cf7}.case-studies .case-study .case-study-link:hover .link-out{color:#528cf7;transform:scale(1.2)}.case-studies .case-study .case-study-link:hover .content h3{color:#528cf7}.case-studies .case-study .case-study-link .case-study-screenshot-wrapper{aspect-ratio:4/3;background:#f9f9f9;overflow:hidden;border:solid 1px #b7b7b7;border-radius:6px;transition:border-color 600ms,box-shadow 600ms;width:100%}@media(min-width: 768px){.case-studies .case-study .case-study-link .case-study-screenshot-wrapper{width:420px;max-width:45%}}.case-studies .case-study .case-study-link .case-study-screenshot-wrapper .case-study-screenshot{display:block;width:100%;height:auto;aspect-ratio:420/315}.case-studies .case-study .case-study-link .content{display:flex;flex-direction:column;justify-content:center;width:100%}@media(min-width: 768px){.case-studies .case-study .case-study-link .content{width:500px}}.case-studies .case-study .case-study-link .content h2{font-size:2.25rem;color:#1f2933;transition:color 600ms}.case-studies .case-study .case-study-link .content p{color:#1f2933;margin-bottom:var(--space-md)}.case-studies .case-study .case-study-link .link-out{position:absolute;right:var(--space-sm);bottom:var(--space-sm);width:36px;height:36px;display:block;transition:opacity 140ms ease,transform 140ms ease}.case-study-section.system-model{margin-top:var(--space-lg);border-top:1px solid #b7b7b7;padding-top:var(--space-lg)}.case-study-section.system-model.client-app h2{margin-top:0}.case-study-section.system-model.client-app .system-modal-image-figure{margin:0 auto;width:100%;position:relative;padding-bottom:var(--space-xl)}@media(min-width: 930px){.case-study-section.system-model.client-app{display:flex;gap:var(--space-xl);margin-top:var(--space-lg);align-items:flex-start}.case-study-section.system-model.client-app .system-modal-image-figure{display:flex;position:sticky;top:0;flex-direction:column;width:295px;flex:0 0 295px;margin:0;padding-top:var(--space-lg)}}.case-study-section.system-model .system-modal-image-figure{margin:0}.case-study-section.system-model .system-modal-image-figure figcaption{font-weight:800;margin-bottom:var(--space-lg)}.case-study-section.system-model .scroll-viewport{position:relative;width:100%}.case-study-section.system-model .scroll-viewport::after{content:none}@media(max-width: 1188px){.case-study-section.system-model .scroll-viewport::after{content:"";position:absolute;top:0;right:0;bottom:0;width:60px;background:linear-gradient(to right, transparent, #f4f1ec);pointer-events:none;z-index:2}}.case-study-section.system-model .scroll-viewport .system-diagram{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;padding-bottom:var(--space-sm)}.case-study-section.system-model .scroll-viewport .system-diagram .system-model-image{min-width:1105px;display:block;height:auto}.case-study-section.interfaces{display:flex;flex-direction:column}.case-study-section.interfaces .interface{display:flex;gap:var(--space-lg);flex-direction:column;align-items:center}@media(min-width: 768px){.case-study-section.interfaces .interface{flex-direction:row}}.case-study-section.interfaces .interface:not(:last-child){margin-bottom:var(--space-xl)}.case-study-section.interfaces .interface .case-study-screenshot-wrapper{aspect-ratio:4/3;background:#f9f9f9;overflow:hidden;border:solid 1px #b7b7b7;border-radius:6px;transition:border-color 600ms,box-shadow 600ms;width:100%}@media(min-width: 768px){.case-study-section.interfaces .interface .case-study-screenshot-wrapper{width:420px;max-width:45%}}.case-study-section.interfaces .interface .case-study-screenshot-wrapper .case-study-screenshot{display:block;width:100%;height:auto;aspect-ratio:420/315}.case-study-section.interfaces .interface .content{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%}.case-study-section.interfaces .interface .content h3{font-size:1rem}.case-study-section.interfaces .interface .content p{margin:var(--space-xs) 0 var(--space-sm) 0;font-size:.875rem}.case-study-section.interfaces .interface .content ul{padding-bottom:0}.case-study-section.interfaces .interface .content ul li{font-size:.875rem}.case-study-section h2{margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.case-study-section h3{font-family:"Inter",sans-serif}.case-study-section ul{list-style:disc outside;margin:0;padding:0 0 var(--space-sm) 1.25rem}.case-study-section ul li{margin-bottom:.5rem}.case-study-section p.result{font-weight:800;font-size:1.125rem}.sitemap p{font-weight:800}.sitemap ol{list-style:disc;padding-left:1.25rem}.sitemap ol li{margin-bottom:.5rem}.sitemap ol li:nth-last-of-type(1){padding-bottom:0}footer{max-width:1520px;display:flex;justify-content:flex-end;padding:var(--space-md) 0 0 0;border-top:solid 1px #b7b7b7;width:100%;margin-top:var(--space-lg)}