@font-face{font-family:RefractDIN;src:url(/templates/refract/fonts/dinish-cyrillic.woff2)format("woff2");font-weight:100 900;font-style:oblique 0deg 12deg;font-stretch:100% 125%;font-display:swap;unicode-range:U+400-45F,U+490-491,U+4AE-4AF,U+4E8-4E9}@font-face{font-family:RefractDIN;src:url(/templates/refract/fonts/dinish-latin-ext.woff2)format("woff2");font-weight:100 900;font-style:oblique 0deg 12deg;font-stretch:100% 125%;font-display:swap;unicode-range:U+100-130,U+132-137,U+139-13E,U+141-148,U+14A-151,U+154-17E,U+192,U+19A,U+19F,U+1CD-1D4,U+1E6-1ED,U+1F0,U+1F4-1F5,U+218-21B,U+237,U+23D,U+275,U+2C7,U+2D8-2D9,U+2DB,U+2DD,U+300-304,U+306-308,U+30A-30C,U+312,U+323,U+326-328,U+391,U+3B1,U+1E0C-1E0D,U+1E24-1E25,U+1E30-1E31,U+1E36-1E37,U+1E3E-1E3F,U+1E54-1E55,U+1E5A-1E5B,U+1E62-1E63,U+1E6C-1E6D,U+1E80-1E85,U+1E92-1E93,U+1E9E,U+1EA0-1EA1,U+1EB8-1EB9,U+1ECA-1ECD,U+1EE4-1EE5,U+1EF2-1EF5,U+2070,U+2074-2079,U+25CC,U+2E17,U+FB01-FB02}@font-face{font-family:RefractDIN;src:url(/templates/refract/fonts/dinish-latin.woff2)format("woff2");font-weight:100 900;font-style:oblique 0deg 12deg;font-stretch:100% 125%;font-display:swap;unicode-range:U+0,U+D,U+20-7E,U+A0-AC,U+AE-FF,U+131,U+152-153,U+2BC,U+2C6,U+2DA,U+2DC,U+2010,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+2215}
:where(.refract-site),:where(.refract-site) *,:where(.refract-site) :before,:where(.refract-site) :after{box-sizing:border-box;border:0 solid;margin:0;padding:0}.refract-site{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5}:where(.refract-site) h1,:where(.refract-site) h2,:where(.refract-site) h3,:where(.refract-site) h4,:where(.refract-site) h5,:where(.refract-site) h6{font-size:inherit;font-weight:inherit}:where(.refract-site) ol,:where(.refract-site) ul,:where(.refract-site) menu{list-style:none}:where(.refract-site) img,:where(.refract-site) svg,:where(.refract-site) video,:where(.refract-site) canvas{vertical-align:middle;display:block}:where(.refract-site) img,:where(.refract-site) video{max-width:100%;height:auto}:where(.refract-site) button,:where(.refract-site) input,:where(.refract-site) select,:where(.refract-site) textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background:0 0;border-radius:0}html[data-template^=refract-] body{margin:0}.refract-site{--gutter:4rem;--header-height:4.5rem;--font-body:"RefractDIN", "Helvetica Neue", Arial, sans-serif}:where(.refract-site) *{box-sizing:border-box}html[data-template^=refract-]{scroll-behavior:smooth;background:#252423;scroll-padding-top:0}.refract-site{font-family:var(--font-body);font-variation-settings:"wdth" 125;-webkit-font-smoothing:antialiased;margin:0}:where(.refract-site) button,:where(.refract-site) a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:where(.refract-site) button{font:inherit;color:inherit;cursor:pointer}:where(.refract-site) a{color:inherit;text-decoration:none}:where(.refract-site) button:focus-visible,:where(.refract-site) a:focus-visible,:where(.refract-site) input:focus-visible{outline-offset:6px;outline:2px solid}:where(.refract-site) button{background:0 0;border:0}:where(.refract-site) ::selection{color:#fff;background:#555}:where(.refract-site) h1,:where(.refract-site) h2,:where(.refract-site) h3,:where(.refract-site) h4,:where(.refract-site) p,:where(.refract-site) figure{margin:0}:where(.refract-site) svg{flex-shrink:0}:where(.refract-site) .page-width{width:100%;max-width:1500px;padding-inline:var(--gutter);margin-inline:auto}:where(.refract-site) .skip-link{z-index:100;color:#111;background:#fff;padding:1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}:where(.refract-site) .skip-link:focus{transform:translateY(0)}:where(.refract-site) .portfolio-experience{isolation:isolate;color:var(--scene-foreground);background:var(--scene-background);position:relative}:where(.refract-site) .reference-stage{pointer-events:none;z-index:0;background:var(--scene-background);width:100%;height:100lvh;margin-bottom:-100lvh;position:sticky;top:0;overflow:hidden}
:where(.refract-site) .intro-chapter{touch-action:pan-y pinch-zoom}:where(.refract-site) .portfolio-experience[data-globe-turn=ready]{cursor:grab}:where(.refract-site) .portfolio-experience[data-globe-turn=active]{cursor:grabbing;-webkit-user-select:none;user-select:none}:where(.refract-site) .reference-stage>canvas{width:100%;height:100%;display:block;position:absolute;inset:0}:where(.refract-site) .site-header{height:var(--header-height);z-index:2;justify-content:space-between;align-items:center;gap:1.5rem;display:flex;position:relative}:where(.refract-site) .wordmark{white-space:nowrap;font-size:1.125rem;font-weight:750}:where(.refract-site) .site-header nav{align-items:center;display:flex}:where(.refract-site) .intro-chapter{height:300lvh;position:relative}:where(.refract-site) .intro-page{height:calc(100lvh - var(--header-height));pointer-events:none;flex-direction:column;justify-content:space-between;padding-top:4rem;padding-bottom:4rem;display:flex;position:relative}:where(.refract-site) .intro-text{pointer-events:auto;max-width:27rem}:where(.refract-site) .intro-text h1{letter-spacing:-.02em;margin-bottom:.365em;font-size:4rem;font-weight:700;line-height:.865}:where(.refract-site) .intro-text p{max-width:21rem;font-size:1.25rem;font-weight:600;line-height:1.25}:where(.refract-site) .intro-text .intro-position{max-width:20rem;margin-top:1.5rem;font-size:.9375rem;font-weight:500}:where(.refract-site) .intro-links{pointer-events:auto;gap:.75rem;display:flex}:where(.refract-site) .intro-links a{border:1px solid #aaa5;border-radius:.25rem;align-items:center;padding:.7rem .8rem;display:flex}:where(.refract-site) .intro-links a:not(:first-child):hover{color:#fff;background:#111;border-color:#111}:where(.refract-site) .intro-links svg{width:17px;height:17px}:where(.refract-site) .anatomy-chapter{pointer-events:none;height:400lvh;position:relative}:where(.refract-site) .fixed-copy{z-index:2;opacity:0;visibility:hidden;pointer-events:none;height:100lvh;max-height:64rem;padding-top:4rem;padding-bottom:4rem;position:fixed;top:0;left:50%;transform:translate(-50%)}:where(.refract-site) .fixed-copy .reference-text{pointer-events:auto}:where(.refract-site) .reference-text{width:100%;max-width:27rem;position:relative}:where(.refract-site) .reference-text h2{letter-spacing:-.018em;text-wrap:balance;margin-bottom:.365em;font-size:3.25rem;font-weight:700;line-height:.865}:where(.refract-site) .reference-text p{max-width:21rem;font-size:1.125rem;font-weight:500;line-height:1.25}:where(.refract-site) .feature-gallery,:where(.refract-site) .feature-chapter{pointer-events:none;position:relative}:where(.refract-site) .feature-content{max-height:100%;padding-top:4rem;padding-bottom:4rem;position:relative}:where(.refract-site) .feature-content .reference-text{opacity:.5;transition:opacity .25s;bottom:4rem}:where(.refract-site) .feature-chapter.is-active{pointer-events:auto}:where(.refract-site) .feature-chapter.is-active .reference-text{opacity:1}:where(.refract-site) .feature-links{gap:1rem;max-width:16rem;margin-top:1rem;padding-top:1rem;display:flex}:where(.refract-site) .feature-links a{align-items:center;font-weight:650;display:flex}:where(.refract-site) .feature-links svg{width:16px;height:16px}:where(.refract-site) .modules-chapter{pointer-events:none;height:400lvh;position:relative}:where(.refract-site) .tools-anchor{position:absolute;top:35%;left:0}:where(.refract-site) .modules-chapter .reference-text{max-width:24rem}:where(.refract-site) .scene-tool{margin-top:1.75rem}:where(.refract-site) .scene-tool h3{margin-bottom:.35rem;font-size:1.25rem;font-weight:650;line-height:1.15}:where(.refract-site) .scene-tool h3 a{align-items:center;gap:.5rem;display:inline-flex}:where(.refract-site) .scene-tool h3 svg{width:18px;height:18px}:where(.refract-site) .scene-tool p{max-width:21rem;font-size:.9375rem;line-height:1.35}:where(.refract-site) .exit-chapter{height:200lvh;position:relative}:where(.refract-site) .centered-copy{text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;gap:1.5rem;padding-bottom:4rem;display:flex}:where(.refract-site) .centered-copy h2{font-size:3.25rem;font-weight:650;line-height:1}:where(.refract-site) .centered-copy>a{pointer-events:auto;align-items:center;gap:.6rem;font-size:1.1rem;display:flex}:where(.refract-site) .reference-navigation{z-index:10;color:#ddd;align-items:center;display:flex;position:fixed}:where(.refract-site) .portfolio-experience[data-nav-visible=false] .reference-navigation{opacity:0;visibility:hidden;pointer-events:none}:where(.refract-site) .motion-button{border-right:1px solid #ffffff20;place-items:center;display:grid}:where(.refract-site) .motion-button:hover{color:#fff}:where(.refract-site) .motion-button svg{width:16px;height:16px}:where(.refract-site) .chapter-navigation{align-items:center;min-width:0;display:flex;position:relative}:where(.refract-site) .chapter-ticks{pointer-events:none;align-items:center;width:100%;height:100%;display:flex}:where(.refract-site) .chapter-ticks>span{flex:1;justify-content:center;height:100%;display:flex}:where(.refract-site) .chapter-ticks i{background:#777;width:1px;height:.45rem}:where(.refract-site) .chapter-ticks [data-active=true] i{background:#fff;height:.85rem}:where(.refract-site) .chapter-slider{opacity:0;cursor:grab;touch-action:none;width:100%;margin:0;position:absolute;inset:0}:where(.refract-site) .chapter-slider:active{cursor:grabbing}:where(.refract-site) .chapter-cursor{pointer-events:none;position:absolute}:where(.refract-site) .profile-content{z-index:11;position:relative}:where(.refract-site) .content-section{padding-block:5rem}:where(.refract-site) .content-section h2{letter-spacing:-.015em;margin-bottom:3rem;font-size:3.25rem;font-weight:650;line-height:.865}:where(.refract-site) .content-section h3{font-size:1.5rem;font-weight:650;line-height:1.2}:where(.refract-site) .content-section p{font-size:1.125rem;font-weight:400;line-height:1.55}:where(.refract-site) .content-section a:hover{text-underline-offset:4px;text-decoration:underline}:where(.refract-site) .content-section a svg{vertical-align:middle;width:16px;height:16px;margin-left:.5rem;display:inline}:where(.refract-site) .about-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:clamp(3rem,10vw,10rem);width:100%;display:grid}:where(.refract-site) .about-layout p{max-width:40rem;margin-bottom:1.5rem}:where(.refract-site) .about-layout p>a{align-items:center;margin-right:1.25rem;font-size:.875rem;display:inline-flex}:where(.refract-site) .about-layout figure{justify-self:end;width:100%;max-width:300px;margin-top:0}:where(.refract-site) .about-layout img{aspect-ratio:1;object-fit:cover;width:100%;max-width:100%;height:auto;display:block}:where(.refract-site) .about-layout figcaption{color:#999;margin-top:.6rem;font-size:.8125rem}:where(.refract-site) dl{margin:2rem 0 0;font-size:.9375rem;line-height:1.5}:where(.refract-site) dl>div{grid-template-columns:6rem 1fr;gap:1rem;margin-top:.75rem;display:grid}:where(.refract-site) dt{color:#999}:where(.refract-site) dd{margin:0}:where(.refract-site) .news-list article,:where(.refract-site) .experience-list article{border-top:1px solid #303030;grid-template-columns:11rem minmax(0,1fr);gap:2rem;padding:1.65rem 0;display:grid}:where(.refract-site) .news-list time,:where(.refract-site) .experience-list>article>span{color:#999;font-size:.9rem;line-height:1.5}:where(.refract-site) .news-list p{max-width:58rem}:where(.refract-site) .experience-list p{color:#bcbcbc;max-width:58rem;margin-top:.5rem}:where(.refract-site) .publications-heading{margin-top:5rem;margin-bottom:1rem}:where(.refract-site) .publication-list{counter-reset:publications;margin:0 0 2rem;padding:0;list-style:none}:where(.refract-site) .publication-list li{counter-increment:publications;border-top:1px solid #303030;padding:1.5rem 0 1.5rem 3.25rem;position:relative}:where(.refract-site) .publication-list li:before{content:counter(publications, decimal-leading-zero);color:#777;font-size:.875rem;position:absolute;top:1.7rem;left:0}:where(.refract-site) .publication-list li>div>span{color:#aaa;font-size:.8125rem}:where(.refract-site) .publication-list h4{max-width:64rem;margin:.5rem 0;font-size:1.4rem;font-weight:600;line-height:1.3}:where(.refract-site) .publication-list p{color:#aaa;font-size:.95rem;line-height:1.45}:where(.refract-site) .publication-list .paper-highlight{color:#ddd;margin-top:.5rem}:where(.refract-site) .contact-section{text-align:center;padding-bottom:0}:where(.refract-site) .contact-section h2{margin-bottom:2rem}:where(.refract-site) .contact-email{overflow-wrap:anywhere;font-size:clamp(1.1rem,2.3vw,2.3rem);font-weight:600}:where(.refract-site) .contact-email svg{width:22px!important;height:22px!important}:where(.refract-site) .contact-links{flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:2.5rem;font-size:.875rem;display:flex}:where(.refract-site) .contact-section footer{color:#999;border-top:1px solid #303030;justify-content:space-between;align-items:center;min-height:6rem;margin-top:7rem;font-size:.8125rem;display:flex}:where(.refract-site) .research-figure{right:var(--stage-gutter);pointer-events:auto;top:50%}:where(.refract-site) .research-figure a{display:block}:where(.refract-site) .research-figure img{width:100%;height:auto;display:block}:where(.refract-site) .research-figure .figure-link{align-items:center;gap:.5rem;display:inline-flex}:where(.refract-site) .research-figure .figure-link svg{width:14px;height:14px}:where(.refract-site) .portfolio-experience{--stage-gutter:max(var(--gutter), calc((100vw - 1500px) / 2 + var(--gutter)));--research-rail:clamp(20rem, 30vw, 27rem)}:where(.refract-site) .feature-content{max-width:none;padding-inline:var(--stage-gutter)}:where(.refract-site) .feature-content .reference-text{width:var(--research-rail);max-width:var(--research-rail);left:var(--stage-gutter)}:where(.refract-site) .feature-content .reference-text p{font-size:clamp(.875rem,1.05vw,1.125rem);line-height:1.4}:where(.refract-site) .feature-links a{min-height:44px}:where(.refract-site) .scene-tool-links{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}:where(.refract-site) .scene-tool-links a{align-items:center;gap:.35rem;min-height:32px;font-size:.75rem;display:inline-flex}:where(.refract-site) .scene-tool-links svg{width:13px;height:13px}:where(.refract-site) .site-header nav a{align-items:center;display:inline-flex}:where(.refract-site) .about-layout p>a{min-height:44px}
@media (min-height:1024px) and (min-width:900px){:where(.refract-site) .intro-page{max-height:none;padding-top:calc(50lvh - 28rem);padding-bottom:calc(50lvh - 28rem)}:where(.refract-site) .fixed-copy{top:calc(50lvh - 32rem)}:where(.refract-site) .reference-navigation{bottom:calc(50lvh - 28rem)}}@media (max-width:1100px) and (min-width:900px){:where(.refract-site) .reference-text{max-width:23rem}:where(.refract-site) .reference-text h2{font-size:2.75rem}:where(.refract-site) .reference-text p{max-width:18rem;font-size:1rem}}@media (max-width:899px){.refract-site{--gutter:1rem}:where(.refract-site) .site-header{align-content:center;gap:.75rem;padding-block:.65rem}:where(.refract-site) .wordmark{font-size:1rem}:where(.refract-site) .site-header nav{flex-wrap:wrap}:where(.refract-site) .intro-page{max-height:none;padding-top:1.75rem;padding-bottom:1rem}:where(.refract-site) .intro-text{max-width:25rem}:where(.refract-site) .intro-text h1{font-size:2.5rem;line-height:.865}:where(.refract-site) .intro-text h1 br{display:none}:where(.refract-site) .intro-text p{max-width:20rem;margin-top:.8rem;font-size:1rem;line-height:1.25}:where(.refract-site) .intro-text .intro-position{margin-top:.8rem;font-size:.8125rem}:where(.refract-site) .intro-chapter{height:250lvh}:where(.refract-site) .anatomy-chapter{height:300lvh}:where(.refract-site) .fixed-copy{max-height:100lvh;padding-block:1.5rem}:where(.refract-site) .reference-text{max-width:100%}:where(.refract-site) .reference-text h2{max-width:25rem;margin-bottom:.5rem;font-size:2rem;line-height:1}:where(.refract-site) .reference-text p{max-width:26rem;font-size:.9375rem;line-height:1.3}:where(.refract-site) .feature-content{padding-block:1rem}:where(.refract-site) .feature-content .reference-text{padding-top:0;inset:1rem 1rem auto}:where(.refract-site) .feature-chapter.is-active .reference-text{opacity:1;visibility:visible}:where(.refract-site) .feature-links{margin-top:.55rem;padding-top:.55rem}:where(.refract-site) .feature-links a{font-size:.75rem}:where(.refract-site) .modules-chapter{height:300lvh}:where(.refract-site) .modules-chapter .reference-text{max-width:100%}:where(.refract-site) .scene-tool{max-width:100%;margin-top:1rem}:where(.refract-site) .scene-tool h3{font-size:1rem}:where(.refract-site) .scene-tool p{max-width:28rem;font-size:.8125rem}:where(.refract-site) .centered-copy{padding-bottom:5rem}:where(.refract-site) .centered-copy h2{font-size:2.5rem}:where(.refract-site) .centered-copy>a{font-size:.875rem}:where(.refract-site) .reference-navigation{bottom:1rem;right:1rem}:where(.refract-site) .content-section{padding-block:3rem}:where(.refract-site) .content-section h2{margin-bottom:2rem;font-size:2.5rem}:where(.refract-site) .content-section p{font-size:1rem}:where(.refract-site) .about-layout figure{width:60%;max-width:260px}:where(.refract-site) .about-layout p{max-width:100%}:where(.refract-site) .news-list article,:where(.refract-site) .experience-list article{grid-template-columns:1fr;gap:.6rem;padding-block:1.35rem}:where(.refract-site) .content-section h3{font-size:1.3rem}:where(.refract-site) .publication-list h4{font-size:1.15rem}:where(.refract-site) .publication-list p{font-size:.85rem}:where(.refract-site) .publication-list li{padding-left:2rem}:where(.refract-site) .contact-links{gap:1rem;font-size:.75rem}:where(.refract-site) .contact-section footer{margin-top:4rem;font-size:.6875rem}}@media (prefers-reduced-motion:reduce){html[data-template^=refract-]{scroll-behavior:auto}:where(.refract-site) *,:where(.refract-site) :before,:where(.refract-site) :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:where(.refract-site) .intro-chapter,:where(.refract-site) .anatomy-chapter,:where(.refract-site) .modules-chapter{height:180lvh}}
:where(.refract-site) .intro-page,:where(.refract-site) .fixed-copy{max-width:1500px;padding-inline:var(--gutter)}:where(.refract-site) .intro-text,:where(.refract-site) .fixed-copy .reference-text{max-width:var(--research-rail)}:where(.refract-site) .feature-chapter{height:auto;min-height:100lvh}:where(.refract-site) .feature-content{height:auto;min-height:100lvh;padding-block:clamp(2rem,6vh,4rem)}:where(.refract-site) .feature-content .reference-text{padding-top:0;position:relative;inset:auto}:where(.refract-site) .feature-content .reference-text h2{font-size:clamp(2rem,3vw,3.25rem);line-height:.95}:where(.refract-site) .feature-content .reference-text p{max-width:21rem}:where(.refract-site) .research-figure{width:var(--research-rail);max-width:18.75rem;margin-top:1.25rem;position:relative;inset:auto;transform:none}@media (max-width:899px){:where(.refract-site) .intro-page,:where(.refract-site) .fixed-copy{padding-inline:1rem}:where(.refract-site) .intro-text,:where(.refract-site) .fixed-copy .reference-text{max-width:100%}:where(.refract-site) .modules-chapter .fixed-copy{height:auto;max-height:none;position:absolute;top:35%;left:0;transform:none}:where(.refract-site) .feature-chapter{height:auto;min-height:100lvh}:where(.refract-site) .feature-content{flex-direction:column;padding:2rem 1rem 5rem;display:flex}:where(.refract-site) .feature-content .reference-text{opacity:1;visibility:visible;width:100%;max-width:100%;position:relative;inset:auto}:where(.refract-site) .feature-content .reference-text h2{max-width:30rem}:where(.refract-site) .feature-content .reference-text p{max-width:34rem;font-size:.875rem;line-height:1.4}:where(.refract-site) .feature-gallery,:where(.refract-site) .feature-chapter{pointer-events:auto}:where(.refract-site) .research-figure{align-self:center;width:100%;position:relative;inset:auto;transform:none}:where(.refract-site) .research-figure figcaption{font-size:.75rem}:where(.refract-site) .about-layout figure{justify-self:start}}@media (min-width:600px) and (max-width:899px){:where(.refract-site) .about-layout{grid-template-columns:minmax(0,1fr) 220px;gap:2rem}:where(.refract-site) .about-layout figure{justify-self:end;width:100%}}@media (min-width:600px) and (max-width:899px) and (max-height:599px){:where(.refract-site) .intro-text,:where(.refract-site) [data-fixed-copy=anatomy] .reference-text{max-width:45%}}
.refract-site{--scene-background:#252423;--scene-foreground:#f6f4f2;--paper:#dad5d0;--panel:#302e2d;--muted:#cccac8;--accent:#ff4b4b;--font-ui:ui-monospace, SFMono-Regular, Consolas, monospace;--control-right:max(4rem, calc((100vw - 1500px + 128px) / 2));--control-bottom:4rem;color:#f6f4f2;background:#252423}:where(.refract-site) .site-header{width:100%;max-width:1500px;margin-inline:auto;padding-inline:1.5rem}:where(.refract-site) .site-header nav{font-family:var(--font-ui);text-transform:uppercase;gap:1.5rem;font-size:.75rem;line-height:1}:where(.refract-site) .site-header nav a{color:#b6b3af;gap:6px;min-height:44px}:where(.refract-site) .site-header nav a:hover{color:#f6f4f2;text-decoration:none}:where(.refract-site) .site-header nav svg{width:18px;height:18px;display:block}:where(.refract-site) .site-header nav>a:last-of-type{background:var(--contact-background);min-height:32px;color:var(--contact-foreground);border-radius:4px;padding-inline:12px;transition:background-color .18s,color .18s}:where(.refract-site) .site-header nav>a:last-of-type:hover{background:var(--contact-hover-background);color:var(--contact-foreground)}:where(.refract-site) .wordmark{color:#f6f4f2}:where(.refract-site) .site-header .menu-featured{display:none}:where(.refract-site) .menu-toggle{justify-content:center;align-items:center;width:44px;height:44px;display:none}:where(.refract-site) .menu-backdrop{display:none}:where(.refract-site) .intro-text p{color:var(--muted)}:where(.refract-site) .intro-text .intro-position{color:#aaa6a2}:where(.refract-site) .intro-page{max-height:none}:where(.refract-site) .intro-links a{color:#cccac8;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#66615b;min-height:48px}:where(.refract-site) .intro-links a:first-child{color:#f6f4f2;background:#302e2d;border-color:#302e2d}:where(.refract-site) .intro-links a:hover{color:#fff;background:#3b3936;border-color:#85827e}:where(.refract-site) .intro-links a:first-child:hover{background:#3b3936;border-color:#3b3936}:where(.refract-site) [data-fixed-copy=anatomy] h2,:where(.refract-site) [data-fixed-copy=tools] h2{max-width:27rem;font-size:2.5rem;line-height:.95}:where(.refract-site) [data-fixed-copy=anatomy] p{color:inherit;font-size:1.25rem;font-weight:600;line-height:1.25}:where(.refract-site) [data-fixed-copy=tools] .reference-text{color:inherit;text-shadow:none}:where(.refract-site) .feature-content .reference-text{text-shadow:none}:where(.refract-site) .feature-chapter:first-child{--accent:var(--accent-red)}:where(.refract-site) .feature-chapter:nth-child(2){--accent:var(--accent-orange)}:where(.refract-site) .feature-chapter:nth-child(3){--accent:var(--accent-green)}:where(.refract-site) .feature-chapter:nth-child(4){--accent:var(--accent-cyan)}:where(.refract-site) .feature-content .reference-text h2{color:var(--accent)}:where(.refract-site) .feature-content .reference-text p{color:#cccac8}:where(.refract-site) .feature-index{font-family:var(--font-ui);color:#aaa6a2;text-transform:uppercase;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem;font-size:.75rem;line-height:1;display:flex}:where(.refract-site) .feature-index b{font-weight:inherit;color:var(--accent)}:where(.refract-site) .feature-links{border-color:#77726d}:where(.refract-site) .feature-links a{font-family:var(--font-ui);color:#aaa6a2;text-transform:uppercase;gap:.75rem;font-size:.8125rem}:where(.refract-site) .feature-links a:hover{color:var(--accent)}:where(.refract-site) .research-figure{background:var(--panel);border-radius:12px;padding:12px;transition:none;overflow:hidden}:where(.refract-site) .research-figure img{object-fit:contain;max-height:180px}:where(.refract-site) .research-figure figcaption{color:#aaa6a2;margin-top:.65rem;font-size:.6875rem;line-height:1.4}:where(.refract-site) .research-figure .figure-link{font-family:var(--font-ui);text-transform:uppercase;color:#cccac8;min-height:28px;margin-top:.35rem;font-size:.6875rem}:where(.refract-site) .research-figure .figure-link:hover{color:var(--accent)}:where(.refract-site) .reference-navigation{right:var(--control-right);bottom:var(--control-bottom);background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:12px;gap:0;width:21rem;height:40px;padding:0 16px}:where(.refract-site) .chapter-navigation{background-image:linear-gradient(90deg,#ffffff26 1px,#0000 1px);background-size:1.53846% 8px;flex:1;align-self:center;height:12px}:where(.refract-site) .chapter-ticks{position:absolute;inset:0}:where(.refract-site) .chapter-ticks>span{border-left:1px solid #ffffff50;align-items:stretch}:where(.refract-site) .chapter-ticks>span:last-child{border-right:1px solid #ffffff50}:where(.refract-site) .chapter-ticks i{display:none}:where(.refract-site) .chapter-slider{height:40px;top:-14px;bottom:auto}:where(.refract-site) .chapter-cursor{background:var(--accent-red);border-radius:3px;width:3px;height:16px;top:-2px;bottom:auto}:where(.refract-site) .chapter-navigation:focus-within{outline-offset:8px;outline:1px solid #cccac8}
:where(.refract-site) .motion-button{z-index:50;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:fixed;bottom:1rem;left:1rem;overflow:hidden}:where(.refract-site) .motion-button:focus-visible{clip-path:none;background:var(--panel);color:#f6f4f2;border-radius:4px;gap:8px;width:auto;height:40px;padding:0 12px;display:flex}:where(.refract-site) .back-to-home{right:max(16px, calc(var(--control-right) - 48px));bottom:var(--control-bottom);z-index:30;background:var(--panel);color:#cccac8;border:0;border-radius:12px;place-items:center;width:40px;height:40px;transition:opacity .25s,transform .25s,visibility .25s,color .2s;display:grid;position:fixed}:where(.refract-site) .back-to-home svg{width:18px;height:18px;transition:transform .2s;transform:rotate(-90deg)}:where(.refract-site) .back-to-home span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}:where(.refract-site) .back-to-home:hover{color:var(--accent-red)}:where(.refract-site) .back-to-home:hover svg{transform:rotate(-90deg)translate(2px)}:where(.refract-site) .back-to-home[data-visible=false]{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(100%)}:where(.refract-site) .profile-content{background:var(--profile-background);color:var(--profile-foreground)}:where(.refract-site) .content-section p{color:#cccac8}:where(.refract-site) .news-list article,:where(.refract-site) .experience-list article,:where(.refract-site) .publication-list li,:where(.refract-site) .contact-section footer{border-color:#ffffff1a}:where(.refract-site) .content-section a:hover{color:var(--accent-red)}@media (min-width:900px){:where(.refract-site) .intro-page{padding-top:4rem;padding-bottom:4rem}:where(.refract-site) .feature-chapter{height:100lvh;min-height:0}:where(.refract-site) .feature-content{max-width:1500px;height:100%;min-height:0;max-height:100%;padding:4rem}:where(.refract-site) .feature-content .reference-text{width:27rem;max-width:27rem;padding-top:0;position:absolute;top:50%;bottom:auto;left:4rem;transform:translateY(-50%)}:where(.refract-site) .feature-content .reference-text h2{text-wrap:pretty;font-size:3.25rem;line-height:.95}:where(.refract-site) .feature-content .reference-text p{max-width:21rem;font-size:1.125rem;font-weight:600;line-height:1.25}:where(.refract-site) .research-figure-slot{right:var(--control-right);bottom:calc(var(--control-bottom) + 48px);z-index:8;pointer-events:none;border-radius:12px;width:21rem;position:fixed;overflow:hidden}:where(.refract-site) .research-figure{opacity:0;visibility:hidden;pointer-events:none;will-change:transform, opacity;width:100%;max-width:none;margin:0;position:relative;inset:auto;transform:translateY(120%)}:where(.refract-site) .feature-chapter.is-active .research-figure{pointer-events:auto}}@media (min-width:900px) and (max-width:1199px){:where(.refract-site) .feature-content .reference-text{width:21rem;max-width:21rem}:where(.refract-site) .feature-content .reference-text h2{font-size:2.5rem}:where(.refract-site) .feature-content .reference-text p{max-width:18rem;font-size:1rem}:where(.refract-site) .research-figure-slot{width:18rem}}@media (min-height:1024px) and (min-width:900px){.refract-site{--control-bottom:calc((100lvh - 64rem) / 2 + 4rem)}}@media (max-width:899px){.refract-site{--control-right:1rem;--control-bottom:max(1rem, env(safe-area-inset-bottom))}:where(.refract-site) .site-header{flex-wrap:nowrap;padding-inline:1rem}:where(.refract-site) .site-header nav{gap:1rem;font-size:.6875rem}:where(.refract-site) .reference-navigation{width:calc(100% - 2rem);max-width:none;height:40px}:where(.refract-site) .chapter-navigation{background-size:.769231% 8px}:where(.refract-site) .back-to-home{right:1rem;bottom:calc(var(--control-bottom) + 48px)}.refract-site:has(.portfolio-experience[data-nav-visible=false]) .back-to-home{bottom:calc(var(--control-bottom) + 6.5rem)}:where(.refract-site) .feature-content .reference-text h2{font-size:2rem;line-height:.95}:where(.refract-site) [data-fixed-copy=anatomy] h2,:where(.refract-site) [data-fixed-copy=tools] h2{font-size:2rem}:where(.refract-site) [data-fixed-copy=anatomy] p{font-size:1rem}:where(.refract-site) .research-figure{max-width:440px;margin-top:0}:where(.refract-site) .research-figure img{max-height:none}}@media (max-width:1199px){:where(.refract-site) .site-header{z-index:20;align-content:normal;gap:1rem;padding-block:0}:where(.refract-site) .menu-toggle{z-index:3;width:var(--header-height);height:var(--header-height);color:#cccac8;display:flex;position:absolute;top:0;right:0}:where(.refract-site) .site-header[data-menu-open=true] .menu-toggle{position:fixed}:where(.refract-site) .menu-backdrop{z-index:1;display:block;position:fixed;inset:0}:where(.refract-site) .site-header nav{z-index:2;visibility:hidden;background:#252423;border:0;flex-flow:column;align-items:stretch;height:100dvh;display:flex;position:fixed;top:0;left:auto;right:0;overflow-y:auto}:where(.refract-site) .site-header[data-menu-open=true] nav{visibility:visible;transform:translate(0)}:where(.refract-site) .site-header nav a{border:0;flex-shrink:0;justify-content:flex-start}:where(.refract-site) .site-header nav>a:last-of-type{background:0 0;border:0;min-height:40px;padding-inline:0}:where(.refract-site) .site-header nav svg{display:block}}@media (max-width:899px){.refract-site{--header-height:3.5rem}}
:where(.refract-site) .intro-footer{pointer-events:auto;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}:where(.refract-site) .intro-links{flex-shrink:0;align-items:center}:where(.refract-site) .intro-links a{font-family:var(--font-ui);letter-spacing:.01em;text-transform:uppercase;font-variation-settings:normal;gap:8px;height:48px;padding-block:0;padding-inline:16px;font-size:12px;font-weight:600;line-height:1.6}:where(.refract-site) .intro-links .learn-more{text-transform:uppercase}:where(.refract-site) .learn-more{overflow:hidden}:where(.refract-site) .learn-more-arrows{flex-shrink:0;width:24px;height:24px;display:block;position:relative}:where(.refract-site) .learn-more-arrows svg{opacity:.65;width:24px;height:24px;animation:1s linear infinite refract-learn-arrow-in;position:absolute;left:0}:where(.refract-site) .learn-more-arrows svg:first-child{top:-20px}:where(.refract-site) .learn-more-arrows svg:last-child{animation-name:refract-learn-arrow-out;top:0}@keyframes refract-learn-arrow-in{0%{opacity:0;transform:translateY(0)}to{opacity:.65;transform:translateY(20px)}}@keyframes refract-learn-arrow-out{0%{opacity:.65;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}:where(.refract-site) .motion-paused .learn-more-arrows svg{animation-play-state:paused}:where(.refract-site) .rotating-topics{vertical-align:baseline;display:inline-grid}:where(.refract-site) .rotating-topic{white-space:nowrap;grid-area:1/1}:where(.refract-site) .rotating-topic [data-char]{transform-origin:0 95%}:where(.refract-site) .featured-link{color:#aaa6a2;flex-shrink:0;width:48px;height:48px;position:relative}:where(.refract-site) .featured-link>span{white-space:nowrap;font-size:12px;line-height:1.2;position:absolute;bottom:calc(100% + 8px);right:0}:where(.refract-site) .featured-link>a{width:48px;height:48px;transition:color .15s;display:block;position:relative}:where(.refract-site) .featured-link-frame{opacity:.5;width:100%;height:100%;transition:opacity .15s}:where(.refract-site) .featured-link-logo,:where(.refract-site) .featured-link-monogram{width:24px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:where(.refract-site) .featured-link-monogram{text-align:center;font-family:Arial,sans-serif;font-size:19px;font-weight:700;line-height:24px}:where(.refract-site) .featured-link>a:hover .featured-link-frame,:where(.refract-site) .featured-link>a:focus-visible .featured-link-frame{opacity:1}:where(.refract-site) .featured-link>a:hover{color:var(--accent)}:where(.refract-site) .about-layout>figure{grid-area:1/2}:where(.refract-site) .about-layout>div{grid-area:1/1}:where(.refract-site) .feature-links{opacity:.001;border-top:0;transition:opacity .25s .15s;position:relative}:where(.refract-site) .is-active .feature-links{opacity:1;transition-delay:0s}:where(.refract-site) .feature-links:before{content:"";transform-origin:0;background:#77726d;height:1px;transition:transform .3s cubic-bezier(.76,0,.24,1);position:absolute;top:0;left:0;right:0;transform:scaleX(.001)}:where(.refract-site) .is-active .feature-links:before{transform:scaleX(1)}:where(.refract-site) .feature-links a{opacity:.001;transition:opacity .25s .35s}:where(.refract-site) .is-active .feature-links a{opacity:1}:where(.refract-site) .feature-links a svg,:where(.refract-site) .scene-tool a svg{transition:transform .2s}:where(.refract-site) .feature-links a svg{transition:transform .25s .35s;transform:translate(-.25rem)}:where(.refract-site) .is-active .feature-links a svg{transform:translate(0)}:where(.refract-site) .is-active .feature-links a:hover svg,:where(.refract-site) .scene-tool a:hover svg{transition-delay:0s;transform:translate(2px,-2px)}@media (max-width:899px){:where(.refract-site) .about-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}:where(.refract-site) .about-layout>figure{grid-area:1/1;justify-self:start;width:clamp(160px,55vw,220px);max-width:100%}:where(.refract-site) .about-layout>div{grid-area:2/1}:where(.refract-site) .intro-footer{gap:1rem}:where(.refract-site) .intro-links{flex-shrink:1;min-width:0}:where(.refract-site) .intro-links a{white-space:nowrap;padding:.625rem}:where(.refract-site) .intro-links a>svg{width:18px;height:18px}:where(.refract-site) .featured-link>span{font-size:10px}:where(.refract-site) .learn-more-arrows{width:18px}:where(.refract-site) .learn-more-arrows svg{width:18px;left:0}}@media (max-width:359px){:where(.refract-site) .intro-footer{gap:.5rem}:where(.refract-site) .intro-links a{gap:.25rem;padding:.5rem}:where(.refract-site) .intro-links{gap:.375rem}}@media (min-width:600px) and (max-width:899px) and (max-height:599px){:where(.refract-site) .intro-page{padding-top:1rem}:where(.refract-site) .intro-text{max-width:calc(50vw - 2rem - min(21.5vw,39.5vh))}:where(.refract-site) .intro-text h1{font-size:clamp(1.65rem,4.5vw,2.5rem)}:where(.refract-site) .intro-text p{font-size:.875rem}:where(.refract-site) .intro-text .intro-position{font-size:.75rem}}@media (prefers-reduced-motion:reduce){:where(.refract-site) .learn-more-arrows svg{transform:none;animation:none!important}:where(.refract-site) .learn-more-arrows svg:first-child{display:none}:where(.refract-site) .feature-links:before{transform:scaleX(1)}}.refract-site[data-style=light]{background:var(--paper);color:var(--scene-foreground)}html[data-template=refract-light],.refract-site[data-style=light]{background:#fff}.refract-site[data-style=light] .wordmark{color:#111}.refract-site[data-style=light] .site-header nav a{color:#666}.refract-site[data-style=light] .site-header nav a:hover{color:#111}.refract-site[data-style=light] .site-header nav>a:last-of-type{color:var(--contact-foreground)}.refract-site[data-style=light] .intro-text .intro-position{color:#555}.refract-site[data-style=light] .intro-links a{color:#444;background:0 0;border-color:#ccc}.refract-site[data-style=light] .intro-links a:first-child{color:#fff;background:#111;border-color:#111}.refract-site[data-style=light] .intro-links a:hover{color:#111;background:#eee}.refract-site[data-style=light] .intro-links a:first-child:hover{color:#fff;background:#333}.refract-site[data-style=light] .learn-more-arrows svg{filter:none}.refract-site[data-style=light] .featured-link{color:#555}.refract-site[data-style=light] .featured-link>a:hover{color:var(--accent-on-paper)}.refract-site[data-style=light] .featured-link-frame{filter:invert()}.refract-site[data-style=light] [data-tone=light] .scene-tool a:hover,.refract-site[data-style=light] .loading-dots{color:var(--accent-on-paper)}.refract-site[data-style=light] .research-figure{--panel:#202020}@media (max-width:1199px){.refract-site[data-style=light] .menu-toggle{color:#444}.refract-site[data-style=light] .site-header nav{background:#fff}.refract-site[data-style=light] .site-header nav>a:last-of-type{background:0 0}.refract-site[data-style=light] .site-header:after{background:#ddd}}
:where(.refract-site) .portfolio-experience{--intro-ui-opacity:0;--intro-surface:#080808}.refract-site[data-style=light] .portfolio-experience{--intro-surface:#fff}:where(.refract-site) .portfolio-experience[data-intro=pending]{--scene-background:var(--intro-surface)}:where(.refract-site) .portfolio-experience .site-header,:where(.refract-site) .intro-footer>.intro-links,:where(.refract-site) .intro-footer>.featured-link{opacity:var(--intro-ui-opacity)}:where(.refract-site) .intro-text[data-entrance=waiting]{visibility:hidden;opacity:0}:where(.refract-site) .loading-dots{color:var(--accent);opacity:.35;grid-template-columns:repeat(3,4px);gap:8px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:where(.refract-site) .loading-dots i{background:currentColor;border-radius:50%;width:4px;height:4px}:where(.refract-site) .loading-dots i:nth-child(2n){opacity:.45}:where(.refract-site) .loading-dots i:nth-child(3n){opacity:.2}@media (prefers-reduced-motion:reduce){:where(.refract-site) .portfolio-experience{--intro-ui-opacity:1!important}:where(.refract-site) .intro-text[data-entrance=waiting]{visibility:visible;opacity:1}}
:where(.refract-site) .intro-footer{left:50%;bottom:var(--control-bottom);z-index:3;width:100%;max-width:1500px;transform:translate(-50%, var(--intro-exit-y,0px));will-change:transform, opacity;padding-inline:4rem;position:fixed}:where(.refract-site) .site-header nav{font-variation-settings:normal;letter-spacing:.01em;font-weight:600}:where(.refract-site) .menu-toggle rect{transform-origin:12px 12px}:where(.refract-site) .menu-toggle rect:first-child{transform:translateY(calc(-4px * (1 - var(--menu-progress,0)))) rotate(calc(45deg * var(--menu-progress,0)))}:where(.refract-site) .menu-toggle rect:last-child{transform:translateY(calc(2px * (1 - var(--menu-progress,0)))) rotate(calc(-45deg * var(--menu-progress,0)))}@media (max-width:1199px){:where(.refract-site) .site-header nav{width:max-content;min-width:176px;padding:var(--header-height) 0 80px;overscroll-behavior:contain;gap:0;transition:none;overflow-x:hidden;transform:translate(100%)}:where(.refract-site) .site-header nav a{gap:8px;min-height:40px;padding:0 16px;font-size:20px;font-weight:600;line-height:40px}:where(.refract-site) .site-header nav>a:last-of-type{padding:0 16px}:where(.refract-site) .site-header nav svg{flex-shrink:0;width:24px;height:24px}:where(.refract-site) .site-header nav>a{max-width:var(--menu-width,none)}:where(.refract-site) .site-header nav>a>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}:where(.refract-site) .site-header nav:has(.menu-featured){padding-bottom:0}:where(.refract-site) .site-header .menu-featured{width:var(--menu-width,auto);padding:32px 16px max(24px, env(safe-area-inset-bottom));margin-top:auto;display:block}:where(.refract-site) .site-header .menu-featured>*{letter-spacing:.01em;border:1px solid #302e2d;border-radius:.25rem;justify-content:space-between;align-items:center;gap:8px;height:48px;min-height:48px;padding:0 16px;font-size:12px;line-height:1.6;display:flex}:where(.refract-site) .site-header .menu-featured a{color:#f6f4f2;background:#302e2d}:where(.refract-site) .site-header .menu-featured a:hover{color:#fff;background:#3b3936;border-color:#3b3936}:where(.refract-site) .site-header .menu-featured>div{color:#aaa6a2;border-color:#66615b}:where(.refract-site) .site-header .menu-featured span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}:where(.refract-site) .site-header .menu-featured .featured-link-logo,:where(.refract-site) .site-header .menu-featured .featured-link-monogram{flex-shrink:0;width:18px;height:18px;font-size:15px;line-height:18px;position:static;transform:none}:where(.refract-site) .site-header .menu-featured .featured-link-frame{opacity:1;flex-shrink:0;width:28px;height:28px}:where(.refract-site) .site-header .menu-featured .featured-link-frame *{vector-effect:non-scaling-stroke}.refract-site[data-style=light] .site-header .menu-featured a{color:#fff;background:#111;border-color:#111}.refract-site[data-style=light] .site-header .menu-featured>div{color:#555;border-color:#ccc}:where(.refract-site) .menu-backdrop{opacity:calc(var(--menu-progress,0) * .4);pointer-events:none;background:#000;border-radius:0}:where(.refract-site) .site-header[data-menu-open=true] .menu-backdrop{pointer-events:auto}:where(.refract-site) .site-header .wordmark{z-index:2;position:relative}:where(.refract-site) .site-header:after{content:"";height:1px;opacity:var(--menu-progress,0);z-index:2;pointer-events:none;background:#ffffff20;position:absolute;bottom:0;left:1rem;right:1rem}}@media (max-width:899px){:where(.refract-site) .intro-footer{padding-inline:1rem}:where(.refract-site) .intro-footer .featured-link{display:none}:where(.refract-site) .intro-links a{gap:8px;font-size:12px}:where(.refract-site) .intro-links .learn-more-arrows,:where(.refract-site) .intro-links .learn-more-arrows svg{width:24px}}@media (max-width:359px){:where(.refract-site) .intro-links a{padding-inline:10px;font-size:11px}}@media (min-width:900px) and (max-width:1199px){:where(.refract-site) [data-fixed-copy=anatomy] .reference-text{max-width:15rem}:where(.refract-site) [data-fixed-copy=anatomy] p{font-size:1rem;line-height:1.25}}@media (min-width:600px) and (max-width:899px) and (max-height:599px){:where(.refract-site) [data-fixed-copy=anatomy] .reference-text{max-width:calc(50vw - 2rem - min(21.5vw,39.5vh))}:where(.refract-site) [data-fixed-copy=anatomy] p{font-size:.875rem;line-height:1.25}}:where(.refract-site) .featured-link-tile{border-radius:10px;place-items:center;width:48px;height:48px;display:grid;position:relative;overflow:hidden}:where(.refract-site) .featured-link[data-populated=true] .featured-link-tile{border:1px solid}:where(.refract-site) .featured-link[data-populated=true] .featured-link-logo{object-fit:contain;width:38px;height:38px}:where(.refract-site) .featured-link[data-populated=true] .featured-link-monogram{width:38px;height:38px;font-size:34px;line-height:38px}:where(.refract-site) .featured-link-tile:focus-visible{outline-offset:4px;outline:2px solid}
:where(.refract-site) .reference-navigation{transition:opacity .25s,transform .25s,visibility .25s;overflow:hidden;transform:translateY(0)}:where(.refract-site) .portfolio-experience[data-nav-visible=false] .reference-navigation{transform:translateY(100%)}:where(.refract-site) .intro-footer{transition:visibility 0s .25s}:where(.refract-site) .portfolio-experience[data-nav-visible=true] .intro-footer{transition-delay:0s;visibility:hidden!important}@media (prefers-reduced-motion:reduce){:where(.refract-site) .intro-footer{transition-delay:0s}}:where(.refract-site) .chapter-navigation{touch-action:none;cursor:grab;transform:translateY(-.17px)}:where(.refract-site) .chapter-navigation:before{content:"";position:absolute;inset:-14px -16px}:where(.refract-site) .chapter-navigation[data-dragging=true]{cursor:grabbing}:where(.refract-site) .chapter-slider{pointer-events:none}:where(.refract-site) .chapter-cursor{left:calc(var(--scene-progress,0) * (100% - 3px));opacity:1;transition:transform .15s;transform:scale(1)}:where(.refract-site) .chapter-navigation[data-dragging=true] .chapter-cursor:not(.chapter-cursor-ghost),:where(.refract-site) .chapter-navigation[data-cursor-hover=true] .chapter-cursor:not(.chapter-cursor-ghost){transition-duration:.25s;transform:scale(1.25)}:where(.refract-site) .chapter-cursor-ghost{left:calc(var(--preview-progress,0) * (100% - 3px));background:var(--cursor-preview);opacity:0;pointer-events:none;transition:opacity .15s,transform .25s,left .15s;transform:scale(0)}:where(.refract-site) .chapter-navigation[data-preview=true] .chapter-cursor-ghost{opacity:1;transform:scale(1)}:where(.refract-site) .chapter-ticks>span{opacity:.5;transition:opacity .25s;transition-delay:calc(var(--tick-index,0) * 20ms);border-color:#fff}:where(.refract-site) .portfolio-experience[data-nav-visible=false] .chapter-ticks>span{opacity:0}:where(.refract-site) .portfolio-experience[data-nav-visible=true] .chapter-cursor:not(.chapter-cursor-ghost){animation:.25s .25s both refract-cursor-appear}@keyframes refract-cursor-appear{0%{opacity:0;scale:0}70%{opacity:1;scale:1.2}to{opacity:1;scale:1}}@media (max-width:899px){:where(.refract-site) .intro-links{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%;display:grid}:where(.refract-site) .reference-stage{height:100dvh;margin-bottom:-100dvh}:where(.refract-site) .intro-links a{justify-content:center;min-width:0;height:48px;padding-inline:8px}:where(.refract-site) .intro-links a>svg{flex-shrink:0}}
@media (min-width:1200px){:where(.refract-site) .feature-content .reference-text{isolation:isolate}:where(.refract-site) .feature-content .reference-text:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg, var(--scene-background) 0%, color-mix(in srgb, var(--scene-background) 94%, transparent) 48%, color-mix(in srgb, var(--scene-background) 58%, transparent) 76%, transparent 100%);position:absolute;inset:-16px -48px -16px -24px;-webkit-mask-image:linear-gradient(#0000,#000 32px calc(100% - 32px),#0000);mask-image:linear-gradient(#0000,#000 32px calc(100% - 32px),#0000)}}@media (max-width:1199px){:where(.refract-site) .feature-chapter{height:300svh;min-height:0}:where(.refract-site) .feature-content{height:100%;min-height:0;padding:0}:where(.refract-site) .modules-chapter .fixed-copy{height:100svh;padding:0;position:fixed;inset:0;transform:none}:where(.refract-site) .modules-chapter .tools-anchor{top:12%}:where(.refract-site) .portfolio-experience [data-mobile-panel]{z-index:3;width:calc(100% - 32px);max-width:none;opacity:var(--mobile-opacity,0);visibility:hidden;transform:translateY(calc(-50% + var(--mobile-shift,0px)));pointer-events:auto;will-change:transform, opacity;margin:0;padding:0;transition:none;position:fixed;inset:calc(50dvh - 24px) auto auto 16px}:where(.refract-site) .portfolio-experience [data-mobile-panel=copy]{scrollbar-width:thin;max-height:calc(100dvh - 112px);overflow-y:auto}:where(.refract-site) .portfolio-experience [data-mobile-panel] h2{text-wrap:balance;max-width:none;font-size:clamp(1.65rem,7.8vw,2.5rem);line-height:1.04}:where(.refract-site) .portfolio-experience [data-mobile-panel] p{max-width:none;font-size:clamp(.875rem,3.85vw,1.125rem);line-height:1.4}:where(.refract-site) .portfolio-experience [data-mobile-panel=figure]{pointer-events:auto;max-height:calc(100dvh - 112px);padding:0;overflow-y:auto}:where(.refract-site) .research-figure-slot .research-figure{will-change:auto;width:100%;max-width:none;margin:0}:where(.refract-site) .portfolio-experience [data-mobile-panel=figure] img{object-fit:contain;width:100%;max-height:calc(100dvh - 280px)}:where(.refract-site) .portfolio-experience [data-mobile-panel=figure] figcaption{font-size:.75rem;line-height:1.4}:where(.refract-site) .portfolio-experience [data-mobile-panel] .scene-tool p{font-size:.875rem}:where(.refract-site) .portfolio-experience [data-mobile-panel] .scene-tool{margin-top:1rem}:where(.refract-site) .portfolio-experience [data-mobile-panel] .feature-links{opacity:1}:where(.refract-site) .portfolio-experience [data-mobile-panel] .feature-links a{opacity:1;transition:none}:where(.refract-site) .portfolio-experience [data-mobile-panel] .feature-links:before{transition:none;transform:scaleX(1)}}@media (min-width:900px) and (max-width:1199px){:where(.refract-site) .portfolio-experience [data-mobile-panel]{width:calc(100% - 128px);max-height:calc(100dvh - 200px);top:calc(50dvh - 40px);left:64px}:where(.refract-site) .portfolio-experience [data-mobile-panel=copy]{max-width:40rem}:where(.refract-site) .portfolio-experience [data-mobile-panel=figure]{width:min(440px,100% - 128px);transform:translate(-50%, calc(-50% + var(--mobile-shift,0px)));left:50%}}@media (max-width:1199px) and (prefers-reduced-motion:reduce){:where(.refract-site) .feature-chapter{height:240svh}:where(.refract-site) .portfolio-experience [data-mobile-panel]{will-change:auto}}@media (min-width:600px) and (max-width:899px) and (max-height:599px){:where(.refract-site) .modules-chapter [data-mobile-panel=copy]{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}:where(.refract-site) .modules-chapter [data-mobile-panel] h2{grid-column:1/-1;margin:0}:where(.refract-site) .modules-chapter [data-mobile-panel] .scene-tool{margin-top:0}}.refract-site{--font-body:"RefractDIN", "Helvetica Neue", Arial, sans-serif;min-height:100vh}.refract-site .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}.refract-site .about-layout[data-portrait=false]{grid-template-columns:1fr}.refract-site .profile-content:empty{display:none}:where(.refract-site) .modules-chapter[data-empty=true]{height:140lvh}
html[data-template^=refract-]{--fw-font:"RefractDIN", system-ui, sans-serif;--fw-surface:#252423;--fw-text:#f6f4f2;--fw-border:#ffffff26;--fw-accent:#ff4b4b;--fw-on-accent:#111;--fw-radius:12px;--fw-floating-right:max(24px, calc((100vw - 1500px) / 2 + 24px));--fw-floating-bottom-right:calc(4rem + 80px);--fw-floating-bottom-center:calc(4rem + 64px)}html[data-template=refract-light]{--fw-surface:#fff;--fw-text:#111;--fw-border:#00000026;--fw-accent:#c13737;--fw-on-accent:#fff}@media (max-width:899px){html[data-template^=refract-]{--fw-floating-right:16px;--fw-floating-bottom-right:calc(max(1rem, env(safe-area-inset-bottom)) + 96px);--fw-floating-bottom-center:calc(max(1rem, env(safe-area-inset-bottom)) + 64px)}}@media (min-width:1200px){:where(.refract-site) .modules-chapter .reference-text{scrollbar-width:thin;overscroll-behavior:contain;max-height:calc(100svh - 128px);overflow-y:auto}}

