/* The visual system keeps the work, its materials, and generous space in focus. */
@font-face{font-family:"Portfolio CJK Serif";src:url("/fonts/noto-serif-sc-subset.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Portfolio CJK Sans";src:url("/fonts/noto-sans-sc-subset.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#f6f4ef;--ink:#252a27;--muted:#676d64;--line:#d9dbd2;--jade:#3e5b4c;--wash:#e9ede6;--serif:"Portfolio CJK Serif",Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,"Songti SC",serif;--sans:"Portfolio CJK Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
body,p,h1,h2,h3,figure,dl,dd{margin:0}
h1,h2,h3{font-weight:400}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button{border:0;background:none}
img{display:block;max-width:100%;height:auto}
svg{width:24px;height:24px;flex-shrink:0}
::selection{background:#d6e0d3;color:var(--ink)}
:focus-visible{outline:2px solid var(--jade);outline-offset:6px}
[hidden]{display:none!important}
.wrap{max-width:1440px;margin-inline:auto;padding-inline:clamp(24px,5vw,76px)}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;line-height:1.6}
.serif,h1,h2,.skills-statement{font-family:var(--serif)}
:lang(zh-CN) h1,:lang(zh-CN) h2,:lang(zh-CN) .serif,:lang(zh-CN) .skills-statement{letter-spacing:.015em}
.skip-link{position:fixed;top:8px;left:16px;z-index:200;padding:10px 20px;background:var(--ink);color:white;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:30}
.wordmark{display:flex;align-items:center;gap:18px;font-size:21px;font-weight:500;letter-spacing:.12em;white-space:nowrap}
.wordmark-dot{color:var(--jade)}
.wordmark-cn{font-family:var(--serif);font-size:13px;letter-spacing:.2em;border-left:1px solid var(--line);padding-left:18px;font-weight:400}
.site-header nav{display:flex;align-items:center;gap:37px;font-size:12px}
.site-header nav>a{position:relative;display:flex;align-items:center;min-height:44px}
.site-header nav>a::after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--jade);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.site-header nav>a:hover::after,.site-header nav>a[aria-current]::after{transform:scaleX(1)}
.language-links{display:flex;align-items:center;gap:9px;margin-left:23px;font-size:10px}
.language-links a{color:var(--muted);padding-block:14px}
.language-links a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.language-links>span{color:#8b9086}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1.07fr;gap:6%;padding-top:22px;padding-bottom:120px;align-items:stretch}
.hero-copy{display:flex;flex-direction:column;padding-top:35px;position:relative;align-items:flex-start}
.hero-eyebrow{color:var(--jade);margin-bottom:38px}
.hero h1{font-size:clamp(76px,9.5vw,138px);letter-spacing:-.065em;line-height:1;white-space:nowrap}
.hero-name-cn{display:block;font-size:21px;font-weight:400;letter-spacing:.28em;line-height:1;margin-top:20px;padding-left:6px}
.hero-role{font-size:11px;letter-spacing:.06em;margin-top:29px;color:var(--muted)}
.hero-statement{margin-top:55px;max-width:335px}
.hero-statement .serif{font-size:clamp(29px,3.2vw,46px);line-height:1.1;letter-spacing:-.025em}
.hero-intro{font-size:12px;line-height:1.9;color:var(--muted);margin-top:21px;max-width:280px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:44px;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:4px;transition:color .2s,gap .2s}
.text-link:hover{color:var(--jade);gap:43px}
.text-link svg{width:18px;height:18px}
.hero .text-link{margin-top:35px;min-width:176px}
.hero-index{margin-top:auto;padding-top:40px;font-size:9px;letter-spacing:.08em;color:var(--muted)}
.hero-art>a{display:block;overflow:hidden;background:#4b3544}
.hero-art>a>img{width:100%;height:clamp(520px,47vw,690px);object-fit:cover;object-position:center 74%;transition:transform .8s ease}
.hero-art>a:hover>img{transform:scale(1.025)}
.hero-art figcaption{display:flex;justify-content:space-between;align-items:center;font-size:9px;margin-top:13px;gap:12px}
.hero-art figcaption>span:last-child{display:flex;align-items:center;gap:13px;color:var(--muted)}
.hero-art figcaption svg{width:13px;height:13px}
.selected-section{padding-top:50px;padding-bottom:118px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.section-heading .eyebrow{margin-bottom:19px;color:var(--jade)}
.section-heading h2{font-size:clamp(35px,4.6vw,64px);line-height:1.1;letter-spacing:-.035em}
.section-aside{font-size:12px;line-height:1.9;max-width:245px;color:var(--muted);padding-bottom:3px}
.archive-note{font-size:10px;color:var(--muted);letter-spacing:.025em;line-height:1.7}
.selected-section>.archive-note{padding-top:22px;border-top:1px solid var(--line);margin-top:32px}
.featured-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:100px;margin-top:55px;align-items:start}
.featured-card:nth-child(1){grid-column:1/8}
.featured-card:nth-child(2){grid-column:9/13;margin-top:130px}
.featured-card:nth-child(3){grid-column:2/6}
.featured-card:nth-child(4){grid-column:7/13;margin-top:140px}
.featured-card:nth-child(5){grid-column:1/7}
.featured-card:nth-child(6){grid-column:8/13;margin-top:110px}
.project-card-link{display:block}
.card-image{position:relative;overflow:hidden;background:#edece8;isolation:isolate}
.card-image>img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .65s ease}
.card-gentle>img{aspect-ratio:1/1.12;object-position:center 78%}
.card-infini>img{aspect-ratio:1.12/1;object-fit:contain;background:white}
.card-candy>img{aspect-ratio:1/1;object-fit:contain;background:white}
.card-studies>img{object-fit:contain;background:#eeece7}
.project-card-link:hover .card-image>img{transform:scale(1.025)}
.image-link-icon{position:absolute;right:16px;bottom:16px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--paper);opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
.image-link-icon svg{width:17px;height:17px}
.project-card-link:hover .image-link-icon,.project-card-link:focus-visible .image-link-icon{opacity:1;transform:none}
.card-caption{margin-top:17px}
.card-caption>div{display:flex;align-items:baseline;gap:13px}
.card-number{font-size:9px;color:var(--muted);font-variant-numeric:tabular-nums}
.card-caption h3{font-family:var(--serif);font-size:23px;line-height:1.2;letter-spacing:-.02em}
.card-caption>p{font-size:11px;color:var(--muted);margin-top:8px;margin-left:27px;line-height:1.7}
.all-work-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:35px;margin-top:80px;gap:24px}
.all-work-link .eyebrow{font-size:9px;color:var(--muted)}
.all-work-link .text-link{min-width:180px}
.method-section{background:var(--wash);padding-block:95px 85px}
.method-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:start}
.method-heading>.eyebrow{padding-top:10px;color:var(--jade)}
.method-heading h2{font-size:clamp(40px,5vw,69px);letter-spacing:-.04em;line-height:1.08;max-width:720px}
.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px;margin-top:78px}
.method-grid article{border-top:1px solid #bcc7b9;padding-top:21px}
.method-grid .eyebrow{color:var(--jade)}
.method-grid h3{font-family:var(--serif);font-size:24px;margin-top:26px;line-height:1.3}
.method-grid p{font-size:12px;line-height:1.85;color:#535f52;margin-top:15px;max-width:310px}
.about-teaser{padding-block:120px 130px;display:grid;grid-template-columns:1fr 2fr;gap:30px}
.about-teaser>.eyebrow{padding-top:10px;color:var(--jade)}
.about-teaser h2{font-size:clamp(35px,4.2vw,60px);letter-spacing:-.035em;line-height:1.15}
.about-teaser>div>p{margin-top:25px;font-size:13px;max-width:465px;color:var(--muted);line-height:1.9}
.about-teaser .text-link{margin-top:23px;min-width:160px}
.site-footer{background:var(--wash);padding-top:65px}
.footer-invitation{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:55px}
.footer-invitation .eyebrow{color:var(--jade);margin-bottom:17px}
.footer-invitation h2{font-size:clamp(38px,5.7vw,80px);letter-spacing:-.04em;line-height:1.15}
.circle-link{display:grid;place-items:center;border:1px solid #afb8aa;border-radius:50%;width:90px;height:90px;transition:background .25s,color .25s;flex-shrink:0}
.circle-link svg{width:31px;height:31px}
.circle-link:hover{background:var(--jade);color:var(--paper)}
.footer-bottom{border-top:1px solid #c7cfc1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:27px;font-size:10px;color:#586253}
.footer-chinese{font-family:var(--serif);margin-left:15px}
.footer-bottom>a:hover{text-decoration:underline;text-underline-offset:4px}
.page-heading{padding-top:75px;padding-bottom:60px}
.page-heading>.eyebrow{color:var(--jade);margin-bottom:25px}
.page-heading h1{font-size:clamp(56px,7.4vw,106px);line-height:1.02;letter-spacing:-.045em}
.heading-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:33px;gap:35px}
.heading-bottom>p:first-child{font-size:13px;color:var(--muted);line-height:1.85}
.heading-bottom>.archive-note{text-align:right}
.work-section{padding-bottom:115px}
.filter-bar{border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:9px;margin-bottom:45px}
.filter-bar>div{display:flex;gap:32px;flex-wrap:wrap}
.filter-bar button{min-height:44px;padding:0;color:var(--muted);font-size:12px}
.filter-bar button[aria-pressed="true"]{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.filter-bar sup{font-size:8px;margin-left:6px;text-decoration:none}
.filter-status{font-size:10px;color:var(--muted)}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 50px;align-items:start}
.work-grid .card-image>img{aspect-ratio:1/1.08}
.work-grid .card-image.card-infini>img,.work-grid .card-image.card-candy>img{object-fit:contain}
.work-grid .card-caption h3{font-size:26px}
.back-link{font-size:11px;color:var(--muted);display:inline-flex;min-height:44px;align-items:center;gap:12px}
.back-link:hover{color:var(--jade)}
.case-opening{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;padding-top:38px;padding-bottom:95px;align-items:start}
.case-intro{padding-top:5px}
.case-category{margin-top:38px;margin-bottom:24px;color:var(--jade)}
.case-intro h1{font-size:clamp(45px,5vw,70px);line-height:1.06;letter-spacing:-.04em;overflow-wrap:break-word}
.case-subtitle{font-family:var(--serif);font-size:22px;line-height:1.5;margin-top:27px;color:var(--muted)}
.case-meta{border-top:1px solid var(--line);padding-top:20px;margin-top:38px;max-width:350px}
.case-meta>div+div{margin-top:20px}
.case-meta dt{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.case-meta dd{font-size:12px;margin-top:7px;line-height:1.8}
.case-intro>.archive-note{margin-top:32px}
.zoom-figure{min-width:0}
.image-zoom{position:relative;display:block;padding:0;width:100%;overflow:hidden;background:#edece8}
.image-zoom>img{width:100%;height:auto;transition:transform .6s ease}
.image-zoom:hover>img{transform:scale(1.015)}
.zoom-plus{position:absolute;bottom:15px;right:15px;width:32px;height:32px;border-radius:50%;background:var(--paper);font-size:19px;line-height:32px;text-align:center;z-index:1;box-shadow:0 1px 8px #0000000c}
.case-hero-image .image-zoom{background:#eeeae4}
.case-hero-image img{max-height:730px;object-fit:contain}
.case-story{padding-block:40px 85px;display:grid;grid-template-columns:1fr 1.65fr;gap:10%}
.case-story .eyebrow{color:var(--jade);margin-bottom:22px}
.case-story h2{font-size:40px;letter-spacing:-.025em;line-height:1.15}
.case-narrative p{font-size:14px;color:var(--muted);line-height:1.95;max-width:680px}
.case-narrative p.lead{font-family:var(--serif);font-size:27px;line-height:1.6;color:var(--ink)}
.case-narrative p+p{margin-top:27px}
.case-gallery-section{padding-bottom:100px}
.gallery-heading{border-top:1px solid var(--line);padding-top:25px;margin-bottom:35px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.gallery-heading>.eyebrow{color:var(--jade)}
.gallery-heading>span{font-size:10px;color:var(--muted)}
.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:center}
.case-gallery .image-zoom{background:white}
.case-gallery .image-zoom>img{aspect-ratio:1/1.1;object-fit:contain;max-height:700px}
.case-gallery .landscape-figure{grid-column:1/-1}
.case-gallery .landscape-figure .image-zoom>img{aspect-ratio:auto;max-height:620px;object-fit:contain}
.next-project{border-top:1px solid var(--line);padding-block:60px 90px;display:grid;grid-template-columns:1fr 220px;gap:70px;align-items:center}
.next-project>.eyebrow,.next-project>div>.eyebrow{color:var(--jade);margin-bottom:22px}
.next-project>div>a{display:flex;align-items:center;gap:35px}
.next-project h2{font-size:clamp(35px,4vw,58px);line-height:1.15;letter-spacing:-.035em}
.next-project>div>a>svg{width:38px;height:38px}
.next-image{overflow:hidden}
.next-image>img{width:100%;height:220px;object-fit:cover;transition:transform .5s}
.next-image:hover>img{transform:scale(1.03)}
.studies-section{padding-bottom:100px}
.page-studies .page-heading>.back-link{margin-bottom:25px}
.about-opening{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;padding-top:90px;padding-bottom:110px}
.about-opening .eyebrow{color:var(--jade);margin-bottom:28px}
.about-opening h1{font-size:clamp(45px,5.5vw,78px);line-height:1.08;letter-spacing:-.04em}
.about-role{font-size:11px;color:var(--muted);margin-top:30px}
.about-body{padding-top:46px}
.about-body p{font-size:13px;line-height:1.95;color:var(--muted)}
.about-body p:first-child{font-family:var(--serif);color:var(--ink);font-size:22px;line-height:1.65}
.about-body p+p{margin-top:23px}
.about-body .text-link{margin-top:25px;min-width:145px}
.resume-section{padding-block:60px 80px;display:grid;grid-template-columns:1fr 2fr;gap:50px}
.resume-label>.eyebrow{color:var(--jade)}
.resume-label>.archive-note{margin-top:17px}
.experience-row{display:grid;grid-template-columns:150px 1fr;gap:30px;border-top:1px solid var(--line);padding-block:26px 32px}
.resume-date{font-size:10px;font-variant-numeric:tabular-nums;color:var(--muted);line-height:1.9}
.experience-row h2{font-size:25px;line-height:1.2}
.job-title{font-size:11px;margin-top:8px}
.job-description{font-size:12px;color:var(--muted);margin-top:14px;max-width:475px;line-height:1.9}
.credentials-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:85px}
.credentials-section>div>.eyebrow{padding-bottom:20px;border-bottom:1px solid var(--line);color:var(--jade)}
.credential{padding-top:29px}
.credential h2{font-size:25px;line-height:1.35;max-width:440px}
.credential>.resume-date{margin-bottom:8px}
.credential>p:last-child{font-size:12px;color:var(--muted);margin-top:8px}
.skills-section{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding-block:20px 110px}
.skills-section>.eyebrow{color:var(--jade);padding-top:10px}
.skills-statement{font-size:44px;line-height:1.15;letter-spacing:-.03em;margin-bottom:24px}
.skills-section>div>p:not(.skills-statement){font-size:12px;line-height:1.9;color:var(--muted);max-width:510px}
.skills-section .tools{margin-top:18px}
.contact-section{background:var(--wash);padding-block:90px 75px}
.contact-section .eyebrow{color:var(--jade);margin-bottom:24px}
.contact-section h2{font-size:clamp(44px,6.5vw,90px);letter-spacing:-.045em;line-height:1.03}
.contact-section .wrap>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:26px}
.contact-email{display:inline-flex;gap:60px;align-items:center;font-size:clamp(17px,2.2vw,30px);font-family:var(--serif);border-bottom:1px solid #8d9e86;margin-top:28px;padding-bottom:10px;max-width:100%;overflow-wrap:anywhere}
.contact-email svg{width:24px;height:24px}
.footer-compact{padding-top:0}
.footer-compact .footer-invitation{display:none}
#lightbox{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;padding:45px 50px 18px;border:0;background:#171b17f7;color:#f6f4ef;overflow:hidden}
#lightbox::backdrop{background:#171b17}
#lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}
#lightbox figure{width:100%;height:calc(100% - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}
#lightbox figure>img{width:auto;height:auto;max-width:100%;max-height:calc(100% - 45px);object-fit:contain;flex-shrink:1;min-height:0}
#lightbox figcaption{font-size:11px;line-height:1.5;color:#d9ded4;padding-top:18px;text-align:center;max-width:90%}
.lightbox-close{position:absolute;right:20px;top:10px;color:var(--paper);width:44px;height:44px;font-size:34px;line-height:1}
.lightbox-controls{display:flex;align-items:center;gap:24px;height:55px;font-size:11px}
.lightbox-controls button{width:44px;height:44px;border:1px solid #5f6a5a;border-radius:50%;color:var(--paper);font-size:20px}
.lightbox-controls button:disabled{opacity:.3;cursor:default}
#lightbox :focus-visible{outline-color:#e0ead9}
[data-reveal]{transition:opacity .7s ease,transform .7s ease}
.is-reveal-pending{opacity:.45;transform:translateY(14px)}
.is-revealed{opacity:1;transform:none}
@media(min-width:1600px){.hero{padding-top:32px}.hero-art>a>img{height:710px}}
@media(max-width:1100px) and (min-width:801px){.hero-copy{padding-top:18px}.hero h1{font-size:100px}.hero-statement{margin-top:38px}.hero-eyebrow{margin-bottom:31px}.hero-art>a>img{height:605px}.hero-index{padding-top:25px}.hero-intro{font-size:11px}.hero-art figcaption>span:last-child{font-size:8px}.method-grid{gap:30px}.case-opening{gap:6%}.case-intro h1{font-size:53px}.case-meta{margin-top:28px}.experience-row{grid-template-columns:120px 1fr;gap:20px}}
@media(max-width:800px){
  .site-header{height:84px}.wordmark{font-size:19px;gap:12px}.wordmark-cn{font-size:12px;padding-left:13px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:10px;margin-right:-10px;z-index:32}
  .menu-toggle>span{display:block;width:23px;height:1px;background:var(--ink);transition:transform .25s}
  html[data-menu-open] .menu-toggle>span:first-child{transform:translateY(3.5px) rotate(45deg)}
  html[data-menu-open] .menu-toggle>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-header nav{display:none;position:absolute;top:84px;left:0;right:0;padding:25px 24px 45px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 30px 35px #252a2710;gap:12px;font-size:22px}
  html[data-menu-open] .site-header nav{display:flex;flex-direction:column;align-items:stretch}
  .site-header nav>a{padding-block:7px;width:max-content}.language-links{margin-left:0;margin-top:12px;font-size:12px;gap:14px}
  .hero{grid-template-columns:1fr;gap:37px;padding-top:27px;padding-bottom:60px}.hero-copy{padding-top:0}.hero-eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(80px,17vw,122px)}.hero-name-cn{display:inline-block;font-size:16px;letter-spacing:.19em;margin-left:24px;padding:0;vertical-align:middle;margin-top:0}.hero-role{margin-top:21px;font-size:10px}.hero-statement{display:grid;grid-template-columns:1fr 1.2fr;gap:25px;align-items:center;max-width:none;width:100%;margin-top:30px}.hero-statement .serif{font-size:33px;line-height:1.1}.hero-intro{margin-top:0;font-size:11px;max-width:260px}.hero .text-link{margin-top:26px;min-width:180px}.hero-index{display:none}.hero-art>a>img{height:auto;max-height:none;aspect-ratio:1/1.1;object-position:center 79%}.hero-art figcaption{font-size:9px}.hero-art figcaption>span:last-child{font-size:8px;gap:7px}
  .selected-section{padding-top:36px;padding-bottom:65px}.section-heading{display:block}.section-heading h2{font-size:43px;max-width:450px}.section-heading .eyebrow{margin-bottom:15px}.section-aside{margin-top:20px;max-width:300px;font-size:12px}.selected-section>.archive-note{margin-top:25px;padding-top:19px}.featured-grid{gap:40px 22px;margin-top:34px;grid-template-columns:repeat(2,minmax(0,1fr))}.featured-card:nth-child(n){grid-column:auto;margin-top:0}.featured-card:nth-child(2n){margin-top:60px}.card-caption h3{font-size:22px}.card-caption>div{gap:8px}.card-caption>p{margin-left:21px;font-size:10px}.card-number{font-size:8px}.featured-grid .card-image>img{aspect-ratio:3/4}.featured-grid .card-image.card-infini>img{object-fit:contain}.all-work-link{margin-top:50px;padding-top:25px;align-items:flex-start}.all-work-link .eyebrow{font-size:8px;max-width:140px;text-align:right}.all-work-link .text-link{min-width:150px;font-size:11px}
  .method-section{padding-block:60px}.method-heading{grid-template-columns:1fr;gap:20px}.method-heading h2{font-size:48px}.method-heading>.eyebrow{padding-top:0}.method-grid{gap:25px;margin-top:45px}.method-grid h3{font-size:22px;margin-top:20px}.method-grid p{font-size:11px;line-height:1.85}.about-teaser{padding-block:70px;grid-template-columns:1fr;gap:24px}.about-teaser h2{font-size:43px}.about-teaser>div>p{font-size:12px;margin-top:22px}.about-teaser>.eyebrow{padding-top:0}
  .site-footer{padding-top:45px}.footer-invitation{gap:20px;padding-bottom:35px}.footer-invitation h2{font-size:45px}.circle-link{width:62px;height:62px}.circle-link svg{width:25px;height:25px}.footer-bottom{font-size:9px;flex-wrap:wrap;gap:15px;padding-block:22px}.footer-bottom .back-top{margin-left:auto}.footer-chinese{margin-left:10px}.footer-compact{padding-top:0}
  .page-heading{padding-top:43px;padding-bottom:38px}.page-heading h1{font-size:65px}.page-heading>.eyebrow{margin-bottom:23px}.heading-bottom{display:block;margin-top:27px}.heading-bottom>p:first-child{font-size:12px}.heading-bottom>.archive-note{text-align:left;margin-top:20px}.filter-bar{margin-bottom:30px;display:block;padding-block:8px}.filter-bar>div{gap:25px}.filter-status{display:none}.work-grid{gap:40px 25px}.work-grid .card-caption h3{font-size:22px}.work-section{padding-bottom:65px}
  .case-opening{padding-top:22px;padding-bottom:50px;gap:35px;grid-template-columns:1fr}.case-intro h1{font-size:58px;max-width:600px}.case-category{margin-top:20px;margin-bottom:18px}.case-subtitle{font-size:21px;margin-top:18px}.case-meta{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:none;margin-top:26px;padding-top:18px}.case-meta>div+div{margin-top:0}.case-intro>.archive-note{margin-top:20px}.case-hero-image img{max-height:760px}.case-story{grid-template-columns:1fr;gap:25px;padding-block:16px 50px}.case-story h2{font-size:36px}.case-story h2 br{display:none}.case-story .eyebrow{margin-bottom:14px}.case-narrative p.lead{font-size:24px}.case-narrative p{font-size:13px}.case-gallery-section{padding-bottom:60px}.gallery-heading{padding-top:20px;align-items:flex-start}.gallery-heading>span{font-size:9px;text-align:right;max-width:130px}.case-gallery{gap:18px}.case-gallery .image-zoom>img{aspect-ratio:1/1.1}.zoom-plus{width:27px;height:27px;line-height:27px;font-size:17px;bottom:10px;right:10px}.next-project{padding-block:40px 55px;grid-template-columns:1fr 140px;gap:25px}.next-project h2{font-size:35px}.next-image>img{height:170px}.next-project>div>a>svg{width:25px;height:25px}.next-project>div>a{gap:15px}.next-project>div>.eyebrow{font-size:9px}.studies-section{padding-bottom:60px}
  .about-opening{padding-top:45px;padding-bottom:55px;grid-template-columns:1fr;gap:32px}.about-opening h1{font-size:61px}.about-role{margin-top:22px}.about-body{padding-top:0;max-width:620px}.about-body p{font-size:13px}.about-body p:first-child{font-size:23px}.resume-section{padding-block:25px 45px;grid-template-columns:1fr;gap:27px}.resume-label>.archive-note br{display:none}.resume-label>.archive-note{margin-top:7px}.experience-row{grid-template-columns:120px 1fr;gap:20px;padding-block:24px 28px}.experience-row h2{font-size:23px}.job-description{font-size:12px}.credentials-section{gap:40px;padding-bottom:50px}.credential h2{font-size:23px}.skills-section{grid-template-columns:1fr;gap:22px;padding-block:20px 65px}.skills-statement{font-size:39px}.contact-section{padding-block:60px 48px}.contact-section h2{font-size:61px}.contact-section .wrap>p:not(.eyebrow){font-size:12px;line-height:1.8}.contact-email{font-size:26px;gap:30px}.footer-compact .footer-bottom{margin-top:0}
}
@media(max-width:500px){
  .wrap{padding-inline:23px}.hero-name-cn{font-size:13px;margin-left:17px}.hero h1{font-size:83px}.hero-statement{grid-template-columns:1fr 1.1fr;gap:20px}.hero-statement .serif{font-size:30px}.hero-intro{font-size:10px;line-height:1.85}.hero-art figcaption>span:last-child{max-width:180px;font-size:7.5px}.hero-role{font-size:10px}.section-heading h2{font-size:39px}.section-aside{font-size:11px}.featured-grid{display:block}.featured-card:nth-child(n){margin-top:40px}.featured-card:first-child{margin-top:0}.featured-card:nth-child(even){width:82%;margin-left:auto}.featured-card:nth-child(3){width:87%}.featured-card:nth-child(5){width:94%}.featured-grid .card-image>img{aspect-ratio:4/5}.card-caption h3{font-size:24px}.card-caption>p{font-size:11px}.all-work-link .eyebrow{max-width:118px}.method-heading h2{font-size:42px}.method-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.method-grid article{display:grid;grid-template-columns:32px 1fr;column-gap:10px;padding-top:20px}.method-grid article>.eyebrow{grid-row:1/3;padding-top:4px}.method-grid h3{margin-top:0;font-size:25px}.method-grid p{margin-top:11px;font-size:12px;max-width:none}.about-teaser h2{font-size:38px}.footer-invitation h2{font-size:35px}.footer-invitation .eyebrow{font-size:8px}.circle-link{width:52px;height:52px}.footer-bottom{column-gap:12px;row-gap:17px}.footer-bottom>p{width:calc(100% - 100px)}.footer-bottom>a:not(.back-top){order:3;width:100%;margin-top:-3px}.footer-bottom .back-top{margin-left:auto}.page-heading h1{font-size:53px}.work-grid{grid-template-columns:1fr;gap:38px}.work-grid .card-image>img{aspect-ratio:1/1.07}.work-grid .card-caption h3{font-size:25px}.filter-bar>div{gap:25px}.filter-bar button{font-size:11px}.case-intro h1{font-size:50px}.case-story h2{font-size:34px}.case-narrative p.lead{font-size:24px}.case-meta{grid-template-columns:1fr}.case-meta>div+div{margin-top:0}.case-gallery{grid-template-columns:1fr;gap:20px}.case-gallery .landscape-figure{grid-column:auto}.case-gallery .image-zoom>img{max-height:none;aspect-ratio:auto}.gallery-heading{gap:15px}.gallery-heading>.eyebrow{font-size:9px}.gallery-heading>span{font-size:8px}.next-project{grid-template-columns:1fr 100px;gap:20px}.next-image>img{height:130px}.next-project h2{font-size:28px}.next-project>div>a>svg{width:22px;height:22px}.about-opening h1{font-size:49px}.about-body p:first-child{font-size:23px}.experience-row{grid-template-columns:1fr;gap:8px}.experience-row h2{font-size:26px}.credentials-section{grid-template-columns:1fr;gap:40px}.credential h2{font-size:25px}.skills-statement{font-size:35px}.contact-section h2{font-size:48px}.contact-email{font-size:24px;gap:24px}.contact-email svg{width:20px;height:20px}#lightbox{padding:55px 16px 12px}.lightbox-close{right:9px;top:8px}#lightbox figcaption{font-size:10px;max-width:95%}:lang(zh-CN) .hero h1{letter-spacing:-.065em}:lang(zh-CN) .section-heading h2{font-size:36px}:lang(zh-CN) .hero-name-cn{font-size:13px}}
/* The homepage follows education, highlights, and an experience-led visual archive. */
.hero-credentials{margin-top:33px;border-top:1px solid var(--line);padding-top:25px;width:min(100%,360px)}
.hero-school+.hero-school{margin-top:18px}
.hero-school p{font-size:13px;line-height:1.55}
.hero-school span{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.hero-email{display:inline-flex;gap:25px;align-items:center;min-height:44px;font-size:12px;margin-top:15px;color:var(--jade)}
.hero-email svg{width:15px;height:15px}
.hero-email:hover{text-decoration:underline;text-underline-offset:5px}
.hero-copy>.hero-intro{margin-top:24px;max-width:325px}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:auto;padding-top:22px}
.hero-actions .text-link{margin-top:0;min-width:130px}
.hero-experience-link{font-size:10px;color:var(--muted);min-height:44px;display:flex;align-items:center}
.compact-featured{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.compact-featured .featured-card:nth-child(n){grid-column:auto;margin-top:0;width:100%}
.compact-featured .featured-card:nth-child(2){margin-top:65px}
.compact-featured .card-image>img{aspect-ratio:4/5;object-position:center 65%}
.compact-featured .card-caption h3{font-size:25px}
.career-section{padding-top:20px;padding-bottom:100px}
.career-archive{margin-top:25px;padding-bottom:36px}
.career-entry{padding-block:40px 55px;border-top:1px solid var(--line)}
.career-entry-heading{display:grid;grid-template-columns:170px 1fr 1fr;gap:35px;align-items:start}
.career-entry-heading>.resume-date{padding-top:6px;letter-spacing:.025em}
.career-entry-heading h3{font-family:var(--serif);font-size:44px;line-height:1.15;letter-spacing:-.025em}
.career-role{font-size:11px;color:var(--muted);margin-top:12px}
.career-summary{font-size:12px;line-height:1.9;color:var(--muted);max-width:400px;padding-top:4px}
.text-only{padding-bottom:39px}
.text-only .career-entry-heading h3{font-size:33px}
.career-carousel{margin-top:28px;min-width:0}
.carousel-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:15px}
.carousel-hint{font-size:10px;color:var(--muted);letter-spacing:.02em}
.carousel-hint>span{margin-left:10px}
.carousel-controls{display:flex;align-items:center;gap:8px}
.carousel-controls>span{font-size:10px;min-width:64px;color:var(--muted);font-variant-numeric:tabular-nums}
.carousel-controls button{border:1px solid #bfc7b9;width:37px;height:37px;border-radius:50%;font-size:18px;line-height:1;transition:background .2s,color .2s}
.carousel-controls button:hover:not(:disabled){background:var(--jade);border-color:var(--jade);color:var(--paper)}
.carousel-controls button:disabled{opacity:.35;cursor:default}
.career-track{display:grid;grid-auto-flow:column;grid-auto-columns:92%;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#aeb9a7 transparent;padding-bottom:16px}
.career-slide{scroll-snap-align:start;scroll-snap-stop:always;min-width:0}
.career-slide>a{display:block}
.career-frame{position:relative;aspect-ratio:1.55/1;background:#ebe8e2;overflow:hidden}
.career-frame img{width:100%;height:100%;object-fit:cover;object-position:center 63%;transition:transform .6s}
.career-slide>a:hover .career-frame img{transform:scale(1.018)}
.frame-gentle img{object-position:center 72%}
.frame-moon img{object-position:center 65%}
.frame-nude img{object-position:center 43%}
.frame-love img{object-position:center 43%}
.frame-gunrose img{object-position:center 45%}
.frame-infini img,.career-frame.is-detail img{object-fit:contain;background:white}
.career-open{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;gap:25px;background:var(--paper);font-size:10px;padding:11px 15px}
.career-open svg{width:15px;height:15px}
.career-slide-caption{display:flex;justify-content:space-between;gap:30px;align-items:baseline;margin-top:14px}
.career-slide-caption>div{display:flex;align-items:baseline;gap:12px}
.career-slide-caption h4{font-family:var(--serif);font-size:24px;line-height:1.25;font-weight:400;margin:0;letter-spacing:-.02em}
.career-slide-caption>p{font-size:10px;color:var(--muted);text-align:right;max-width:44%}
.graduation-section{padding-top:50px;border-top:1px solid var(--line);margin-top:15px}
.graduation-section .career-entry-heading>.eyebrow{color:var(--jade);padding-top:8px}
.career-section>.all-work-link{margin-top:55px}
@media(max-width:1100px) and (min-width:801px){.hero-credentials{margin-top:25px;padding-top:20px}.hero-school+.hero-school{margin-top:14px}.hero-copy>.hero-intro{margin-top:15px}.hero-actions{gap:20px;padding-top:20px}.hero-actions .text-link{min-width:125px}.career-entry-heading{grid-template-columns:130px 1fr 1fr;gap:25px}.career-entry-heading h3{font-size:39px}}
@media(max-width:800px){.hero-credentials{width:100%;margin-top:25px;padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px 25px}.hero-school+.hero-school{margin-top:0}.hero-school p{font-size:12px}.hero-email{grid-column:1/-1;margin-top:0;font-size:12px;min-height:35px}.hero-copy>.hero-intro{font-size:11px;max-width:440px;margin-top:15px}.hero-actions{margin-top:5px;padding-top:12px;gap:32px}.hero-actions .text-link{margin-top:0;min-width:143px}.hero-experience-link{font-size:10px}.compact-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.compact-featured .featured-card:nth-child(n){width:100%;margin-top:0;margin-left:0}.compact-featured .featured-card:nth-child(2){margin-top:40px}.compact-featured .card-caption h3{font-size:21px}.compact-featured .card-caption>div{gap:7px}.compact-featured .card-caption>p{font-size:10px;margin-left:0}.career-section{padding-top:10px;padding-bottom:65px}.career-entry{padding-block:30px 38px}.career-entry-heading{grid-template-columns:115px 1fr;gap:15px 25px}.career-entry-heading h3{font-size:37px}.career-summary{grid-column:2;max-width:100%;font-size:11px;padding-top:0}.career-role{font-size:11px;margin-top:8px}.text-only .career-entry-heading h3{font-size:29px}.career-archive{font-size:9px;margin-top:20px;padding-bottom:26px}.carousel-toolbar{margin-bottom:13px}.carousel-hint{font-size:9px;max-width:190px}.carousel-controls>span{font-size:9px;min-width:53px}.carousel-controls button{width:35px;height:35px}.career-track{grid-auto-columns:92%;gap:16px}.career-frame{aspect-ratio:1.2/1}.career-slide-caption{gap:16px}.career-slide-caption h4{font-size:22px}.career-slide-caption>p{font-size:9px}.career-open{bottom:13px;right:13px;font-size:9px;gap:18px;padding:9px 12px}.graduation-section{padding-top:35px;margin-top:0}.career-section>.all-work-link{margin-top:38px}.career-section>.all-work-link .text-link{font-size:10px;min-width:130px;gap:18px}}
@media(max-width:500px){.hero-credentials{grid-template-columns:1fr;gap:15px}.hero-school p{font-size:12px}.hero-school span{font-size:10px}.hero-email{margin-top:0;min-height:32px}.hero-copy>.hero-intro{font-size:11px;max-width:290px;margin-top:17px}.hero-actions{padding-top:10px}.hero-actions .text-link{font-size:11px;min-width:140px}.compact-featured{display:block}.compact-featured .featured-card:nth-child(n){margin-top:34px;width:100%;margin-left:0}.compact-featured .featured-card:first-child{margin-top:0}.compact-featured .featured-card:nth-child(2){width:83%;margin-left:auto}.compact-featured .featured-card:nth-child(3){width:92%}.compact-featured .card-caption h3{font-size:25px}.compact-featured .card-caption>p{margin-left:22px;font-size:11px}.career-entry-heading{grid-template-columns:1fr;gap:10px}.career-entry-heading>.resume-date{padding-top:0}.career-entry-heading h3{font-size:39px}.career-summary{grid-column:auto;font-size:12px;line-height:1.85}.career-role{font-size:11px;margin-top:7px}.text-only .career-entry-heading h3{font-size:30px}.career-carousel{margin-top:21px}.carousel-hint{max-width:145px;font-size:8px}.carousel-hint>span{margin-left:3px}.carousel-controls{gap:5px}.carousel-controls>span{font-size:9px;min-width:50px}.carousel-controls button{width:34px;height:34px}.career-track{grid-auto-columns:91%;gap:14px;padding-bottom:12px}.career-frame{aspect-ratio:4/5}.career-frame img{object-position:center}.career-slide-caption{display:block;margin-top:13px}.career-slide-caption h4{font-size:24px}.career-slide-caption>p{text-align:left;max-width:100%;margin-top:8px;margin-left:25px;font-size:10px}.career-open{bottom:10px;right:10px;font-size:9px;padding:9px 11px;gap:15px}.career-section>.all-work-link{flex-wrap:wrap;gap:18px}.career-section .section-heading h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.is-reveal-pending{opacity:1;transform:none}.career-track{scroll-behavior:auto}}

/* Preserve each original composition. Frames may have space; jewelry is never cropped. */
.career-track{grid-auto-columns:100%}
.hero-art>a{background:transparent}
.hero-art>a>img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
.card-image{background:transparent}
.card-image>img,.work-grid .card-image>img,.featured-grid .card-image>img,.compact-featured .card-image>img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.project-card-link:hover .card-image>img,.hero-art>a:hover>img,.image-zoom:hover>img,.career-slide>a:hover .career-frame img,.next-image:hover>img{transform:none}
.case-gallery{align-items:start}
.case-gallery .image-zoom>img,.case-gallery .landscape-figure .image-zoom>img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
.case-hero-image img{max-height:none;height:auto;object-fit:contain}
.next-image>img{height:auto;max-height:260px;aspect-ratio:auto;object-fit:contain;object-position:center}
.career-frame{aspect-ratio:auto;height:clamp(440px,52vw,700px);background:#eeece7}
.career-frame img,.frame-gentle img,.frame-moon img,.frame-nude img,.frame-love img,.frame-gunrose img,.frame-infini img,.career-frame.is-detail img{width:100%;height:100%;object-fit:contain;object-position:center;background:transparent}
@media(max-width:800px){.career-frame{height:550px}.hero-art>a>img{height:auto;aspect-ratio:auto}.next-image>img{height:auto;max-height:190px}}
@media(max-width:500px){.career-frame{height:420px}.hero-art>a>img{height:auto;aspect-ratio:auto}.next-image>img{height:auto;max-height:150px}}

/* Keep photographic collections and white product studies in distinct visual groups. */
.studies-index{margin-top:90px;padding-top:35px;border-top:1px solid var(--line)}
.studies-index>.gallery-heading{border:0;padding-top:0}
.studies-index-card{max-width:520px}
.tone-products{background:#fff;padding-top:45px;padding-bottom:55px;margin-bottom:80px}
.tone-products .gallery-heading{border-top:0;padding-top:0}
.tone-products .case-gallery{gap:40px}
.tone-studies{padding-top:30px}
.case-gallery-section+.case-gallery-section{margin-top:35px}
.case-intro h1.long-title{font-size:clamp(34px,3.9vw,56px);line-height:1.3;letter-spacing:0}

/* Chinese titles, paragraphs, and captions share the same left-hand baseline. */
html[lang="zh-CN"] h1,html[lang="zh-CN"] h2,html[lang="zh-CN"] h3,html[lang="zh-CN"] h4,html[lang="zh-CN"] p,html[lang="zh-CN"] dd{text-align:left;text-indent:0}
html[lang="zh-CN"] .hero-name-cn{display:block;padding-left:0;margin-left:0;margin-top:16px}
html[lang="zh-CN"] .hero-art figcaption{display:block;text-align:left}
html[lang="zh-CN"] .hero-art figcaption>span{display:block}
html[lang="zh-CN"] .hero-art figcaption>span:last-child{display:flex;margin-top:6px;max-width:none}
html[lang="zh-CN"] .heading-bottom{display:block}
html[lang="zh-CN"] .heading-bottom>.archive-note{margin-top:17px;text-align:left}
html[lang="zh-CN"] .card-caption>div,html[lang="zh-CN"] .career-slide-caption>div{display:block}
html[lang="zh-CN"] .card-caption .card-number,html[lang="zh-CN"] .career-slide-caption .card-number{display:block;margin-bottom:8px}
html[lang="zh-CN"] .card-caption>p{margin-left:0}
html[lang="zh-CN"] .career-slide-caption{display:block}
html[lang="zh-CN"] .career-slide-caption>p{max-width:none;text-align:left;margin-left:0;margin-top:8px}
html[lang="zh-CN"] .section-aside,html[lang="zh-CN"] .gallery-heading>span{text-align:left}
@media(max-width:800px){.studies-index{margin-top:55px}.tone-products{padding-top:30px;padding-bottom:35px;margin-bottom:45px}.tone-products .case-gallery{gap:22px}.case-intro h1.long-title{font-size:clamp(33px,6.5vw,51px)}}
@media(max-width:500px){html[lang="zh-CN"] .hero-name-cn{font-size:15px;margin-top:14px}.case-intro h1.long-title{font-size:clamp(29px,8vw,36px)}.studies-index{margin-top:45px}}

/* One consistent cover grid replaces the previous staggered card arrangements. */
.compact-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}
.compact-featured .featured-card:nth-child(n){width:100%;margin:0;grid-column:auto}
.work-grid{align-items:start;row-gap:65px}
.card-image{width:100%;aspect-ratio:4/5;display:grid;place-items:center;background:var(--image-backdrop,#eceae5)}
.card-image>img,.work-grid .card-image>img,.featured-grid .card-image>img,.compact-featured .card-image>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;background:transparent}
.card-gentle,.frame-gentle{--image-backdrop:#503542}
.card-moon,.frame-moon{--image-backdrop:#eadfb7}
.card-behold,.frame-behold{--image-backdrop:#e2ddd5}
.card-infini,.frame-infini{--image-backdrop:#5b6065}
.card-nude,.frame-nude{--image-backdrop:#e8e5ea}
.card-love,.frame-love{--image-backdrop:#a21960}
.card-gunrose,.frame-gunrose{--image-backdrop:#c7cfd7}
.card-candy,.frame-candy{--image-backdrop:#e4e2e8}
.card-studies{--image-backdrop:#e6e3de}
.project-card .card-caption>div{display:block}
.project-card .card-number{display:block;line-height:16px;margin-bottom:8px}
.project-card .card-caption h3{min-height:2.6em;line-height:1.3;margin:0}
.project-card .card-caption>p{margin-left:0;min-height:1.8em;line-height:1.8}
.career-frame{display:grid;place-items:center;aspect-ratio:3/2;width:100%;height:auto;max-height:none;background:var(--image-backdrop,#eeece7)}
.career-frame img{width:100%;height:100%;min-height:0;object-fit:contain}

/* The approved LOVE crop removes only the lower dress; original files stay intact. */
.card-image>img.crop-love-image,.work-grid .card-image>img.crop-love-image,.compact-featured .card-image>img.crop-love-image{object-fit:cover;object-position:center top}
.case-love .case-hero-image .image-zoom{aspect-ratio:3/4}
.case-love .case-hero-image img.crop-love-image{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top}
.career-frame>img.crop-love-image{width:auto;max-width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top}
.next-image>img.crop-love-image{aspect-ratio:4/5;object-fit:cover;object-position:center top}
@media(max-width:1000px){.compact-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 25px}}
@media(max-width:600px){.compact-featured,.work-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}.compact-featured .featured-card:nth-child(n){width:100%;margin:0}.career-frame{height:auto;aspect-ratio:4/5}.project-card .card-caption h3{min-height:2.6em}}
#lightbox [data-lightbox-image]{background:#fff}

/* Product categories and background tones stay separate in each archive. */
.career-affiliation{font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}
.experience-opening .career-affiliation{margin-top:13px}
.white-cover-group{margin-top:65px;padding-top:30px;border-top:1px solid var(--line)}
.white-cover-group>.gallery-heading{border-top:0;padding-top:0;margin-bottom:30px}
.white-cover-group .eyebrow{font-family:var(--sans);color:var(--jade)}
.card-dreame-phone-cmf,.card-dreame-leather-cmf{--image-backdrop:#fff}
.card-dreame-geometric-phone{--image-backdrop:#4c4d52}
.card-dreame-starburst-phone{--image-backdrop:#182b46}
.card-dreame-jewelry-earhooks{--image-backdrop:#789c95}
.card-dreame-black-jewelry-earhooks{--image-backdrop:#c2b6b0}
.card-coach{--image-backdrop:#d9c3b7}
.case-coach .case-intro h1,.page-work .case-opening[class*="case-dreame"] .case-intro h1{font-size:clamp(36px,4.4vw,64px);line-height:1.2;overflow-wrap:anywhere}
.tone-cmf{background:#fff;padding-block:35px 55px}
.filter-bar>div{flex-wrap:wrap;row-gap:12px}
.study-group-title{margin-bottom:25px;color:var(--jade);font-family:var(--sans)}
.awarded-studies{padding-block:20px 85px}
.awarded-studies>.eyebrow{color:var(--jade);max-width:700px}
.awarded-studies>h2{font-size:clamp(35px,5vw,65px);line-height:1.2;margin-top:18px}
.award-description{max-width:620px;margin-top:20px;margin-bottom:35px;font-size:13px;line-height:1.9;color:var(--muted)}
.awarded-gallery>.case-gallery,.ttf-white-gallery{grid-template-columns:minmax(0,1fr);max-width:600px}
.ttf-white-render{background:#fff;margin-top:45px;padding:30px;max-width:660px}
.ttf-white-render>h3{font-family:var(--sans);color:var(--jade);margin-bottom:22px}
@media(max-width:800px){.white-cover-group{margin-top:45px}.awarded-studies{padding-bottom:55px}.filter-bar>div{gap:12px 24px}.ttf-white-render{padding:20px}.career-index .career-affiliation{font-size:10px}}
@media(max-width:500px){.page-work .case-opening[class*="case-dreame"] .case-intro h1,.case-coach .case-intro h1{font-size:36px}.filter-bar>div{gap:10px 22px}.filter-bar button{font-size:11px}.ttf-white-render{padding:16px}.award-description{font-size:12px}}

/* Shanlingsheng preserves the distinct campaign, still-life, product, and packaging groups. */
.card-shanlingsheng{--image-backdrop:#e2eff0}
.case-shanlingsheng .case-intro h1{font-size:clamp(39px,4.5vw,66px);line-height:1.2;overflow-wrap:anywhere}
.collection-notes{padding-bottom:70px}
.collection-notes>.eyebrow{color:var(--jade);font-family:var(--sans);margin-bottom:28px}
.collection-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 60px}
.collection-notes-grid>article{border-top:1px solid var(--line);padding-top:24px}
.collection-notes-grid h3{font-family:var(--serif);font-size:27px;line-height:1.4}
.collection-notes-grid p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:12px;max-width:490px}
.collection-notes-grid .collection-note-native{font-size:12px;color:var(--jade);margin-top:7px}
.case-shanlingsheng~.tone-products .products-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.tone-packaging .packaging-gallery{max-width:620px;grid-template-columns:minmax(0,1fr)}
@media(max-width:800px){.collection-notes{padding-bottom:45px}.collection-notes-grid{gap:30px}.collection-notes-grid h3{font-size:25px}.case-shanlingsheng~.tone-products .products-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.case-shanlingsheng .case-intro h1{font-size:38px}.collection-notes-grid{grid-template-columns:minmax(0,1fr);gap:25px}.collection-notes-grid>article{padding-top:20px}.collection-notes-grid h3{font-size:24px}.collection-notes-grid p{font-size:12px}.case-shanlingsheng~.tone-products .products-gallery{grid-template-columns:minmax(0,1fr)}}

/* A biography-led homepage uses experience rows as doors into the work. */
.home-profile{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:9%;padding-top:65px;padding-bottom:100px;align-items:start}
.profile-identity>.eyebrow,.profile-introduction>.eyebrow{color:var(--jade)}
.profile-identity>.eyebrow{margin-bottom:30px}
.profile-identity h1{font-size:clamp(72px,9vw,125px);line-height:1;letter-spacing:-.055em;white-space:nowrap}
.profile-identity .hero-name-cn{display:block;font-size:21px;letter-spacing:.2em;margin:20px 0 0;padding:0}
.profile-identity .hero-role{font-size:12px;margin-top:28px}
.profile-identity .hero-credentials{width:100%;max-width:365px;margin-top:28px;padding-top:24px}
.profile-introduction{padding-top:7px}
.profile-introduction>.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.12em}
.profile-introduction .about-body{padding-top:25px}
.profile-introduction .about-body p{font-size:13px;line-height:1.95}
.profile-introduction .about-body p:first-child{font-size:23px;line-height:1.7}
.profile-actions{display:flex;gap:32px;flex-wrap:wrap;margin-top:28px}
.profile-actions .text-link{min-width:0;font-size:11px;gap:20px}
.career-index{padding-top:35px;padding-bottom:90px}
.career-index .section-heading h2{font-size:clamp(34px,4.4vw,60px)}
.career-index .career-archive{padding-bottom:25px}
.career-index .career-entry{padding:0}
.career-entry-link,.graduation-link{display:grid;grid-template-columns:160px minmax(0,1fr) 145px;gap:30px;align-items:center;padding-block:27px;min-height:112px}
.career-index .career-entry h3{font-family:var(--serif);font-size:34px;line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}
.career-index .career-role{font-size:11px;margin-top:6px}
.career-index-action{display:flex;justify-content:flex-end;align-items:center;gap:20px;font-size:11px;white-space:nowrap;color:var(--jade)}
.career-index-action svg{width:21px;height:21px;transition:transform .2s ease}
.career-entry-link:hover h3,.graduation-link:hover h3{color:var(--jade)}
.career-entry-link:hover .career-index-action svg,.graduation-link:hover .career-index-action svg{transform:translate(3px,-3px)}
.career-index .graduation-section{padding:0;margin-top:0;border-bottom:1px solid var(--line)}
.graduation-link>.eyebrow{color:var(--jade)}
.graduation-link h3{font-family:var(--serif);font-size:27px;line-height:1.45}
.career-index>.all-work-link{margin-top:24px;justify-content:flex-end}
.resume-experience-link{display:inline-flex;gap:20px;align-items:center;min-height:44px}
.resume-experience-link svg{width:18px;height:18px}
.resume-experience-link:hover{color:var(--jade)}
.experience-opening{padding-top:50px;padding-bottom:55px}
.experience-opening>.back-link{margin-bottom:42px}
.experience-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10%;align-items:end}
.experience-heading .eyebrow{color:var(--jade);margin-bottom:20px}
.experience-heading h1{font-size:clamp(43px,6.5vw,88px);line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}
.experience-role{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;margin-top:23px}
.experience-role>span{color:var(--muted);font-variant-numeric:tabular-nums}
.experience-description{font-size:13px;line-height:1.9;color:var(--muted);padding-bottom:2px}
.experience-projects{padding-bottom:90px}
.experience-projects .gallery-heading{align-items:center;margin-bottom:35px}
.experience-projects .gallery-heading>.eyebrow{font-family:var(--sans)}
.experience-projects .single-collection{max-width:550px;grid-template-columns:minmax(0,1fr)}
.experience-no-work{border-top:1px solid var(--line);padding-block:40px 60px}
.experience-no-work>p{color:var(--muted);font-size:14px}
.experience-no-work>.text-link{margin-top:22px;font-size:12px}
@media(max-width:1100px){.home-profile{gap:7%;padding-top:40px}.career-entry-link,.graduation-link{grid-template-columns:140px minmax(0,1fr) 125px;gap:24px}.career-index .career-entry h3{font-size:30px}.career-index-action{gap:12px}}
@media(max-width:800px){.home-profile{grid-template-columns:minmax(0,1fr);gap:45px;padding-top:35px;padding-bottom:55px}.profile-identity h1{font-size:clamp(76px,16vw,118px)}.profile-identity .hero-credentials{max-width:none;grid-template-columns:1fr 1fr;gap:18px 30px}.profile-identity .hero-email{grid-column:1/-1}.profile-introduction{padding-top:0;max-width:650px}.profile-introduction .about-body p:first-child{font-size:24px}.profile-actions{margin-top:22px}.career-index{padding-top:25px;padding-bottom:60px}.career-index .section-heading h2{font-size:40px}.career-entry-link,.graduation-link{grid-template-columns:125px minmax(0,1fr);gap:5px 25px;padding-block:23px}.career-entry-link>.resume-date,.graduation-link>.eyebrow{align-self:start;padding-top:5px}.career-index-action{grid-column:2;justify-content:flex-start;margin-top:6px;font-size:10px}.career-index .career-entry h3{font-size:30px}.graduation-link h3{font-size:25px}.experience-opening{padding-top:30px;padding-bottom:35px}.experience-opening>.back-link{margin-bottom:30px}.experience-heading{grid-template-columns:minmax(0,1fr);gap:25px}.experience-heading h1{font-size:clamp(44px,8vw,67px)}.experience-role{margin-top:18px;gap:10px 22px}.experience-description{max-width:590px}.experience-projects{padding-bottom:55px}.experience-projects .gallery-heading{gap:15px;flex-wrap:wrap}.experience-projects .gallery-heading>.archive-note{font-size:10px}}
@media(max-width:500px){.home-profile{gap:38px}.profile-identity>.eyebrow{margin-bottom:22px}.profile-identity .hero-name-cn{font-size:18px;margin-top:16px}.profile-identity .hero-role{font-size:11px;margin-top:25px}.profile-identity .hero-credentials{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:25px;padding-top:20px}.profile-introduction .about-body{padding-top:20px}.profile-introduction .about-body p:first-child{font-size:21px}.profile-introduction .about-body p{font-size:13px}.profile-actions{gap:25px}.career-index .section-heading h2{font-size:33px}.career-entry-link,.graduation-link{grid-template-columns:minmax(0,1fr) auto;gap:10px 15px;padding-block:23px}.career-entry-link>.resume-date,.graduation-link>.eyebrow{grid-column:1/-1;padding-top:0}.career-index .career-entry h3{font-size:29px}.career-index-action{grid-column:2;grid-row:2;align-self:center;margin:0;gap:10px;max-width:105px;white-space:normal;font-size:10px}.career-index-action svg{width:18px;height:18px}.career-index .career-role{font-size:10px;line-height:1.7}.graduation-link h3{font-size:21px;line-height:1.5}.experience-heading h1{font-size:clamp(39px,10vw,51px)}.experience-role{font-size:11px}.experience-description{font-size:12px}.experience-no-work>p{font-size:13px}}

/* Compact résumé information follows education in the first-page identity column. */
.section-heading h2.eyebrow,.career-index .section-heading h2.eyebrow{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.15em;line-height:1.6}
.home-profile .hero-credentials{max-width:420px}
.profile-label{font-family:var(--sans);font-size:10px;line-height:1.6;color:var(--jade);margin-bottom:14px}
.profile-qualifications,.profile-skill-list{margin-top:24px}
.profile-qualifications>p{font-size:12px;line-height:1.8}
.profile-skill-list>div+div{margin-top:12px}
.profile-skill-list p{font-size:11px;line-height:1.8;color:var(--muted)}
.profile-skill-list .profile-skill-title{font-size:11px;color:var(--ink);margin-bottom:3px}
.profile-contact-links{border-top:1px solid var(--line);padding-top:14px;margin-top:24px}
.profile-contact-links .hero-email{margin-top:0}
.hero-phone{display:flex;align-items:center;gap:12px;font-size:11px;min-height:40px;color:var(--jade);flex-wrap:wrap}
.hero-phone svg{width:15px;height:15px}
.footer-contact-links{display:flex;flex-direction:column;gap:7px}
.contact-phone{display:block;width:max-content;max-width:100%;font-size:14px;color:var(--jade);margin-top:18px;overflow-wrap:anywhere}
@media(max-width:800px){.profile-identity .hero-credentials{display:block;max-width:none}.profile-identity .hero-school+.hero-school{margin-top:16px}.profile-contact-links{max-width:420px}.profile-skill-list{max-width:520px}}

.profile-learning{margin-top:24px}
.profile-learning>p{font-size:12px;line-height:1.8}
.hero-school .profile-school-period{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.02em;margin-top:5px}

/* Native video preserves the supplied vertical frame and starts on user action. */
.case-video-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:8%;padding-block:20px 80px;align-items:start}
.case-video-section .eyebrow{color:var(--jade);margin-bottom:22px}
.case-video-section h2{font-size:clamp(32px,4vw,54px);line-height:1.25}
.video-description{font-size:13px;line-height:1.9;color:var(--muted);max-width:420px;margin-top:24px}
.case-video-section .archive-note{margin-top:18px}
.case-video-section video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#e2eaf0}
.video-card-tag{position:absolute;left:14px;bottom:14px;padding:7px 10px;background:var(--paper);font-size:10px;color:var(--ink)}
@media(max-width:800px){.case-video-section{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:55px}.case-video-section figure{width:100%;max-width:430px}.video-description{margin-top:18px}}

.white-cover-group .card-image{--image-backdrop:#fff}

/* These experience pages open directly into the complete selected work. */
.direct-experience .wrap{padding-inline:0}
.direct-experience .case-opening{padding-top:15px}
.direct-experience .case-intro>h2{font-family:var(--serif);font-size:clamp(34px,4.4vw,60px);line-height:1.2;overflow-wrap:anywhere}
.direct-experience>.gallery-heading{margin-bottom:30px}
.direct-experience .case-gallery-section{padding-bottom:55px}
@media(max-width:800px){.direct-experience .case-intro>h2{font-size:38px}}

/* Education and skills share aligned columns below the introduction. */
.home-profile{row-gap:48px}
.home-profile>.hero-credentials{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px 9%;width:100%;max-width:none;margin-top:0;padding-top:30px}
.home-profile>.hero-credentials>.profile-skill-list{margin-top:0;max-width:none}
.home-profile>.hero-credentials>.profile-contact-links{grid-column:1/-1;margin-top:0;max-width:none}
.home-profile .hero-school+.hero-school{margin-top:18px}
.home-profile .profile-skill-list p{font-size:12px}
@media(max-width:560px){.home-profile>.hero-credentials{grid-template-columns:minmax(0,1fr);gap:30px}.home-profile>.hero-credentials>.profile-contact-links{grid-column:1}.home-profile{row-gap:35px}}
