@import url("/fonts/noto-serif-sc/fonts.css");:root{color-scheme:light;--ink:#06343f;--muted:#345d65;--sea-light:#94bfc5;--rule:rgba(9,59,68,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:45px}body{margin:0;font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif;background:var(--sea-light);color:var(--ink);font-size:15px;line-height:1.75}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a,button{color:inherit}a{text-decoration:none}button{border:0;background:none;padding:0}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}button svg{width:20px;height:20px}h1,h2,h3,p{margin:0}img,video{display:block;max-width:100%}.shell{width:min(1080px,calc(100% - 112px));margin-inline:auto}.portfolio{overflow:hidden}.hero{height:calc(100svh + 120px);min-height:820px;position:relative;isolation:isolate;color:#f0f4ef;background:#94bfc5}.ocean-scene{position:absolute;inset:0;z-index:-1;background:#06283d url(/media/liam/sea-clean.png) 50%/cover}.ocean-scene canvas{width:100%;height:100%}.ocean-scene canvas,.ocean-shade{position:absolute;inset:0;pointer-events:none}.ocean-shade{background:linear-gradient(180deg,rgba(0,27,45,.02) 15%,rgba(0,20,35,.14) 70%,rgba(0,15,25,.56) 90%,rgba(0,15,25,0))}.site-header{display:flex;justify-content:space-between;align-items:center;position:relative;padding-top:24px;transition:opacity .65s,transform .65s}.wordmark{font-size:36px;line-height:1.2;font-weight:700;letter-spacing:-2px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:14px}.site-header nav a{opacity:.85;transition:opacity .2s}.site-header nav a:hover{opacity:1}.theme-toggle{width:28px;height:28px;display:grid;place-items:center}.hero-copy{position:absolute;top:24vh;left:0;right:0;pointer-events:none;transition:opacity .65s,transform .65s}.hero h1{font:400 clamp(64px,6.4vw,96px)/1.28 "Noto Serif SC",Songti SC,SimSun,serif;letter-spacing:.015em;text-shadow:0 2px 18px rgba(0,25,45,.08)}.liam-name{font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-subtitle{font-size:13px;letter-spacing:.01em;margin-top:28px;line-height:2;color:rgba(241,247,247,.88);max-width:710px}.hero-subtitle span{margin-inline:4px;opacity:.68}.hero-bottom{position:absolute;left:0;right:0;bottom:175px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(225,240,241,.73)}.inspiration{transition:opacity .65s}.sea-controls{display:flex;gap:19px;align-items:center}.sea-controls button{display:flex;gap:9px;align-items:center;font-size:12px;padding:9px 0}.sea-controls button:hover{color:white}.sea-controls button svg{width:16px;height:16px}.sea-controls button>span{font-size:16px;line-height:1}.control-divider{height:13px;width:1px;background:rgba(225,240,241,.24)}.sea-only .hero-copy,.sea-only .site-header{opacity:0;pointer-events:none;transform:translateY(-8px)}.sea-only .inspiration{opacity:0}.sea-only .sea-controls{color:rgba(239,250,250,.9)}.works-world{position:relative;background:radial-gradient(ellipse at 82% 19%,rgba(229,250,242,.58),transparent 48%),radial-gradient(ellipse at 10% 47%,rgba(213,239,233,.55),transparent 50%),linear-gradient(#94bfc5,#b9d9d9 55%,#c9dfdd);min-height:100vh;transition:background .5s,color .5s}.works-world:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background:repeating-radial-gradient(ellipse at 130% 4%,transparent 0 110px,rgba(255,255,255,.14) 112px 114px,transparent 118px 175px);-webkit-mask-image:linear-gradient(transparent,black 10%,transparent 65%);mask-image:linear-gradient(transparent,black 10%,transparent 65%)}.about-section,.collection{position:relative;padding-top:100px;padding-bottom:15px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:32px;margin-bottom:47px}.section-heading h2{font:400 clamp(32px,3.2vw,46px)/1.5 "Noto Serif SC",Songti SC,SimSun,serif;letter-spacing:.03em}.section-heading>p{color:var(--muted);font-size:14px}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:26px;row-gap:64px}.film-card{min-width:0}.film-cover{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;position:relative;background:#193f48;text-align:left}.film-cover img,.film-cover video{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.65,.3,1),opacity .35s}.film-cover img{object-position:50% 37%}.film-card.landscape .film-cover img{object-position:center}.film-cover:hover img{transform:scale(1.035)}.preview{position:absolute;inset:0;opacity:0}.preview.visible{opacity:1}.cover-play{position:absolute;bottom:16px;right:16px;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(5,32,42,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;transition:background .2s,transform .2s}.film-cover:hover .cover-play{background:rgba(5,32,42,.5);transform:scale(1.08)}.cover-play svg{width:17px;height:17px;margin-left:1px}.film-number{position:absolute;left:15px;bottom:21px;font-size:11px;letter-spacing:.1em;color:#fff;text-shadow:0 1px 6px #000}.film-label{font-size:11px;letter-spacing:.045em;margin-top:23px;color:var(--muted)}.film-card h3{font-size:21px;font-weight:500;line-height:1.4;letter-spacing:-.025em;margin-top:11px;overflow-wrap:anywhere}.drama-grid h3{min-height:88px}.film-summary{font-size:14px;line-height:1.85;margin-top:16px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;border-bottom:1px solid;padding-bottom:8px;margin-top:24px;transition:gap .25s}.text-link svg{width:18px;height:18px}.text-link:hover{gap:30px}.collection-note{font-size:11px;letter-spacing:.03em;color:var(--muted);border-top:1px solid var(--rule);margin-top:45px;padding-top:19px}.collection+.collection{padding-top:120px}.purehar-grid .film-cover{aspect-ratio:1.12}.purehar-grid h3{font-size:23px}.about-section{padding-top:140px;padding-bottom:90px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:120px}.about-intro p{font-size:16px;line-height:2;margin-bottom:19px}.about-intro p+p{font-size:14px;color:var(--muted)}.resume-list>div{display:grid;grid-template-columns:1fr;gap:2px;border-top:1px solid var(--rule);padding:18px 0}.resume-list time{font-size:11px;color:var(--muted)}.resume-list h3{font-size:15px;font-weight:500}.resume-list p{font-size:12px;color:var(--muted)}.site-footer{display:flex;align-items:center;gap:38px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:31px;padding-bottom:38px;font-size:11px}.site-footer .wordmark{font-size:30px}.site-footer>div{display:flex;flex-direction:column;line-height:1.9}.site-footer>p{color:var(--muted);margin-left:auto}.back-top{margin-left:9px}.dark{--ink:#dbe9e4;--muted:#a5bfc0;--rule:rgba(220,240,236,.18)}.dark .works-world{background:radial-gradient(ellipse at 80% 14%,#1a454d,transparent 60%),linear-gradient(#1d4650,#102f37)}.dark .hero{background:#1d4650}.dark .works-world:before{opacity:.06}.film-dialog{padding:0;border:0;background:transparent;max-width:calc(100vw - 40px);max-height:calc(100svh - 36px);color:#f1f4ef;overflow:visible;margin:auto}.film-dialog::backdrop{background:rgba(0,13,22,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.player-body{position:relative;max-width:1050px;background:#061d26;box-shadow:0 20px 100px #0005}.player-body video{width:auto;max-width:calc(100vw - 64px);max-height:calc(100svh - 165px);object-fit:contain;margin:auto}.player-body.landscape video{width:min(1000px,calc(100vw - 64px))}.player-body.vertical video{height:calc(100svh - 165px);max-width:100%}.player-copy{padding:16px 24px 20px;max-width:800px}.player-copy p{font-size:11px;opacity:.7}.player-copy h2{font-size:16px;font-weight:400;line-height:1.5;margin-top:5px}.player-close{position:absolute;right:10px;top:10px;z-index:2;width:38px;height:38px;border-radius:50%;background:#001722a8;color:white;font-size:29px;line-height:1}.player-copy a{text-decoration:underline}@media(min-width:1600px){.shell{width:min(1240px,calc(100% - 160px))}.hero-copy{top:23vh}.hero h1{font-size:100px}}@media(max-width:1000px){.shell{width:calc(100% - 80px)}.hero h1{font-size:70px}.hero-subtitle{max-width:600px;font-size:12px}.film-grid{gap:44px 22px}.film-card h3{font-size:18px}.drama-grid h3{min-height:100px}.section-heading>p{font-size:12px}.about-layout{gap:60px}}@media(max-width:700px){.shell{width:calc(100% - 44px)}.hero{height:calc(100svh + 95px);min-height:800px}.site-header{padding-top:25px}.wordmark{font-size:32px}.site-header nav{gap:22px;font-size:12px}.hero-copy{top:145px}.hero h1{font-size:60px;line-height:1.3}.hero-subtitle{font-size:11px;max-width:330px;line-height:2.1;margin-top:22px;text-wrap:balance}.hero-subtitle span{margin-inline:2px}.hero-bottom{bottom:153px;font-size:10px}.sea-controls{gap:12px}.sea-controls button{font-size:11px;gap:6px;min-height:40px}.inspiration{font-size:10px}.about-section,.collection{padding-top:62px}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:34px}.section-heading>p{font-size:12px;margin-top:10px}.film-grid{grid-template-columns:1fr;row-gap:45px}.film-cover{aspect-ratio:1.05}.film-card h3,.purehar-grid h3{font-size:22px;min-height:0;max-width:100%;margin-top:8px}.film-label{margin-top:18px}.film-summary{margin-top:12px}.text-link{margin-top:18px}.collection-note{line-height:2;margin-top:32px}.collection+.collection{padding-top:76px}.about-section{padding-top:85px;padding-bottom:50px}.about-layout{grid-template-columns:1fr;gap:36px}.site-footer{gap:22px;padding-bottom:26px}.site-footer>p{margin-left:0;font-size:10px}.back-top{margin-left:auto}.player-copy{padding-inline:16px}.player-copy h2{font-size:14px}.film-dialog{max-width:calc(100vw - 20px)}.player-body.landscape video{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}.player-body.vertical video{height:auto;max-height:calc(100svh - 180px)}.purehar-grid .film-cover{aspect-ratio:1.12}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}.hero-first{white-space:nowrap}.hero-subtitle .subtitle-piece{white-space:nowrap;margin:0;opacity:1}.works-world{background:linear-gradient(#94bfc5,rgba(148,191,197,0) 320px),radial-gradient(ellipse at 82% 19%,rgba(229,250,242,.58),transparent 48%),radial-gradient(ellipse at 10% 47%,rgba(213,239,233,.55),transparent 50%),linear-gradient(#94bfc5,#b9d9d9 55%,#c9dfdd)}.dark .works-world{background:linear-gradient(#1d4650,rgba(29,70,80,0) 320px),radial-gradient(ellipse at 80% 14%,#1a454d,transparent 60%),linear-gradient(#1d4650,#102f37)}@media(max-width:700px){.hero h1{font-size:52px}.hero-subtitle{max-width:335px;text-wrap:pretty}}.hero-chinese-name{display:inline-block;font-size:.66em;line-height:1.45;letter-spacing:.06em;vertical-align:top;margin-top:6px}.ocean-shade{background:linear-gradient(180deg,rgba(0,17,27,0) 55%,rgba(0,13,25,.13) 87%,rgba(0,15,25,0))}.hero h1{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.hero h1>br{display:none}.hero-first{line-height:1.24}.hero-chinese-name{margin-top:0;line-height:1.4}