#portfolio-entrance{--link-red:#b52f40}#portfolio-entrance .museum-section,#portfolio-entrance #project-view{--link-red:#ff8990}#portfolio-entrance.is-museum .pe-header,#portfolio-entrance.is-museum .outro-section{--link-red:color-mix(in srgb,#ff8990 calc((1 - var(--museum-ink-return,0))*100%),#b52f40)}#portfolio-entrance.is-project .pe-header{--link-red:#ff8990}#portfolio-entrance .ink-link :is(.ink-label,.ink-readable,.ink-visual,.ink-word,.ink-glyph,.ink-face){max-width:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;vertical-align:baseline;pointer-events:none;border:0;margin:0;padding:0;text-decoration:none}#portfolio-entrance .ink-link .ink-label{max-width:100%;display:inline-block;position:relative}#portfolio-entrance .ink-link .ink-readable{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;display:block;position:absolute;overflow:hidden}#portfolio-entrance .ink-link .ink-visual{display:inline}#portfolio-entrance .ink-link .ink-word{white-space:nowrap;display:inline-block}#portfolio-entrance .ink-link .ink-glyph{perspective:240px;display:inline-grid;position:relative}#portfolio-entrance .ink-link .ink-face{white-space:pre;backface-visibility:hidden;transform-origin:50%;transition:transform .4s cubic-bezier(.22,.7,.18,1),opacity .3s;transition-delay:var(--ink-delay);grid-area:1/1;display:block}#portfolio-entrance .ink-link .ink-front{opacity:1;transform:translateY(0)rotateX(0)}#portfolio-entrance .ink-link .ink-back{color:var(--link-red);opacity:0;transform:translateY(72%)rotateX(-90deg)}@media (hover:hover) and (pointer:fine){#portfolio-entrance .ink-link:hover .ink-front{opacity:0;transform:translateY(-72%)rotateX(90deg)}#portfolio-entrance .ink-link:hover .ink-back{opacity:1;transform:translateY(0)rotateX(0)}}#portfolio-entrance .ink-link:focus-visible .ink-front{opacity:0;transform:translateY(-72%)rotateX(90deg)}#portfolio-entrance .ink-link:focus-visible .ink-back{opacity:1;transform:translateY(0)rotateX(0)}#portfolio-entrance .work-index-list>.ink-link{position:relative}#portfolio-entrance .work-index-list>.ink-link:before{content:"";background:var(--link-red);opacity:0;border-radius:50%;width:6px;height:6px;transition:opacity .18s,transform .28s cubic-bezier(.22,.7,.18,1);position:absolute;top:34px;left:-18px;transform:scale(.4)}#portfolio-entrance .work-index-list>.ink-link:focus-visible:before{opacity:1;transform:scale(1)}@media (hover:hover) and (pointer:fine){#portfolio-entrance .work-index-list>.ink-link:hover:before{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){#portfolio-entrance:not(.allows-motion) .ink-link .ink-face,#portfolio-entrance:not(.allows-motion) .work-index-list>.ink-link:before{transition:none}#portfolio-entrance:not(.allows-motion) .ink-link :is(.ink-front,.ink-back){transform:none}}#portfolio-entrance.is-camera-travelling .pe-pond{filter:blur(var(--camera-blur,0px));will-change:filter}#portfolio-entrance.is-camera-travelling #works{filter:blur(calc(var(--camera-blur,0px)*.55))}#portfolio-entrance.is-camera-travelling #intelligence .museum-stage{filter:blur(calc(var(--camera-blur,0px)*.45));transform:translateY(var(--camera-lift,0px));will-change:filter,transform}@media (prefers-reduced-motion:reduce){#portfolio-entrance:not(.allows-motion).is-camera-travelling :is(.pe-pond,#works,.museum-stage){filter:none;will-change:auto;transform:none}}@font-face{font-family:Portfolio Sans;src:url(/assets/portfolio-sans-BAYKobhG.woff2)format("woff2");font-style:normal;font-weight:400 600;font-display:swap}@font-face{font-family:Portfolio Serif;src:url(/assets/portfolio-serif-BCEs47Lo.woff2)format("woff2");font-style:normal;font-weight:400 600;font-display:swap}#portfolio-entrance{--font-sans:"Portfolio Sans", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-serif:"Portfolio Serif", "Noto Serif SC", "Songti SC", "SimSun", serif}html,body{width:100%;min-height:100%;margin:0;overflow-x:clip}html{scrollbar-width:thin;scrollbar-color:#86aabc #c2e6f1}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline-offset:6px;outline:2px solid #d74755}#portfolio-entrance{--pe-ink:#34566f;--pe-blue:#e7f1f9;--pe-water:#c2e6f1;--pe-white:#fff;--pe-red:#d74755;--page-padding-x:5%;--page-padding-top:33px;--page-padding-bottom:clamp(24px,4vh,44px);--meta-font-size:10.5px;--meta-opacity:.64;isolation:isolate;background:var(--pe-water);width:100%;min-height:100dvh;color:var(--pe-ink);font-family:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;position:relative}#portfolio-entrance *{box-sizing:border-box}#portfolio-entrance [hidden]{display:none!important}#portfolio-entrance .pe-pond{touch-action:pan-y;width:100%;height:100dvh;display:block;position:fixed;inset:0}#portfolio-entrance .pe-wash{pointer-events:none;background:radial-gradient(at 28% 66%,#c2e6f123 0%,#c2e6f10f 22%,#0000 48%);position:absolute;inset:0}#portfolio-entrance button,#portfolio-entrance a{font:inherit;color:inherit;cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;text-decoration:none}#portfolio-entrance .pe-intro{z-index:2;pointer-events:none;color:#34566f;position:absolute;top:41.5%;left:5.8%}#portfolio-entrance .pe-intro h1{letter-spacing:0;margin:0;font:italic 400 clamp(72px,10.25vw,184px)/1.1 Palatino Linotype,Georgia,serif}#portfolio-entrance .pe-enter{font:inherit;letter-spacing:inherit;pointer-events:auto;text-align:left;padding:0}#portfolio-entrance .pe-slogan{letter-spacing:.06em;color:#426680;flex-direction:column;align-items:flex-start;gap:12px;margin:24px 0 0;font:400 clamp(14px,1.55vw,27px)/1.45 Songti SC,SimSun,serif;display:flex;position:relative}#portfolio-entrance .pe-slogan span{white-space:nowrap}#portfolio-entrance .pe-slogan [lang=en]{letter-spacing:.48em;word-spacing:.55em;font-family:Georgia,Times New Roman,serif}#portfolio-entrance .pe-slogan [lang=zh-CN]{letter-spacing:.18em;font-size:.88em}#portfolio-entrance .pe-header{top:var(--page-padding-top);left:var(--page-padding-x);right:var(--page-padding-x);z-index:5;opacity:0;visibility:hidden;pointer-events:none;justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed}#portfolio-entrance .pe-name{font:500 24px/1.5 var(--font-serif);letter-spacing:.16em;white-space:nowrap;pointer-events:auto;padding:8px 0}#portfolio-entrance nav{gap:34px;display:flex}#portfolio-entrance nav a{letter-spacing:.08em;opacity:1;pointer-events:auto;padding:8px 0;font-size:18px;font-weight:500;line-height:24px;transition:opacity .35s;position:relative}#portfolio-entrance nav a:after{content:"";opacity:.5;transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .35s;position:absolute;bottom:3px;left:0;transform:scaleX(0)}#portfolio-entrance nav a:hover,#portfolio-entrance nav a[aria-current=page]{color:inherit;opacity:1}#portfolio-entrance nav a:hover:after,#portfolio-entrance nav a:focus-visible:after,#portfolio-entrance nav a[aria-current=page]:after{transform:scaleX(1)}#portfolio-entrance.is-exploring .pe-intro{opacity:0;visibility:hidden;pointer-events:none}#portfolio-entrance.is-exploring .pe-enter{pointer-events:none}#portfolio-entrance.is-exploring .pe-wash{opacity:0}#portfolio-entrance.is-exploring .pe-header{opacity:1;visibility:visible}#portfolio-entrance .pe-header.is-water-text a{opacity:0}#portfolio-entrance .pe-typography{pointer-events:none;z-index:6;width:100%;height:100%;position:fixed;inset:0}#portfolio-entrance .pe-bait{pointer-events:none;z-index:9;opacity:0;transform-origin:16px 30px;width:48px;height:48px;transition:opacity .65s;position:fixed;top:-30px;left:-16px}#portfolio-entrance.has-pointer .pe-bait{opacity:1;transition-duration:.18s}#portfolio-entrance .pe-error{color:var(--pe-red);background:var(--pe-white);padding:12px 18px;font-size:13px;position:absolute;bottom:24px;left:5%}@media (pointer:fine){#portfolio-entrance.has-pointer,#portfolio-entrance.has-pointer button,#portfolio-entrance.has-pointer a{cursor:none}}@media (width<=640px){#portfolio-entrance .pe-hero{height:100dvh;min-height:360px}#portfolio-entrance .pe-intro{top:44%;left:6%;right:6%}#portfolio-entrance .pe-intro h1{font-size:clamp(64px,17vw,96px)}#portfolio-entrance .pe-slogan{letter-spacing:.035em;gap:12px;margin:20px 0 0;font-size:clamp(12px,3.45vw,17px)}#portfolio-entrance .pe-slogan [lang=en]{letter-spacing:.21em;word-spacing:.4em}#portfolio-entrance .pe-slogan [lang=zh-CN]{letter-spacing:.16em;font-size:.92em}#portfolio-entrance{--page-padding-x:7%;--page-padding-top:22px}#portfolio-entrance .pe-header{gap:16px}#portfolio-entrance .pe-name{letter-spacing:.15em;font-size:18px}#portfolio-entrance nav{gap:18px}#portfolio-entrance nav a{letter-spacing:.08em;min-height:44px;font-size:14px}}@media (pointer:coarse){#portfolio-entrance nav a{text-align:center;min-width:44px}}@media (prefers-reduced-motion:reduce){#portfolio-entrance:not(.allows-motion) *,#portfolio-entrance:not(.allows-motion) :before,#portfolio-entrance:not(.allows-motion) :after{transition:none!important;animation:none!important}}#portfolio-entrance .pe-meta{color:var(--pe-ink);font:400 var(--meta-font-size)/1.6 "Segoe UI","Microsoft YaHei",sans-serif;letter-spacing:.16em;opacity:0;visibility:hidden;pointer-events:none;margin:0;transition:opacity 1.4s}#portfolio-entrance.is-exploring .pe-meta{opacity:var(--meta-opacity);visibility:visible}#portfolio-entrance.is-reading .pe-home-only{visibility:hidden;opacity:0;pointer-events:none}#portfolio-entrance .pe-role{white-space:nowrap;position:absolute;top:calc(100% + 10px);left:0}#portfolio-entrance .pe-work-meta{top:calc(var(--page-padding-top) + 83px);right:var(--page-padding-x);z-index:5;text-align:right;max-width:260px;position:absolute}#portfolio-entrance .pe-meta-label{letter-spacing:.17em;margin:0;font-size:10px}#portfolio-entrance .pe-meta-description{letter-spacing:.025em;margin:11px 0 0;font-size:12px;line-height:1.65}#portfolio-entrance .pe-footer{left:var(--page-padding-x);right:var(--page-padding-x);bottom:max(var(--page-padding-bottom),env(safe-area-inset-bottom));z-index:5;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:24px;display:grid;position:absolute}#portfolio-entrance .pe-page-index{justify-self:start;margin:0}#portfolio-entrance .pe-explore{letter-spacing:.15em;justify-self:center}#portfolio-entrance .pe-contact-links{justify-self:end;align-items:center;gap:23px;display:flex}#portfolio-entrance .pe-footer a{white-space:nowrap;pointer-events:auto;opacity:.82;align-items:center;gap:7px;min-height:36px;transition:opacity .35s;display:inline-flex}#portfolio-entrance .pe-footer a:hover,#portfolio-entrance .pe-footer a:focus-visible{opacity:1}#portfolio-entrance .pe-explore span{animation:4.5s ease-in-out infinite pe-meta-breathe;display:inline-block}@keyframes pe-meta-breathe{0%,to{opacity:.6}50%{opacity:1}}@media (width<=900px){#portfolio-entrance{--page-padding-bottom:26px;--meta-font-size:10px}#portfolio-entrance:not(.is-reading) .pe-header{flex-direction:column;align-items:flex-start;gap:10px}#portfolio-entrance:not(.is-reading) .pe-name{order:0}#portfolio-entrance:not(.is-reading) .pe-role{white-space:normal;letter-spacing:.13em;order:1;max-width:100%;font-size:9px;position:static}#portfolio-entrance:not(.is-reading) .pe-header nav{order:2;margin-top:6px}#portfolio-entrance .pe-work-meta{top:auto;bottom:calc(var(--page-padding-bottom) + 112px);left:var(--page-padding-x);text-align:left;right:auto}#portfolio-entrance .pe-meta-description{margin-top:7px;font-size:11px;line-height:1.55}#portfolio-entrance .pe-footer{flex-direction:column;align-items:flex-start;gap:10px;display:flex}#portfolio-entrance .pe-page-index{display:none}#portfolio-entrance .pe-contact-links{order:0;gap:26px}#portfolio-entrance .pe-explore{order:1}#portfolio-entrance .pe-footer a{min-height:36px}}@media (width<=640px) and (height<=700px){#portfolio-entrance{--page-padding-bottom:16px}#portfolio-entrance .pe-intro{top:34%}#portfolio-entrance .pe-slogan{gap:9px;margin-top:14px}}@media (width>=641px) and (width<=900px) and (height<=540px){#portfolio-entrance:not(.is-reading) .pe-header{flex-direction:row;align-items:center}#portfolio-entrance:not(.is-reading) .pe-role{position:absolute;top:calc(100% + 8px)}#portfolio-entrance:not(.is-reading) .pe-header nav{margin-top:0}#portfolio-entrance .pe-work-meta{top:calc(var(--page-padding-top) + 74px);bottom:auto;left:auto;right:var(--page-padding-x);text-align:right}#portfolio-entrance .pe-footer{flex-direction:row;justify-content:space-between;align-items:center}#portfolio-entrance .pe-explore{order:0}#portfolio-entrance .pe-intro{top:32%}}@media (prefers-reduced-motion:reduce){#portfolio-entrance .pe-explore span{animation:none}}#portfolio-entrance .pe-qr{inset:auto var(--page-padding-x) 92px auto;color:#28485e;background:#f5fbfc;border:0;width:284px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);margin:0;padding:18px 22px 20px;font:400 11px/1.6 Segoe UI,Microsoft YaHei,sans-serif;position:fixed}#portfolio-entrance .pe-qr::backdrop{background:#dbf3f647}#portfolio-entrance .pe-qr-heading{justify-content:space-between;align-items:center;display:flex}#portfolio-entrance .pe-qr-heading p{letter-spacing:.18em;margin:0}#portfolio-entrance .pe-qr-close{opacity:.7;width:32px;height:32px;font-size:22px;line-height:1}#portfolio-entrance .pe-qr-close:hover{opacity:1}#portfolio-entrance .pe-qr img{width:100%;height:auto;display:block}#portfolio-entrance .pe-qr-caption{text-align:center;letter-spacing:.1em;opacity:.7;margin:0}@media (width<=900px){#portfolio-entrance .pe-qr{inset:auto auto 138px 50%;transform:translate(-50%)}}@media (height<=600px){#portfolio-entrance .pe-qr{inset:20px auto auto 50%;transform:translate(-50%)}}#portfolio-entrance .site-section.practice-section{align-items:center;min-height:calc(100svh - 92px);padding:32px 7%;display:flex}#portfolio-entrance .practice-shell{width:100%;max-width:1700px;margin:0 auto}#portfolio-entrance .practice-heading{grid-template-columns:1fr auto;align-items:center;gap:16px 24px;margin-bottom:34px;display:grid}#portfolio-entrance .practice-heading>.site-label{color:var(--reading-secondary);grid-column:1/-1;margin:0}#portfolio-entrance .practice-heading h2{flex-wrap:wrap;align-items:baseline;gap:8px 30px;margin:0;display:flex}#portfolio-entrance .heading-chinese{font:600 clamp(44px,3.94vw,72px)/1.25 var(--font-serif);letter-spacing:.07em}#portfolio-entrance .heading-english{letter-spacing:0;color:#345668;font:italic 400 clamp(22px,1.82vw,32px)/1.3 Palatino Linotype,Georgia,serif}#portfolio-entrance .practice-intent{font:400 18px/1.8 var(--font-serif);letter-spacing:.04em;color:#163b4d;margin:0}#portfolio-entrance .practice-reader{grid-template-rows:minmax(0,1fr);grid-template-columns:300px minmax(0,1fr);gap:68px;height:clamp(504px,50svh,580px);display:grid}#portfolio-entrance .practice-directory{border-top:1px solid var(--site-rule);flex-direction:column;min-width:0;min-height:0;display:flex}#portfolio-entrance .practice-tab{text-align:left;border-bottom:1px solid var(--site-rule);flex:1;align-items:center;gap:18px;padding:11px 6px;transition:color .22s;display:flex}#portfolio-entrance .practice-tab-number{letter-spacing:.08em;color:var(--reading-secondary);font-size:13px}#portfolio-entrance .practice-tab-label{letter-spacing:0;font-size:21px;font-weight:500;line-height:1.55}#portfolio-entrance .practice-tab-label small{letter-spacing:.04em;color:var(--reading-secondary);margin-top:7px;font-size:14px;font-weight:400;line-height:1.5;display:block}#portfolio-entrance .practice-tab-arrow{opacity:0;margin-left:auto;font-size:22px;transition:opacity .22s,transform .22s;transform:translate(-4px,3px)}#portfolio-entrance .practice-tab:is(:hover,[aria-selected=true]){color:#913e40}#portfolio-entrance .practice-tab[aria-selected=true]{border-bottom-color:#a34a48}#portfolio-entrance .practice-tab:is(:hover,[aria-selected=true]) .practice-tab-arrow{opacity:1;transform:none}#portfolio-entrance .practice-tab:focus-visible{outline-offset:-4px;outline:1px solid}#portfolio-entrance .practice-detail{border-top:1px solid var(--site-rule);border-bottom:1px solid var(--site-rule);min-width:0;height:100%;min-height:0}#portfolio-entrance .practice-panel{scrollbar-width:thin;scrollbar-color:#527b8b transparent;scrollbar-gutter:stable;height:100%;overflow-y:auto}#portfolio-entrance .practice-panel[hidden]{display:none}#portfolio-entrance .practice-panel:focus-visible{outline-offset:5px;outline:1px solid #537e90}#portfolio-entrance .practice-panel-content{padding:26px 14px 30px 0;animation:.24s ease-out both practice-reveal}#portfolio-entrance .practice-panel-content>.site-label{color:var(--reading-secondary);margin:0 0 24px;font-size:14px}#portfolio-entrance .practice-entry+.practice-entry{border-top:1px solid var(--site-rule);margin-top:27px;padding-top:24px}#portfolio-entrance .experience-meta{letter-spacing:.025em;color:#234653;flex-wrap:wrap;align-items:baseline;gap:8px 28px;margin:0 0 14px;font-size:15px;font-weight:500;line-height:1.7;display:flex}#portfolio-entrance .experience-period{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.07em}#portfolio-entrance .practice-entry h3{font:600 32px/1.5 var(--font-serif);letter-spacing:.035em;text-wrap:pretty;margin:0 0 25px}#portfolio-entrance .experience-description,#portfolio-entrance .experience-details{font-size:var(--reading-body);letter-spacing:.015em;color:var(--reading-ink);margin:0;line-height:2}#portfolio-entrance .experience-details{margin-top:23px;padding:0;list-style:none}#portfolio-entrance .experience-details li{padding-left:22px;position:relative}#portfolio-entrance .experience-details li:before{content:"";background:#a65350;border-radius:50%;width:5px;height:5px;position:absolute;top:.92em;left:1px}#portfolio-entrance .experience-details li+li{margin-top:18px}#portfolio-entrance .practice-entry--brief h3{font-family:var(--font-sans);font-size:var(--reading-body);margin:0;font-weight:500;line-height:1.9}#portfolio-entrance .practice-entry--brief:before{content:"相关实践";color:var(--reading-secondary);letter-spacing:.08em;margin-bottom:9px;font-size:14px;display:block}#portfolio-entrance .practice-honors{border-top:1px solid var(--site-rule);margin-top:27px;padding-top:24px}#portfolio-entrance .practice-honors h3{letter-spacing:.07em;margin:0 0 15px;font-size:18px;font-weight:500}#portfolio-entrance .practice-honors ul{margin:0;padding:0;list-style:none}#portfolio-entrance .practice-honors li{justify-content:space-between;gap:24px;padding:9px 0;font-size:17px;line-height:1.9;display:flex}#portfolio-entrance .practice-honors strong{white-space:nowrap;color:#913e40;font-size:15px;font-weight:500}#portfolio-entrance .practice-panel .skill-groups{grid-template-columns:1fr 1fr;column-gap:28px;display:grid}#portfolio-entrance .practice-panel .skill-group{padding-top:16px;padding-bottom:13px}#portfolio-entrance .practice-panel .skill-relation{min-height:22px}#portfolio-entrance .practice-footer{color:var(--reading-secondary);justify-content:space-between;align-items:center;gap:20px;margin-top:21px;font-size:14px;line-height:1.8;display:flex}#portfolio-entrance .practice-footer>.site-text-link{letter-spacing:.05em;color:var(--reading-ink);font-size:16px;font-weight:500}@keyframes practice-reveal{0%{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}@media (width<=1100px){#portfolio-entrance .site-section.practice-section{padding-left:6%;padding-right:6%}#portfolio-entrance .practice-reader{grid-template-columns:240px minmax(0,1fr);gap:5%}#portfolio-entrance .practice-heading{grid-template-columns:1fr;gap:13px}#portfolio-entrance .practice-intent{letter-spacing:0;font-size:17px}}@media (height<=820px) and (width>=901px){#portfolio-entrance .site-section.practice-section{padding-top:24px;padding-bottom:24px}#portfolio-entrance .practice-heading{gap:8px 24px;margin-bottom:20px}#portfolio-entrance .heading-chinese{font-size:44px}#portfolio-entrance .heading-english{font-size:25px}#portfolio-entrance .practice-intent{font-size:16px}#portfolio-entrance .practice-reader{height:clamp(390px,50svh,410px)}#portfolio-entrance .practice-tab{padding-top:8px;padding-bottom:8px}#portfolio-entrance .practice-tab-label{font-size:18px;line-height:1.4}#portfolio-entrance .practice-tab-label small{margin-top:4px;font-size:13px;line-height:1.4}#portfolio-entrance .practice-footer{margin-top:12px;font-size:13px}#portfolio-entrance .practice-footer>.site-text-link{padding:8px 0;font-size:14px}}@media (width<=900px){#portfolio-entrance .site-section.practice-section{padding-top:30px;padding-bottom:35px}#portfolio-entrance .practice-heading{grid-template-columns:1fr;gap:12px;margin-bottom:22px}#portfolio-entrance .practice-intent{margin:0;font-size:16px}#portfolio-entrance .practice-reader{flex-direction:column;gap:23px;height:auto;display:flex}#portfolio-entrance .practice-directory{scrollbar-width:thin;scrollbar-color:#527b8b transparent;flex-direction:row;padding-bottom:4px;position:relative;overflow-x:auto}#portfolio-entrance .practice-tab{flex:none;gap:10px;margin-right:15px;padding:13px 18px 13px 2px}#portfolio-entrance .practice-tab-label{font-size:18px}#portfolio-entrance .practice-tab-arrow{display:none}#portfolio-entrance .practice-detail{height:clamp(340px,48svh,490px)}#portfolio-entrance .practice-panel-content{padding-top:22px;padding-right:15px}#portfolio-entrance .practice-panel-content>.site-label{margin-bottom:20px}#portfolio-entrance .practice-entry h3{font-size:26px;line-height:1.6}#portfolio-entrance .experience-description,#portfolio-entrance .experience-details{line-height:1.9}}@media (width<=640px){#portfolio-entrance .site-section.practice-section{padding:28px 7% 32px}#portfolio-entrance .practice-heading h2{flex-direction:column;gap:8px}#portfolio-entrance .heading-chinese{font-size:clamp(34px,8.8vw,50px)}#portfolio-entrance .heading-english{font-size:23px}#portfolio-entrance .practice-intent{font-size:15px}#portfolio-entrance .practice-entry h3{font-size:24px}#portfolio-entrance .practice-entry--brief h3{font-size:17px}#portfolio-entrance .experience-meta{gap:5px 12px;font-size:13px}#portfolio-entrance .practice-tab-label small{font-size:13px}#portfolio-entrance .practice-panel .skill-groups{grid-template-columns:1fr}#portfolio-entrance .practice-honors li{flex-direction:column;gap:3px;padding:9px 0}#portfolio-entrance .practice-footer{flex-wrap:wrap;gap:12px;margin-top:18px;font-size:13px}#portfolio-entrance .practice-footer>.site-text-link{font-size:14px}}@media (prefers-reduced-motion:reduce){#portfolio-entrance .practice-panel-content{animation:none}#portfolio-entrance .practice-tab,#portfolio-entrance .practice-tab-arrow{transition:none}}#portfolio-entrance{--site-rule:#12394945;--section-gap:clamp(100px, 14vh, 180px);--reading-ink:#0b2838;--reading-secondary:#244a5b;--reading-body:19px;--reading-meta:15px;--pe-ink:#163b4d;--preview-top:94px}#portfolio-entrance .pe-hero{pointer-events:none;height:100dvh;min-height:360px;position:relative}#portfolio-entrance #site-main{z-index:2;pointer-events:none;clip-path:inset(var(--content-clip-top,0px) 0 0);position:relative}#portfolio-entrance .site-section,#portfolio-entrance .project-detail,#portfolio-entrance .missing-project{pointer-events:auto}#portfolio-entrance .pe-header{z-index:10}#portfolio-entrance .scene-reading-wash{z-index:1;pointer-events:none;opacity:0;background:linear-gradient(120deg,#082a3ee6,#0a31468c 55%,#0a31461a);position:fixed;inset:0}#portfolio-entrance.is-project .pe-home-only{display:none}#portfolio-entrance.has-nav-preview .pe-work-meta{opacity:0;visibility:hidden}#portfolio-entrance .site-status:empty{display:none}#portfolio-entrance .site-status{z-index:20;color:#28485e;background:#e3f3f7;padding:12px 20px;font-size:15px;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}#portfolio-entrance .site-label{font:500 14px/1.8 var(--font-sans);letter-spacing:.09em;text-transform:uppercase;margin:0 0 22px}#portfolio-entrance .site-text-link{letter-spacing:.08em;align-items:center;gap:18px;padding:12px 0;font-size:16px;line-height:1.7;transition:color .22s;display:inline-flex}#portfolio-entrance .site-text-link:is(:hover,:focus-visible){color:#913e40}#portfolio-entrance .site-section{padding:var(--section-gap) var(--page-padding-x);color:var(--reading-ink);box-sizing:border-box;scroll-margin-top:92px;position:relative}#portfolio-entrance .site-section h2:focus,#portfolio-entrance .project-detail h1:focus,#portfolio-entrance .missing-project h1:focus{outline:none}#portfolio-entrance .site-section h2,#portfolio-entrance .project-detail h1,#portfolio-entrance .site-section em{font-weight:400}#portfolio-entrance .site-nav-previews{top:var(--preview-top);right:var(--page-padding-x);z-index:11;pointer-events:none;color:#28485e;--site-rule:#34566f33;width:350px;max-width:calc(100vw - 10%);position:fixed}#portfolio-entrance .nav-preview{border-top:1px solid var(--site-rule);opacity:0;pointer-events:none;background:linear-gradient(110deg,#d9f1f8f7,#d9f1f8b8 75%,#d9f1f852);padding:22px 8px 26px 24px;transition:opacity .22s,transform .22s;transform:translateY(-4px)}#portfolio-entrance .nav-preview:before{content:"";height:24px;position:absolute;top:-24px;left:0;right:0}#portfolio-entrance .nav-preview.is-open{opacity:1;pointer-events:auto;animation:.22s both nav-preview-in;transform:none}#portfolio-entrance .nav-preview .site-label{opacity:1;margin-bottom:23px}#portfolio-entrance .nav-fields{gap:18px;margin-bottom:22px;display:grid}#portfolio-entrance .nav-fields a{letter-spacing:.08em;grid-template-columns:25px 1fr;gap:9px;font-size:17px;display:grid}#portfolio-entrance .nav-fields small{opacity:1;padding-top:3px;font-size:13px}#portfolio-entrance .nav-fields span{letter-spacing:.025em;opacity:1;margin-top:5px;font-size:14px;line-height:1.8;display:block}#portfolio-entrance .nav-preview a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}#portfolio-entrance .nav-person{font:500 25px/1.5 var(--font-serif);letter-spacing:.15em;margin:0 0 8px}#portfolio-entrance .nav-profile-line{letter-spacing:.01em;margin:0 0 20px;font-size:14px}#portfolio-entrance .nav-description{opacity:1;margin:0 0 16px;font-size:15px;line-height:1.9}#portfolio-entrance .preview-contacts{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:18px;display:grid}#portfolio-entrance .preview-contacts :is(a,button){text-align:left;letter-spacing:.12em;font-size:14px;line-height:1.8;display:block}#portfolio-entrance .preview-contacts span{letter-spacing:.02em;text-transform:none;overflow-wrap:anywhere;margin-top:3px;font-size:15px;display:block}#portfolio-entrance .contact-preview-scroll{max-height:calc(100dvh - var(--preview-top) - 70px);overscroll-behavior:contain;scrollbar-width:thin;overflow:hidden auto}#portfolio-entrance .preview-wechat>p{letter-spacing:.12em;margin:0 0 10px;font-size:14px}#portfolio-entrance .preview-qr{width:82px;max-width:100%;margin:0}#portfolio-entrance .preview-qr img{opacity:1;filter:none;width:100%;height:auto;display:block}#portfolio-entrance .about-section{grid-template-columns:minmax(240px,.85fr) 1.15fr;align-items:center;gap:52px clamp(60px,9vw,180px);min-height:105vh;padding-left:9%;padding-right:9%;display:grid}#portfolio-entrance .about-portrait{align-self:center;max-width:420px;margin:0}#portfolio-entrance .about-portrait img,#portfolio-entrance .portrait-empty{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;display:block}#portfolio-entrance .portrait-empty{color:#4f7a91;background:linear-gradient(145deg,#d6eff61f,#8bbbd03b);flex-direction:column;justify-content:center;align-items:center;display:flex}#portfolio-entrance .portrait-empty>span{letter-spacing:-.07em;opacity:.3;font:italic 400 clamp(80px,10vw,160px)/1 Palatino Linotype,Georgia,serif}#portfolio-entrance .portrait-empty p{letter-spacing:.22em;opacity:.6;margin-top:36px;font-size:9px}#portfolio-entrance .about-portrait figcaption{font:500 16px/1.5 var(--font-serif);letter-spacing:.1em;justify-content:space-between;align-items:center;margin-top:18px;display:flex}#portfolio-entrance .about-portrait figcaption span{font:400 13px/1.5 var(--font-sans);letter-spacing:.1em}#portfolio-entrance .about-copy h2{letter-spacing:-.035em;margin:0 0 38px;font:400 clamp(35px,3.7vw,67px)/1.13 Palatino Linotype,Georgia,serif}#portfolio-entrance .about-prose{font:400 var(--reading-body)/2 var(--font-sans);letter-spacing:.025em;max-width:31em}#portfolio-entrance .about-prose p{margin:0 0 22px}#portfolio-entrance .work-index{grid-template-columns:.8fr 1.2fr;align-items:center;gap:7vw;min-height:100vh;display:grid}#portfolio-entrance .work-index h2{letter-spacing:-.045em;margin:0 0 40px;font:400 clamp(65px,7.8vw,132px)/.95 Palatino Linotype,Georgia,serif}#portfolio-entrance .work-index-list{display:grid}#portfolio-entrance .work-index-list>a{border-top:1px solid var(--site-rule);grid-template-columns:28px 1fr 20px;align-items:start;gap:18px;padding:28px 0 34px;display:grid}#portfolio-entrance .work-index-list>a:last-child{border-bottom:1px solid var(--site-rule)}#portfolio-entrance .work-index-list h3{font:400 clamp(22px,2.8vw,46px)/1.15 var(--font-sans);letter-spacing:-.025em;margin:0 0 12px}#portfolio-entrance .work-index-list p{font-size:var(--reading-body);letter-spacing:.03em;color:var(--reading-secondary);margin:0;line-height:1.7}#portfolio-entrance .work-index-list .site-label{padding-top:6px}#portfolio-entrance .work-index-list>a>span:last-child{transition:transform .22s}#portfolio-entrance .work-index-list>a:hover>span:last-child{transform:translate(2px,-2px)}#portfolio-entrance .category-section{padding-top:0;padding-bottom:75px}#portfolio-entrance .chapter-cover{flex-direction:column;justify-content:center;gap:42px;min-height:66vh;padding:110px 0 65px;display:flex}#portfolio-entrance .chapter-cover>.site-label{opacity:1;margin:0}#portfolio-entrance .category-heading h2{font:400 clamp(42px,7.4vw,150px)/1.05 var(--font-sans);letter-spacing:-.05em;overflow-wrap:normal;margin:0}#portfolio-entrance .category-intro{justify-content:space-between;align-items:center;gap:30px;margin-top:32px;display:flex}#portfolio-entrance .category-intro .site-label{font-size:var(--reading-meta);margin:0}#portfolio-entrance .category-intro>p:last-child{font:500 22px/1.7 var(--font-serif);letter-spacing:.08em;margin:0}#portfolio-entrance .project-media{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;display:block}#portfolio-entrance .media-empty{background:#a2cdde2b;place-items:center;font:italic 400 32px/1.3 Palatino Linotype,Georgia,serif;display:grid}#portfolio-entrance .category-empty{font:400 18px/1.8 var(--font-serif);letter-spacing:.08em;color:var(--reading-secondary);margin:0 0 45px}#portfolio-entrance .category-end{border-top:1px solid var(--site-rule);justify-content:space-between;align-items:center;margin-top:55px;padding-top:20px;display:flex}#portfolio-entrance .category-end .site-label{margin:0}#portfolio-entrance .project-caption{justify-content:space-between;align-items:center;gap:15px;margin-top:10px;display:flex}#portfolio-entrance .project-caption h3{font:400 25px/1.45 "Palatino Linotype",Georgia,var(--font-serif);margin:0 0 15px}#portfolio-entrance .outro-section{flex-direction:column;justify-content:center;min-height:110vh;padding-top:180px;padding-bottom:35px;display:flex}#portfolio-entrance .outro-section h2{letter-spacing:-.035em;margin:0 0 36px;font:400 clamp(68px,8.5vw,154px)/1.02 Palatino Linotype,Georgia,serif}#portfolio-entrance .outro-slogan{font:500 clamp(18px,2vw,28px)/1.5 var(--font-serif);letter-spacing:.16em;margin:0 0 65px}#portfolio-entrance .outro-contacts{flex-wrap:wrap;gap:35px 75px;margin-bottom:100px;display:flex}#portfolio-entrance .outro-contacts :is(a,button){text-align:left;letter-spacing:.15em;font-size:16px;line-height:1.7}#portfolio-entrance .outro-contacts span{letter-spacing:.02em;margin-top:8px;font-size:19px;display:block}#portfolio-entrance .outro-footer{letter-spacing:.15em;border-top:1px solid var(--site-rule);justify-content:space-between;align-items:center;margin-top:auto;padding-top:22px;font-size:13px;display:flex}#portfolio-entrance .missing-project{min-height:100dvh;padding-top:220px}#portfolio-entrance .missing-project h1{font:400 clamp(32px,5vw,75px)/1.5 var(--font-serif)}#portfolio-entrance .scene-diagnostics{z-index:30;color:#34566f;pointer-events:none;background:#e6f4f8;padding:5px 8px;font:11px monospace;position:fixed;bottom:10px;left:12px}@keyframes site-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes nav-preview-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}#portfolio-entrance .about-explorations{margin-top:32px}#portfolio-entrance .about-explorations .site-label{color:var(--reading-secondary);margin-bottom:12px;font-size:14px}#portfolio-entrance .about-explorations ul{letter-spacing:.015em;margin:0;padding:0;font-size:16px;line-height:1.9;list-style:none}#portfolio-entrance .about-path{letter-spacing:.06em;color:var(--reading-secondary);flex-wrap:wrap;grid-column:1/-1;gap:15px;margin:0;font-size:14px;line-height:1.8;display:flex}#portfolio-entrance .toolkit-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;display:flex}#portfolio-entrance .toolkit-heading>.site-label{margin:0}#portfolio-entrance .skill-legend{letter-spacing:.04em;opacity:1;gap:12px;margin:0;font-size:14px;display:flex}#portfolio-entrance [data-status]:before{content:"";vertical-align:middle;border:1px solid;border-radius:50%;width:4px;height:4px;margin-right:7px;display:inline-block}#portfolio-entrance [data-status=used]:before{background:currentColor}#portfolio-entrance [data-status=practiced]:before{background:linear-gradient(90deg,currentColor 50%,#0000 50%)}#portfolio-entrance .skill-group{border-top:1px solid var(--site-rule);min-width:0;padding:21px 0 17px}#portfolio-entrance .skill-group h4{letter-spacing:.06em;gap:17px;margin:0 0 11px;font-size:18px;font-weight:500;display:flex}#portfolio-entrance .skill-group h4>span{opacity:1;min-width:16px;font-size:13px}#portfolio-entrance .toolkit-skills{flex-wrap:wrap;gap:0 19px;margin:0;padding:0;list-style:none;display:flex}#portfolio-entrance .toolkit-skills button{text-align:left;opacity:1;padding:5px 0;font-size:17px;line-height:1.7}#portfolio-entrance .toolkit-skills [data-status=exploring]{color:var(--reading-secondary)}#portfolio-entrance .toolkit-skills button:is(:hover,:focus-visible){opacity:1;text-underline-offset:5px;text-decoration:underline}#portfolio-entrance .skill-relation{min-height:36px;color:var(--reading-secondary);overflow-wrap:anywhere;margin-top:9px;font-size:15px;line-height:1.8}#portfolio-entrance .skill-relation>span{display:block}#portfolio-entrance .skill-group.has-projects .skill-relation{scrollbar-width:thin;height:90px;overflow-y:auto}#portfolio-entrance .relation-label{letter-spacing:.04em;font-size:14px}#portfolio-entrance .work-index-list .index-statement{font:500 20px/1.8 var(--font-serif);letter-spacing:.06em;color:var(--reading-ink);margin-top:12px}#portfolio-entrance .project-caption h3{margin-bottom:0}#portfolio-entrance .project-summary{font-size:var(--reading-body);max-width:40em;margin:12px 0 16px;line-height:1.9}#portfolio-entrance .skill-tags{letter-spacing:.04em;flex-wrap:wrap;gap:6px 0;margin:16px 0 0;padding:0;font-size:14px;line-height:1.8;list-style:none;display:flex}#portfolio-entrance .skill-tags li{align-items:baseline;min-width:0;display:flex}#portfolio-entrance .skill-tags li:not(:last-child):after{content:"·";opacity:.55;margin:0 9px}#portfolio-entrance .project-skill{color:var(--reading-secondary);overflow-wrap:anywhere;cursor:help;position:relative}#portfolio-entrance .project-skill:after{content:attr(data-skill-group);white-space:nowrap;letter-spacing:.07em;opacity:0;pointer-events:none;font-size:13px;line-height:1.5;position:absolute;bottom:calc(100% + 5px);left:0}#portfolio-entrance .project-skill:is(:hover,:focus-visible),#portfolio-entrance .project-skill:is(:hover,:focus-visible):after{opacity:1}@media (width<=1100px){#portfolio-entrance .about-section{gap:40px 7vw;padding-left:6%;padding-right:6%}}@media (width<=900px){#portfolio-entrance{--reading-body:17px;--reading-meta:14px}#portfolio-entrance .toolkit-skills button{min-height:38px}#portfolio-entrance .skill-relation{min-height:0;margin-top:12px}#portfolio-entrance .skill-group.has-projects .skill-relation{height:auto;overflow:visible}#portfolio-entrance .skill-group{padding-bottom:24px}#portfolio-entrance{--preview-top:178px}#portfolio-entrance.is-reading{--preview-top:90px}#portfolio-entrance .site-nav-previews{left:var(--page-padding-x);max-width:calc(100vw - 14%);right:auto}#portfolio-entrance.is-reading .pe-header{flex-direction:row;align-items:center;gap:15px}#portfolio-entrance.is-reading .pe-header nav{margin-top:0}#portfolio-entrance.is-reading .pe-role{display:none}#portfolio-entrance.is-reading .site-nav-previews{left:auto;right:var(--page-padding-x)}#portfolio-entrance .about-section{grid-template-columns:.75fr 1.25fr;gap:6vw;min-height:100vh}#portfolio-entrance .about-copy h2{font-size:35px}#portfolio-entrance .about-prose{font-size:var(--reading-body)}#portfolio-entrance .about-portrait figcaption{display:block}#portfolio-entrance .about-portrait figcaption span{margin-top:8px;display:block}#portfolio-entrance .work-index{grid-template-columns:1fr;gap:55px}#portfolio-entrance .work-index h2{font-size:75px}#portfolio-entrance .work-index-list h3{font-size:34px}#portfolio-entrance .category-intro{flex-direction:column;align-items:flex-start;gap:15px}}@media (width<=640px){#portfolio-entrance .toolkit-heading{gap:10px}#portfolio-entrance .about-path{gap:8px;font-size:13px;line-height:2}#portfolio-entrance .site-section{padding-top:105px;padding-bottom:100px}#portfolio-entrance .about-section{flex-direction:column;align-items:stretch;gap:45px;padding-left:7%;padding-right:7%;display:flex}#portfolio-entrance .about-portrait{align-self:flex-start;width:78%;max-width:340px}#portfolio-entrance .about-copy h2{margin-bottom:30px;font-size:clamp(31px,8.8vw,48px)}#portfolio-entrance .about-prose{font-size:var(--reading-body);line-height:2.1}#portfolio-entrance .work-index h2{font-size:66px}#portfolio-entrance .work-index-list>a{grid-template-columns:20px 1fr 12px;gap:10px;padding:25px 0}#portfolio-entrance .work-index-list h3{font-size:clamp(23px,6.5vw,36px)}#portfolio-entrance .work-index-list p{font-size:var(--reading-body)}#portfolio-entrance .category-heading h2{letter-spacing:-.04em;font-size:7.5vw}#portfolio-entrance .chapter-cover{gap:30px;min-height:60vh;padding:40px 0}#portfolio-entrance .category-intro .site-label{font-size:var(--reading-meta)}#portfolio-entrance .category-intro>p:last-child{font-size:20px}#portfolio-entrance .category-empty{margin:0 0 35px}#portfolio-entrance .category-section{padding-top:40px;padding-bottom:60px}#portfolio-entrance .outro-section{min-height:105vh;padding-top:160px;padding-bottom:25px}#portfolio-entrance .outro-section h2{font-size:clamp(52px,14vw,85px)}#portfolio-entrance .outro-slogan{letter-spacing:.09em;font-size:17px}#portfolio-entrance .outro-contacts{flex-direction:column;gap:28px;margin-bottom:70px}#portfolio-entrance .outro-footer{gap:15px;font-size:12px}#portfolio-entrance .outro-footer .site-text-link{letter-spacing:.08em;font-size:14px}}@media (height<=600px) and (width>=641px){#portfolio-entrance{--preview-top:94px}#portfolio-entrance .site-nav-previews{left:auto;right:var(--page-padding-x);max-height:calc(100dvh - 110px);overflow-y:auto}#portfolio-entrance .site-nav-previews:has(#preview-contact.is-open){overflow:visible}}@media (height<=700px) and (width<=900px){#portfolio-entrance .contact-preview-scroll>.site-label{display:none}}@media (prefers-reduced-motion:reduce){#portfolio-entrance:not(.allows-motion) :is(.project-detail,.nav-preview){transition:none;animation:none}}#portfolio-entrance .museum-section{color:#fff;--museum-content:0;--museum-heading:0;--museum-frame:0;--reading-secondary:#fff;--site-rule:#ffffff38;min-height:200dvh;padding:0}#portfolio-entrance .museum-stage{min-height:100dvh;padding-bottom:36px;position:sticky;top:0;overflow:hidden}#portfolio-entrance .museum-stage>.chapter-cover{margin:0 var(--page-padding-x);min-height:max(500px,66vh - 80px);opacity:var(--museum-heading)}#portfolio-entrance .museum-carousel{--film-phase:0px;--film-height:0px;--film-reveal:0;--film-edge:42px;--film-inset:16px;--film-top:6px;--film-media-top:calc(var(--film-top) + var(--film-edge) + var(--film-inset));padding:0 0 12px;position:relative}#portfolio-entrance .museum-carousel:before{content:"";top:calc(var(--film-top) + var(--film-edge));height:calc(var(--film-height) + 2 * var(--film-inset));opacity:calc(var(--museum-content)*var(--film-reveal));pointer-events:none;background:#d4dadd3d;position:absolute;left:0;right:0}#portfolio-entrance .museum-carousel.has-live-window:before{-webkit-mask-image:linear-gradient(to right,#000 0 var(--film-window-left,0px),transparent var(--film-window-left,0px) var(--film-window-right,0px),#000 var(--film-window-right,0px) 100%);mask-image:linear-gradient(to right,#000 0 var(--film-window-left,0px),transparent var(--film-window-left,0px) var(--film-window-right,0px),#000 var(--film-window-right,0px) 100%)}#portfolio-entrance .museum-film-rail{height:var(--film-edge);z-index:2;pointer-events:none;opacity:calc(var(--museum-content)*var(--film-reveal));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='42'%3E%3Cpath fill='%23d4dadd' fill-opacity='.38' fill-rule='evenodd' d='M0 0H48V42H0Z M16 15h16q2 0 2 2v8q0 2-2 2H16q-2 0-2-2V17q0-2 2-2Z'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:48px 100%;background-position:var(--film-phase) 0;position:absolute;left:0;right:0}#portfolio-entrance .museum-film-rail--top{top:var(--film-top);border-top:1px solid #ffffff38}#portfolio-entrance .museum-film-rail--bottom{top:calc(var(--film-media-top) + var(--film-height) + var(--film-inset));border-bottom:1px solid #ffffff38}#portfolio-entrance .museum-viewport{scroll-snap-type:x mandatory;width:100%;scroll-padding-inline:var(--page-padding-x);scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;outline-offset:-5px;position:relative;overflow-x:auto}#portfolio-entrance .museum-viewport::-webkit-scrollbar{display:none}#portfolio-entrance .museum-track{width:max-content;padding:var(--film-media-top) 5vw 26px;align-items:flex-start;gap:4.4vw;display:flex}#portfolio-entrance .museum-artwork{--art-focus:1;--art-reveal:1;scroll-snap-align:start;color:#fff;flex-shrink:0;width:clamp(260px,25vw,640px)}#portfolio-entrance .museum-frame{transform:translate3d(calc((1 - var(--art-reveal))*42px),calc((1 - var(--art-reveal))*14px),0) scale(calc(.96 + var(--art-reveal)*.04));box-shadow:0 10px 24px rgb(0 0 0/calc(var(--museum-frame)*.19));background:0 0;transition:box-shadow .45s;position:relative}#portfolio-entrance .museum-frame:after{content:"";pointer-events:none;opacity:calc((1 - var(--art-focus))*.14*var(--museum-frame));background:#171613;transition:opacity .4s;position:absolute;inset:0}#portfolio-entrance .museum-frame:has(.museum-live):after{opacity:calc((1 - var(--art-focus))*.14*var(--museum-live-light,0))}#portfolio-entrance .museum-frame:has(.museum-live){box-shadow:0 10px 24px rgb(0 0 0/calc(var(--museum-live-light,0)*.19))}#portfolio-entrance .museum-artwork:is(:hover,:focus-within) .museum-frame{box-shadow:0 14px 30px #00000029,0 0 40px #cfb88a12}#portfolio-entrance .museum-artwork:is(:hover,:focus-within) .museum-frame:after{opacity:0}#portfolio-entrance .museum-media{aspect-ratio:16/10;object-fit:contain;background:#252622;width:100%;height:auto;display:block}#portfolio-entrance .museum-live{background:0 0}#portfolio-entrance .museum-cover-link{outline-offset:5px;-webkit-user-drag:none;display:block;position:relative}#portfolio-entrance .museum-cover-link .museum-media{object-fit:cover}#portfolio-entrance .museum-cover-link img.museum-media{opacity:.92;background:0 0;transition:opacity .45s}#portfolio-entrance .museum-cover-link:is(:hover,:focus-visible) img.museum-media{opacity:.97}#portfolio-entrance .museum-cover-link{--film-gloss:var(--museum-frame);isolation:isolate}#portfolio-entrance .museum-cover-link:has(.museum-live){--film-gloss:var(--museum-live-light,0)}#portfolio-entrance .museum-cover-link:before,#portfolio-entrance .museum-cover-link:after{content:"";pointer-events:none;z-index:1;position:absolute;inset:0}#portfolio-entrance .museum-cover-link:before{opacity:calc(var(--film-gloss)*.82);background:linear-gradient(112deg,#0000 20%,#e3f3ff08 34%,#f7fbff38 44%,#ffffff12 49%,#0000 58%) 85% 0/240% 100%;transition:background-position .9s cubic-bezier(.2,.65,.3,1)}#portfolio-entrance .museum-cover-link:after{opacity:var(--film-gloss);background:linear-gradient(155deg,#e3f3ff0a,#0000 28% 78%,#f7ead111);box-shadow:inset 0 1px #ffffff52,inset 1px 0 #e0f1ff29,inset 0 -1px #ffffff1c}@media (hover:hover) and (pointer:fine){#portfolio-entrance .museum-cover-link:hover:before{background-position:10% 0}}#portfolio-entrance .museum-cover-link:focus-visible:before{background-position:10% 0}#portfolio-entrance .museum-blank{background:#c1beb4;box-shadow:inset 0 0 55px #8a857521}#portfolio-entrance .museum-artwork:nth-child(2n) .museum-blank{background:#aba99f}#portfolio-entrance .museum-empty{font:400 24px var(--font-serif);color:#fff;place-items:center;display:grid}#portfolio-entrance .museum-artwork:not(:has(.museum-live)) .museum-frame{opacity:calc(var(--museum-content)*var(--art-reveal))}#portfolio-entrance .museum-caption{margin-top:calc(var(--film-edge) + var(--film-inset) + 24px);opacity:calc(var(--museum-content)*var(--art-reveal))}#portfolio-entrance .museum-caption>.site-label{color:#fff;margin:0;font-size:14px}#portfolio-entrance .museum-caption .project-caption h3{font:400 25px/1.45 "Palatino Linotype",Georgia,var(--font-serif);color:#fff;margin:0 0 15px}#portfolio-entrance .museum-caption .project-summary{font-size:var(--reading-body);color:#fff;line-height:1.8}#portfolio-entrance .museum-caption .project-skill{color:#fff;border-color:#ffffff40}#portfolio-entrance .museum-caption a:hover{text-underline-offset:5px;text-decoration:underline}#portfolio-entrance .museum-footer{margin:24px var(--page-padding-x) 0;opacity:var(--museum-content);font:400 14px/1.5 var(--font-sans);color:#fff}#portfolio-entrance .museum-count{font-variant-numeric:tabular-nums;align-items:center;gap:14px;margin:0;display:flex}#portfolio-entrance .museum-count-rule{background:#ffffff90;width:40px;height:1px}#portfolio-entrance .museum-controls{align-items:center;gap:24px;display:flex}#portfolio-entrance .museum-controls button{color:#fff;padding:8px 12px;font-size:15px}#portfolio-entrance .museum-controls button:hover{background:#ffffff16}#portfolio-entrance .museum-footer .site-text-link:hover{color:#fff;text-decoration:underline}#portfolio-entrance.is-museum .pe-header{color:color-mix(in srgb,#fff calc((1 - var(--museum-ink-return,0))*100%),#0b2838)}#portfolio-entrance .outro-section{color:color-mix(in srgb,#fff calc((1 - var(--museum-ink-return,0))*100%),#0b2838);--site-rule:#12394945}#portfolio-entrance.is-museum .scene-reading-wash{visibility:hidden}#portfolio-entrance.is-museum:not(.museum-pointer) .pe-bait{opacity:0}#portfolio-entrance.is-museum:not(.museum-pointer),#portfolio-entrance.is-museum:not(.museum-pointer) *{cursor:auto}#portfolio-entrance.is-museum:not(.museum-pointer) a,#portfolio-entrance.is-museum:not(.museum-pointer) button{cursor:pointer}#portfolio-entrance.is-museum .pe-header a:focus-visible,#portfolio-entrance .museum-section :focus-visible{outline-color:#fff}@media (width<=900px){#portfolio-entrance .museum-stage>.chapter-cover{min-height:calc(60vh - 44px)}#portfolio-entrance .museum-artwork{width:62vw}#portfolio-entrance .museum-track{gap:8vw;padding-left:7vw;padding-right:7vw}#portfolio-entrance .museum-footer{flex-wrap:wrap;gap:14px;font-size:12px}#portfolio-entrance .museum-controls{gap:2px}#portfolio-entrance .museum-caption .project-summary{font-size:17px}}@media (width<=640px){#portfolio-entrance .museum-section{padding-top:40px}#portfolio-entrance .museum-artwork{width:76vw}}@media (prefers-reduced-motion:reduce){#portfolio-entrance:not(.allows-motion) .museum-section{min-height:150dvh}#portfolio-entrance:not(.allows-motion) .museum-frame,#portfolio-entrance:not(.allows-motion) .museum-frame:after{transition:none;transform:none}#portfolio-entrance:not(.allows-motion) .museum-cover-link:before{background-position:85% 0;transition:none}#portfolio-entrance:not(.allows-motion) .museum-cover-link img.museum-media{transition:none}}#portfolio-entrance #project-view{color:#f7f3eb;--reading-secondary:#d4cbc0;--site-rule:#e7d4b72e;--project-muted:#c5bbad;--project-accent:#dfbd86;min-height:100dvh}#portfolio-entrance.is-project .pe-header{color:#f7f3eb;background:0 0}#portfolio-entrance.is-project .scene-reading-wash{visibility:hidden}#portfolio-entrance.is-project .missing-project{color:#f7f3eb}#portfolio-entrance.is-project .site-text-link:is(:hover,:focus-visible){color:#f0ce98}#portfolio-entrance .project-detail{padding:134px var(--page-padding-x) 76px;max-width:calc(1400px + 2 * var(--page-padding-x));margin-inline:auto;animation:.42s both project-enter}#portfolio-entrance .project-breadcrumb{border-bottom:1px solid var(--site-rule);justify-content:space-between;align-items:center;gap:20px;margin-bottom:54px;padding-bottom:18px;display:flex}#portfolio-entrance .project-breadcrumb .site-label{color:var(--project-muted);margin:0}#portfolio-entrance .project-heading{grid-template-columns:1.25fr 1fr;align-items:end;gap:7%;margin-bottom:42px;display:grid}#portfolio-entrance .project-heading .site-label{color:var(--project-accent);margin-bottom:20px}#portfolio-entrance .project-header h1{font:400 clamp(42px,4.8vw,78px)/1.28 var(--font-serif);letter-spacing:-.035em;text-wrap:balance;margin:0 0 18px}#portfolio-entrance .project-subtitle{font:400 clamp(16px,1.45vw,21px)/1.7 var(--font-sans);color:var(--project-muted);letter-spacing:.04em;margin:0}#portfolio-entrance .project-definition{font:400 clamp(18px,1.4vw,22px)/1.85 var(--font-sans);text-wrap:pretty;max-width:31em;margin:0}#portfolio-entrance .project-reading-links{flex-wrap:wrap;gap:24px;margin-top:24px;display:flex}#portfolio-entrance .project-reading-links :is(button,a){font:400 14px/1.8 var(--font-sans);color:var(--project-accent);cursor:pointer;border-bottom:1px solid #dfbd8655;padding:6px 0}#portfolio-entrance .project-reading-links :is(button,a):hover{color:#fff;border-color:#fff}#portfolio-entrance .project-image-link{cursor:zoom-in;outline-offset:5px;background:#181612;display:block;position:relative;overflow:hidden;box-shadow:0 12px 36px #0002}#portfolio-entrance .project-image-link:focus-visible{outline:2px solid var(--project-accent)}#portfolio-entrance .project-detail .project-media{aspect-ratio:auto;object-fit:contain;width:100%;height:auto;display:block}#portfolio-entrance .project-hero-image{width:fit-content;max-width:100%;margin-inline:auto}#portfolio-entrance .project-hero-image img{width:auto;max-width:100%;max-height:78vh}#portfolio-entrance .has-portrait-cover .project-opening{grid-template-columns:1fr 1fr;align-items:center;gap:8%;display:grid}#portfolio-entrance .has-portrait-cover .project-heading{margin:0;display:block}#portfolio-entrance .has-portrait-cover .project-intro{margin-top:36px}#portfolio-entrance .has-portrait-cover .project-hero{width:100%;min-width:0}#portfolio-entrance .has-portrait-cover .project-hero-image img{width:auto;max-height:72vh}#portfolio-entrance .project-enlarge{font:400 12px/1.7 var(--font-sans);color:#f7f3eb;opacity:0;pointer-events:none;background:#1d1a16e8;padding:7px 12px;transition:opacity .18s,transform .18s;position:absolute;bottom:12px;right:12px;transform:translateY(3px)}#portfolio-entrance .project-image-link:is(:hover,:focus-visible) .project-enlarge{opacity:1;transform:none}#portfolio-entrance .project-image-link.is-strip .project-enlarge{text-align:right;opacity:1;background:#211d18;display:block;position:static;transform:none}#portfolio-entrance .project-specs{border-bottom:1px solid var(--site-rule);grid-template-columns:1fr 1.7fr;gap:6%;margin:30px 0 50px;padding:0 0 28px;display:grid}#portfolio-entrance .project-specs dt{font:400 12px/1.8 var(--font-sans);letter-spacing:.12em;color:var(--project-muted);margin-bottom:10px}#portfolio-entrance .project-specs dd{margin:0;font-size:16px;line-height:1.9}#portfolio-entrance .project-specs .skill-tags{margin:0}#portfolio-entrance .project-process{flex-wrap:wrap;gap:25px;margin:0 0 60px;padding:0;list-style:none;display:flex}#portfolio-entrance .project-process li{align-items:baseline;gap:10px;font-size:15px;line-height:1.8;display:flex}#portfolio-entrance .project-process span{color:var(--project-accent);font:italic 400 18px/1.5 Georgia,serif}#portfolio-entrance .project-chapter{border-top:1px solid var(--site-rule);padding:42px 0 58px;scroll-margin-top:112px}#portfolio-entrance .project-chapter-copy{grid-template-columns:1fr 1.7fr;gap:6%;margin-bottom:30px;display:grid}#portfolio-entrance .project-chapter-copy .site-label{color:var(--project-accent);margin:0 0 18px}#portfolio-entrance .project-chapter h2,#portfolio-entrance .project-demo h2{font:400 clamp(25px,2.4vw,36px)/1.55 var(--font-serif);letter-spacing:.025em;text-wrap:balance;max-width:16em;margin:0}#portfolio-entrance .project-prose p{font:400 clamp(17px,1.23vw,19px)/2 var(--font-sans);letter-spacing:.015em;color:#e7e0d5;max-width:48em;margin:0 0 16px}#portfolio-entrance .project-prose p:last-child{margin-bottom:0}#portfolio-entrance .project-overview{color:#e0e2e8;max-width:58em;font:400 17px/1.95 var(--font-sans);margin:24px 0 0}#portfolio-entrance .project-detail--visual-first{--project-accent:#bccbff;--project-muted:#c3c8d2;--site-rule:#ffffff2b}#portfolio-entrance .project-detail--visual-first .project-header h1{font-family:var(--font-sans);letter-spacing:-.045em;font-weight:600}#portfolio-entrance .project-detail--visual-first .project-hero-image{width:100%;max-width:1180px}#portfolio-entrance .project-detail--visual-first .project-hero-image img{width:100%;max-height:none}#portfolio-entrance .project-detail--visual-first .project-chapter-copy{grid-template-columns:1fr 1.45fr;gap:6%;margin:28px 0 0}#portfolio-entrance .project-detail--visual-first .project-chapter h2{font-family:var(--font-sans);letter-spacing:0;font-size:clamp(23px,2.05vw,31px);font-weight:500}#portfolio-entrance .project-detail--visual-first .project-prose p{color:#e0e2e8}#portfolio-entrance .project-gallery{margin:0}#portfolio-entrance .project-image-spread{align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}#portfolio-entrance .project-image-spread:last-child{margin-bottom:0}#portfolio-entrance .project-image-spread figure{flex:var(--image-ratio) 1 0%;min-width:0;margin:0}#portfolio-entrance .project-image-spread.is-single figure{max-width:min(100%,var(--image-native-width));margin-inline:auto}#portfolio-entrance .project-image-spread.is-single .is-board{max-width:min(900px,var(--image-native-width))}#portfolio-entrance .project-gallery figcaption{font:400 14px/1.85 var(--font-sans);color:var(--project-muted);text-wrap:pretty;margin-top:12px}#portfolio-entrance .project-section-title{border-top:1px solid var(--site-rule);justify-content:space-between;align-items:end;gap:40px;margin-bottom:28px;padding-top:35px;display:flex}#portfolio-entrance .project-section-title .site-label{color:var(--project-accent);margin:0 0 16px}#portfolio-entrance .project-section-title>p{color:var(--project-muted);max-width:36em;margin:0;font-size:16px;line-height:1.9}#portfolio-entrance .project-demo{margin:0 0 80px;scroll-margin-top:112px}#portfolio-entrance .project-video{object-fit:contain;background:#141310;width:100%;max-height:78vh;display:block}#portfolio-entrance .project-next{border-top:1px solid var(--site-rule);justify-content:space-between;align-items:end;gap:30px;padding-top:34px;display:flex}#portfolio-entrance .project-next>div{text-align:right}#portfolio-entrance .project-next .site-label{color:var(--project-muted)}#portfolio-entrance .project-next>div>a{font:400 clamp(26px,3.5vw,48px)/1.5 var(--font-serif)}#portfolio-entrance .project-next>div>a span{color:var(--project-accent);transition:transform .2s;display:inline-block}#portfolio-entrance .project-next>div>a:hover span{transform:translate(3px,-3px)}#portfolio-entrance .project-collection{margin-bottom:65px}#portfolio-entrance .project-experiment{border-top:1px solid var(--site-rule);padding:36px 0}#portfolio-entrance .project-experiment h2{font:400 32px/1.5 var(--font-serif)}#portfolio-entrance .project-experiment p{font-size:18px;line-height:1.9}#portfolio-entrance .project-lightbox{color:#f7f3eb;background:#211d18;border:1px solid #dfbd862e;width:96vw;max-width:2400px;height:95dvh;max-height:95dvh;padding:0;overflow:hidden;box-shadow:0 20px 80px #0006}#portfolio-entrance .project-lightbox::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e0c0aeb}#portfolio-entrance .project-lightbox header{border-bottom:1px solid #fff2;justify-content:space-between;align-items:center;gap:20px;height:70px;padding:12px 25px;display:flex}#portfolio-entrance .project-lightbox header p{text-overflow:ellipsis;white-space:nowrap;max-width:60%;margin:0;font-size:14px;line-height:1.6;overflow:hidden}#portfolio-entrance .project-lightbox header>div{gap:22px;display:flex}#portfolio-entrance .project-lightbox button{color:#fff;white-space:nowrap;cursor:pointer;min-height:44px;font-size:14px}#portfolio-entrance .project-lightbox-stage{overscroll-behavior:contain;place-items:start center;height:calc(100% - 70px);padding:24px;display:grid;overflow:auto}#portfolio-entrance .project-lightbox-stage img{width:auto;max-width:100%;height:auto;max-height:calc(95dvh - 125px)}#portfolio-entrance .project-lightbox.is-enlarged .project-lightbox-stage{display:block}#portfolio-entrance .project-lightbox.is-enlarged img{max-width:none;max-height:none;margin:auto;display:block}@keyframes project-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width<=900px){#portfolio-entrance .project-heading{grid-template-columns:1fr;gap:24px}#portfolio-entrance .has-portrait-cover .project-opening{gap:5%}#portfolio-entrance .has-portrait-cover .project-header h1{font-size:36px}#portfolio-entrance .project-chapter-copy{grid-template-columns:1fr;gap:20px}#portfolio-entrance .project-detail--visual-first .project-chapter-copy{grid-template-columns:1fr;gap:18px}#portfolio-entrance .project-chapter h2{max-width:26em}}@media (width<=700px){#portfolio-entrance .project-detail{padding-top:106px;padding-bottom:50px}#portfolio-entrance .project-breadcrumb{align-items:start;margin-bottom:34px}#portfolio-entrance .project-breadcrumb .site-label{padding-top:15px;font-size:11px}#portfolio-entrance .project-breadcrumb .site-text-link{letter-spacing:0;font-size:13px}#portfolio-entrance .project-header h1{font-size:38px}#portfolio-entrance .project-definition{font-size:18px}#portfolio-entrance .project-subtitle{font-size:16px}#portfolio-entrance .has-portrait-cover .project-opening{display:block}#portfolio-entrance .has-portrait-cover .project-intro{margin-top:24px}#portfolio-entrance .has-portrait-cover .project-hero{margin-top:28px}#portfolio-entrance .project-specs{grid-template-columns:1fr;gap:22px;margin-bottom:36px}#portfolio-entrance .project-process{gap:16px 22px;margin-bottom:40px}#portfolio-entrance .project-chapter{padding:30px 0 40px}#portfolio-entrance .project-chapter-copy{margin-bottom:24px}#portfolio-entrance .project-chapter h2{font-size:26px}#portfolio-entrance .project-prose p{font-size:17px;line-height:1.95}#portfolio-entrance .project-image-spread{margin:0;display:block}#portfolio-entrance .project-image-spread figure{margin-bottom:26px}#portfolio-entrance .project-section-title{padding-top:30px;display:block}#portfolio-entrance .project-section-title>p{margin-top:18px}#portfolio-entrance .project-demo{margin-bottom:50px}#portfolio-entrance .project-enlarge{opacity:1;padding:5px 8px;font-size:11px;transform:none}#portfolio-entrance .project-next{flex-direction:column;align-items:start}#portfolio-entrance .project-next>div{text-align:left}#portfolio-entrance .project-lightbox header{gap:8px;padding:10px 14px}#portfolio-entrance .project-lightbox header>div{gap:14px}#portfolio-entrance .project-lightbox button{font-size:12px}#portfolio-entrance .project-lightbox-stage{padding:12px}}@media (prefers-reduced-motion:reduce){#portfolio-entrance:not(.allows-motion) .project-detail{animation:none}#portfolio-entrance:not(.allows-motion) .project-enlarge{transition:none}}#portfolio-entrance .case-figure{--case-ink:#2c3c40;--case-muted:#59696b;--case-rule:#71858a42;color:var(--case-ink);font-family:var(--font-sans);background:#e9e8df;border:1px solid #efece236;margin:28px 0 34px;padding:clamp(24px,3.8vw,54px);position:relative;overflow:hidden}#portfolio-entrance .case-figure header{border-bottom:1px solid var(--case-rule);align-items:baseline;gap:30px;margin-bottom:42px;padding-bottom:21px;display:flex}#portfolio-entrance .case-figure header>span{letter-spacing:.12em;color:var(--case-muted);white-space:nowrap;font-size:12px}#portfolio-entrance .case-figure h3{font:400 clamp(23px,2.2vw,32px)/1.6 var(--font-serif);text-wrap:balance;margin:0}#portfolio-entrance .case-figure h4{font:500 19px/1.55 var(--font-sans);overflow-wrap:anywhere;margin:10px 0}#portfolio-entrance .case-figure p{font:400 15px/1.9 var(--font-sans);color:var(--case-muted);margin:0}#portfolio-entrance .case-figure small{color:var(--case-muted);font-size:12px}#portfolio-entrance .case-figure figcaption{color:var(--case-muted);border-top:1px solid var(--case-rule);margin-top:34px;padding-top:15px;font-size:12px;line-height:1.9}#portfolio-entrance .case-sequence{gap:0;margin:0;padding:0;list-style:none;display:flex}#portfolio-entrance .case-sequence li{border-left:1px solid var(--case-rule);flex:1;min-width:0;padding:0 24px;position:relative}#portfolio-entrance .case-sequence li:first-child{border:0;padding-left:0}#portfolio-entrance .case-sequence li:last-child{padding-right:0}#portfolio-entrance .case-sequence li+li:before{content:"→";color:#54737b;background:#e9e8df;font:22px Georgia,serif;position:absolute;top:14px;left:-11px}#portfolio-entrance .case-step-number{color:#779296;margin-bottom:23px;font:italic 400 45px/1.1 Georgia,serif;display:block}#portfolio-entrance .case-library{grid-template-columns:1fr 2fr;gap:8%;display:grid}#portfolio-entrance .case-count{letter-spacing:-.04em;font:400 clamp(72px,7vw,110px)/1 Georgia,serif}#portfolio-entrance .case-library-index>p{margin:12px 0 6px;font-size:19px}#portfolio-entrance .case-library-topics{border-top:1px solid var(--case-rule);font:400 15px/2.1 var(--font-sans);color:var(--case-muted);margin-top:24px;padding-top:20px}#portfolio-entrance .case-list-heading{border-bottom:1px solid var(--case-rule);color:var(--case-muted);justify-content:space-between;padding:0 0 15px;font-size:13px;display:flex}#portfolio-entrance .case-paper-list ol{margin:0;padding:0;list-style:none}#portfolio-entrance .case-paper-list li{border-bottom:1px solid var(--case-rule);grid-template-columns:30px 1fr 20px;align-items:center;gap:20px;padding:17px 0;font-size:17px;display:grid}#portfolio-entrance .case-file{color:#6a8489;font:italic 14px Georgia,serif}#portfolio-entrance .case-paper-list>p{margin-top:19px;font-size:13px}#portfolio-entrance .case-hub{text-align:center;background:#f6f2e8;border:1px solid #8a999783;width:fit-content;max-width:100%;margin:0 auto 42px;padding:20px 35px;position:relative}#portfolio-entrance .case-hub:after{content:"";border-left:1px solid #81918e;height:42px;position:absolute;bottom:-43px;left:50%}#portfolio-entrance .case-hub>span{color:#84998e;letter-spacing:20px;padding-left:20px;font:24px Georgia,serif}#portfolio-entrance .case-branches{border-top:1px solid #81918e;grid-template-columns:repeat(4,1fr);gap:30px;display:grid}#portfolio-entrance .case-branches>div{padding-top:25px;position:relative}#portfolio-entrance .case-branches>div:before{content:"";background:#7a9695;border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:0}#portfolio-entrance .case-branches>div>span{color:#738c91;font:italic 27px/1.2 Georgia,serif}#portfolio-entrance .is-input{flex-direction:column-reverse;display:flex}#portfolio-entrance .is-input .case-branches{border-top:0;border-bottom:1px solid #81918e;padding-bottom:24px}#portfolio-entrance .is-input .case-branches>div:before{top:auto;bottom:-28px}#portfolio-entrance .is-input .case-hub{margin:40px auto 0}#portfolio-entrance .is-input .case-hub:after{top:-42px;bottom:auto}#portfolio-entrance .case-evidence-question{text-align:center;flex-direction:column;align-items:center;gap:16px;margin-bottom:30px;display:flex}#portfolio-entrance .case-evidence-question>span:first-child{color:var(--case-muted);font-size:16px}#portfolio-entrance .case-evidence-question h4{background:#f6f2e8;border:1px solid #8a9997;margin:0;padding:22px 35px}#portfolio-entrance .case-decisions{border-top:1px solid #81918e;grid-template-columns:1fr 1fr;gap:45px;max-width:840px;margin:auto;display:grid}#portfolio-entrance .case-decisions>div{padding:30px 0 0;position:relative}#portfolio-entrance .case-decisions>div:before{content:"↓";color:#66837e;background:#e9e8df;padding-right:10px;position:absolute;top:-11px}@media (width<=1000px){#portfolio-entrance .case-sequence{flex-wrap:wrap;gap:30px 0}#portfolio-entrance .case-sequence li{flex:29%;padding-inline:20px}#portfolio-entrance .case-sequence li:nth-child(4){border:0;padding-left:0}#portfolio-entrance .case-sequence li:nth-child(4):before{display:none}#portfolio-entrance .case-branches{grid-template-columns:1fr 1fr;gap:28px 35px}}@media (width<=600px){#portfolio-entrance .case-figure{padding:23px 20px}#portfolio-entrance .case-figure header{margin-bottom:28px;display:block}#portfolio-entrance .case-figure h3{margin-top:12px;font-size:23px}#portfolio-entrance .case-sequence{display:block}#portfolio-entrance .case-sequence li{border:0;border-bottom:1px solid var(--case-rule);padding:20px 0 20px 55px!important}#portfolio-entrance .case-sequence li:before{display:none}#portfolio-entrance .case-step-number{font-size:32px;position:absolute;top:21px;left:0}#portfolio-entrance .case-figure h4{font-size:18px}#portfolio-entrance .case-library{grid-template-columns:1fr;gap:28px}#portfolio-entrance .case-library-topics{display:none}#portfolio-entrance .case-paper-list li{gap:8px;font-size:15px}#portfolio-entrance .case-library-index{border-bottom:1px solid var(--case-rule);padding-bottom:23px}#portfolio-entrance .case-branches{gap:24px 20px}#portfolio-entrance .case-hub{padding:17px 20px}#portfolio-entrance .case-branches p{font-size:14px}#portfolio-entrance .case-decisions{gap:24px}#portfolio-entrance .case-evidence-question h4{padding:20px}#portfolio-entrance .case-figure figcaption{font-size:12px}}#portfolio-entrance .document-reader{--document-rule:#dfbd8644;width:min(100%,860px);margin:0 auto}#portfolio-entrance .document-reader>figcaption{color:#eee6da;border-top:1px solid var(--document-rule);justify-content:space-between;align-items:center;gap:22px;margin:0;padding:16px 0;display:flex}#portfolio-entrance .document-reader figcaption span{letter-spacing:.15em;color:#dfbd86;margin-bottom:5px;font-size:11px;display:block}#portfolio-entrance .document-reader figcaption strong{font:400 15px/1.8 var(--font-sans)}#portfolio-entrance .document-reader button{color:#f2d5a7;border-bottom:1px solid var(--document-rule);cursor:pointer;flex-shrink:0;padding:10px 0;font-size:14px}#portfolio-entrance .document-viewport{overscroll-behavior:contain;scrollbar-color:#a39176 #ede6db;scrollbar-width:auto;outline-offset:5px;border:1px solid var(--document-rule);scroll-behavior:auto;background:#fff;height:clamp(340px,66dvh,680px);overflow:auto}#portfolio-entrance .document-pages{width:100%}#portfolio-entrance .document-pages img{width:100%;max-width:none;height:auto;margin:0;display:block}#portfolio-entrance .document-reader.is-enlarged .document-pages{width:max(100%,1100px)}#portfolio-entrance .document-hint{color:#cfc1ad;font:400 13px/1.8 var(--font-sans);justify-content:space-between;gap:15px;margin:12px 0 0;display:flex}#portfolio-entrance .project-document-pair{color:#182334;background:#fff;grid-template-columns:.78fr 1fr;align-items:center;gap:32px;padding:28px;display:grid}#portfolio-entrance .project-document-diagram{width:100%;height:auto;display:block}#portfolio-entrance .project-document-pair .document-reader{--document-rule:#d5ddeb;width:100%;min-width:0}#portfolio-entrance .project-document-pair .document-reader>figcaption{color:#283347;border:0;padding:0 0 12px}#portfolio-entrance .project-document-pair .document-reader figcaption span{display:none}#portfolio-entrance .project-document-pair .document-reader button{color:#254bff}#portfolio-entrance .project-document-pair .document-viewport{scrollbar-color:#9aa5ba #eef1f6;height:clamp(330px,36vw,580px)}#portfolio-entrance .project-document-pair .document-hint{color:#58667e;font-size:12px}#portfolio-entrance .project-document-pair .document-hint span{display:none}@media (width<=700px){#portfolio-entrance .project-document-pair{grid-template-columns:1fr;gap:20px;padding:16px}#portfolio-entrance .project-document-diagram{object-fit:contain;max-height:290px}#portfolio-entrance .project-document-pair .document-viewport{height:390px}#portfolio-entrance .document-reader figcaption strong{font-size:13px}#portfolio-entrance .document-hint span{display:none}#portfolio-entrance .document-reader.is-enlarged .document-pages{width:720px}#portfolio-entrance .document-viewport{height:60dvh}}#portfolio-entrance .nav-record-links{border-top:1px solid var(--site-rule);gap:22px;margin-top:12px;padding-top:18px;font-size:14px;display:flex}#portfolio-entrance .record-section{color:#f7f3eb;--record-muted:#d2c7b6;--record-accent:#e2c491;--record-rule:#dfc49936;min-height:100dvh;padding-block:110px 64px}#portfolio-entrance .record-shell{max-width:1400px;margin:auto}#portfolio-entrance .record-heading{justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px;display:flex}#portfolio-entrance .record-heading .site-label{color:var(--record-accent);margin:0 0 22px}#portfolio-entrance .record-heading h2{font:400 clamp(32px,3.6vw,56px)/1.4 var(--font-serif);letter-spacing:.035em;text-wrap:balance;margin:0}#portfolio-entrance .record-heading>p{font:400 17px/1.95 var(--font-sans);color:var(--record-muted);margin:0}#portfolio-entrance .record-section button{color:inherit;font-family:var(--font-sans)}#portfolio-entrance .record-section :focus-visible{outline:2px solid var(--record-accent);outline-offset:4px}#portfolio-entrance .record-panel[hidden]{display:none}#portfolio-entrance .record-panel{min-width:0;animation:.28s both record-reveal}#portfolio-entrance .honor-reader{grid-template-columns:1fr 1.22fr;gap:7%;display:grid}#portfolio-entrance .honor-directory{border-top:1px solid var(--record-rule);scrollbar-width:thin;scrollbar-color:#aa9473 #ffffff10;max-height:clamp(420px,57vh,590px);padding-right:8px;overflow-y:auto}#portfolio-entrance .honor-directory button{text-align:left;border-bottom:1px solid var(--record-rule);grid-template-columns:70px 1fr 20px;align-items:center;gap:18px;width:100%;padding:19px 12px 19px 0;font-size:20px;line-height:1.5;transition:color .18s,padding .18s;display:grid}#portfolio-entrance .honor-directory time{font:400 13px/1.6 var(--font-sans);color:var(--record-muted);font-variant-numeric:tabular-nums}#portfolio-entrance .honor-directory small{color:var(--record-muted);margin-top:4px;font-size:13px;display:block}#portfolio-entrance .honor-directory [aria-selected=true]{color:var(--record-accent);background:#d8b2780c;padding-left:14px}#portfolio-entrance .honor-directory button:hover{color:var(--record-accent)}#portfolio-entrance .record-section figure{margin:0}#portfolio-entrance .record-image{cursor:zoom-in;background:#17151230;display:block;position:relative}#portfolio-entrance .record-image img{object-fit:contain;width:100%;height:100%;display:block}#portfolio-entrance .record-image>span{color:#f5ead7;opacity:0;background:#211c17dc;padding:7px 10px;font-size:12px;line-height:1.6;transition:opacity .18s;position:absolute;bottom:12px;right:12px}#portfolio-entrance .record-image:is(:hover,:focus-visible)>span{opacity:1}#portfolio-entrance .honor-display .record-image{height:clamp(280px,43vh,445px);padding:16px;box-shadow:inset 0 0 0 1px #dfc49915}#portfolio-entrance .record-section figcaption{font:400 13px/1.8 var(--font-sans);color:var(--record-muted);margin-top:12px}#portfolio-entrance .honor-display figcaption{justify-content:space-between;gap:20px;display:flex}#portfolio-entrance .honor-project-link{color:var(--record-accent);margin-top:16px;font-size:14px;display:inline-block}#portfolio-entrance .honor-description{font:400 17px/1.95 var(--font-sans);color:var(--record-body,#e8e0d4);max-width:35em;margin:22px 0 0}#portfolio-entrance .record-footer{border-top:1px solid var(--record-rule);color:var(--record-muted);justify-content:space-between;align-items:center;gap:25px;margin-top:40px;padding-top:16px;font-size:13px;display:flex}#portfolio-entrance .record-footer a{color:var(--record-accent)}#portfolio-entrance .record-footer a:hover{color:#fff}#portfolio-entrance .activity-directory{border-top:1px solid var(--record-rule);border-bottom:1px solid var(--record-rule);scrollbar-width:thin;scrollbar-color:#aa9473 #ffffff10;margin-bottom:32px;display:flex;overflow:auto}#portfolio-entrance .activity-directory button{text-align:left;white-space:nowrap;border-bottom:2px solid #0000;flex:1;align-items:center;gap:15px;min-width:240px;padding:20px 16px;font-size:17px;display:flex}#portfolio-entrance .activity-directory button:first-child{padding-left:0}#portfolio-entrance .activity-directory time{color:var(--record-muted);margin-left:auto;font-size:12px}#portfolio-entrance .record-tab-number{color:var(--record-accent);font:italic 400 16px/1.5 Georgia,serif}#portfolio-entrance .activity-directory [aria-selected=true]{border-color:var(--record-accent);color:var(--record-accent)}#portfolio-entrance .activity-layout{grid-template-columns:1.38fr 1fr;align-items:start;gap:6%;display:grid}#portfolio-entrance .activity-main-photo .record-image{height:clamp(270px,38vw,450px)}#portfolio-entrance .activity-thumbnails{gap:12px;margin-top:18px;display:flex}#portfolio-entrance .activity-thumbnails button{opacity:.55;border:1px solid #0000;width:82px;height:56px;padding:3px;transition:opacity .18s;position:relative}#portfolio-entrance .activity-thumbnails img{object-fit:cover;width:100%;height:100%;display:block}#portfolio-entrance .activity-thumbnails span{color:#fff;background:#211c17c9;padding:1px 4px;font-size:10px;position:absolute;bottom:4px;right:4px}#portfolio-entrance .activity-thumbnails [aria-pressed=true]{opacity:1;border-color:var(--record-accent)}#portfolio-entrance .activity-thumbnails button:hover{opacity:1}#portfolio-entrance .activity-play{border-bottom:1px solid var(--record-rule);letter-spacing:.06em;cursor:pointer;padding:10px 0;font-size:13px}#portfolio-entrance .activity-play:hover{color:var(--record-accent)}#portfolio-entrance .activity-main-photo .record-image{animation:.42s both activity-photo-reveal}@keyframes activity-photo-reveal{0%{opacity:.3}to{opacity:1}}@media (prefers-reduced-motion:reduce){#portfolio-entrance:not(.allows-motion) .activity-main-photo .record-image{animation:none}}#portfolio-entrance .activity-copy>.site-label{color:var(--record-accent);margin:0 0 18px;font-size:13px}#portfolio-entrance .activity-copy h3{font:400 clamp(25px,2.1vw,33px)/1.6 var(--font-serif);text-wrap:balance;margin:0 0 18px}#portfolio-entrance .activity-copy p{font:400 17px/1.95 var(--font-sans);color:var(--record-body,#e8e0d4);text-wrap:pretty;margin:0 0 18px}#portfolio-entrance .activity-contribution{border-top:1px solid var(--record-rule);margin-top:26px;padding-top:19px}#portfolio-entrance .activity-contribution h4{font:400 13px/1.8 var(--font-sans);color:var(--record-accent);margin:0 0 12px}#portfolio-entrance .activity-contribution p{color:var(--record-muted);font-size:15px}#portfolio-entrance .activity-sources{color:var(--record-accent);flex-wrap:wrap;gap:12px 24px;margin-top:22px;font-size:14px;display:flex}@keyframes record-reveal{0%{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}@media (width<=900px){#portfolio-entrance .honor-reader{grid-template-columns:1fr 1fr;gap:5%}#portfolio-entrance .honor-directory button{grid-template-columns:58px 1fr 16px;gap:10px;font-size:17px}#portfolio-entrance .activity-layout{grid-template-columns:1.15fr 1fr;gap:5%}#portfolio-entrance .activity-copy p{font-size:16px}#portfolio-entrance .record-heading>p{font-size:15px}}@media (width<=700px){#portfolio-entrance .record-section{padding-block:100px 45px}#portfolio-entrance .record-heading{margin-bottom:28px;display:block}#portfolio-entrance .record-heading>p{margin-top:18px}#portfolio-entrance .record-heading h2{font-size:32px}#portfolio-entrance .honor-reader{flex-direction:column;gap:28px;display:flex}#portfolio-entrance .honor-directory{grid-template-columns:1fr 1fr;gap:0 18px;max-height:275px;display:grid}#portfolio-entrance .honor-directory button{min-height:116px;padding:12px 3px;font-size:16px;display:block}#portfolio-entrance .honor-directory button>span:last-child{display:none}#portfolio-entrance .honor-directory time{margin-bottom:5px;font-size:11px;display:block}#portfolio-entrance .honor-directory small{font-size:11px}#portfolio-entrance .honor-directory [aria-selected=true]{padding-left:7px}#portfolio-entrance .honor-display .record-image{height:320px;padding:10px}#portfolio-entrance .honor-project-link{color:var(--record-accent);margin-top:16px;font-size:14px;display:inline-block}#portfolio-entrance .honor-description{font-size:16px}#portfolio-entrance .activity-directory button{min-width:245px;padding:16px 12px;font-size:16px}#portfolio-entrance .activity-layout{display:block}#portfolio-entrance .activity-main-photo .record-image{aspect-ratio:3/2;height:auto}#portfolio-entrance .activity-copy{margin-top:30px}#portfolio-entrance .activity-copy h3{font-size:26px}#portfolio-entrance .record-footer{flex-direction:column;align-items:start;gap:14px}#portfolio-entrance .record-image>span{opacity:1}}@media (prefers-reduced-motion:reduce){#portfolio-entrance:not(.allows-motion) .record-panel{animation:none}}#portfolio-entrance .activity-section{--record-body:color-mix(in srgb,#e8e0d4 calc((1 - var(--museum-ink-return,0))*100%),#153a49);--record-muted:color-mix(in srgb,#d2c7b6 calc((1 - var(--museum-ink-return,0))*100%),#294957);--record-accent:color-mix(in srgb,#e2c491 calc((1 - var(--museum-ink-return,0))*100%),#294957);color:color-mix(in srgb,#f7f3eb calc((1 - var(--museum-ink-return,0))*100%),#0b2838)}
