@font-face{font-family:Inter;src:url(assets/inter-regular.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(assets/inter-bold.woff2) format('woff2');font-weight:700 900;font-display:swap}
:root{--paper:#f7f7f5;--ink:#080808;--muted:#7b7b78;--line:#d9d9d5;--pad:24px;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ink);font-family:Inter,'PingFang SC','Microsoft YaHei',sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{color:inherit}a{text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.3}button{border:0;background:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #9057e9;outline-offset:5px}::selection{background:#a88be1;color:#080808}.skip-link{position:fixed;left:20px;top:-80px;z-index:300;background:white;color:black;padding:15px}.skip-link:focus{top:15px}.site-header{position:absolute;z-index:20;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;color:white;gap:30px}.brand{font-weight:900;letter-spacing:-.07em;font-size:40px;line-height:1}.brand span{display:inline-block;font-size:11px;vertical-align:top;letter-spacing:0;margin:3px 0 0 6px}.site-header nav{display:flex;gap:clamp(30px,5.4vw,80px)}.site-header nav a{display:flex;align-items:baseline;gap:12px;font-size:12px}.site-header nav a span{position:relative}.site-header nav a span:after{content:'';position:absolute;height:1px;background:currentColor;bottom:-4px;left:0;width:100%;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.site-header nav a:hover span:after,.site-header nav a[aria-current=page] span:after{transform:scaleX(1);transform-origin:left}sup{font-size:9px;font-weight:400;line-height:1}.profile-chip{display:flex;gap:12px;padding:6px 12px 6px 6px;border-radius:5px;background:#f7f7f5;color:#080808;width:227px}.profile-chip img{width:52px;height:52px;object-fit:cover;object-position:center 28%;border-radius:2px}.profile-chip span{flex:1;display:flex;flex-direction:column;justify-content:center;gap:5px}.profile-chip b{font-size:11px;font-weight:400}.profile-chip small{font-size:10px;display:flex;gap:12px}.profile-chip i{font-style:normal;color:#888}.menu-toggle{display:none}.site-header.on-paper{color:var(--ink)}.mobile-menu{position:fixed;inset:0;z-index:19;background:#080808;color:#fff;padding:130px 24px 30px;transform:translateY(-110%);transition:transform .65s var(--ease);display:flex;flex-direction:column;justify-content:space-between}.mobile-menu.open{transform:none}.mobile-menu nav{display:flex;flex-direction:column;gap:15px}.mobile-menu a{font-size:clamp(38px,9vw,76px);line-height:1.2;letter-spacing:-.06em}.mobile-menu sup{vertical-align:top;font-size:12px;margin-left:14px}.mobile-menu p{font-size:11px;color:#888}
.hero{height:100svh;min-height:640px;position:sticky;top:0;padding:var(--pad);color:#fff;overflow:hidden;display:flex;align-items:end;background:#535333}.hero-media,.hero canvas,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-media{object-fit:cover;will-change:transform;animation:hero-media 1.8s var(--ease) both}.hero canvas{opacity:0;transition:opacity 1s}.hero canvas.ready{opacity:1}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.06) 45%,rgba(0,0,0,.36));pointer-events:none}.hero-intro{position:absolute;top:193px;left:24px;font-size:16px;line-height:1.55;z-index:1;animation:up 1.2s .1s var(--ease) both}.hero-intro .muted{color:#fff9}.hero-intro .line-link{margin-top:36px;font-size:14px}.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:0 0 8px;border-bottom:1px solid currentColor;min-width:150px;position:relative}.line-link .arrow{display:inline-block;transition:transform .4s var(--ease)}.line-link:hover .arrow{transform:translate(3px,-3px)}.hero-bottom{position:relative;width:100%;z-index:1}.hero-specialties{font-size:15px;line-height:1.4;display:flex;flex-direction:column;gap:3px;margin-bottom:28px;animation:up 1.2s .3s var(--ease) both}.hero-specialties span{color:#fffa;margin-right:12px}.hero-signature{display:flex;align-items:end;justify-content:space-between;gap:30px}.edition{display:flex;align-items:center;gap:14px;font-size:12px;white-space:nowrap;margin-bottom:5px}.ruler{width:clamp(50px,8vw,140px);height:12px;background:repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 11px);opacity:.7}.hero-word{font-size:clamp(120px,21.5vw,340px);font-weight:900;letter-spacing:-.085em;line-height:.7;margin-right:.02em;overflow:hidden;display:flex}.hero-word span{display:inline-block;animation:logo-up 1.5s .2s var(--ease) both}.hero-word span:nth-child(2){animation-delay:.3s}.hero-word span:nth-child(3){animation-delay:.4s}.hero-scroll{position:absolute;right:26px;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.12em;display:flex;gap:14px}.hero-scroll:after{content:'';height:50px;width:1px;background:#fff8;animation:scroll-line 2.2s infinite}.paper{position:relative;z-index:2;background:var(--paper)}.section{padding:28px var(--pad) 100px}.section-label{display:grid;grid-template-columns:1fr 3fr 1fr;font-size:11px;line-height:1.3;gap:20px;margin-bottom:66px}.section-label>span:last-child{text-align:right}.intro-statement{font-size:clamp(32px,4.9vw,76px);line-height:1.11;letter-spacing:-.055em;max-width:1130px;margin-left:20%;margin-bottom:80px}.word-reveal span{color:#ccc;transition:color .2s}.word-reveal span.lit{color:inherit}.intro-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5vw}.portrait-wrap{overflow:hidden;aspect-ratio:.9;max-width:400px}.portrait-wrap img{width:100%;height:118%;object-fit:cover;object-position:center 28%;will-change:transform}.intro-copy{display:flex;flex-direction:column;justify-content:space-between;gap:38px;max-width:360px}.eyebrow{font-size:11px;margin-bottom:16px}.intro-copy p:not(.eyebrow){font-size:14px;line-height:1.9;color:#686864}.intro-copy h3{font-size:32px;line-height:1.1;letter-spacing:-.04em;margin-bottom:15px}.intro-stats{display:flex;flex-direction:column;justify-content:space-between}.stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stat-pair strong{font-size:64px;line-height:1.2;font-weight:400;letter-spacing:-.07em;display:block}.stat-pair small{font-size:11px;color:#777}.intro-stats .line-link{align-self:start}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:34px 0;margin-bottom:35px}.ticker-track{display:flex;width:max-content;gap:65px;align-items:center;animation:ticker 35s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker span{font-size:27px;letter-spacing:-.04em;white-space:nowrap}.ticker i{font-size:27px;font-style:normal;color:#a6a6a0}.works-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.display-title{font-size:clamp(80px,13vw,205px);line-height:.85;letter-spacing:-.075em}.works-title .line-link{margin-bottom:3px}.work-row{display:grid;grid-template-columns:5% 1fr 24% 8%;align-items:center;gap:16px;position:relative;min-height:168px;border-top:1px solid var(--line);transition:padding .5s var(--ease),color .4s;isolation:isolate}.work-row:last-child{border-bottom:1px solid var(--line)}.work-row:before{content:'';position:absolute;inset:0 -24px;background:#080808;z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease)}.work-row:hover{color:#fff;padding:0 12px}.work-row:hover:before{transform:scaleY(1);transform-origin:top}.work-no{font-size:11px;align-self:start;padding-top:30px}.work-name{font-size:clamp(24px,4vw,64px);line-height:1.05;letter-spacing:-.06em}.work-name small{display:block;font-size:12px;letter-spacing:0;margin-top:13px;color:#888}.work-meta{font-size:12px;color:#777}.work-arrow{font-size:35px;text-align:right;transition:transform .4s var(--ease)}.work-row:hover .work-arrow{transform:translate(5px,-5px)}.all-work{display:flex;justify-content:end;margin-top:34px}.dark{background:#080808;color:var(--paper)}.experience{border-top:1px solid var(--line)}.experience h2{font-size:clamp(40px,7vw,105px);letter-spacing:-.065em;line-height:1;margin-bottom:60px}.experience-row{display:grid;grid-template-columns:20% 40% 1fr;gap:25px;padding:34px 0;border-top:1px solid var(--line)}.experience-row>span{font-size:11px;color:#888}.experience-row h3{font-size:20px;line-height:1.5}.experience-row small{display:block;margin-top:7px;color:#888;font-size:11px}.experience-row p{max-width:400px;line-height:1.9;font-size:12px;color:#777}.banner{height:80svh;min-height:500px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:white}.banner img{position:absolute;inset:0;width:100%;height:115%;object-fit:cover;filter:brightness(.65)}.banner-copy{position:relative;z-index:1;text-align:center}.banner h2{font-size:clamp(48px,7vw,110px);line-height:1.08;letter-spacing:-.06em;margin-bottom:36px}.faq{display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding-top:80px}.faq h2{font-size:clamp(38px,5vw,70px);letter-spacing:-.06em;line-height:1}.faq details{border-bottom:1px solid var(--line);padding:24px 0}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:16px;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:25px;line-height:1;transition:transform .4s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:#777;line-height:1.9;font-size:13px;max-width:600px;padding:25px 35px 8px 0}.contact-footer{background:#080808;color:#fff;position:relative;z-index:2;padding:40px var(--pad) 25px;overflow:hidden}.contact-footer .section-label{margin-bottom:100px;color:#999}.contact-footer h2{font-size:clamp(58px,10vw,160px);line-height:.98;letter-spacing:-.075em}.contact-footer .contact-line{display:flex;justify-content:space-between;align-items:end;margin:40px 0 90px;gap:30px}.phone-link{font-size:clamp(25px,4vw,64px);line-height:1.1;letter-spacing:-.04em}.contact-actions{display:flex;gap:25px;align-items:center}.text-button{font-size:12px;color:#888;padding:10px 0;border-bottom:1px solid #555}.footer-bar{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #333;padding-top:22px;font-size:11px;color:#aaa}.footer-bar nav{display:flex;gap:35px}.footer-word{font-weight:900;font-size:33vw;line-height:.8;letter-spacing:-.09em;margin:70px 0 -1.2vw;text-align:center}.footer-bar button{color:#aaa;font-size:11px}.page-top{padding:160px var(--pad) 80px;min-height:90vh}.page-top .section-label{margin-bottom:75px}.page-heading{font-size:clamp(70px,12.5vw,190px);line-height:.88;letter-spacing:-.075em;margin-bottom:50px}.page-deck{display:flex;justify-content:space-between;align-items:start;gap:35px;margin-bottom:65px}.page-deck p{max-width:440px;font-size:15px;color:#777;line-height:1.9}.filters{display:flex;flex-wrap:wrap;gap:10px}.filters button{padding:9px 18px;border:1px solid var(--line);border-radius:50px;font-size:12px;transition:background .3s,color .3s}.filters button.active{background:#080808;color:white;border-color:#080808}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 24px}.project-card .card-img{overflow:hidden;background:#e5e5df;aspect-ratio:1.4}.project-card img{height:100%;width:100%;object-fit:cover;transition:transform 1s var(--ease)}.project-card:hover img{transform:scale(1.05)}.card-caption{display:flex;justify-content:space-between;gap:25px;margin-top:20px}.card-caption h2{font-size:25px;letter-spacing:-.045em;line-height:1.1}.card-caption p{font-size:11px;color:#888;margin-top:7px}.card-caption>span{font-size:25px}.case-heading{font-size:clamp(57px,10vw,155px);line-height:.9;letter-spacing:-.075em;margin:45px 0 30px;max-width:1200px;overflow-wrap:break-word}.case-top{padding:150px var(--pad) 45px}.case-breadcrumb{font-size:11px;display:flex;justify-content:space-between;color:#888}.case-meta{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-top:35px}.case-meta h2{font-size:20px}.case-meta span{font-size:11px;color:#888}.case-cover{max-height:90svh;overflow:hidden;background:#ddd}.case-cover img{width:100%;height:auto;object-fit:cover;max-height:90svh}.case-overview{display:grid;grid-template-columns:1fr 2fr 1fr;gap:50px;padding:90px var(--pad)}.case-overview h2{font-size:14px}.case-overview p{font-size:20px;line-height:1.8;letter-spacing:-.025em}.case-overview ul{margin:0;padding:0;list-style:none;font-size:12px;color:#777;line-height:2.2}.case-gallery{padding:0 var(--pad) 70px;max-width:1600px;margin:auto;display:flex;flex-direction:column;gap:20px}.gallery-item{display:block;padding:0;background:#ddd;overflow:hidden;position:relative;width:100%;cursor:zoom-in}.gallery-item img{width:100%;height:auto}.gallery-item:after{content:'查看大图 ↗';position:absolute;right:20px;bottom:20px;background:#fff;color:#080808;padding:10px 15px;font-size:11px;opacity:0;transform:translateY(10px);transition:.3s}.gallery-item:hover:after{opacity:1;transform:none}.case-next{display:block;border-top:1px solid var(--line);padding:60px var(--pad) 90px}.case-next p{font-size:11px;color:#888;margin-bottom:30px}.case-next h2{font-size:clamp(42px,8vw,120px);line-height:1;letter-spacing:-.065em;display:flex;justify-content:space-between}.about-hero{display:grid;grid-template-columns:1fr 1.2fr;gap:9vw;align-items:start}.about-hero .portrait-wrap{max-width:none;aspect-ratio:.78}.about-hero h2{font-size:clamp(35px,5vw,75px);line-height:1.1;letter-spacing:-.055em;margin-bottom:35px}.about-hero .about-description{font-size:16px;color:#777;line-height:2;max-width:500px}.about-details{margin-top:50px;padding-top:25px;border-top:1px solid var(--line);font-size:12px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.about-details dt{color:#888;margin-bottom:8px}.about-details dd{margin:0}.contact-page{background:#080808;color:white;min-height:100svh}.contact-page h1{font-size:clamp(78px,14vw,220px);letter-spacing:-.08em;line-height:.85}.contact-page .contact-intro{display:flex;justify-content:space-between;gap:60px;margin:60px 0 80px}.contact-page .contact-intro p{color:#888;max-width:400px;font-size:15px;line-height:1.9}.contact-page .contact-intro a{font-size:clamp(24px,5vw,75px);letter-spacing:-.05em}.contact-info-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #333;padding-top:30px;gap:35px}.contact-info-grid span{display:block;font-size:10px;color:#888;margin-bottom:15px}.contact-info-grid p{font-size:17px}.contact-info-grid button{color:#888;padding:12px 0;font-size:12px;border-bottom:1px solid #444}.reader{padding:140px var(--pad) 80px}.reader h1{font-size:clamp(40px,7vw,100px);letter-spacing:-.07em;line-height:1;margin-bottom:40px}.reader-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:0;background:var(--paper);z-index:4;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:25px}.reader-controls{display:flex;align-items:center;gap:14px}.reader-controls input{width:55px;text-align:center;padding:7px 3px;border:1px solid var(--line);background:transparent;color:inherit}.reader-controls button{width:42px;height:38px;border:1px solid var(--line);font-size:20px}.reader-toolbar>a{font-size:11px;color:#777}.reader-stage{min-height:55vh;background:#deded8}.reader-stage button{padding:0;width:100%;display:block;cursor:zoom-in}.reader-stage img{width:100%;height:auto}.reader-thumbs{display:flex;gap:8px;margin-top:24px;overflow:auto;padding:5px 0 15px;scrollbar-width:thin}.reader-thumbs button{flex:none;width:110px;position:relative;border:2px solid transparent;padding:0;background:#ddd}.reader-thumbs button.active{border-color:#080808}.reader-thumbs img{width:100%;height:65px;object-fit:cover}.reader-thumbs span{position:absolute;bottom:0;right:0;background:#080808;color:#fff;font-size:9px;padding:0 5px}.reader-chapters{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:11px;color:#888;margin:22px 0}.reader-chapters button{padding:0;color:inherit}.reader-help{font-size:10px;color:#888;margin-top:20px}.page-curtain{position:fixed;inset:0;background:#0b0b0b;color:white;z-index:100;display:grid;place-items:center;transform:translateY(101%);pointer-events:none}.page-curtain span{font-size:12vw;font-weight:700;letter-spacing:-.08em}.page-curtain.in{transform:none;transition:transform .42s cubic-bezier(.77,0,.175,1)}.page-curtain.out{transform:translateY(-101%);transition:transform .5s cubic-bezier(.77,0,.175,1)}.cursor{position:fixed;top:0;left:0;width:130px;height:85px;pointer-events:none;z-index:40;opacity:0;transform:translate(-50%,-50%) scale(.7);transition:opacity .2s,scale .4s var(--ease);will-change:left,top}.cursor img{width:100%;height:100%;object-fit:cover;border-radius:3px;box-shadow:0 8px 30px #0003}.cursor span{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;color:#fff;text-shadow:0 1px 8px #000}.cursor.visible{opacity:1;scale:2.5}.toast{position:fixed;z-index:250;bottom:25px;left:50%;transform:translate(-50%,25px);padding:13px 22px;background:white;color:#080808;border:1px solid #ddd;border-radius:4px;opacity:0;pointer-events:none;transition:.3s;white-space:nowrap;font-size:12px}.toast.visible{transform:translate(-50%,0);opacity:1}dialog{border:0;padding:0;background:#0b0b0b;color:white;max-width:none;max-height:none;width:100%;height:100%;margin:0;position:fixed;inset:0}dialog::backdrop{background:#000d}.lightbox-toolbar{position:fixed;top:0;left:0;right:0;height:65px;padding:15px 24px;display:flex;align-items:center;justify-content:space-between;z-index:2;background:linear-gradient(#080808,transparent);gap:15px;font-size:11px}.lightbox-toolbar div{display:flex;gap:25px}.lightbox-toolbar button{color:#fff;font-size:11px}.lightbox-content{height:100%;width:100%;overflow:auto;display:flex;align-items:safe center;justify-content:safe center;padding:65px 25px 70px}.lightbox-content img{max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto}.lightbox-content.zoomed{display:block}.lightbox-content.zoomed img{max-width:none;max-height:none;width:1800px;height:auto}.lightbox-bottom{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:35px;padding:15px;background:linear-gradient(transparent,#080808);font-size:11px}.lightbox-bottom button{color:#fff;font-size:25px;width:45px}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.reveal.shown{opacity:1;transform:none}main{outline:none;min-height:100svh}.empty-state{padding:180px 25px;background:var(--paper);min-height:100vh}.empty-state h1{font-size:60px;margin-bottom:30px}
@keyframes up{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes logo-up{from{transform:translateY(120%)}to{transform:none}}@keyframes hero-media{from{transform:scale(1.2);opacity:.1}to{transform:scale(1);opacity:1}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes scroll-line{0%,100%{transform:scaleY(.3);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}
@media(min-width:1600px){.section,.page-top,.case-top,.case-overview,.contact-footer,.reader{padding-left:max(24px,calc((100vw - 1552px)/2));padding-right:max(24px,calc((100vw - 1552px)/2))}}
@media(max-width:1100px){.profile-chip{display:none}.site-header nav{gap:45px}.intro-statement{margin-left:10%}.intro-grid{gap:35px;grid-template-columns:1fr 1fr}.intro-stats{grid-column:2;gap:30px}.intro-grid>.portrait-wrap{grid-row:span 2;align-self:stretch;aspect-ratio:auto}.work-row{grid-template-columns:5% 1fr 22% 5%}.experience-row{grid-template-columns:20% 1fr 1fr}.experience-row h3{font-size:16px}.case-overview{gap:25px;grid-template-columns:1fr 2fr}.case-overview ul{grid-column:2}.contact-footer .section-label{margin-bottom:70px}.hero-word{font-size:24vw}}
@media(max-width:700px){:root{--pad:20px}.site-header{top:20px;left:20px;right:20px}.brand{font-size:34px}.site-header>nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:12px 0 12px 20px;z-index:22;color:inherit}.menu-toggle span{display:block;width:25px;height:1px;background:currentColor;transition:transform .4s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-header.menu-open{position:fixed;color:#fff}.hero{min-height:640px;height:100svh}.hero-intro{top:145px;left:20px;font-size:14px}.hero-intro .line-link{margin-top:28px}.hero-media{object-position:61% center}.hero-specialties{font-size:13px;margin-bottom:30px}.hero-signature{flex-direction:column;align-items:start;gap:30px}.hero-word{font-size:37vw;line-height:.72;align-self:center;letter-spacing:-.09em}.edition{font-size:10px}.ruler{width:90px}.hero-scroll{right:20px;top:38%;font-size:8px}.section{padding-top:24px;padding-bottom:65px}.section-label{grid-template-columns:45px 1fr auto;gap:10px;font-size:9px;margin-bottom:45px}.intro-statement{margin-left:0;font-size:36px;line-height:1.16;margin-bottom:45px}.intro-grid{display:flex;flex-direction:column;gap:35px}.intro-grid>.portrait-wrap{width:70%;aspect-ratio:.85;max-width:none}.intro-copy{max-width:none;gap:30px}.intro-copy h3{font-size:30px}.intro-copy p:not(.eyebrow){font-size:13px}.intro-stats{gap:30px}.stat-pair{max-width:300px}.stat-pair strong{font-size:60px}.ticker{padding:25px 0;margin-bottom:10px}.ticker-track{gap:30px}.ticker span{font-size:21px}.ticker i{font-size:20px}.works-title{margin-bottom:30px}.display-title{font-size:24vw}.works-title>.line-link{display:none}.work-row{min-height:138px;grid-template-columns:25px 1fr 25px;gap:12px}.work-no{font-size:9px;padding-top:25px}.work-name{font-size:30px;letter-spacing:-.05em}.work-name small{font-size:10px;margin-top:10px}.work-meta{display:none}.work-arrow{font-size:27px}.work-row:before{inset:0 -20px}.all-work{margin-top:28px}.experience h2{font-size:45px;margin-bottom:35px}.experience-row{grid-template-columns:1fr;gap:12px;padding:25px 0}.experience-row>span{font-size:10px}.experience-row h3{font-size:17px}.experience-row p{max-width:none;font-size:12px}.banner{min-height:480px;height:70svh}.banner img{object-position:65% center}.banner h2{font-size:44px}.faq{grid-template-columns:1fr;gap:30px;padding-top:55px}.faq h2{font-size:45px}.faq details{padding:21px 0}.faq summary{font-size:14px}.faq details p{font-size:12px}.contact-footer{padding-top:30px}.contact-footer .section-label{margin-bottom:60px}.contact-footer h2{font-size:62px}.contact-footer .contact-line{margin:35px 0 60px;align-items:start;flex-direction:column;gap:24px}.phone-link{font-size:36px}.footer-bar{align-items:start;gap:25px;flex-wrap:wrap;font-size:9px}.footer-bar nav{gap:20px;order:3;width:100%}.footer-word{font-size:36vw;margin-top:55px}.page-top{padding-top:130px;padding-bottom:60px}.page-top .section-label{margin-bottom:45px}.page-heading{font-size:23vw;margin-bottom:35px}.page-deck{flex-direction:column;gap:30px;margin-bottom:35px}.page-deck p{font-size:13px}.filters{gap:7px}.filters button{font-size:10px;padding:8px 13px}.project-grid{grid-template-columns:1fr;gap:35px}.card-caption{margin-top:15px}.card-caption h2{font-size:26px}.card-caption p{font-size:10px}.case-top{padding-top:125px;padding-bottom:30px}.case-heading{font-size:16vw;margin-top:35px;line-height:1}.case-meta{margin-top:25px;align-items:start;flex-direction:column;gap:12px}.case-meta h2{font-size:17px}.case-meta span{font-size:10px}.case-overview{grid-template-columns:1fr;padding:45px 20px;gap:24px}.case-overview p{font-size:17px}.case-overview ul{grid-column:auto}.case-gallery{padding:0 8px 35px;gap:8px}.gallery-item:after{display:none}.case-next{padding:40px 20px 60px}.case-next h2{font-size:10vw}.about-hero{grid-template-columns:1fr;gap:40px}.about-hero .portrait-wrap{width:80%;aspect-ratio:.85}.about-hero h2{font-size:38px}.about-hero .about-description{font-size:14px}.about-details{margin-top:35px;gap:24px;font-size:11px}.contact-page h1{font-size:23vw}.contact-page .contact-intro{margin:45px 0 55px;flex-direction:column;gap:35px}.contact-page .contact-intro p{font-size:13px}.contact-page .contact-intro a{font-size:10vw}.contact-info-grid{grid-template-columns:1fr;gap:30px}.contact-info-grid p{font-size:15px}.reader{padding-top:125px}.reader h1{font-size:42px}.reader-toolbar{gap:8px;flex-wrap:wrap;padding:12px 0}.reader-controls{gap:10px;font-size:11px}.reader-controls button{width:35px;height:34px}.reader-stage{min-height:200px}.reader-thumbs button{width:80px}.reader-thumbs img{height:50px}.reader-chapters{font-size:10px;gap:12px 18px}.reader-help{font-size:9px}.cursor{display:none!important}.lightbox-toolbar{padding:16px;font-size:9px}.lightbox-toolbar div{gap:15px}.lightbox-toolbar button{font-size:10px}.lightbox-content{padding:65px 8px 65px}.lightbox-content.zoomed img{width:1200px}.toast{font-size:11px;max-width:90vw;white-space:normal}.reveal{transform:translateY(22px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-media{opacity:1;transform:none}.reveal{opacity:1;transform:none}.word-reveal span{color:inherit}.hero canvas{display:none}.page-curtain{display:none}.ticker-track{animation:none}.hero{position:relative}.cursor{display:none}}

/* Motion is scoped to the homepage; project pages retain their existing behavior. */
.home-route .site-header{animation:home-enter 1s cubic-bezier(.44,0,.56,1) both}
.home-route .hero{--home-scroll:0;background:#000;filter:none}
.home-route .hero-intro{animation:none}
.home-route .hero-intro>p,.home-route .hero-intro>.line-link{animation:home-enter 1s var(--ease) both}
.home-route .hero-intro>p:nth-child(2){animation-delay:.1s}
.home-route .hero-intro>p:nth-child(3){animation-delay:.2s}
.home-route .hero-intro>.line-link{animation-delay:.3s}
.home-route .hero-bottom{transform:translateY(calc(var(--home-scroll)*-80px))}
.home-route .hero-specialties{animation:home-enter 1s .2s var(--ease) both}
.home-route .hero-word span{animation:home-name-in 1.2s .05s var(--ease) both}
.home-route .hero-word span:nth-child(2){animation-delay:.15s}
.home-route .hero-word span:nth-child(3){animation-delay:.25s}
.home-route .home-roll{display:inline-flex;vertical-align:bottom;white-space:pre;line-height:inherit}
.home-route .home-roll-char{position:relative;display:inline-block;overflow:hidden;line-height:inherit}
.home-route .home-roll-char>span{display:block;transition:transform .4s cubic-bezier(.25,.1,.25,1);transition-delay:calc(var(--letter)*.025s)}
.home-route .home-roll-char>span+span{position:absolute;inset:0;transform:translateY(120%)}
.home-route a:is(:hover,:focus-visible) .home-roll-char>span:first-child{transform:translateY(-120%)}
.home-route a:is(:hover,:focus-visible) .home-roll-char>span+span{transform:translateY(0)}
.home-route .site-header nav a .home-roll:after,.home-route .site-header nav a .home-roll span:after{display:none}
.home-route .home-pending{opacity:0}
.home-route .home-pending:focus-visible{opacity:1}
.home-route .intro .portrait-wrap,.home-route .intro .portrait-wrap img{transform-origin:center;will-change:scale}
.home-image-trail{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden;contain:layout style paint;isolation:isolate}
.home-image-trail img{position:absolute;left:0;top:0;width:210px;height:240px;max-width:none;object-fit:cover;opacity:0;pointer-events:none;will-change:transform,opacity}
@keyframes home-enter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes home-name-in{from{opacity:0;transform:translateY(85%)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px),(hover:none){.home-image-trail{display:none}}
@media(prefers-reduced-motion:reduce){.home-route .hero{filter:none}.home-route .hero-bottom{transform:none}.home-route .home-pending{opacity:1}.home-route .home-roll-char>span+span{display:none}.home-route a:is(:hover,:focus-visible) .home-roll-char>span:first-child{transform:none}.home-image-trail{display:none}}

.works-count{font-size:.22em;vertical-align:top;letter-spacing:-.04em;display:inline-block;margin:8px 0 0 18px;line-height:1.4}.work-category-nav{display:flex;gap:35px;flex-wrap:wrap;margin-bottom:65px;padding-bottom:25px;border-bottom:1px solid var(--line)}.work-category-nav button{padding:0;display:flex;gap:12px;align-items:baseline;font-size:13px}.work-category-nav button>span{margin-left:10px;transition:transform .3s var(--ease)}.work-category-nav button:hover>span{transform:translate(3px,3px)}.work-category-nav sup{color:#888}.work-group{scroll-margin-top:25px}.work-group+.work-group{margin-top:80px}.work-group-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.work-group-heading p{font-size:10px;color:#888;letter-spacing:.04em;margin-bottom:14px}.work-group-heading h2,.work-group-heading h3{font-size:clamp(28px,3vw,45px);line-height:1.2;letter-spacing:-.04em}.work-group-heading>span{font-size:10px;color:#888;padding-bottom:4px;white-space:nowrap}.grouped-projects .work-group+.work-group{margin-top:100px}
@media(max-width:700px){.works-count{margin:3px 0 0 12px;font-size:.24em}.work-category-nav{gap:15px 22px;margin-bottom:45px;padding-bottom:20px}.work-category-nav button{font-size:11px;gap:7px}.work-category-nav button>span{margin-left:0}.work-group+.work-group{margin-top:55px}.work-group-heading{margin-bottom:24px;gap:15px}.work-group-heading p{font-size:8px;margin-bottom:10px}.work-group-heading h2,.work-group-heading h3{font-size:27px}.work-group-heading>span{font-size:8px}.grouped-projects .work-group+.work-group{margin-top:60px}}

.case-top-logo{padding-top:135px;padding-bottom:30px}.case-top-logo .case-heading{font-size:clamp(48px,6vw,90px);margin:25px 0 20px}.case-top-logo .case-meta{margin-top:20px}.logo-motion{padding:0 var(--pad) 25px;background:white}.logo-motion-frame{position:relative;max-width:1600px;margin:auto;background:white}.logo-motion video{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:76svh;object-fit:contain;background:white}.logo-play-toggle{position:absolute;right:20px;bottom:20px;padding:10px 16px;background:#080808;color:#fff;border-radius:40px;font-size:11px;border:1px solid #080808;transition:background .3s,color .3s}.logo-play-toggle:hover{background:white;color:#080808}.logo-motion-caption{max-width:1600px;margin:12px auto 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#888}.logo-motion-caption a{color:#080808;border-bottom:1px solid #888;padding-bottom:3px}@media(max-width:700px){.case-top-logo{padding-top:120px;padding-bottom:25px}.case-top-logo .case-heading{font-size:15vw}.logo-motion{padding:0 8px 20px}.logo-motion video{max-height:none}.logo-play-toggle{right:10px;bottom:10px;padding:7px 11px;font-size:9px}.logo-motion-caption{padding:0 10px;gap:15px;font-size:8px;align-items:start}.logo-motion-caption a{font-size:9px;white-space:nowrap}}

.case-top-motion{padding-top:135px;padding-bottom:36px}.case-top-motion .case-heading{font-size:clamp(46px,6vw,90px);margin:25px 0 20px}.case-top-motion .case-meta{margin-top:20px}.motion-intro{max-width:760px;margin-top:22px;color:#777;font-size:13px;line-height:1.9}.motion-showcase{padding:0 var(--pad) 75px;max-width:1650px;margin:0 auto}.motion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.motion-item{min-width:0}.motion-stage{position:relative;aspect-ratio:3/4;max-height:74svh;background:#ebe7e3;overflow:hidden}.motion-stage video{display:block;width:100%;height:100%;object-fit:contain;background:#ebe7e3}.motion-tools{position:absolute;bottom:14px;left:14px;right:14px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.motion-tools button{pointer-events:auto;background:#080808cc;color:white;padding:8px 13px;border:1px solid #ffffff40;border-radius:50px;backdrop-filter:blur(8px);font-size:10px;transition:background .2s}.motion-tools button:hover{background:#080808}.motion-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px}.motion-caption span{font-size:10px;color:#888}.motion-caption h2{font-size:18px;letter-spacing:-.03em}.motion-footnote{font-size:9px;color:#999;letter-spacing:.06em;margin-top:30px}.motion-mobile-hint{display:none}.motion-stage:fullscreen{width:100vw;height:100vh;max-height:none;aspect-ratio:auto;background:black;display:flex;align-items:center;justify-content:center}.motion-stage:fullscreen video{height:100%;width:100%;object-fit:contain;background:black}.motion-stage:fullscreen .motion-tools{bottom:25px;left:25px;right:25px}@media(max-width:700px){.case-top-motion{padding-top:120px;padding-bottom:28px}.case-top-motion .case-heading{font-size:13vw;line-height:1.05}.motion-intro{font-size:12px;margin-top:18px}.motion-showcase{padding:0 0 45px}.motion-mobile-hint{display:block;font-size:10px;color:#888;margin:0 20px 16px}.motion-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 20px;scroll-padding:20px;scrollbar-width:thin}.motion-item{flex:0 0 84%;scroll-snap-align:start}.motion-stage{max-height:none}.motion-tools{left:10px;right:10px;bottom:10px}.motion-tools button{font-size:9px;padding:7px 11px}.motion-caption{margin-top:13px}.motion-caption h2{font-size:17px}.motion-caption span{font-size:9px}.motion-footnote{margin:18px 20px 0}}
