/* Product experience and case studies */
.btn{color:#202020;font-weight:600}.btn:hover{color:#fff}.outline{color:#fff}.project{overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}.project-card-link{display:flex;flex-wrap:wrap;align-content:start;width:100%;height:100%}.project-card-link>div{width:100%;padding:0 24px}.project-card-link>.number{padding:12px 24px 0}.project-card-link>.tag{padding:0 24px}.project-more{display:flex;justify-content:space-between;width:100%;margin:18px 24px 0;padding-top:18px;border-top:1px solid #e3e3e3;font-size:13px;font-weight:600}.project-more>span{color:#a16915;transition:transform .3s}.project-image{transition:transform .6s,filter .6s}.project:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000000b;border-color:#c8984c}.project:hover .project-image{filter:saturate(.95)}.project:hover .project-more>span{transform:translate(3px,-3px)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b77a22;outline-offset:5px}
.motion-hero .hero-copy{animation:copy-in .9s both}.motion-hero .visual{isolation:isolate}.motion-hero .visual svg{position:relative;z-index:1;animation:product-float 9s ease-in-out infinite;transition:filter 1s;transform-origin:center}.motion-hero .visual svg>g:first-of-type>rect:nth-of-type(2){animation:board-glow 5s ease-in-out infinite}.visual-orbit{position:absolute;width:80%;aspect-ratio:1;border:1px solid #dd99332c;border-radius:50%;z-index:0;animation:orbit 32s linear infinite}.visual-orbit:before,.visual-orbit:after{content:'';position:absolute;width:6px;height:6px;background:#dd9933;border-radius:50%;box-shadow:0 0 20px #dd9933;top:15%;left:14%}.visual-orbit:after{top:auto;left:auto;bottom:15%;right:14%;width:4px;height:4px}.signal-flow{stroke-dasharray:12 110;animation:signal-travel 6s linear infinite;opacity:.7}.signal-dots circle{animation:signal-pulse 3s ease-in-out infinite}.signal-dots circle:nth-child(2){animation-delay:1s}.signal-dots circle:nth-child(3){animation-delay:2s}.scene-controls{display:flex;gap:5px;position:absolute;z-index:3;bottom:65px;left:8%;right:6%}.scene-controls button{border:1px solid #ffffff26;padding:12px 10px;background:#222b;color:#b9b9b9;font:10px Arial;letter-spacing:.4px;cursor:pointer;flex:1;transition:background .4s,color .4s,border-color .4s}.scene-controls button.active{border-color:#dd9933;color:#f3bf6d;background:#dd993313}.visual[data-scene='1'] svg{filter:drop-shadow(0 20px 35px #0008) hue-rotate(-12deg)}.visual[data-scene='1'] .signal-flow{stroke-width:4;animation-duration:2.5s}.visual[data-scene='2'] svg{animation-name:product-float-wide}.visual-label{bottom:32px;right:8%;font-size:8px;max-width:90%;text-align:center}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:none}.image-note{font-size:12px;color:#6b6b6b;line-height:1.6}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid #9d9d9d;padding:8px 0;align-self:center}.breadcrumb{display:block;font-size:12px;color:#777;margin-bottom:45px}.product-hero{padding:65px 6% 85px;max-width:1550px;margin:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center}.product-intro h1{font-size:clamp(40px,4.5vw,65px);font-weight:500;letter-spacing:-2px;line-height:1.07;margin:25px 0}.product-intro h1 em{font-style:normal;color:#b87614}.product-intro>p{color:#626262;line-height:1.8;font-size:14px;max-width:510px}.product-intro strong{color:#343434;font-weight:500}.product-intro .actions{flex-wrap:wrap;gap:20px}.product-showcase{position:relative;padding:60px 0 100px;min-width:0}.product-showcase:before{content:'';position:absolute;inset:0 -20px 20px;background:radial-gradient(ellipse,#e5d6bb,#eee9e000 70%);z-index:-1}.browser-frame{border:1px solid #d8d8d8;box-shadow:0 20px 55px #00000012;border-radius:8px;overflow:hidden;background:#fff;min-width:0}.browser-top{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;color:#8e8e8e;font-size:10px;border-bottom:1px solid #ddd}.browser-top b{font-weight:400;color:#555}.capture{display:block;border:0;padding:0;background:#fff;width:100%;text-align:left;cursor:zoom-in;position:relative}.capture img{width:100%;height:auto;display:block}.capture>span{display:block;padding:10px 14px;background:#f6f6f6;font-size:10px;color:#666}.capture:hover>span{color:#a16915}.phone-inset{position:absolute;right:8px;bottom:22px;display:flex;align-items:end;gap:15px}.phone-inset img{width:145px;border-radius:10px;filter:drop-shadow(0 15px 18px #0003)}.phone-inset span{font-size:12px;line-height:1.5;color:#555;padding-bottom:20px}.showcase-caption{font-size:10px;color:#888;position:absolute;left:0;bottom:28px}.habile-subnav{display:flex;justify-content:center;gap:45px;padding:22px 6%;border-top:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff;font-size:12px}.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.workflow-grid article{position:relative;padding:30px;background:white;border:1px solid #dedede}.workflow-num{color:#a16915;font-size:12px;letter-spacing:1px}.workflow-grid h3{font-size:23px;font-weight:500;margin:30px 0 18px}.workflow-grid p{color:#666;line-height:1.8;font-size:14px}.workflow-grid article>span:last-child{display:block;font-size:11px;border-top:1px solid #ddd;padding-top:18px;margin-top:25px;color:#8d631c}.interface-section{background:#eaeae8}.interface-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #bfbfbb}.interface-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;padding:20px 20px 24px;text-align:left;font-size:11px;color:#777;cursor:pointer}.interface-tabs strong{font-size:22px;font-weight:500;display:block;color:#444;margin:8px 0}.interface-tabs span{font-size:12px}.interface-tabs [aria-selected=true]{border-bottom-color:#dd9933;background:#fff}.interface-panel{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;padding:55px 45px;background:#fff;align-items:center;min-height:600px;animation:panel-in .35s both}.interface-panel[hidden]{display:none}.interface-panel h3{font-size:35px;font-weight:500;letter-spacing:-1px;line-height:1.13;margin:22px 0}.interface-panel p,.clean-list{font-size:14px;color:#666;line-height:1.8}.clean-list{padding-left:18px}.clean-list li{margin:14px 0}.operator-steps{list-style:none;counter-reset:op;padding:0;margin:28px 0 0}.operator-steps li{counter-increment:op}.operator-steps button{border:0;border-left:2px solid #ddd;background:#fff;cursor:pointer;text-align:left;width:100%;padding:14px 20px;font-size:14px;color:#777;transition:all .3s}.operator-steps button:before{content:'0' counter(op) ' / ';font-size:10px;letter-spacing:1px;color:#a16915}.operator-steps button span{display:block;font-size:11px;margin:7px 0 0 28px}.operator-steps button.active{background:#f7f2e9;border-color:#dd9933;color:#222}.operator-display{text-align:center;background:#f3f3f1;padding:28px 0}.operator-display img{width:min(100%,360px);max-height:390px;object-fit:contain;transition:opacity .25s}.operator-display p{font-size:11px;margin-bottom:0}.capture-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.capture-choices button{padding:10px 12px;font-size:11px;border:1px solid #ddd;background:#fff;color:#666;cursor:pointer}.capture-choices .active{border-color:#b77a22;background:#f9f1e4;color:#704b14}.hardware-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hardware-grid article{padding:30px;border:1px solid #ddd;background:#fff}.hardware-grid h3{font-weight:500;font-size:23px}.hardware-grid p{font-size:14px;line-height:1.8;color:#666}.hardware-grid .hardware-central{background:#292929;color:#fff;border-color:#292929}.hardware-central p{color:#c2c2c2}.device-icon{color:#a16915;font-size:10px;letter-spacing:2px}.hardware-central .device-icon{color:#eab45f}.habile-cta{background:#282828;padding:75px 7%;color:#fff;text-align:center}.habile-cta .eyebrow{justify-content:center;color:#c2c2c2}.habile-cta h2{margin:25px 0}.habile-cta p{max-width:700px;margin:30px auto;color:#bdbdbd;font-size:14px;line-height:1.8}.habile-cta .text-link{margin:0 20px}.image-viewer{width:94vw;max-width:1600px;max-height:92vh;overflow:auto;border:0;padding:55px 18px 15px;background:#fafafa;color:#333;box-shadow:0 20px 70px #0007}.image-viewer::backdrop{background:#000b}.image-viewer img{max-width:100%;height:auto;display:block;margin:auto}.image-viewer p{font-size:12px;text-align:center}.close-viewer{position:absolute;right:16px;top:12px;padding:9px 16px;border:1px solid #ccc;background:white;cursor:pointer;font-size:12px}.case-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;padding:65px 6% 55px;max-width:1550px;margin:auto;align-items:center}.case-hero h1{font-size:clamp(38px,4.5vw,63px);font-weight:500;line-height:1.08;letter-spacing:-1.8px;margin:25px 0}.case-lead{font-size:19px;line-height:1.6;color:#666}.case-hero figure{margin:0}.case-hero figure img{width:100%;height:360px;object-fit:cover}.case-hero figcaption{font-size:10px;color:#888;margin-top:10px}.case-tech{margin-top:25px}.case-context{background:#eaeae8;display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:50px 7%;align-items:start}.case-context p{font-size:20px;line-height:1.7;margin:0;color:#555}.case-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:50px}.case-work-grid article{border-top:1px solid #d5d5d5;padding:25px 0}.case-work-grid h3{font-size:24px;font-weight:500;margin:18px 0}.case-work-grid p{font-size:14px;line-height:1.85;color:#666}.case-result{background:#292929;color:#fff;padding:70px 7%}.case-result h2{font-size:36px;max-width:750px}.case-result p{font-size:18px;line-height:1.8;max-width:1000px;color:#d2d2d2;margin-top:30px}.case-next{padding:65px 7%;display:flex;align-items:center;justify-content:space-between;gap:35px}.case-next h2{font-size:34px}.case-next p{color:#777;font-size:14px}.lang-switch{display:inline-flex;gap:7px;font-size:10px;letter-spacing:1px}.lang-switch a{padding:5px 2px;color:#777}.lang-switch a[aria-current=page]{color:#8c5b0e;border-bottom:2px solid #dd9933}.lang-switch span{color:#bbb}
@keyframes copy-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes product-float{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-13px) rotate(.4deg)}}@keyframes product-float-wide{0%,100%{transform:translateY(0) scale(.96)}50%{transform:translateY(-15px) scale(1)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes board-glow{0%,100%{stroke:#8cba9c}50%{stroke:#efa83d}}@keyframes signal-travel{to{stroke-dashoffset:-244}}@keyframes signal-pulse{0%,100%{opacity:.2;r:3}50%{opacity:1;r:5}}@keyframes panel-in{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.product-hero{gap:25px}.product-intro h1{font-size:49px}.interface-panel{gap:30px;padding:35px 28px}.interface-panel h3{font-size:30px}.scene-controls{left:5%;right:5%}.case-hero{gap:30px}.case-hero figure img{height:310px}.product-showcase{padding-bottom:100px}.phone-inset img{width:120px}.phone-inset span{font-size:10px}nav{gap:18px}}
@media(max-width:650px){.product-hero,.case-hero{grid-template-columns:1fr;padding:35px 6% 45px}.breadcrumb{margin-bottom:30px}.product-intro h1{font-size:46px}.product-intro .eyebrow{font-size:9px}.product-showcase{padding:20px 0 130px}.phone-inset{bottom:22px;right:10px}.phone-inset img{width:115px}.showcase-caption{bottom:8px}.habile-subnav{gap:18px;overflow:auto;justify-content:flex-start;white-space:nowrap;font-size:10px}.workflow-grid,.hardware-grid{grid-template-columns:1fr}.workflow-grid article{padding:24px}.workflow-grid h3{margin-top:20px}.interface-tabs button{padding:15px 10px}.interface-tabs strong{font-size:17px}.interface-tabs span{font-size:10px;line-height:1.5}.interface-panel{grid-template-columns:1fr;padding:30px 20px;gap:25px;min-height:0}.operator-display img{max-height:340px}.habile-cta{padding:55px 6%}.habile-cta .eyebrow{font-size:9px;line-height:1.7}.habile-cta .text-link{display:block;width:max-content;margin:20px auto 0}.case-hero h1{font-size:42px}.case-lead{font-size:17px}.case-context{grid-template-columns:1fr;gap:25px;padding:35px 6%}.case-context p{font-size:17px}.case-work-grid{grid-template-columns:1fr;gap:5px}.case-next{display:block}.case-next .btn{margin-top:15px}.case-result p{font-size:16px}.case-result h2{font-size:30px}.scene-controls{bottom:38px;left:4%;right:4%;gap:3px}.scene-controls button{font-size:8px;padding:10px 5px}.visual-label{bottom:12px;font-size:7px}.visual-orbit{width:65%}.motion-hero .visual svg{width:105%;margin-top:-15px}.lang-switch{font-size:12px;align-self:flex-start}.project-card-link>.number{padding-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
.client-logos,.institutional-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:28px}.partners .logo-tile{height:105px;background:#fff;border:1px solid #e1e1e1;display:flex;align-items:center;justify-content:center;padding:24px;transition:border-color .3s,transform .3s}.partners .logo-tile img{width:100%;max-width:155px;height:62px;filter:none;opacity:1;object-fit:contain}.partners .logo-dark{background:#373737}.institutional-block{border-top:1px solid #d5d5d5;margin-top:60px;padding-top:45px}.institutional-block h2{font-size:34px}.institutional-logos{grid-template-columns:repeat(6,minmax(0,1fr))}.institutional-logos .logo-tile{height:100px;padding:20px}@media(max-width:950px){.client-logos,.institutional-logos{grid-template-columns:repeat(3,minmax(0,1fr))}nav{gap:15px}nav .btn{padding:15px 16px;font-size:12px;gap:15px}}@media(max-width:650px){.client-logos,.institutional-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.partners .logo-tile{height:90px;padding:16px}.institutional-block h2{font-size:28px}}
/* Three stable product states: board, firmware and assembled product. */
.motion-hero .visual svg{animation:none;filter:drop-shadow(0 22px 28px #0006)}.motion-hero .visual svg>g:first-of-type>rect:nth-of-type(2){animation:none}.svg-layer{transition:transform 1.6s cubic-bezier(.4,0,.2,1),opacity 1.2s;transform-box:view-box;transform-origin:0 0}.layer-cover{transform:translateY(-8px)}.layer-board{transform:translateY(0)}.board-signals{stroke-dasharray:18 160;stroke-dashoffset:0;animation:board-data 5s linear infinite;opacity:.8}.processor{transition:stroke 1s,filter 1s}.assembly-guides,.diagram-labels{transition:opacity 1s}.visual[data-scene='1'] svg{filter:drop-shadow(0 22px 28px #0006);animation:none}.visual[data-scene='1'] .layer-cover{transform:translateY(-38px);opacity:.55}.visual[data-scene='1'] .layer-board{transform:translateY(-18px)}.visual[data-scene='1'] .processor{stroke:#f5b34b;filter:drop-shadow(0 0 7px #dd993399)}.visual[data-scene='1'] .board-signals{animation-duration:2.5s;opacity:1}.visual[data-scene='2'] svg{animation:none}.visual[data-scene='2'] .layer-cover{transform:translateY(230px)}.visual[data-scene='2'] .layer-board{transform:translateY(55px)}.visual[data-scene='2'] .layer-cover>rect{fill-opacity:.75}.visual[data-scene='2'] .assembly-guides,.visual[data-scene='2'] .diagram-labels{opacity:0}.visual[data-scene='2'] .board-signals{opacity:.25}@keyframes board-data{to{stroke-dashoffset:-356}}@media(prefers-reduced-motion:reduce){.svg-layer,.processor,.diagram-labels,.assembly-guides{transition:none}.board-signals{animation:none}}
.project-gallery{padding-top:65px;padding-bottom:65px}.project-gallery h2{margin-bottom:35px;max-width:900px}.project-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.project-figure{margin:0;min-width:0}.project-capture{border:1px solid #dedede;background:#fff}.project-capture img{height:290px;object-fit:contain;padding:22px;background:#fff}.project-figure figcaption{font-size:12px;color:#666;line-height:1.65;margin:12px 0 0}.architecture-gallery{background:#eeefed}.architecture-gallery .project-gallery-grid{grid-template-columns:1fr 1fr}.architecture-gallery .project-figure:first-child{grid-row:span 2}.architecture-gallery .project-figure:first-child img{height:660px;padding:20px}.architecture-gallery .project-figure:not(:first-child) img{height:260px}.agri-architecture .project-capture img{height:330px;padding:18px}.tools-gallery .project-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tools-gallery .project-capture img{height:210px;padding:35px}.case-hero .real-product{background:#eeefed;padding:25px}.case-hero .real-product img{object-fit:contain;height:310px}.project-image.actual-hardware{object-fit:contain;padding:20px;background:#e9eae7}@media(max-width:650px){.project-gallery-grid,.architecture-gallery .project-gallery-grid{grid-template-columns:1fr}.architecture-gallery .project-figure:first-child{grid-row:auto}.architecture-gallery .project-figure:first-child img{height:auto;max-height:650px}.project-capture img{height:260px;padding:16px}.agri-architecture .project-capture img{height:auto;min-height:160px}.tools-gallery .project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tools-gallery .project-capture img{height:160px;padding:20px}.case-hero .real-product img{height:230px}}
