:root { --ink:#1e211f; --paper:#f3f1eb; --line:#cbc8bf; --green:#78806b; --rust:#ad6047; --serif:"Playfair Display","Noto Serif SC",serif; --sans:"DM Sans",sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background-image:repeating-linear-gradient(122deg,rgba(77,70,56,.028) 0 1px,transparent 1px 14px),repeating-linear-gradient(32deg,rgba(147,119,78,.018) 0 1px,transparent 1px 23px),radial-gradient(circle at 8% 2%,rgba(184,151,104,.23),transparent 26rem),radial-gradient(circle at 91% 33%,rgba(112,128,104,.18),transparent 29rem),linear-gradient(120deg,#f4f0e5 0%,#e9e4d7 48%,#f2ede2 100%); background-attachment:fixed; font-family:var(--sans); font-size:15px; letter-spacing:.01em; }
.page-noise { position:fixed; inset:0; pointer-events:none; opacity:.36; z-index:2; mix-blend-mode:multiply; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E"); }
.wrap { width:min(1180px, calc(100% - 64px)); margin:auto; }
.nav { height:84px; display:flex; align-items:center; justify-content:flex-end; border-bottom:1px solid var(--line); position:absolute; top:0; left:50%; transform:translateX(-50%); z-index:5; color:#e8e5dc; }
nav { display:flex; gap:28px; margin-right:44px; }
nav a, .language-toggle { color:inherit; text-decoration:none; background:none; border:0; cursor:pointer; font:500 12px var(--sans); letter-spacing:.1em; }
.language-toggle { width:37px; height:28px; border:1px solid var(--ink); }
.hero { isolation:isolate; overflow:hidden; color:#efede6; min-height:100svh; position:relative; display:flex; background:radial-gradient(circle at var(--mx,62%) var(--my,36%),rgba(179,148,95,.28),transparent 17rem),linear-gradient(135deg,rgba(24,28,26,.72),rgba(10,12,12,.96)),linear-gradient(180deg,#303a38,#111514); }.hero-inner { width:min(1180px,calc(100% - 64px)); margin:auto; padding:142px 0 48px; display:flex; flex-direction:column; justify-content:space-between; min-height:100svh; }.hero::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.38; background:radial-gradient(ellipse at 72% 16%,rgba(225,226,208,.20),transparent 18%),repeating-linear-gradient(92deg,rgba(255,255,255,.04) 0 1px,transparent 1px 48px); mix-blend-mode:screen; }.hero::after { content:""; position:absolute; inset:18px; z-index:-1; border:1px solid rgba(238,230,207,.22); pointer-events:none; }.hero-filmstrip { position:absolute; right:5%; bottom:-27px; width:42%; height:164px; opacity:.28; transform:rotate(-6deg); background:repeating-linear-gradient(90deg,transparent 0 34px,rgba(220,183,109,.75) 34px 37px,transparent 37px 78px),repeating-linear-gradient(0deg,rgba(221,189,127,.34) 0 1px,transparent 1px 38px); mask-image:linear-gradient(90deg,transparent,black 20%,black 90%,transparent); }
.eyebrow,.section-label { font:500 11px "DM Mono",monospace; letter-spacing:.12em; margin:0; }
.hero .eyebrow { padding-left:3px; color:#d9b474; }.hero h1 { margin:48px 0 auto; padding-left:0; letter-spacing:-.055em; }.hero-name { display:block; font:500 clamp(86px,15vw,220px)/.87 "Noto Serif SC",serif; }.hero-name-en { display:block; margin-top:28px; padding-left:3px; font:500 clamp(19px,2.8vw,43px)/1 var(--sans); letter-spacing:.23em; color:#d9b474; }
.hero-bottom { display:flex; justify-content:space-between; align-items:end; }
.intro { max-width:385px; margin:0; font-size:15px; line-height:1.8; letter-spacing:.035em; color:#e4e0d5; }
.hero-info { display:grid; grid-template-columns:2fr .65fr 1fr; gap:35px; margin-top:60px; padding-top:19px; border-top:1px solid rgba(236,229,208,.32); }.hero-info > div { display:grid; grid-template-columns:94px 1fr; gap:13px; }.hero-info span { color:#d9b474; font:10px "DM Mono",monospace; letter-spacing:.12em; }.hero-info p { margin:0; color:#e6e3db; font-size:12px; line-height:1.65; }.hero-info a { color:inherit; text-decoration:none; border-bottom:1px solid rgba(230,227,219,.55); }
.round-link { display:grid; place-items:center; width:54px; height:54px; color:var(--paper); background:var(--ink); border-radius:50%; font-size:24px; text-decoration:none; transition:transform .3s; }
.round-link:hover { transform:translateY(5px); }
.section-grid { display:grid; grid-template-columns:25% 1fr; gap:30px; padding:135px 0; border-top:1px solid var(--line); }
.large-copy { margin:0; max-width:740px; font:400 clamp(27px,3.45vw,47px)/1.4 var(--serif); letter-spacing:-.035em; }
.details { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:72px; }
.details div { display:flex; flex-direction:column; gap:10px; }
.details span,.timeline span { color:#666860; font-size:12px; }
.details strong { font-size:14px; font-weight:500; }
.timeline { border-top:1px solid var(--ink); }
.timeline article { display:grid; grid-template-columns:25% 1fr auto; align-items:baseline; padding:22px 0; border-bottom:1px solid var(--line); }
.timeline p { margin:0; font:11px "DM Mono",monospace; }.timeline h2 { margin:0; font:500 21px var(--serif); }
.experience-list article { grid-template-columns:22% 1fr; gap:24px; align-items:start; }.experience-list .experience-company { margin:0; color:var(--ink); font:500 22px/1.25 var(--serif); }.experience-list .experience-role { margin:7px 0 10px; color:var(--rust); font:500 11px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.experience-list .experience-summary { display:block; max-width:680px; color:#65675f; font-size:13px; line-height:1.55; }
.education-feature { border-top:1px solid var(--ink); padding-top:26px; }.school-mark { width:min(100%,330px); padding:18px 0 26px; }.school-mark img { display:block; width:100%; height:auto; }.school-year { margin:0 0 12px; font:11px "DM Mono",monospace; letter-spacing:.08em; }.education-feature h2 { max-width:660px; margin:0; font:500 clamp(30px,4.2vw,54px)/1.16 var(--serif); letter-spacing:-.035em; }.school-name { margin:10px 0 38px; color:#686960; font-size:14px; }.school-detail { padding-top:18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:32px; }.school-detail strong { font-weight:500; }.school-detail span { max-width:350px; color:#686960; font-size:13px; line-height:1.55; }
.education { padding-top:88px; padding-bottom:88px; }.education .school-mark { width:min(100%,190px); padding:4px 0 16px; }.education-feature h2 { font-size:clamp(27px,3.3vw,42px); }.education .school-name { margin:7px 0 24px; }
.work { padding:135px 0; border-top:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; margin-bottom:55px; }.section-heading p:last-child { margin:0; color:#666860; }
.work-groups { display:grid; gap:84px; }.work-group { scroll-margin-top:100px; }.work-group-title { display:flex; align-items:baseline; justify-content:space-between; padding-bottom:13px; border-bottom:1px solid var(--ink); margin-bottom:20px; }.work-group-title h2 { margin:0; font:500 clamp(27px,3vw,38px) var(--serif); }.work-group-title p { margin:0; color:#686960; font:11px "DM Mono",monospace; }.work-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:26px 16px; }.work-card { color:inherit; text-decoration:none; display:block; }.poster { aspect-ratio:2/3; overflow:hidden; position:relative; background:#d6d4cc; }.poster img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }.poster.portrait { background:var(--poster-image) center/cover no-repeat; }.poster.portrait::after { content:""; position:absolute; inset:0; background:rgba(29,25,21,.18); backdrop-filter:blur(15px); }.poster.portrait img { position:relative; z-index:1; object-fit:contain; }.work-card:hover .poster img { transform:scale(1.04); }.poster-fallback { height:100%; padding:16px; display:flex; flex-direction:column; justify-content:space-between; color:#f4f1eb; background:#435465; }.poster-fallback b { font:500 32px/1 var(--serif); }.poster-fallback span { font:10px "DM Mono",monospace; letter-spacing:.08em; }.work-card:nth-child(even) .poster-fallback { background:#8a594c; }.work-card:nth-child(3n) .poster-fallback { background:#6f7863; }.work-meta { border-top:1px solid var(--ink); margin-top:10px; padding-top:10px; }.work-meta h3 { margin:0; font:500 19px/1.25 var(--serif); }.work-meta p { margin:7px 0 0; color:#686960; font-size:12px; line-height:1.4; }.link-mark { float:right; font:18px var(--sans); }
.work-card-shell { min-width:0; }.yingwutang-trigger { width:100%; border:0; padding:0; background:transparent; text-align:left; font:inherit; cursor:pointer; }.yingwutang-trigger:focus-visible { outline:2px solid var(--rust); outline-offset:5px; }.work-card-shell:has(.yingwutang-videos.is-open) { grid-column:1 / -1; }.work-card-shell:has(.yingwutang-videos.is-open) .yingwutang-trigger { width:calc((100% - 48px) / 4); }.yingwutang-videos { max-height:0; margin-top:0; overflow:hidden; opacity:0; transform:translateY(-12px); transition:max-height .65s cubic-bezier(.16,1,.3,1),opacity .35s ease,transform .45s ease,margin .45s ease; }.yingwutang-videos.is-open { max-height:1100px; margin-top:34px; opacity:1; transform:none; }.yingwutang-video-head { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--ink); padding:14px 0; }.yingwutang-close { width:31px; height:31px; border:1px solid var(--ink); border-radius:50%; color:var(--ink); background:transparent; font-size:22px; line-height:1; cursor:pointer; transition:transform .25s,background .25s,color .25s; }.yingwutang-close:hover { background:var(--ink); color:var(--paper); transform:rotate(90deg); }.yingwutang-player { aspect-ratio:16/9; background:#161918; box-shadow:0 24px 46px rgba(32,30,24,.16); }.yingwutang-player iframe { display:block; width:100%; height:100%; border:0; }.yingwutang-tabs { display:flex; gap:8px; margin-top:14px; }.yingwutang-tab { flex:1; padding:13px 12px; border:1px solid var(--line); color:var(--ink); background:rgba(255,255,255,.16); text-align:left; font:500 13px var(--sans); cursor:pointer; transition:background .25s,color .25s,transform .25s; }.yingwutang-tab span { display:block; margin-bottom:8px; color:#7a7b71; font:10px "DM Mono",monospace; }.yingwutang-tab:hover,.yingwutang-tab.is-active { color:var(--paper); background:var(--ink); transform:translateY(-3px); }.yingwutang-tab.is-active span { color:#d9b474; }.embed-note { margin:12px 0 0; color:#74766f; font-size:11px; }
.work-card-shell:has(.project-panel.is-open) { grid-column:1 / -1; }.work-card-shell:has(.project-panel.is-open) .project-trigger { width:calc((100% - 48px) / 4); }.project-trigger { width:100%; border:0; padding:0; background:transparent; text-align:left; font:inherit; cursor:pointer; }.project-trigger:focus-visible { outline:2px solid var(--rust); outline-offset:5px; }.project-panel { max-height:0; margin-top:0; overflow:hidden; opacity:0; transform:translateY(-12px); transition:max-height .65s cubic-bezier(.16,1,.3,1),opacity .35s ease,transform .45s ease,margin .45s ease; }.project-panel.is-open { max-height:1200px; margin-top:34px; opacity:1; transform:none; }.project-panel-head { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--ink); padding:14px 0; }.project-close { width:31px; height:31px; border:1px solid var(--ink); border-radius:50%; color:var(--ink); background:transparent; font-size:22px; line-height:1; cursor:pointer; transition:transform .25s,background .25s,color .25s; }.project-close:hover { background:var(--ink); color:var(--paper); transform:rotate(90deg); }.project-player { aspect-ratio:16/9; background:#161918; box-shadow:0 24px 46px rgba(32,30,24,.16); }.project-player iframe { display:block; width:100%; height:100%; border:0; }.project-tabs { display:flex; gap:8px; margin-top:14px; }.project-tab { flex:1; padding:13px 12px; border:1px solid var(--line); color:var(--ink); background:rgba(255,255,255,.16); text-align:left; font:500 13px var(--sans); cursor:pointer; transition:background .25s,color .25s,transform .25s; }.project-tab span { display:block; margin-bottom:8px; color:#7a7b71; font:10px "DM Mono",monospace; }.project-tab:hover,.project-tab.is-active { color:var(--paper); background:var(--ink); transform:translateY(-3px); }.project-tab.is-active span { color:#d9b474; }.project-caption { display:grid; grid-template-columns:minmax(160px,.35fr) 1fr; gap:24px; margin-top:16px; padding:17px 0; border-top:1px solid var(--line); }.project-caption h3,.project-info-copy h3 { margin:0; font:500 22px/1.2 var(--serif); }.project-caption p,.project-info-copy p { margin:0; color:#62645d; font-size:13px; line-height:1.65; }.project-info-copy { max-width:780px; padding:34px 0 38px; border-top:1px solid var(--line); }.project-info-copy p { max-width:620px; margin-top:16px; }.project-info-copy a { display:inline-block; margin-top:23px; padding-bottom:4px; color:var(--ink); border-bottom:1px solid var(--ink); font:500 11px "DM Mono",monospace; letter-spacing:.08em; text-decoration:none; transition:color .2s,border-color .2s; }.project-info-copy a:hover { color:var(--rust); border-color:var(--rust); }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1); }.reveal.is-visible { opacity:1; transform:none; }
.wanli-feature { margin-top:86px; padding-top:24px; border-top:1px solid var(--ink); }.wanli-watch h2 { margin:21px 0 2px; font:500 clamp(36px,4vw,60px)/1 var(--serif); letter-spacing:-.04em; }.wanli-watch h2 span { font:500 12px "DM Mono",monospace; letter-spacing:.12em; vertical-align:middle; }.wanli-watch > p:not(.eyebrow) { margin:9px 0 20px; color:#62645d; font-size:13px; }.wanli-watch video { display:block; width:100%; aspect-ratio:16/9; background:#171918; }
.footer { background:linear-gradient(145deg,#171b19,#242a25); color:var(--paper); padding:26px 0 28px; position:relative; overflow:hidden; }.footer::before { content:""; position:absolute; inset:0; opacity:.18; background:radial-gradient(circle at 87% 15%,#c29256,transparent 21rem),repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 1px,transparent 1px 16px); pointer-events:none; }.footer .wrap { position:relative; }.footer-bottom { display:flex; justify-content:space-between; margin-top:28px; color:#bfc1b9; font:10px "DM Mono",monospace; letter-spacing:.1em; }
@media (max-width:800px) { .wrap,.hero-inner { width:min(100% - 36px,1180px); }.nav { height:70px; }.nav nav { gap:14px; margin-right:0; }.hero-inner { padding:108px 0 34px; }.hero-name { font-size:clamp(72px,20vw,135px); }.hero-name-en { margin-top:16px; font-size:17px; letter-spacing:.16em; }.hero-bottom { align-items:start; }.intro { font-size:15px; max-width:275px; }.round-link { width:43px; height:43px; }.hero-info { grid-template-columns:1fr; gap:16px; margin-top:35px; }.hero-info > div { grid-template-columns:82px 1fr; }.section-grid { grid-template-columns:1fr; gap:45px; padding:88px 0; }.details { margin-top:48px; }.timeline article,.experience-list article { grid-template-columns:1fr; gap:7px; }.timeline span { margin-top:4px; }.school-detail { display:block; }.school-detail span { display:block; margin-top:10px; }.work { padding:88px 0; }.section-heading { display:block; }.section-heading p:last-child { margin-top:18px; }.work-groups { gap:60px; }.work-grid { grid-template-columns:repeat(2,1fr); gap:32px 14px; }.work-meta h3 { font-size:18px; }.wanli-feature { margin-top:60px; }.footer-bottom { margin-top:18px; } }
@media (max-width:800px) { .work-card-shell:has(.yingwutang-videos.is-open) .yingwutang-trigger { width:calc((100% - 14px) / 2); }.yingwutang-tabs { overflow-x:auto; padding-bottom:4px; }.yingwutang-tab { min-width:132px; }.yingwutang-videos.is-open { max-height:760px; } }
@media (max-width:800px) { .work-card-shell:has(.project-panel.is-open) .project-trigger { width:calc((100% - 14px) / 2); }.project-tabs { overflow-x:auto; padding-bottom:4px; }.project-tab { min-width:132px; }.project-panel.is-open { max-height:900px; }.project-caption { grid-template-columns:1fr; gap:8px; }.project-info-copy { padding:25px 0 29px; } }

/* Cinematic colour system: warm ember, deep teal, midnight blue. */
:root { --ink:#f5f1e8; --paper:#061419; --line:rgba(237,234,219,.24); --rust:#f18a5d; --green:#5ea7a2; }
body { color:var(--ink); background:radial-gradient(circle at 10% 2%,rgba(230,95,58,.93),transparent 31rem),radial-gradient(circle at 57% 23%,rgba(66,132,129,.48),transparent 32rem),radial-gradient(circle at 96% 85%,rgba(91,43,93,.56),transparent 29rem),linear-gradient(128deg,#2d1119 0%,#062026 48%,#070b1e 100%); min-height:100vh; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:-1; opacity:.68; background:linear-gradient(105deg,rgba(255,196,126,.09),transparent 29%),repeating-linear-gradient(120deg,rgba(255,255,255,.025) 0 1px,transparent 1px 22px); }
.page-noise { opacity:.17; mix-blend-mode:screen; }.nav { border-color:rgba(255,255,255,.22); }.language-toggle { border-color:rgba(255,255,255,.6); }.hero { background:radial-gradient(circle at var(--mx,55%) var(--my,38%),rgba(241,130,82,.38),transparent 17rem),radial-gradient(circle at 73% 20%,rgba(86,175,167,.42),transparent 25rem),linear-gradient(122deg,rgba(76,20,23,.94),rgba(7,31,38,.94) 54%,rgba(13,15,37,.96)); }.hero::before { opacity:.62; }.hero::after { border-color:rgba(250,242,221,.2); }.hero-name { text-shadow:0 8px 32px rgba(0,0,0,.2); }.hero-name-en,.hero .eyebrow,.hero-info span { color:#ffd4a1; }.round-link { color:#172027; background:#f6f0e5; }.intro,.hero-info p { color:#fbf5ea; }
.section-grid,.work { border-color:var(--line); }.section-label,.school-year { color:#f7c19b; }.large-copy,.education-feature h2,.timeline h2,.experience-list .experience-company,.work-group-title h2,.work-meta h3 { color:var(--ink); }.details span,.timeline span,.school-name,.school-detail span,.section-heading p:last-child,.work-meta p,.experience-list .experience-summary { color:rgba(244,240,229,.72); }.details strong,.school-detail strong { color:var(--ink); }.education-feature,.timeline,.work-group-title,.work-meta,.wanli-feature { border-color:var(--line); }.experience-list .experience-role { color:#f7ad7c; }.poster { background:#18343c; box-shadow:0 12px 24px rgba(0,0,0,.14); }.poster-fallback { background:linear-gradient(155deg,#265259,#132027); }.work-card:nth-child(even) .poster-fallback { background:linear-gradient(155deg,#a64e3d,#351e2c); }.work-card:nth-child(3n) .poster-fallback { background:linear-gradient(155deg,#365d61,#132238); }.project-tab { border-color:rgba(255,255,255,.24); color:var(--ink); background:rgba(255,255,255,.08); }.project-tab span { color:#f2b389; }.project-tab:hover,.project-tab.is-active { background:#f3eee3; color:#172027; }.project-tab.is-active span { color:#b95037; }.project-panel-head { border-color:var(--line); }.project-close { color:var(--ink); border-color:var(--line); }.project-close:hover { color:#172027; background:#f3eee3; }.project-caption { border-color:var(--line); }.project-caption p { color:rgba(244,240,229,.75); }.footer { background:rgba(6,16,24,.8); border-top:1px solid rgba(255,255,255,.17); }
.project-detail { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:26px; }.detail-backdrop { position:absolute; inset:0; border:0; background:rgba(1,8,13,.74); backdrop-filter:blur(13px); cursor:pointer; }.detail-sheet { position:relative; width:min(1040px,100%); max-height:min(860px,calc(100svh - 52px)); overflow:auto; padding:58px clamp(28px,6vw,76px) 54px; color:#f9f3e7; border:1px solid rgba(255,235,201,.29); background:radial-gradient(circle at 7% 4%,rgba(229,91,57,.66),transparent 27rem),radial-gradient(circle at 89% 18%,rgba(48,132,132,.54),transparent 25rem),linear-gradient(136deg,#311820,#08232b 58%,#101326); box-shadow:0 30px 100px rgba(0,0,0,.58); opacity:0; transform:translateY(20px) scale(.985); transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1); }.project-detail.is-open .detail-sheet { opacity:1; transform:none; }.detail-close { position:absolute; top:19px; right:20px; width:36px; height:36px; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:#f9f3e7; background:transparent; font-size:25px; cursor:pointer; transition:background .25s,color .25s,transform .25s; }.detail-close:hover { color:#172027; background:#f7f0e4; transform:rotate(90deg); }.detail-kicker { color:#ffd4a1; }.detail-title { max-width:700px; margin:17px 0 10px; font:500 clamp(42px,6vw,76px)/.98 var(--serif); letter-spacing:-.055em; }.detail-copy { max-width:600px; margin:0 0 30px; color:rgba(251,246,233,.84); font-size:14px; line-height:1.75; }.detail-player { aspect-ratio:16/9; background:#030709; box-shadow:0 22px 50px rgba(0,0,0,.35); }.detail-player iframe { display:block; width:100%; height:100%; border:0; }.detail-link { display:inline-block; margin-top:23px; padding-bottom:4px; color:#f9f3e7; border-bottom:1px solid #f9f3e7; font:500 11px "DM Mono",monospace; letter-spacing:.1em; text-decoration:none; }.detail-link:hover { color:#ffd4a1; border-color:#ffd4a1; }.detail-open { overflow:hidden; }
@media (max-width:800px) { .detail-sheet { padding:54px 24px 32px; }.detail-title { font-size:45px; }.detail-copy { font-size:13px; }.project-detail { padding:12px; }.hero-name-en { padding-left:2px; } }

.wanli-placeholder { display:flex; flex-direction:column; justify-content:flex-end; box-sizing:border-box; width:100%; aspect-ratio:16/9; padding:clamp(18px,3vw,40px); color:#f8efe3; background-position:center; background-size:cover; }.wanli-placeholder span { font:500 clamp(30px,5vw,62px)/1 var(--serif); }.wanli-placeholder small { margin-top:8px; color:#f7c19b; font:500 11px "DM Mono",monospace; letter-spacing:.1em; }

/* Header refinement and softer section transitions. */
.hero { box-shadow:0 36px 85px 42px rgba(8,32,38,.82); }.hero h1 { text-align:center; }.hero-name { font-size:clamp(68px,10.8vw,158px); line-height:.92; }.hero-name-en { margin-top:20px; padding-left:0; text-align:center; font-size:clamp(18px,2.3vw,34px); letter-spacing:.21em; }.hero-bottom { margin-top:auto; }.intro { max-width:440px; font-size:16px; line-height:1.78; }.hero-info { grid-template-columns:2.1fr .55fr 1fr; }.hero-info > div:nth-child(2) { grid-template-columns:48px 1fr; gap:7px; }.skill-line { display:block; color:#fbf5ea; }.skill-line b { color:#fbf5ea; font:500 12px var(--sans); letter-spacing:.01em; white-space:nowrap; }.about { background:linear-gradient(180deg,rgba(8,32,38,.74),rgba(7,26,33,.18) 60%,transparent); }.school-mark { padding:4px 0 16px; border:0; background:transparent; }.school-mark img { filter:grayscale(1) brightness(0) invert(1) opacity(.87); }
.detail-portraits { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.detail-portraits figure { position:relative; min-height:0; aspect-ratio:2/3; margin:0; overflow:hidden; background:#12242d; border:1px solid rgba(255,255,255,.12); }.detail-portraits img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.05); transition:transform .45s ease; }.detail-portraits figure:hover img { transform:scale(1.06); }.detail-portraits figcaption { position:absolute; inset:auto 0 0; padding:20px 12px 11px; color:#fff7e9; background:linear-gradient(transparent,rgba(4,11,16,.78)); font:500 14px var(--serif); }
.card-discover { position:absolute; z-index:2; right:10px; bottom:10px; display:flex; align-items:center; gap:8px; padding:7px 9px 7px 11px; color:#fff8ed; border:1px solid rgba(255,255,255,.48); border-radius:999px; background:rgba(5,19,25,.48); backdrop-filter:blur(8px); font:500 9px "DM Mono",monospace; letter-spacing:.1em; opacity:0; transform:translateY(8px); transition:opacity .25s ease,transform .3s cubic-bezier(.16,1,.3,1),background .25s; }.card-discover i { display:grid; place-items:center; width:16px; height:16px; color:#172027; border-radius:50%; background:#ffcf9b; font-style:normal; font-size:12px; }.work-card:hover .card-discover,.work-card:focus-visible .card-discover { opacity:1; transform:none; }.detail-trigger .work-meta { margin-top:0; padding:13px 13px 14px; border:1px solid rgba(255,255,255,.17); border-top:0; background:linear-gradient(125deg,rgba(24,60,66,.9),rgba(28,20,42,.9)),repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 12px); }.detail-trigger .work-meta h3 { color:#fff7eb; font-size:21px; }.detail-trigger .work-meta p { color:rgba(255,239,218,.72); }.detail-trigger .link-mark { color:#ffcf9b; }.detail-trigger .poster { border:1px solid rgba(255,255,255,.17); border-bottom:0; }.detail-portraits-junpin { grid-template-columns:repeat(4,1fr); }
@media (max-width:800px) { .hero-name { font-size:clamp(62px,17vw,110px); }.hero-name-en { font-size:17px; }.hero-info { grid-template-columns:1fr; }.hero-info > div:nth-child(2) { grid-template-columns:82px 1fr; gap:13px; }.detail-portraits,.detail-portraits-junpin { grid-template-columns:repeat(2,1fr); }.card-discover { opacity:1; transform:none; }.detail-trigger .work-meta h3 { font-size:18px; } }

/* Right-aligned hero copy with a continuous, film-like dissolve into About. */
.hero { box-shadow:none; }.hero-inner > .eyebrow,.hero-inner > h1,.hero-inner > .hero-bottom { width:48%; margin-left:auto; }.hero h1 { text-align:left; }.hero-name-en { text-align:left; }.hero-info { margin-top:48px; }.skill-line { margin-bottom:5px; }.skill-line:last-child { margin-bottom:0; }.skill-line,.skill-line b { color:#fbf5ea; }
main { position:relative; overflow:hidden; }.about { position:relative; isolation:isolate; margin-top:-240px; padding-top:410px; border-top:0; background:transparent; }.about::before { content:""; position:absolute; z-index:0; top:0; left:50%; width:100vw; height:560px; transform:translateX(-50%); pointer-events:none; background:radial-gradient(ellipse 72% 72% at 22% 16%,rgba(232,94,65,.20),transparent 62%),radial-gradient(ellipse 74% 64% at 78% 24%,rgba(53,146,144,.20),transparent 64%),linear-gradient(180deg,rgba(8,31,38,0) 0%,rgba(8,31,38,.08) 15%,rgba(8,35,42,.29) 39%,rgba(10,41,47,.23) 62%,rgba(7,27,35,0) 100%); }.about > * { position:relative; z-index:1; }
@media (max-width:800px) { .hero-inner > .eyebrow,.hero-inner > h1,.hero-inner > .hero-bottom { width:100%; margin-left:0; }.hero h1,.hero-name-en { text-align:center; }.about { margin-top:-150px; padding-top:275px; }.about::before { height:410px; } }

/* Keep the information block legible inside the right-side hero column. */
.hero-inner > .hero-info { position:relative; z-index:2; width:100%; margin-left:0; grid-template-columns:1fr; gap:13px; margin-top:32px; font-family:"PingFang SC","Microsoft YaHei","DM Sans",sans-serif; font-variant-ligatures:none; }.hero-info > div,.hero-info > div:nth-child(2) { grid-template-columns:150px minmax(0,1fr); gap:24px; }.hero-info span { align-self:start; padding-top:3px; font:600 13px/1.45 "PingFang SC","Microsoft YaHei",sans-serif; letter-spacing:.08em; }.hero-info p { min-width:0; color:#fff8ef; font-size:15px; line-height:1.58; letter-spacing:.025em; }.hero-info p,.hero-info p * { text-shadow:0 1px 14px rgba(0,0,0,.28); }.hero-info .skill-line { letter-spacing:.025em; }.hero-info .skill-line:first-child { white-space:nowrap; font-size:clamp(11px,1.02vw,15px); }.school-achievement { display:flex; flex-direction:column; gap:7px; }
.poster.wu-xiaoli img { object-position:78% center; }
@media (max-width:800px) { .hero-inner > .hero-info { width:100%; margin-left:0; }.hero-info > div,.hero-info > div:nth-child(2) { grid-template-columns:82px minmax(0,1fr); gap:13px; }.hero-info span { font-size:12px; }.hero-info p { font-size:13px; }.hero-info .skill-line:first-child { white-space:normal; font-size:13px; } }
