:root{color-scheme:dark;--ink:#efe9dd;--muted:#abae9f;--gold:#bba17d;--ground:#0a1212;--line:#9f91613b;font-family:Arial,"Microsoft YaHei",sans-serif;background:var(--ground);color:var(--ink)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{margin:0;background:radial-gradient(ellipse at 78% 0,#75614516,transparent 45%),var(--ground)}
body:has(.project-dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid #dfc49c;outline-offset:7px}
.skip-link{position:absolute;left:24px;top:-80px;padding:14px;z-index:5;background:var(--ink);color:var(--ground)}
.skip-link:focus{top:16px}
.site-header,main,.site-footer{width:min(1280px,88%);margin-inline:auto}
.site-header{height:108px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.signature{font:26px Georgia,"Times New Roman",serif;letter-spacing:-1px}
.signature span{color:var(--gold)}
.return-link{font-size:12px;letter-spacing:.025em;color:#d0c4b0}
.return-link span{padding-right:12px}
.return-link:hover,.site-footer a:hover{color:white}
.collection-intro{padding:70px 0 44px}
.eyebrow{margin:0;color:var(--gold);font-size:10px;letter-spacing:.17em;text-transform:uppercase;line-height:1.6}
h1{font:normal clamp(62px,7.9vw,116px)/1.06 Georgia,"Times New Roman",serif;letter-spacing:-.055em;margin:21px 0 27px}
h1 em{font-weight:normal;color:#dfd5c2}
.intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.intro-bottom p{font-size:13px;line-height:1.8;margin:0;color:var(--muted)}
.catalog-count{font:11px/1.8 Arial,sans-serif;letter-spacing:.12em;color:var(--gold)}
.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 36px;padding-bottom:98px}
.project-card{display:block;min-width:0}
.cover{position:relative;aspect-ratio:4/3;overflow:hidden;background:#151a18;border:1px solid #b9a58249;box-shadow:0 12px 30px #0003}
.cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s cubic-bezier(.22,.61,.36,1),filter .5s;filter:saturate(.88)}
.cover-fellou{background:#100e1a}.cover-fellou img{object-fit:contain;object-position:center}
.cover-solitude{background:#d0b99d}
.cover-stone{background:#f3faf9}
.cover-mood{background:#eef6fc}
.cover-tomato{background:#080808}
.cover:is(.cover-solitude,.cover-stone,.cover-mood,.cover-tomato) img{object-fit:contain;object-position:center}
/* Anchor the visible wheelchair edge; the source artwork includes a transparent foot. */
.cover.cover-stone img{position:absolute;inset:auto 0 0;width:100%;height:auto;margin-bottom:-42.700000%;object-fit:contain;transform-origin:50% 69.823322%}
.cover-nexo{background:#000}.cover-nexo img{object-fit:contain}
.cover-action{position:absolute;right:16px;bottom:16px;border:1px solid #e2d6bd4a;background:#0a1212d9;color:#eee5d5;padding:12px 16px;font-size:11px;letter-spacing:.035em;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .35s}
.project-card:is(:hover,:focus-visible) .cover img{transform:scale(1.035);filter:saturate(1)}
.project-card:is(:hover,:focus-visible) .cover-action{opacity:1;transform:none}
.card-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:20px}
.card-caption h2{margin:0;font:normal clamp(24px,2.25vw,32px)/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.card-caption p{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.6;letter-spacing:.035em}
.card-number{color:var(--gold);font-size:10px;padding-top:7px}
.site-footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:30px 0 40px;font-size:11px;color:var(--muted);line-height:1.8}
.site-footer a{color:#d0c4b0}
.site-footer a span{margin-left:12px}
.project-dialog{margin:auto;width:min(1180px,94vw);max-width:none;max-height:92dvh;padding:0;background:#0c1515;color:var(--ink);border:1px solid #bba17d70;box-shadow:0 24px 100px #0008;overscroll-behavior:contain}
.project-dialog::backdrop{background:#020707df;backdrop-filter:blur(10px)}
.project-dialog[open]{animation:open-project .3s ease-out}
.dialog-bar{position:sticky;top:0;z-index:1;background:#0c1515f5;display:flex;align-items:center;justify-content:space-between;padding:14px 30px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.08em;color:var(--gold)}
.dialog-close{display:flex;align-items:center;gap:18px;min-height:44px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px;padding:0 2px}
.dialog-close span{font:28px Georgia,serif}
.dialog-content{padding:40px 30px}
.dialog-content h2{font:normal clamp(32px,4vw,56px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:16px 0}
#project-description{font-size:14px;line-height:1.8;max-width:610px;margin:0 0 34px;color:var(--muted)}
.project-pages{display:grid;gap:32px}
.project-pages figure{margin:0}
.project-pages img{display:block;width:100%;height:auto;background:#e4e3dd}
.project-pages figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:12px;font-size:11px;color:var(--muted);line-height:1.6}
.project-pages figcaption a{color:#d9c5a4;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
@keyframes open-project{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(hover:none){.cover-action{opacity:1;transform:none;padding:9px 12px}.project-card:hover .cover img{transform:none}}
@media(max-width:640px){
 .site-header,main,.site-footer{width:88%}.site-header{height:84px}.signature{font-size:24px}.return-link{font-size:10px}.return-link span{padding-right:5px}
 .collection-intro{padding:46px 0 30px}h1{font-size:clamp(48px,12vw,70px);margin:19px 0 24px}.intro-bottom p{font-size:12px}.catalog-count{font-size:9px}
 .collection-grid{grid-template-columns:1fr;gap:36px;padding-bottom:56px}.cover{aspect-ratio:4/3}.card-caption{padding-top:16px}.card-caption h2{font-size:27px}
 .site-footer{flex-direction:column;gap:12px;padding:24px 0 32px}.project-dialog{width:96vw;max-height:94dvh}.dialog-bar{padding:8px 18px}.dialog-content{padding:28px 18px}.project-pages{gap:24px}.project-pages figcaption{font-size:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.project-card:is(:hover,:focus-visible) .cover img{transform:none}}

/* Curated job application entry points: static links, no filtering animation. */
.collection-paths{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:32px;border-bottom:1px solid var(--line)}
.collection-paths a{padding:14px 0;min-height:44px;color:var(--muted);border-bottom:2px solid transparent;font-size:14px;line-height:1.5}
.collection-paths a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--gold)}
.collection-paths a:hover{color:var(--ink)}
.collection-featured{padding-bottom:74px;gap:46px 36px}
.card-caption{display:block}.card-caption p.card-reason{max-width:48ch;font-size:15px;line-height:1.7;letter-spacing:0;color:var(--ink);margin-top:14px}
.collection-lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:5%;align-items:center;padding-bottom:10px}
.collection-lead .cover{aspect-ratio:4/3}.collection-lead .card-caption{padding:0}
.collection-lead h2{font-size:clamp(36px,4vw,56px)}
.collection-lead .card-caption p.card-reason{font-size:clamp(17px,1.5vw,20px);max-width:32ch}
.collection-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-top:40px;border-top:1px solid var(--line);margin-bottom:32px}
.collection-section-head h2,.collection-contact h2{font:normal clamp(28px,3vw,40px)/1.2 Georgia,serif;letter-spacing:-.025em;margin:0}
.collection-section-head p{max-width:440px;color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.collection-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-bottom:36px}
.collection-secondary .cover{aspect-ratio:3/2}.collection-secondary h2{font-size:25px}.collection-secondary .card-reason{font-size:14px}
.collection-in-progress{padding:0 0 40px;color:var(--muted);font-size:12px;line-height:1.6}
.collection-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid var(--line);padding:48px 0 60px}
.collection-contact h2{margin:18px 0}.collection-contact p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7}
.collection-contact-links{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.collection-contact-links a{min-height:44px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
@media(max-width:760px){.collection-lead{grid-template-columns:1fr;gap:20px}.collection-lead h2{font-size:36px}.collection-lead .card-caption p.card-reason{font-size:17px;max-width:44ch}.collection-secondary{grid-template-columns:1fr 1fr}.collection-section-head{display:block}.collection-section-head p{margin-top:14px}.collection-contact{align-items:flex-start}.collection-intro .intro-bottom{align-items:flex-start}.catalog-count{white-space:nowrap}}
@media(max-width:640px){.collection-secondary{grid-template-columns:1fr}.collection-contact{flex-direction:column;gap:18px}.collection-contact-links{flex-direction:row;gap:28px}.collection-paths{gap:24px}.collection-paths a{font-size:13px}.collection-intro .intro-bottom{flex-direction:column;gap:12px}.collection-featured{padding-bottom:48px}.collection-section-head{padding-top:32px}}

.site-header{gap:24px}.collection-lead .cover-fellou{aspect-ratio:960/409}.collection-lead .cover-mood{aspect-ratio:3/2}

@media(max-width:640px){.site-header{height:auto;min-height:84px;padding-block:16px;flex-wrap:wrap;gap:12px}.site-header .return-link{order:3;flex-basis:100%;padding-block:4px}.site-header .site-preferences{margin-left:auto}}

/* Keep Work reading preferences available while browsing either collection. */
.site-header{padding-right:140px}
.site-header .site-preferences.is-inline{
 position:fixed;top:32px;right:max(6vw,calc((100vw - 1280px)/2));margin-left:0;
}
@media(max-width:760px){
 .site-header{padding-right:112px}
 .site-header .site-preferences.is-inline{top:max(16px,env(safe-area-inset-top));right:max(6vw,env(safe-area-inset-right))}
}

/* Separate detailed case studies from the smaller visual exploration gallery. */
.collection-groups{display:flex;flex-wrap:wrap;gap:8px 30px;padding-top:18px}
.collection-groups a{display:inline-flex;align-items:center;gap:18px;min-height:44px;color:var(--muted);font-size:13px}
.collection-groups a:hover{color:var(--ink)}
.collection-groups a span{color:var(--gold)}
.collection-cases,.collection-more{scroll-margin-top:96px}
.collection-cases>.collection-section-head{padding-top:8px;border-top:0;margin-bottom:32px}
.collection-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 36px;padding-bottom:84px}
.collection-featured .cover{aspect-ratio:3/2}
.cover-yulan{background:#eeeae1}
.cover-yulan img{object-fit:cover}
.collection-featured .card-caption h2{font-size:clamp(28px,3vw,40px)}
.collection-secondary .card-caption{padding-top:20px}
.collection-more>.collection-section-head{padding-top:48px;margin-bottom:36px}
@media(max-width:760px){.collection-featured{grid-template-columns:1fr;gap:44px;padding-bottom:56px}.collection-featured .card-caption h2{font-size:32px}.collection-cases>.collection-section-head{margin-bottom:26px}.collection-groups{gap:4px 24px}.collection-groups a{gap:12px}.collection-more>.collection-section-head{padding-top:34px;margin-bottom:28px}}
