.appBar_host__52el5 h6,.appBar_host__52el5 span,.appBar_host__52el5 svg{filter:drop-shadow(0 0 2px rgba(255,255,255,.7))}.footer_footer__BXnSp{margin-top:calc(var(--space-6) + var(--space-4));background:var(--site-ink);color:var(--site-surface)}.footer_footer__BXnSp a{color:var(--site-surface);text-decoration:underline}.footer_footer__BXnSp a:focus-visible,.footer_footer__BXnSp a:hover{color:var(--site-surface);text-decoration-thickness:2px}.footer_footer__BXnSp a:focus-visible{outline:2px solid var(--site-surface);outline-offset:2px}.footer_container__OznBm{max-width:1536px;margin:0 auto;padding:var(--space-5) var(--space-3) var(--space-2)}.footer_brand__9hJlJ{max-width:680px;margin-bottom:var(--space-5)}.footer_brand__9hJlJ p{margin:var(--space-1) 0}.footer_brand__9hJlJ>a{display:inline-flex;align-items:center;min-height:44px}.footer_company__t17wX{font-size:1.25rem}.footer_company__t17wX a{display:inline-flex;align-items:center;min-height:44px}.footer_groups___f1sG{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.footer_groups___f1sG h2{color:var(--site-surface);font-size:1rem;margin:0 0 var(--space-1)}.footer_groups___f1sG ul{list-style:none;margin:0;padding:0}.footer_bottom__BsOsp a,.footer_groups___f1sG a{display:inline-flex;align-items:center;min-height:44px}.footer_bottom__BsOsp{border-top:1px solid rgba(255,255,255,.45);margin-top:var(--space-4);padding-top:var(--space-2)}.footer_bottom__BsOsp nav{display:flex;flex-wrap:wrap;gap:0 var(--space-3)}.footer_bottom__BsOsp p{color:var(--site-surface);font-family:Verdana,sans-serif;font-size:.7rem;margin:var(--space-2) 0 0}@media(max-width:899px){.footer_footer__BXnSp{margin-top:var(--space-6)}.footer_groups___f1sG{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:599px){.footer_container__OznBm{padding:var(--space-5) var(--space-2) var(--space-2)}.footer_groups___f1sG{grid-template-columns:1fr}}:root{--site-ink:#1a237e;--site-text:#3e2723;--site-surface:#fff;--site-tint:#f5f6fb;--site-border:#d7ddea;--site-muted:#5e6273;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px}*{box-sizing:border-box;padding:0;margin:0;border-radius:0!important}#__next,body,html,main{max-width:100vw}html{scroll-behavior:smooth;scroll-padding-top:104px}.site-main{margin-top:104px}body{overflow-x:clip}#main-app-content-box{transition:opacity .2s cubic-bezier(.17,1.2,.79,.96);opacity:1;min-height:100vh}a{color:hsl(218,89%,51%);text-decoration:underline}p{margin-bottom:1rem}strong{font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}a:focus-visible,button:focus-visible{outline:3px solid #175bba;outline-offset:4px}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1500;padding:.75rem;background:#fff}.skip-link:focus{top:1rem}.home-intro{max-width:1200px;width:100%;padding:0 24px;margin:32px auto 64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;align-items:start}.home-intro-copy{display:grid;gap:20px}.home-intro-copy p{margin-bottom:0}.action-link{display:inline-flex;align-items:flex-start;justify-content:space-between;gap:var(--space-1);width:fit-content;max-width:100%;min-height:44px;padding:var(--space-1) var(--space-2);border:1px solid var(--site-ink);color:var(--site-ink);background:var(--site-surface);font-size:.875rem;font-weight:500;line-height:1.5;text-decoration:none;transition:color .15s ease,background-color .15s ease}.action-link:hover{color:var(--site-surface);background:var(--site-ink)}.action-link [data-link-arrow]{flex:none;display:flex;align-items:center;height:1.5em;font-size:inherit;line-height:1}@media(max-width:899px){.home-intro{grid-template-columns:1fr;gap:24px}}@media(max-width:599px){.home-intro{padding:0 16px;margin-top:16px}}.service-cards{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:16px 32px;margin-bottom:16px;width:100%;max-width:1200px}.software-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(0,min(375px,100%)))}.service-cards:last-child{margin-bottom:40px}.technical-copy{max-width:960px}.article-copy{text-indent:0;display:flow-root}.article-body>p:first-of-type,.article-copy>p:first-of-type{text-indent:2rem}.article-body{font-size:inherit}.service-artwork{position:relative;text-indent:0;background:#fff}.service-artwork img,.service-artwork picture{display:block;width:100%}.service-artwork img{height:auto}.service-artwork-card{width:100%;height:250px;margin:0;overflow:hidden}.service-artwork-card img{height:250px;object-fit:cover}.service-artwork-card.service-artwork-illustration img{object-fit:contain}.service-intro{max-width:960px}.service-artwork-hero{width:100%;max-width:960px;height:clamp(220px,42vw,540px);margin:32px auto 48px}.service-artwork-hero img,.service-artwork-hero picture{height:100%}.service-artwork-hero img{object-fit:contain}.enquiry-answers{margin-top:24px}.enquiry-answers>div{margin-bottom:24px}.enquiry-answers dt{font-weight:600;margin-bottom:8px}.enquiry-answers dd{margin:0}.service-artwork-wide{width:100%;max-width:640px;margin:32px auto}.service-artwork-wide.service-artwork-photo{max-width:840px}.service-artwork-inline{float:right;width:220px;max-width:35%;margin:4px 0 20px 32px}@media(max-width:599px){.service-artwork-inline{float:none;width:220px;max-width:100%;margin:20px auto}}.technical-copy p{margin-bottom:1.25rem}.technical-stack{width:100%;border-collapse:collapse;table-layout:fixed;margin:24px 0 32px;font-size:1rem;line-height:1.65}.technical-stack td,.technical-stack th{border:1px solid #d7ddea;padding:12px 16px;text-align:left;vertical-align:top;overflow-wrap:break-word}.technical-stack th{font-weight:600}.technical-stack thead{background:#f6f7f8}.technical-stack th:first-child{width:28%}@media(max-width:599px){.technical-stack,.technical-stack tbody,.technical-stack td,.technical-stack th,.technical-stack tr{display:block}.technical-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.technical-stack tbody tr{border:1px solid #d7ddea;margin-bottom:12px}.technical-stack td,.technical-stack th{border:0;padding:10px 12px}.technical-stack th:first-child{width:100%}.technical-stack td{padding-top:0}}.service-card{color:#fff}.service-card p{color:inherit}.read-more-wrap{display:flex;justify-content:flex-end;align-items:flex-end;flex:1 1;width:100%}.read-more{text-decoration:none}.service-image{position:relative;width:100%;margin:0;overflow:hidden}.service-image img{display:block}.service-artwork figcaption,.service-image figcaption{position:absolute;top:5px;right:5px;opacity:.8;font-size:6px;color:#e8eaf6;filter:drop-shadow(0 0 .5px #1a237e)}.link-button{display:inline-block;width:100%;padding:6px 16px;border:1px solid rgba(0,0,0,0);text-align:center;text-decoration:none;color:#3e2723;background:#fff;font-size:.75rem;font-weight:500;line-height:1.75;text-transform:uppercase;transition:background-color .15s ease,color .15s ease}.link-button:hover{color:#fff;background:#151c65;border-color:#fff}.brand-link,.contact-link,.language-link,.portfolio-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:#1a237e;text-decoration:none;text-transform:uppercase;font-weight:500}.portfolio-link{padding:12px 8px;font-size:.75rem;transition:background-color .15s ease}.portfolio-link[aria-current=true]{text-decoration:underline;text-underline-offset:4px}.brand-link{padding:24px 16px;font-size:.8125rem}.language-link{gap:5px;padding:12px 8px;font-size:.75rem}.contact-link{gap:8px;padding:16px;font-size:.75rem}.contact-link span{border:1px solid;padding:.5rem 1rem}.brand-link:hover,.contact-link:hover,.language-link:hover,.portfolio-link:hover{background:rgba(26,35,126,.04)}.breadcrumbs{min-height:40px;color:rgba(0,0,0,.87);font-family:Roboto,Helvetica,Arial,sans-serif;font-size:.8rem;line-height:1.5;text-transform:uppercase}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;padding:0;margin:0}.breadcrumbs li{display:inline-flex;align-items:baseline}.breadcrumbs [aria-current=page],.breadcrumbs a{display:inline-flex;align-items:center;min-height:24px}.breadcrumbs li+li:before{content:"/";display:inline-block;margin:0 .5rem}.breadcrumbs [aria-current=page]{color:inherit;font-weight:700;text-decoration:none}.sitemap-list{padding-left:1.5rem;line-height:2.5}.sitemap-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin:var(--space-4) 0 var(--space-6)}.sitemap-groups section{min-width:0}.sitemap-groups h2{margin:0 0 var(--space-2);font-size:1.5rem}@media(max-width:899px){.sitemap-groups{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}.contact-form{width:100%}.contact-section{margin-top:calc(var(--space-6) + var(--space-5))}.contact-invitation h1,.contact-invitation h2,.contact-section-full{margin-top:0}.contact-invitation p{margin-top:0;line-height:1.7}.contact-invitation a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}#project-contact{scroll-margin-top:120px;outline:none}.contact-section-compact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--space-5);align-items:start}.contact-form-compact{max-width:680px;justify-self:end}.contact-form-compact .contact-fields{display:block}.contact-form-compact .contact-email{margin-bottom:var(--space-3)}.contact-form-compact .contact-message{gap:var(--space-3)}.contact-form-compact .MuiInputBase-root,.contact-form-compact .MuiInputLabel-root{margin-top:0}.contact-form-compact button[type=submit]{margin:0}.contact-form-compact .contact-feedback{position:static;width:100%;margin-top:var(--space-2);padding:var(--space-2);font-size:1rem}@media(max-width:899px){.contact-section-compact{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.contact-form-compact{justify-self:start}}.contact-fields{max-width:1000px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:0 32px}.contact-email{flex:1 1;min-width:min(320px,100%)}.contact-message{display:flex;flex:2 1;flex-direction:column;min-width:min(320px,100%)}.contact-message-body{position:relative}.contact-feedback{position:absolute;top:15%;left:5%;width:90%;padding:40px;color:var(--site-surface);font-size:4.2vw;line-height:1.5}@media(min-width:600px){.contact-feedback{font-size:2.2vw}}@media(min-width:900px){.contact-feedback{font-size:1.8vw}}@media(min-width:1200px){.contact-feedback{font-size:1.1rem}}.contact-feedback.sent{background:#1b5e20}.contact-feedback.failed{background:#b71c1c}.subject-attention[data-attention] .MuiInputLabel-shrink{background-color:#fff}.subject-attention[data-attention=pulse] .MuiOutlinedInput-root{animation:subject-attention .4s linear 3}.subject-attention[data-attention=static] .MuiOutlinedInput-root{background-color:#e8eaf6;box-shadow:0 0 0 3px rgba(26,35,126,.25)}@keyframes subject-attention{0%,49.99%{background-color:#e8eaf6;box-shadow:0 0 0 3px rgba(26,35,126,.25)}50%,to{background-color:#fff;box-shadow:0 0 0 0 rgba(0,0,0,0)}}#main-app-content-box.app-routing-transition{opacity:0;filter:blur(10px)}.not-found{padding:3rem 0}.recovery-links{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media(max-width:380px){.brand-link{padding:24px 8px;font-size:.72rem}.contact-link{padding:12px 8px}.contact-link span{padding:.5rem}}@media(prefers-reduced-motion:reduce){*,:after,:before{transition-duration:0s!important;animation-duration:0s!important}}@media(max-width:599px){.contact-link{min-width:44px;padding:8px}.contact-link span{display:none}.language-link{min-width:44px;padding:8px 4px}.brand-link{padding:16px 8px;font-size:.72rem}.portfolio-link{padding:12px 6px}}