@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{color:#eef1ff;font-synthesis:none;background:#02030a;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#02030a;min-width:320px;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.app{background:radial-gradient(at 75% 15%,#1d1976 0%,#0000 35%),radial-gradient(at 20% 55%,#091640 0%,#0000 38%),#02030a;min-height:100vh;position:relative;overflow:hidden}.starfield{z-index:0;opacity:.75;pointer-events:none;position:fixed;inset:0}.starfield canvas{width:100%;height:100%}.header,main,footer{z-index:1;position:relative}.header{border-bottom:1px solid #cddcff1f;align-items:center;gap:48px;max-width:1440px;height:88px;margin:auto;padding:0 5vw;display:flex}.wordmark{letter-spacing:.27em;white-space:nowrap;font:500 12px DM Mono}.wordmark span{background:#a68aff;border-radius:50%;width:5px;height:5px;margin-left:7px;display:inline-block;box-shadow:0 0 12px #a68aff}nav{gap:30px;margin-left:auto;display:flex}nav a,.availability,.kicker,footer{text-transform:uppercase;letter-spacing:.17em;color:#b8bed2;font:500 10px DM Mono}nav a{transition:color .2s}nav a:hover,nav a:focus-visible{color:#fff}.availability{color:#99a2bf;font-size:8px}.hero{grid-template-columns:minmax(0,700px) 1fr;align-items:center;min-height:610px;padding:120px 8vw 80px;display:grid;position:relative}.hero-copy{z-index:1;max-width:700px;position:relative}.hero-portrait-space{pointer-events:none;min-height:480px}.kicker{color:#a8afc9;margin:0 0 20px}h1,h2,p{margin-top:0}h1{letter-spacing:-.06em;margin-bottom:27px;font:600 clamp(3.7rem,8vw,8.6rem)/.93 Playfair Display,Georgia,serif}h1 em{color:#c9b4ff;font-weight:500}.intro{color:#bbc4da;width:min(430px,100%);font-size:16px;line-height:1.75}.scroll-cue{text-transform:uppercase;letter-spacing:.16em;color:#e9edff;align-items:center;gap:14px;margin-top:40px;font:10px DM Mono;display:inline-flex}.scroll-cue i{border:1px solid #8385aa;border-radius:50%;place-items:center;width:29px;height:29px;font-style:normal;transition:transform .2s;display:grid}.scroll-cue:hover i{transform:translateY(4px)}.work{max-width:1440px;margin:auto;padding:90px 5vw 120px}.section-top{justify-content:space-between;align-items:end;margin-bottom:35px;display:flex}.section-top .kicker{margin-bottom:13px}.section-top h2{letter-spacing:-.04em;font:500 clamp(2rem,3vw,3.1rem)/1.08 Playfair Display}.section-top>span{letter-spacing:.14em;color:#c7cce0;padding-bottom:10px;font:10px DM Mono}.filters{flex-wrap:wrap;gap:8px;margin-bottom:30px;display:flex}.filters button,.bio-switch button{color:#b8c0d9;cursor:pointer;letter-spacing:.1em;background:#101329a8;border:1px solid #44496d;border-radius:999px;padding:10px 14px;font:10px DM Mono;transition:all .22s}.filters button small{opacity:.65;margin-left:7px;font-size:8px}.filters button.active,.filters button:hover,.filters button:focus-visible,.bio-switch button.active{color:#0e1022;background:#dad6ff;border-color:#dad6ff}.gallery{grid-template-columns:repeat(12,1fr);gap:18px;display:grid}.project-card{isolation:isolate;min-height:370px;animation:.6s both reveal;animation-delay:var(--delay);background:#0e1125;border:1px solid #b5beff42;border-radius:5px;grid-column:span 4;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff20,0 20px 40px #0005}.project-card:nth-child(5n+1){grid-column:span 5}.project-card:nth-child(5n+2){grid-column:span 7}.project-card img{object-fit:cover;filter:saturate(.8)contrast(1.06)brightness(.72);width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .4s;position:absolute}.project-card:after{content:"";border:1px solid var(--accent);opacity:0;pointer-events:none;transition:all .3s;position:absolute;inset:0}.card-sheen{mix-blend-mode:screen;background:linear-gradient(110deg,#0000 37%,#fff4 49%,#0000 60%);transition:all .8s;position:absolute;inset:-50%;transform:translate(-70%)rotate(5deg)}.card-meta{background:linear-gradient(#0000,#080a18 70%);padding:26px;position:absolute;inset:auto 0 0}.card-meta span{letter-spacing:.15em;color:#e2ddff;font:9px DM Mono}.card-meta h2{letter-spacing:-.04em;margin:9px 0;font:500 30px Playfair Display}.card-meta p{color:#d2d8eb;max-width:430px;margin-bottom:18px;font-size:13px;line-height:1.55}.card-meta small{letter-spacing:.1em;color:#aeb7d4;justify-content:space-between;font:10px DM Mono;display:flex}.card-meta b{color:#fff;font-weight:500}.project-card:hover img,.project-card:focus-visible img{filter:saturate(1.05)contrast(1.05)brightness(.9);transform:scale(1.08)}.project-card:hover:after,.project-card:focus-visible:after{opacity:.8}.project-card:hover .card-sheen{transform:translate(80%)rotate(5deg)}.project-card:focus-visible,a:focus-visible,button:focus-visible{outline-offset:4px;outline:2px solid #fff}@keyframes reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.detail{max-width:1280px;margin:auto;padding:85px 5vw 120px}.back{text-transform:uppercase;letter-spacing:.14em;color:#c7ccdf;font:10px DM Mono}.detail-hero{grid-template-columns:.85fr 1.15fr;align-items:center;gap:8vw;padding-top:80px;display:grid}.detail h1{font-size:clamp(3.4rem,7vw,7.3rem)}.detail-hero>div>p:not(.kicker){color:#c4cadd;max-width:470px;line-height:1.8}.detail-image{border:1px solid #9b9bd449;border-radius:7px;min-height:440px;overflow:hidden;box-shadow:0 30px 70px #0009}.detail-image img{object-fit:cover;width:100%;height:100%}.tags{flex-wrap:wrap;gap:8px;margin:27px 0;display:flex}.tags span{letter-spacing:.1em;color:#d6dcf5;border:1px solid #6f7695;padding:9px 10px;font:9px DM Mono}.coming-soon{text-transform:uppercase;letter-spacing:.12em;color:#969ebc;padding-top:10px;font:10px DM Mono;display:inline-block}.case-note{border-top:1px solid #69708e66;border-bottom:1px solid #69708e66;grid-template-columns:1fr 2fr;gap:30px;margin-top:110px;padding:60px 0;display:grid}.case-note>p:last-child{color:#dee3f8;max-width:650px;margin:0;font:500 26px/1.45 Playfair Display}.next{flex-direction:column;align-items:flex-start;gap:9px;padding-top:50px;display:flex}.next span{letter-spacing:.14em;text-transform:uppercase;color:#aeb5ce;font:10px DM Mono}.next strong{font:500 42px Playfair Display}.about{max-width:900px;margin:auto;padding:120px 5vw}.about h1{font-size:clamp(3.9rem,8vw,7.8rem)}.bio-switch{gap:8px;margin:42px 0 28px;display:flex}.about article{color:#d1d7ea;max-width:710px;font-size:18px;line-height:1.85}.about article p+p{margin-top:24px}.socials{gap:13px;margin-top:55px;display:flex}.socials a{letter-spacing:.1em;border-top:1px solid #9ba2be;border-bottom:1px solid #545a76;justify-content:space-between;min-width:200px;padding:20px;font:12px DM Mono;transition:all .2s;display:flex}.socials a:hover{color:#0c0d1c;background:#d9d6ff}.profile-note{color:#8d95b2;margin-top:18px;font-size:11px}.certifications{border-top:1px solid #7982a255;border-bottom:1px solid #7982a255;max-width:820px;margin-top:76px}.certifications-toggle{color:#eef1ff;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:25px 0;display:flex}.certifications-toggle .kicker{margin-bottom:8px;display:block}.certifications-toggle strong{letter-spacing:-.04em;font:500 clamp(1.8rem,3vw,2.5rem)/1 Playfair Display;display:block}.certifications-count{letter-spacing:.14em;color:#c8d0eb;align-items:center;gap:17px;font:10px DM Mono;display:flex}.certifications-count i{font-size:15px;font-style:normal}.certifications-content{opacity:.25;grid-template-rows:0fr;transition:grid-template-rows .48s cubic-bezier(.2,.75,.2,1),opacity .35s;display:grid}.certifications-content.is-open{opacity:1;grid-template-rows:1fr}.certifications-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;padding:0;display:grid;overflow:hidden}.certifications-content.is-open .certifications-grid{padding:0 0 28px}.certification{background:linear-gradient(135deg,#12172e88,#090b1899);border:1px solid #7982a344;align-items:center;gap:14px;min-height:120px;padding:16px;display:flex;box-shadow:inset 0 1px #ffffff10}.certification img{object-fit:contain;border-radius:5px;flex:none;width:42px;height:42px}.certification p,.certification span{letter-spacing:.09em;color:#9ea9ca;margin:0;font:9px DM Mono}.certification h2{letter-spacing:-.02em;color:#e4e8fa;margin:5px 0 6px;font:500 15px/1.25 Manrope}footer{color:#8b94b1;border-top:1px solid #51587555;justify-content:space-between;max-width:1440px;margin:auto;padding:30px 5vw;font-size:8px;display:flex}@media (width<=760px){.header{gap:16px;height:70px;padding:0 6vw}.header nav{gap:16px}.availability{display:none}.hero{min-height:700px;padding:92px 7vw 36px;display:block}.hero-portrait-space{min-height:330px}.section-top,.section-top>span{display:block}.gallery{grid-template-columns:1fr}.project-card,.project-card:nth-child(5n+1),.project-card:nth-child(5n+2){grid-column:1;min-height:330px}.work{padding:70px 6vw}.detail{padding:55px 6vw 80px}.detail-hero{grid-template-columns:1fr;gap:35px;padding-top:50px}.detail-image{order:-1;min-height:270px}.case-note{grid-template-columns:1fr;margin-top:65px;padding:35px 0}.case-note>p:last-child{font-size:21px}.about{padding:85px 7vw}.socials{flex-direction:column}.socials a{min-width:0}.certifications{margin-top:60px}.certifications-grid{grid-template-columns:1fr}.certification{min-height:105px}footer{padding:25px 6vw}.filters{flex-wrap:nowrap;padding-bottom:6px;overflow:auto}.filters button{white-space:nowrap}}.detail-image{background:#090b17}.detail-image img,.detail-image video{object-fit:cover;width:100%;height:100%;display:block}.detail-media.is-video{background:#05060c;place-items:center;display:grid}.detail-media.is-video video{aspect-ratio:16/9;object-fit:contain;height:auto;max-height:100%}.project-links{flex-wrap:wrap;gap:9px;margin:5px 0 18px;display:flex}.project-links a,.more-toggle{color:#e8ebfb;letter-spacing:.1em;text-transform:uppercase;background:#11142bab;border:1px solid #737ba0;padding:11px 13px;font:500 10px DM Mono;transition:background .2s,color .2s,border-color .2s}.project-links a:hover,.project-links a:focus-visible,.more-toggle:hover,.more-toggle:focus-visible{color:#101125;background:#dedaff;border-color:#dedaff}.more-toggle{cursor:pointer;align-items:center;gap:16px;margin-top:4px;display:inline-flex}.more-toggle span{font-size:14px;line-height:8px}.project-disclosure{opacity:.35;grid-template-rows:0fr;margin-top:52px;transition:grid-template-rows .5s cubic-bezier(.2,.75,.2,1),opacity .35s;display:grid}.project-disclosure.is-open{opacity:1;grid-template-rows:1fr}.disclosure-inner{border-top:1px solid #69708e66;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,110px);min-height:0;display:grid;overflow:hidden}.disclosure-inner section{padding-top:42px}.disclosure-inner section>p:last-child{color:#cad1e5;margin-bottom:0;font-size:15px;line-height:1.8}.project-disclosure.is-open+.case-note{margin-top:75px}@media (width<=760px){.disclosure-inner{grid-template-columns:1fr;gap:0}.disclosure-inner section{padding-top:30px}.project-disclosure{margin-top:30px}.project-disclosure.is-open+.case-note{margin-top:50px}}.detail-media.is-video{aspect-ratio:16/9;min-height:0}.detail-media.has-native-ratio{min-height:0}.inline-project-link{color:#e5dcff;border-bottom:1px solid #9b8dca;transition:color .2s,border-color .2s}.inline-project-link:hover,.inline-project-link:focus-visible{color:#fff;border-color:#fff}.detail-carousel{aspect-ratio:16/9;outline-offset:6px;min-height:0;position:relative}.carousel-frame{background:#05060c;width:100%;height:100%;overflow:hidden}.carousel-frame img,.carousel-frame video{object-fit:cover;width:100%;height:100%;animation:.45s cubic-bezier(.2,.75,.2,1) both carousel-in;display:block}.carousel-controls{z-index:3;pointer-events:none;position:absolute;inset:0}.carousel-arrow{color:#f7f8ff;cursor:pointer;pointer-events:auto;background:#080a1bbd;border:1px solid #e9ecff80;border-radius:50%;width:38px;height:38px;font-size:18px;line-height:1;transition:background .2s,transform .2s;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow:first-child{left:16px}.carousel-arrow:last-child{right:16px}.carousel-arrow:hover,.carousel-arrow:focus-visible{color:#101125;background:#e7e2ff;transform:translateY(-50%)scale(1.08)}.carousel-status{color:#f1f2ff;letter-spacing:.14em;background:#080a1bab;border:1px solid #e9ecff2e;padding:8px 10px;font:10px DM Mono;position:absolute;bottom:15px;left:50%;translate:-50%}.carousel-dots{z-index:4;justify-content:center;gap:6px;display:flex;position:absolute;inset:auto 0 7px}.carousel-dots button{cursor:pointer;background:#d9ddf07a;border:0;border-radius:50%;width:5px;height:5px;padding:0;transition:width .25s,background .25s}.carousel-dots button.active{background:#f0ecff;border-radius:999px;width:18px}.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}@keyframes carousel-in{0%{opacity:.3;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media (width<=760px){.carousel-arrow{width:34px;height:34px}.carousel-arrow:first-child{left:12px}.carousel-arrow:last-child{right:12px}.carousel-status{bottom:13px}.carousel-dots{bottom:5px}}.video-play-overlay{z-index:2;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#090b18a8;border:1px solid #ffffffa8;border-radius:50%;place-items:center;width:82px;height:82px;padding:0;transition:transform .2s,background .2s,box-shadow .2s;display:grid;position:absolute;inset:50% auto auto 50%;translate:-50% -50%;box-shadow:0 0 0 12px #8f79ff20,0 12px 42px #0009}.video-play-overlay span{margin-left:5px;font-size:29px}.video-play-overlay:hover,.video-play-overlay:focus-visible{color:#111326;background:#c9b7ffe8;transform:scale(1.08);box-shadow:0 0 0 14px #a58eff2b,0 16px 48px #000b}.expandable-image{position:relative}.media-expand{z-index:5;color:#f7f8ff;cursor:pointer;letter-spacing:.09em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080a1bbd;border:1px solid #e9ecff80;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:8px 10px;font:10px DM Mono;transition:background .2s,color .2s,transform .2s;display:inline-flex;position:absolute;top:14px;right:14px}.media-expand span:first-child{font:17px/1 Arial,sans-serif}.media-expand:hover,.media-expand:focus-visible{color:#101125;background:#e7e2ff;transform:scale(1.04)}.is-fallback-fullscreen{width:100vw;max-width:none;height:100vh;min-height:0;box-shadow:none;background:#02030a;border:0;border-radius:0;aspect-ratio:auto!important}.detail-carousel:fullscreen{width:100vw;max-width:none;height:100vh;min-height:0;box-shadow:none;background:#02030a;border:0;border-radius:0;aspect-ratio:auto!important}.expandable-image:fullscreen{width:100vw;max-width:none;height:100vh;min-height:0;box-shadow:none;background:#02030a;border:0;border-radius:0;aspect-ratio:auto!important}.is-fallback-fullscreen{overflow:hidden}.detail-carousel:fullscreen{overflow:hidden}.is-fallback-fullscreen{z-index:1000;position:fixed!important;inset:0!important}.detail-carousel:fullscreen::backdrop{background:#02030a}.expandable-image:fullscreen::backdrop{background:#02030a}:is(.detail-carousel:fullscreen .carousel-frame,.detail-carousel.is-fallback-fullscreen .carousel-frame){place-items:center;display:grid}.detail-carousel.is-fallback-fullscreen .carousel-frame img,.detail-carousel.is-fallback-fullscreen .carousel-frame video,.expandable-image.is-fallback-fullscreen img{object-fit:contain!important;object-position:center!important}.detail-carousel:fullscreen .carousel-frame img{object-fit:contain!important;object-position:center!important}.detail-carousel:fullscreen .carousel-frame video{object-fit:contain!important;object-position:center!important}.expandable-image:fullscreen img{object-fit:contain!important;object-position:center!important}:is(.detail-carousel:fullscreen .carousel-status,.detail-carousel.is-fallback-fullscreen .carousel-status){bottom:76px}:is(.detail-carousel:fullscreen .carousel-dots,.detail-carousel.is-fallback-fullscreen .carousel-dots){bottom:57px}.is-fallback-fullscreen .media-expand{top:20px;right:20px}.detail-carousel:fullscreen .media-expand{top:20px;right:20px}.expandable-image:fullscreen .media-expand{top:20px;right:20px}@media (width<=760px){.media-expand{min-height:32px;padding:7px 9px;top:10px;right:10px}.is-fallback-fullscreen .media-expand{top:14px;right:14px}.detail-carousel:fullscreen .media-expand{top:14px;right:14px}.expandable-image:fullscreen .media-expand{top:14px;right:14px}:is(.detail-carousel:fullscreen .carousel-status,.detail-carousel.is-fallback-fullscreen .carousel-status){bottom:70px}:is(.detail-carousel:fullscreen .carousel-dots,.detail-carousel.is-fallback-fullscreen .carousel-dots){bottom:52px}}.papers{border-top:1px solid #69708e66;grid-column:1/-1;margin-top:6px;padding-top:42px}.papers .kicker{margin-bottom:20px}.papers-list{gap:12px;display:grid}.paper{background:linear-gradient(135deg,#12172e88,#090b1899);border:1px solid #7982a344;padding:22px;box-shadow:inset 0 1px #ffffff10}.paper-meta{letter-spacing:.1em;text-transform:uppercase;color:#aeb8d7;flex-wrap:wrap;gap:8px 15px;margin-bottom:13px;font:9px DM Mono;display:flex}.paper-meta span:first-child{color:#e6e1ff}.paper h2{letter-spacing:-.03em;color:#edf0ff;max-width:880px;margin:0;font:500 clamp(1.25rem,2.2vw,1.8rem)/1.25 Playfair Display}.paper-links{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.paper-links a{letter-spacing:.1em;text-transform:uppercase;color:#e4e8fa;border-bottom:1px solid #7e87a9;padding-bottom:5px;font:500 10px DM Mono;transition:color .2s,border-color .2s}.paper-links a:hover,.paper-links a:focus-visible{color:#cdbaff;border-color:#cdbaff}.hero{min-height:570px;padding:54px 8vw 18px}.work{padding-top:16px}@media (width<=760px){.hero{min-height:650px;padding:42px 7vw 10px}.work{padding:18px 6vw 70px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
