:root{--ink:#161c1b;--paper:#edece6;--muted:#a9b2ad;--line:#414a45;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font:400 1rem/1.6 var(--sans)}a{color:inherit;text-underline-offset:6px}a:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{display:block;width:100%;height:auto}figure,p{margin:0}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:var(--serif)}h2{font-size:clamp(3rem,6.2vw,6.5rem);line-height:1.05;letter-spacing:-.035em}em{font-weight:400}section{min-width:0}.grain{display:none}.skip-link{position:absolute;left:20px;top:-100px;z-index:10;background:var(--paper);color:var(--ink);padding:12px}.skip-link:focus{top:10px}.site-header{padding:22px 5vw;display:flex;gap:24px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.site-header a{text-decoration:none;font-size:.875rem}.wordmark{letter-spacing:.13em}.site-header nav{display:flex;flex-wrap:wrap;gap:26px}.menu-reel{white-space:nowrap}.menu-reel span{margin-left:10px}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:6vw;max-width:1600px;margin:auto;padding:48px 5vw 64px;align-items:center}.hero-copy{grid-column:1;grid-row:1;padding:40px 0 20px;min-width:0}.eyebrow,.section-label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}h1{font-weight:300;font-size:clamp(4rem,8.6vw,9rem);line-height:.97;letter-spacing:-.045em;margin-top:26px}h1 small{display:block;font:600 clamp(1.45rem,2.2vw,2rem)/1.5 'Noto Serif TC','Songti TC',serif;letter-spacing:.23em;margin:30px 0 0 5px}.hero-intro{max-width:300px;margin-top:32px;color:#c4cbc6}.hero-image{grid-column:2;grid-row:1 / span 2;align-self:center}.hero-image img{width:100%;height:auto}.hero-bottom{grid-column:1;grid-row:2;display:flex;gap:28px;justify-content:space-between;align-items:center;padding-top:42px;font-size:.875rem;color:var(--muted)}.hero-bottom a{color:var(--paper)}.circle-link{display:block;flex-shrink:0;text-decoration:none;border-bottom:1px solid var(--muted);padding:8px 0}.circle-link br{display:none}.circle-link span{margin-left:12px}.section-pad{padding:100px 8vw}.reel{background:var(--paper);color:var(--ink)}.reel .section-label,.portraits .section-label{color:#5d665f}.reel-grid{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:6vw;margin-top:48px;align-items:start}.reel h2{font-size:clamp(3rem,5vw,5.5rem)}.reel-card{min-width:0}.reel-screen{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;background:#202725;color:var(--paper);padding-bottom:18px}.reel-cover{flex-basis:100%;width:100%;height:auto}.reel-time{order:3;font-size:.875rem;margin-right:20px}.reel-screen p{order:1;padding-left:20px;font-size:.875rem}.play{order:2;text-decoration:none;border:1px solid #879189;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;flex-shrink:0}.play:hover{background:var(--paper);color:var(--ink)}.caption{font-size:.875rem;color:#56615a;margin-top:16px}.work-heading{display:flex;gap:32px;justify-content:space-between;align-items:end;margin:48px 0}.work-heading p{max-width:260px;color:var(--muted)}.work-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;align-items:start}.work-image img{height:auto}.credits{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.credits li{display:grid;grid-template-columns:24px minmax(0,1fr) 40px;gap:16px;padding:21px 0;border-bottom:1px solid var(--line)}.credits span,.credits time{font-size:.75rem;color:var(--muted);padding-top:4px}.credits h3{font-size:1.125rem;line-height:1.4}.credits h3 em{display:block;font-size:.875rem;color:var(--muted)}.credits p{font-size:.875rem;margin-top:7px;color:var(--muted)}.text-link{display:inline-block;margin-top:36px;font-size:.875rem}.text-link span{margin-left:12px}.profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;padding:100px 8vw;background:#d5d9d2;color:var(--ink);align-items:start}.profile-image img{height:auto}.profile-copy{padding:0;min-width:0}.profile .section-label{color:#56615a}.profile h2{margin:40px 0 30px}.large-copy{font-size:1.125rem;line-height:1.75}.profile dl{margin:30px 0 0}.profile dl div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid #9fa99f}dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}dd{margin:0;font-size:.875rem}.portraits{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 8vw;align-items:start}.portraits .section-label{grid-column:1}.portrait-top{grid-column:1}.portrait-top p{font:400 clamp(2.5rem,5vw,5rem)/1.1 var(--serif);letter-spacing:-.03em}.portrait-top span{display:none}.portrait-light{grid-column:2;grid-row:1 / span 2;max-width:480px;justify-self:end}.contact{padding-bottom:100px}.contact-kicker{font:400 clamp(2.5rem,5vw,5rem)/1.12 var(--serif);letter-spacing:-.025em;margin-top:48px}.contact-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;margin-top:64px;align-items:end}.contact-bottom p{color:var(--muted);font-size:.875rem;margin-bottom:18px}.contact h2{font-size:clamp(2.5rem,4vw,4rem)}.contact-links{display:grid;gap:18px;min-width:0}.contact-links a{display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere;border-bottom:1px solid var(--line);padding-bottom:10px;text-decoration:none;font-size:1rem}footer{display:flex;justify-content:space-between;gap:24px;padding:24px 5vw;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
@media(min-width:1600px){.section-pad,.profile{padding-left:max(8vw,calc((100vw - 1344px)/2));padding-right:max(8vw,calc((100vw - 1344px)/2))}}
@media(max-width:1050px){.hero{column-gap:4vw}.hero-bottom{flex-direction:column;align-items:flex-start;gap:16px}.reel-grid,.work-layout{grid-template-columns:1fr}.reel h2{max-width:600px}.work-image{max-width:620px}.profile{gap:5vw}.profile dl div{grid-template-columns:1fr;gap:4px}}
@media(max-width:760px){.site-header{flex-wrap:wrap;padding:18px 6vw;gap:12px}.site-header nav{order:3;width:100%;gap:22px}.site-header nav a{padding:6px 0}.hero{grid-template-columns:minmax(0,1fr);padding:24px 6vw 56px;gap:0}.hero-image{grid-column:1;grid-row:1;max-width:500px;width:100%;justify-self:center}.hero-copy{grid-column:1;grid-row:2;padding:36px 0 0}h1{font-size:clamp(4rem,16vw,7.5rem)}h1 small{font-size:1.65rem;margin-top:22px}.hero-intro{margin-top:24px}.hero-bottom{grid-column:1;grid-row:3;flex-direction:row;align-items:center;gap:20px;padding-top:32px}.section-pad{padding:64px 6vw}.reel-grid{gap:30px;margin-top:32px}.work-heading{display:block;margin:32px 0}.work-heading p{margin-top:22px}.work-layout{gap:32px}.credits li{gap:10px;grid-template-columns:20px minmax(0,1fr) 36px}.profile{grid-template-columns:minmax(0,1fr);padding:64px 6vw;gap:40px}.profile-image{width:100%;max-width:500px;justify-self:center}.profile dl div{grid-template-columns:85px minmax(0,1fr);gap:12px}.profile h2{margin-top:28px}.portraits{grid-template-columns:minmax(0,1fr)}.portrait-top{grid-column:1}.portrait-light{grid-column:1;grid-row:3;width:100%;max-width:500px;justify-self:center;margin-top:10px}.contact-bottom{grid-template-columns:minmax(0,1fr);gap:40px;margin-top:40px}.contact-kicker{margin-top:32px}.contact-links{gap:16px}.reel-screen{gap:10px}.reel-screen p{max-width:65%}.reel-time{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared photographic surfaces; text stays outside every image. */
.hero{position:relative;isolation:isolate;column-gap:3vw;background:#242f2c}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#161c1b 12%,#293a33 100%)}
.hero-image{margin:0 0 0 1vw}.hero-image img{box-shadow:0 24px 70px #0b17192b}
.hero-copy{padding-left:2vw}.hero-bottom{padding-left:2vw}
.reel{background:#e7e7df}.reel-grid{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:8vw}
.reel-card{max-width:470px;width:100%;justify-self:center}.reel-screen{display:block;background:transparent;padding:0;text-decoration:none;color:var(--ink)}
.reel-cover{width:100%;height:auto;filter:none;opacity:1}.reel-actions{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #a9ada3}
.reel-actions p{padding:0;font-size:1rem}.reel-actions p span{display:block;font-size:.875rem;color:#56615a}.reel-actions .play{border-color:#8b958a;transition:background .25s,color .25s,transform .25s}.reel-screen:hover .play{background:var(--ink);color:var(--paper);transform:translate(3px,-3px)}
.reel-card .text-link{margin-top:18px}.profile{background:#d5d9d2;align-items:center;gap:5vw}.profile-image{box-shadow:0 22px 55px #24312518}
.portraits{background:#f6f5f1;align-items:center;gap:24px 5vw}.portrait-light img{filter:none;opacity:1;mix-blend-mode:normal}.portrait-top p{font-style:italic}.portrait-light{max-width:560px}.portrait-top{padding-bottom:12px;border-bottom:1px solid #b5b9b0}
.text-link,.site-header a{transition:color .2s}.site-header a:hover{color:#d0baa2}
@media(max-width:1050px){.reel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5vw}}
@media(max-width:760px){.hero{padding-top:0;background:#242f2c}.hero-image{margin:0}.hero-copy,.hero-bottom{padding-left:0}.hero::before{background:linear-gradient(180deg,#34483f 0%,#161c1b 85%)}.reel-grid{grid-template-columns:minmax(0,1fr);gap:32px}.reel-card{max-width:440px}.profile{gap:36px}.portraits{gap:28px}.portrait-top{padding-bottom:18px}.portrait-light{margin:0}.hero-image img{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.reel-screen:hover .play{transform:none}}

/* Restore the landscape video entrance, with controls away from the face. */
.reel-grid{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:6vw;align-items:start}
.reel-card{max-width:none;width:100%}
.reel-screen{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#202725;color:#fff}
.reel-screen .reel-cover{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.reel-screen::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65));pointer-events:none}
.reel-screen .play{position:absolute;left:14%;top:38%;width:64px;height:64px;display:grid;place-items:center;z-index:2;border:1px solid #ffffffb3;background:#10181533;color:#fff;border-radius:50%;font-size:20px;transition:background .2s,transform .2s}
.reel-screen:hover .play{background:#10181599;transform:scale(1.06)}
.reel-overlay-label{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;font-size:1rem;line-height:1.4}
.reel-overlay-label span{display:block;font-size:.75rem;letter-spacing:.04em;margin-top:3px}
@media(max-width:1050px){.reel-grid{grid-template-columns:minmax(0,1fr);gap:32px}}
@media(max-width:480px){.reel-screen .play{width:48px;height:48px;top:26%;left:10%;font-size:16px}.reel-overlay-label{left:16px;bottom:12px;font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.reel-screen:hover .play{transform:none}}

/* Refined nameplate and restrained mineral accents. */
:root{--ink:#171d20;--paper:#eeeae3;--muted:#aeb7b8;--line:#414c51;--accent:#c3b49b}
.hero h1{font-family:'DM Sans',Arial,sans-serif;font-weight:300;font-size:clamp(3.2rem,6.7vw,7.2rem);line-height:1.08;letter-spacing:-.045em}
.hero h1 small{color:#cec4b3;letter-spacing:.2em}.eyebrow,.contact .section-label{color:var(--accent)}
.contact{background:#171d20}.contact h2{color:#ddd1bd}.contact-links a:hover{color:#d6c4a7}.site-header nav .menu-reel{color:#ded0b8}
.language-tier{display:block;font-size:.75rem;letter-spacing:.06em;color:#55625b;margin:0 0 3px}.language-tier:not(:first-child){margin-top:12px}
@media(max-width:760px){.site-header nav{gap:clamp(12px,3.4vw,22px);justify-content:flex-start}.hero h1{font-size:clamp(3.2rem,13vw,6.2rem)}}

/* Confirmed Jost 450 nameplate. */
.hero h1{font-family:Jost,'Gill Sans',sans-serif;font-weight:450;text-transform:uppercase;font-size:clamp(2.9rem,5.7vw,6.4rem);line-height:1.12;letter-spacing:.025em}
@media(max-width:760px){.hero h1{font-size:clamp(2.7rem,10.5vw,5.7rem)}}

/* Bilingual navigation and personal social link. */
.site-header nav .language-switch{font-size:.8rem;letter-spacing:.06em;margin-left:auto;padding:7px 10px;border:1px solid var(--line);border-radius:2px;white-space:nowrap}.hero-instagram{font-size:.85rem;white-space:nowrap;align-self:end}html[lang="zh-CN"] body{font-family:'PingFang SC','Microsoft YaHei',sans-serif}html[lang="zh-CN"] h2,html[lang="zh-CN"] .contact-kicker{font-family:'Songti SC','Noto Serif TC',serif;line-height:1.3}html[lang="zh-CN"] .large-copy{line-height:1.9}html[lang="zh-CN"] .hero-intro{line-height:1.8}@media(max-width:760px){.site-header nav{flex-wrap:wrap}.hero-bottom{gap:22px;flex-wrap:wrap}.hero-instagram{align-self:center}.site-header nav .language-switch{margin-left:0}}

/* Separate optional language switch; align hero links on one baseline. */
.site-header nav{align-items:center}.site-header nav .language-switch{margin-left:26px;border:0;border-left:1px solid var(--line);border-radius:0;padding:6px 0 6px 20px}.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:12px}.hero-bottom p{min-width:0;font-size:.8rem;line-height:1.7}.hero-bottom a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 10px;border:1px solid #71807955;border-radius:3px;background:#ffffff03;text-decoration:none;font-size:.78rem;line-height:1.4;transition:background .2s,border-color .2s}.hero-bottom p a{justify-content:flex-start;margin-top:6px}.hero-bottom .hero-instagram{align-self:end}.hero-bottom a:hover{background:#ffffff0c;border-color:#b5bdb38c}.hero-bottom a:focus-visible{outline:2px solid var(--paper);outline-offset:4px}
@media(max-width:760px){.site-header nav .language-switch{margin-left:auto;padding-left:16px}.hero-bottom{gap:10px;grid-template-columns:minmax(0,1fr) auto auto}.hero-bottom a{font-size:.75rem;padding:8px}.site-header nav{column-gap:clamp(10px,3vw,22px)}}
@media(max-width:440px){.hero-bottom{grid-template-columns:1fr 1fr}.hero-bottom p{grid-column:1/-1}.hero-bottom p a{width:auto}.hero-bottom>.hero-instagram,.hero-bottom>.circle-link{width:100%}.site-header nav{column-gap:12px}.site-header nav a{font-size:.75rem}.site-header nav .language-switch{font-size:.75rem;padding-left:10px}}
