:root{--paper:#f2f2ee;--ink:#1f1f1d;--muted:#5c5c58;--green:#1f1f1d;--lime:#e6e6e1;--line:#dcdcd6;--rust:#b3291f;--white:#f2f2ee;--serif:var(--sans);--sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--sans);font-weight:500;line-height:1.4}p{color:var(--muted)}::selection{background:var(--lime)}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;top:-80px;left:24px;z-index:100;background:var(--ink);color:#fff;padding:10px 20px}.skip:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-row{height:84px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600}.brand-mark{width:35px;height:35px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:var(--serif);font-size:21px}.header-link{font-size:14px;color:var(--green);display:flex;align-items:center;gap:10px}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.04em;font-weight:400}.index-intro{display:grid;grid-template-columns:1fr .72fr;gap:50px;padding:68px 0 44px;align-items:end}.index-intro h1{font-size:38px;letter-spacing:-1px;margin-top:12px}.index-intro .intro-copy{padding-bottom:9px;max-width:410px}.index-intro p{font-size:17px}.index-rule{display:flex;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding:13px 0;font-size:13px;color:var(--muted);margin-bottom:36px}.index-rule b{font-weight:500;color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 36px}.project-card{min-width:0}.card-media{display:block;padding:26px 26px 0;background:#e8e9de;border:1px solid #d7ddcf;border-radius:16px;overflow:hidden;aspect-ratio:1.8;position:relative;transition:background .25s}.project-card:nth-child(2n) .card-media{background:#e9e5d9}.card-media .window{width:100%;height:100%;border:1px solid #c5ccbf;border-bottom:0;border-radius:8px 8px 0 0;overflow:hidden;background:var(--white);box-shadow:0 6px 24px #26352815}.window img{width:100%;height:100%;object-fit:cover;object-position:top}.card-meta{display:flex;justify-content:space-between;gap:14px;color:var(--green);font-size:12px;letter-spacing:.4px;margin-top:21px}.project-card h2{font-size:28px;margin:7px 0 10px}.project-card>p{font-size:16px;max-width:500px;min-height:3.7em}.card-bottom{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.card-type{font-size:13px;color:var(--muted)}.card-link{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--green)}.card-link:hover{text-decoration:underline;text-underline-offset:6px}.site-footer{border-top:1px solid var(--line);padding:24px 0;margin-top:76px;color:var(--muted);font-size:13px}.footer-row{display:flex;justify-content:space-between;gap:20px}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted);padding-top:31px}.breadcrumb a{color:var(--green)}.case-intro{display:grid;grid-template-columns:1.12fr .9fr;gap:70px;align-items:center;padding:45px 0 56px}.case-intro h1{font-size:clamp(36px,4.2vw,51px);letter-spacing:-.6px;margin:16px 0 18px}.case-intro .lede{font-size:18px;max-width:640px}.case-tag{font-size:12px;border:1px solid #b8c4b3;border-radius:25px;padding:3px 12px;color:var(--green);display:inline-block}.case-metadata{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1.3fr;padding:20px 0;gap:26px;margin-bottom:66px}.case-metadata dt{font-size:12px;color:var(--muted);margin-bottom:5px}.case-metadata dd{font-size:15px;margin:0}.intro-art{position:relative;padding:24px 12px 22px}.intro-art:before{content:"";position:absolute;inset:0;background:#e0e6d7;border-radius:43% 43% 24px 24px;z-index:-1}.intro-art .window{border:1px solid #c8cebf;border-radius:10px;overflow:hidden;box-shadow:0 15px 25px #20332314;transform:rotate(1deg);background:var(--white)}.intro-art img{width:100%;height:255px;object-fit:cover;object-position:top}.intro-art figcaption{font-size:12px;color:var(--muted);margin:13px 10px 0}.actions{display:flex;align-items:center;gap:23px;margin-top:25px;flex-wrap:wrap}.primary{display:inline-flex;align-items:center;gap:23px;padding:11px 20px;background:var(--ink);color:var(--white);border:1px solid var(--ink);border-radius:5px;font-size:14px}.primary:hover{background:#3a3a36}.text-link{font-size:14px;color:var(--green);border-bottom:1px solid #aab5a5;padding:5px 0}.story-block{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;margin-block:64px}.section-label{font-size:12px;color:var(--rust);letter-spacing:.04em;display:block;margin-bottom:12px}.story-block h2,.section-heading h2{font-size:32px}.story-copy p+p{margin-top:17px}.contribution{margin-top:26px;border-left:2px solid var(--rust);padding:4px 0 4px 22px;color:var(--ink)}.contribution strong{font-size:13px;display:block;color:var(--rust);margin-bottom:7px;font-weight:500}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:33px;border-top:1px solid var(--line);padding-top:28px;margin-top:35px}.feature h3{font-size:18px;font-weight:550;margin-bottom:10px}.feature p{font-size:15px}.feature small{font-size:12px;color:var(--rust);display:block;margin-bottom:11px}.result-band{margin:68px 0;background:var(--ink);color:var(--paper);border-radius:12px;padding:35px 38px;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.result-band .section-label{color:var(--lime)}.result-band h2{font-size:31px}.result-band p{color:#d1dace;font-size:16px}.result-band small{display:block;font-size:12px;color:#c0cfbd;margin-top:11px}.section-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:25px}.section-heading p{max-width:390px;font-size:14px}.gallery{margin-top:64px}.gallery-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:17px}.gallery-tab{font-size:14px;background:transparent;border:1px solid #c4ccbe;color:var(--green);border-radius:5px;padding:9px 16px}.gallery-tab[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}.gallery-stage{padding:22px;background:#e8e6db;border:1px solid #d8dbcf;border-radius:12px}.shot-button{display:block;padding:0;border:0;background:var(--white);width:100%;overflow:hidden;border-radius:5px}.shot-button img{width:100%;max-height:620px;object-fit:contain;object-position:top}.shot-caption{display:flex;justify-content:space-between;gap:18px;font-size:13px;color:var(--muted);margin-top:15px}.image-note{font-size:13px;color:var(--muted);margin-top:16px}.scope-note{margin-top:51px;padding-top:21px;border-top:1px solid var(--line)}.scope-note summary{font-size:14px;color:var(--green);cursor:pointer}.scope-note p{font-size:14px;margin-top:15px;max-width:940px}.project-switch{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:25px;margin-top:64px}.project-switch a:last-child{text-align:right}.project-switch span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.project-switch strong{font-size:17px;font-weight:500}.demo-section{margin-top:63px}.demo-box{background:#e8e9de;border:1px solid #d4dccd;border-radius:10px;padding:28px;display:flex;gap:30px;justify-content:space-between;align-items:center}.demo-box p{font-size:15px;max-width:650px}.demo-box .primary{flex-shrink:0}.viewer{border:1px solid #b8c2b1;border-radius:12px;padding:0;background:var(--paper);color:var(--ink);width:min(1320px,calc(100vw - 40px));height:min(92vh,1100px);max-height:92dvh;max-width:none;overflow:hidden;box-shadow:0 20px 80px #101b2966}.viewer::backdrop{background:#17271ee0;backdrop-filter:blur(3px)}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:65px;padding:12px 22px;border-bottom:1px solid var(--line)}.viewer-title{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-close{display:flex;align-items:center;gap:7px;background:transparent;border:1px solid #abb7a6;border-radius:5px;color:var(--ink);padding:7px 12px;font-size:14px}.viewer-content{height:calc(100% - 65px);overflow:auto;background:var(--white)}.viewer-content iframe{display:block;width:100%;height:100%;border:0;background:var(--white)}.viewer-content>img{width:100%;height:auto}.viewer-tip{font-size:12px;color:var(--muted);padding:8px 20px}.slip-cover{padding:22px 25px;background:#fffefa;height:100%;color:var(--ink)}.slip-cover .slip-top{font-size:12px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:9px}.slip-cover small{font-size:12px;color:var(--muted);display:block;margin-top:12px}.slip-cover .net{font:36px/1.4 Georgia,serif;color:var(--rust);margin:4px 0 12px}.slip-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:12px}.slip-lines span{display:block;color:var(--muted)}.slip-lines b{font-weight:500}.slip-bottom{border-top:1px solid var(--line);padding-top:13px;font-size:12px;color:var(--muted);margin-top:15px}.error-page{min-height:60vh;padding-block:80px}.error-page h1{font-size:48px;margin:15px 0}.error-page p{margin-bottom:25px}
@media(min-width:1300px){.index-intro{padding-top:77px}.project-grid{gap:62px 42px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.case-intro{gap:28px}.case-intro h1{font-size:37px}.story-block{gap:35px}.intro-art img{height:210px}.result-band{gap:25px;padding:27px}.feature-grid{gap:22px}.card-media{padding:18px 18px 0}.project-card h2{font-size:25px}.slip-cover{padding:12px 16px}.slip-cover .net{font-size:28px}.slip-lines{font-size:11px}.slip-bottom{margin-top:10px;padding-top:6px}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.header-row{height:69px}.brand{font-size:14px;gap:9px}.brand-mark{width:31px;height:31px}.header-link{font-size:13px}.index-intro{grid-template-columns:1fr;gap:19px;padding:42px 0 28px}.index-intro h1{font-size:32px}.index-intro p{font-size:16px}.index-intro .intro-copy{max-width:330px;padding:0}.index-rule{font-size:12px;margin-bottom:27px}.project-grid{grid-template-columns:1fr;gap:38px}.project-card h2{font-size:27px}.project-card>p{min-height:0}.card-bottom{margin-top:15px}.card-media{aspect-ratio:1.8;padding:21px 21px 0}.case-intro{grid-template-columns:1fr;gap:27px;padding:27px 0 34px}.case-intro h1{font-size:36px}.case-intro .lede{font-size:17px}.intro-art{max-width:480px;width:100%}.intro-art img{height:235px}.case-metadata{grid-template-columns:1fr 1fr;gap:20px;padding:17px 0;margin-bottom:38px}.case-metadata div:last-child{grid-column:1/-1}.story-block{grid-template-columns:1fr;gap:21px;margin-block:40px}.story-block h2,.section-heading h2{font-size:29px}.feature-grid{grid-template-columns:1fr;gap:25px;margin-top:23px}.feature{border-bottom:1px solid var(--line);padding-bottom:22px}.feature:last-child{border:0}.result-band{grid-template-columns:1fr;gap:18px;padding:27px 24px;margin:40px 0}.result-band h2{font-size:28px}.section-heading{display:block}.section-heading>p{margin-top:12px}.gallery{margin-top:43px}.gallery-stage{padding:12px}.shot-caption{font-size:12px}.gallery-tab{padding:8px 12px}.demo-box{display:block;padding:22px}.demo-box .primary{margin-top:18px}.demo-section{margin-top:42px}.scope-note{margin-top:35px}.project-switch{gap:20px;margin-top:43px}.project-switch strong{font-size:15px}.footer-row{display:block}.footer-row span{display:block}.site-footer{margin-top:48px;font-size:12px}.viewer{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0}.viewer-bar{padding:10px 15px;height:60px}.viewer-content{height:calc(100% - 60px)}.slip-cover{padding:17px 18px}.slip-cover .net{font-size:32px}.slip-lines{font-size:12px}.slip-bottom{padding-top:10px;margin-top:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Match the rounded objects, spacing and buttons on the homepage. */
.index-intro h1{font-size:clamp(32px,3.8vw,44px);letter-spacing:0;}
.index-intro .eyebrow{font-size:12px;}
.card-media{background:#e9e9e4;border-color:#dcdcd6;border-radius:0;}
.project-card:nth-child(2n) .card-media{background:#e9e9e4;}
.card-media .window{border-color:#dcdcd6;border-radius:0;box-shadow:none;}

.project-card h2{font-family:var(--sans);font-weight:600;line-height:1.55;}

.card-bottom{align-items:center;}
.card-link{min-height:44px;gap:16px;padding:7px 15px;border:1px solid #c9c9c3;border-radius:2px;color:var(--ink);background:transparent;transition:background .2s,border-color .2s;}
.card-link:hover{background:#e9e9e4;border-color:var(--ink);text-decoration:none;}
.primary{min-height:44px;border-radius:6px;}
.slip-cover{background:var(--white);}
@media(max-width:640px){.project-card h2{font-size:25px;}.card-bottom{gap:12px;}.card-type{font-size:12px;}.card-link{flex-shrink:0;font-size:13px;padding-inline:12px;}}
