.case-intro{padding-top:38px}.back-link{color:var(--muted);padding-block:8px;font-size:14px;display:inline-block}.back-link:hover{color:var(--fg)}.case-title-row{justify-content:space-between;align-items:flex-end;gap:25px;margin-top:42px;display:flex}.case-title-row h1{letter-spacing:-.035em;margin-top:12px;font-size:clamp(42px,5.3vw,78px);font-weight:400;line-height:1.3}.case-subtitle{color:var(--muted);margin-top:10px;font-size:23px}.case-date{font:16px var(--mono);color:var(--muted);padding-bottom:7px}.case-meta{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:15px 36px;margin-top:35px;padding-block:19px;font-size:13px;display:flex}.case-cover{margin-block:16px 0}.case-cover>img{width:100%}figure{margin:0}figcaption{color:var(--muted);padding-top:12px;font-size:12px}.case-overview{grid-template-columns:1fr 1fr;gap:8%;padding-block:88px;display:grid}.case-overview h2{margin-top:20px;font-size:32px;font-weight:400;line-height:1.7}.case-overview>div>p{font-size:17px;line-height:1.95}.responsibilities{margin:30px 0 0;font-size:14px}.responsibilities>div{border-top:1px solid var(--line);grid-template-columns:88px 1fr;gap:18px;padding-block:15px;display:grid}.responsibilities dt{color:var(--muted)}.responsibilities dd{margin:0}.case-navigation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;gap:25px;padding-block:20px;font-size:14px;display:flex}.case-navigation a{padding-block:7px}.case-navigation a:hover{color:var(--accent)}.case-section{padding-top:85px;scroll-margin-top:-85px}.case-section-heading{margin-bottom:36px}.case-section-heading h2{letter-spacing:-.025em;margin-top:13px;font-size:35px;font-weight:400;line-height:1.5}.case-section-heading>p{color:var(--muted);max-width:720px;margin-top:17px;font-size:16px;line-height:1.9}.approach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 8%;display:grid}.approach-copy{border-top:1px solid var(--line);padding-top:20px}.approach-copy h3{margin-block:14px;font-size:25px;font-weight:400}.approach-copy p{color:var(--muted);max-width:470px;font-size:16px;line-height:2}.small-number{font:12px var(--mono);color:var(--accent)}.case-image-link{display:block}.case-image-link img{width:100%}.case-image-link:hover{outline:1px solid var(--muted);outline-offset:4px}.product-gallery{grid-template-columns:1fr 1fr;gap:32px;display:grid}.product-gallery figcaption{gap:17px;font-size:13px;display:flex}.product-gallery figcaption span{font-family:var(--mono);color:var(--accent)}.aplus-gallery{gap:24px;display:grid}.aplus-gallery figcaption{font-size:12px}.video-player{background:var(--surface);position:relative}.video-trigger{text-align:left;width:100%;padding:0;display:block;position:relative}.video-trigger img{width:100%}.video-trigger:after{content:"";background:linear-gradient(#0000 30%,#0008);position:absolute;inset:0}.video-play{color:#fff;z-index:1;text-shadow:0 1px 5px #000;justify-content:center;align-items:center;gap:15px;display:flex;position:absolute;inset:0}.video-play>span:first-child{background:#0004;border:1px solid #ffffff8c;border-radius:50%;justify-content:center;align-items:center;width:66px;height:66px;padding-left:3px;font-size:34px;display:flex}.video-play>span:last-child{font-size:16px}.video-player video{aspect-ratio:16/9;background:#000;width:100%;display:block}.video-player [hidden]{display:none}.video-error{padding:18px;font-size:14px}.video-error a{text-decoration:underline}.motion-notes{grid-template-columns:repeat(3,1fr);gap:36px;margin-top:32px;display:grid}.motion-notes h3{font-size:18px;font-weight:400}.motion-notes p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.9}.case-conclusion{border-top:1px solid var(--line);margin-top:80px;padding-block:85px 95px}.case-conclusion h2{margin-top:20px;font-size:30px;font-weight:400;line-height:1.7}.case-conclusion>p{color:var(--muted);max-width:720px;margin-top:15px;font-size:16px;line-height:1.9}@media (width<=700px){.case-intro{padding-top:20px}.case-title-row{margin-top:25px}.case-title-row h1{font-size:43px}.case-subtitle{font-size:18px}.case-date{font-size:13px}.case-meta{gap:8px 18px;margin-top:25px;font-size:12px}.case-meta span:last-child{flex-basis:100%}.case-cover{margin-top:8px}.case-overview{padding-block:45px;display:block}.case-overview h2{margin-top:15px;font-size:27px;line-height:1.6}.case-overview>div>p{margin-top:25px;font-size:16px}.responsibilities>div{grid-template-columns:72px 1fr;gap:16px}.case-navigation{grid-template-columns:1fr 1fr;gap:0 20px;padding-block:12px;font-size:13px;display:grid}.case-section{padding-top:55px;scroll-margin-top:-55px}.case-section-heading{margin-bottom:25px}.case-section-heading h2{font-size:28px}.case-section-heading>p{font-size:16px;line-height:1.85}.approach-grid{grid-template-columns:1fr;gap:26px}.approach-copy h3{font-size:23px}.approach-copy p{font-size:16px}.product-gallery{display:block}.product-gallery figure+figure{margin-top:28px}.aplus-gallery{gap:24px}.video-play>span:first-child{width:49px;height:49px;font-size:26px}.video-play>span:last-child{font-size:14px}.motion-notes{margin-top:25px;display:block}.motion-notes>div+div{margin-top:22px}.motion-notes p{margin-top:7px;font-size:15px}.case-conclusion{margin-top:55px;padding-block:45px 55px}.case-conclusion h2{font-size:25px}}.case-overview[id]{scroll-margin-top:-88px}.case-conclusion[id]{scroll-margin-top:-85px}.chapter-menu{--chapter-progress:0;right:max(18px,env(safe-area-inset-right));z-index:25;counter-reset:chapter;background:0 0;width:max-content;min-width:94px;padding:8px 0 8px 22px;transition:top .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);display:grid;position:fixed;top:50%;transform:translateY(-50%)}.chapter-menu:before,.chapter-menu:after{content:"";transform-origin:top;background:var(--line);width:1px;position:absolute;top:27px;bottom:27px;right:3px}.chapter-menu:after{background:var(--accent);transform:scaleY(var(--chapter-progress));transition:transform .45s cubic-bezier(.16,1,.3,1)}.chapter-menu a{z-index:1;counter-increment:chapter;min-height:46px;font:10px/1.25 var(--mono);color:var(--muted);text-align:right;grid-template-columns:1fr 8px;align-items:center;gap:11px;display:grid;position:relative}.chapter-menu a span{opacity:.48;white-space:nowrap;text-shadow:0 1px 4px var(--bg),0 0 10px var(--bg);transition:opacity .3s,transform .35s cubic-bezier(.16,1,.3,1),color .3s;transform:translate(3px)}.chapter-menu a span:before{content:"0" counter(chapter);color:var(--muted);margin-right:7px;font-size:8px;transition:color .3s}.chapter-menu a:after{content:"";background:var(--bg);width:6px;height:6px;box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent);border:1px solid;border-radius:50%;grid-column:2;transition:background .25s,box-shadow .35s,transform .35s cubic-bezier(.16,1,.3,1),color .25s}.chapter-menu a:hover span,.chapter-menu a:focus-visible span,.chapter-menu a[aria-current=location] span{opacity:1;color:var(--fg);transform:translate(0)}.chapter-menu a:hover:after,.chapter-menu a:focus-visible:after{color:var(--accent);transform:scale(1.2)}.chapter-menu a[aria-current=location] span:before{color:var(--accent)}.chapter-menu a[aria-current=location]:after{color:var(--accent);background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 15%,transparent);transform:scale(1.15)}.product-gallery>.ratio-group-start{grid-column-start:1}.chapter-menu.near-video,.chapter-menu.near-end{top:clamp(230px,30dvh,380px);transform:translateY(-50%)}@media (width<=700px){.case-overview[id],.case-conclusion[id]{scroll-margin-top:-45px}.chapter-menu{right:max(10px,env(safe-area-inset-right));min-width:82px;padding-left:18px}.chapter-menu a{grid-template-columns:1fr 8px;gap:9px;min-height:42px;font-size:9px}.chapter-menu a span:before{margin-right:5px;font-size:7px}.chapter-menu:before,.chapter-menu:after{top:25px;bottom:25px}.chapter-menu.near-video,.chapter-menu.near-end{top:clamp(215px,26dvh,340px);transform:translateY(-50%)}}.aplus-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.aplus-gallery>figure{grid-column:1/-1}.aplus-gallery>figure.aplus-square{grid-column:auto}@media (width<=700px){.aplus-gallery{grid-template-columns:1fr}.aplus-gallery>figure.aplus-square{grid-column:1}}.back-link{align-items:center;gap:8px;display:inline-flex}@media (width>=701px){.case-intro{padding-top:22px}.case-title-row{margin-top:22px}.case-title-row h1{margin-top:8px;font-size:clamp(38px,4vw,60px);line-height:1.15}.case-subtitle{margin-top:8px;font-size:19px}.case-meta{margin-top:20px;padding-block:12px}.case-overview{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6%;padding-block:36px}.case-overview[id]{scroll-margin-top:-36px}.case-overview h2{margin-top:12px;font-size:28px;line-height:1.45}.case-overview>div>p{font-size:15px;line-height:1.75}.responsibilities{margin-top:18px;font-size:13px;line-height:1.65}.responsibilities>div{padding-block:9px}.case-navigation{padding-block:10px;font-size:13px}#approach.case-section,#gallery.case-section{padding-top:42px;scroll-margin-top:-42px}#approach .case-section-heading,#gallery .case-section-heading{margin-bottom:20px}#approach .case-section-heading h2,#gallery .case-section-heading h2{margin-top:8px;font-size:29px;line-height:1.4}#approach .case-section-heading>p,#gallery .case-section-heading>p{margin-top:9px;font-size:14px;line-height:1.7}.approach-grid{gap:22px 6%}.approach-copy{padding-top:12px}.approach-copy h3{margin-block:8px;font-size:21px}.approach-copy p{max-width:620px;font-size:14px;line-height:1.75}}@media (width<=700px){.case-intro{padding-top:12px}.back-link{padding-block:4px;font-size:12px}.case-title-row{gap:12px;margin-top:14px}.case-title-row h1{margin-top:7px;font-size:36px;line-height:1.15}.case-subtitle{margin-top:5px;font-size:15px;line-height:1.5}.case-date{padding-bottom:3px;font-size:10px}.case-meta{gap:3px 14px;margin-top:14px;padding-block:10px;font-size:10px;line-height:1.5}.case-overview{padding-block:28px}.case-overview h2{margin-top:9px;font-size:24px;line-height:1.4}.case-overview>div>p{margin-top:14px;font-size:13px;line-height:1.75}.responsibilities{margin-top:16px;font-size:11px;line-height:1.65}.responsibilities>div{grid-template-columns:58px 1fr;gap:10px;padding-block:8px}.case-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-block:8px;font-size:10px}.case-navigation a{white-space:nowrap;padding-block:5px}.case-section{padding-top:36px;scroll-margin-top:-36px}.case-section-heading{margin-bottom:18px}.case-section-heading h2{margin-top:8px;font-size:25px;line-height:1.35}.case-section-heading>p{margin-top:9px;font-size:13px;line-height:1.65}.approach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.approach-copy{padding-top:11px}.approach-copy h3{margin-block:8px 6px;font-size:18px;line-height:1.45}.approach-copy p{font-size:12px;line-height:1.7}.small-number{font-size:10px}}.project-image .image-action{opacity:1;pointer-events:none;border-radius:999px;gap:10px}.project-image img{transform:translate3d(var(--hover-x,0),var(--hover-y,0),0) scale(calc(1 + var(--hover-zoom,0)))}.project-card .project-image:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-image.is-animating img{will-change:transform}.project-caption h3{transition:color .25s}.project-card:has(.is-hovering) .project-caption h3{color:var(--accent)}}@media (prefers-reduced-motion:reduce){.project-image img{transform:none!important}.project-image .image-action{opacity:1!important}}.site-cursor{pointer-events:none;z-index:1000;width:0;height:0;color:var(--accent);display:none;position:fixed;top:0;left:0}.site-cursor:before,.site-cursor span{content:"";pointer-events:none;border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.site-cursor:before{border:1px solid;width:28px;height:28px;transition:width .18s,height .18s;box-shadow:0 0 1px 1px #fff5}.site-cursor span{background:currentColor;width:5px;height:5px;transition:width .18s,height .18s;box-shadow:0 0 0 1px #0004}.site-cursor.is-link:before{width:38px;height:38px}.site-cursor.is-link span{width:8px;height:8px}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.cursor-active,html.cursor-active *{cursor:none!important}html.cursor-active .site-cursor{display:block}html.cursor-active :is(input,textarea,select,[contenteditable],iframe,video,dialog),html.cursor-active dialog *{cursor:auto!important}}.site-header nav a{white-space:nowrap;align-items:center;gap:8px;min-height:44px;display:flex}.nav-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px;overflow:visible}.site-header nav a:focus-visible{color:var(--accent)}@media (width<=700px){.site-header nav a{flex-direction:column;justify-content:center;gap:2px;min-width:36px;line-height:1.3}.nav-icon{width:18px;height:18px}.site-header nav[aria-label]{gap:8px}.site-header nav a[href]{padding-block:6px}}.project-caption{min-width:0;padding-top:22px}.project-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.project-title{align-items:center;gap:10px;min-width:0;display:flex}.project-title-link{min-width:0;display:inline-flex}.project-title-link:hover h3,.project-title-link:focus-visible h3{color:var(--accent)}.project-number{border-right:1px solid var(--line);font:700 14px/1.2 var(--mono);letter-spacing:.04em;color:var(--accent);flex:none;padding-right:10px}.project-heading h3,.project-heading h4{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:24px;font-weight:400;line-height:1.4}.project-year{font:12px/1.6 var(--mono);color:var(--muted);flex:none}.project-meta{flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-top:10px;font-size:13px;line-height:1.6;display:flex}.project-category{color:var(--accent)}.project-platforms{color:var(--muted);flex-wrap:wrap;gap:4px 12px;display:flex}.project-platforms>span{white-space:nowrap}.project-description{overflow-wrap:break-word;margin-top:18px;font-size:16px;line-height:1.9}.project-delivery{border-top:1px solid var(--line);color:var(--muted);margin-top:20px;padding-top:12px;font-size:13px;line-height:1.8}.more-work{border-top:1px solid var(--line);padding-block:65px 100px}.more-work .section-heading p{color:var(--muted);font-size:16px}.more-work-groups{grid-template-columns:minmax(0,1fr);gap:64px;display:grid}.more-work-group-heading{border-top:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:baseline;gap:16px;margin-bottom:24px;padding-top:16px;display:grid}.more-work-group-heading span{font:12px/1.5 var(--mono);color:var(--muted)}.more-work-group-heading span:first-child{color:var(--accent);font-size:16px;font-weight:700}.more-work-group-heading h3{letter-spacing:-.035em;font-size:clamp(24px,2vw,30px);font-weight:500;line-height:1.3}.more-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px;display:grid}.more-work-card{min-width:0}.work-section,.more-work,.about-section{content-visibility:auto}.work-section{contain-intrinsic-size:auto 1800px}.more-work{contain-intrinsic-block-size:auto 4200px}.about-section{contain-intrinsic-size:auto 700px}.more-work-group{content-visibility:auto;contain-intrinsic-block-size:auto 1100px;min-width:0}@media (width<=1050px){.project-heading h3,.project-heading h4{font-size:21px}.more-work-groups{gap:52px}.more-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}}@media (width<=700px){.project-caption{padding-top:16px}.project-heading{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.project-title{gap:8px}.project-number{padding-right:8px;font-size:13px}.project-heading h3,.project-heading h4{font-size:18px;line-height:1.45}.project-meta{min-height:64px;margin-top:12px;font-size:12px;display:block}.project-platforms{flex-direction:column;gap:2px;margin-top:4px;display:flex}.project-description{margin-top:16px;line-height:1.85}.project-delivery{margin-top:16px;padding-top:10px;font-size:12px}.projects-grid .project-card .project-caption{grid-template-columns:minmax(0,1fr) auto;column-gap:18px;display:grid}.projects-grid .project-card .project-heading{grid-column:1;align-items:flex-start;display:flex}.projects-grid .project-card .project-meta{text-align:right;flex-direction:column;grid-area:1/2;align-items:flex-end;gap:2px;min-height:0;margin-top:1px;display:flex}.projects-grid .project-card .project-platforms{white-space:nowrap;flex-flow:row;align-items:flex-end;gap:8px;margin-top:2px}.projects-grid .project-card .project-description,.projects-grid .project-card .project-delivery{grid-column:1/-1}.more-work{padding-block:42px 60px}.more-work .section-heading{flex-direction:column;align-items:flex-start;gap:14px}.more-work-groups{gap:42px}.more-work-group-heading{grid-template-columns:26px 1fr auto;gap:10px;margin-bottom:16px;padding-top:13px}.more-work-group-heading h3{font-size:22px;line-height:1.3}.more-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:32px 12px;width:100%}.more-work-card,.more-work-card .project-caption,.more-work-card .project-heading,.more-work-card .project-heading h4{min-width:0;max-width:100%}.more-work-card .more-work-image{aspect-ratio:16/9;width:100%;max-width:100%}.more-work-card .project-caption{padding-top:11px}.more-work-card .project-heading{gap:0}.more-work-card .project-heading h4{overflow-wrap:anywhere;font-size:15px}.more-work-card .project-meta{flex-wrap:wrap;align-items:baseline;gap:3px 10px;min-height:0;margin-top:6px;line-height:1.5;display:flex}.more-work-card .project-platforms{flex-direction:row;gap:3px 8px;margin-top:0;display:flex}.more-work-card .project-delivery{margin-top:10px;padding-top:8px;line-height:1.6}}.more-detail-intro{padding-block:42px 58px}.more-work{scroll-margin-top:24px}.gallery-directory{border-block:1px solid var(--line);padding-block:20px;scroll-margin-top:24px}.gallery-directory>p{color:var(--muted);margin-bottom:12px;font-size:14px}.gallery-directory>div{flex-wrap:wrap;gap:8px 24px;display:flex}.gallery-directory a{align-items:center;gap:16px;min-height:44px;font-size:14px;display:inline-flex}.gallery-directory a span{color:var(--muted);white-space:nowrap;font-size:12px}.gallery-directory a:hover,.gallery-back:hover{color:var(--accent)}.gallery-back{min-height:44px;color:var(--muted);align-items:center;margin-top:8px;font-size:13px;display:inline-flex}.more-detail-intro>.eyebrow{margin-top:48px}.more-detail-intro h1{letter-spacing:-.035em;margin-top:14px;font-size:clamp(42px,5.3vw,78px);font-weight:400;line-height:1.25}.more-detail-meta{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:10px 34px;margin-top:32px;padding-top:18px;font-size:13px;display:flex}.more-detail-description{max-width:830px;margin-top:34px;font-size:18px;line-height:1.95}.more-detail-delivery{border-top:1px solid var(--line);max-width:830px;color:var(--muted);margin-top:22px;padding-top:14px;font-size:14px}.more-detail-section{padding-top:72px;scroll-margin-top:-72px}.more-detail-heading{border-top:1px solid var(--line);margin-bottom:34px;padding-top:22px}.more-detail-heading h2{margin-top:12px;font-size:34px;font-weight:400;line-height:1.45}.more-detail-heading p{color:var(--muted);margin-top:12px;font-size:15px;line-height:1.8}.more-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px;display:grid}.more-detail-gallery figure{min-width:0}.more-detail-gallery.is-masonry{grid-auto-rows:4px;align-items:start;row-gap:16px}.more-detail-gallery.more-detail-triptych{grid-template-columns:repeat(3,minmax(0,1fr))}.more-detail-gallery.more-detail-triptych figure{grid-column:auto}.more-detail-gallery .case-image-link{background:var(--surface);justify-content:center;align-items:center;display:flex}.more-detail-gallery img{width:100%;height:auto}.more-detail-gallery figcaption{justify-content:space-between;gap:20px;display:flex}.more-detail-gallery figcaption span:last-child{font-family:var(--mono);white-space:nowrap}.more-detail-end{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin-top:100px;padding-block:46px 84px;display:flex}.more-detail-end .text-link{margin-top:0}@media (width<=700px){.more-detail-intro{padding-block:24px 40px}.more-detail-intro>.eyebrow{margin-top:30px}.more-detail-intro h1{font-size:40px}.more-detail-meta{gap:7px 18px;margin-top:24px}.more-detail-description{margin-top:26px;font-size:16px}.more-detail-delivery{font-size:13px}.more-detail-section{padding-top:58px;scroll-margin-top:-58px}.more-detail-heading{margin-bottom:24px}.more-detail-heading h2{font-size:27px}.more-detail-gallery{grid-template-columns:1fr;gap:30px}.more-detail-gallery.more-detail-triptych{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.more-detail-gallery.more-detail-triptych figcaption{font-size:10px;display:block}.more-detail-gallery.more-detail-triptych figcaption span:last-child{display:none}.more-detail-end{flex-direction:column;align-items:flex-start;margin-top:62px;padding-block:34px 55px}}.gallery-back{gap:8px}.has-page-reveal [data-reveal]{opacity:0;transition-delay:var(--reveal-delay,0s)}.has-page-reveal [data-reveal=copy]{transition-property:opacity,transform;transition-duration:.68s,.86s;transition-timing-function:ease,cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.has-page-reveal [data-reveal=media]{clip-path:inset(6% 0);transition-property:opacity,transform,clip-path;transition-duration:.78s,1s,1.05s;transition-timing-function:ease,cubic-bezier(.16,1,.3,1),cubic-bezier(.16,1,.3,1);transform:translateY(38px)}.has-page-reveal [data-reveal].is-revealed{opacity:1;clip-path:inset(0);transform:translateY(0)}@media (width<=700px){.has-page-reveal [data-reveal=copy]{transform:translateY(18px)}.has-page-reveal [data-reveal=media]{transform:translateY(28px)}.has-page-reveal [data-reveal].is-revealed{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.has-page-reveal [data-reveal]{opacity:1;clip-path:none;transition:none;transform:none}}:root{color-scheme:dark;--bg:#090a0b;--surface:#121416;--fg:#e9e9e4;--muted:#a3a6a4;--line:#2d3031;--accent:#ff8b47;--grid:#b9c3c70b;--header:#090a0bf0;--gutter:6.25vw;--font:Arial,"Microsoft YaHei","PingFang SC",sans-serif;--mono:"Cascadia Mono",Consolas,monospace}:root[data-theme=light]{color-scheme:light;--bg:#dedfdb;--surface:#eceee9;--fg:#181b1b;--muted:#545b58;--line:#b9bdb7;--accent:#a8430c;--grid:#1e32280f;--header:#dedfdbf0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p{margin:0}ol,ul{margin:0;padding:0}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.ui-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em;flex:none;width:1em;height:1em;display:inline-block}.page-width{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}.skip-link{z-index:100;background:var(--fg);color:var(--bg);padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.site-header{height:82px;padding-inline:var(--gutter);z-index:20;background:var(--header);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;display:flex;position:sticky;top:0}.wordmark{white-space:nowrap;align-items:center;gap:16px;display:flex}.wordmark-name{font:600 16px/1 var(--mono);letter-spacing:-.04em}.wordmark-role{border-left:1px solid var(--line);font:10px/1.4 var(--mono);letter-spacing:.08em;color:var(--muted);padding-left:16px}.brand-dot{color:var(--accent)}.site-header nav{gap:35px;font-size:14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.site-header nav a{padding:12px 0}.site-header nav a:hover,.text-link:hover{color:var(--accent)}.theme-toggle{align-items:center;gap:9px;min-width:65px;min-height:44px;font-size:14px;display:flex}.theme-symbol{font-size:20px}.header-contact{border:1px solid var(--line);letter-spacing:.02em;background:color-mix(in srgb,var(--surface) 70%,transparent);border-radius:999px;align-items:center;gap:9px;min-height:38px;padding:0 15px;font-size:12px;transition:border-color .25s,color .25s,transform .25s;display:flex}.header-contact-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent);border-radius:50%}.header-contact:hover,.header-contact:focus-visible{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.hero{isolation:isolate;height:calc(100svh - 82px);min-height:740px;max-height:1080px;position:relative;overflow:hidden}.hero-grid{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);z-index:-2;background-size:80px 80px;position:absolute;inset:0;mask-image:linear-gradient(#0008,#0002 60%,#0006)}.hero-topline{font:12px/1.5 var(--mono);letter-spacing:.07em;color:var(--muted);justify-content:space-between;padding-top:28px;display:flex}.year-layer{letter-spacing:-.085em;user-select:none;z-index:-1;justify-content:center;font:900 31vw/.85 Arial,sans-serif;display:flex;position:absolute;inset:7% 5.5% auto}.year-layer span:first-child{color:#343738}.year-layer span:last-child{color:#b7b9b7}.year-outline{letter-spacing:-.085em;color:#0000;-webkit-text-stroke:1px var(--line);z-index:-1;user-select:none;font:900 31vw/.85 Arial,sans-serif;position:absolute;inset:22% 5.5% auto}.robot-layer{pointer-events:none;z-index:0;will-change:transform;width:57%;max-width:900px;position:absolute;top:1%;left:23%}.robot-layer img{filter:drop-shadow(0 30px 35px #0006);width:100%}.hero-content{z-index:2;pointer-events:none;justify-content:space-between;align-items:flex-end;gap:32px;padding-top:clamp(330px,31vw,560px);display:flex;position:relative}.identity,.project-index{pointer-events:auto}.identity h1{letter-spacing:-.025em;font-size:clamp(28px,2.7vw,43px);font-weight:400;line-height:1.3}.identity h1 span{font-size:.87em}.identity>p{margin-top:12px;font-size:18px}.divider{color:var(--muted);margin-inline:12px}.identity .identity-fields{color:var(--muted);margin-top:7px;font-size:14px}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:40px;margin-top:22px;padding:12px 0;font-size:14px;display:inline-flex}.text-link span{color:var(--accent)}.project-index{flex-shrink:0;width:230px;list-style:none}.project-index li+li{border-top:1px solid var(--line)}.project-index a{align-items:center;gap:16px;padding:11px 0;font-size:15px;line-height:1.45;display:flex}.index-no{font:12px var(--mono);color:var(--muted)}.project-index small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.index-arrow{color:var(--muted);margin-left:auto}.project-index a:hover .index-arrow{color:var(--accent)}.hero-bottom{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-top:16px;font-size:12px;display:flex;position:absolute;bottom:26px;left:0;right:0}.hero-bottom>span:before{content:"+";color:var(--accent);margin-right:12px}.motion-toggle{min-height:44px;padding:0;font-size:12px}.hero[data-paused=true] .robot-layer{will-change:auto}.work-section{padding-block:105px 112px;scroll-margin-top:30px}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:45px;display:flex}.eyebrow{font:12px/1.5 var(--mono);letter-spacing:.14em;color:var(--muted);display:block}.section-heading h2{letter-spacing:-.025em;margin-top:10px;font-size:40px;font-weight:400;line-height:1.4}.superscript{font:12px var(--mono);vertical-align:top;color:var(--accent);margin-left:13px;position:relative;top:10px}.section-side{font:13px var(--mono);color:var(--muted);padding-bottom:10px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 24px;display:grid}.project-card{min-width:0;scroll-margin-top:110px}.project-image{aspect-ratio:16/9;background:var(--surface);display:block;position:relative;overflow:hidden}.project-image img{object-fit:cover;object-position:center;width:100%;height:100%}.image-action{color:#f1f1ec;opacity:1;background:#090a0bd9;gap:25px;padding:7px 12px;font-size:12px;display:flex;position:absolute;bottom:14px;right:14px}.project-image:hover{outline:1px solid var(--muted);outline-offset:-1px}.about-section{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:9%;padding-block:75px 105px;display:grid}.about-section h2{letter-spacing:-.025em;margin-top:25px;font-size:36px;font-weight:400;line-height:1.65}.about-copy{padding-top:46px}.about-copy p{font-size:16px;line-height:1.95}.about-copy p+p{color:var(--muted);margin-top:20px}.about-disciplines{flex-wrap:wrap;gap:15px 25px;margin-top:30px;font-size:13px;display:flex}.about-disciplines span{border-bottom:1px solid var(--line);padding-bottom:6px}.site-footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:45px;padding-block:60px 24px;display:grid}.footer-heading p{margin-top:10px;font-size:32px;font-weight:400}.contact-link{border-bottom:1px solid var(--line);justify-self:end;align-items:center;gap:70px;padding-block:18px;font-size:23px;display:flex}.contact-link span{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:20px;padding-top:28px;font-size:12px;display:flex}.wechat-dialog{border:1px solid var(--line);background:var(--surface);max-width:min(430px,100vw - 32px);color:var(--fg);padding:30px}.wechat-dialog::backdrop{background:#000b}.dialog-close{min-height:44px;margin:0 0 22px auto;font-size:14px;display:block}.wechat-dialog h2{margin:8px 0 24px;font-size:27px}.wechat-dialog img{background:#fff;width:100%;height:auto}.wechat-dialog p:not(.eyebrow){color:var(--muted);margin-block:20px 10px;font-size:14px}.wechat-dialog>a{text-underline-offset:5px;font-size:14px;text-decoration:underline}body:has(dialog[open]){overflow:hidden}:root[data-theme=light] .year-layer span:first-child{color:#a5aaa4}:root[data-theme=light] .year-layer span:last-child{color:#767e78}@media (width>=1700px){.hero-content{padding-top:520px}.year-layer,.year-outline{width:1500px;font-size:527px;left:50%;right:auto;transform:translate(-50%)}.robot-layer{left:calc(50% - 420px)}}@media (width<=1050px){.hero{height:auto;min-height:690px;padding-bottom:115px}.robot-layer{width:68%;top:2%;left:14%}.hero-content{padding-top:340px}.identity h1{font-size:30px}.project-index{width:210px}.identity>p{font-size:16px}.projects-grid{gap:40px 24px}.about-section{gap:6%}.about-section h2{font-size:30px}}@media (width<=700px){:root{--gutter:5vw}.site-header{gap:12px;height:68px}.wordmark{font-size:15px}.site-header nav{gap:18px;font-size:13px}.site-header nav a{padding-block:14px}.theme-toggle{gap:5px;min-width:43px;font-size:12px}.theme-symbol{font-size:18px}.hero{flex-direction:column;height:auto;min-height:0;max-height:none;padding-bottom:0;display:flex}.hero-topline{padding-top:23px;font-size:10px}.hero-topline span:last-child{display:none}.year-layer{top:90px;font-size:32vw;line-height:1;inset-inline:3%}.year-outline{top:130px;font-size:32vw;inset-inline:3%}.robot-layer{z-index:0;width:80%;max-width:430px;top:33px;left:17%}.hero-content{padding-top:290px;display:block}.identity{z-index:2;position:relative}.identity h1{font-size:32px}.identity>p{margin-top:9px}.identity .identity-fields{font-size:13px}.identity .text-link{margin-top:12px;padding-block:9px}.project-index{grid-template-columns:1fr 1fr;gap:0 22px;width:100%;margin-top:26px;display:grid}.project-index li{border-top:1px solid var(--line)}.project-index a{gap:10px;padding:13px 0;font-size:14px}.project-index small{font-size:12px}.index-arrow{font-size:13px}.hero-bottom{flex-wrap:wrap;gap:14px;margin-top:16px;padding-top:12px;font-size:11px;position:relative;bottom:auto}.hero-bottom>span:before{margin-right:7px}.motion-toggle{display:none}.work-section{padding-block:65px 60px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:29px}.section-side{padding-bottom:8px;font-size:11px}.eyebrow{font-size:11px}.projects-grid{grid-template-columns:1fr;gap:42px}.image-action{opacity:1;gap:8px;padding:4px 6px;font-size:11px;bottom:6px;right:6px}.about-section{padding-block:45px 60px;display:block}.about-section h2{margin-top:17px;font-size:28px;line-height:1.55}.about-copy{padding-top:25px}.about-copy p{font-size:16px}.site-footer{gap:30px;padding-block:40px 24px}.footer-heading p{font-size:27px}.contact-link{gap:28px;font-size:18px}.footer-bottom{flex-wrap:wrap;gap:16px;font-size:11px}.footer-bottom span:last-child{display:none}}@media (width>=701px) and (width<=1100px){.wordmark{flex-direction:column;align-items:flex-start;gap:6px}.wordmark-role{border:0;padding:0}}@media (width<=700px){.site-header{grid-template-rows:50px 50px;grid-template-columns:minmax(0,1fr);align-items:center;gap:0;height:101px;padding-top:0;display:grid}.wordmark{flex-direction:row;grid-area:1/1;justify-content:space-between;align-items:center;gap:12px;width:100%}.wordmark-name{font-size:14px}.site-header .wordmark-role{font:10px/1.4 var(--font);letter-spacing:0;border:0;padding:0}.site-header nav[aria-label]{border-top:1px solid var(--line);grid-area:2/1;grid-template-columns:repeat(4,minmax(0,1fr));align-self:stretch;gap:0;width:100%;margin:0;display:grid;position:static;transform:none}.site-header nav a[href]{flex-direction:row;justify-content:center;gap:6px;width:100%;padding:0;font-size:12px}.site-header .nav-icon{width:16px;height:16px}.header-contact{display:none}}@media (width<=370px){.site-header nav{gap:12px}.theme-symbol{display:none}.wordmark-role{font-size:6px}.hero-content{padding-top:260px}.hero-bottom{gap:10px}.hero-bottom>span:before{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.robot-layer{will-change:auto}}.text-link .ui-icon,.contact-link .ui-icon{color:var(--accent)}.footer-bottom a{align-items:center;gap:8px;display:inline-flex}.site-header{padding-inline:max(var(--gutter),calc((100vw - 1600px)/2))}.site-header nav{margin-left:auto;position:static;transform:none}@media (width<=700px){.site-header{padding-inline:var(--gutter);border-bottom:0}.site-header nav[aria-label]{border-bottom:1px solid var(--line)}.hero-bottom{margin-top:30px}}@media (hover:none) and (pointer:coarse){:focus-visible{outline:none}}:focus-visible{outline:none}html:has(.image-lightbox){scrollbar-gutter:stable}html:has(.image-lightbox[open]){overflow:hidden}.image-lightbox{box-sizing:border-box;width:100dvw;max-width:none;height:100dvh;max-height:none;padding:calc(76px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:var(--bg);color:var(--fg);border:0;margin:0;position:fixed;inset:0;overflow:hidden}.image-lightbox[open]{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;display:grid}.image-lightbox::backdrop{background:#000e}.lightbox-close{top:max(12px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));border:1px solid var(--line);background:var(--surface);z-index:1;justify-content:center;align-items:center;gap:8px;min-width:88px;min-height:44px;font-size:14px;display:flex;position:fixed}.lightbox-rotate{top:max(12px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));border:1px solid var(--line);background:var(--surface);z-index:1;justify-content:center;align-items:center;gap:8px;min-width:88px;min-height:44px;padding:8px 12px;font-size:14px;display:flex;position:fixed}.lightbox-rotate:hover,.lightbox-rotate:focus-visible,.lightbox-close:hover,.lightbox-close:focus-visible{color:var(--accent)}.lightbox-stage{grid-area:1/2;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex}.lightbox-step{border:1px solid var(--line);background:var(--surface);min-width:44px;min-height:44px;color:var(--fg);font:inherit;grid-row:1;align-self:center;align-items:center;gap:8px;padding:12px;font-size:14px;display:flex}.lightbox-prev{grid-column:1}.lightbox-next{grid-column:3}.lightbox-step:disabled{opacity:.35;cursor:default}.lightbox-step:not(:disabled):hover,.lightbox-step:focus-visible{color:var(--accent)}.lightbox-count{font-variant-numeric:tabular-nums;color:var(--muted);grid-area:2/2;place-self:center;margin:0;font-size:14px}.image-lightbox.is-single{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0}.image-lightbox.is-single .lightbox-stage{grid-column:1}.lightbox-stage img{object-fit:contain;flex:none;width:auto;max-width:none;height:auto;max-height:none;transition:transform .45s cubic-bezier(.16,1,.3,1);display:block}.lightbox-message{text-align:center;color:var(--muted);font-size:14px}.image-lightbox [hidden]{display:none}@media (hover:none) and (pointer:coarse){.image-lightbox .lightbox-close:hover,.image-lightbox .lightbox-close:focus,.image-lightbox .lightbox-close:focus-visible,.image-lightbox .lightbox-rotate:hover,.image-lightbox .lightbox-rotate:focus,.image-lightbox .lightbox-rotate:focus-visible,.image-lightbox .lightbox-step:not(:disabled):hover,.image-lightbox .lightbox-step:focus,.image-lightbox .lightbox-step:focus-visible{color:var(--fg)}.image-lightbox .lightbox-close:active,.image-lightbox .lightbox-rotate:active,.image-lightbox .lightbox-step:not(:disabled):active{color:var(--accent)}}@media (width<=700px),(width<=1000px) and (height<=500px){.image-lightbox{padding:calc(72px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.lightbox-close{right:max(12px,env(safe-area-inset-right))}.lightbox-rotate{left:max(12px,env(safe-area-inset-left))}.lightbox-close,.lightbox-rotate{gap:8px;padding-inline:9px;font-size:12px}.lightbox-stage{grid-column:1/-1}.lightbox-step{grid-row:2}.lightbox-step span{font-size:12px}}.image-lightbox .ui-icon{stroke-width:2px;flex:0 0 18px;width:18px;height:18px;font-size:18px}.image-lightbox .lightbox-rotate .ui-icon{flex-basis:16px;width:16px;height:16px;font-size:16px}.contact-details[data-astro-cid-oqfpxexw]{width:100%;min-width:0}.contact-copy[data-astro-cid-oqfpxexw]{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:14px;width:100%;min-height:48px;padding:12px 0;display:flex}.contact-kind[data-astro-cid-oqfpxexw]{color:var(--muted);flex:none;font-size:12px}.contact-value[data-astro-cid-oqfpxexw]{overflow-wrap:anywhere;user-select:text;font-size:clamp(14px,1.4vw,20px)}.copy-hint[data-astro-cid-oqfpxexw]{color:var(--accent);flex:none;margin-left:auto;font-size:12px}.contact-copy[data-astro-cid-oqfpxexw]:hover .contact-value[data-astro-cid-oqfpxexw]{color:var(--accent)}.copy-status[data-astro-cid-oqfpxexw]{min-height:24px;color:var(--muted);margin:6px 0 0;font-size:12px}.copy-manual[data-astro-cid-oqfpxexw]{color:var(--muted);font-size:12px}.copy-manual[data-astro-cid-oqfpxexw] input[data-astro-cid-oqfpxexw]{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--fg);font:inherit;user-select:text;margin-top:6px;padding:10px;display:block}.contact-nojs[data-astro-cid-oqfpxexw]{color:var(--muted);font-size:12px}[data-astro-cid-oqfpxexw][hidden]{display:none}.footer-contact[data-astro-cid-ju4pidww]{justify-self:end;width:min(100%,430px);min-width:0}@media (width<=700px){.site-footer[data-astro-cid-ju4pidww]{grid-template-columns:1fr}.footer-contact[data-astro-cid-ju4pidww]{justify-self:start;width:100%}}
