@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#db171c;--ink:#202221;--muted:#6a6c68;--paper:#faf9f6;--line:#deded7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center}.brand span{font-family:Manrope,Arial,sans-serif;font-size:25px;font-weight:800;letter-spacing:-1px}.brand small{display:block;font-size:9px;letter-spacing:3.8px;font-weight:600;margin-top:1px}nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:600}nav a:hover,.text-link:hover,.underlined:hover{color:var(--red)}.nav-cta{border:1px solid var(--ink);padding:13px 20px}.nav-cta span{margin-left:22px}.menu{display:none}.hero{padding:30px 5% 0;position:relative}.hero-content{width:55%;padding:58px 25px 70px 0;min-height:600px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 30px;line-height:1.7}.eyebrow>span{display:inline-block;width:6px;height:6px;background:var(--red);border-radius:50%;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(42px,4.8vw,75px);font-weight:500;letter-spacing:-3px;line-height:1.12;margin-bottom:26px}em{font-style:normal;color:var(--red)}h1 em{font-size:.86em}p{line-height:1.75;color:var(--muted);font-size:14px}.intro{max-width:430px;font-size:15px;margin-bottom:30px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;background:var(--red);color:#fff;border:0;padding:18px 23px;font-size:12px;font-weight:600}.button:hover{background:#b31117}.text-link{display:inline-flex;gap:12px;margin-left:24px;font-size:12px}.hero-photo{position:absolute;right:5%;top:30px;width:40%;height:570px;background:#d9e2dc;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:60% center}.hero-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009)}.photo-label{position:absolute;bottom:33px;left:28px;right:20px;color:white;z-index:2}.photo-label span{font-size:8px;letter-spacing:2px}.photo-label b{display:block;font-size:19px;font-weight:500;margin:9px 0}.photo-label small{font-size:10px;color:#eee}.photo-number{position:absolute;top:21px;left:22px;font-size:9px;letter-spacing:1.5px;background:var(--paper);padding:10px}.hero-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;padding:23px 0}.hero-bottom i{color:var(--red);font-style:normal;margin-left:10px}.section{padding:100px 7%;scroll-margin-top:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-size:clamp(30px,3.1vw,48px);font-weight:500;line-height:1.2;letter-spacing:-1.8px;margin-bottom:25px}h2 span{color:#8b8c86}.lead{font-size:19px;color:var(--ink);line-height:1.6}.underlined{display:inline-block;font-size:12px;padding-bottom:9px;border-bottom:1px solid var(--ink);margin-top:12px}.principles{border-top:1px solid var(--line);margin-top:55px;padding-top:25px;display:flex;justify-content:space-between;font-size:12px}.principles span:before{content:'+';color:var(--red);margin-right:12px}.services{background:#eeeee8}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading p:last-child{max-width:320px;font-size:13px}.service-layout{display:grid;grid-template-columns:1fr 1.2fr;border-top:1px solid #c8c9c1}.service-tabs{padding-right:55px}.service-tabs button{display:flex;gap:24px;align-items:center;text-align:left;width:100%;background:none;border:0;border-bottom:1px solid #d1d2c9;padding:25px 0;color:#73766e;font-size:16px}.service-tabs button span{font-size:10px}.service-tabs button i{margin-left:auto;font-style:normal}.service-tabs button[aria-selected=true]{color:var(--red)}.service-detail{padding:34px 0 15px 45px;border-left:1px solid #c8c9c1;min-height:370px}.service-detail h3{font-size:28px;letter-spacing:-1px;font-weight:500}.service-detail ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;margin:25px 0 30px}.service-detail li{font-size:12px;line-height:1.6;padding-left:14px;position:relative}.service-detail li:before{content:'↗';color:var(--red);position:absolute;left:0}.integration{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#202521;color:white}.integration p{color:#c1c5bd;max-width:410px}.integration .eyebrow{color:#c1c5bd}.integration h2{font-size:46px}.integration em{color:#f36d6d}.light{background:#faf9f6;color:var(--ink);margin-top:10px}.light:hover{background:#e5e5dc}.system-map{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.system-core{grid-column:span 2;padding:25px;border:1px solid #61685f;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.system-core strong{font-size:22px;font-weight:500}.system-core small{color:#b0b7ac}.system-item{padding:22px;border:1px solid #465044;background:#293029}.system-item span{display:block;color:#ec6a6c;font-size:10px;margin-bottom:22px}.system-item b{display:block;font-size:20px;font-weight:500}.system-item small{display:block;color:#b0b7ac;font-size:10px;margin-top:10px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 32px}.filters button{background:none;border:1px solid var(--line);border-radius:30px;padding:10px 18px;font-size:11px}.filters .active{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 25px}.project-card{border:0;padding:0;background:none;text-align:left;color:inherit}.project-image{height:310px;overflow:hidden;background:#e2e4db;position:relative}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.04)}.project-image span{position:absolute;left:16px;top:16px;background:var(--paper);padding:8px 10px;font-size:8px;letter-spacing:1px}.project-card h3{font-size:19px;font-weight:500;margin:17px 0 5px}.project-card h3 span{float:right}.project-card p{font-size:11px;margin:0}.portfolio-note{font-size:10px;margin-top:30px}.process{background:#eeeee8}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px}.steps article{border-top:1px solid #bfc3b9;padding-top:20px}.steps span{font-size:12px;color:var(--red)}.steps h3{font-size:21px;font-weight:500;margin:35px 0 14px}.steps p{font-size:12px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.initials{background:#eaeae4;color:#8c9085;font-size:53px;font-family:Manrope,sans-serif;padding:25px 25px;position:relative;height:140px;display:flex;align-items:center;letter-spacing:-4px}.initials span{position:absolute;right:18px;top:18px;font-size:10px;letter-spacing:0}.team h3{font-size:19px;margin:22px 0 8px;font-weight:500}.team .role{font-size:10px;color:var(--red)}.team-grid article>p:last-child{font-size:12px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#e7e8df}.contact>div>p{max-width:410px}.contact-email{display:block;font-size:clamp(13px,1.5vw,21px);margin:28px 0 35px;text-decoration:underline;text-underline-offset:8px}.contact-info{display:flex;gap:40px}.contact-info small{display:block;font-size:9px;letter-spacing:1.5px;margin-bottom:13px}.contact-info a{display:block;font-size:12px;margin:7px 0}.contact-info p{font-size:12px}.contact form{padding:32px;background:var(--paper)}form h3{font-size:23px;font-weight:500;margin-bottom:25px}label{display:block;font-size:10px;margin-bottom:18px}input,select,textarea{width:100%;display:block;border:0;border-bottom:1px solid #c7c9bd;background:transparent;border-radius:0;padding:11px 0;color:var(--ink);font-size:12px;resize:vertical}form .button{width:100%}.form-note{display:block;font-size:9px;color:var(--muted);line-height:1.6;margin-top:14px}#form-status{font-size:11px;margin:10px 0 0}footer{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:40px 5%;font-size:10px}footer>p{font-size:11px;margin:0}footer>div small{display:block;color:var(--muted);margin-top:7px}dialog{border:0;padding:0;max-width:900px;width:90%;max-height:90vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#000b}dialog>img{width:100%;max-height:52vh;object-fit:contain;background:#ddd}dialog>div{padding:30px}dialog h2{font-size:28px}.close{position:absolute;top:12px;right:12px;width:38px;height:38px;background:white;border:0;border-radius:50%;font-size:25px}.skip{position:fixed;top:-60px;z-index:100;background:white;padding:15px}.skip:focus{top:0}:focus-visible{outline:2px solid var(--red);outline-offset:5px}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1700px;margin:auto}.hero-content{min-height:650px}.hero-photo{height:620px}}@media(max-width:900px){header{height:82px}.brand span{font-size:21px}nav{gap:18px}.hero-content{width:55%;min-height:530px;padding-top:40px}h1{letter-spacing:-2px;font-size:45px}.hero-photo{height:500px}.text-link{display:block;margin:20px 0 0}.section{padding:75px 6%}.service-tabs{padding-right:25px}.service-detail{padding-left:25px}.service-detail ul{grid-template-columns:1fr}.integration{gap:6%}.integration h2{font-size:35px}.project-image{height:250px}.contact{gap:5%}.contact-info{gap:20px}.contact form{padding:24px}footer{flex-wrap:wrap}.steps{gap:20px}}@media(max-width:650px){header{padding:0 6%}.menu{display:block;background:none;border:0;font-size:24px}nav{display:none;position:absolute;top:81px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line)}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:22px}.hero{padding:18px 6% 0}.hero-content{width:100%;padding:35px 0 32px;min-height:0}.hero h1{font-size:47px;letter-spacing:-2.6px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.intro{font-size:14px}.text-link{display:inline-flex;margin:0 0 0 15px}.hero-photo{position:relative;inset:auto;width:100%;height:390px}.photo-label{left:20px}.hero-bottom{margin-top:22px;font-size:7px;letter-spacing:.7px}.section{padding:65px 6%}h2{font-size:34px}.split{grid-template-columns:1fr;gap:15px}.lead{font-size:17px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:10px;margin-top:30px}.section-heading{display:block;margin-bottom:28px}.section-heading p:last-child{margin-top:20px}.service-layout{grid-template-columns:1fr}.service-tabs{padding:0;display:flex;overflow:auto;gap:18px}.service-tabs button{min-width:170px;align-items:start;font-size:13px;padding:22px 0;gap:10px}.service-tabs button i{display:none}.service-detail{border:0;padding:30px 0 0;min-height:390px}.service-detail h3{font-size:25px}.service-detail ul{grid-template-columns:1fr 1fr}.integration{grid-template-columns:1fr;gap:35px}.integration h2{font-size:36px}.system-core small{font-size:10px}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{height:280px}.filters{gap:8px}.filters button{padding:9px 12px;font-size:10px}.steps{grid-template-columns:1fr 1fr;gap:22px}.steps h3{margin-top:20px;font-size:19px}.team-grid{grid-template-columns:1fr;gap:30px}.initials{height:100px;font-size:45px}.contact{grid-template-columns:1fr;gap:35px}.contact-email{font-size:17px}.contact-info{gap:35px}footer{padding:35px 6%;gap:26px}footer>p{display:none}footer>div{width:100%}dialog>div{padding:22px}dialog .eyebrow{margin-bottom:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.solutions{background:#f2f1ec}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.solution-grid article{border-top:2px solid var(--red);padding-top:25px}.solution-number{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.solution-grid h3{font-size:24px;font-weight:500;letter-spacing:-.8px;line-height:1.3;margin:25px 0 18px}.solution-grid p{font-size:13px}.solution-grid ul{list-style:none;padding:0;margin:25px 0}.solution-grid li{font-size:11px;border-top:1px solid var(--line);padding:11px 0}.solution-link,.service-enquiry{background:none;border:0;border-bottom:1px solid var(--ink);color:var(--ink);text-align:left;padding:0 0 9px;cursor:pointer}.solution-link:hover,.service-enquiry:hover{color:var(--red)}.service-detail{min-height:490px}.service-tabs button{font-size:14px}.service-detail li{font-size:11px}@media(max-width:650px){.solution-grid{grid-template-columns:1fr;gap:35px}.service-detail{min-height:460px}.service-tabs button{min-width:180px;font-size:12px}}

