@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap');
:root{color-scheme:dark;--bg:#0b0c0f;--fg:#f1f2f5;--muted:#92949e;--line:#292a30;--lime:#ceff62}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,'Noto Sans SC',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line)}.brand{font-size:14px;letter-spacing:.07em;font-weight:700;display:flex;align-items:center;gap:12px}.mark{font-size:28px;font-weight:900;color:var(--lime);letter-spacing:-.1em}.brand-muted{color:var(--muted);font-weight:400}nav{display:flex;gap:32px;font-size:14px}nav a:hover,footer a:hover{color:var(--lime)}.nav-about{font-size:14px}.nav-about span{margin-left:18px;color:var(--lime)}.hero{padding:42px 7% 0;overflow:hidden}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:500;color:var(--muted)}.hero>.eyebrow{display:flex;justify-content:space-between}h1{font-size:clamp(64px,8.5vw,132px);letter-spacing:-.065em;line-height:1.16;font-weight:800;margin:52px 0 30px}.outline{-webkit-text-stroke:1px #c3c4ce;color:transparent}.accent{color:var(--lime)}.period{display:inline-block;margin-left:16px;font-size:1.15em;font-weight:400;vertical-align:middle;transform:rotate(12deg)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:50px}.intro{color:#b7b9c2;line-height:1.9}.button{display:inline-flex;align-items:center;gap:70px;color:#11160a;background:var(--lime);padding:13px 20px;margin-top:18px;font-size:14px;font-weight:600}.button:hover{background:#e0ff9c}.coordinate{width:410px;height:240px;position:relative;margin-top:-130px;background:radial-gradient(ellipse, #ceff620a,transparent 65%);flex-shrink:0}.coord-line{position:absolute;background:var(--line)}.horizontal{height:1px;left:0;right:0;top:50%}.vertical{width:1px;top:0;bottom:0;left:50%}.coord-label{position:absolute;color:var(--muted);font-size:12px;letter-spacing:.1em;background:var(--bg);padding:8px}.top{top:0;left:50%;transform:translateX(-50%)}.left{left:0;top:50%;transform:translateY(-50%)}.right{right:0;top:50%;transform:translateY(-50%)}.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid var(--lime);background:var(--bg);width:128px;height:128px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:800;font-size:28px;box-shadow:0 0 65px #ceff620b}.core small{font-size:12px;font-weight:400;color:var(--muted)}.coord-caption{position:absolute;bottom:-22px;text-align:center;width:100%;font-size:12px;color:#73757f;letter-spacing:.1em}.hero-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:64px;padding:20px 0;font-size:12px;color:var(--muted);letter-spacing:.05em}.ticker{display:flex;justify-content:space-around;gap:20px;align-items:center;padding:24px 5%;margin-top:24px;background:var(--lime);color:#1c2312;font-size:20px;font-weight:600}.ticker b{font-weight:400}.section{padding:110px 7%;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}h2{font-size:clamp(30px,3.4vw,52px);line-height:1.4;letter-spacing:-.04em;margin:20px 0 0}h3{font-size:23px;letter-spacing:-.02em;line-height:1.5}.section-note{font-size:14px;color:var(--muted);margin:0 0 6px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}.filters button{background:transparent;border:1px solid var(--line);padding:9px 18px;border-radius:30px;font-size:14px}.filters button.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.filters small{font-size:12px;margin-left:10px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.project{text-align:left;background:none;border:0;padding:0;display:block}.project[hidden]{display:none}.project-art{height:300px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .3s,filter .3s}.project:hover .project-art{transform:translateY(-5px);filter:brightness(1.1)}.engineering .project-art{background:#c8d0da;color:#252c36}.product .project-art{background:#b9a2f0;color:#28203a}.software .project-art{background:#caff61;color:#263317}.art-meta{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.06em}.art-type{font-size:clamp(32px,3.4vw,52px);font-weight:900;letter-spacing:-.07em;line-height:1.05}.art-type>span{-webkit-text-stroke:1px currentColor;color:transparent}.art-type .art-plus{color:#28203a;-webkit-text-stroke:0}.art-foot{font-size:12px;border-top:1px solid #0003;padding-top:10px}.card-top{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;margin-top:22px}.card-top>span:last-child{color:var(--fg);font-size:20px}.project h3{margin:8px 0}.project>p{color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 18px}.tag{font-size:12px;padding:5px 8px;border:1px solid var(--line);color:var(--muted)}.journey{background:#101115}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:60px}.timeline article{border-top:1px solid #45464e;padding-top:22px}.step{font-size:42px;font-weight:600;color:#52545e}.timeline .eyebrow{margin-top:32px}.timeline h3{margin:12px 0}.timeline article>p:not(.eyebrow){color:var(--muted);font-size:16px}.timeline article>span:last-child{font-size:14px;display:block;margin-top:25px}.approach{display:grid;grid-template-columns:1.3fr 1fr;gap:70px}.approach .intro{margin-top:28px}.method article{display:flex;gap:26px;border-bottom:1px solid var(--line);padding:23px 0}.method article>span{color:var(--lime);font-size:14px;padding-top:9px}.method h3{margin:0}.method p{color:var(--muted);font-size:14px;margin:8px 0}.about{position:relative;background:#13151a}.about>p:not(.eyebrow){max-width:660px;color:#b3b5bf;line-height:2;margin:28px 0}.about-tags{display:flex;gap:12px;flex-wrap:wrap}.about-tags span{border:1px solid #3b3e48;padding:6px 14px;border-radius:30px;font-size:14px}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;font-size:14px}footer p{color:var(--muted)}dialog{background:#15171d;color:var(--fg);border:1px solid #444753;padding:48px;max-width:640px;width:calc(100% - 32px)}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}.close{position:absolute;top:8px;right:16px;border:0;background:none;font-size:32px}.detail-placeholder{padding:24px;background:#20232a;margin:28px 0}.detail-placeholder>span{color:var(--lime);font-size:14px}.detail-placeholder p,dialog>p:not(.eyebrow){color:#b4b6c1}.dialog-back{border:1px solid var(--lime);color:var(--lime);padding:10px 20px;background:none}:focus-visible{outline:2px solid var(--lime);outline-offset:5px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}@media(min-width:1600px){main,header,footer{max-width:1600px;margin:auto}}@media(max-width:900px){.brand-muted{display:none}.coordinate{width:310px}.cards{gap:16px}.project-art{height:235px}.art-type{font-size:34px}.timeline{gap:24px}.approach{gap:30px}}@media(max-width:650px){header{height:76px;padding:0 6%}.brand{font-size:12px}nav{gap:16px}nav a{font-size:12px}nav a:last-child,.nav-about{display:none}.hero{padding:32px 6% 0}.hero>.eyebrow{font-size:10px;gap:12px}.hero>.eyebrow span:last-child{display:none}h1{font-size:clamp(54px,13vw,84px);margin-top:40px;letter-spacing:-.06em}.period{margin-left:8px}.hero-bottom{display:block}.intro{font-size:16px}.coordinate{width:100%;max-width:340px;height:180px;margin:55px auto 35px}.core{width:110px;height:110px;font-size:25px}.hero-footer{margin-top:44px;font-size:10px}.ticker{font-size:14px;padding:20px 6%;gap:8px}.ticker span:last-child,.ticker b:last-of-type{display:none}.section{padding:65px 6%}.section-heading{display:block}.section-note{margin-top:20px}.cards{grid-template-columns:1fr;gap:40px}.project-art{height:270px}.art-type{font-size:52px}.project h3{font-size:23px}.project>p{font-size:16px}.timeline{grid-template-columns:1fr;gap:30px;margin-top:35px}.timeline article{position:relative;padding-right:25px}.step{position:absolute;right:0;top:18px}.timeline .eyebrow{margin-top:10px}.approach{grid-template-columns:1fr;gap:20px}footer{flex-wrap:wrap;gap:16px}footer p{display:none}dialog{padding:35px 24px}.filters button{padding:8px 13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,.reveal{transition:none!important;transform:none!important}.reveal{opacity:1}}

.robot .project-art{background:#b9a2f0;color:#28203a}.actuator .project-art{background:#f1a776;color:#422817}@media(min-width:901px){.project .art-type{font-size:clamp(48px,5vw,76px)}}

.mes-case{background:#111419}.case-lead{max-width:800px;color:#b7b9c2;font-size:18px;line-height:1.9}.case-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:36px 0 48px}.case-flow span{border:1px solid #42483b;padding:17px 12px;text-align:center;font-size:14px;color:var(--lime);background:#ceff6205}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.case-grid article{border-top:1px solid var(--line);padding-top:12px}.case-grid h3{margin:14px 0}.case-grid article>p:last-child{color:#a8abb6;line-height:1.9}.case-summary{margin-top:40px;border-left:3px solid var(--lime);padding:4px 0 4px 24px}.case-summary>span{font-size:14px;color:var(--lime)}.case-summary p{color:#b7b9c2}.case-summary small{font-size:12px;color:var(--muted)}#dialog-case-content p{color:#b7b9c2}.detail-placeholder[hidden]{display:none}@media(max-width:650px){.case-flow{grid-template-columns:repeat(2,1fr);margin:24px 0 32px}.case-grid{grid-template-columns:1fr;gap:24px}.case-lead{font-size:16px}}

/* Original imagery and restrained interaction motion */
.scroll-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:var(--lime);z-index:20;transform:scaleX(0);transform-origin:left;pointer-events:none}.hero-stage{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:16px}.hero-stage h1{position:relative;z-index:1;font-size:clamp(60px,7.5vw,116px);margin:52px 0 36px}.hero-visual{margin:20px -30px 0 0;position:relative;transform:translateY(var(--parallax,0px));min-width:0}.hero-visual img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);animation:visual-enter 1.15s cubic-bezier(.2,.8,.2,1) both}.hero-visual figcaption{display:flex;justify-content:space-between;padding:10px 20px;font-size:12px;letter-spacing:.08em;color:var(--muted)}.hero-visual figcaption span{letter-spacing:0}.hero-disciplines{display:flex;flex-direction:column;gap:12px;color:var(--muted);font-size:12px;letter-spacing:.1em;border-left:1px solid var(--line);padding-left:28px;margin-right:20px}.hero h1{animation:text-enter .9s cubic-bezier(.2,.8,.2,1) both}.hero-bottom{animation:text-enter .9s .15s both}.hero-footer{margin-top:42px}.period{transition:transform .6s}.hero h1:hover .period{transform:rotate(100deg)}.button{transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #ceff6215}.filters button{transition:background .2s,color .2s,border-color .2s}.project{perspective:1000px}.project-art{transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .4s;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.project:hover .project-art{transform:translateY(-6px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.card-top>span:last-child{transition:transform .3s}.project:hover .card-top>span:last-child{transform:rotate(90deg)}.reveal{transition:opacity .7s var(--reveal-delay,0ms),transform .7s var(--reveal-delay,0ms)}.case-visual{position:relative;margin:0 0 38px;overflow:hidden;border:1px solid var(--line)}.case-visual img{display:block;width:100%;height:clamp(220px,29vw,430px);object-fit:cover;object-position:center 48%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.case-visual:hover img{transform:scale(1.025)}.case-visual figcaption{display:flex;justify-content:space-between;gap:14px;padding:14px 18px;color:var(--muted);font-size:12px;letter-spacing:.04em;background:#111419}.case-flow span{transition:border-color .3s,background .3s}.case-flow span:hover{border-color:var(--lime);background:#ceff6210}dialog[open]{animation:dialog-enter .22s ease-out}header nav a{position:relative}header nav a::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .25s}header nav a:hover::after,header nav a:focus-visible::after{transform:scaleX(1)}
@keyframes visual-enter{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes text-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.hero-stage{grid-template-columns:1.15fr 1fr}.hero-stage h1{font-size:clamp(52px,7.8vw,72px)}.hero-visual figcaption{font-size:12px;flex-wrap:wrap}.hero-visual{margin-right:-20px}}@media(max-width:650px){.hero-stage{grid-template-columns:1fr;gap:0}.hero-stage h1{font-size:clamp(54px,13vw,84px);margin:40px 0 10px}.hero-visual{margin:0 -12px 20px}.hero-visual img{aspect-ratio:1.65}.hero-visual figcaption{padding:8px 16px}.hero-disciplines{flex-direction:row;flex-wrap:wrap;border:0;padding:0;margin:25px 0 0;gap:10px 16px;font-size:12px}.hero-footer{margin-top:30px}.case-visual figcaption{flex-direction:column;gap:5px}.case-visual img{height:240px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hero-visual{transform:none!important}.reveal{opacity:1!important;transform:none!important}.scroll-progress{display:none}}
.hero-visual img{height:auto}.cards,.project,.hero-stage,.hero-stage h1{min-width:0}.project-art .art-type{overflow-wrap:anywhere}@media(max-width:650px){.hero-visual img{max-height:280px;object-fit:cover}}
.header-actions{display:flex;align-items:center;gap:24px}.language-switch{display:flex;align-items:center;gap:6px;font-size:14px}.language-switch button{background:none;border:0;padding:8px;color:var(--muted);min-height:40px}.language-switch button[aria-pressed=true]{color:var(--lime);font-weight:700}.hero-bottom>div:first-child{max-width:610px}.contact-email{display:inline-block;color:var(--lime);font-size:clamp(18px,2vw,26px);margin-top:12px}.project[data-category=hardware]{cursor:default}.project[data-category=hardware]:hover .project-art{transform:none;filter:none}.timeline h3{margin-top:28px}html[lang=en] .hero-stage h1{font-size:clamp(40px,5vw,74px);letter-spacing:-.04em}html[lang=en] .outline{-webkit-text-stroke:.7px #c3c4ce}@media(max-width:650px){header{gap:10px}header nav{display:none}.header-actions{gap:12px}.hero-disciplines{font-size:12px}html[lang=en] .hero-stage h1{font-size:clamp(36px,9.3vw,58px)}.hero-bottom>div:first-child{max-width:100%}.timeline h3{margin-top:14px}}
