@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;550;600;650;700;750;800&display=swap');
:root{--ink:#1c1b19;--ink-soft:#2a2825;--paper:#f3f2eb;--gold:#f1ddad;--muted:#b9b7b1;--line:#44423c;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif;--mono:'SFMono-Regular',Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}input:focus,textarea:focus,select:focus{outline:2px solid var(--ink);outline-offset:3px}button{cursor:pointer}::selection{background:var(--gold);color:var(--ink)}.skip-link{position:absolute;left:20px;top:-100px;padding:12px;background:var(--gold);color:var(--ink);z-index:100}.skip-link:focus{top:10px}.header{height:114px;max-width:1600px;margin:auto;padding:0 5.2%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:36px;font-weight:750;line-height:.88;letter-spacing:-2px}.brand-sub{display:block;letter-spacing:3.7px;font:9px var(--sans);margin-top:9px;margin-left:3px}.brand-icon{display:flex;gap:4px;align-items:center;height:35px}.brand-icon i{width:4px;background:var(--gold);border-radius:4px;height:16px}.brand-icon i:nth-child(2){height:35px}.brand-icon i:nth-child(3){height:25px}.brand-icon i:nth-child(4){height:10px}nav{display:flex;align-items:center;gap:34px;font-size:13px}nav>a{padding:12px 0;color:#d5d3ce}nav>a:hover{color:var(--gold)}nav .nav-contact{margin-left:35px;border-bottom:1px solid #979288;color:var(--paper)}.nav-contact span{margin-left:18px}.menu-toggle{display:none}.hero{max-width:1600px;margin:auto;padding:92px 5.2% 0;display:grid;grid-template-columns:1.05fr 1fr;position:relative;overflow:hidden}.eyebrow,.small-label{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:1.4px;line-height:1.5}.hero .eyebrow{color:#cdc8bb;display:flex;align-items:center;gap:10px}.status-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 4px #f1ddad0d}.hero h1{font-family:var(--display);font-weight:500;font-size:clamp(60px,6.3vw,96px);line-height:1.06;letter-spacing:-5.5px;margin:33px 0 28px}.hero h1 em,h2 em{font-style:normal;color:var(--gold)}.hero-description{font-size:16px;line-height:1.75;max-width:405px;color:var(--muted);margin:0 0 34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:53px;padding:16px 23px;font-size:13px;font-weight:550;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:var(--ink)}.gold:hover{background:#ffecc1}.text-link{display:inline-flex;gap:15px;font-size:12px;margin-left:25px;padding:15px 0;border-bottom:1px solid transparent}.text-link:hover{border-color:var(--muted)}.hero-art{align-self:center;position:relative;margin:1px -10px 0 12px}.diagram-top,.diagram-bottom{font:8px var(--mono);letter-spacing:1px;display:flex;justify-content:space-between;color:#9a968c;padding:0 21px}.diagram-top{margin-bottom:-6px}.diagram-bottom{margin-top:-15px}.diagram-bottom i{display:inline-block;width:4px;height:4px;background:var(--gold);border-radius:50%;margin-right:6px}.system-art{display:block;width:100%;overflow:visible}.hero-bottom{grid-column:1/-1;margin-top:75px;padding:26px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font:9px var(--mono);letter-spacing:1.2px;color:#afaba0}.hero-bottom div{font:12px var(--sans);letter-spacing:0;color:#c9c6be}.hero-bottom b{font-weight:400;padding:0 20px;color:#777164}.hero-bottom>a{font-size:20px;color:var(--paper)}.section{padding:85px max(5.2%,calc((100% - 1434px)/2)) 95px}.light{background:var(--paper);color:var(--ink)}.section-top{display:flex;justify-content:space-between;align-items:flex-start}.section-top .eyebrow{margin:0}.section-note{font-size:12px;line-height:1.65;margin:0;color:#716e66}.section-intro{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:80px;margin:45px 0 58px}h2{font:500 clamp(37px,4.1vw,62px)/1.15 var(--display);letter-spacing:-2.5px;margin:0}h2>span{color:#848078}.section-intro>p{font-size:15px;line-height:1.8;max-width:345px;margin:0 0 4px;color:#706c63;justify-self:end}.service-list{border-top:1px solid #cecac1}.service-list article{display:grid;grid-template-columns:70px 1fr 160px;gap:22px;padding:35px 0;border-bottom:1px solid #cecac1;align-items:start}.service-number{font:11px var(--mono);color:#747066;padding-top:7px}.service-list h3{font:500 27px var(--display);letter-spacing:-.8px;margin:0 0 12px}.service-list p{font-size:14px;line-height:1.8;color:#706c63;max-width:640px;margin:0}.tags{display:flex;gap:19px;margin-top:18px;font:8px var(--mono);letter-spacing:.8px;color:#59564e}.service-symbol{width:110px;height:110px;position:relative;justify-self:end;align-self:center;display:flex;align-items:center;justify-content:center}.service-symbol i{display:block;position:absolute;border:1px solid #776f5b}.sense i{border-radius:50%;width:74px;height:74px}.sense i:nth-child(1){transform:translateX(-16px)}.sense i:nth-child(2){transform:translateX(16px)}.sense i:nth-child(3){width:8px;height:8px;background:#92876d}.edge i{height:57px;width:57px;transform:rotate(-30deg) skew(24deg)}.edge i:nth-child(1){margin-top:-34px}.edge i:nth-child(3){margin-top:34px}.tangible i{width:60px;height:60px;transform:rotate(-30deg) skew(24deg)}.tangible i:nth-child(1){margin-left:-28px}.tangible i:nth-child(2){margin-left:28px}.approach{background:#272622}.approach .small-label{color:#9d978a;font-size:8px}.approach .section-intro>p{color:#b7b1a4}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:78px}.process-step{display:flex;align-items:center;gap:20px;font:11px var(--mono);color:var(--gold)}.process-step i{height:1px;background:#56534c;flex:1;position:relative}.process-step i:after{content:'';display:block;position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#908875}.process h3{font:500 21px var(--display);letter-spacing:-.5px;margin:28px 0 15px}.process p{color:#b9b4aa;font-size:13px;line-height:1.8;max-width:300px}.process-output{display:block;font:8px var(--mono);letter-spacing:1px;color:#a19a8a;margin-top:30px}.applications .small-label{font-size:8px;color:#746e61}.application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.application-art{height:242px;position:relative;display:flex;align-items:center;overflow:hidden;color:#908771;background:#e6e2da;border:1px solid #ded9ce}.application-art:before{content:'+';position:absolute;top:10px;left:14px;font:14px var(--mono);opacity:.6}.application-art svg{width:100%;height:auto}.application-art span{position:absolute;bottom:14px;left:15px;font:7px var(--mono);letter-spacing:.8px;color:#69655c}.robotics{background:#e1ddd5}.connected{background:#e7e3db}.application-caption{padding-top:22px}.application-caption h3{font:500 23px var(--display);letter-spacing:-.6px;margin:0 0 10px}.application-caption p{font-size:13px;color:#706c63;line-height:1.8;max-width:310px}.contact{background:var(--gold);color:var(--ink);padding-bottom:60px}.contact .eyebrow{margin:0 0 40px}.contact-main{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end}.contact h2{font-size:clamp(35px,3.6vw,55px)}.contact h2 em{color:#6b675e}.contact-main>div>p{font-size:14px;line-height:1.8;max-width:300px;margin:0 0 22px}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#43413b}.contact-main .contact-help{font-size:10px;margin:12px 0 0;color:#5d5a52}.brief{margin-top:55px;border-top:1px solid #bba980}.brief summary{cursor:pointer;list-style:none;padding:23px 0 0;font-size:12px;display:flex;justify-content:space-between}.brief summary::-webkit-details-marker{display:none}.brief summary span{font-size:18px}.brief[open] summary span{transform:rotate(45deg)}.brief form{max-width:850px;padding-top:24px}.brief form>p{font-size:12px;line-height:1.7;max-width:650px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;margin:20px 0}input,select,textarea{display:block;width:100%;border:1px solid #9a8b69;background:#f5e8c8;padding:13px;margin-top:8px;color:var(--ink);border-radius:0;font-size:14px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#706c63}footer{padding:45px 5.2%;max-width:1600px;margin:auto;display:flex;gap:30px;align-items:center;justify-content:space-between}footer .wordmark{font-size:28px}footer .brand-icon{transform:scale(.8)}footer p{font-size:12px;color:#bdb9b1;margin-right:auto;margin-left:25px}footer>span,footer>a:last-child{font-size:10px;color:#b4afa4}footer>a:last-child{margin-left:25px}
@media(min-width:1600px){.header{border-left:1px solid var(--line);border-right:1px solid var(--line)}.hero{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(max-width:1100px){.hero{padding-top:68px}.hero h1{font-size:68px;letter-spacing:-4px}.hero-art{margin-right:-35px;margin-left:0}.text-link{margin-left:15px;font-size:11px;gap:8px}.button{gap:30px}.hero-description{font-size:14px;max-width:350px}nav{gap:23px}nav .nav-contact{margin-left:10px}.section-intro{gap:40px}.service-list article{grid-template-columns:50px 1fr 110px}.process{gap:30px}.contact-main{gap:35px}.application-art{height:210px}footer p{margin-left:0}}
@media(max-width:760px){.header{height:86px;padding:0 6%}.wordmark{font-size:30px}.brand-icon{transform:scale(.85);transform-origin:left center;margin-right:-3px}.menu-toggle{display:flex;align-items:center;gap:17px;border:0;color:var(--paper);background:none;font-size:12px;padding:14px 0 14px 14px}.menu-toggle span{font-size:22px}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--ink);padding:20px 6% 30px;z-index:10;border-bottom:1px solid var(--line)}nav.is-open{display:flex;align-items:stretch;gap:5px;flex-direction:column}nav>a{font-size:16px;padding:13px 0}nav .nav-contact{margin:8px 0 0}.hero{padding:54px 6% 0;display:block}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero h1{font-size:clamp(53px,10vw,76px);letter-spacing:-3.3px;margin:27px 0 23px}.hero-description{font-size:14px;max-width:410px;line-height:1.8;margin-bottom:26px}.button{min-height:49px;padding:14px 20px;font-size:12px;gap:30px}.text-link{margin-left:20px}.hero-art{max-width:520px;margin:54px auto 0}.diagram-top,.diagram-bottom{font-size:6px;padding:0 10px}.hero-bottom{margin-top:40px;padding:22px 0;gap:12px;flex-wrap:wrap}.hero-bottom>span{font-size:7px;letter-spacing:1px}.hero-bottom div{order:3;flex-basis:100%;font-size:10px;padding-top:4px}.hero-bottom b{padding:0 12px}.hero-bottom>a{font-size:18px}.section{padding:55px 6% 60px}.eyebrow{font-size:8px;letter-spacing:1px}.section-note{font-size:10px}.section-intro{display:block;margin:32px 0 35px}h2{font-size:38px;letter-spacing:-1.8px}.section-intro>p{font-size:13px;margin-top:23px;max-width:400px}.service-list article{grid-template-columns:26px 1fr;gap:11px;padding:27px 0}.service-number{font-size:9px}.service-list h3{font-size:23px}.service-list p{font-size:12px}.service-symbol{display:none}.tags{gap:14px;font-size:6.5px;letter-spacing:.4px;flex-wrap:wrap}.section-top .small-label{max-width:100px;font-size:6px;text-align:right;line-height:1.7}.process{grid-template-columns:1fr;margin-top:40px;gap:35px}.process h3{font-size:22px;margin-top:20px}.process p{max-width:450px;font-size:13px;margin-bottom:17px}.process-output{margin-top:17px}.application-grid{grid-template-columns:1fr;gap:33px}.application-art{height:240px}.application-art svg{max-width:400px;margin:auto}.application-caption{padding-top:18px}.application-caption p{max-width:430px;margin-bottom:0}.contact-main{display:block}.contact h2{font-size:37px}.contact-main>div>p{margin:27px 0 20px;font-size:13px}.contact .eyebrow{margin-bottom:30px}.brief{margin-top:38px}.brief summary{font-size:11px;gap:15px;line-height:1.6}.form-grid{grid-template-columns:1fr;gap:0}.form-grid label{margin:12px 0}.brief form>p{font-size:11px}.brief label{font-size:11px}footer{padding:35px 6%;display:grid;grid-template-columns:1fr 1fr;gap:25px}footer p{font-size:10px;margin:0;justify-self:end}footer>span,footer>a:last-child{font-size:8px}footer>a:last-child{margin:0;justify-self:end}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(min-width:761px) and (max-width:1000px){.hero h1{font-size:6.3vw;letter-spacing:-3px}.hero .eyebrow{font-size:8px;letter-spacing:.6px}.hero-copy .text-link{margin-left:0;display:flex;width:max-content;margin-top:8px}.hero-art{margin-right:-20px}.hero-bottom{margin-top:55px}}
@media(max-width:360px){.hero h1{font-size:46px;letter-spacing:-2.8px}.hero-copy .text-link{margin-left:14px;font-size:10px}.hero-copy .button{gap:20px;padding-left:16px;padding-right:16px}.contact h2{font-size:32px}.hero .eyebrow{font-size:7px}h2{font-size:34px}}

.about .section-intro{margin-bottom:0}
@media(min-width:761px) and (max-width:1000px){nav{gap:16px;font-size:11px}nav .nav-contact{margin-left:0}.nav-contact span{margin-left:8px}}

/* Supplied horizontal logo: preserve its original colors and proportions. */
.logo-lockup{display:block;width:clamp(180px,22vw,280px);max-width:100%;flex-shrink:0;background:#f8f7f3;line-height:0;letter-spacing:normal}
.logo-lockup img{display:block;width:100%;height:auto}
footer .logo-lockup{width:220px}
@media(max-width:760px){.header .logo-lockup{width:210px}footer .logo-lockup{width:180px}}
@media(max-width:360px){.header .logo-lockup{width:185px}}

/* Gold and black brand surfaces. */
:root{--gold:#edb52b;--ink:#111110;--ink-soft:#201f1c;--paper:#f7f5ef;--muted:#bbb8af;--line:#454239}
.header{background:var(--ink);color:var(--paper);border-color:var(--line);max-width:none}
.header nav>a,.header nav .nav-contact{color:var(--paper)}
.header nav>a:hover{color:var(--gold)}
.header nav .nav-contact{border-color:#8e762f}
.header .menu-toggle{color:var(--paper)}
.gold:hover{background:#f5c858}
.logo-lockup{position:relative;overflow:hidden;aspect-ratio:6.35;background:transparent;line-height:0}
.logo-lockup img{position:absolute;width:100%;height:auto;left:0;top:-57%;filter:invert(1) hue-rotate(180deg)}
.light{background:var(--ink);color:var(--paper)}
.approach{background:var(--ink-soft)}
.light .section-note,.light .section-intro>p,.light .service-list p,.light .application-caption p,.light .small-label{color:var(--muted)}
.light h2>span,.service-number,.tags{color:var(--gold)}
.service-list,.service-list article{border-color:var(--line)}
.service-symbol i{border-color:var(--gold)}
.sense i:nth-child(3){background:var(--gold)}
.application-art,.robotics,.connected{background:#23211b;color:var(--gold);border-color:#49402a}
.application-art span{color:#ddc887}
.contact h2 em{color:#5b4717}
.contact-main .contact-help{color:#51401b}
.brief{border-color:#a77c18}
input,select,textarea{background:#fff4d6;border-color:#9b792c}
input::placeholder,textarea::placeholder{color:#6c5b32}
@media(max-width:760px){.header nav{background:var(--ink);border-color:var(--line)}}

.brief-actions{display:flex;flex-wrap:wrap;gap:12px}.brief-download{background:transparent;color:var(--ink);border-color:var(--ink)}.brief-download:hover{background:#f5c858}.contact-help a{text-decoration:underline;text-underline-offset:3px}

.contact-form{max-width:850px;margin-top:45px;padding-top:20px;border-top:1px solid #a77c18;scroll-margin-top:24px}.contact-form .form-note{font-size:12px;line-height:1.7;max-width:610px;color:#51401b}.optional{font-weight:400;opacity:.75}

.compliance-note{margin-top:12px!important;font-size:11px!important;color:#aaa69c!important}

/* Keep each diagram clear of its caption at every card width. */
.application-art{isolation:isolate;padding-bottom:0}
.application-art svg{position:absolute;z-index:1;inset:10px 10px 38px;width:calc(100% - 20px);height:calc(100% - 48px);max-height:none;object-fit:contain;transform:none}
.application-art span{z-index:2;left:0;right:0;bottom:0;min-height:36px;padding:12px 15px 10px;background:#201f1c;color:#edb52b;line-height:1.4}
.application-art:before{z-index:2;top:10px;left:14px}

.contact-form select{-webkit-appearance:none;appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23111110' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
