@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:italic;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-italic.DUE6_iCb.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:italic;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-italic.Cz4n9dED.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-normal.C2je3j2s.woff2) format("woff2"),url(/_astro/instrument-serif-latin-ext-400-normal.CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2) format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-italic.C9HzH3YL.woff2) format("woff2"),url(/_astro/instrument-serif-latin-ext-400-italic.D7-lnxEk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2) format("woff2"),url(/_astro/instrument-serif-latin-400-italic.u__WvvIK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #F6F4F0;--color-surface: #EDEAE4;--color-text: #1A1A1A;--color-text-secondary: #5A5A5A;--color-text-tertiary: #8A8A8A;--color-accent: #2A2A2A;--color-border: #D5D1CB;--color-highlight: #C8E0D8;--font-display: "Instrument Serif", Georgia, serif;--font-body: "DM Sans Variable", "DM Sans", -apple-system, sans-serif;--max-width: 1200px;--gutter: clamp(24px, 5vw, 80px)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--color-highlight);color:var(--color-text)}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px var(--gutter);display:flex;justify-content:space-between;align-items:center;background:#f6f4f0d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:border-color .3s ease,transform .4s cubic-bezier(.16,1,.3,1)}nav.scrolled{border-bottom-color:var(--color-border)}nav.nav-hidden{transform:translateY(-100%)}nav .name{font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text)}nav .nav-links{display:flex;gap:32px}nav .nav-links a{font-size:.8rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary);text-decoration:none;position:relative;transition:color .3s ease}nav .nav-links a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--color-text);transition:width .3s cubic-bezier(.16,1,.3,1)}nav .nav-links a:hover{color:var(--color-text)}nav .nav-links a:hover:after{width:100%}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--gutter) clamp(60px,10vh,120px)}.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2.8rem,6.5vw,5.5rem);line-height:1.1;letter-spacing:-.02em;max-width:900px;color:var(--color-text)}.hero h1 em{font-style:italic;color:var(--color-text-secondary)}.hero-sub{margin-top:32px;font-size:clamp(1rem,1.4vw,1.15rem);font-weight:300;color:var(--color-text-secondary);max-width:600px;line-height:1.7}.hero-meta{margin-top:48px;display:flex;gap:48px;flex-wrap:wrap}.hero-meta .meta-item{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.hero-meta .meta-item span{display:block;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--color-text);font-weight:400;margin-top:4px}section{padding:clamp(80px,12vh,160px) var(--gutter)}.section-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:48px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start}.about-text{font-size:clamp(1.05rem,1.3vw,1.2rem);font-weight:300;color:var(--color-text-secondary);line-height:1.8}.about-text p+p{margin-top:1.5em}.about-capabilities{padding-top:8px}.capability-group{margin-bottom:32px}.capability-group h3{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:12px}.capability-group p{font-size:.95rem;color:var(--color-text-secondary);font-weight:300;line-height:1.7}.project{border-top:1px solid var(--color-border);padding:clamp(40px,6vh,80px) 0}.project-header{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:baseline;margin-bottom:16px}.project h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.15;letter-spacing:-.01em}.project-year{font-size:.8rem;color:var(--color-text-tertiary);letter-spacing:.05em;white-space:nowrap}.project-subtitle{font-size:clamp(.95rem,1.2vw,1.05rem);color:var(--color-text-tertiary);font-weight:300;margin-bottom:32px;font-style:italic}.project-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start}.project-narrative{font-size:clamp(.95rem,1.15vw,1.05rem);font-weight:300;color:var(--color-text-secondary);line-height:1.8}.project-narrative p+p{margin-top:1.3em}.project-details{display:flex;flex-direction:column;gap:24px}.project-image{width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,var(--color-surface) 0%,#E2DFD8 100%);border-radius:4px;overflow:hidden;position:relative}.project-image img{width:100%;height:100%;object-fit:cover}.project-image .placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;opacity:.5}.project-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-meta-item{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.project-meta-item span{display:block;font-size:.9rem;letter-spacing:0;text-transform:none;color:var(--color-text);font-weight:400;margin-top:4px;line-height:1.5}.project-award{display:inline-block;padding:6px 14px;background:var(--color-highlight);border-radius:3px;font-size:.8rem;font-weight:400;color:var(--color-text);margin-top:4px;margin-right:6px;margin-bottom:6px}.recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px)}.awards-list,.patents-list{list-style:none}.awards-list li,.patents-list li{padding:16px 0;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:baseline;gap:20px}.awards-list li:first-child,.patents-list li:first-child{border-top:1px solid var(--color-border)}.award-name,.patent-name{font-size:.95rem;font-weight:400;color:var(--color-text)}.award-year,.patent-id{font-size:.8rem;color:var(--color-text-tertiary);white-space:nowrap}.recognition-heading{font-family:var(--font-display);font-size:1.4rem;font-weight:400;margin-bottom:24px;color:var(--color-text)}.contact{min-height:60vh;display:flex;flex-direction:column;justify-content:center}.contact h2{font-family:var(--font-display);font-weight:400;font-size:clamp(2.2rem,5vw,4rem);line-height:1.15;max-width:700px;margin-bottom:40px}.contact-links{display:flex;gap:40px;flex-wrap:wrap}.contact-links a{font-size:.95rem;color:var(--color-text);text-decoration:none;padding-bottom:2px;border-bottom:1px solid var(--color-border);transition:border-color .3s ease}.contact-links a:hover{border-bottom-color:var(--color-text)}footer{padding:40px var(--gutter);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}footer p{font-size:.75rem;color:var(--color-text-tertiary)}footer .back-to-top{font-size:.75rem;color:var(--color-text-tertiary);text-decoration:none;transition:color .3s ease}footer .back-to-top:hover{color:var(--color-text)}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.fade-in.visible{opacity:1;transform:translateY(0)}.hero h1,.hero-sub,.hero-meta{opacity:0;transform:translateY(30px);animation:fadeUp .9s cubic-bezier(.22,1,.36,1) forwards}.hero-sub{animation-delay:.15s}.hero-meta{animation-delay:.3s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.about-grid,.project-content,.recognition-grid,.project-header{grid-template-columns:1fr}.project-year{order:-1}.hero-meta{gap:32px}nav .nav-links{gap:20px}nav .nav-links a{font-size:.7rem}}@media(max-width:600px){.project-meta-grid{grid-template-columns:1fr}.contact-links{flex-direction:column;gap:20px}footer{flex-direction:column;gap:12px;text-align:center}}
