

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-weight:300;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin:0}h2,h3{font-weight:300}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}.skip-link{position:fixed;z-index:100;top:12px;left:12px;background:var(--paper);padding:10px 20px;transform:translateY(-180%)}.skip-link:focus{transform:none}.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;line-height:1.7}.serif{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;line-height:1.05}.script{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid currentColor}.arrow{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:25px;font-weight:300;letter-spacing:0;line-height:1}.outline-button{display:inline-flex;justify-content:center;align-items:center;gap:22px;border:1px solid currentColor;min-height:49px;padding:12px 28px;font-size:10px;letter-spacing:.23em;text-transform:uppercase;transition:background .25s,color .25s}.outline-button:hover{background:var(--paper);color:var(--ink)}.site-header{position:fixed;top:0;left:0;right:0;z-index:30;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 35px;background:rgba(247,246,242,.96);color:#514c44;opacity:0;transform:translateY(-100%);transition:opacity .35s,transform .35s;border-bottom:1px solid #dfdbd255}.site-header.scrolled,.site-header:focus-within{opacity:1;transform:none}.nav-brand{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:31px;line-height:1}.desktop-nav{display:flex;align-items:center;gap:37px;font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase}.desktop-nav a:hover{opacity:.55}.desktop-nav .nav-contact{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;letter-spacing:.22em;font-size:10px;background:var(--stone);padding:8px 27px}.menu-toggle{display:flex;align-items:center;gap:15px;border:0;background:none;padding:10px 0;cursor:pointer;font-size:9px;letter-spacing:.25em;text-transform:uppercase}.menu-bars{width:25px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.menu-dialog{position:fixed;z-index:60;inset:0;border:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;background:var(--ink);color:var(--paper);padding:7vh 8vw}.menu-dialog:not([open]){display:none}.menu-top{display:flex;align-items:center;justify-content:space-between}.menu-close{background:none;border:1px solid #ffffff70;padding:9px 22px;font-size:11px;letter-spacing:.16em;cursor:pointer}.menu-dialog nav{display:flex;flex-direction:column;margin-top:9vh;gap:1vh;font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:clamp(35px,6vw,70px);line-height:1.3}.menu-dialog nav a:hover{font-style:italic}.menu-bottom{margin-top:5vh;font-size:11px;letter-spacing:.12em}.hero{height:100svh;min-height:740px;position:relative;color:#fff;overflow:hidden}.hero-photos{display:grid;grid-template-columns:1fr 1fr;position:absolute;inset:0}.hero-photos figure{overflow:hidden}.hero-photos img{object-position:70% center;animation:gentle-zoom 14s ease-out both}.hero-photos figure:nth-child(2) img{object-position:55% center;animation-delay:-3s}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,.13) 50%,rgba(0,0,0,.42));pointer-events:none}.hero-top{position:absolute;z-index:1;top:8.5%;left:5%;right:5%;text-align:center;font-size:12px;letter-spacing:.3em;text-transform:uppercase}.hero-title{position:absolute;z-index:1;top:44%;left:4%;right:4%;transform:translateY(-30%);text-align:center}.hero-title .brand-pre{font-size:11px;letter-spacing:.34em;margin:0 0 18px;text-transform:uppercase}.hero-title h1{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-weight:400;font-size:clamp(70px,11.6vw,185px);letter-spacing:-.025em;line-height:1.1;white-space:nowrap}.hero-title .profession{font-size:14px;letter-spacing:.36em;text-transform:uppercase;text-align:right;padding-right:11%;margin-top:12px}.hero-bottom{position:absolute;z-index:1;left:5%;right:5%;bottom:10%;text-align:center}.hero-bottom p{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:26px;line-height:1.3}.hero-bottom .eyebrow{display:block;font-size:10px;margin-top:27px}.scroll-cue{position:absolute;z-index:2;bottom:25px;left:50%;transform:translateX(-50%);display:block;width:25px;height:30px;text-align:center;font-size:20px;line-height:1.1}.scroll-cue:after{content:"";width:1px;height:23px;background:#fff9;display:block;margin:8px auto}.intro{background:var(--ink);color:var(--paper);padding:130px 10vw 135px;display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:center}.intro h2{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:clamp(40px,4.2vw,62px);line-height:1.08;margin-bottom:30px}.intro .eyebrow{margin-bottom:37px}.fine-rule{height:1px;width:32px;background:currentColor;margin-bottom:33px}.intro p{font-size:14px;line-height:2.1;max-width:530px;margin-bottom:23px}.intro em{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:22px}.intro .text-link{margin-top:15px}.intro-photo{height:530px;position:relative}.intro-photo img{object-position:69% center;filter:grayscale(1)}.intro-photo figcaption{position:absolute;bottom:-40px;left:0;right:0;text-align:center;font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-style:italic;font-size:19px;opacity:.75}.photo-interlude{position:relative;min-height:610px;color:#fff;display:flex;align-items:center;justify-content:flex-end;padding:90px 9vw}.photo-interlude>img{position:absolute;inset:0;object-position:center 45%}.photo-interlude:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0001,#0006)}.interlude-copy{position:relative;z-index:1;width:55%;text-align:center}.interlude-copy h2{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:clamp(35px,4.1vw,58px);font-weight:300;line-height:1.15;text-transform:uppercase}.interlude-copy .eyebrow{margin-top:37px}.approach{padding:130px 9vw 140px;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.approach-images{position:relative;padding:0 52px 55px 0}.approach-images .main-image{height:520px}.approach-images .detail-image{position:absolute;bottom:0;right:0;width:53%;height:255px;border:9px solid var(--paper)}.approach-images .main-image img{object-position:35% center}.approach-copy .eyebrow{margin-bottom:26px}.approach-copy h2{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:clamp(42px,4.7vw,67px);line-height:1.04;margin-bottom:34px}.approach-copy h2 em{font-weight:300}.approach-copy p{max-width:450px;font-size:14px;line-height:2.1;margin-bottom:28px}.approach-copy .chinese{font-size:13px;letter-spacing:.15em;line-height:2.3;color:#71695e;margin:30px 0}.portfolio{background:var(--olive);color:#eee9dd;padding:83px 0 100px;overflow:hidden}.portfolio>.eyebrow{text-align:center}.portfolio-title{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:clamp(100px,19vw,295px);font-weight:300;line-height:.9;text-align:center;margin:22px 0 -12px;letter-spacing:-.04em;text-transform:uppercase}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4.2vw;align-items:start;margin:0 3.5vw}.portfolio-card{position:relative;display:block;height:490px;overflow:hidden}.portfolio-card:nth-child(2){margin-top:-38px;height:565px}.portfolio-card img{transition:transform .8s;object-position:center}.portfolio-card:hover img{transform:scale(1.04)}.portfolio-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#0007)}.portfolio-card .card-label{position:absolute;z-index:1;left:7%;right:7%;bottom:42px;text-align:center;color:#fff}.card-label h3{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:42px;font-weight:300;line-height:1.1;margin-bottom:22px;text-transform:uppercase}.card-label .outline-button{font-size:9px;padding:11px 22px;min-height:43px}.portfolio-footer{display:flex;justify-content:space-between;align-items:end;margin:60px 8vw 0;gap:25px}.portfolio-footer p{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:25px;line-height:1.3;max-width:510px}.selected{padding:105px 7vw 110px;background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:47px}.section-heading h2{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:60px;line-height:1}.section-heading .eyebrow{margin-bottom:15px}.section-heading .text-link{white-space:nowrap}.film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.film-card .film-image{height:245px;position:relative;overflow:hidden}.film-card img{transition:transform .6s}.film-card:hover img{transform:scale(1.035)}.film-card .film-image:after{content:none;position:absolute;right:17px;bottom:17px;display:grid;place-items:center;width:43px;height:43px;border:1px solid #fffc;color:white;font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:21px;border-radius:50%;background:#25221e24}.film-card .film-caption{padding-top:20px;display:flex;justify-content:space-between;gap:15px}.film-caption h3{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:30px;line-height:1.1}.film-caption p{font-size:9px;letter-spacing:.12em;text-transform:uppercase;margin-top:7px;line-height:1.5}.film-number{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:25px;color:#8b8377}.story-section{position:relative;background:var(--stone);padding:105px 9vw 110px;text-align:center;overflow:hidden}.story-section .eyebrow{margin-bottom:23px}.story-section h2{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:clamp(52px,7vw,100px);font-weight:300;line-height:1;max-width:980px;margin:auto}.story-section h2 em{font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:1.2em;font-style:normal;font-weight:400}.story-section p{font-size:14px;max-width:550px;margin:28px auto 30px}.story-section .text-link{margin:auto}.email-link{font-size:11px;letter-spacing:.04em;border-bottom:1px solid #fff6;padding-bottom:3px;overflow-wrap:anywhere}.marquee{display:block;overflow:hidden;background:var(--stone);padding:20px 0;border-bottom:1px solid #bdb6a966;font-family:"trajan-pro-3","WS Fangzheng Yaoti",serif;font-size:30px;font-style:italic;white-space:nowrap}.marquee-inner{display:flex;width:max-content;gap:30px;animation:marquee 35s linear infinite}.marquee .sep{font-size:20px;font-style:normal;padding:0 15px}.marquee:hover .marquee-inner{animation-play-state:paused}.mobile-only{display:none}@keyframes gentle-zoom{from{transform:scale(1.07)}to{transform:scale(1)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(min-width:1700px){.intro,.approach{padding-left:max(10vw,calc((100vw - 1400px)/2));padding-right:max(10vw,calc((100vw - 1400px)/2))}}
@media(max-width:1050px){.desktop-nav{gap:21px;font-size:11px}.site-header{padding:0 24px}.nav-brand{font-size:26px}.intro{gap:6vw;padding:100px 7vw}.intro-photo{height:490px}.hero-title h1{font-size:12vw}.hero-title .profession{font-size:11px}.portfolio-card{height:440px}.portfolio-card:nth-child(2){height:510px}.card-label h3{font-size:34px}.film-card .film-image{height:210px}}
@media(max-width:760px){html{scroll-padding-top:63px}.site-header{height:64px;padding:0 21px}.desktop-nav{display:none}.nav-brand{font-size:27px}.menu-toggle{order:2}.menu-toggle .menu-label{display:none}.site-header{opacity:1;transform:none;background:rgba(247,246,242,.96)}.hero{min-height:720px;max-height:960px}.hero-top{top:111px;left:9%;right:9%;font-size:9px;letter-spacing:.24em;line-height:2}.hero-photos{grid-template-columns:1fr 1fr}.hero-photos img{object-position:69% center}.hero-photos figure:nth-child(2) img{object-position:53% center}.hero-title{left:4%;right:4%;top:43%;transform:translateY(-15%)}.hero-title h1{font-size:20vw;white-space:normal;line-height:.97}.hero-title h1 span{display:block}.hero-title .brand-pre{font-size:8px;letter-spacing:.23em;margin-bottom:26px}.hero-title .profession{text-align:center;padding:0;margin-top:32px;font-size:10px;letter-spacing:.26em}.hero-bottom{bottom:11%;left:9%;right:9%}.hero-bottom p{font-size:23px}.hero-bottom .eyebrow{font-size:8px;letter-spacing:.23em;line-height:2;margin-top:20px}.scroll-cue{bottom:31px}.intro{display:block;padding:72px 8vw 88px}.intro h2{font-size:43px}.intro .eyebrow{font-size:9px;letter-spacing:.22em;margin-bottom:29px}.intro p{font-size:13px}.intro-photo{height:465px;width:86%;margin:60px auto 0}.intro-photo figcaption{font-size:17px}.photo-interlude{min-height:550px;padding:65px 8vw;justify-content:center}.photo-interlude>img{object-position:66% center}.photo-interlude:after{background:#0004}.interlude-copy{width:100%;max-width:480px}.interlude-copy h2{font-size:38px}.interlude-copy .eyebrow{font-size:9px}.approach{display:flex;flex-direction:column-reverse;padding:75px 8vw;gap:55px}.approach-copy h2{font-size:46px}.approach-copy p{font-size:13px}.approach-images{width:100%;padding:0 32px 36px 0}.approach-images .main-image{height:390px}.approach-images .detail-image{height:210px;border-width:6px}.portfolio{padding:60px 0 62px}.portfolio-title{font-size:24vw;margin:20px 0 20px}.portfolio-grid{gap:13px;margin:0 5vw;grid-template-columns:1fr}.portfolio-card,.portfolio-card:nth-child(2){height:450px;margin:0}.portfolio-card:nth-child(1){height:390px}.portfolio-card:nth-child(3){height:390px}.card-label h3{font-size:42px}.portfolio-footer{display:block;margin:40px 8vw 0}.portfolio-footer p{font-size:25px;margin-bottom:28px}.portfolio>.eyebrow{font-size:9px}.selected{padding:70px 8vw}.section-heading{display:block;margin-bottom:34px}.section-heading h2{font-size:47px}.section-heading .text-link{margin-top:19px}.film-grid{grid-template-columns:1fr;gap:36px}.film-card .film-image{height:240px}.film-caption h3{font-size:29px}.story-section{padding:75px 8vw 80px}.story-section h2{font-size:51px}.story-section p{font-size:13px}.story-section .eyebrow{font-size:9px}.marquee{font-size:24px;padding:17px 0}.menu-dialog{padding:35px 8vw}.menu-dialog nav{font-size:47px;margin-top:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Mobile composition: show the couple across the full frame. */
@media(max-width:760px){
.hero-photos{grid-template-columns:1fr}
.hero-photos figure:nth-child(2){display:none}
.hero-photos img{object-position:84% center;animation:none}
.hero:after{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.08) 40%,rgba(0,0,0,.42) 72%,rgba(0,0,0,.58))}
.hero-title{top:62%;transform:translateY(-50%);text-shadow:0 1px 14px rgba(0,0,0,.12)}
.hero-title h1{font-size:18vw;line-height:1.02}
.hero-title .brand-pre{margin-bottom:18px}
.hero-title .profession{margin-top:18px;font-size:9px}
.hero-bottom{bottom:9%}
.hero-bottom p{font-size:21px}
.hero-bottom .eyebrow{margin-top:15px}
.scroll-cue{bottom:24px}
.menu-toggle{min-width:44px;min-height:44px;justify-content:flex-end}
}
@media(max-width:760px) and (max-height:760px){
.hero-title{top:57%}
.hero-bottom{bottom:10%}
}

/* Bound the mobile wordmark for narrow layouts and browser zoom. */
@media(max-width:760px){.hero-title h1{font-size:clamp(52px,18vw,84px)}}

/* Menu bar: no bottom divider on desktop or mobile. */
html body header.site-header,html body header#site-header{border-bottom:0!important;}
