@charset "UTF-8";
:root{--paper:#eeede7;--ink:#252721;--muted:#62655c;--line:#c6c8bd;--accent:#d7eb62;--pad:clamp(22px,4vw,76px);--ease:cubic-bezier(.2,.65,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--ink)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
img{display:block;width:100%;height:auto}
svg{display:block;width:24px;height:24px}
h1,h2,h3,p,figure{margin:0}
[hidden]{display:none!important}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.065em;line-height:1.6}
.section-wrap{padding-inline:var(--pad)}
.skip-link{position:fixed;top:12px;left:12px;background:var(--accent);padding:16px;z-index:100;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);gap:28px;border-bottom:1px solid var(--line)}
.wordmark{font-family:Georgia,serif;font-size:27px;letter-spacing:-1.6px;font-weight:400;line-height:1;display:flex;align-items:baseline;gap:12px}.wordmark-name{font-family:Arial,"PingFang SC",sans-serif;font-size:10px;letter-spacing:1px}

.header-caption{margin-right:auto;margin-left:20px;font-size:10px;letter-spacing:.08em}
.site-header nav{display:flex;gap:36px}
.site-header nav a{display:flex;align-items:baseline;gap:6px;font-size:12px;position:relative;padding:9px 0}
.site-header nav a span{font-size:10px}
.site-header nav a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}
.work{padding-top:95px;padding-bottom:150px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:58px}
.section-heading h2{font-size:clamp(60px,8vw,118px);line-height:.96;letter-spacing:-.06em;font-weight:500;margin-top:32px}
.section-heading em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.07em}
.section-note{font-size:13px;line-height:1.9;margin-bottom:5px;max-width:270px}
.work-toolbar{border-top:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;padding:18px 0 40px;gap:20px;min-height:92px}
.filters{display:flex;gap:26px;flex-wrap:wrap}
.filter{padding:9px 0;background:none;border:0;cursor:pointer;font-size:12px;position:relative;white-space:nowrap}
.filter span{font-size:9px;vertical-align:super;margin-left:5px;font-variant-numeric:tabular-nums;color:var(--muted)}
.filter:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.filter.active:after,.filter:hover:after{transform:scaleX(1)}
.work-count{font-size:11px;white-space:nowrap;color:var(--muted)}
.work-grid{display:grid;grid-template-columns:1fr;gap:100px}
.project-card{position:relative;isolation:isolate;background:var(--paper)}
.project-link{display:block;position:relative;padding-bottom:35px}
.project-image{width:62%;margin-left:20%;aspect-ratio:1.4;position:relative;overflow:hidden;background:#d4d4ca}
.project-image>img{height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.project-number{position:absolute;top:16px;left:16px;font-size:10px;background:var(--paper);color:var(--ink);padding:7px 9px;border-radius:50%}
.image-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-40%);opacity:0;background:var(--accent);color:var(--ink);font-size:10px;letter-spacing:.06em;padding:16px 21px;border-radius:40px;display:flex;align-items:center;gap:14px;white-space:nowrap;transition:opacity .25s,transform .25s}
.image-label svg{width:18px;height:18px}
.project-meta{position:absolute;right:0;top:42%;width:14%;display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--ink);line-height:1.6}
.project-name{position:absolute;left:2%;top:39%;width:58%;color:white;mix-blend-mode:difference;z-index:2;pointer-events:none}
.project-name h3{font-size:clamp(32px,4.5vw,80px);font-weight:500;letter-spacing:-.055em;line-height:1.08}
.card-arrow{display:none}
.project-english{margin:14px 0 0 20%;font-size:11px;letter-spacing:.025em;color:var(--muted)}
.project-link:focus-visible .image-label{opacity:1;transform:translate(-50%,-50%)}
.contact{padding:70px var(--pad) 24px;background:var(--ink);color:var(--paper)}
.contact-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.contact-top>p{font-size:14px;line-height:1.8}
.contact-title{display:flex;align-items:center;justify-content:space-between;font-size:clamp(64px,13.5vw,220px);line-height:1.1;font-weight:500;letter-spacing:-.075em;margin:58px 0 35px;gap:30px;white-space:nowrap}
.contact-title>span{border-radius:50%;background:var(--accent);color:var(--ink);padding:2.7vw;flex-shrink:0;transition:transform .3s var(--ease)}
.contact-title svg{width:7.5vw;height:7.5vw;max-width:100px;max-height:100px}
.contact-title:hover>span{transform:rotate(45deg)}
.contact-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #52564a;padding-bottom:35px;gap:20px}
.contact-bottom>a:first-child{font-size:clamp(15px,2vw,26px);letter-spacing:-.02em}
.contact-bottom>a:last-child{font-size:10px;letter-spacing:.04em}
.colophon{display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.035em;margin-top:23px;color:#bfc3b4}
.will-reveal{opacity:0;transform:translateY(25px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.will-reveal.is-visible{opacity:1;transform:none}
.project-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:12vw;padding-block:85px 100px}
.project-story dl{margin:0;display:flex;flex-direction:column;gap:28px}
.project-story dt{font-size:10px;color:var(--muted);letter-spacing:.04em;margin-bottom:10px}
.project-story dd{font-size:14px;margin:0;line-height:1.7}
.story-copy h2{font-size:12px;font-weight:500;margin-bottom:25px}
.story-copy>p{font-size:16px;line-height:2;margin-bottom:20px}
.recognition{border-top:1px solid var(--line);padding-top:25px;margin-top:32px}
.recognition h3{font-size:11px;font-weight:500;margin-bottom:14px}
.recognition ul{list-style:none;margin:0;padding:0;font-size:12px;line-height:2.2;color:var(--muted)}
.all-work-link{display:inline-block;font-size:11px;margin-top:32px;text-decoration:underline;text-underline-offset:5px}
@media(hover:hover) and (pointer:fine){.project-link:hover .project-image>img{transform:scale(1.035)}.project-link:hover .image-label{opacity:1;transform:translate(-50%,-50%)}.project-link:hover .card-arrow{transform:translate(3px,-3px)}}
@media(min-width:1900px){body{max-width:2400px;margin:auto}}
@media(max-width:1000px){.header-caption{display:none}.site-header nav{gap:25px}.work-grid{gap:70px}.project-meta{flex-direction:column;gap:3px}.project-story{gap:7vw}}
@media(max-width:700px){
  html{scroll-padding-top:30px}
  .site-header{height:73px;gap:15px}
  .wordmark{font-size:23px}.wordmark-name{display:none}
  .site-header nav{gap:22px}
  .site-header nav a{font-size:12px;min-height:44px;align-items:center}
  .site-header nav a span{display:none}
  .eyebrow{font-size:9px}
  .work{padding-block:65px 80px}
  .section-heading{display:block;margin-bottom:33px}
  .section-heading h2{font-size:67px;margin-top:25px}
  .section-note{font-size:12px;margin-top:26px}
  .work-toolbar{padding:13px 0 30px;gap:10px}
  .filters{gap:19px}
  .filter{font-size:11px;min-height:44px}
  .filter span{font-size:8px;margin-left:3px}
  .work-count{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .work-grid{grid-template-columns:1fr;gap:45px}
  .project-card:nth-child(even){margin-top:0}
  .project-image,.project-card:nth-child(3n+2) .project-image{aspect-ratio:1.45}
  .project-meta{flex-direction:row;gap:10px;font-size:11px;margin:15px 0 10px}
  .project-name h3{font-size:26px}
  .project-english{font-size:11px}
  .project-number{top:12px;left:12px;font-size:9px}
  .contact{padding-top:42px}
  .contact-top>p{font-size:11px}
  .contact-title{font-size:13vw;gap:15px;margin:42px 0 30px}
  .contact-title>span{padding:3vw}
  .contact-title svg{width:9vw;height:9vw}
  .contact-bottom{padding-bottom:28px}
  .contact-bottom>a:last-child{font-size:8px}
  .colophon{font-size:8px;flex-wrap:wrap;line-height:1.8}
  .colophon>span:nth-child(2){display:none}
  .project-story{grid-template-columns:1fr;gap:45px;padding-block:40px 50px}
  .project-story dl{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .project-story dt{font-size:9px}
  .project-story dd{font-size:12px}
  .story-copy>p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}
.archive .section-heading h1{font-size:clamp(60px,8vw,118px);line-height:.96;letter-spacing:-.06em;font-weight:500;margin-top:32px}

/* Progressive enhancement: ordinary links remain the navigation contract. */
::view-transition-group(*){animation-duration:.48s;animation-timing-function:cubic-bezier(.2,.65,.3,1)}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

@media(max-width:700px){
 .work-grid{grid-template-columns:1fr;gap:48px}.project-card:nth-child(even){margin-top:0}
 .project-link{padding-bottom:0}.project-image{width:88%;margin-left:12%;aspect-ratio:1.2}
 .project-name{left:0;top:32%;width:94%}.project-name h3{font-size:clamp(28px,7.6vw,48px)}
 .project-meta{position:static;width:auto;margin-top:16px;flex-direction:row;justify-content:space-between;gap:15px;font-size:11px}
 .project-english{margin:8px 0 0;font-size:10px}
}
