:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eff3f4;font-synthesis:none;--bg:#07090b;--panel:#0d1114;--line:#ffffff21;--muted:#8c969c;--cyan:#69dcff;--amber:#ffb35c;--shell:min(1700px, calc(100vw - 96px));background:#07090b;font-family:Manrope,Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);min-width:320px;margin:0;overflow-x:hidden}body.is-opening{overflow:hidden}.site-stage{background:var(--bg);min-height:100vh;position:relative}.site-content{z-index:1;position:relative}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.shell{width:var(--shell);margin:0 auto}.opening{z-index:1000;pointer-events:none;color:#eef3f4;background:#050709;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.opening-grid{opacity:.24;background-image:linear-gradient(#69dcff1a 1px,#0000 1px),linear-gradient(90deg,#69dcff1a 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 68%);mask-image:radial-gradient(circle,#000,#0000 68%)}.opening-center{text-align:center;width:min(680px,100vw - 48px);position:relative}.opening-index{color:#7d888d;letter-spacing:.35em;margin-bottom:26px;font-size:10px;display:block;overflow:hidden}.opening-mark{letter-spacing:-.12em;justify-content:center;font-size:clamp(122px,18vw,310px);font-weight:500;line-height:.72;display:flex;overflow:hidden}.opening-mark span:last-child{color:var(--cyan)}.opening-line{background:linear-gradient(90deg,#0000,#69dcffd9,#0000);height:1px;margin:50px auto 24px}.opening-center p{color:#899399;letter-spacing:.28em;margin:0;font-size:10px}.opening-year{color:#566167;letter-spacing:.24em;writing-mode:vertical-rl;font-size:10px;position:absolute;bottom:26px;right:28px}.site-header{z-index:20;width:var(--shell);border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;height:104px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.brand{align-items:center;gap:14px;display:flex}.brand-mark{aspect-ratio:1;letter-spacing:.04em;border:1px solid #ffffff8c;place-items:center;width:42px;font-size:12px;display:grid}.brand-copy{letter-spacing:.17em;color:#c6ced1;font-size:11px;line-height:1.25}.nav{align-items:center;gap:clamp(24px,2.8vw,54px);font-size:14px;display:flex}.nav>a{color:#b9c1c4;transition:color .25s}.nav>a:hover{color:#fff}.nav .nav-cta{color:#fff;border:1px solid #ffffff73;align-items:center;gap:28px;min-height:46px;padding:0 18px;display:flex}svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:20px}.menu-toggle{display:none}.hero{align-items:end;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-video{object-fit:cover;filter:saturate(.45)contrast(1.08);width:100%;height:100%;position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,#030608e8 0%,#0306088a 46%,#03060847 70%,#03060899 100%),linear-gradient(#0000 42%,#040709eb);position:absolute;inset:0}.hero-grid,.contact-grid{opacity:.18;background-image:linear-gradient(#69dcff21 1px,#0000 1px),linear-gradient(90deg,#69dcff21 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 77%);mask-image:linear-gradient(90deg,#000,#0000 77%)}.hero-content{z-index:2;padding-bottom:clamp(54px,7vh,92px);position:relative}.hero-kicker{color:#c1cbcf;letter-spacing:.22em;align-items:center;gap:12px;font-size:12px;display:flex}.hero-kicker span{background:var(--cyan);width:38px;height:1px;display:block}.hero h1{letter-spacing:-.065em;max-width:1150px;margin:26px 0 48px;font-size:clamp(68px,8.3vw,148px);font-weight:500;line-height:.96}.hero-title-mask{margin:-.08em 0 -.1em;padding:.08em 0 .1em;display:block;overflow:hidden}.hero-title-line{display:block}.hero-second-line{padding-left:2em}.accent-dot{color:var(--amber)}.hero-bottom{border-top:1px solid #fff3;justify-content:space-between;align-items:end;padding-top:24px;display:flex}.hero-bottom p{color:#c7cdd0;margin:0;font-size:21px;line-height:1.55}.circle-link{aspect-ratio:1;border:1px solid #fff6;border-radius:50%;place-items:center;width:74px;transition:background .25s,color .25s;display:grid;transform:rotate(90deg)}.circle-link:hover{background:var(--cyan);color:#061014}.hero-index{z-index:2;writing-mode:vertical-rl;color:#ffffff85;letter-spacing:.25em;font-size:11px;position:absolute;top:50%;right:28px}.section{padding:clamp(110px,11vw,190px) 0;position:relative;overflow:clip}.section>.shell{z-index:2;position:relative}.section-word{z-index:0;width:var(--shell);white-space:nowrap;pointer-events:none;color:#ffffff09;letter-spacing:-.075em;text-align:right;font-size:clamp(76px,11.5vw,205px);font-weight:600;line-height:.82;position:absolute;top:clamp(34px,5.5vw,90px);left:50%;overflow:hidden;transform:translate(-50%)}.section-label{color:#798389;letter-spacing:.22em;align-items:center;gap:18px;font-size:12px;display:flex}.section-label span{color:var(--cyan)}.about{background:#090c0fd1}.about-layout{grid-template-columns:minmax(260px,.72fr) 1.7fr;align-items:start;gap:clamp(60px,9vw,170px);margin-top:76px;display:grid}.portrait-wrap{max-width:380px;position:relative}.portrait-wrap img{aspect-ratio:295/413;object-fit:contain;object-position:center;border:1px solid var(--line);width:100%}.portrait-wrap:after{content:"";z-index:-1;border:1px solid #69dcff2e;position:absolute;inset:18px -18px -18px 18px}.portrait-caption{letter-spacing:.13em;color:#626d73;justify-content:space-between;gap:24px;margin-top:30px;font-size:11px;display:flex}.portrait-caption strong{color:#bbc4c8;font-weight:500}.eyebrow{color:var(--cyan);letter-spacing:.22em;margin:0 0 30px;font-size:12px}.about-copy h2,.section-heading h2,.contact h2{letter-spacing:-.05em;margin:0;font-size:clamp(44px,5vw,84px);font-weight:500;line-height:1.13}.about-copy .lead{color:#e1e7e9;max-width:900px;margin:56px 0 20px;font-size:clamp(20px,1.8vw,30px);line-height:1.6}.about-copy>p:not(.eyebrow):not(.lead){max-width:880px;color:var(--muted);font-size:17px;line-height:1.9}.contact-lines{border-top:1px solid var(--line);margin-top:44px}.contact-lines a{border-bottom:1px solid var(--line);color:#cbd2d5;justify-content:space-between;align-items:center;padding:17px 0;font-size:14px;display:flex}.contact-lines a:hover{color:var(--cyan)}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:140px;display:grid}.stats>div{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:190px;padding:40px 34px;display:flex}.stats>div:last-child{border-right:0}.stats strong{letter-spacing:-.05em;font-size:clamp(48px,4vw,72px);font-weight:400}.stats span{color:#818c91;font-size:14px}.experience{grid-template-columns:.8fr 2fr;gap:80px;margin-top:140px;display:grid}.experience-title span{color:var(--cyan);letter-spacing:.2em;font-size:11px}.experience-title h3{margin:16px 0 0;font-size:28px;font-weight:500}.timeline article{border-top:1px solid var(--line);grid-template-columns:190px 1fr;column-gap:42px;padding:28px 0;display:grid}.timeline article:last-child{border-bottom:1px solid var(--line)}.timeline time{color:#68747a;letter-spacing:.08em;grid-row:span 2;font-size:12px}.timeline h4{margin:0 0 9px;font-size:18px;font-weight:500}.timeline p{color:#808b90;margin:0;font-size:14px}.projects{background:#060809d6}.section-heading{grid-template-columns:.7fr 1.5fr 1fr;align-items:end;gap:64px;margin-bottom:92px;display:grid}.section-heading .section-label{align-self:start}.section-heading p{color:var(--muted);margin:0;font-size:16px;line-height:1.8}.project-list{gap:112px;display:grid}.project-card{grid-template-columns:1.6fr .88fr;align-items:end;gap:clamp(48px,6vw,108px);padding:clamp(18px,2vw,30px);display:grid}.project-card:nth-child(2n){grid-template-columns:.88fr 1.6fr}.project-card:nth-child(2n) .project-image{order:2}.project-image{aspect-ratio:1.55;background:#0e1316;border:1px solid #ffffff1a;display:grid;position:relative;overflow:hidden}.project-image.is-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.project-photo{background:#0a0d0f;min-width:0;height:100%;margin:0;overflow:hidden}.project-photo img{object-fit:cover;width:100%;height:100%}.project-image.is-single .project-photo img{object-fit:contain}.project-number{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.18em;color:#d9e0e2;background:#05080ab8;padding:10px 12px;font-size:10px;position:absolute;top:22px;left:22px}.project-info{padding-bottom:8px}.project-meta{color:#68747a;letter-spacing:.09em;border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding-bottom:18px;font-size:11px;display:flex}.project-info h3{letter-spacing:-.035em;margin:32px 0 24px;font-size:clamp(30px,3vw,54px);font-weight:500;line-height:1.2}.project-info p{color:var(--muted);margin:0;font-size:16px;line-height:1.8}.project-info ul{flex-wrap:wrap;gap:9px;margin:34px 0 0;padding:0;list-style:none;display:flex}.project-info li{border:1px solid var(--line);color:#aeb8bc;padding:9px 12px;font-size:12px}.academic{background:#090c0fd1}.academic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.academic-card{padding:18px}.academic-image{aspect-ratio:16/9;background:#080b0d;border:1px solid #ffffff12;place-items:center;display:grid;position:relative;overflow:hidden}.academic-image img{object-fit:contain;width:100%;height:100%}.academic-meta{grid-template-columns:34px 1fr;gap:18px;min-height:126px;padding:24px 6px 8px;display:grid}.academic-meta>span{color:var(--cyan);letter-spacing:.12em;font-size:11px}.academic-meta h3{margin:0;font-size:18px;font-weight:500;line-height:1.55}.strengths{background:#0b0f12db}.section-heading.compact{grid-template-columns:.7fr 2.5fr;margin-bottom:78px}.strength-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.strength-card{flex-direction:column;min-height:430px;padding:34px;transition:background .3s,transform .3s;display:flex}.strength-card:hover{background:#10171b;transform:translateY(-5px)}.strength-top{color:#68757a;justify-content:space-between;font-size:12px;display:flex}.strength-top i{border:1px solid var(--cyan);border-radius:50%;width:9px;height:9px}.strength-card h3{margin:76px 0 22px;font-size:26px;font-weight:500}.strength-card p{color:var(--muted);margin:0;font-size:15px;line-height:1.8}.strength-stack{color:#67747a;letter-spacing:.09em;margin-top:auto;font-size:11px}.tool-rail{color:#677278;letter-spacing:.14em;white-space:nowrap;justify-content:space-between;gap:34px;padding:34px 0 0;font-size:11px;display:flex;overflow:hidden}.border-glow-card{--edge-proximity:0;--cursor-angle:45deg;--card-bg:#0a0e11f0;--glow-padding:34px;--cone-spread:25;isolation:isolate;background:var(--card-bg);border:1px solid #ffffff1f;border-radius:14px;position:relative;overflow:visible;transform:translateZ(.01px);box-shadow:0 18px 50px #0000002e}.border-glow-card>:not(.edge-light){z-index:2;position:relative}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";border-radius:inherit;pointer-events:none;transition:opacity .25s ease-out;position:absolute;inset:0}.border-glow-card:not(:hover):before,.border-glow-card:not(:hover):after,.border-glow-card:not(:hover)>.edge-light{opacity:0;transition:opacity .65s ease-in-out}.border-glow-card:before{z-index:0;background:linear-gradient(var(--card-bg) 0 100%) padding-box, radial-gradient(at 80% 55%, #69dcff 0, transparent 50%) border-box, radial-gradient(at 20% 12%, #8b5cf6 0, transparent 50%) border-box, radial-gradient(at 82% 18%, #ffb35c 0, transparent 50%) border-box;opacity:calc((var(--edge-proximity) - 48) / 52);-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((85 - var(--cone-spread)) * 1%), black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((85 - var(--cone-spread)) * 1%), black calc((100 - var(--cone-spread)) * 1%));border:1px solid #0000}.border-glow-card:after{z-index:0;opacity:calc(.45 * (var(--edge-proximity) - 48) / 52);mix-blend-mode:soft-light;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);mask-image:conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);background:radial-gradient(at 80% 55%,#69dcff6b 0,#0000 50%),radial-gradient(at 20% 12%,#8b5cf657 0,#0000 50%),radial-gradient(at 82% 18%,#ffb35c4d 0,#0000 50%)}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);z-index:1;opacity:calc((var(--edge-proximity) - 30) / 70);mix-blend-mode:plus-lighter;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%)}.border-glow-card>.edge-light:before{content:"";inset:var(--glow-padding);border-radius:inherit;position:absolute;box-shadow:inset 0 0 0 1px #69dcffe6,inset 0 0 12px #69dcff47,0 0 8px #69dcff57,0 0 24px #69dcff2e,0 0 42px #8b5cf621}.contact{background:#050708cc;min-height:100svh;padding:74px 0 44px;display:flex;position:relative;overflow:hidden}.contact>.section-word{text-align:left;color:#ffffff0b;top:8vh;left:50%;transform:translate(-50%)}.contact-grid{opacity:.35;-webkit-mask-image:radial-gradient(circle at 70%,#000,#0000 65%);mask-image:radial-gradient(circle at 70%,#000,#0000 65%)}.contact-inner{z-index:1;flex-direction:column;display:flex;position:relative}.contact-main{margin:auto 0;padding:70px 0}.contact-main>p{color:#8d979c;margin:0 0 22px;font-size:clamp(17px,1.6vw,24px);line-height:1.6}.contact h2{font-size:clamp(70px,10.5vw,180px)}.mail-link{border-bottom:1px solid #ffffff4d;justify-content:space-between;align-items:center;gap:24px;max-width:820px;margin-top:52px;padding:20px 0;font-size:clamp(17px,2vw,30px);transition:color .25s;display:flex}.mail-link:hover{color:var(--cyan)}.footer-bottom{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px;padding-top:28px;display:grid}.footer-bottom>div:not(.copyright){flex-direction:column;gap:7px;display:flex}.footer-bottom span{color:#5e686d;letter-spacing:.18em;font-size:10px}.footer-bottom a,.footer-bottom p{color:#aeb7bb;margin:0;font-size:13px}.copyright{color:#5e686d;letter-spacing:.14em;justify-self:end;font-size:10px}[data-reveal]{opacity:1;transform:none}@media (width<=1100px){:root{--shell:min(1700px, calc(100vw - 48px))}.about-layout{grid-template-columns:.7fr 1.3fr;gap:60px}.stats{grid-template-columns:repeat(2,1fr)}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p{grid-column:2}.project-card,.project-card:nth-child(2n){grid-template-columns:1.35fr 1fr}.strength-grid,.academic-grid{grid-template-columns:repeat(2,1fr)}.strength-card{min-height:360px}}@media (width<=760px){:root{--shell:calc(100vw - 36px)}.site-header{height:82px}.brand-copy{display:none}.menu-toggle{color:#fff;background:#05080a80;border:1px solid #ffffff59;place-content:center;gap:6px;width:42px;height:42px;display:grid}.menu-toggle span{background:currentColor;width:18px;height:1px}.nav{border-bottom:1px solid var(--line);background:#05080af5;flex-direction:column;align-items:stretch;padding:24px;display:none;position:absolute;top:82px;left:0;right:0}.nav.is-open{display:flex}.hero h1{margin-top:22px;font-size:clamp(56px,18vw,84px)}.hero-second-line{padding-left:2em}.section-word{font-size:clamp(62px,20vw,110px);top:48px}.hero-index{display:none}.about-layout,.experience,.section-heading,.section-heading.compact,.project-card,.project-card:nth-child(2n){grid-template-columns:1fr}.portrait-wrap{max-width:310px}.experience,.stats{margin-top:90px}.timeline article{grid-template-columns:1fr;gap:10px}.timeline time{grid-row:auto}.section-heading>p{grid-column:auto}.project-card:nth-child(2n) .project-image{order:0}.project-list{gap:80px}.project-image.is-single{aspect-ratio:1.1}.project-meta{flex-direction:column;gap:8px}.strength-grid,.academic-grid{grid-template-columns:1fr}.academic-meta{min-height:104px}.strength-card{min-height:340px}.tool-rail{justify-content:flex-start}.footer-bottom{grid-template-columns:1fr 1fr}.copyright{grid-column:1/-1;justify-self:start;margin-top:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video,.opening{display:none}[data-reveal]{opacity:1;transition:none;transform:none}.section-word{opacity:1;transform:translate(-50%)}.strength-card{transition:none}}.ghost-fibers-container{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.ghost-fibers-container canvas{opacity:.8}
