:root{--ink:#232729;--muted:#63696b;--orange:#c9530d;--bright:#f07828;--paper:#fff;--cream:#f5f3ee;--line:#deded8;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--font)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto}button{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--display);line-height:1.16}h2{font-size:clamp(34px,4.1vw,58px);font-weight:600;letter-spacing:-2.3px}h2 em,h1 em{font-style:normal;color:var(--orange)}p{color:var(--muted)}.wrap{width:min(1220px,calc(100% - 88px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--orange);margin-bottom:21px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid transparent;padding:15px 22px;font-weight:600;font-size:14px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-orange{background:var(--orange);color:#fff}.button-orange:hover{background:#a9450d}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#41494c}.button-small,.small{padding:11px 18px}.plain-link,.text-link{display:inline-flex;align-items:center;gap:24px;font-size:14px;font-weight:600;border:0;background:none;padding:0}.plain-link:hover,.text-link:hover{color:var(--orange)}.skip-link{position:fixed;top:-100px;left:12px;background:white;padding:10px;z-index:100}.skip-link:focus{top:12px}.announcement{background:var(--ink);color:#fff;font-size:11px;letter-spacing:.2px}.announcement .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:9px}.announcement a{color:#ffb484}.announcement a span{margin-left:10px}.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:20;border-bottom:1px solid #eee}.navigation{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;gap:15px;flex-shrink:0}.brand svg{width:110px;height:42px}.brand>span{font-size:9px;line-height:1.5;font-weight:800;letter-spacing:1px;border-left:1px solid #ddd;padding-left:15px}.navigation nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:500}.navigation nav>a:not(.button):hover{color:var(--orange)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:12px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:4px}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:50px;padding-block:70px 75px;align-items:center}.hero h1{font-size:clamp(54px,5.8vw,84px);font-weight:600;letter-spacing:-4.5px;line-height:1.06}.orange-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:8px}.hero-description{font-size:17px;line-height:1.8;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.hero-bottom{display:flex;align-items:center;gap:13px;margin-top:45px;font-size:9px;font-weight:700;letter-spacing:1.2px;color:var(--muted)}.hero-bottom i{height:3px;width:3px;background:var(--orange);border-radius:50%}.hero-art{position:relative;padding-bottom:32px}.hero-art>img{width:100%;height:445px;object-fit:cover;object-position:55% center;border-radius:90px 0 0 0}.hero-art-label{position:absolute;bottom:0;left:-24px;right:24px;display:flex;align-items:center;gap:17px;padding:23px;background:var(--ink);color:#fff;box-shadow:0 15px 35px #23272912}.hero-art-label .line-icon{font-size:38px;color:var(--bright)}.hero-art-label div{font-family:var(--display);font-size:17px;font-weight:600}.hero-art-label small{display:block;font-family:var(--font);font-size:8px;letter-spacing:1.6px;color:#c8cecc;margin-top:5px}.hero-art-label a{margin-left:auto;font-size:24px;color:#ffae76}.art-number{position:absolute;right:12px;top:18px;font-size:10px;letter-spacing:2px;color:#fff}.capability-strip{background:var(--cream);border-block:1px solid #e9e7e1}.capability-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding-block:22px}.capability-strip p{font-family:var(--display);font-size:15px;color:var(--ink);border-right:1px solid var(--line);padding-inline:25px}.capability-strip p:first-child{padding-left:0}.capability-strip p:last-child{border:0}.capability-strip span{font:10px var(--font);color:var(--orange);margin-right:18px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:45px}.section-intro{max-width:390px;font-size:15px;line-height:1.8}.section-intro .plain-link{margin-top:18px}.products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.product{border:1px solid var(--line);background:#fff}.product-image{position:relative;overflow:hidden}.product-image img{aspect-ratio:3/2;width:100%;object-fit:cover;transition:transform .45s}.product:hover .product-image img{transform:scale(1.025)}.image-label{position:absolute;bottom:10px;left:12px;font-size:7px;letter-spacing:1.1px;color:white;background:#232729cf;padding:4px 7px}.product-body{padding:28px 30px 0}.product-title>span{color:var(--orange);font-size:9px;letter-spacing:1.5px;font-weight:700}.product-title h3{font-size:25px;letter-spacing:-.8px;margin-top:11px}.product h4{font:500 14px var(--font);margin-block:15px 9px}.product-body>p{font-size:13px;line-height:1.8}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-block:20px}.tags span{border:1px solid #e5e3df;padding:4px 9px;font-size:10px;background:#faf9f7;color:#51585a}.product-cta{background:none;border:0;border-top:1px solid var(--line);width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:13px;font-weight:600}.product-cta span{font-size:20px;color:var(--orange)}.product-cta:hover{color:var(--orange)}.product-details{font-size:13px;border-top:1px solid #eae8e3;margin-bottom:5px}.product-details summary{display:flex;justify-content:space-between;cursor:pointer;padding:12px 0;list-style:none;color:var(--muted)}.product-details summary::-webkit-details-marker{display:none}.product-details[open] summary{color:var(--orange)}.product-details ul{padding-left:19px;color:#51585a}.product-details .scope-note{font-size:11px;padding-bottom:15px}.software-footnote{display:flex;align-items:center;justify-content:space-between;gap:25px;border-block:1px solid var(--line);margin-top:36px;padding-block:25px}.software-footnote>span{font-size:9px;letter-spacing:1.5px;color:var(--orange);font-weight:700}.software-footnote p{font-size:15px;color:var(--ink)}.software-footnote small{font-size:11px;color:var(--muted)}.software-footnote>a{font-size:26px}.saas-section{background:var(--ink);color:#fff;padding-block:85px}.saas-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.saas-section h2{font-size:clamp(42px,4.5vw,65px)}.saas-section .eyebrow,.saas-section h2 em{color:#ff9a54}.large-copy{font-size:21px;line-height:1.6;font-family:var(--display);letter-spacing:-.35px}.saas-section .large-copy{color:#fff;margin-bottom:23px}.saas-row{display:flex;gap:23px;padding:20px 0;border-top:1px solid #495052}.saas-row>span{font-size:10px;color:#ff9a54;margin-top:3px}.saas-row h3{font-size:16px;font-weight:500}.saas-row p{color:#c5cbcc;font-size:13px;margin-top:8px}.saas-details .button{margin-top:15px}.engineering-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:stretch}.lab-image{margin:0;position:relative;min-height:600px;background:var(--ink);overflow:hidden}.lab-image>img{height:100%;width:100%;object-fit:cover}.lab-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#14191bd9)}.lab-image figcaption{position:absolute;z-index:1;bottom:35px;left:30px;color:#fff}.lab-image figcaption>span{font-size:9px;letter-spacing:1.6px;color:#ffc095}.lab-image figcaption p{font-family:var(--display);font-size:26px;color:#fff;line-height:1.3;margin-top:14px;letter-spacing:-.5px}.engineering-item{display:flex;gap:18px;padding:23px 0;border-top:1px solid var(--line);align-items:start}.engineering-item:last-child{border-bottom:1px solid var(--line)}.engineering-item>span{font-size:10px;color:var(--orange);padding-top:4px}.engineering-item h3{font-size:18px;letter-spacing:-.4px}.engineering-item p{font-size:13px;line-height:1.65;margin-top:9px;max-width:360px}.engineering-item button{margin-left:auto;border:0;background:none;color:var(--orange);font-size:22px;padding:0 2px}.process-section{background:var(--cream)}.process-heading{display:flex;justify-content:space-between;gap:50px;align-items:end}.process-heading>p{max-width:360px;font-size:15px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.process-grid article{padding-top:22px;border-top:1px solid #c8c7c0}.process-grid article>span{font-size:10px;color:var(--orange);letter-spacing:1.5px}.process-grid h3{font-size:21px;margin:23px 0 15px;letter-spacing:-.5px}.process-grid p{font-size:14px;line-height:1.8}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-grid>div>p{margin-bottom:20px;font-size:15px}.about-grid .large-copy{font-size:23px;color:var(--ink)}.about-sign{font-size:9px;font-weight:700;letter-spacing:1.7px;color:var(--orange);padding-top:18px;border-top:1px solid var(--line);margin-top:32px}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-bottom:100px}.faq-section h2{font-size:35px;letter-spacing:-1.2px}.faq-section details{border-top:1px solid var(--line);padding-block:17px;font-size:14px}.faq-section details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer}.faq-section details p{padding-top:15px;font-size:13px}.contact-section{background:#f5f0e8}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-grid>div>p:not(.eyebrow){max-width:380px;font-size:15px;margin-top:25px}.contact-note{display:flex;gap:20px;align-items:center;border-top:1px solid #d8d2c8;padding-top:25px;margin-top:35px}.contact-note>span{font-size:30px;color:var(--orange)}.contact-note p{font-size:12px}.enquiry-form{padding:32px;background:#fff;border:1px solid #e0dcd6}.enquiry-form label{display:grid;font-size:11px;font-weight:600;gap:7px;margin-bottom:16px;color:var(--ink)}.enquiry-form label small{display:inline;color:var(--muted);font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);background:#fcfcfa;color:var(--ink);font-size:12px;border-radius:0;min-width:0}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:2px solid #e9814a;outline-offset:1px}.enquiry-form textarea{resize:vertical}.enquiry-form .button{width:100%}.enquiry-form .form-note{font-size:10px;line-height:1.7;margin-top:15px}.form-result{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}.form-result p{margin:10px 0}.form-result .text-link{margin-top:15px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:38px;border-bottom:1px solid var(--line)}.footer-top>p{font-size:12px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px;font-size:10px;color:var(--muted)}.footer-bottom>div{display:flex;gap:20px}.footer-bottom button{border:0;background:none;padding:0;font-size:10px;color:var(--muted)}dialog{max-width:560px;width:calc(100% - 36px);border:1px solid var(--line);padding:35px;color:var(--ink);box-shadow:0 25px 100px #0003}dialog::backdrop{background:#14191bb5}dialog h2{font-size:32px;letter-spacing:-1px}dialog p{font-size:14px;margin:15px 0}.dialog-close{position:absolute;top:8px;right:14px;border:0;background:none;font-size:25px}.dialog-close-button{margin-top:15px}[hidden]{display:none!important}
@media(min-width:1500px){.hero{padding-block:90px}.hero-art>img{height:500px}}
@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.navigation nav{gap:17px;font-size:11px}.brand>span{display:none}.hero{gap:30px}.hero h1{letter-spacing:-3px}.hero-art>img{height:400px}.hero-actions{gap:17px}.hero .plain-link{font-size:12px;gap:12px}.section-head{gap:45px}.engineering-grid{gap:35px}.saas-grid,.about-grid,.contact-grid{gap:55px}.engineering-item{padding-block:20px}.lab-image{min-height:570px}.faq-section{gap:40px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.section{padding-block:68px}.announcement .wrap>span{font-size:9px}.announcement a{font-size:9px}.navigation{min-height:78px}.navigation nav{gap:13px;font-size:10px}.navigation nav .button{padding:8px 12px;gap:12px}.brand svg{width:90px}.hero{gap:25px;padding-block:48px 55px}.hero h1{font-size:51px;letter-spacing:-2.8px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.hero-description{font-size:14px}.hero-art>img{height:350px;border-radius:60px 0 0 0}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero .button{padding:12px 16px;font-size:12px;gap:20px}.hero-bottom{font-size:7px;letter-spacing:.5px;gap:8px;margin-top:25px}.hero-art-label{left:-12px;right:0;padding:15px;gap:10px}.hero-art-label div{font-size:13px}.hero-art-label small{font-size:6px}.hero-art-label .line-icon{font-size:27px}.capability-strip p{font-size:11px;padding-inline:12px}.capability-strip span{margin-right:9px;font-size:8px}.section-head{gap:35px}.section-intro{font-size:13px;max-width:310px}.section-head h2{font-size:36px;letter-spacing:-1.5px}.products-grid{gap:22px}.product-body{padding:22px 22px 0}.product-title h3{font-size:21px}.product-body>p{font-size:12px}.tags{gap:5px}.tags span{font-size:8px;padding:3px 6px}.image-label{font-size:6px}.product-details{font-size:12px}.saas-grid{gap:45px}.large-copy{font-size:18px}.engineering-grid{gap:28px;grid-template-columns:.9fr 1fr}.lab-image{min-height:630px}.lab-image figcaption{left:20px;bottom:25px}.lab-image figcaption p{font-size:22px}.engineering-item{gap:12px;padding-block:19px}.engineering-item h3{font-size:16px}.engineering-item p{font-size:12px}.process-grid{gap:25px;margin-top:35px}.process-grid h3{font-size:19px}.process-grid p{font-size:12px}.process-heading>p{max-width:290px;font-size:13px}.about-grid{gap:50px}.about-grid>div>p{font-size:13px}.about-grid .large-copy{font-size:20px}.contact-grid{gap:35px}.enquiry-form{padding:23px}.footer-top{flex-wrap:wrap}.footer-top>.plain-link{font-size:11px}}
@media(max-width:650px){html{scroll-padding-top:90px}.announcement .wrap>span{font-size:8px;max-width:240px}.announcement a{display:none}.brand>span{display:inline;font-size:8px}.brand svg{width:90px}.navigation{min-height:76px}.menu-toggle{display:block}.navigation nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:24px;flex-direction:column;align-items:stretch;font-size:14px;gap:20px}.navigation nav.open{display:flex}.navigation nav .button{padding:12px 18px}.hero{grid-template-columns:1fr;gap:40px;padding-block:42px}.hero h1{font-size:clamp(49px,11vw,68px);letter-spacing:-3px}.hero-description{font-size:15px}.hero-actions{flex-direction:row;align-items:center;gap:25px}.hero-bottom{font-size:8px;letter-spacing:1px;margin-top:28px}.hero-art{padding-bottom:25px}.hero-art>img{height:300px;border-radius:70px 0 0 0}.hero-art-label{left:15px;right:15px;max-width:380px;padding:18px}.hero-art-label div{font-size:16px}.hero-art-label small{font-size:7px}.hero-art-label .line-icon{font-size:34px}.capability-strip .wrap{display:flex;flex-wrap:wrap;gap:12px;padding-block:18px}.capability-strip p{font-size:10px;padding-inline:0 12px}.capability-strip p:nth-child(2){border:0}.section-head{display:block;margin-bottom:30px}.section-head .section-intro{max-width:100%;margin-top:22px}.section-head h2,h2{font-size:38px;letter-spacing:-1.6px}.products-grid{grid-template-columns:1fr;gap:28px}.product-title h3{font-size:25px}.product-body{padding:25px 25px 0}.product-body>p{font-size:14px}.product h4{font-size:15px}.tags span{font-size:10px}.product-details{font-size:13px}.image-label{font-size:7px}.software-footnote{flex-wrap:wrap;gap:12px;padding-block:22px}.software-footnote p{font-size:13px}.software-footnote>a{display:none}.software-footnote small{font-size:10px}.saas-section{padding-block:60px}.saas-grid{grid-template-columns:1fr;gap:35px}.saas-section h2{font-size:47px}.saas-details .large-copy{font-size:19px}.engineering-grid{grid-template-columns:1fr;gap:30px}.lab-image{min-height:0;height:350px}.lab-image figcaption p{font-size:25px}.engineering-item{padding-block:23px}.engineering-item h3{font-size:18px}.engineering-item p{font-size:13px}.process-heading{display:block}.process-heading>p{max-width:none;margin-top:22px;font-size:14px}.process-grid{grid-template-columns:1fr;gap:25px}.process-grid h3{margin-block:14px 10px;font-size:22px}.process-grid p{font-size:14px}.about-grid{grid-template-columns:1fr;gap:30px}.about-grid>div>p{font-size:15px}.about-grid .large-copy{font-size:22px}.faq-section{grid-template-columns:1fr;gap:25px;padding-bottom:65px}.faq-section details{font-size:14px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid h2{font-size:45px}.contact-grid>div>p:not(.eyebrow){font-size:14px}.enquiry-form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.enquiry-form label{font-size:12px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:14px}.footer-top{padding-block:30px;gap:18px}.footer-top>.brand>span{display:none}.footer-top>.plain-link{margin-left:auto}.footer-top>p{order:3;flex-basis:100%}.footer-bottom{align-items:start;flex-direction:column;gap:15px}.footer-bottom>div{flex-wrap:wrap;gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Electronics and IoT lead the product narrative. */
.hero h1{font-size:clamp(48px,5.2vw,76px);letter-spacing:-3.5px}.hero-description{max-width:480px}.engineering-item p{max-width:390px}.lab-image{min-height:680px}.iot-focus{background:var(--ink);color:#fff;padding:75px 0}.iot-focus .eyebrow,.iot-focus h2 em{color:#ff9a54}.iot-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}.iot-heading h2{font-size:clamp(30px,3.6vw,48px)}.iot-heading>p{font-size:15px;color:#c5cbcc}.iot-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:45px}.iot-steps article{border-top:1px solid #505757;padding-top:20px}.iot-steps span{font-size:10px;letter-spacing:1.5px;color:#ffad76}.iot-steps h3{font-size:18px;margin:19px 0 13px;font-weight:500}.iot-steps p{font-size:13px;line-height:1.8;color:#c5cbcc}.iot-bottom{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:37px;padding-top:27px;border-top:1px solid #505757}.iot-bottom p{font-size:13px;max-width:650px;color:#c5cbcc}.iot-bottom .button{flex-shrink:0}.products-section{background:#faf9f6}
@media(max-width:900px){.iot-heading{gap:35px}.iot-steps{grid-template-columns:repeat(2,1fr)}.iot-bottom{align-items:start}.iot-bottom .button{font-size:12px;padding:12px 16px}.lab-image{min-height:750px}}
@media(max-width:650px){.hero h1{font-size:clamp(43px,9.4vw,60px);letter-spacing:-2.6px}.hero-art{margin-top:8px}.hero-actions{gap:18px}.hero .plain-link{font-size:11px;gap:10px}.lab-image{min-height:0;height:350px}.iot-focus{padding-block:60px}.iot-heading{grid-template-columns:1fr;gap:22px}.iot-heading>p{font-size:14px}.iot-steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.iot-steps h3{font-size:20px;margin-top:14px}.iot-bottom{flex-direction:column;gap:22px}.iot-bottom .button{font-size:14px}}
