:root{color-scheme:dark;--bg:#050505;--surface:rgba(255,255,255,0.055);--surface-strong:rgba(255,255,255,0.095);--ink:#f7f7f7;--muted:#a7a7a7;--line:rgba(255,255,255,0.18);--line-soft:rgba(255,255,255,0.1);--accent:#ffffff;--code:rgba(255,255,255,0.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 50% 0,rgba(255,255,255,.08),transparent 30rem),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;line-height:1.5;margin:0}a{color:inherit}.site-bg{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:-2}.bg-stars{animation:starDrift 18s linear infinite;background-image:radial-gradient(circle,rgba(255,255,255,.76) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.36) 0 1px,transparent 1.5px);background-position:0 0,38px 54px;background-size:118px 118px,184px 184px;inset:-20%;opacity:.22;position:absolute}.logo-line{border-color:rgba(255,255,255,.095);pointer-events:none;position:absolute;will-change:opacity,transform}.logo-line-arc,.logo-line-inner{animation:logoArcDrift 12s ease-in-out infinite;border-bottom:1px solid;border-left:1px solid;border-radius:999px;border-top:1px solid;transform:rotate(-18deg)}.logo-line-arc{height:min(70vmin,760px);right:-31vmin;top:20vh;width:min(70vmin,760px)}.logo-line-inner{animation-duration:14s;animation-direction:reverse;height:min(48vmin,520px);right:-15vmin;top:29vh;width:min(48vmin,520px)}.logo-line-bar,.logo-line-stem-one,.logo-line-stem-two{animation:lineFloat 7s ease-in-out infinite;background:rgba(255,255,255,.09)}.logo-line-stem-one,.logo-line-stem-two{height:min(37vmin,420px);top:33vh;width:1px}.logo-line-stem-one{right:20vmin}.logo-line-stem-two{animation-delay:-2s;right:7vmin}.logo-line-bar{animation-direction:reverse;height:1px;right:-2vmin;top:52vh;width:min(34vmin,390px)}.footer,.topbar,main{position:relative;z-index:1}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(5,5,5,.72);border-bottom:1px solid var(--line-soft);justify-content:space-between;min-height:72px;padding:0 6vw;position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.category-strip,.contact-links,.hero-actions,.hero-stats,.nav,.topbar{align-items:center;display:flex}.brand{font-size:13px;font-weight:800;gap:11px;text-decoration:none;text-transform:uppercase}.brand-mark{background:#050505;border:1px solid var(--accent);display:grid;height:34px;overflow:hidden;place-items:center;width:34px}.brand-mark img{display:block;height:88%;object-fit:contain;padding:3px;width:88%}.nav{color:var(--muted);gap:22px;font-size:12px;font-weight:760;text-transform:uppercase}.button,.contact-links a,.nav a,.project-link{text-decoration:none}main{margin:0 auto;max-width:1240px;padding:0 24px 72px}.hero{display:grid;min-height:calc(100vh - 72px);padding:92px 0 36px;place-items:end start}.hero-copy{max-width:820px;padding-bottom:58px}.eyebrow{color:var(--muted);font-size:12px;font-weight:850;margin:0 0 14px;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:clamp(48px,8vw,104px);font-weight:850;line-height:.94;margin-bottom:22px;max-width:980px;text-transform:uppercase}h2{font-size:clamp(30px,4vw,54px);font-weight:830;line-height:1;margin-bottom:18px}.hero-subtitle,.zh-note,h2 span{color:var(--muted)}h2 span{display:block;font-size:.38em;line-height:1.3;margin-top:8px}.hero-subtitle,h2 span{text-transform:uppercase}.hero-subtitle{font-size:clamp(18px,2vw,24px);font-weight:760;margin:-8px 0 24px}.hero-text{color:#d8d8d8;font-size:clamp(16px,1.8vw,20px);margin-bottom:30px;max-width:650px}.hero-actions{flex-wrap:wrap;gap:12px}.button,.contact-links a{border-radius:2px;display:inline-flex;font-size:12px;font-weight:850;justify-content:center;min-height:46px;min-width:148px;padding:14px 20px;text-transform:uppercase}.primary{background:var(--accent);color:#050505}.contact-links a,.secondary{background:transparent;border:2px solid var(--accent);color:var(--accent)}.hero-stats{border-top:1px solid var(--line);gap:clamp(22px,6vw,72px);justify-self:stretch;padding:24px 0 0}.stat-number{display:block;font-size:clamp(30px,4vw,54px);font-weight:850;line-height:1}.stat-label{color:var(--muted);display:block;font-size:12px;font-weight:800;margin-top:7px;text-transform:uppercase}.about-section,.contact-section,.projects-section{padding:86px 0}.section-heading{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:28px}.category-strip{color:var(--muted);flex-wrap:wrap;gap:10px;justify-content:flex-end}.category-strip span,.tag{background:var(--code);color:#d6d6d6;font-size:11px;font-weight:800;padding:4px 7px;text-transform:uppercase}.project-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{background:rgba(255,255,255,.035);border:1px solid var(--line-soft);display:flex;flex-direction:column;min-height:278px;overflow:hidden;transition:background .32s ease,border-color .32s ease,box-shadow .32s ease,transform .32s ease}.project-card:focus-within,.project-card:hover{background:rgba(255,255,255,.062);border-color:rgba(255,255,255,.32);box-shadow:0 18px 48px rgba(0,0,0,.38),0 0 42px rgba(255,255,255,.055);transform:translateY(-5px)}.project-image{aspect-ratio:16/9;filter:grayscale(1) contrast(1.08) brightness(.9);object-fit:cover;opacity:.74;transform:scale(1);transition:filter .38s ease,opacity .38s ease,transform .38s ease;width:100%}.project-card:focus-within .project-image,.project-card:hover .project-image{filter:grayscale(0) contrast(1.04) brightness(1);opacity:1;transform:scale(1.025)}.project-body{display:flex;flex:1 1;flex-direction:column;padding:24px}.project-meta{align-items:center;border-bottom:1px solid var(--line-soft);color:var(--muted);display:flex;font-size:11px;font-weight:850;gap:12px;justify-content:space-between;margin-bottom:24px;padding-bottom:14px;text-transform:uppercase}.project-body h3{font-size:23px;line-height:1.18;margin:0 0 12px}.project-body p{color:var(--muted);margin-bottom:14px}.contact-links,.project-links,.tag-list{display:flex;flex-wrap:wrap;gap:10px}.tag-list{margin:auto 0 18px}.project-link{border-bottom:1px solid var(--accent);color:var(--accent);font-size:12px;font-weight:850;min-height:30px;padding:4px 0;text-transform:uppercase}.about-section,.contact-section{border-top:1px solid var(--line-soft)}.about-section p{color:#c8c8c8;max-width:840px}.footer{border-top:1px solid var(--line-soft);color:var(--muted);font-size:13px;padding:28px 24px;text-align:center}@keyframes starDrift{0%{transform:translateZ(0)}to{transform:translate3d(120px,120px,0)}}@keyframes lineFloat{0%,to{opacity:.34;transform:translateZ(0)}50%{opacity:.7;transform:translate3d(-16px,12px,0)}}@keyframes logoArcDrift{0%,to{opacity:.22;transform:rotate(-18deg) translateZ(0) scale(1)}50%{opacity:.44;transform:rotate(-18deg) translate3d(-18px,10px,0) scale(1.015)}}@media (prefers-reduced-motion:reduce){.project-card,.project-image{transition:none}.project-card:focus-within,.project-card:hover{transform:none}}@media (max-width:860px){.topbar{padding:0 20px}.nav{gap:14px}main{padding:0 18px 52px}.hero{min-height:auto;padding:76px 0 34px}.section-heading{align-items:stretch;flex-direction:column}.category-strip{justify-content:flex-start}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.brand span:last-child{display:none}.nav{font-size:10px;gap:9px}.project-grid{grid-template-columns:1fr}}.download-card{border-top:1px solid rgba(255,255,255,.12);margin-top:18px;padding-top:16px}.download-card strong{color:#f8f2df;display:block;font-size:.92rem;margin-bottom:10px}.download-card strong span{color:#b7ad98;font-weight:520}.download-list{display:grid;grid-gap:10px;gap:10px}.download-link{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);color:inherit;display:grid;grid-gap:4px;gap:4px;padding:12px;text-decoration:none;transition:.18s ease}.download-link:hover{background:rgba(255,255,255,.13);transform:translateY(-1px)}.download-link.primary{border-color:rgba(112,230,180,.45);box-shadow:inset 3px 0 0 rgba(112,230,180,.75)}.download-link em,.download-link small,.download-link span{color:#b7ad98;font-size:.78rem;font-style:normal}.download-link b{color:#fff8e7}