@font-face{font-family:Bodoni Moda;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/bodoni-moda-latin-500-normal-CtAcMono.woff2) format("woff2"),url(/assets/bodoni-moda-latin-500-normal-B12im5S-.woff) format("woff")}@font-face{font-family:"Noto Serif SC Subset";src:url(/assets/noto-serif-sc-subset-BgbiN2Ow.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--void: #050506;--surface: #0c0c0f;--gold: #c8a86b;--gold-high: #ecdcb4;--text: #e8eaec;--muted: #9a9ca1;--line: rgba(232, 234, 236, .1);--line-strong: rgba(232, 234, 236, .18);--serif: "Bodoni Moda", "Noto Serif SC Subset", "Songti SC", "STSong", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--gutter: clamp(20px, 5vw, 72px);--max: 1240px;--header: 68px;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px);-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--void);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:lang(en) body,body:lang(en){line-height:1.6}body.menu-open{overflow:hidden}::selection{background:#c8a86b59;color:#fff}a{color:inherit}img,svg{display:block;max-width:100%}h1,h2,h3,h4,p,dl,dd,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}:focus-visible{outline:1px solid var(--gold-high);outline-offset:4px;border-radius:2px}.skip-link{position:fixed;left:16px;top:-60px;z-index:100;padding:8px 14px;background:var(--text);color:var(--void);text-decoration:none}.skip-link:focus{top:12px}.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:28px;height:var(--header);padding:0 var(--gutter);border-bottom:1px solid transparent;transition:background-color .4s ease,border-color .4s ease}.site-header.is-solid{background:#050506b8;border-bottom-color:var(--line);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}.brand{display:inline-flex;align-items:center;gap:10px;margin-right:auto;font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.01em;text-decoration:none}.brand-mark{width:30px;height:15px;fill:none;stroke:var(--gold);stroke-width:2.4}.site-nav{display:flex;gap:28px}.site-nav a,.lang-switch{font-size:15px;color:var(--muted);text-decoration:none;transition:color .2s ease}.site-nav a:hover,.lang-switch:hover{color:var(--text)}.lang-switch{padding:3px 11px;border:1px solid var(--line-strong);border-radius:999px;font-size:13px;letter-spacing:.04em}.menu-toggle{display:none}.hero{position:relative;min-height:100vh;min-height:max(100svh,700px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:end;align-content:end;gap:48px;padding:calc(var(--header) + 24px) var(--gutter) clamp(40px,7vh,72px);overflow:hidden;background:radial-gradient(ellipse 60% 45% at 50% 40%,rgba(200,168,107,.07),transparent 70%)}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y;opacity:0;transition:opacity 1.2s ease}.hero-canvas.is-live{opacity:1}.hero-canvas.is-dragging{cursor:grabbing}.hero-visual{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:translate(var(--shift-x, 0),var(--shift-y, 0)) scale(1.04);transition:transform 1.2s cubic-bezier(.2,.7,.2,1);animation:unveil 2.4s cubic-bezier(.2,.7,.2,1) both,breathe 26s ease-in-out 2.4s infinite alternate}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--void) 0%,rgba(5,5,6,.6) 22%,transparent 48%)}@keyframes unveil{0%{opacity:0;scale:1.06}to{opacity:1;scale:1}}@keyframes breathe{to{scale:1.035}}.hero-copy,.hero-aside{position:relative;pointer-events:none}.hero-copy a,.hero-aside a{pointer-events:auto}.hero-role{margin-bottom:14px;font-size:15px;color:var(--gold);letter-spacing:.04em}.hero-name{font-family:var(--serif);font-size:clamp(56px,7.6vw,132px);font-weight:500;line-height:.95;letter-spacing:-.015em;white-space:nowrap}.hero-motto{margin-top:22px;font-family:var(--serif);font-size:clamp(21px,2.2vw,28px);font-weight:500;line-height:1.5;color:var(--gold-high)}.hero-motto span{display:block;margin-top:6px;font-size:15px;color:var(--muted)}.hero-aside p{color:var(--muted);font-size:17px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero-copy>*,.hero-aside{opacity:0;animation:rise 1s cubic-bezier(.2,.7,.2,1) forwards}.hero-role{animation-delay:.2s}.hero-name{animation-delay:.35s}.hero-motto{animation-delay:.6s}.hero-aside{animation-delay:.9s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hero-copy>*,.hero-aside,.hero-visual img{animation:none;opacity:1}.hero-canvas{transition:none}}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1px solid var(--line-strong);border-radius:999px;font-size:15px;text-decoration:none;color:var(--text);transition:border-color .2s ease,background-color .2s ease,color .2s ease}.button:hover{border-color:var(--gold)}.button-solid{background:var(--gold-high);border-color:var(--gold-high);color:var(--void)}.button-solid:hover{background:#fff;border-color:#fff}.section{width:min(100% - 2 * var(--gutter),var(--max));margin:0 auto;padding:clamp(96px,14vw,168px) 0 0}.section-title{font-family:var(--serif);font-size:clamp(37px,5vw,67px);font-weight:500;line-height:1.1;letter-spacing:-.01em}.section-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:end;padding-bottom:40px;border-bottom:1px solid var(--line)}.section-head p{max-width:34em;color:var(--muted)}.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px}.about-body{display:grid;gap:20px;max-width:40em}.about-body p{color:var(--muted)}.about-body .lead{margin-bottom:12px;font-family:var(--serif);font-size:clamp(23px,2.4vw,30px);font-weight:500;line-height:1.6;color:var(--text)}.project{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);padding:56px 0;border-bottom:1px solid var(--line)}.project-visual{position:sticky;top:calc(var(--header) + 32px);align-self:start;aspect-ratio:4 / 3;border:1px solid var(--line);background:radial-gradient(circle at 50% 50%,rgba(200,168,107,.06),transparent 70%),var(--surface)}.project-visual svg,.project-visual img{width:100%;height:100%;object-fit:cover}.project-visual line,.project-visual circle{stroke:var(--gold);stroke-width:.9;stroke-linecap:round}.project-visual .is-filled{fill:var(--gold-high);stroke:none}.project-body{display:grid;gap:22px;align-content:start;max-width:40em}.project-type{font-size:15px;color:var(--gold)}.project h3{margin-top:-14px;font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);font-weight:500;line-height:1.15}.project-summary{color:var(--text)}.project-stats{display:flex;flex-wrap:wrap;gap:12px 40px;padding:18px 0;border-block:1px solid var(--line)}.project-stats div{display:flex;flex-direction:column-reverse}.project-stats dd{font-family:var(--serif);font-size:37px;font-weight:500;line-height:1.1;color:var(--gold-high)}.project-stats dt{font-size:13px;color:var(--muted)}.project-label{font-size:14px;color:var(--gold)}.project-abilities{display:grid;gap:16px}.project-abilities ul{display:grid;gap:18px}.project-abilities li{position:relative;padding-left:22px}.project-abilities li:before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--gold)}.project-abilities h4{font-size:17px;font-weight:500;color:var(--text)}.project-abilities li p{margin-top:4px;font-size:15px;color:var(--muted)}.project-role{font-size:15px;color:var(--muted)}.project-role .project-label{margin-right:14px}.project-links{display:flex;flex-wrap:wrap;gap:10px 28px}.project-links a,.contact-links a{display:inline-flex;align-items:baseline;gap:6px;text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:2px;transition:border-color .2s ease}.project-links a:hover,.contact-links a:hover{border-color:var(--gold)}.external{font-size:.85em;color:var(--gold)}.project-attribution{font-size:13px;line-height:1.7;color:var(--muted);opacity:.85}.service-family{padding-bottom:8px}.family-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;padding:48px 0 40px}.family-head h3{font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);font-weight:500;line-height:1.15}.family-head h3 span,.tier-table thead th span,.tier-card h4 span{display:block;margin-top:6px;font-family:var(--sans);font-size:15px;font-weight:400;color:var(--gold)}.family-body{display:grid;gap:24px;max-width:40em}.family-label{font-size:13px;color:var(--gold)}.family-includes ul{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:10px}.family-includes li{padding:4px 14px;border:1px solid var(--line-strong);border-radius:999px;font-size:15px;color:var(--text)}.tier-table{width:100%;border-collapse:collapse;table-layout:fixed}.tier-table caption{padding-bottom:14px;font-size:13px;color:var(--gold);text-align:left}.tier-table thead td{width:7.5em}.tier-table th,.tier-table td{padding:18px 28px 18px 0;border-top:1px solid var(--line);vertical-align:top;text-align:left}.tier-table thead th{padding-bottom:22px;border-top-color:var(--line-strong);font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.25}.tier-table tbody th{font-size:13px;font-weight:400;color:var(--gold)}.tier-table tbody td{font-size:15px;color:var(--muted)}.tier-table td em{display:block;margin-top:8px;font-style:normal;color:var(--text)}.tier-table tbody tr:last-child>*{border-bottom:1px solid var(--line)}.tier-cards{display:none}.process{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;padding:56px 0;border-bottom:1px solid var(--line)}.process h3{font-family:var(--serif);font-size:28px;font-weight:500}.process ol{display:grid;gap:28px;counter-reset:step}.process li{display:grid;grid-template-columns:48px minmax(0,1fr);counter-increment:step}.process li:before{content:counter(step);grid-row:span 2;font-family:var(--serif);font-size:30px;line-height:1.1;color:var(--gold)}.process h4{font-size:17px;font-weight:600}.process li p{color:var(--muted)}.services-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-top:40px}.services-footer p{max-width:34em;color:var(--muted)}.contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(40px,8vw,120px);align-items:end;padding-bottom:clamp(96px,12vw,160px)}.contact-main{display:grid;gap:28px}.contact-title{max-width:13em;font-family:var(--serif);font-size:clamp(37px,5.4vw,72px);font-weight:500;line-height:1.15;letter-spacing:-.01em}.contact-text{max-width:36em;color:var(--muted)}.contact-label{display:block;font-size:13px;color:var(--gold)}.contact-email{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;padding-top:24px;border-top:1px solid var(--line)}.contact-email .contact-label{flex-basis:100%}.contact-email a{font-family:var(--serif);font-size:clamp(26px,3.2vw,40px);font-weight:500;text-decoration:none;overflow-wrap:anywhere}.contact-email a:hover{color:var(--gold-high)}.contact-email button{padding:4px 14px;border:1px solid var(--line-strong);border-radius:999px;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.contact-email button:hover{color:var(--text);border-color:var(--gold)}.contact-links ul{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:8px}.contact-links a span:not(.external){color:var(--muted);font-size:15px}.wechat-card{display:grid;gap:16px;width:232px;padding:20px;border:1px solid var(--line-strong);border-radius:18px;background:#ffffff09;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wechat-card img{width:100%;height:auto;border-radius:8px;background:#fff;padding:8px}.wechat-card figcaption{font-size:13px;line-height:1.6;color:var(--muted)}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:min(100% - 2 * var(--gutter),var(--max));margin:0 auto;padding:28px 0 40px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.footer-motto{font-family:var(--serif);font-size:15px;color:var(--gold)}.site-footer a{justify-self:end;text-decoration:none}.site-footer a:hover{color:var(--text)}@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr);gap:28px;min-height:max(100svh,760px)}.hero-aside{max-width:30em}}@media(max-width:960px){.tier-table th,.tier-table td{padding-right:18px}}@media(max-width:760px){:root{--header: 60px}body{font-size:16px}.site-header{gap:14px}.site-header.is-solid{background:#050506f5;-webkit-backdrop-filter:none;backdrop-filter:none}.menu-toggle{display:grid;place-content:center;gap:6px;width:40px;height:40px;margin-right:-10px;border:0;background:none;cursor:pointer}.menu-toggle span{display:block;width:20px;height:1px;background:var(--text);transition:transform .25s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-nav{position:fixed;inset:var(--header) 0 0;flex-direction:column;gap:0;padding:24px var(--gutter);background:var(--void);visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s}.site-nav.is-open{visibility:visible;opacity:1}.site-nav a{padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:28px;color:var(--text)}.hero{min-height:max(100svh,700px);padding-bottom:36px}.hero-visual img{position:absolute;top:10svh;left:50%;width:150%;max-width:none;height:auto;translate:-50% 0}.hero-name{font-size:clamp(44px,13.4vw,64px)}.section-head,.about,.project,.process,.family-head{grid-template-columns:minmax(0,1fr)}.tier-table{display:none}.tier-cards{display:grid;gap:0}.tier-card{display:grid;gap:14px;padding:24px 0;border-top:1px solid var(--line)}.tier-card h4{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.25}.tier-card dl{display:grid;gap:10px}.tier-card dl div{display:grid;grid-template-columns:3.5em minmax(0,1fr);gap:12px}.tier-card dt{font-size:13px;color:var(--gold);padding-top:2px}.tier-card dd{font-size:15px;color:var(--muted)}.tier-example{font-size:15px;color:var(--text)}.project{padding:40px 0}.project-visual{position:static}.contact{grid-template-columns:minmax(0,1fr);align-items:start}.site-footer{grid-template-columns:minmax(0,1fr);justify-items:start}.site-footer a{justify-self:start}}
