:root{color-scheme:light;--paper: #f7f8f4;--surface: #ffffff;--surface-strong: #eef3ef;--ink: #17211f;--ink-soft: #273431;--muted: #64716d;--line: #d9dfd7;--line-strong: #aeb9b1;--accent: #087a67;--accent-dark: #055345;--accent-warm: #c6532d;--accent-blue: #255f99;--accent-yellow: #e4b74f;--shadow: 0 18px 48px rgba(26, 42, 37, .11);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(90deg,rgba(23,33,31,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.035) 1px,transparent 1px),var(--paper);background-size:44px 44px;color:var(--ink)}body,button,input,textarea{letter-spacing:0}a{color:inherit;text-decoration:none}p{color:var(--muted);line-height:1.7}img,svg{max-width:100%}::selection{background:#087a672e}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.85rem max(1.25rem,calc((100vw - 1180px)/2));background:#f7f8f4e6;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.75rem;min-width:0}.brand-mark{display:grid;flex:0 0 auto;place-items:center;width:2.65rem;height:2.65rem;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:#fff;font-size:.8rem;font-weight:850}.brand-copy{display:grid;gap:.05rem}.brand-copy strong{font-size:.95rem}.brand-copy small{color:var(--muted);font-size:.78rem}nav{display:flex;align-items:center;gap:.4rem}nav a{min-height:2.35rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .8rem;border-radius:8px;color:var(--ink-soft);font-size:.92rem;font-weight:700}nav a:hover{background:var(--surface-strong);color:var(--ink)}.nav-button{border:1px solid var(--line-strong);background:var(--surface)}.section-pad{width:min(100% - 2.5rem,1180px);margin:0 auto;padding:5rem 0}.hero{min-height:760px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(22rem,1.08fr);gap:4rem;align-items:center;padding-top:4.5rem}.eyebrow{margin:0 0 .9rem;color:var(--accent);font-size:.82rem;font-weight:850;text-transform:uppercase}h1,h2,h3{margin:0;color:var(--ink);line-height:1.05;text-wrap:balance}h1{font-size:5rem;font-weight:850}h2{font-size:3.15rem;font-weight:820}h3{font-size:1.2rem}.hero-text{max-width:42rem;margin:1.35rem 0 0;color:var(--ink-soft);font-size:1.18rem}.hero-actions,.contact-links{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;max-width:100%;padding:0 1.1rem;border-radius:8px;font-weight:780;text-align:center}.primary-button{border:1px solid var(--accent-dark);background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark)}.secondary-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.secondary-button:hover{border-color:var(--ink)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:2.6rem 0 0}.hero-stats div,.instrument-readouts div,.project-facts div{min-width:0}.hero-stats div{padding:1rem;border-left:3px solid var(--accent);background:#ffffffad}.hero-stats dt{color:var(--ink);font-size:1.3rem;font-weight:850}.hero-stats dd{margin:.15rem 0 0;color:var(--muted);font-size:.85rem}.hero-instrument{position:relative;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.hero-instrument:before{content:"";display:block;height:.45rem;background:linear-gradient(90deg,var(--accent),var(--accent-warm),var(--accent-blue))}.instrument-header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}.instrument-header span,.instrument-readouts span,.card-topline,.technical-visual text.small-text{color:var(--muted);font-size:.82rem}.instrument-header strong{text-align:right}.instrument-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.instrument-readouts div{padding:1rem;border-right:1px solid var(--line)}.instrument-readouts div:last-child{border-right:0}.instrument-readouts strong{display:block;margin-top:.25rem;color:var(--ink);font-size:.95rem}.statement-band{padding-top:0}.statement-band p{margin:0;padding:1.4rem 0 1.4rem 1.4rem;border-left:4px solid var(--accent-warm);color:var(--ink-soft);font-size:1.15rem}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.role-card{min-height:15rem;display:flex;flex-direction:column;justify-content:space-between;padding:1.2rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.role-card:before{content:"";display:block;width:3rem;height:.32rem;margin-bottom:1rem;background:var(--accent)}.role-card:nth-child(2):before{background:var(--accent-blue)}.role-card:nth-child(3):before{background:var(--accent-warm)}.role-card p{margin-bottom:0}.industry-strip{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#ffffffad}.industry-strip span{display:inline-flex;align-items:center;min-height:2rem;padding:.36rem .58rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--ink-soft);font-size:.82rem;font-weight:750}.experience-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem;align-items:start;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-panel p:last-child{margin:0;color:var(--ink-soft);font-size:1.08rem}.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.experience-card{min-height:24rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:1.2rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 1px #17211f0a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.experience-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}.experience-card span{color:var(--accent-dark);font-size:.82rem;font-weight:850;text-transform:uppercase}.experience-card h3{margin-top:.7rem;font-size:2rem}.experience-card-bottom{display:grid;gap:1.1rem}.experience-card-bottom strong{color:var(--accent-dark);font-size:.92rem}.experience-card .tags span{text-transform:none}.experience-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.experience-link-grid a{min-height:3.25rem;display:flex;align-items:center;padding:.85rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent-dark);font-weight:850}.experience-link-grid a:hover{border-color:var(--accent)}.experience-hero-card{margin:0;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.experience-hero-card .placeholder-visual{aspect-ratio:16 / 9}.section-heading{max-width:760px;margin-bottom:2rem}.section-heading.narrow{max-width:700px}.section-heading p:last-child{margin-bottom:0}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.project-card{display:flex;min-width:0;min-height:31rem;flex-direction:column;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#ffffffe0;box-shadow:0 1px #17211f0a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.project-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}.card-topline{display:flex;justify-content:space-between;gap:.8rem;color:var(--accent-blue);font-weight:750}.project-card h3{min-height:2.6rem}.project-card p{flex:1;margin:0;font-size:.94rem}.card-result{display:block;margin-top:.2rem;color:var(--ink-soft);font-size:.9rem;line-height:1.45}.tags,.skill-list{display:flex;flex-wrap:wrap;gap:.5rem}.tags{margin-top:auto}.tags span,.skill-list span{display:inline-flex;align-items:center;min-height:2rem;padding:.38rem .58rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--ink-soft);font-size:.82rem;font-weight:700}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.capability-card{padding:1.2rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.capability-card span{display:block;width:2.5rem;height:.32rem;margin-bottom:1rem;background:var(--accent-warm)}.capability-card:nth-child(2) span{background:var(--accent-blue)}.capability-card:nth-child(3) span{background:var(--accent)}.capability-card:nth-child(4) span{background:var(--accent-yellow)}.capability-card p{margin-bottom:0}.split-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:3.5rem;align-items:start;border-top:1px solid var(--line)}.split-section p{margin-bottom:0}.about-section{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:3rem;align-items:start;border-top:1px solid var(--line)}.about-section p:last-child{margin:0;color:var(--ink-soft);font-size:1.08rem}.contact-panel{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;margin-top:3rem;padding:4.5rem max(1.25rem,calc((100vw - 1180px)/2));background:var(--ink)}.contact-panel h2,.contact-panel .eyebrow{color:#fff}.contact-panel p{max-width:700px;color:#ffffffbd}.contact-panel .primary-button{background:#fff;color:var(--ink);border-color:#fff}.footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem max(1.25rem,calc((100vw - 1180px)/2));border-top:1px solid var(--line);background:var(--surface)}.footer p{max-width:640px;margin:.35rem 0 0}.footer a{align-self:start;color:var(--accent-dark);font-weight:800}.back-link{display:inline-flex;margin-bottom:2rem;color:var(--accent-dark);font-size:.92rem;font-weight:800}.project-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(22rem,1.08fr);gap:4rem;align-items:center;padding-top:4.5rem;padding-bottom:4rem}.project-hero h1{font-size:4.3rem}.project-hero p:not(.eyebrow){max-width:48rem;color:var(--ink-soft);font-size:1.12rem}.project-hero-media{grid-template-columns:minmax(0,.82fr) minmax(24rem,1.18fr)}.project-tags{margin-top:1.4rem}.project-image{margin:0;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.project-image img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.project-image figcaption{padding:.85rem 1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:4rem;align-items:start;padding-top:2rem}.project-article{max-width:760px}.project-article h2{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);font-size:2rem}.project-article h2:first-child{margin-top:0;padding-top:0;border-top:0}.project-article p{color:var(--ink-soft)}.requirement-list,.workflow-list{padding-left:1.25rem}.workflow-list li::marker{color:var(--accent);font-weight:850}.spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.4rem 0 0}.spec-grid div{padding:.9rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.spec-grid dt{margin-bottom:.2rem;color:var(--accent-dark);font-size:.78rem;font-weight:850;text-transform:uppercase}.spec-grid dd{margin:0;color:var(--ink);font-size:1.05rem;font-weight:820}.wide-spec-grid dd{font-size:.95rem;line-height:1.45}.visual-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.gallery-card{margin:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.gallery-card img,.placeholder-visual{display:block;width:100%;aspect-ratio:16 / 10}.gallery-card img{object-fit:contain;background:var(--surface-strong)}.placeholder-visual{display:grid;place-items:center;border-bottom:1px dashed var(--line-strong);background:linear-gradient(90deg,rgba(23,33,31,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.055) 1px,transparent 1px),var(--surface-strong);background-size:18px 18px}.placeholder-visual span{padding:.45rem .7rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.gallery-card figcaption{display:grid;gap:.35rem;padding:.9rem}.gallery-card figcaption strong{color:var(--ink)}.gallery-card figcaption span{color:var(--muted);font-size:.9rem;line-height:1.55}li{margin:.6rem 0;color:var(--muted);line-height:1.65}.project-facts{position:sticky;top:6.4rem;padding:1.1rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 8px 26px #1a2a2514}.project-facts h3{margin-bottom:1rem}.project-facts dl{display:grid;gap:.9rem;margin:0}.project-facts div{padding-top:.9rem;border-top:1px solid var(--line)}.project-facts div:first-child{padding-top:0;border-top:0}.project-facts dt{margin-bottom:.25rem;color:var(--accent-dark);font-size:.78rem;font-weight:850;text-transform:uppercase}.project-facts dd{margin:0;color:var(--ink-soft);line-height:1.5}.technical-visual{width:100%;margin:0;aspect-ratio:420 / 260;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,rgba(23,33,31,.05) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.05) 1px,transparent 1px),#fbfcf9;background-size:20px 20px;overflow:hidden}.technical-visual.compact{flex:0 0 auto}.technical-visual svg{display:block;width:100%;height:100%}.technical-visual text{font:700 14px Inter,ui-sans-serif,system-ui,sans-serif;fill:var(--ink-soft)}.technical-visual .grid-line,.technical-visual .plot-grid{fill:none;stroke:#17211f1f;stroke-width:1.2}.technical-visual .unit,.technical-visual .board,.technical-visual .readout{fill:#fff;stroke:var(--ink);stroke-width:2}.technical-visual .fill-1{fill:#e9f4ef}.technical-visual .fill-2{fill:#edf3fb}.technical-visual .shaft,.technical-visual .link,.technical-visual .axis,.technical-visual .tool,.technical-visual .target,.technical-visual .signal,.technical-visual .copper,.technical-visual .pin-row{fill:none;stroke:var(--ink);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.technical-visual .link.thin,.technical-visual .axis,.technical-visual .target,.technical-visual .signal,.technical-visual .pin-row{stroke-width:3}.technical-visual .rotor,.technical-visual .joint,.technical-visual .sensor{fill:#fff;stroke:var(--accent);stroke-width:5}.technical-visual .joint.small{stroke-width:4}.technical-visual .cam,.technical-visual .magnet{fill:var(--accent-warm);stroke:var(--ink);stroke-width:2}.technical-visual .encoder,.technical-visual .node{fill:none;stroke:var(--accent-blue);stroke-width:4;stroke-linecap:round}.technical-visual .node{fill:var(--accent-blue)}.technical-visual .trace{fill:none;stroke:var(--accent-warm);stroke-width:5;stroke-linecap:round}.technical-visual .trace.secondary{stroke:var(--accent);stroke-width:4}.technical-visual .reach,.technical-visual .polar{fill:#087a6714;stroke:var(--accent);stroke-width:3}.technical-visual .reach.muted{fill:none;stroke:#255f9959}.technical-visual .board{fill:#dfeee8;stroke:var(--accent-dark)}.technical-visual .mount{fill:var(--surface);stroke:var(--accent-dark);stroke-width:3}.technical-visual .chip{fill:var(--ink);stroke:var(--accent-yellow);stroke-width:3}.technical-visual .chip.driver{stroke:var(--accent-warm)}.technical-visual .chip text,.technical-visual .chip+text{fill:#fff}.technical-visual .copper{stroke:var(--accent-warm);stroke-width:4}@media(max-width:1120px){.hero,.project-hero,.split-section,.about-section,.experience-panel,.project-layout{grid-template-columns:1fr}.hero{min-height:auto}.project-grid,.role-grid,.experience-grid,.capability-grid,.visual-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-facts{position:static}}@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column}nav{width:100%;overflow-x:auto;padding-bottom:.1rem}nav a{flex:0 0 auto}.section-pad{width:min(100% - 1.5rem,1180px);padding:3.5rem 0}.hero,.project-hero{gap:2rem;padding-top:3rem}h1{font-size:3.25rem}h2{font-size:2.25rem}.project-hero h1{font-size:3rem}.hero-text,.project-hero p:not(.eyebrow),.statement-band p,.about-section p:last-child{font-size:1rem}.hero-stats,.instrument-readouts,.project-grid,.role-grid,.experience-grid,.experience-link-grid,.spec-grid,.visual-gallery,.capability-grid,.contact-panel{grid-template-columns:1fr}.instrument-header,.footer{flex-direction:column}.instrument-header strong{text-align:left}.instrument-readouts div{border-right:0;border-bottom:1px solid var(--line)}.instrument-readouts div:last-child{border-bottom:0}.project-card,.role-card,.experience-card{min-height:0}.contact-panel{gap:1rem;margin-top:1rem;padding-top:3.5rem;padding-bottom:3.5rem}}@media(max-width:460px){.brand-copy{display:none}h1{font-size:2.7rem}h2{font-size:2rem}.project-hero h1{font-size:2.45rem}.primary-button,.secondary-button{width:100%}.technical-visual text{font-size:12px}}
