@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B4-Lw_3E.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873_3E.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2_3E.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B47b1_3E.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhTg.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhTg.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthTg.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthTg.ttf) format("truetype")}:root{font-family:DM Sans,PingFang SC,Microsoft YaHei,sans-serif;color:#f1f1f3;background:#0b0b0d;font-synthesis:none;--muted:#96969f;--line:#29292d;--accent:#c7cbff;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:90px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{background:none;border:0}::selection{background:#b8bdf0;color:#0b0b0d}.container{width:calc(100% - 112px);max-width:1700px;margin-inline:auto}.header{position:absolute;z-index:20;width:100%;top:0}.nav{height:102px;display:flex;align-items:center;border-bottom:1px solid #ffffff26;gap:50px}.wordmark{font-size:36px;letter-spacing:-3px;font-weight:700;display:flex;align-items:baseline}.brand-dot{color:var(--accent)}.wordmark-name{font-size:14px;letter-spacing:2px;margin-left:18px;font-weight:400}.nav-links{display:flex;gap:40px;margin-left:auto}.nav-links a{font-size:14px;color:#b8b8c0;transition:color .2s}.nav-links a:hover{color:#fff}.nav-links sup{font-size:10px;margin-left:7px;color:#777783}.nav-contact{font-size:14px;border:1px solid #ffffff50;border-radius:50px;padding:13px 20px;display:flex;gap:24px;align-items:center;transition:background .2s}.nav-contact:hover{background:#ffffff16}.mobile-toggle{display:none}.hero{height:100svh;min-height:790px;max-height:1200px;position:relative;overflow:hidden;background:#080a12}.hero-media{position:absolute;width:70%;height:100%;right:-4%;top:0}.hero-media video{width:100%;height:100%;object-fit:cover;filter:saturate(.4) brightness(.74)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0dfc,#0b0b0deb 22%,#0b0b0d92 52%,#0b0b0d0a 80%),linear-gradient(0deg,#0b0b0d 0%,transparent 35%,#0b0b0d90 100%)}.hero-content{position:relative;padding-top:calc(102px + 9vh)}.eyebrow{font-size:12px;letter-spacing:2.3px;color:#bbbbc5;display:flex;justify-content:space-between}.edition{font-size:11px;letter-spacing:1.7px}h1{font-family:Barlow Condensed,Arial Narrow,Impact,sans-serif;font-size:clamp(96px,10.9vw,208px);font-weight:600;line-height:.89;letter-spacing:-.017em;margin:44px 0 30px;max-width:1150px}h1 span{color:#b7b8c5}.hero-intro{display:flex;align-items:flex-start;gap:24px;margin:35px 0 30px}.cross{font-size:42px;color:var(--accent);line-height:1.2}.hero-intro p{font-size:20px;margin:0 0 13px;letter-spacing:1px}.hero-intro .subtle{font-size:14px;line-height:1.9;letter-spacing:.4px;color:#aaaab3}.pill{display:inline-flex;align-items:center;gap:36px;border:1px solid #787881;border-radius:99px;padding:16px 22px;font-size:14px;transition:background .2s,color .2s}.pill:hover{background:var(--accent);color:#111}.hero-bottom{position:absolute;bottom:32px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:27px}.disciplines{font-size:11px;letter-spacing:1.5px;color:#b3b3bc;display:flex;gap:20px}.disciplines i{color:#585863;font-style:normal}.hero-bottom-right{display:flex;align-items:center;gap:36px}.video-control{width:34px;height:34px;border:1px solid #55555d;border-radius:50%;display:grid;place-items:center}.scroll-link{font-size:10px;letter-spacing:1.6px;display:flex;align-items:center;gap:12px}.scroll-line{width:1px;height:30px;background:linear-gradient(#eee,#555)}@media(min-width:1800px){.hero-content{padding-top:210px}h1{margin-top:54px}.hero{min-height:950px}}@media(max-height:850px)and (min-width:901px){.hero-content{padding-top:155px}h1{font-size:clamp(96px,10vw,170px);margin-top:32px}.hero-intro{margin-top:22px}.hero{min-height:760px}}@media(max-width:900px){.container{width:calc(100% - 48px)}.nav{height:84px;gap:24px}.nav-links{gap:24px}.wordmark-name{display:none}.hero-content{padding-top:170px}.edition{display:none}h1{font-size:clamp(90px,15vw,145px);margin-top:56px}.hero{min-height:800px}.hero-media{width:100%;right:-35%;opacity:.8}.disciplines{font-size:10px;gap:10px}.scroll-link{display:none}.hero-intro p{font-size:18px}}@media(max-width:600px){.container{width:calc(100% - 40px)}.nav{height:78px}.nav-contact{margin-left:auto;padding:10px 14px;gap:18px}.mobile-toggle{display:block;padding:0}.nav-links{display:none;position:absolute;left:20px;right:20px;top:78px;background:#141419;border:1px solid #34343d;padding:25px;flex-direction:column;gap:24px}.nav-links.is-open{display:flex}.hero{height:100svh;min-height:760px}.hero-content{padding-top:150px}.eyebrow{font-size:10px;letter-spacing:1.1px}h1{font-size:clamp(71px,17vw,104px);margin-top:50px;line-height:.98}.hero-intro{gap:17px;margin-top:38px}.hero-intro .subtle{font-size:14px}.cross{font-size:33px}.hero-media{right:-48%;width:130%;opacity:.6}.hero-shade{background:linear-gradient(90deg,#0b0b0ddd,#0b0b0d66),linear-gradient(0deg,#0b0b0d,transparent 65%)}.hero-bottom{bottom:22px;padding-top:20px}.disciplines{display:block;font-size:9px;letter-spacing:.6px}.disciplines i{margin:0 6px}.hero-bottom-right{gap:0}.pill{padding:14px 20px}.hero-intro p{font-size:17px}.hero-intro p br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.section{padding-top:120px;padding-bottom:120px}.section-label{display:flex;gap:24px;align-items:center;color:#a6a6af;font-size:12px;letter-spacing:1.5px;margin-bottom:60px}.section-index{font-size:11px;color:#e2e2e8;border:1px solid #45454e;border-radius:50%;height:28px;width:28px;display:grid;place-items:center;letter-spacing:0}h2,h3,p{margin-top:0}h2{font-size:clamp(36px,3.7vw,66px);line-height:1.3;letter-spacing:-.035em;font-weight:500;margin-bottom:30px}.accent{color:var(--accent)}.muted{color:#787880}.about-grid{display:grid;grid-template-columns:1fr 2.15fr;gap:9%}.portrait-column{max-width:420px}.portrait-frame{position:relative;aspect-ratio:1.03;background:#193952;overflow:hidden;border-radius:2px}.portrait-frame img{width:100%;height:100%;object-fit:cover}.portrait-caption{position:absolute;bottom:18px;left:20px;right:20px;border-top:1px solid #ffffff48;padding-top:13px;font-size:10px;letter-spacing:2px;color:#fff}.about-name{display:flex;justify-content:space-between;align-items:center;padding-top:26px}.about-name h3{font-size:24px;font-weight:500;letter-spacing:2px;margin:0}.about-name span{font-size:10px;letter-spacing:1.2px;color:#9b9ba5}.education{font-size:14px;color:var(--muted);margin:15px 0 28px}.copy-contact{position:relative;display:flex;flex-direction:column;gap:11px;margin-top:20px}.copy-contact>span:first-child{font-size:12px;color:#91919c;letter-spacing:1px}.copy-contact button{display:flex;align-items:center;justify-content:space-between;padding:0;width:100%;font-size:16px;letter-spacing:.5px;text-align:left;gap:16px}.copy-contact button svg{color:#8d8d97}.copy-status{position:absolute;top:100%;left:0;font-size:12px;line-height:1.8;color:var(--accent)}.about-email{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-top:29px}.about-email:hover{color:var(--accent)}.about-description{font-size:16px;line-height:2;color:#a4a4ae;max-width:750px;margin-bottom:18px}.career{margin-top:44px}.career-row{border-top:1px solid var(--line);padding:25px 0;display:flex;align-items:flex-start;gap:20px}.career-no{font-size:11px;color:#7a7a85;padding-top:6px}.career-detail{flex:1}.career-detail h3{font-size:21px;margin:0 0 10px;font-weight:500}.career-detail h3 span{font-size:12px;color:#b6b6bf;margin-left:22px}.career-detail p{font-size:14px;line-height:1.8;color:#7e7e88;margin:0;max-width:510px}.career-row time{font-size:11px;color:#a3a3ad;padding-top:7px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:68px;padding-top:48px}.stats>div{border-right:1px solid var(--line);padding:0 32px}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{font-weight:400;font-size:64px;letter-spacing:-2px;line-height:1.3}.stats strong span{font-size:20px;margin-left:8px;margin-right:4px;color:#9a9aa4}.stats p{font-size:13px;color:#8b8b96;margin:15px 0 0}.work{background:#111114;border-top:1px solid #242428;border-bottom:1px solid #242428}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px}.section-heading h2{margin:0}.heading-note{font-size:14px;line-height:1.9;color:#9797a2;padding-bottom:7px;max-width:300px;margin:0}.work-toolbar{border-bottom:1px solid #35353c;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;padding-bottom:22px}.filters{display:flex;gap:12px}.filters button{padding:11px 18px;border:1px solid transparent;border-radius:30px;color:#9999a3;font-size:14px;white-space:nowrap;transition:background .2s}.filters button:hover{color:#fff}.filters button.active{background:#ededf1;color:#121216}.filters sup{font-size:10px;margin-left:9px}.toolbar-note{font-size:10px;letter-spacing:1.7px;color:#72727d}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}.project-card{text-align:left;padding:0;min-width:0;display:block}.project-card.featured{grid-column:span 2}.project-image{position:relative;overflow:hidden;aspect-ratio:16/9;background:#1c1c23;border-radius:3px}.project-card.featured .project-image{aspect-ratio:2.12}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s}.project-card:hover .project-image img{transform:scale(1.035);filter:brightness(.85)}.project-open{position:absolute;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#1111119c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff35;transition:background .2s,color .2s,transform .2s}.project-card:hover .project-open{background:#f0f0f4;color:#111;transform:rotate(90deg)}.project-index{position:absolute;left:20px;top:18px;font-size:10px;letter-spacing:1px;background:#08080ca8;color:#fff;padding:7px 10px;border-radius:20px}.project-info{padding:22px 2px 0;display:flex;justify-content:space-between;gap:20px}.project-en{font-size:10px;letter-spacing:1.35px;color:#858591;margin:0 0 10px}.project-info h3{font-size:22px;font-weight:500;line-height:1.5;margin:0 0 15px;letter-spacing:-.5px}.tags{display:flex;flex-wrap:wrap;gap:14px}.tags span{font-size:12px;color:#9b9ba5}.project-category{font-size:12px;color:#a5a5af;border:1px solid #41414b;border-radius:24px;white-space:nowrap;padding:7px 12px;align-self:flex-start;margin-top:21px}.skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.skill-card{padding:32px 26px 26px;border:1px solid #33333b;background:linear-gradient(135deg,#1b1b21,#111114);border-radius:4px;transition:border-color .3s,transform .3s}.skill-card:hover{border-color:#77778a;transform:translateY(-5px)}.skill-top{display:flex;justify-content:space-between;align-items:center;color:var(--accent);margin-bottom:54px}.skill-top span{font-size:11px;color:#797985}.skill-en{font-size:10px!important;letter-spacing:1.4px;color:#7f7f8c!important;line-height:1.5!important;margin-bottom:11px!important}.skill-card h3{font-size:24px;font-weight:500;margin-bottom:20px}.skill-card p{font-size:14px;line-height:1.9;color:#a3a3ae;margin-bottom:32px}.skill-tags{font-size:11px;color:#777783;line-height:1.7;border-top:1px solid #303039;padding-top:20px}.tool-row{display:flex;gap:70px;border-bottom:1px solid var(--line);padding:38px 0;align-items:center}.tool-row>span{font-size:10px;letter-spacing:1.5px;color:#72727f}.tool-row>div{display:flex;gap:36px;flex-wrap:wrap}.tool-row>div span{font-size:16px;color:#b7b7c1}.contact{min-height:900px;min-height:100svh;padding-top:92px;background:radial-gradient(ellipse at 90% 55%,#1d203844,transparent 60%),#0b0b0d;border-top:1px solid var(--line);display:flex;align-items:center}.contact>.container{padding-bottom:28px}.contact .section-label{margin-bottom:85px}.contact-heading>p{font-size:18px;letter-spacing:1px;color:#ababba;margin-bottom:30px}.contact-heading h2{font-family:Barlow Condensed,Arial Narrow,Impact,sans-serif;font-size:clamp(90px,10.3vw,184px);font-weight:600;line-height:.95;letter-spacing:-.015em;margin-bottom:64px}.contact-heading h2 span{color:#8c8ea8}.contact-details{display:grid;grid-template-columns:1.6fr .7fr auto;gap:65px;align-items:center;border-top:1px solid #303039;border-bottom:1px solid #303039;padding:32px 0 38px}.contact-email{font-size:clamp(20px,2vw,32px);letter-spacing:-.5px;display:flex;justify-content:space-between;align-items:center;gap:20px}.contact-email:hover{color:var(--accent)}.email-circle{border:1px solid #5b5b69;display:grid;place-items:center;flex-shrink:0;width:60px;height:60px;border-radius:50%}.contact-details .copy-contact{margin-top:0}.contact-pill{border-color:#747486;gap:24px;white-space:nowrap}footer{display:flex;justify-content:space-between;align-items:center;padding-top:34px;gap:20px}footer p{font-size:11px;color:#797986;margin:0}footer>a:last-child{display:flex;gap:18px;align-items:center;font-size:12px;color:#a6a6b2}.project-dialog{width:min(1200px,calc(100% - 48px));max-height:calc(100svh - 60px);color:#f1f1f3;background:#15151b;border:1px solid #454550;padding:0;border-radius:8px;overscroll-behavior:contain}.project-dialog::backdrop{background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-inner{padding:36px}.dialog-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #36363f;padding-bottom:24px;font-size:12px;color:#a7a7b2;letter-spacing:1px;position:sticky;top:-36px;background:#15151bf5;z-index:2}.dialog-top button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #484853;border-radius:50%}.dialog-title{padding:40px 0 25px}.dialog-title h2{font-size:34px;margin:20px 0}.dialog-title>p:not(.eyebrow){font-size:16px;line-height:1.9;color:#a7a7b3;max-width:850px}.dialog-meta{display:flex;flex-wrap:wrap;gap:30px;font-size:12px;color:#8c8c9a;margin-top:30px}.dialog-gallery figure{margin:0 0 24px}.dialog-gallery img{width:100%;display:block;border-radius:3px}.dialog-gallery figcaption{text-align:right;font-size:11px;color:#8a8a98;margin-top:8px}.dialog-close-bottom{margin-top:10px}@media(min-width:1800px){.about-grid{gap:140px}.section{padding-block:150px}.skill-card{padding:42px 34px}.skill-card p{font-size:16px}.project-info h3{font-size:26px}}@media(max-width:1100px){.about-grid{gap:6%;grid-template-columns:1fr 1.8fr}.career-row{flex-wrap:wrap;gap:10px 16px}.career-row time{width:100%;padding-left:30px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-top{margin-bottom:34px}.contact-details{grid-template-columns:1.5fr 1fr;gap:30px}.contact-pill{grid-column:1/-1;justify-self:start}.project-info{gap:10px}.project-info h3{font-size:19px}.project-category{font-size:10px;padding:6px 9px}.tool-row{gap:30px}.tool-row>div{gap:24px}.stats strong{font-size:52px}.stats>div{padding-inline:20px}}@media(max-width:900px){.section{padding-block:80px}.section-label{margin-bottom:40px}.about-grid{grid-template-columns:1fr 1.5fr;gap:36px}.career-detail h3 span{display:block;margin:8px 0 0}.about-content h2{font-size:34px}.about-description{font-size:14px}.stats p{font-size:11px;line-height:1.8}.stats{margin-top:42px;padding-top:35px}.stats strong{font-size:44px}.stats strong span{font-size:14px}.stats>div{padding-inline:15px}.heading-note{font-size:12px;max-width:240px}.toolbar-note{display:none}.projects{gap:35px 20px}.project-category{display:none}.project-info h3{font-size:18px}.project-en{font-size:9px;letter-spacing:1px}.tags{gap:9px}.tags span{font-size:11px}.project-open{width:40px;height:40px;bottom:15px;right:15px}.contact{min-height:850px;padding-top:80px}.contact .section-label{margin-bottom:60px}.contact-heading h2{font-size:clamp(80px,12vw,120px)}.contact-heading>p{font-size:16px}.tool-row{align-items:flex-start}.tool-row>span{padding-top:5px;white-space:nowrap}.tool-row>div span{font-size:14px}.education{font-size:12px}}@media(max-width:600px){.section{padding-block:65px}.section-label{font-size:10px;letter-spacing:1px;gap:15px;margin-bottom:35px}.about-grid{grid-template-columns:1fr;gap:45px}.portrait-column{max-width:none}.portrait-frame,.about-name,.education,.portrait-column .copy-contact,.about-email{max-width:320px}.about-name span{font-size:10px}.about-content h2{font-size:34px}.about-description{font-size:15px}.career-row{padding-block:21px}.career-detail h3{font-size:22px}.career-detail h3 span{display:inline;margin-left:12px;font-size:12px}.career-detail p{font-size:13px}.career-row time{font-size:11px}.stats{grid-template-columns:repeat(2,1fr);row-gap:32px}.stats>div{padding-left:0;border-right:0}.stats>div:nth-child(2n){padding-left:20px;border-left:1px solid var(--line)}.stats strong{font-size:50px}.stats p{font-size:12px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:35px}.heading-note{margin-top:24px;font-size:13px}.filters{gap:5px;width:100%;justify-content:space-between}.filters button{font-size:12px;padding:9px}.filters sup{font-size:9px;margin-left:4px}.work-toolbar{padding-bottom:18px}.projects{grid-template-columns:1fr;gap:35px}.project-card.featured{grid-column:auto}.project-card.featured .project-image{aspect-ratio:16/9}.project-info h3{font-size:20px}.project-en{font-size:10px}.project-info{padding-top:19px}.project-index{top:12px;left:12px}.tags span{font-size:12px}.skill-grid{grid-template-columns:1fr;gap:14px}.skill-card{padding:26px}.skill-top{margin-bottom:27px}.skill-card h3{font-size:24px}.skill-card p{font-size:15px;margin-bottom:25px}.skill-tags{font-size:12px}.tool-row{flex-direction:column;gap:24px;padding-block:28px}.tool-row>div{gap:18px 26px}.contact{padding-top:65px;min-height:850px;display:block}.contact .section-label{margin-bottom:65px}.contact-heading>p{font-size:15px;line-height:1.8}.contact-heading h2{font-size:clamp(60px,14vw,92px);margin-bottom:45px;line-height:1.05}.contact-details{grid-template-columns:1fr;gap:30px;padding:25px 0 32px}.contact-email{font-size:23px}.email-circle{width:46px;height:46px}.email-circle svg{width:22px}.contact-details .copy-contact{max-width:280px}.contact-pill{grid-column:auto}.contact-details .copy-contact button{font-size:18px}footer{flex-wrap:wrap;gap:24px;padding-top:26px}footer .wordmark{font-size:30px}footer p{order:3;width:100%;font-size:10px;line-height:1.8}footer>a:last-child{margin-left:auto}.project-dialog{width:calc(100% - 20px);max-height:calc(100svh - 24px)}.dialog-inner{padding:18px}.dialog-top{top:-18px;padding-bottom:16px}.dialog-title{padding-top:25px}.dialog-title h2{font-size:26px}.dialog-title>p:not(.eyebrow){font-size:14px}.dialog-title .eyebrow{font-size:10px;line-height:1.7}.dialog-meta{gap:15px}.dialog-gallery figure{margin-bottom:20px}}.hero-media{mask-image:linear-gradient(90deg,transparent 0%,#000 26%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 26%)}.hero-media video{object-fit:contain;filter:saturate(.9) brightness(.94)}@media(min-width:901px){.hero-media{width:65%;right:0}}.career-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.career-heading h3{font-size:20px;font-weight:500;letter-spacing:1px;margin:0}.career-heading>span{font-size:10px;letter-spacing:1.6px;color:#858594}.career-list{list-style:none;padding:0;margin:0}.career-list .career-row{display:grid;grid-template-columns:26px minmax(0,1fr);gap:20px;padding:28px 0}.career-list .career-no{padding-top:5px;color:#858595}.career-row.is-current .career-no{color:#c7cbff}.career-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.career-header h4{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0;font-size:22px;font-weight:500;letter-spacing:.2px}.career-current{font-size:10px;letter-spacing:.5px;color:#cdd0ff;border:1px solid #c7cbff38;background:#c7cbff0a;border-radius:20px;padding:4px 9px}.career-detail .career-role{font-size:12px;color:#b2b0c6;margin:9px 0 0;line-height:1.5}.career-dates{font-size:12px;color:#9898a8;white-space:nowrap;padding-top:5px}.career-detail .career-summary{font-size:14px;color:#b7b7c3;line-height:1.8;max-width:none;margin:17px 0 16px}.career-highlights{list-style:none;margin:0;padding:0;display:grid;gap:10px}.career-highlights li{display:grid;grid-template-columns:116px minmax(0,1fr);gap:16px;font-size:13px;line-height:1.9;color:#92929e}.career-highlights strong{font-weight:400;color:#c5c3d2}.career-highlights strong:before{content:"·";color:#a5a7ce;margin-right:8px}@media(max-width:1100px){.career-header{flex-wrap:wrap;gap:10px}.career-dates{padding-top:0}.career-highlights li{grid-template-columns:1fr;gap:1px}.career-highlights li>span{padding-left:12px}}@media(max-width:600px){.career-list .career-row{gap:12px;grid-template-columns:20px minmax(0,1fr)}.career-header h4{font-size:20px;gap:10px}.career-heading>span{font-size:9px;letter-spacing:1px}.career-highlights li{font-size:13px}}.project-count{position:absolute;left:20px;bottom:22px;border:1px solid #ffffff30;border-radius:24px;padding:8px 13px;background:#0b0b12b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;color:#eeeef4}.work-archive,.portfolio-bookends{border-top:1px solid #35353f;margin-top:54px}.work-archive summary,.portfolio-bookends summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;color:#d6d6e1;font-size:17px}.work-archive summary::-webkit-details-marker,.portfolio-bookends summary::-webkit-details-marker{display:none}.work-archive summary small{color:#878796;font-size:12px;margin-left:22px;font-weight:400}.work-archive[open]>summary>svg,.portfolio-bookends[open]>summary>svg{transform:rotate(45deg)}.archive-group{margin:28px 0 52px}.archive-group>h3{font-size:23px;font-weight:500;margin-bottom:24px;display:flex;gap:20px;align-items:center}.archive-group>h3>span{font-size:12px;color:#888896}.archive-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.archive-images figure{margin:0}.archive-images img{display:block;width:100%;height:auto;background:#191921;border-radius:3px}.archive-images figcaption{font-size:12px;color:#92929f;margin-top:10px;line-height:1.8}.portfolio-bookends{margin-top:12px}.portfolio-bookends summary{font-size:13px;color:#90909f;padding:20px 0}.chapter-links{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 32px}.chapter-links button{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:12px;border:1px solid #41414e;border-radius:24px;color:#babaca;line-height:1.5}.chapter-links button:hover{background:#242431;color:#fff;border-color:#797989}.chapter-links button span{font-size:10px;color:#7f7f91}.gallery-chapter{scroll-margin-top:90px;margin-top:18px}.gallery-chapter h3{display:flex;gap:16px;align-items:center;font-size:19px;font-weight:500;color:#d9d9e4;margin:0 0 24px;border-top:1px solid #34343f;padding-top:24px}.gallery-chapter h3 span{font-size:11px;color:#858596}.dialog-gallery img{height:auto}.dialog-top{top:0;box-shadow:0 10px 18px #15151bd9}@media(max-width:1100px){.work-toolbar .filters{flex-wrap:wrap;gap:8px}.work-toolbar .filters button{font-size:13px;padding:10px 14px}}@media(max-width:600px){.work-toolbar .filters{justify-content:flex-start;gap:8px}.work-toolbar .filters button{font-size:12px;padding:9px 12px}.project-count{left:12px;bottom:16px;font-size:11px;padding:6px 10px}.archive-images{grid-template-columns:1fr;gap:24px}.work-archive summary{font-size:15px}.work-archive summary small{display:block;margin:10px 0 0;font-size:11px}.archive-group>h3{font-size:20px}.chapter-links button{padding:8px 11px;font-size:11px}.gallery-chapter h3{font-size:16px}.work-archive{margin-top:38px}}.projects .project-frame{min-width:0;height:100%;border-color:#ffffff1c}.project-frame>.border-glow-inner{height:100%;overflow:visible;border-radius:inherit}.project-frame .project-card{width:100%;height:100%;padding:12px;border-radius:inherit}.project-frame .project-image{border-radius:14px}.project-frame .project-info{padding:24px 14px 18px}.project-frame .project-card:focus-visible{outline-offset:4px}@media(max-width:900px){.project-frame .project-info{padding:20px 10px 16px}}@media(max-width:600px){.project-frame .project-card{padding:9px}.project-frame .project-image{border-radius:15px}.project-frame .project-info{padding:20px 10px 17px}}.hero-cinematic{height:100svh;min-height:790px;max-height:1200px;background:#05050a}.hero-cinematic .hero-media{inset:0;width:100%;height:100%;opacity:1;mask-image:none;-webkit-mask-image:none}.hero-cinematic .hero-media video{width:100%;height:100%;object-fit:cover;object-position:center;filter:none;mask-image:linear-gradient(180deg,transparent 0%,transparent 15%,#000 27%,#000 78%,transparent 88%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,transparent 15%,#000 27%,#000 78%,transparent 88%,transparent 100%)}.hero-cinematic .hero-shade{background:linear-gradient(180deg,#03030799 0%,#03030725 16%,transparent 30%,transparent 62%,#03030730 80%,#030307b8 100%);pointer-events:none}.cinematic-header .nav{height:138px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding-top:42px;border:0;gap:28px}.header-brand{display:flex;flex-direction:column;gap:6px;font-size:19px;line-height:1.3;letter-spacing:.3px;justify-self:start}.header-brand span:last-child{font-size:14px;letter-spacing:.4px;color:#9696a6}.header-center{display:flex;flex-direction:column;align-items:center;gap:22px}.header-statement{font-size:13px;letter-spacing:2.8px;font-weight:600;color:#dedee9}.cinematic-header .nav-links{margin-left:0;gap:34px;display:flex}.cinematic-header .nav-links a{font-size:12px;color:#ababba;letter-spacing:.6px}.cinematic-header .nav-links a:hover{color:#fff}.cinematic-header .nav-links sup{color:#858599;font-size:9px;margin-left:5px}.cinematic-header .nav-contact{justify-self:end;font-size:13px;padding:12px 19px;border-color:#b9b9d14a;background:#08080e18;gap:24px;align-items:center}.hero-composition{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;pointer-events:none}.hero-cinematic .sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}.hero-kicker{position:absolute;top:22.5%;font-size:10px;letter-spacing:3px;color:#c4c2d8;margin:0;text-align:center}.hero-caption{position:absolute;bottom:14%;text-align:center;pointer-events:auto}.hero-caption-title{font-size:23px;letter-spacing:5px;line-height:1.5;color:#f3f1ff;margin:0 0 12px;font-weight:400}.hero-caption-description{font-size:13px;color:#bcbbce;letter-spacing:1px;line-height:1.8;margin:0}.hero-work-link{margin-top:22px;gap:27px;padding:12px 21px;font-size:13px;border-color:#e5deff65;background:#08081345;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-work-link:hover{background:#d4c8ff;color:#11111c}.hero-cinematic .hero-bottom{bottom:27px;padding-top:20px;border-color:#d8d0ff24}.hero-footnote{font-size:10px;letter-spacing:1.8px;color:#a5a3ba}.hero-cinematic .hero-bottom-right{gap:27px}.hero-cinematic .video-control{border-color:#aca5c660;color:#d8d5e8;background:#05051040}.hero-cinematic .scroll-link{font-size:9px;color:#aaa7bd;letter-spacing:1.6px}.hero-cinematic .scroll-line{height:23px;background:linear-gradient(#e2d8ff99,#e2d8ff20)}@media(min-width:1800px){.cinematic-header .nav{padding-top:50px}.header-brand{font-size:23px}.header-statement{font-size:15px}.cinematic-header .nav-links a{font-size:14px}.hero-caption-title{font-size:28px}.hero-caption-description{font-size:15px}.hero-work-link{font-size:14px}}@media(max-height:850px)and (min-width:901px){.hero-cinematic{min-height:760px}.cinematic-header .nav{padding-top:32px}.hero-kicker{top:23%}.hero-caption{bottom:13%}.hero-caption-title{font-size:21px}.hero-work-link{margin-top:17px}}@media(max-width:900px){.cinematic-header .nav{padding-top:32px;height:125px;gap:20px}.header-brand{font-size:16px}.header-brand span:last-child{font-size:12px}.header-statement{font-size:10px;letter-spacing:1.8px}.header-center,.cinematic-header .nav-links{gap:20px}.cinematic-header .nav-links a{font-size:11px}.cinematic-header .nav-contact{padding:10px 14px;font-size:12px;gap:14px}.hero-cinematic .hero-media{width:145%;left:-22.5%;right:auto}.hero-cinematic .hero-media video{object-fit:contain}.hero-kicker{top:24%;font-size:9px;letter-spacing:2px}.hero-caption{bottom:15%}.hero-caption-title{font-size:22px}.hero-caption-description{font-size:12px}.hero-footnote{font-size:9px;letter-spacing:1px}}@media(max-width:600px){.hero-cinematic{min-height:760px;max-height:none}.cinematic-header .nav{height:106px;display:flex;align-items:flex-start;padding-top:26px;gap:18px}.header-brand{font-size:16px;gap:5px;white-space:nowrap}.header-brand span:last-child{font-size:11px}.header-center{display:contents}.header-statement{display:none}.cinematic-header .nav-links{display:none;top:88px;left:20px;right:20px;padding:24px;background:#11101ce8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #b1a8dc3d;gap:24px;border-radius:8px;align-items:flex-start}.cinematic-header .nav-links.is-open{display:flex}.cinematic-header .nav-links a{font-size:14px}.cinematic-header .nav-contact{margin-left:auto;white-space:nowrap;font-size:12px;padding:9px 12px;gap:10px}.cinematic-header .mobile-toggle{padding-top:6px;display:block}.cinematic-header .mobile-toggle svg{width:21px;height:21px}.hero-cinematic .hero-media{width:158%;left:-29%;height:100%}.hero-cinematic .hero-media video{object-fit:contain;object-position:center 42%;filter:none}.hero-cinematic .hero-shade{background:linear-gradient(180deg,#030307 0%,#03030740 19%,transparent 35%,transparent 56%,#03030725 68%,#030307b8 100%)}.hero-kicker{top:23%;font-size:8px;letter-spacing:1.8px}.hero-caption{bottom:17%;left:0;right:0}.hero-caption-title{font-size:20px;letter-spacing:3px;margin-bottom:12px}.hero-caption-description{font-size:11px;letter-spacing:.2px;white-space:nowrap}.hero-work-link{margin-top:21px;font-size:12px;padding:12px 19px}.hero-cinematic .hero-bottom{bottom:23px;padding-top:18px}.hero-footnote{font-size:8px;letter-spacing:.7px;max-width:230px;line-height:1.6}.hero-cinematic .hero-bottom-right{gap:0}.hero-cinematic .scroll-link{display:none}.hero-cinematic .video-control{height:31px;width:31px}}.cinematic-header .nav-links a{font-size:14px}.hero-kicker,.hero-footnote,.hero-cinematic .scroll-link{font-size:12px}@media(max-width:900px){.header-statement{font-size:12px;letter-spacing:1.3px}.cinematic-header .nav-links a{font-size:13px}.hero-kicker,.hero-footnote{font-size:12px}.hero-caption-description{font-size:13px}}@media(max-width:600px){.cinematic-header .nav-links a{font-size:14px}.cinematic-header .nav-contact{font-size:13px}.hero-kicker{font-size:12px;letter-spacing:1px}.hero-caption-description{font-size:12px}.hero-footnote{font-size:12px;letter-spacing:.4px;max-width:270px}.hero-work-link{font-size:14px}}.cinematic-header.is-floating{position:fixed;top:0;left:0;right:0;background:linear-gradient(115deg,#2a2a36ad,#0f0f17b8);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);border-bottom:1px solid rgba(232,225,255,.14);box-shadow:0 8px 32px #0000002e,inset 0 1px #ffffff0f;animation:glass-nav-enter .25s ease-out}.cinematic-header.is-floating .nav{height:88px;padding-top:0;align-items:center}.cinematic-header.is-floating .header-brand{font-size:17px;gap:4px}.cinematic-header.is-floating .header-brand span:last-child{font-size:11px}.cinematic-header.is-floating .header-statement{display:none}.cinematic-header.is-floating .nav-links a{color:#d1cfdc}.cinematic-header.is-floating .nav-links a:hover{color:#fff}.cinematic-header.is-floating .nav-contact{background:#ffffff0a}@keyframes glass-nav-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.cinematic-header.is-floating .nav{height:76px;gap:18px}.cinematic-header.is-floating .header-brand{font-size:16px}.cinematic-header.is-floating .nav-links{top:84px;background:#171622e6;box-shadow:0 10px 28px #00000040}.cinematic-header.is-floating .mobile-toggle{padding-top:0}}@media(prefers-reduced-motion:reduce){.cinematic-header.is-floating{animation:none}}.header-brand .header-logo{display:block;width:104px;height:auto;object-fit:contain}.cinematic-header.is-floating .header-logo{width:94px}@media(min-width:1800px){.header-brand .header-logo{width:118px}.cinematic-header.is-floating .header-logo{width:104px}}@media(max-width:600px){.header-brand .header-logo,.cinematic-header.is-floating .header-logo{width:84px}}.glow-cursor{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:40}.glow-cursor__canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none}.glow-cursor[data-visible=true] .glow-cursor__canvas{opacity:1}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.glow-cursor{display:none}}.grainient-container{position:relative;width:100%;height:100%;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 82% 50%,#142a43,transparent 58%),#050608}.grainient-container canvas{display:block;width:100%;height:100%;opacity:0}.grainient-container[data-renderer=ready] canvas{opacity:1}.portfolio-body{position:relative;isolation:isolate;background:#0b0b0d}.page-ambient{position:absolute;inset:0;z-index:0;pointer-events:none}.page-ambient-stage{position:sticky;top:0;height:100svh;overflow:hidden}.page-ambient-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030407a6,#03040770 62%,#03040780),radial-gradient(ellipse at 78% 50%,transparent 12%,#03040766);pointer-events:none}.portfolio-body-content{position:relative;z-index:1}.portfolio-body .work{background:#090a1238;border-color:#dbd7ff1f}.portfolio-body .contact{background:radial-gradient(ellipse at 90% 55%,#142a4318,transparent 65%),#07080f2e}.portfolio-body .skill-card{background:linear-gradient(135deg,#1d1c2cb8,#0c0d1899);border-color:#cec8eb33;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.portfolio-body .muted{color:#a09baa}.portfolio-body .career-highlights{color:#aaa6b7}.portfolio-body .project-en,.portfolio-body .skill-en{color:#a29aae!important}.portfolio-body .toolbar-note{color:#a39eaf}.border-glow-card{--edge-proximity: 0;--cursor-angle: 45deg;--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;display:grid;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #120F17);overflow:visible;box-shadow:0 2px 8px #0002,0 16px 40px #0003}.border-glow-card--light{border-color:#18181b1f;box-shadow:#18181b0a 0 1px 2px,#18181b0d 0 8px 24px}.border-glow-card--light:after,.border-glow-card--light>.edge-light{mix-blend-mode:normal}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;transition:opacity .25s ease-out;z-index:-1}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #120F17) 0 100%) padding-box,linear-gradient(#fff0 0% 100%) border-box,var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-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((100 - var(--cone-spread) - 15) * 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((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-card:after{border:1px solid transparent;background:var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-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%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:auto;z-index:1}.border-glow-card:has(:focus-visible){--edge-proximity: 100 !important;--cursor-angle: 45deg !important}.border-glow-card:has(:focus-visible):before,.border-glow-card:has(:focus-visible):after,.border-glow-card:has(:focus-visible)>.edge-light{opacity:1}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{display:none}}.card-spotlight{position:relative;border-radius:1.5rem;border:1px solid #222;background-color:#111;padding:2rem;overflow:hidden;--mouse-x: 50%;--mouse-y: 50%;--spotlight-color: rgba(255, 255, 255, .05)}.card-spotlight:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 80%);opacity:0;transition:opacity .5s ease;pointer-events:none}.card-spotlight:hover:before,.card-spotlight:focus-within:before{opacity:.6}.project-frame .project-spotlight{width:100%;height:100%;border:0;border-radius:inherit;background:transparent;padding:0;isolation:isolate}.project-spotlight:before{z-index:2;mix-blend-mode:screen}.project-spotlight .project-card:focus-visible{outline-offset:-3px}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.card-spotlight:before{display:none}}.meteors{position:fixed;inset:0;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:3}.meteor-star{position:absolute;left:var(--meteor-x);top:var(--meteor-y);width:3px;height:3px;opacity:0;will-change:transform,opacity;animation:meteor-fall var(--meteor-duration) linear var(--meteor-delay, 0ms) both}.meteor-star:before{content:"";position:absolute;inset:0;border-radius:50%;background:#e0efff;box-shadow:0 0 5px #b6d8ff99,0 0 13px #729eff44}.meteor-tail{position:absolute;left:1px;top:1px;width:var(--meteor-length);height:1px;background:linear-gradient(90deg,#c4dfffba,#7ba9ed55 25%,#6498e51a 65%,transparent);transform-origin:left center;transform:rotate(var(--meteor-angle));box-shadow:0 0 3px #a6caff24}@keyframes meteor-fall{0%{transform:translateZ(0);opacity:0}12%{opacity:var(--meteor-brightness, .65)}70%{opacity:calc(var(--meteor-brightness, .65) * .75)}to{transform:translate3d(var(--meteor-dx),var(--meteor-dy),0);opacity:0}}@media(prefers-reduced-motion:reduce){.meteors{display:none}}.hero-lettering{position:absolute;top:50%;left:50%;width:min(68vw,1140px,98svh);aspect-ratio:1468 / 445;transform:translate(-50%,-50%);pointer-events:none;-webkit-user-select:none;user-select:none;isolation:isolate}.hero-lettering-image{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 20px #09071355)}.hero-lettering-shine{position:absolute;inset:0;overflow:hidden;mask-image:url(/assets/hero-portfolio-lettering.png);-webkit-mask-image:url(/assets/hero-portfolio-lettering.png);mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mix-blend-mode:screen}.hero-lettering-shine:before{content:"";position:absolute;top:-25%;bottom:-25%;left:-70%;width:40%;background:linear-gradient(90deg,transparent,#88bdff40 15%,#d1e2ffb3 34%,white 46%,white 54%,#d1e2ffcc 64%,#90b8ff55 82%,transparent);opacity:0;animation:lettering-sweep 6.4s ease-in-out infinite}@keyframes lettering-sweep{0%,6%{opacity:0;transform:translate(0) skew(-18deg)}10%{opacity:1}54%{opacity:1;transform:translate(500%) skew(-18deg)}58%,to{opacity:0;transform:translate(500%) skew(-18deg)}}.hero-lettering-filters{position:absolute;pointer-events:none}.hero-lettering-outline{position:absolute;inset:0;opacity:0;mix-blend-mode:screen;mask-image:linear-gradient(110deg,transparent 43%,#000b 47%,black 49%,black 52%,#000b 55%,transparent 59%);-webkit-mask-image:linear-gradient(110deg,transparent 43%,#000b 47%,black 49%,black 52%,#000b 55%,transparent 59%);mask-size:300% 100%;-webkit-mask-size:300% 100%;mask-position:100% center;-webkit-mask-position:100% center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;animation:lettering-outline-sweep 6.4s ease-in-out infinite}.hero-lettering-outline img{display:block;width:100%;height:auto;filter:url(#hero-lettering-contour)}@keyframes lettering-outline-sweep{0%,6%{opacity:0;mask-position:100% center;-webkit-mask-position:100% center}10%{opacity:1}54%{opacity:1;mask-position:0% center;-webkit-mask-position:0% center}58%,to{opacity:0;mask-position:0% center;-webkit-mask-position:0% center}}.hero-lettering-glint{position:absolute;width:calc(clamp(20px,2.5vw,40px) * var(--glint-scale));height:calc(clamp(25px,3vw,48px) * var(--glint-scale));opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(10deg);animation:lettering-glint var(--glint-duration) ease-in-out var(--glint-delay) infinite;filter:drop-shadow(0 0 4px #d5ddff99)}.hero-lettering-glint:before,.hero-lettering-glint:after{content:"";position:absolute;background:linear-gradient(90deg,transparent,#d0dbff9c 30%,white 50%,#d0dbff9c 70%,transparent)}.hero-lettering-glint:before{left:0;top:calc(50% - .75px);width:100%;height:1.5px}.hero-lettering-glint:after{top:0;left:calc(50% - .75px);height:100%;width:1.5px;background:linear-gradient(180deg,transparent,#d0dbff9c 30%,white 50%,#d0dbff9c 70%,transparent)}.hero-lettering-glint i{position:absolute;width:3px;height:3px;top:calc(50% - 1.5px);left:calc(50% - 1.5px);border-radius:50%;background:#fff;box-shadow:0 0 6px #eff3ff,0 0 15px #acb7ff88}@keyframes lettering-glint{0%,9%,29%,to{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(10deg)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(10deg)}21%{opacity:.45;transform:translate(-50%,-50%) scale(.75) rotate(10deg)}}.hero-lettering[data-animated=false] .hero-lettering-shine:before,.hero-lettering[data-animated=false] .hero-lettering-outline,.hero-lettering[data-animated=false] .hero-lettering-glint{animation-play-state:paused}@media(max-width:600px){.hero-lettering{width:78vw;top:44%}.hero-lettering-glint{width:calc(19px * var(--glint-scale));height:calc(24px * var(--glint-scale))}}@media(prefers-reduced-motion:reduce){.hero-lettering-shine,.hero-lettering-outline,.hero-lettering-glint{display:none}}.music-player{position:fixed;right:28px;bottom:112px;z-index:25;width:62px;border:1px solid #b7d8ff2b;border-radius:32px;background:linear-gradient(135deg,#121925e8,#080a10eb);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 32px #0005;color:#edf2fb;transform:scale(.9);transform-origin:right center;transition:width .4s cubic-bezier(.22,1,.36,1),border-radius .4s,transform .4s}.music-player.is-unfolded{width:276px;border-radius:18px;transform:scale(1)}.music-player.is-hidden{visibility:hidden;pointer-events:none}.music-main{display:flex;align-items:center;gap:0;padding:13px;overflow:hidden;transition:gap .4s,padding .4s}.is-unfolded .music-main{gap:12px;padding:13px 14px 24px}.music-details{display:flex;align-items:center;gap:12px;flex:1;min-width:0;opacity:0;visibility:hidden;transform:translate(8px);transition:opacity .2s,transform .4s,visibility .2s}.is-unfolded .music-details{opacity:1;visibility:visible;transform:translate(0);transition-delay:.1s}.music-play{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid #c5dcff3b;background:#b2d5ff0d;color:#e0efff;transition:background .2s}.music-play:hover{background:#b2d5ff25}.music-play:disabled{opacity:.5;cursor:wait}.music-play svg{stroke-width:1.4}.music-track{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.music-track strong{font-size:12px;font-weight:500;letter-spacing:.3px}.music-track span{font-size:9px;white-space:nowrap;color:#a0acbe;letter-spacing:.2px}.music-volume-button{width:24px;height:28px;display:grid;place-items:center;padding:0;color:#9cacc4}.music-volume-button:hover{color:#fff}.music-wave{display:flex;align-items:center;gap:2px;height:17px}.music-wave i{width:2px;height:5px;border-radius:2px;background:#a8ceff;transform-origin:center;opacity:.5}.music-wave i:nth-child(2){height:13px}.music-wave i:nth-child(3){height:8px}.music-wave i:nth-child(4){height:11px}.is-playing .music-wave i{opacity:.9;animation:music-equalizer .85s ease-in-out infinite alternate}.is-playing .music-wave i:nth-child(2){animation-delay:-.3s}.is-playing .music-wave i:nth-child(3){animation-delay:-.6s}.is-playing .music-wave i:nth-child(4){animation-delay:-.15s}.music-progress{display:block;appearance:none;-webkit-appearance:none;width:calc(100% - 28px);height:3px;margin:0 14px 12px;padding:0;border:0;border-radius:3px;background:linear-gradient(to right,#b7d7ff var(--progress),#ffffff1c var(--progress));cursor:pointer}.music-progress::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:7px;height:7px;background:#d9eaff;border-radius:50%;opacity:0;transition:opacity .2s}.music-progress::-moz-range-thumb{width:7px;height:7px;border:0;background:#d9eaff;border-radius:50%}.music-progress:hover::-webkit-slider-thumb,.music-progress:focus-visible::-webkit-slider-thumb{opacity:1}.music-progress:disabled{cursor:default}.music-progress:focus-visible,.music-volume input:focus-visible{outline:2px solid #b7d7ff;outline-offset:5px}.music-settings{position:absolute;bottom:calc(100% + 10px);right:0;width:100%;padding:17px;border:1px solid #b7d8ff2b;border-radius:16px;background:#0b101bee;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 32px #0005}.music-time{display:flex;justify-content:space-between;font-size:10px;color:#9cacc4;margin-bottom:17px;font-variant-numeric:tabular-nums}.music-volume{display:flex;align-items:center;gap:12px;font-size:10px;color:#c0cadb}.music-volume input{min-width:0;width:100%;height:3px;accent-color:#b7d7ff;cursor:pointer}.music-volume>span:last-child{width:30px;text-align:right;font-variant-numeric:tabular-nums}.music-status:empty{display:none}.music-status:not(:empty){display:block;font-size:10px;color:#c9d9ef;padding:0 14px 12px}.music-volume>span{flex-shrink:0;white-space:nowrap}.music-wave,.music-volume-button{flex-shrink:0}.music-progress{position:absolute;bottom:11px;left:14px;margin:0;width:calc(100% - 28px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}.is-unfolded .music-progress{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.15s}@keyframes music-equalizer{0%{transform:scaleY(.45)}to{transform:scaleY(1.3)}}@media(max-width:600px){.music-player{right:16px;bottom:90px;width:56px}.music-player.is-unfolded{width:242px}.music-main{padding:12px;gap:0}.is-unfolded .music-main{gap:10px;padding:12px 12px 23px}.music-details{gap:10px}.music-play{width:30px;height:30px}.music-track span{font-size:8px}}@media(prefers-reduced-motion:reduce){.is-playing .music-wave i{animation:none}}.tech-text{position:relative;display:block;width:100%;height:100%;touch-action:pan-y;-webkit-user-select:none;user-select:none}.tech-text-inline{display:inline-block;vertical-align:baseline;width:auto;height:auto;max-width:100%;white-space:pre;font:inherit;letter-spacing:inherit;color:inherit}.tech-text-readable{font:inherit!important;letter-spacing:inherit!important;color:inherit!important;margin:0!important}.tech-text-baseline{display:inline-block;width:0;height:0;padding:0!important;margin:0!important;vertical-align:baseline}.tech-text-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none}.tech-text-inline .tech-text-canvas{top:-28px;left:-28px;width:calc(100% + 56px);height:calc(100% + 56px);max-width:none}.tech-text[data-ready=true]>.tech-text-readable{opacity:0}.tech-text[data-ready=true]>.tech-text-canvas{opacity:1}.stats strong>.tech-text{font:inherit;letter-spacing:inherit;margin:0;color:inherit}@media(prefers-reduced-motion:reduce){.tech-text[data-ready=true]>.tech-text-readable{opacity:1}.tech-text[data-ready=true]>.tech-text-canvas{display:none}}
