:root{--navy:#082946;--blue:#0075bd;--ice:#dceefa;--paper:#f8f9f7;--muted:#526370;--line:#dce3e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--navy);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #168dcb;outline-offset:5px}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(48px,5.1vw,76px);font-weight:600}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}h2{font-size:clamp(34px,3.4vw,49px);font-weight:500}h3{font-size:26px;font-weight:500;letter-spacing:-.025em}.wrap{max-width:1240px;margin:auto;padding-left:36px;padding-right:36px}.header{max-width:1440px;margin:auto;height:100px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand img{width:190px;display:block}.header nav{display:flex;gap:34px;align-items:center;font-size:14px}.header nav a:hover,.text-link:hover{color:var(--blue)}.nav-contact{border:1px solid #bccbd3;border-radius:5px;padding:10px 18px}.nav-contact span{margin-left:20px}.menu{display:none}.hero{padding-top:78px;padding-bottom:76px;display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}.lead{font-size:18px;line-height:1.7;max-width:530px;color:var(--muted);margin-top:28px}.actions{display:flex;gap:25px;align-items:center;margin-top:32px}.button{border:0;border-radius:4px;padding:15px 21px;font-size:14px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;line-height:1.5}.primary{background:var(--blue);color:white}.primary:hover{background:#005f9b}.text-link{font-size:14px;font-weight:600}.text-link span{margin-left:8px}.hero-proof{display:flex;align-items:center;gap:24px;margin-top:38px;padding-top:24px;border-top:1px solid var(--line);max-width:470px}.hero-proof strong{font-size:34px;font-weight:500;letter-spacing:-.05em}.hero-proof strong span{font-size:15px;letter-spacing:0}.hero-proof p{font-size:12px;color:var(--muted);line-height:1.7}.hero-art{position:relative;border:1px solid #c9dfed;min-height:450px;border-radius:9px;background:linear-gradient(140deg,#ebf5fb,#d8eaf6);overflow:hidden}.art-top,.art-foot{position:absolute;left:25px;right:25px;display:flex;justify-content:space-between;z-index:2;font-size:9px;letter-spacing:.07em}.art-top{top:22px}.art-foot{bottom:23px;border-top:1px solid #bed4e3;padding-top:15px}.live{color:#47748e}.orb{position:absolute;border:1px solid #bad5e6;border-radius:50%;height:350px;width:350px;left:50%;top:50%;transform:translate(-50%,-50%)}.orb-two{height:250px;width:250px}.system{display:flex;gap:13px;align-items:center;position:absolute;z-index:2;background:#f5fbff;border:1px solid #bfd7e7;box-shadow:0 12px 30px #216a9620;padding:14px 19px;border-radius:6px;font-size:13px}.system small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.system-icon{font-size:25px;color:var(--blue)}.system-old{top:78px;left:25px}.system-new{bottom:79px;right:25px}.core{position:absolute;top:44%;left:50%;transform:translate(-50%,-25%);background:var(--navy);color:white;padding:23px 28px;width:245px;border-radius:8px;box-shadow:0 15px 40px #08294622;text-align:center;z-index:2}.core img{width:43px;height:45px;object-fit:contain;display:block;margin:0 auto 8px}.core>span{font-size:24px;letter-spacing:-.03em}.core small{font-size:9px;display:block;color:#b3d6ec;margin-top:10px}.connector{position:absolute;border-left:1px dashed #549cc5;height:70px;left:50%}.c1{top:132px}.c2{bottom:118px}.expertise-strip{background:var(--navy);color:#d6e6ef}.expertise-strip .wrap{display:flex;justify-content:space-between;padding-top:21px;padding-bottom:21px;font-size:12px}.expertise-strip .wrap>span:first-child{color:#91b4ca;font-size:10px;letter-spacing:.06em}.section{padding-top:100px;padding-bottom:100px}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.section-head>p{max-width:340px;color:var(--muted);font-size:15px}.services article{display:grid;grid-template-columns:60px 1fr 80px;gap:24px;padding:31px 0;border-top:1px solid var(--line)}.services article:last-child{border-bottom:1px solid var(--line)}.service-num{font-family:monospace;font-size:12px;color:#64869c;padding-top:7px}.services article p{max-width:690px;color:var(--muted);font-size:15px;margin-top:13px}.tags{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}.tags span{font-size:10px;border:1px solid var(--line);padding:3px 9px;border-radius:3px;color:#536b7b}.service-glyph{font-family:monospace;font-size:30px;color:var(--blue);text-align:right}.about{background:#e9f0f3;padding:90px 0}.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:100px}.about p{font-size:15px;color:var(--muted);margin-top:22px}.about .about-lead{font-size:19px;line-height:1.7;color:var(--navy)}.about .text-link{display:inline-block;margin-top:28px}.experience{border-left:1px solid #c7d7e1;padding-left:45px}.big-number{font-size:100px;line-height:1;font-weight:400;letter-spacing:-.08em;color:var(--blue)}.big-number>span{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;margin:15px 0 28px}.experience-line{border-top:1px solid #c7d7e1;padding:17px 0}.experience-line>span{font-size:14px;font-weight:600}.experience-line p{font-size:12px;margin-top:4px}.sample-note{display:flex;gap:15px;font-size:12px;color:var(--muted);margin-bottom:23px}.sample-note>span{font-size:9px;letter-spacing:.08em;background:#e6edf0;padding:3px 8px;flex-shrink:0;align-self:start}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project{border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden}.project-image{height:270px;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.pi-one{background:#dcebf2}.pi-two{background:#122f48}.project-image-label{position:absolute;left:24px;bottom:17px;font-size:9px;letter-spacing:.1em;color:#57758a}.pi-two .project-image-label{color:#a7c8dd}.mini-window{width:310px;height:180px;background:#f9fcff;border:1px solid #b7ccda;border-radius:6px;box-shadow:10px 15px 0 #9bbacc40;transform:rotate(-5deg)}.mini-bar{height:22px;border-bottom:1px solid #d4e1e8;padding:7px;display:flex;gap:4px}.mini-bar i{height:5px;width:5px;background:#bbced9;border-radius:50%}.mini-dashboard{display:flex;height:155px}.mini-side{width:45px;background:#153d58}.mini-main{padding:15px;width:260px}.mini-main>b{display:block;background:#c4d9e5;height:6px;width:75px;margin-bottom:13px}.mini-boxes{display:flex;gap:8px}.mini-boxes i{height:28px;background:#e0edf5;flex:1;border-radius:2px}.mini-chart{display:flex;gap:12px;align-items:end;height:65px;border-bottom:1px solid #cbdfe9;padding:0 7px}.mini-chart i{width:22px;background:#409ccc;height:35%}.mini-chart i:nth-child(2){height:50%}.mini-chart i:nth-child(3){height:43%}.mini-chart i:nth-child(4){height:65%}.mini-chart i:nth-child(5){height:70%}.mini-chart i:nth-child(6){height:90%}.api-diagram{text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1.3;color:#b7d9ed}.api-diagram>span{font-size:9px;letter-spacing:.12em;border:1px solid #48718d;padding:10px 24px;border-radius:4px}.api-diagram b{font-size:24px;font-weight:400;color:#61afdc;margin:4px}.api-diagram strong{font-family:monospace;font-size:26px;color:#fff}.project-body{padding:28px}.project-category{font-size:10px;color:#638198;letter-spacing:.04em}.project h3{margin-top:13px}.project p{font-size:14px;color:var(--muted);margin-top:15px}.project-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;background:none;border:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:24px;color:var(--navy);font-size:12px;text-align:left}.project-toggle span{font-size:23px;color:var(--blue)}.project-detail{padding-top:24px}.project-detail h4{margin-top:16px;font-size:13px}.project-detail p{font-size:12px;margin-top:5px}.process{padding-top:0;padding-bottom:100px}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.process h2{font-size:36px}.process ol{list-style:none;margin:0;padding:0}.process li{display:flex;gap:23px;padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.process li>span{font-size:11px;font-family:monospace;color:var(--blue)}.process h3{font-size:19px;letter-spacing:-.02em}.process p{font-size:13px;color:var(--muted);margin-top:8px}.contact{background:var(--navy);color:#fff;padding:85px 0}.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:95px}.contact h2{font-size:56px}.contact-grid>div>p{color:#b9ccda;max-width:330px;font-size:15px;margin-top:25px}.contact .eyebrow{color:#93c5e4}.contact-signoff{color:#91adbf;margin-top:50px;font-size:13px}.contact-signoff strong{color:#e2eff7;font-weight:400}.contact form label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin-bottom:18px;color:#d9e7ef}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{width:100%;background:#153850;border:1px solid #456175;color:#fff;border-radius:3px;padding:12px;font-size:14px;outline:none}input:focus,select:focus,textarea:focus{border-color:#72bfeb;box-shadow:0 0 0 2px #72bfeb33}input::placeholder,textarea::placeholder{color:#93adbf}textarea{resize:vertical}.form-note{font-size:11px;color:#a6bfce;margin-top:13px}#form-result{margin-top:22px;padding:20px;background:#153850;border:1px solid #456175;border-radius:4px;font-size:13px}#form-result p{white-space:pre-wrap;margin:12px 0;color:#d2e5f2;overflow-wrap:anywhere}#form-result span{font-size:11px;color:#a7c8dc}#copy-enquiry{display:block;margin-top:13px;border:1px solid #628aa4;background:transparent;color:white;padding:7px 12px;border-radius:3px;font-size:12px}.footer{display:flex;align-items:center;gap:30px;padding-top:36px;padding-bottom:36px;font-size:11px;color:var(--muted)}.footer .brand img{width:140px}.footer>span{margin-left:auto}.footer>a:last-child{white-space:nowrap}[hidden]{display:none!important}
@media(min-width:1500px){.header{padding:0 100px}}@media(max-width:1000px){.hero{gap:30px}.hero-art{min-height:425px}.actions{flex-wrap:wrap;gap:18px}.about-grid,.contact-grid{gap:50px}.core{width:210px}.system{padding:12px;max-width:240px}.footer{gap:20px}}@media(max-width:760px){.wrap{padding-left:24px;padding-right:24px}.header{height:80px;padding:0 24px;position:relative}.brand img{width:165px}.menu{display:flex;align-items:center;gap:12px;background:transparent;border:0;color:var(--navy);font-size:13px}.header nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--paper);padding:24px;z-index:10;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:20px}.header nav.open{display:flex}.hero{padding-top:45px;padding-bottom:45px;grid-template-columns:1fr;gap:36px}h1{font-size:49px}.hero .eyebrow{font-size:9px;letter-spacing:.07em}.lead{font-size:16px}.hero-proof{margin-top:28px}.hero-art{min-height:390px}.system-old{top:63px}.system-new{bottom:68px}.core{top:42%;width:220px}.expertise-strip .wrap{flex-wrap:wrap;gap:12px 24px;font-size:11px}.expertise-strip .wrap>span:first-child{width:100%}.section{padding-top:65px;padding-bottom:65px}.section-head{flex-direction:column;align-items:start;gap:22px;margin-bottom:30px}.section-head>p{max-width:100%;font-size:14px}.services article{grid-template-columns:25px 1fr;gap:14px}.service-glyph{display:none}.services h3{font-size:24px}.services article p{font-size:14px}.about{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:35px}.experience{border-left:0;border-top:1px solid #c7d7e1;padding:30px 0 0}.big-number{font-size:80px}.sample-note{display:block;font-size:11px}.sample-note>span{display:inline-block;margin-bottom:8px}.project-grid{grid-template-columns:1fr;gap:24px}.project-image{height:240px}.process{padding-bottom:65px}.process-grid{grid-template-columns:1fr;gap:30px}.process h2{font-size:32px}.contact{padding:60px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:45px}.contact-signoff{display:none}.form-row{grid-template-columns:1fr;gap:0}.footer{flex-wrap:wrap;gap:16px}.footer>p{width:100%;order:2}.footer>span{margin-left:auto}.footer>a:last-child{order:3}.button{font-size:13px}.hero-art .art-top{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form-status{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:12px 15px;border:1px solid #628aa4;border-radius:4px;background:#153850;font-size:13px}.contact-status-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--status-icon-bg);color:var(--status-icon-fg)}.contact-status-icon:before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:var(--status-icon) center/contain no-repeat;mask:var(--status-icon) center/contain no-repeat}.contact-form-status.status-sending{--status-icon:url("assets/contact-sending.svg");--status-icon-bg:transparent;--status-icon-fg:#fff}.contact-form-status.status-sending .contact-status-icon:before{width:30px;height:30px;animation:contact-status-spin 1.6s linear infinite}.contact-form-status.status-sent{--status-icon:url("assets/contact-sent.svg");--status-icon-bg:#fff;--status-icon-fg:#0075bd;border-color:#168dcb;background:#075f91}.contact-form-status.status-invalid{--status-icon:url("assets/contact-invalid.svg");--status-icon-bg:#fff3c4;--status-icon-fg:#72520c;border-color:#d8a51a;background:#8a6410}.contact-form-status.status-error{--status-icon:url("assets/contact-error.svg");--status-icon-bg:#fff;--status-icon-fg:#b92d2d;border-color:#d95858;background:#8f2929}.contact-form[aria-busy="true"] button[type="submit"]{cursor:wait;opacity:.75}@keyframes contact-status-spin{from{transform:rotate(0) scaleX(-1)}to{transform:rotate(1turn) scaleX(-1)}}@media(prefers-reduced-motion:reduce){.contact-form-status.status-sending .contact-status-icon:before{animation:none}}
