@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure{margin:0}img{max-width:100%;height:auto;display:block}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}}@layer base{:root{--ink:#0b1220;--surface:#142033;--surface-soft:#101b2b;--surface-state:#19283b;--text:#f4f5f2;--muted:#aab6c5;--accent:#55cdb5;--line:#2a384b;--line-strong:#5a6d83;--matte:#f4f5f2;--radius-sm:4px;--radius:8px;--radius-lg:12px;--font-label:.75rem;--font-small:.875rem;--page-gutter:48px;--section-space:clamp(3rem, 6vw, 5.25rem);--panel-space:clamp(1.5rem, 2.8vw, 2.25rem);--motion-duration:.18s;--motion-ease:cubic-bezier(.22, .61, .36, 1);--sans:"Manrope Variable", "Segoe UI", sans-serif;--mono:"Cascadia Code", "Consolas", monospace;color-scheme:dark}html{scroll-behavior:smooth;scroll-padding-top:32px}body{font-family:var(--sans);background:var(--ink);color:var(--text);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px;transition:color var(--motion-duration) ease;text-decoration-thickness:1px}a:hover{color:var(--accent)}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3{letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere;font-weight:650;line-height:1.14}h1{font-size:clamp(2.55rem,5.2vw,5rem)}h2{font-size:clamp(1.85rem,3.2vw,2.9rem)}h3{letter-spacing:-.025em;font-size:1.4rem}h4{color:var(--text);font-weight:650;line-height:1.4}p{color:var(--muted)}ul,ol{color:var(--muted);padding-left:1.3rem}li+li{margin-top:.65rem}::selection{color:var(--ink);background:var(--accent)}.container{width:min(1248px, calc(100% - 2 * var(--page-gutter)));margin-inline:auto}.section{padding-block:var(--section-space)}.container>.section+.section{padding-top:clamp(2rem,4vw,3.5rem)}.page-intro+.section{padding-top:20px}.eyebrow,.technical-label{font:400 var(--font-label)/1.6 var(--mono);letter-spacing:.065em;text-transform:uppercase;color:var(--accent)}.accent{color:var(--accent)}.muted{color:var(--muted)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--accent);color:var(--ink);padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin:0 10px 2px 0;display:inline-block}.button{border-radius:var(--radius-sm);background:var(--accent);min-height:48px;color:var(--ink);border:1px solid var(--accent);font-size:var(--font-small);transition:background var(--motion-duration) ease, color var(--motion-duration) ease, border-color var(--motion-duration) ease;justify-content:center;align-items:center;gap:24px;padding:13px 21px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{color:var(--ink);background:#7bdfca}.button-secondary{color:var(--text);border-color:var(--line-strong);background:0 0}.button-secondary:hover{color:var(--accent);background:var(--surface);border-color:var(--accent)}.link-arrow,.text-link{min-height:44px;font-size:var(--font-small);align-items:center;gap:18px;font-weight:600;text-decoration:none;display:inline-flex}.button>span[aria-hidden],.link-arrow>span[aria-hidden],.text-link>span[aria-hidden]{transition:transform var(--motion-duration) var(--motion-ease)}.button:focus-visible>span[aria-hidden],.link-arrow:focus-visible>span[aria-hidden],.text-link:focus-visible>span[aria-hidden]{transform:translate(3px)}.link-arrow{color:var(--accent)}.tag{max-width:100%;font:var(--font-label)/1.6 var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:6px 10px;display:inline-flex}.tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tags>li{margin:0}}@layer components{.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:70px;padding-block:clamp(3rem,6vw,5rem) clamp(3.5rem,7vw,6rem);display:grid}.hero h1{letter-spacing:-.06em;margin:25px 0 29px;font-size:clamp(3.8rem,6.3vw,6rem);line-height:1.02}.hero-focus{color:var(--text);letter-spacing:-.025em;font-size:clamp(1.2rem,2.1vw,1.85rem);font-weight:500;line-height:1.36}.hero-focus span{color:var(--accent)}.hero-description{max-width:52ch;margin-top:22px;font-size:1rem;line-height:1.8}.hero-brief{color:var(--text);letter-spacing:-.02em;text-wrap:pretty;max-width:35ch;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:500;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:32px;display:flex}.hero-university{color:var(--accent);margin-top:22px;font-size:.9375rem;font-weight:600;line-height:1.8}.hero-university span{color:var(--muted);font-weight:400;display:block}.identity-panel{border:1px solid var(--line-strong);background:var(--surface-soft);border-radius:var(--radius);justify-self:center;width:min(100%,420px);overflow:hidden}.identity-top,.identity-bottom{justify-content:space-between;align-items:center;gap:16px;padding:19px 24px;display:flex}.identity-top{border-bottom:1px solid var(--line)}.identity-top .eyebrow{color:var(--muted);letter-spacing:.045em;font-size:.75rem}.crosshair{color:var(--accent)}.identity-art{aspect-ratio:2/3;isolation:isolate;background-color:#101c2c;background-image:linear-gradient(#35465a3b 1px,#0000 1px),linear-gradient(90deg,#35465a3b 1px,#0000 1px);background-size:38px 38px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.identity-art img{object-fit:contain;object-position:50% 50%;width:100%;height:100%}.identity-bottom{font:var(--font-label)/1.6 var(--mono);color:var(--muted);letter-spacing:.025em;border-top:1px solid var(--line)}.focus-strip{border-block:1px solid var(--line)}.focus-strip>div{justify-content:space-between;align-items:center;gap:30px;min-height:72px;display:flex}.focus-strip>div>span{font:var(--font-label)/1.6 var(--mono);text-transform:uppercase;letter-spacing:.065em;color:var(--muted)}.focus-strip p{color:var(--text);font-size:.875rem}.focus-strip i{color:var(--accent);margin-inline:30px;font-style:normal}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;display:flex}.section-heading>div{min-width:0}.section-heading h2{margin-top:12px}.section-description{max-width:44ch;font-size:.9375rem;line-height:1.8}.flagship{background:var(--surface);border-radius:var(--radius);border:1px solid #38554f;grid-template-columns:1fr 1.15fr;display:grid;overflow:hidden}.flagship-copy{flex-direction:column;justify-content:center;align-items:start;padding:clamp(1.75rem,3.2vw,2.75rem);display:flex}.flagship h3{max-width:20ch;margin:20px 0;font-size:clamp(1.75rem,2.6vw,2.6rem)}.flagship-copy>p:not(.eyebrow){font-size:.9375rem;line-height:1.8}.flagship-specs{font:var(--font-label)/1.7 var(--mono);color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin:24px 0;display:flex}.flagship-specs span:before{content:"/";color:var(--accent);margin-right:7px}.flagship-visual{background:#f4f5f2;flex-direction:column;display:flex}.flagship-visual .image-frame{aspect-ratio:auto;flex:1;place-items:center;min-height:290px;padding:18px;display:grid}.flagship-visual img{max-height:355px}.image-note{font:var(--font-label)/1.6 var(--mono);color:#40505d;border-top:1px solid #d6dcd7;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:14px 24px;display:flex}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.showcase-grid{margin-top:24px}.selected-project-list{color:var(--text);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.selected-project-item{min-width:0;margin:0}.selected-project-flagship{grid-column:1/-1}.selected-project-item>article{height:100%}.project-rail-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.project-rail-controls button{min-height:46px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:var(--radius-sm);transition:border-color var(--motion-duration) ease, background var(--motion-duration) ease;justify-content:center;align-items:center;gap:9px;padding:9px 13px;font-size:.875rem;display:inline-flex}.project-rail-controls button:hover:not(:disabled),.project-rail-controls button:focus-visible{border-color:var(--accent);background:var(--surface-state)}.project-rail-controls button:disabled{color:var(--muted);border-color:var(--line);cursor:default;opacity:.7}.project-rail-position{color:var(--muted);font:.8125rem/1.5 var(--mono);white-space:nowrap}.project-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-width:0;display:flex;overflow:hidden}.project-card,.research-preview,.contact-record,.record.related-record{transition:border-color var(--motion-duration) ease, background var(--motion-duration) ease, transform var(--motion-duration) var(--motion-ease)}.project-card:focus-within,.research-preview:focus-visible,.contact-record:focus-visible,.record.related-record:focus-visible{border-color:var(--accent);background:var(--surface);transform:translateY(-2px)}.project-media-link{text-decoration:none;display:block}.image-frame{background:var(--surface);aspect-ratio:1.6;overflow:hidden}.image-frame img{object-fit:cover;object-position:var(--image-position,50% 50%);width:100%;height:100%}.image-contain{background:#f4f5f2;padding:14px}.image-contain img{object-fit:contain}.project-card-body{flex-direction:column;flex:1;padding:26px;display:flex}.project-card .eyebrow{font-size:var(--font-label)}.project-card h3{margin:13px 0 16px;font-size:1.2rem;line-height:1.3}.project-card h3 a{justify-content:space-between;align-items:start;gap:12px;min-height:44px;text-decoration:none;display:flex}.project-card h3 span{color:var(--accent);font-weight:400}.project-card-body>p:not(.eyebrow){font-size:.9375rem;line-height:1.8}.card-meta{margin-top:auto;padding-top:22px}.type-cover{border-bottom:1px solid var(--line);background:#172437;flex-direction:column;justify-content:space-between;gap:18px;min-height:174px;padding:22px 26px;display:flex}.cover-symbol{font:2.6rem/1 var(--mono);color:#9bbfb8;opacity:.85;letter-spacing:-.08em;align-self:flex-end}.cover-label{font:.75rem/1.6 var(--mono);color:var(--muted)}.academic-card .project-card-body{padding:22px 26px}.academic-card h3{font-size:1.08rem}.experience-home{border-top:1px solid var(--line)}.experience-row{border-top:1px solid var(--line);grid-template-columns:150px 1fr auto;align-items:center;gap:28px;padding:29px 0;text-decoration:none;display:grid}.experience-row h3{margin-bottom:8px;line-height:1.35}.experience-row p{max-width:56ch;font-size:.9375rem}.row-end{color:var(--muted);font:var(--font-label)/1.6 var(--mono)}.row-end b{color:var(--accent);margin-left:20px;font-size:1rem;font-weight:400}.research-home{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:80px;display:grid}.research-home h2{margin:16px 0 22px}.research-home .link-arrow{margin-top:24px}.research-preview{border:1px solid var(--line);border-radius:var(--radius);padding:var(--panel-space);background:var(--surface-soft);text-decoration:none}.research-preview h3{margin:20px 0;font-size:1.5rem;line-height:1.4}.research-preview>p{font-size:.9375rem}.contact-banner{margin-block:20px var(--section-space);border-block:1px solid var(--line);padding-block:44px}.contact-banner>div{justify-content:space-between;align-items:center;gap:24px;margin-block:16px 20px;display:flex}.contact-banner h2{font-size:clamp(2.4rem,5vw,4.7rem)}.contact-banner>p:last-child{max-width:62ch;font-size:.9375rem}.site-footer{border-top:1px solid var(--line);background:#09101b;padding:46px 0 24px}.footer-top{justify-content:space-between;align-items:start;gap:30px;padding-bottom:40px;display:flex}.footer-name{letter-spacing:-.02em;font-size:1.2rem;font-weight:650;text-decoration:none}.footer-name span{color:var(--muted);font:var(--font-label)/1.8 var(--mono);letter-spacing:0;margin-top:10px;display:block}.footer-top nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 28px;display:grid}.footer-top nav a{align-items:center;min-height:44px;font-size:.875rem;text-decoration:none;display:inline-flex}.footer-bottom{border-top:1px solid var(--line);font:var(--font-label)/1.7 var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;display:flex}.page-intro{padding-top:clamp(2.5rem,5vw,4.25rem);padding-bottom:clamp(2rem,3.5vw,3rem)}.page-intro h1{max-width:22ch;margin:20px 0 24px}.page-intro>p:not(.eyebrow),.intro-copy{max-width:65ch;line-height:1.8}.catalogue-counts{color:var(--muted);font:var(--font-label)/1.6 var(--mono);flex-wrap:wrap;gap:24px 36px;margin-top:30px;display:flex}.catalogue-counts b{color:var(--text);margin-right:12px;font-size:1rem;font-weight:400}.catalogue{padding-bottom:var(--section-space)}.catalogue-controls{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);padding:24px}.search-row{gap:18px;display:flex}.search-box{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--ink);transition:border-color var(--motion-duration) ease;flex:1;align-items:center;gap:16px;padding:0 18px;display:flex}.search-box:focus-within{border-color:var(--accent)}.search-box>span[aria-hidden]{color:var(--accent);font-size:1.5rem}.search-box input{width:100%;min-width:0;min-height:48px;color:var(--text);outline-offset:0;background:0 0;border:none;padding:12px 0;font-size:.9375rem}.search-box input::placeholder{color:var(--muted);opacity:1}.filter-fieldset{border:none;margin:20px 0 0;padding:0}.filter-list{flex-wrap:wrap;gap:8px;display:flex}.filter-list button{color:var(--muted);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:44px;transition:color var(--motion-duration) ease, background var(--motion-duration) ease, border-color var(--motion-duration) ease;background:0 0;padding:9px 14px;font-size:.8125rem;line-height:1.5}.filter-list button:hover{border-color:var(--accent);color:var(--text)}.filter-list button[aria-pressed=true]{color:var(--ink);background:var(--accent);border-color:var(--accent)}.catalogue-status{flex-wrap:wrap;justify-content:space-between;gap:14px;padding:24px 0 32px;display:flex}.catalogue-status p{font:var(--font-label)/1.7 var(--mono)}.catalogue-status a{color:var(--accent)}.academic-group{border-top:1px solid var(--line);margin-top:76px;padding-top:44px}.empty-state{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);padding:clamp(3rem,6vw,5rem) 24px}.empty-state h2{margin-block:15px}.empty-state p{margin-bottom:24px}.two-column{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:70px;display:grid}.prose{max-width:68ch}.prose>*+*{margin-top:20px}.prose h2,.prose h3{margin-top:32px}.record{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:var(--panel-space)}.record h2,.record h3{margin-block:12px 20px}.record h2{font-size:1.8rem}.record p{font-size:.9375rem}.record>*+*{margin-top:18px}.record .eyebrow{margin-top:0}.record-header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;display:flex}.record-header h3{margin:0}.record-issuer,.record-lead{color:var(--text)}.record-list,.timeline{gap:24px;display:grid}.records-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.timeline-item{border-top:1px solid var(--line);padding-block:32px}.timeline-item .record-header{margin-block:16px}.timeline-item .record-lead{max-width:65ch}.timeline-item h2{margin:12px 0 20px}.definition-list{grid-template-columns:auto 1fr;gap:16px 30px;font-size:.9375rem;display:grid}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0}.contact-links{gap:18px;max-width:800px;display:grid}.contact-record{padding:var(--panel-space);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);text-decoration:none;display:block}.contact-value{color:var(--text);letter-spacing:-.03em;overflow-wrap:anywhere;margin-block:10px;font-size:clamp(1.1rem,3vw,1.65rem);display:block}.contact-record .muted{font-size:.9375rem}.contact-domain{white-space:nowrap}.button-row{flex-wrap:wrap;gap:16px;margin-top:28px;display:flex}.error-page{min-height:70vh}.back-link{min-height:44px;color:var(--muted);align-items:center;gap:10px;margin-bottom:12px;font-size:.875rem;text-decoration:none;display:inline-flex}.project-intro{padding-top:42px}.project-intro h1{max-width:25ch;font-size:clamp(2.3rem,4.7vw,4.25rem);line-height:1.13}.project-intro .tags{margin-top:12px}.detail-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:60px;padding-bottom:80px;display:grid}.detail-cover+.detail-grid{padding-top:clamp(2rem,4vw,3.5rem)}.detail-main{min-width:0}.detail-section{border-bottom:1px solid var(--line);padding-block:32px}.detail-section h2{margin-bottom:20px;font-size:clamp(1.5rem,2.8vw,1.9rem);line-height:1.25}.detail-section h3{margin-bottom:16px}.detail-section p+p{margin-top:18px}.detail-cover{margin-bottom:10px}.image-detail{aspect-ratio:auto;border-radius:var(--radius);background:#f4f5f2;padding:18px;display:block}.image-detail img{object-fit:contain;width:100%;height:auto}.image-detail figcaption{color:#3d4c5b;border-top:1px solid #ccd3d1;margin-top:18px;padding-top:15px;font-size:.875rem;line-height:1.7}.image-detail figcaption a{color:#205e50;align-items:center;min-height:44px;margin-left:8px;display:inline-flex}.image-detail figcaption a:focus-visible{outline-color:#205e50}.detail-gallery{gap:24px;display:grid}.experience-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;margin-top:32px}.gallery-portrait-lead>:first-child{grid-row:span 2}.detail-aside{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);min-width:0;padding:24px}.detail-aside .definition-list{grid-template-columns:1fr;gap:8px;margin:0}.detail-aside .definition-list dt{font:var(--font-label)/1.5 var(--mono)}.detail-aside .definition-list dd:not(:last-child){margin-bottom:12px}.detail-aside>.definition-list+.aside-section,.aside-section+.aside-section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.aside-section h2,.aside-section h3{letter-spacing:-.015em;margin-bottom:15px;font-size:.95rem}.aside-section p,.aside-list{font-size:.9375rem}.aside-list{padding-left:18px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:24px;display:grid}.metric{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;padding:24px}.metric-value{color:var(--text);letter-spacing:-.04em;font-size:1.9rem;font-weight:600;display:block}.metric-label{color:var(--muted);margin-top:6px;font-size:.875rem;display:block}.metric-basis{font:var(--font-label)/1.65 var(--mono);color:var(--accent);margin-top:14px;display:block}.related-record{color:var(--accent);padding-block:12px;font-size:.9375rem;text-decoration:none;display:block}.record.related-record{padding:var(--panel-space)}.catalogue-return{padding-top:28px}.research-authors{color:var(--text);font-size:.9375rem}.record-list .record h3{max-width:40ch;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.32}.record-list .record .prose{max-width:68ch}.discovery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.discovery-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);min-width:0;transition:border-color var(--motion-duration), transform var(--motion-duration) var(--motion-ease);flex-direction:column;padding:26px;text-decoration:none;display:flex}.discovery-card h3{justify-content:space-between;align-items:start;gap:14px;margin:16px 0 14px;font-size:1.25rem;display:flex}.discovery-card h3 span{color:var(--accent);font-weight:400}.discovery-card p:not(.eyebrow){font-size:.9375rem;line-height:1.8}.discovery-card .link-arrow{margin-top:auto;padding-top:18px}.discovery-card:focus-visible{border-color:var(--accent);transform:translateY(-2px)}.home-skills{border-top:1px solid var(--line)}.skills-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.skills-group{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:var(--panel-space)}.skills-group h3{margin:12px 0 24px;font-size:1.5rem}.contact-banner .home-contact-methods{margin-top:24px;display:block}.skills-list{margin:0;padding:0;list-style:none}.skills-list li{border-top:1px solid var(--line);color:var(--text);align-items:baseline;gap:18px;margin:0;padding-block:13px;font-size:.9375rem;display:flex}.skills-list li>span{font:var(--font-label)/1.7 var(--mono);color:var(--accent);min-width:20px}.contact-icon[data-astro-cid-4g4rikql]{width:24px;height:24px;color:var(--accent);flex:none}.contact-methods[data-astro-cid-te6fj3y5]{gap:10px;min-width:0;display:grid}.contact-method[data-astro-cid-te6fj3y5]{min-height:48px;color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-soft);transition:border-color var(--motion-duration) ease, background var(--motion-duration) ease;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:grid}.contact-method[data-astro-cid-te6fj3y5]:hover,.contact-method[data-astro-cid-te6fj3y5]:focus-visible{color:var(--text);border-color:var(--accent);background:var(--surface-state)}.contact-method-symbol[data-astro-cid-te6fj3y5]{place-items:center start;display:grid}.contact-method-copy[data-astro-cid-te6fj3y5]{gap:3px;min-width:0;display:grid}.contact-method-label[data-astro-cid-te6fj3y5]{color:var(--muted);font:var(--font-label)/1.5 var(--mono)}.contact-method-value[data-astro-cid-te6fj3y5]{color:var(--text);overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;line-height:1.6}.email-domain[data-astro-cid-te6fj3y5]{white-space:nowrap}.contact-methods--cards[data-astro-cid-te6fj3y5] .contact-method[data-astro-cid-te6fj3y5]{min-height:76px}.contact-methods--inline[data-astro-cid-te6fj3y5]{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:0 24px}.contact-methods--inline[data-astro-cid-te6fj3y5] .contact-method[data-astro-cid-te6fj3y5]{border:0;border-bottom:1px solid var(--line-strong);background:0 0;border-radius:0;padding:10px 0}.contact-methods--inline[data-astro-cid-te6fj3y5] .contact-method[data-astro-cid-te6fj3y5]:hover,.contact-methods--inline[data-astro-cid-te6fj3y5] .contact-method[data-astro-cid-te6fj3y5]:focus-visible{border-color:var(--accent)}.contact-methods--inline[data-astro-cid-te6fj3y5] .contact-method-copy[data-astro-cid-te6fj3y5]{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.contact-methods--inline[data-astro-cid-te6fj3y5] .contact-method-label[data-astro-cid-te6fj3y5]{flex:0 0 5rem}.contact-methods--inline[data-astro-cid-te6fj3y5] .contact-method-value[data-astro-cid-te6fj3y5]{flex:12rem;min-width:0}.footer-contact-links[data-astro-cid-te6fj3y5]{flex-wrap:wrap;gap:4px 20px;margin-top:14px;display:flex}.footer-contact-links[data-astro-cid-te6fj3y5] a[data-astro-cid-te6fj3y5]{align-items:center;gap:8px;min-height:44px;font-size:.875rem;text-decoration:none;display:inline-flex}.footer-contact-links[data-astro-cid-te6fj3y5] a[data-astro-cid-te6fj3y5]:hover{color:var(--accent)}.footer-identity[data-astro-cid-jo6i4kqk]{flex:1;width:100%;min-width:0;max-width:640px}.footer-profile[data-astro-cid-jo6i4kqk]{gap:8px}}@layer responsive{@media (hover:hover) and (pointer:fine){.project-card:hover,.research-preview:hover,.contact-record:hover,.record.related-record:hover,.discovery-card:hover{background:var(--surface);border-color:#58776e;transform:translateY(-2px)}.button:hover>span[aria-hidden],.link-arrow:hover>span[aria-hidden],.text-link:hover>span[aria-hidden]{transform:translate(3px)}}@media (width>=1450px){.hero{gap:100px}}@media (width<=1100px){:root{--page-gutter:32px}.hero{gap:40px}.flagship-copy{padding:30px}.project-grid{gap:18px}.project-card-body{padding:22px}.experience-row{grid-template-columns:120px 1fr}.row-end{display:none}.detail-grid{grid-template-columns:minmax(0,1fr) 240px;gap:32px}.research-home{gap:40px}.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){:root{--page-gutter:24px}.hero{grid-template-columns:1fr 1fr;gap:28px;padding-block:56px}.hero h1{font-size:3.9rem}.hero .eyebrow{font-size:.75rem}.hero-description{font-size:.9375rem}.hero-brief{font-size:1.125rem}.hero-actions{gap:14px}.identity-top,.identity-bottom{padding:16px}.identity-bottom{flex-wrap:wrap;gap:14px}.focus-strip>div{align-items:start;gap:16px;padding-block:18px}.focus-strip i{margin-inline:12px}.focus-strip p{font-size:.8125rem}.flagship{grid-template-columns:1fr 1fr}.flagship h3{font-size:1.9rem}.flagship-copy{padding:28px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.selected-project-item:last-child{grid-column:1/-1}.selected-project-item:last-child .project-card{grid-template-columns:1fr 1fr;display:grid}.selected-project-item:last-child .image-frame{aspect-ratio:auto;height:100%}.two-column{gap:32px}.detail-grid{grid-template-columns:1fr}.detail-aside{grid-template-columns:1fr 1fr;gap:24px;display:grid}.aside-section+.aside-section,.detail-aside>.definition-list+.aside-section{border:0;margin:0;padding:0}.footer-top{flex-direction:column}}@media (width<=640px){:root{--page-gutter:20px}.hero{grid-template-columns:minmax(0,1fr) clamp(88px,28vw,112px);gap:16px;padding-block:24px 32px}.hero-copy{display:contents}.hero .hero-status{grid-area:1/1/auto/-1;font-size:.8125rem;line-height:1.7}.hero h1{letter-spacing:-.055em;overflow-wrap:anywhere;grid-area:2/1;align-self:center;margin:0;font-size:clamp(1.9rem,8.4vw,2.8rem);line-height:1.08}.hero-focus{font-size:1.6rem}.hero .hero-description{grid-area:3/1/auto/-1;max-width:480px;margin:0;font-size:1.0625rem;line-height:1.7}.hero-university{grid-area:4/1/auto/-1;margin:0;font-size:.9375rem}.hero-actions{grid-area:5/1/auto/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:0;display:grid}.hero-actions .button{gap:10px;padding-inline:12px;font-size:.8125rem}.hero .identity-panel{grid-area:2/2;align-self:center;width:100%}.hero .identity-top,.hero .identity-bottom{display:none}.identity-bottom{flex-wrap:wrap;gap:8px 16px}.focus-strip>div{flex-direction:column;gap:10px}.focus-strip p{font-size:.8125rem;line-height:1.9}.focus-strip i{margin-inline:7px}.section-heading{gap:16px;margin-bottom:28px}.section-description{max-width:none}.flagship{grid-template-columns:1fr}.flagship-copy{padding:28px}.flagship-visual{border-top:1px solid var(--line)}.flagship-visual .image-frame{min-height:230px}.project-grid{grid-template-columns:1fr;gap:20px}.selected-project-list{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line-strong) var(--surface-soft);gap:14px;max-width:100%;padding:3px 0 14px;display:flex;overflow-x:auto}.selected-project-item{scroll-snap-align:start;flex:0 0 88%}.selected-project-item>article{min-width:0}.selected-project-item:last-child .project-card{display:flex}.selected-project-item:last-child .image-frame{aspect-ratio:1.6;height:auto}.selected-projects .project-card h3{font-size:1.2rem}.selected-projects .project-card-body{padding:20px}.selected-projects .project-card-body>p:not(.eyebrow){font-size:1rem;line-height:1.7}.selected-projects .card-meta{padding-top:18px}.selected-projects .flagship{flex-direction:column;display:flex}.selected-projects .flagship-visual{border-top:0;order:-1}.selected-projects .flagship-visual .image-frame{aspect-ratio:1.6;flex:none;min-height:0;padding:12px}.selected-projects .flagship-visual img{max-height:none}.selected-projects .image-note{padding:8px 12px;font-size:.75rem}.selected-projects .flagship-copy{flex:1;justify-content:start;padding:20px}.selected-projects .flagship-copy>.eyebrow{font-size:.75rem;line-height:1.7}.selected-projects .flagship h3{margin-block:12px;font-size:1.25rem;line-height:1.3}.selected-projects .flagship-copy>p:not(.eyebrow){font-size:1rem;line-height:1.7}.selected-projects .flagship-specs{gap:6px 12px;margin-block:16px}.selected-projects .flagship .button{margin-top:auto;padding-inline:16px;font-size:.875rem}.experience-row{grid-template-columns:1fr;gap:14px;padding-block:24px}.research-home{grid-template-columns:1fr;gap:28px}.research-preview{padding:28px}.contact-banner{margin-block:10px 60px}.contact-banner>div{flex-direction:column;align-items:start}.footer-top nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:8px 22px;width:100%}.footer-bottom{justify-content:start;gap:12px 20px}.page-intro{padding-bottom:32px}.catalogue-counts{gap:18px}.catalogue-controls{padding:16px}.search-row{flex-direction:column;gap:12px}.search-row .button{align-self:start;min-height:44px;padding-block:9px;font-size:.875rem}.search-box{gap:10px;padding-inline:12px}.search-box input{font-size:.9375rem}.filter-list{gap:6px}.filter-list button{padding:9px 12px;font-size:.8125rem}.academic-group{margin-top:54px}.two-column,.records-grid{grid-template-columns:1fr;gap:24px}.experience-gallery{grid-template-columns:1fr}.gallery-portrait-lead>:first-child{grid-row:auto}.record{padding:26px}.detail-aside{grid-template-columns:1fr}.aside-section+.aside-section,.detail-aside>.definition-list+.aside-section{border-top:1px solid var(--line);padding-top:20px}.metrics-grid{grid-template-columns:1fr;gap:12px}.metric{padding:18px}.metric-value{font-size:1.5rem}.image-detail{padding:10px}.experience-gallery .image-detail img{max-height:280px}.contact-record{padding:24px}.definition-list{gap:12px 20px}.discovery-grid,.skills-groups{grid-template-columns:1fr}.discovery-card,.skills-group{padding:24px}.selected-work,.experience-home,.discovery-home,.research-home,.home-skills{padding-block:32px}.selected-work{padding-top:20px}.selected-work .section-heading,.experience-home .section-heading,.discovery-home .section-heading,.home-skills .section-heading{gap:12px;margin-bottom:20px}.selected-work .section-heading h2,.experience-home .section-heading h2,.discovery-home .section-heading h2,.research-home h2,.home-skills .section-heading h2{font-size:1.8rem;line-height:1.2}.selected-work .section-description,.home-skills .section-description{font-size:1rem;line-height:1.7}.selected-work .section-heading>.link-arrow{min-height:44px}.experience-home .experience-row{gap:10px;padding-block:20px}.experience-home .experience-row h3{font-size:1.125rem;line-height:1.4}.experience-home .experience-row p{font-size:1rem;line-height:1.7}.discovery-home .discovery-grid{gap:0}.discovery-home .discovery-card{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:17px 0}.discovery-home .discovery-card h3{margin-block:5px 6px;font-size:1.125rem}.discovery-home .discovery-card p:not(.eyebrow){font-size:1rem;line-height:1.65}.research-home{gap:18px}.research-home h2{margin-block:12px}.research-home .link-arrow{margin-top:0}.research-home .research-preview{padding:20px}.research-home .research-preview h3{margin-block:14px;font-size:1.2rem;line-height:1.4}.research-home .research-preview>p{font-size:1rem;line-height:1.7}.research-home .research-preview .link-arrow{margin-top:12px}.home-skills .skills-groups{gap:22px}.home-skills .skills-group{background:0 0;border:0;padding:0}.home-skills .skills-group h3{margin-block:0 14px;font-size:1.125rem}.home-skills .skills-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));column-gap:16px;display:grid}.home-skills .skills-list li{overflow-wrap:anywhere;align-items:start;gap:9px;padding-block:10px;font-size:1rem;line-height:1.6}.home-skills .skills-list li>span{min-width:18px;padding-top:2px;font-size:.75rem}.contact-banner{margin-block:0 32px;padding-block:28px}.contact-banner>div{gap:16px;margin-block:12px 16px}.contact-banner h2{font-size:2.4rem}.contact-banner>p{font-size:1rem;line-height:1.7}.contact-banner .home-contact-methods{margin-top:20px;display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.project-card:is(:hover,:focus-within),.research-preview:is(:hover,:focus-visible),.contact-record:is(:hover,:focus-visible),.record.related-record:is(:hover,:focus-visible),.discovery-card:is(:hover,:focus-visible),.button>span[aria-hidden],.link-arrow>span[aria-hidden],.text-link>span[aria-hidden]{transform:none}}}@layer navigation{.site-header{border-bottom:1px solid var(--line);background:var(--ink)}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:110px;padding-block:22px;display:flex}.wordmark{align-items:center;gap:16px;min-width:0;min-height:44px;text-decoration:none;display:flex}.brand-portrait,.brand-icon{object-fit:contain;object-position:50% 50%;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-soft);width:60px;height:90px;color:var(--accent);flex-shrink:0;display:block}.brand-icon{padding:10px}.wordmark-name{letter-spacing:-.025em;font-size:1.15rem;font-weight:700;line-height:1.4}.wordmark-name>span{letter-spacing:0;color:var(--muted);font-size:.8125rem;font-weight:400;line-height:1.6;display:block}.wordmark-name .wordmark-university{color:var(--accent)}.header-actions{align-items:center;gap:12px;display:flex}.header-actions .button{gap:22px;min-height:44px;padding:11px 18px;font-size:.8125rem}.primary-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:stretch;gap:12px 24px;padding-block:8px;display:flex}.primary-nav a{min-height:44px;color:var(--muted);transition:color var(--motion-duration), border-color var(--motion-duration);border-bottom:2px solid #0000;align-items:center;gap:14px;padding-block:10px;font-size:.875rem;font-weight:550;text-decoration:none;display:flex}.primary-nav a>span,.primary-nav .nav-utility{display:none}.primary-nav a:hover,.primary-nav a:focus-visible,.primary-nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.menu-toggle{color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:44px;padding:10px 13px;font-size:.8125rem;display:none}.menu-toggle[aria-expanded=true]{color:var(--accent);border-color:var(--accent);background:var(--surface-state)}@media (width<=940px){.header-inner{grid-template-columns:minmax(0,1fr) auto;gap:16px;min-height:0;padding-block:12px;display:grid}.wordmark{grid-area:1/1}.menu-toggle:not([hidden]){grid-area:1/2;align-items:center;gap:10px;display:flex}.header-actions{display:none}.brand-portrait,.brand-icon{width:48px;height:72px}.primary-nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:0 24px;padding-block:12px;display:grid}.primary-nav a{justify-content:space-between;min-width:0;padding-block:12px;font-size:.875rem}.primary-nav .nav-utility{display:flex}.primary-nav a>span{color:var(--accent);display:inline}.primary-nav.enhanced{display:none}.primary-nav.enhanced.is-open{display:grid}}@media (width<=640px){.header-inner{gap:12px;padding-block:10px}.wordmark{gap:10px}.brand-portrait,.brand-icon{width:40px;height:60px}.wordmark-name{font-size:.9375rem}.wordmark-name>span{display:none}.primary-nav{column-gap:18px}}@media (width<=360px){.header-inner{gap:14px 10px}.wordmark{gap:9px}.wordmark-name{font-size:.875rem}.menu-toggle{padding-inline:10px}}@media (prefers-reduced-motion:reduce){.primary-nav a{transition:none}}}@layer viewer{.viewer-open{overflow:hidden}.image-viewer{color:var(--text);background:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(1180px,100vw - 32px);max-height:calc(100dvh - 32px);padding:24px;overflow:hidden;box-shadow:0 24px 80px #0006}.image-viewer[open]{animation:viewer-enter .14s var(--motion-ease);grid-template-rows:auto minmax(0,1fr) auto;gap:18px;display:grid}.image-viewer::backdrop{background:#04080ee8}.viewer-header{justify-content:space-between;align-items:start;gap:24px;display:flex}.viewer-header>div{min-width:0}.viewer-header h2{overflow-wrap:anywhere;text-wrap:pretty;max-width:65ch;margin-top:6px;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.4}.image-viewer button,.viewer-original,.viewer-verify{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--text);transition:color var(--motion-duration), border-color var(--motion-duration), background var(--motion-duration);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.8125rem;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.viewer-close{flex-shrink:0}.image-viewer button:hover,.viewer-original:hover,.viewer-verify:hover,.image-viewer button:focus-visible,.viewer-original:focus-visible,.viewer-verify:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--surface-state)}.viewer-verify{color:var(--accent);background:var(--surface-state)}.image-viewer button:disabled{color:var(--muted);border-color:var(--line-strong);background:var(--surface-soft);cursor:default}.image-viewer button[aria-pressed=true]{color:var(--ink);background:var(--accent);border-color:var(--accent)}.viewer-body{overscroll-behavior:contain;min-height:0;margin:-5px;padding:5px;overflow:auto}.viewer-stage{border-radius:var(--radius-sm);overscroll-behavior:contain;background:#f4f5f2;place-items:center;height:min(58dvh,640px);min-height:120px;display:grid;position:relative;overflow:auto}.viewer-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:min(58dvh,640px)}.viewer-loading{color:#263747;text-align:center;background:#f4f5f2;max-width:50ch;padding:20px;font-size:.9375rem;display:none;position:absolute}.is-error .viewer-loading{color:#8c392d}.is-loading .viewer-loading,.is-error .viewer-loading{display:block}.is-loading .viewer-image,.is-error .viewer-image{visibility:hidden}.is-zoomed .viewer-stage{display:block}.is-zoomed .viewer-image{width:auto;max-width:none;height:auto;max-height:none}#viewer-caption{max-width:85ch;margin:16px 0 4px;font-size:.875rem;line-height:1.7}.viewer-toolbar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-top:16px;display:flex}.viewer-position{font:.8125rem/1.5 var(--mono);color:var(--muted);text-align:center;min-width:48px}.viewer-zoom{margin-left:auto}@keyframes viewer-enter{0%{opacity:.94;transform:translateY(3px)}to{opacity:1;transform:none}}@media (width<=640px){.image-viewer{border-radius:var(--radius);width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:16px}.image-viewer[open]{gap:14px}.viewer-header{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;display:grid}.viewer-header>div{display:contents}.viewer-header .eyebrow{grid-area:1/1;align-self:center;font-size:.75rem}.viewer-header h2{grid-area:2/1/auto/-1;margin-top:0}.viewer-close{grid-area:1/2}.viewer-toolbar{gap:8px;padding-top:12px}.image-viewer button,.viewer-original,.viewer-verify{padding:10px 12px;font-size:.8125rem}.viewer-zoom{margin-left:0}.viewer-stage,.viewer-image{max-height:52dvh}.viewer-stage{height:52dvh}}@media (height<=500px) and (width>=641px){.image-viewer{padding:16px}.image-viewer[open]{gap:10px}.viewer-header .eyebrow{display:none}.viewer-header h2{margin-top:0;font-size:1rem}.viewer-toolbar{padding-top:10px}.viewer-stage{height:min(35dvh,150px);min-height:100px}.viewer-image{max-height:min(35dvh,150px)}}@media (prefers-reduced-motion:reduce){.image-viewer[open]{animation:none}.image-viewer button,.viewer-original,.viewer-verify{transition:none}}}
