@font-face{font-family:Inter;src:url('assets/fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:'Noto Sans SC';src:url('assets/fonts/NotoSansSC-VF.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--bg:#fafaf8;--ink:#162631;--soft:#899399;--muted:#707b82;--line:#e3e6e6;--surface:#f0f2f1;--hover:#e9edef;--glass:rgba(250,250,248,.84);color-scheme:light}:root[data-theme=dark]{--bg:#10191e;--ink:#edf0ee;--soft:#8c9ba3;--muted:#a1adb3;--line:#2a363e;--surface:#17232b;--hover:#21313c;--glass:rgba(16,25,30,.86);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,'Noto Sans SC',sans-serif;-webkit-font-smoothing:antialiased;transition:background .5s,color .5s}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #6890a7;outline-offset:5px}header{height:92px;display:flex;align-items:center;padding:0 5%;gap:40px;position:sticky;top:0;z-index:20;background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.brand{font-size:15px;font-weight:650;letter-spacing:-.065em;white-space:nowrap}.brand span{font-weight:350}nav{display:flex;gap:30px;margin-left:auto;font-size:11px;font-weight:450}nav a{padding:15px 0;color:var(--muted);transition:color .25s}nav a:hover{color:var(--ink)}.header-tools{display:flex;align-items:center;gap:18px}.languages{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.languages button{min-height:44px;padding:8px 5px;color:var(--muted)}.languages [aria-pressed=true]{color:var(--ink);font-weight:700}.languages>span{color:var(--soft);font-size:10px}#theme{font-size:21px;width:42px;height:42px;border-radius:50%;background:var(--surface);transition:background .3s}#menu{display:none}.intro{max-width:1400px;margin:auto;padding:95px 8% 42px}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.1px;color:var(--muted);line-height:1.8}.intro h1{font-size:clamp(62px,7.7vw,118px);font-weight:350;letter-spacing:-.075em;line-height:1.06;margin:38px 0 32px}.soft{color:var(--soft)}.intro-copy{max-width:590px;font-size:15px;line-height:1.95;font-weight:350;color:var(--muted);letter-spacing:-.02em}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;margin-top:22px}.arrow{border-radius:50%;background:var(--surface);width:32px;height:32px;display:grid;place-items:center;font-size:18px;transition:transform .4s}.text-link:hover .arrow{transform:translate(3px,-3px)}.intro-foot{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:75px;letter-spacing:.7px}.gallery{max-width:1600px;margin:0 auto;padding:0 4%}.gallery-stage{background:#e9eae5;border-radius:32px;overflow:hidden;aspect-ratio:1672/941;display:grid;place-items:center}.gallery-stage img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .22s,transform .7s}.gallery-stage img.changing{opacity:0;transform:scale(.99)}.gallery-bar{display:flex;align-items:center;justify-content:space-between;padding:25px 16px 0;gap:15px}.gallery-bar .eyebrow{font-size:8px;letter-spacing:1.6px}.gallery-bar p{font-size:16px;letter-spacing:-.04em;margin:8px 0}.gallery-controls{display:flex;align-items:center;gap:9px}.gallery-controls>span{font-size:10px;color:var(--muted);margin-right:14px;font-variant-numeric:tabular-nums}.gallery-controls button{border-radius:50%;background:var(--surface);width:42px;height:42px;font-size:20px;transition:background .3s,transform .3s}.gallery-controls button:hover{background:var(--hover);transform:scale(1.05)}.gallery-note{font-size:10px;line-height:1.8;color:var(--muted);padding:0 16px}.generations{max-width:1400px;margin:145px auto 120px;padding:0 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}h2{font-size:clamp(32px,3.8vw,55px);font-weight:350;letter-spacing:-.065em;line-height:1.2;margin:19px 0 0}.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted);font-weight:350}.generation-list{display:flex;flex-direction:column;gap:12px}.generation{display:flex;align-items:center;gap:35px;padding:33px 27px;border-radius:26px;transition:background .4s,transform .5s}.generation:hover{background:var(--surface);transform:translateX(4px)}.number{font-size:39px;font-weight:250;color:var(--soft);letter-spacing:-3px;min-width:66px;align-self:flex-start;margin-top:12px}.status{font-size:8px;letter-spacing:1.5px;color:var(--muted);display:flex;align-items:center;gap:8px}h3{font-weight:400;font-size:27px;letter-spacing:-.055em;margin:12px 0}.description{font-size:12px;font-weight:350;line-height:1.9;color:var(--muted);max-width:520px;margin:0}.round-arrow{margin-left:auto;background:var(--surface);border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:23px;flex-shrink:0}.current{background:var(--surface)}.current .round-arrow{background:var(--ink);color:var(--bg)}.experience-meta{display:block;font-size:10px;color:var(--muted);margin-top:17px}.dot{width:5px;height:5px;border-radius:50%;background:#72988a}footer{max-width:1400px;margin:auto;padding:35px 8% 30px}footer>p{font-weight:350;color:var(--muted);font-size:12px;margin:15px 0 45px}footer>div{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}html[lang=zh-CN] .intro h1{font-size:clamp(56px,6.7vw,100px);font-weight:300;letter-spacing:-.06em;line-height:1.22}html[lang=zh-CN] .intro-copy{font-size:14px;line-height:2.1}html[lang=zh-CN] h2{font-weight:300;letter-spacing:-.04em}html[lang=zh-CN] h3{font-weight:350;letter-spacing:-.025em}.reveal{opacity:0;transform:translateY(20px);transition:opacity .85s,transform .85s}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){html{scroll-padding-top:85px}header{height:78px;padding:0 6%;gap:12px}.brand{font-size:12px}.header-tools{margin-left:auto;gap:10px}.languages{font-size:11px}#theme{width:34px;height:34px;font-size:19px}#menu{display:block;font-size:20px;padding:8px 0 8px 6px}nav{display:none}header.open nav{position:absolute;top:78px;left:4%;right:4%;border-radius:24px;padding:20px 25px;background:var(--surface);display:flex;flex-direction:column;gap:5px;box-shadow:0 20px 50px #00000012}.intro{padding:62px 7% 27px}.eyebrow{font-size:7px;letter-spacing:1.45px}.intro h1{font-size:clamp(48px,10.8vw,79px);margin:31px 0 27px;letter-spacing:-.065em}.intro-copy{font-size:12px;line-height:2}.text-link{font-size:11px;margin-top:15px}.intro-foot{margin-top:51px;font-size:8px}.gallery{padding:0 4%}.gallery-stage{border-radius:23px;aspect-ratio:1.1;background:#efeee8}.gallery-stage img{object-fit:contain}.gallery-bar{padding:19px 8px 0}.gallery-bar p{font-size:13px}.gallery-bar .eyebrow{font-size:7px}.gallery-controls{gap:6px}.gallery-controls>span{font-size:9px;margin-right:4px}.gallery-controls button{width:35px;height:35px;font-size:17px}.gallery-note{padding:0 8px;font-size:9px}.generations{margin:80px auto 65px;padding:0 7%}.section-heading{display:block;margin-bottom:25px}h2{font-size:32px}.section-heading>p{font-size:11px;margin-top:20px}.generation{padding:25px 13px;gap:14px;border-radius:23px}.number{font-size:29px;min-width:36px;margin-top:16px}.status{font-size:6.5px;letter-spacing:1px}h3{font-size:23px}.description{font-size:11px}.round-arrow{width:33px;height:33px;font-size:19px}.experience-meta{font-size:9px}footer{padding:30px 7%}html[lang=zh-CN] .intro h1{font-size:clamp(46px,11vw,70px)}html[lang=zh-CN] .intro-copy{font-size:12px}html[lang=zh-CN] h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
