.prism-container{width:100%;height:100%;position:relative}@font-face{font-family:Alimama ShuHeiTi Local;src:url(/fonts/AlimamaShuHeiTi-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:D-DIN PRO Local;src:url(/fonts/D-DIN-PRO-500-Medium.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}:root{font-synthesis:none;--bg:#070612;--panel:#ffffff09;--line:#ffffff16;--text:#f5f5f7;--muted:#86868b;--accent:#fd5201;--purple:var(--accent);--green:var(--accent);--blue:#60a5fa;--pink:#ec4899;--spacing:.25rem;--font-size:16px;--border:#0000001a;--ring:oklch(70.8% 0 0)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:MiSans,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}img{max-width:100%;display:block}#root{isolation:isolate;min-height:100vh}#aurora-bg,#prism-bg,.ambient{pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}#aurora-bg,#prism-bg{z-index:0;opacity:.9;overflow:hidden}.aurora-container,.prism-container{width:100%;height:100%;position:relative}.aurora-container canvas,.prism-container canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ambient{z-index:0;background-color:#0000;background-image:radial-gradient(circle at 72% 22%,#7c3aed21,#0000 28%),radial-gradient(circle at 20% 76%,#22c55e12,#0000 30%),linear-gradient(#07061205,#070612b8);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;-webkit-mask-image:linear-gradient(#000,#0000 92%);mask-image:linear-gradient(#000,#0000 92%)}.site-header{z-index:20;-webkit-backdrop-filter:blur(26px)saturate(1.25);backdrop-filter:blur(26px)saturate(1.25);background:linear-gradient(135deg,#ffffff18,#ffffff06 46%,#ffffff0b),#07061247;border:0;border-radius:999px;justify-content:space-between;align-items:center;width:min(900px,100% - 28px);height:72px;padding:0 10px 0 24px;display:flex;position:fixed;top:32px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:inset 0 1px #ffffff29,0 18px 60px #00000047}.site-header:before{content:"";border-radius:inherit;opacity:.54;pointer-events:none;background:linear-gradient(90deg,#ffffff14,#0000 34%,#ffffff0b 68%,#0000),radial-gradient(circle at 18% 0,#ffffff1a,#0000 42%);position:absolute;inset:1px}.site-header>*{z-index:1;position:relative}.brand{letter-spacing:.04em;white-space:nowrap;align-items:center;gap:10px;font-family:D-DIN PRO Local,D-DIN PRO,MiSans,system-ui,sans-serif;font-weight:500;display:inline-flex}.brand-icon{fill:#fff;stroke:#fff;stroke-width:1px;flex:none;width:20px;height:20px}nav{align-items:center;gap:8px;display:flex}nav a{color:#ffffff9e;white-space:nowrap;border-radius:999px;align-items:center;min-height:42px;padding:0 16px;transition:all .22s;display:inline-flex}nav a:hover,nav a.active{color:#fff;background:#ffffff14}main,#app{z-index:2;position:relative}.home-main{height:100dvh;max-height:100dvh;overflow:hidden}.page{width:min(1520px,100% - 48px);margin:0 auto;padding:150px 0 80px}.page.intro,.portfolio-page{width:calc(100% - 440px)}.hero{text-align:center;place-items:center;height:100dvh;min-height:100dvh;padding:120px 24px 60px;display:grid;overflow:hidden}.hero-content{flex-direction:column;align-items:center;display:flex;transform:translateY(-46px)}.hero h1{letter-spacing:0;margin:0 0 34px;font-size:clamp(52px,11vw,158px);font-weight:900;line-height:.92}.hero-title{color:#fff;flex-wrap:wrap;justify-content:center;gap:.08em;font-family:Alimama ShuHeiTi Local,Alimama ShuHeiTi,MiSans,PingFang SC,sans-serif;display:flex}.hero-title-word{color:#fff;white-space:nowrap;transform-origin:50% 70%;will-change:opacity, transform, filter;display:inline-block}.shiny-text{display:inline-block}.hero-shiny-title{letter-spacing:0;font:inherit}.tone{color:#b9b9c8}.gradient-text{color:var(--accent);background:0 0;-webkit-background-clip:initial;background-clip:initial}.hero p{max-width:980px;color:var(--muted);margin:0 auto 140px;font-size:clamp(20px,2.2vw,30px);font-weight:300;line-height:1.55}.hero p strong{color:#fff;margin-bottom:8px;font-weight:600;display:block}.hero p span{font-weight:400;display:block}.button-row{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.btn{border:1px solid var(--line);color:#fff;cursor:pointer;background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:58px;padding:0 28px;font-weight:800;transition:all .22s;display:inline-flex}.btn:hover{background:#ffffff1c;transform:translateY(-2px)}.btn.primary{color:#05050a;background:#fff}.btn.primary:hover{background:#e9e9ee}.hero-sweep-button{--sweep-border:#a2a2a2;justify-content:center;align-items:center;gap:calc(var(--spacing) * 8);min-width:284px;height:80px;min-height:80px;padding-block:calc(var(--spacing) * 6);padding-inline:calc(var(--spacing) * 12);border:0 solid var(--border);color:#fff;text-align:center;outline-color:color-mix(in oklab, var(--ring) 50%, transparent);letter-spacing:0;opacity:1;background:linear-gradient(#ffffff2e,#ffffff05 42%,#ffffff14),linear-gradient(90deg,#ffffff21,#ffffff0f 42%,#ffffff1c),#151515;border-radius:999px;flex-direction:row;margin:0;font-size:24px;font-weight:900;line-height:1;transition:transform .24s,box-shadow .24s;display:inline-flex;position:relative;overflow:hidden;transform:none;box-shadow:inset 0 1px #ffffff2e,inset 0 -22px 38px #00000042,0 16px 48px #0000003d}.hero-sweep-button:before{content:"";border-radius:inherit;background:linear-gradient(90deg, var(--sweep-border) 0 50%, transparent 50% 100%);opacity:0;pointer-events:none;-webkit-mask-composite:xor;background-position:100% 0;background-size:200% 100%;padding:4px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.hero-sweep-button:after{content:"";border-radius:inherit;filter:blur(18px);opacity:0;pointer-events:none;clip-path:inset(0 round 999px);background:radial-gradient(#fffffff2 0%,#ffffffc7 18%,#ffffff40 42%,#0000 68%);position:absolute;inset:0;transform:translate(-130%)}.hero-sweep-button span{z-index:1;text-shadow:0 2px 8px #00000073;position:relative}.hero-sweep-button:hover{transform:translateY(-2px);box-shadow:inset 0 1px #fff3,inset 0 -22px 38px #00000047,0 22px 58px #00000052}.hero-sweep-button:hover:before{opacity:1;animation:.42s ease-out forwards sweep-outline-left-to-right}.hero-sweep-button:hover:after{animation:.56s ease-out forwards sweep-light-left-to-right}@keyframes sweep-outline-left-to-right{0%{background-position:100% 0}to{background-position:0 0}}@keyframes sweep-light-left-to-right{0%{opacity:0;transform:translate(-130%)}18%{opacity:.95}to{opacity:.2;transform:translate(130%)}}.section{margin:0 0 130px}.page.intro>.section:last-of-type,.portfolio-page>.section:last-of-type{margin-bottom:0}.section-title{align-items:center;gap:28px;margin:0 0 56px;display:flex}.section-title h2{letter-spacing:0;margin:0;font-size:clamp(38px,6vw,72px);font-weight:900;line-height:1}.section-title:after{content:"";background:linear-gradient(90deg,#ffffff24,#0000);flex:1;height:1px}.muted{color:var(--muted)}.kicker{border:1px solid var(--line);color:#ffffffa8;letter-spacing:.22em;text-transform:uppercase;background:#ffffff0d;border-radius:999px;align-items:center;gap:10px;padding:10px 15px;font-size:12px;font-weight:900;display:inline-flex}.dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 16px var(--green);border-radius:50%}.intro-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.8fr);align-items:center;gap:70px;display:grid}.intro h1{margin:24px 0;font-size:clamp(48px,5.7vw,96px);font-weight:900;line-height:1.04}.intro-title-nowrap{white-space:nowrap}.intro-copy{max-width:720px;color:var(--muted);font-size:23px;line-height:1.65}.stats{border-top:1px solid #ffffff0f;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:40px;padding-top:40px;display:grid}.stat span{color:#ffffff52;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;font-size:10px;display:block}.stat strong{white-space:nowrap;font-size:20px}.portrait{box-shadow:none;background:0 0;border:0;border-radius:48px;position:relative;overflow:visible}.portrait:before{display:none}.portrait img{object-fit:contain;width:100%;height:auto;position:relative}.portrait picture{display:block}.card-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.card-grid.two{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);background:var(--panel);border-radius:36px;padding:34px;transition:all .28s}.card:hover{background:#ffffff0f;transform:translateY(-4px)}.card h3{margin:0 0 16px;font-size:25px;line-height:1.2}.strength-card h3{font-weight:500}.card p{color:var(--muted);margin:0;line-height:1.8}.tag-row{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.tag{color:#ffffff80;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:12px;display:inline-flex}.outcome-list{border-top:1px solid #ffffff14;flex-wrap:wrap;gap:10px 18px;margin-top:24px;padding-top:20px;display:flex}.outcome-list span{color:#00b42a;align-items:center;gap:8px;font-size:14px;font-weight:400;line-height:1.5;display:inline-flex}.outcome-list span:before{content:"";background:#00b42a;border-radius:50%;flex:none;width:8px;height:8px}.timeline{gap:18px;display:grid}.timeline-item{border:1px solid var(--line);background:#ffffff06;border-radius:42px;padding:36px}.timeline-top{justify-content:space-between;gap:28px;margin-bottom:20px;display:flex}.timeline h3{margin:0 0 8px;font-size:28px}.period{color:var(--muted);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.role{color:var(--accent);font-weight:800}.job-department{color:#ffffff85;letter-spacing:.04em;margin:-4px 0 16px;font-size:14px;font-weight:700}.portfolio-intro{margin-bottom:56px}.portfolio-tab-section{margin:0 0 56px}.portfolio-tabs{width:fit-content;max-width:100%;min-height:64px;box-shadow:none;scrollbar-width:none;background:0 0;border-radius:0;align-items:center;gap:26px;padding:0;display:flex;overflow-x:auto}.portfolio-tabs::-webkit-scrollbar{display:none}.portfolio-tab{color:#ffffff7a;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-width:0;min-height:62px;padding:0 30px;font-size:18px;font-weight:500;transition:color .22s,background-color .22s,box-shadow .22s,transform .22s;display:inline-flex}.portfolio-tab:hover{color:#ffffffe6;background:#ffffff12;transform:translateY(-1px)}.portfolio-tab.is-active{color:#fff;background:#ffffff21;font-weight:700;box-shadow:inset 0 1px #ffffff2e,0 10px 30px #0000002e}.portfolio-tab-icon{color:#ffffff94;flex:none;place-items:center;width:34px;height:34px;line-height:1;transition:color .22s,transform .22s;display:inline-grid}.portfolio-tab-icon img{object-fit:contain;opacity:.58;filter:grayscale()invert();width:26px;height:26px;transition:opacity .22s,filter .22s}.portfolio-tab:hover .portfolio-tab-icon{color:#fff}.portfolio-tab:hover .portfolio-tab-icon img{opacity:.9}.portfolio-tab.is-active .portfolio-tab-icon{color:#070612}.portfolio-tab.is-active .portfolio-tab-icon img{opacity:1;filter:none}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.project-card{border:1px solid var(--line);background:#ffffff06;border-radius:42px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.project-card:hover{background:#ffffff0e;transform:translateY(-6px)}.project-media{aspect-ratio:4/3;background:#05050a;overflow:hidden}.project-media picture{width:100%;height:100%;display:block}.project-media img{object-fit:cover;width:100%;height:100%;transform:translateY(var(--project-image-y,0)) scale(var(--project-image-scale,1));transform-origin:top;transition:all 1s}.project-card:hover img{transform:translateY(var(--project-image-y,0)) scale(calc(var(--project-image-scale,1) * 1.06))}.project-body{flex-direction:column;flex:1;padding:32px;display:flex}.project-category{color:#ffffff52;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;font-size:12px}.project-body h3{margin:0 0 16px;font-size:27px;line-height:1.18}.project-body p{color:var(--muted);margin:0;line-height:1.75}.project-hero{gap:38px;padding-bottom:70px;display:grid}.back-link{color:var(--muted);margin-bottom:22px;display:inline-flex}.project-hero h1{letter-spacing:0;margin:0;font-size:clamp(44px,8vw,110px);line-height:.95}.detail-list{border-top:1px solid #ffffff0f;flex-wrap:wrap;gap:34px;padding-top:34px;display:flex}.detail-list span{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;font-size:10px;display:block}.detail-list strong{white-space:nowrap}.image-stack{background:#000;gap:32px;width:min(100%,100vw - 600px);margin:0 auto;display:grid}.image-stack picture{display:block}.image-stack img{width:100%;height:auto}.cta-band{border:1px solid var(--line);background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:42px;flex-direction:column;align-items:flex-start;gap:34px;padding:56px;display:flex}.cta-band h2{white-space:nowrap;margin:0 0 18px;font-size:clamp(34px,5vw,62px);line-height:1.1}.cta-band p{max-width:1120px}.cta-highlight{color:#fff;font-weight:500}.cta-contact{width:auto;padding-left:40px;padding-right:40px}.portfolio-cta{border:1px solid var(--line);background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:42px;padding:56px}.portfolio-cta h2{margin:0 0 24px;font-size:40px;line-height:1.08}.portfolio-cta p{max-width:980px;color:var(--muted);margin:0;font-size:20px;line-height:1.75}.dot-tag-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:26px 72px;max-width:760px;margin-top:36px;display:grid}.dot-tag{color:#ffffffd6;align-items:center;gap:18px;font-size:16px;font-weight:400;display:inline-flex}.dot-tag:before{content:"";background:var(--dot-color);width:8px;height:8px;box-shadow:0 0 18px color-mix(in srgb, var(--dot-color) 48%, transparent);border-radius:50%;flex:none}.skill-dot-tags{grid-template-columns:repeat(2,minmax(120px,1fr));gap:18px 34px;max-width:none;margin-top:28px}.skill-dot-tags .dot-tag{color:#ffffff94}.footer{color:#ffffff38;text-align:center;letter-spacing:.42em;border-top:1px solid #ffffff0f;padding:70px 24px;font-size:10px;font-weight:900}.to-top{z-index:30;border:1px solid var(--line);color:#fff;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff14;border-radius:50%;width:54px;height:54px;transition:all .25s;position:fixed;bottom:28px;right:28px;transform:translateY(18px)}.to-top.show{opacity:1;transform:translateY(0)}@media (width<=980px){.site-header{padding-left:18px;top:12px}nav a{display:none}.page{width:min(100% - 28px,900px);padding-top:120px}.page.intro,.portfolio-page{width:min(100% - 28px,900px)}.image-stack{width:100%}.intro-grid,.cta-band,.card-grid,.card-grid.two,.portfolio-grid,.dot-tag-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.timeline-top{flex-direction:column}}@media (width<=560px){.brand{font-size:14px}.brand-icon{width:20px;height:20px}.hero{padding-left:16px;padding-right:16px}.section-title{gap:16px}.card,.timeline-item,.cta-band,.portfolio-cta{border-radius:28px;padding:24px}.project-body{padding:24px}.footer{letter-spacing:.18em}}.align-left{justify-content:flex-start;margin-top:28px}.page-heading{margin:0 0 24px;font-size:clamp(46px,8vw,88px);line-height:1}.coming-soon{text-align:center;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:120px}.project-end{text-align:center;margin-top:120px}
