:root{--border-color: #C8C8C8;--grey-bg: #F2F2F2;--underline-thickness: 2px}@font-face{font-family:TINY5x3;src:url(/fonts/webfonts/TINY5x3-160.woff2) format("woff2"),url(/fonts/webfonts/TINY5x3-160.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TeXGyreHeros;src:url(/fonts/tex-gyre-heros/TeXGyreHeros-Regular.eot);src:local("TeXGyreHeros-Regular"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Regular.eot?#iefix) format("embedded-opentype"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Regular.woff2) format("woff2"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Regular.woff) format("woff"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TeXGyreHeros;src:url(/fonts/tex-gyre-heros/TeXGyreHeros-Bold.eot);src:local("TeXGyreHeros-Bold"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Bold.eot?#iefix) format("embedded-opentype"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Bold.woff2) format("woff2"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Bold.woff) format("woff"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:TeXGyreHeros;src:url(/fonts/tex-gyre-heros/TeXGyreHeros-Italic.eot);src:local("TeXGyreHeros-Italic"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Italic.eot?#iefix) format("embedded-opentype"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Italic.woff2) format("woff2"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Italic.woff) format("woff"),url(/fonts/tex-gyre-heros/TeXGyreHeros-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:TeXGyreHeros;src:url(/fonts/tex-gyre-heros/TeXGyreHeros-BoldItalic.eot);src:local("TeXGyreHeros-BoldItalic"),url(/fonts/tex-gyre-heros/TeXGyreHeros-BoldItalic.eot?#iefix) format("embedded-opentype"),url(/fonts/tex-gyre-heros/TeXGyreHeros-BoldItalic.woff2) format("woff2"),url(/fonts/tex-gyre-heros/TeXGyreHeros-BoldItalic.woff) format("woff"),url(/fonts/tex-gyre-heros/TeXGyreHeros-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:TeXGyreHerosCondensed;src:url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Regular.eot);src:local("TeXGyreHerosCondensed-Regular"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Regular.eot?#iefix) format("embedded-opentype"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Regular.woff2) format("woff2"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Regular.woff) format("woff"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TeXGyreHerosCondensed;src:url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Bold.eot);src:local("TeXGyreHerosCondensed-Bold"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Bold.eot?#iefix) format("embedded-opentype"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Bold.woff2) format("woff2"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Bold.woff) format("woff"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:TeXGyreHerosCondensed;src:url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Italic.eot);src:local("TeXGyreHerosCondensed-Italic"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Italic.eot?#iefix) format("embedded-opentype"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Italic.woff2) format("woff2"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Italic.woff) format("woff"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:TeXGyreHerosCondensed;src:url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-BoldItalic.eot);src:local("TeXGyreHerosCondensed-BoldItalic"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-BoldItalic.eot?#iefix) format("embedded-opentype"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-BoldItalic.woff2) format("woff2"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-BoldItalic.woff) format("woff"),url(/fonts/tex-gyre-heros/TeXGyreHerosCondensed-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:TeXGyreTermes;src:url(/fonts/tex-gyre-termes-regular/texgyretermes-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TeXGyreTermes;src:url(/fonts/tex-gyre-termes-regular/texgyretermes-bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:TeXGyreTermes;src:url(/fonts/tex-gyre-termes-regular/texgyretermes-italic.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:TeXGyreTermes;src:url(/fonts/tex-gyre-termes-regular/texgyretermes-bolditalic.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:TeXGyreHeros,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#fff;color:#000;line-height:1.5;overflow-x:hidden;overflow-y:hidden}#app{height:100vh;overflow:hidden;position:relative}#app:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9999;box-shadow:inset 0 0 16px #00000026}h1,h2,h3,h4,h5,h6{font-weight:600}a{color:inherit;text-decoration:none;outline:none}.tiny-baseline-fix{position:relative;top:.06em}.text-center{text-align:center}video{display:block;max-width:100%}.panel-container{position:fixed;transform:translate(-50%);left:50%;z-index:100;display:flex;justify-content:center;margin:20px 0;width:320px;background:#fff;border:1px solid var(--border-color);box-shadow:4px 4px 8px -3px #00000026}.panel-container.panel-top{top:0;z-index:10;margin-bottom:500px}.panel-container.panel-bottom{bottom:0}#app.info-open .panel-container.panel-bottom{transform:translate(-50%,200%);pointer-events:none;transition:transform .3s ease-out,opacity .3s ease-out}.panel-container.panel-bottom{transition:transform .3s ease-out,opacity .3s ease-out}.panel-container.panel-info{top:87px;max-height:calc(100vh - 150px);overflow-y:auto;overflow-x:hidden;z-index:10}.panel-box{width:100%;padding:0;margin:0 auto;overflow:hidden}.panel-container.panel-bottom .panel-box{height:64px;display:flex;flex-direction:column}.panel-container.panel-info .panel-box{overflow:visible;max-height:none;min-height:100%;height:auto}.info-content[data-v-bb7c9b26]{width:100%}.error-container[data-v-bb7c9b26]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;font-size:16px;gap:20px}.info-container[data-v-bb7c9b26]{width:100%;display:flex;flex-direction:column;gap:0}.content-section[data-v-bb7c9b26]{width:100%}.content-section>p[data-v-bb7c9b26],.footer-content>p[data-v-bb7c9b26]{padding:10px 12px 14px}.services-list li[data-v-bb7c9b26]{padding:12px}.content-section>h3[data-v-bb7c9b26]{padding:6px 12px}.contact-content>p[data-v-bb7c9b26]{padding:0 12px}.section-title[data-v-bb7c9b26]{position:sticky;top:0;z-index:10;font-size:12px;font-weight:700;letter-spacing:normal;line-height:normal;margin:0;text-align:left;font-family:TeXGyreHeros,sans-serif;border-bottom:2px solid var(--border-color);background:var(--grey-bg)}.section-content[data-v-bb7c9b26]{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:20px;margin:0;text-align:left;font-family:TeXGyreHeros,sans-serif}.section-divider[data-v-bb7c9b26]{border:none;border-top:1px solid var(--border-color);margin:0;width:100%}.services-list[data-v-bb7c9b26]{list-style:none;padding:0;margin:0;text-align:left}.service-item[data-v-bb7c9b26]{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:20px;border-top:1px solid var(--border-color);font-family:TeXGyreHeros,sans-serif}.service-item[data-v-bb7c9b26]:first-child{border-top:none}.service-item[data-v-bb7c9b26]:last-child{margin-bottom:0}.contact-content[data-v-bb7c9b26]{text-align:left;margin:12px 0 36px}.contact-line[data-v-bb7c9b26]{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:20px;font-family:TeXGyreHeros,sans-serif}.contact-line[data-v-bb7c9b26]:last-of-type{margin-bottom:12px}.contact-email[data-v-bb7c9b26]{margin:0;padding:0;font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:20px;color:#000;text-decoration:none;font-family:TeXGyreHeros,sans-serif}.contact-email[data-v-bb7c9b26]:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:var(--underline-thickness)}.footer-text[data-v-bb7c9b26]{font-size:12px;font-weight:700;letter-spacing:normal;line-height:14px;font-family:TeXGyreHeros,sans-serif}.company-name[data-v-0e7d4e3f]{text-align:center;font-size:36px;font-weight:700;margin:0;font-family:TeXGyreTermes,serif;cursor:pointer;text-underline-offset:3px;text-decoration-thickness:var(--underline-thickness)}.company-name[data-v-0e7d4e3f]:hover{text-decoration:underline;text-decoration-thickness:var(--underline-thickness)}.nav-links[data-v-0e7d4e3f]{display:flex;justify-content:space-between;align-items:baseline;font-family:TeXGyreHeros,sans-serif;margin:0 12px 12px}.nav-left[data-v-0e7d4e3f],.nav-right[data-v-0e7d4e3f]{display:flex;align-items:baseline}.nav-left .nav-link[data-v-0e7d4e3f],.nav-left .nav-separator[data-v-0e7d4e3f]{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:20px}.nav-right .nav-link[data-v-0e7d4e3f],.nav-right .nav-separator[data-v-0e7d4e3f]{font-size:12px;font-weight:700;letter-spacing:normal;line-height:normal;vertical-align:baseline}.nav-link[data-v-0e7d4e3f]{color:#000;text-decoration:none;transition:opacity .2s;cursor:pointer;border:none;background:none;font-family:inherit;text-underline-offset:3px;text-decoration-thickness:var(--underline-thickness);display:inline-block}.nav-separator[data-v-0e7d4e3f]{padding-right:4px}.nav-link[data-v-0e7d4e3f]:hover,.nav-link.active[data-v-0e7d4e3f],.nav-link.router-link-active[data-v-0e7d4e3f]{text-decoration:underline;text-decoration-thickness:var(--underline-thickness)}.nav-separator[data-v-0e7d4e3f]{color:#000}.main-content[data-v-0e7d4e3f]{height:100vh;overflow-y:auto;overflow-x:hidden;position:relative;z-index:1}.slide-down-enter-active[data-v-0e7d4e3f],.slide-down-leave-active[data-v-0e7d4e3f]{transition:max-height .4s ease-out;overflow:hidden}.slide-down-enter-from[data-v-0e7d4e3f],.slide-down-leave-to[data-v-0e7d4e3f]{max-height:0}.slide-down-enter-to[data-v-0e7d4e3f],.slide-down-leave-from[data-v-0e7d4e3f]{max-height:calc(100vh - 150px)}.slide-down-appear-active[data-v-0e7d4e3f]{transition:max-height .4s ease-out,border-color .05s ease-out,background-color .05s ease-out;transition-delay:1.8s;overflow:hidden}.slide-down-appear-from[data-v-0e7d4e3f]{max-height:0;border-color:transparent!important;box-shadow:none!important;background:transparent!important}.slide-from-top-enter-active[data-v-0e7d4e3f]{transition:transform 1.2s linear(0,.029 1.6%,.123 3.5%,.651 10.6%,.862 14.1%,1.002 17.7%,1.046 19.6%,1.074 21.6%,1.087 23.9%,1.086 26.6%,1.014 38.5%,.994 46.3%,1);transition-delay:.6s}.slide-from-top-enter-from[data-v-0e7d4e3f]{transform:translate(-50%,-200%)}.slide-from-top-enter-to[data-v-0e7d4e3f]{transform:translate(-50%)}.sidebar-cables{display:none!important}canvas{outline:none!important}canvas:focus{outline:none!important}#glcanvas[data-v-a3a0d0fb]{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.project-showcase[data-v-a3a0d0fb]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;overflow:hidden}.error-container[data-v-a3a0d0fb]{display:flex;justify-content:center;align-items:center;height:100%;font-size:16px}.video-container[data-v-a3a0d0fb]{width:100vw;height:100vh;width:100%;cursor:pointer;position:relative;opacity:0;border-radius:12px;overflow:hidden}.video-container video[data-v-a3a0d0fb]{display:none}.loading-overlay[data-v-a3a0d0fb]{position:absolute;top:0;left:0;width:100%;height:100%;background:#999;z-index:1;transition:opacity .3s ease-out}.video-container[data-v-a3a0d0fb]:after{content:"";display:block;padding-bottom:56.25%}.video-container video[data-v-a3a0d0fb]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.project-info-header[data-v-a3a0d0fb]{display:flex;justify-content:space-between;align-items:center;margin:0 12px;height:50%;min-height:32px;flex-shrink:0}.project-title[data-v-a3a0d0fb]{color:#000;font-size:16px;font-weight:700;font-family:TeXGyreTermes,serif;display:inline-block;flex-shrink:0}a.project-title[data-v-a3a0d0fb]{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:var(--underline-thickness);cursor:pointer}a.project-title[data-v-a3a0d0fb]:hover{opacity:.8}.project-number[data-v-a3a0d0fb]{font-family:TeXGyreHeros,sans-serif;font-size:12px;font-weight:700;margin:0;line-height:2.4;display:flex;align-items:center}.project-number .separator[data-v-a3a0d0fb]{color:var(--border-color);padding:0 4px}.project-description-wrapper[data-v-a3a0d0fb]{width:100%;height:50%;background:var(--grey-bg);border-top:2px solid var(--border-color);overflow:hidden}.project-description[data-v-a3a0d0fb]{width:100%;height:100%;display:flex;align-items:center;overflow:hidden;position:relative}.project-description-track[data-v-a3a0d0fb]{display:inline-flex;align-items:center;width:max-content;animation:marquee-a3a0d0fb var(--marquee-duration, 14s) linear infinite;will-change:transform}.project-description:hover .project-description-track[data-v-a3a0d0fb]{animation-play-state:paused}.project-description-text[data-v-a3a0d0fb]{font-size:12px;font-weight:700;margin:0;line-height:2.4;font-family:TeXGyreHeros,sans-serif;color:#000;white-space:nowrap;padding-right:120px;flex-shrink:0;height:28px}@keyframes marquee-a3a0d0fb{0%{transform:translate(0)}to{transform:translate(-50%)}}.slide-up-enter-active[data-v-a3a0d0fb]{transition:transform 1.2s linear(0,.029 1.6%,.123 3.5%,.651 10.6%,.862 14.1%,1.002 17.7%,1.046 19.6%,1.074 21.6%,1.087 23.9%,1.086 26.6%,1.014 38.5%,.994 46.3%,1);transition-delay:2.8s}.slide-up-enter-from[data-v-a3a0d0fb]{transform:translate(-50%,200%)}.slide-up-enter-to[data-v-a3a0d0fb]{transform:translate(-50%)}