.technology-visuals{background:#f7f6f1}.technology-story{display:grid;grid-template-columns:1.08fr 1fr;gap:6%;align-items:center;margin-top:50px}.technology-story figure{margin:0;position:relative}.technology-story figure>img{width:100%;height:400px;object-fit:cover}.technology-story figcaption{position:absolute;bottom:15px;left:15px;font-size:9px;background:#faf9f6ed;padding:9px 12px;color:var(--ink)}.technology-copy h3{font-size:35px;line-height:1.2;font-weight:500;letter-spacing:-1.3px;margin-bottom:20px}.technology-copy>.eyebrow{margin-bottom:19px;color:var(--red)}.technology-copy>p{font-size:13px}.technology-story.reverse figure{order:2}.technology-story.reverse .technology-copy{order:1}.technology-story+.technology-story{margin-top:80px}.visual-flow{display:grid;grid-template-columns:1fr 15px 1fr 15px 1fr;align-items:center;gap:5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:27px 0 12px}.visual-flow>span{color:var(--red);font-size:17px}.visual-flow svg{width:29px;height:29px;fill:none;stroke:var(--red);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}.visual-flow b{display:block;font-size:12px;font-weight:600}.visual-flow small{display:block;font-size:9px;line-height:1.5;color:var(--muted);margin-top:7px}.technology-note{font-size:10px;margin:35px 0 0;color:var(--muted)}@media(max-width:900px){.technology-story{gap:5%}.technology-copy h3{font-size:29px}.technology-story figure>img{height:420px}}@media(max-width:650px){.technology-story{grid-template-columns:1fr;gap:28px;margin-top:30px}.technology-story figure>img{height:290px}.technology-story.reverse figure,.technology-story.reverse .technology-copy{order:initial}.technology-story+.technology-story{margin-top:55px}.technology-copy h3{font-size:30px}.visual-flow{gap:7px}.visual-flow small{font-size:9px}}
