@charset "UTF-8";
:root{--ink:#101114;--paper:#fff;--violet:#a79bed;--lime:#d9f870;--inset:20px;--rail:66px;--header:54px;--content-left:clamp(108px,8.5vw,180px);--content-right:44px;--ease:cubic-bezier(.2,.7,.2,1);font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3,h4,h5{margin:0}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5}button svg,a svg{flex:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--violet);outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:-80px;left:100px;background:var(--lime);color:var(--ink);padding:16px}.skip-link:focus{top:28px}section,details{scroll-margin-top:90px}
.hud{position:fixed;z-index:40;inset:var(--inset);border:1px solid currentColor;border-radius:12px;color:white;pointer-events:none;transition:color .28s var(--ease)}body[data-theme="light"] .hud{color:var(--ink)}.hud-header{height:var(--header);display:flex;align-items:center;border-bottom:1px solid currentColor;border-radius:11px 11px 0 0;pointer-events:auto}.menu-toggle{width:var(--rail);height:100%;border:0;border-right:1px solid currentColor;background:none;display:grid;place-items:center}.menu-toggle svg{width:29px;height:24px}.hud-header nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:36px;font-size:14px;font-weight:700;letter-spacing:.06em}.hud-header nav a{position:relative;padding:16px 2px}.hud-header nav a::after{content:"";position:absolute;bottom:8px;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .24s}.hud-header nav a:hover::after,.hud-header nav a[aria-current]::after{transform:scaleX(1)}.resume-link{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:10px 16px;margin-left:auto;margin-right:8px;font-weight:700;font-size:14px;background:var(--paper);color:var(--ink);clip-path:polygon(0 0,100% 0,100% 70%,88% 100%,0 100%)}body[data-theme="light"] .resume-link{background:var(--ink);color:white}.resume-link svg{width:15px;height:15px}.hud-rail{position:absolute;left:0;top:var(--header);bottom:0;width:var(--rail);border-right:1px solid currentColor}.scene-toggle{position:absolute;left:0;top:calc(50% - 20px);width:100%;height:40px;display:grid;place-items:center;border:0;background:transparent;pointer-events:auto;transition:transform .35s var(--ease)}.scene-toggle svg{width:36px;height:36px}.scene-toggle:hover{transform:rotate(90deg)}.signal-dot{fill:currentColor;stroke:none}.scene-toggle[aria-pressed="true"]{color:var(--lime);transform:rotate(45deg)}body[data-theme="light"] .scene-toggle[aria-pressed="true"]{color:#6f8036}.hud-rail #chapter-count{position:absolute;bottom:47px;left:0;width:100%;text-align:center;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.hud-rail #reading-progress{--reading-progress:0;position:absolute;bottom:23px;left:20px;right:20px;height:1px;background:currentColor;opacity:.7}.hud-rail #reading-progress::after{content:"";position:absolute;left:0;top:-2px;width:100%;height:5px;background:currentColor;transform-origin:left;transform:scaleX(var(--reading-progress))}body[data-chapter="about"] .hud-header{background:var(--ink);color:white}body[data-chapter="about"] .resume-link{background:var(--paper);color:var(--ink)}
#site-menu{position:fixed;inset:20px auto 20px 20px;margin:0;width:min(650px,46vw);height:calc(100svh - 40px);max-height:none;max-width:none;padding:0;border:1px solid white;border-radius:12px;background:var(--ink);color:white;overflow:auto}#site-menu::backdrop{background:rgba(255,255,255,.72);backdrop-filter:blur(3px)}#site-menu[open]{animation:menu-enter .4s var(--ease)}.menu-top{height:78px;padding:0 32px;border-bottom:1px solid #ffffff40;display:flex;justify-content:space-between;align-items:center;font-weight:700}.menu-top button{background:none;border:0;width:44px;height:44px;display:grid;place-items:center}.menu-top svg{width:24px;height:24px}#site-menu nav{display:grid;gap:8px;margin:24px 24px 40px}#site-menu nav a{display:flex;align-items:baseline;gap:28px;font-weight:900;font-size:clamp(38px,5.3vw,82px);line-height:1.18;letter-spacing:-.04em;padding:9px 20px;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%);transition:background .2s,color .2s}#site-menu nav a>span{font-size:13px;font-weight:400;letter-spacing:0}#site-menu nav a[aria-current],#site-menu nav a:hover{background:var(--lime);color:var(--ink)}.menu-bottom{padding:24px 44px;display:grid;gap:16px;font-size:15px;border-top:1px solid #ffffff40}.menu-bottom a{width:fit-content}.menu-bottom a:hover{text-decoration:underline}@keyframes menu-enter{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:none}}
.hero-route{--scene-progress:0;--reframe:0;--collage:0;--headline-out:0;background:white;position:relative}.stage{position:relative;isolation:isolate;overflow:hidden;height:100svh;min-height:640px}.scene-visual{position:absolute;overflow:hidden;z-index:0}.scene-visual img,.scene-visual canvas{position:absolute;inset:0;width:100%;height:100%}.scene-visual canvas{display:block;opacity:0;pointer-events:none}.scene-visual.is-webgl-ready canvas{opacity:1}.scene-visual.is-webgl-ready img{opacity:0}.hero-visual{inset:0}.hero-visual img{object-position:50% 50%}.hero-copy{position:absolute;inset:0;color:white;z-index:3;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-intro{position:absolute;left:var(--content-left);top:clamp(124px,15vh,175px);opacity:calc(1 - var(--headline-out));transform:translateY(calc(var(--headline-out) * -28px))}.hero-identity{font-size:20px;font-weight:700;letter-spacing:.03em}.hero-description{margin-top:15px;font-size:17px}.hero-headline{font-size:clamp(90px,11.72vw,180px);font-weight:900;letter-spacing:-.05em;line-height:.94;-webkit-text-stroke:1px currentColor}.hero-headline>span{display:block;position:absolute;white-space:nowrap;opacity:calc(1 - var(--headline-out));will-change:transform,opacity}.hero-headline>span:nth-child(1){top:49%;left:34.5%;transform:translateX(calc(var(--headline-out) * -100px))}.hero-headline>span:nth-child(2){top:64%;left:58%;transform:translateX(calc(var(--headline-out) * 100px))}.hero-headline>span:nth-child(3){top:74%;left:12%;transform:translateY(calc(var(--headline-out) * 100px))}.hero-action{position:absolute;left:var(--content-left);bottom:56px;display:flex;gap:24px;align-items:center;font-size:18px;font-weight:700;opacity:calc(1 - var(--headline-out))}.hero-action svg{width:44px;height:24px;transition:transform .2s}.hero-action:hover svg{transform:translateX(8px)}.scroll-cue{position:absolute;bottom:54px;right:var(--content-right);display:flex;gap:20px;align-items:center;font-size:13px;opacity:calc(1 - var(--headline-out))}.scroll-cue svg{width:18px;height:28px}.story-copy{position:relative;padding:80px var(--content-right) 80px var(--content-left);color:var(--ink);background:white}.eyebrow{font-size:16px;font-weight:700;letter-spacing:.04em}.story-copy h2{margin:26px 0 24px;font-size:clamp(40px,4.7vw,72px);font-weight:900;line-height:1.16;letter-spacing:-.045em}.story-copy>p:last-of-type{font-size:18px;line-height:1.75;max-width:27em}.story-copy .text-link{margin-top:28px}.story-art-small,.story-art-wide{display:none}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:16px;font-weight:700;padding:0 0 9px;border-bottom:1px solid currentColor;transition:gap .25s}.text-link:hover{gap:42px}
.motion-ready .hero-route{height:260svh}.motion-ready .stage{position:sticky;top:0}.motion-ready .hero-visual{left:calc(var(--reframe) * 44%);top:calc(var(--reframe) * 14%);width:calc(100% - var(--reframe) * 52%);height:calc(100% - var(--reframe) * 28%);right:auto;bottom:auto;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--reframe) * 48px),calc(100% - var(--reframe) * 48px) 100%,0 100%)}.motion-ready .story-copy{position:absolute;left:var(--content-left);top:16%;padding:0;width:35%;background:transparent;opacity:var(--reframe);transform:translateY(calc((1 - var(--reframe)) * 65px));z-index:2}.motion-ready .story-art-small,.motion-ready .story-art-wide{display:block;position:absolute;z-index:1;opacity:var(--collage);transform:translateY(calc((1 - var(--collage)) * 80px));clip-path:polygon(0 0,100% 0,100% calc(100% - 36px),calc(100% - 36px) 100%,0 100%)}.motion-ready .story-art-small{left:10%;bottom:12%;width:21%;height:24%}.motion-ready .story-art-small img{object-position:50% 33%}.motion-ready .story-art-wide{left:30%;bottom:7%;width:32%;height:30%}.hero-route[style*="--headline-out: 1.00000"] .hero-copy{visibility:hidden}
.world-route{--scene-progress:0;color:white;background:var(--ink);position:relative}.motion-ready .world-route{height:200svh}.world-visual{inset:0}.world-title{position:absolute;left:var(--content-left);top:13%;z-index:2;transform:translateY(calc(var(--scene-progress) * -50px))}.world-title h2{font-size:clamp(100px,11.4vw,175px);font-weight:900;line-height:1.02;letter-spacing:-.035em;-webkit-text-stroke:1px currentColor}.world-copy{position:absolute;z-index:2;left:var(--content-left);bottom:12%;transform:translateY(calc(var(--scene-progress) * -24px))}.world-copy>p:nth-child(2){margin:22px 0 34px;font-size:18px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:22px 28px;font-size:18px;font-weight:700;min-height:66px;clip-path:polygon(0 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%);transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.button-white{background:white;color:var(--ink)}.button-white:hover{background:var(--lime)}.world-grid{position:absolute;right:0;top:32%;width:37%;height:58%;opacity:.18;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent,black)}.world-orbit{position:absolute;right:9%;bottom:14%;width:170px;height:170px;opacity:.7;stroke-width:.6;transform:rotate(calc(var(--scene-progress) * 20deg))}
.content-section{padding-left:var(--content-left);padding-right:var(--content-right)}.works{background:white;padding-top:108px;padding-bottom:64px}.archive-heading{font-size:clamp(72px,9.12vw,140px);font-weight:900;letter-spacing:-.06em;line-height:1.12;margin-bottom:55px}.featured-project{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:56px;align-items:start;margin-bottom:50px}.project-art{height:440px;clip-path:polygon(0 0,100% 0,100% calc(100% - 52px),calc(100% - 52px) 100%,0 100%)}.project-side{position:relative}.project-portrait{height:300px;margin-top:-126px;margin-bottom:32px;clip-path:polygon(0 0,100% 0,100% calc(100% - 42px),calc(100% - 42px) 100%,0 100%)}.project-portrait img{object-position:50% 38%}.project-side h3{font-size:clamp(40px,4.3vw,66px);line-height:1.2;font-weight:900;letter-spacing:-.045em}.project-side>p{font-size:15px;margin:18px 0 25px;line-height:1.6}.concept-process,.text-project{border-top:1px solid #10111475}.text-project:last-child{border-bottom:1px solid #10111475}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.concept-process>summary{display:flex;align-items:center;justify-content:space-between;padding:21px 0;font-size:17px;font-weight:700}.text-project>summary{display:grid;grid-template-columns:46px minmax(0,1fr) 270px 34px;align-items:center;gap:20px;min-height:110px;padding:22px 0}.row-number{font-size:14px;color:#555;align-self:start;padding-top:8px}.project-row-title{font-size:clamp(27px,2.65vw,40px);font-weight:900;line-height:1.3;letter-spacing:-.025em}.project-row-description{font-size:14px;line-height:1.6;color:#555}.disclosure{width:28px;height:28px;display:block;position:relative;flex:none}.disclosure::before,.disclosure::after{content:"";position:absolute;background:currentColor;left:4px;right:4px;top:13px;height:1px;transition:transform .25s}.disclosure::after{transform:rotate(90deg)}details[open] .disclosure::after{transform:rotate(0)}.case-content{padding:24px 0 42px 66px}.case-status{font-size:13px;color:#5b5b5b;line-height:1.65}.case-heading h4{font-size:30px;line-height:1.4;margin:16px 0 30px;letter-spacing:-.025em}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.process-grid h5{font-size:20px;margin:8px 0 12px}.process-grid p{font-size:15px;color:#555;line-height:1.85}.process-number{font-size:12px}.authorship-note,.case-result{margin-top:28px;font-size:14px;line-height:1.8}.authorship-note{color:#666}.case-links{display:flex;flex-wrap:wrap;gap:28px;margin-top:24px;font-size:14px}.case-links a{border-bottom:1px solid currentColor;padding-bottom:5px}.case-result+.text-link,.authorship-note+.text-link{margin-top:25px}
.about{padding-top:105px;padding-bottom:64px;background:white}.about-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:start}.about-copy h2{font-size:clamp(48px,5.72vw,88px);font-weight:900;line-height:1.16;letter-spacing:-.063em;white-space:nowrap;margin-bottom:46px}.experience{display:grid;grid-template-columns:1.1fr .75fr .8fr;gap:12px;align-items:center;border-top:1px solid #10111465;min-height:71px;font-size:16px}.experience:last-child{border-bottom:1px solid #10111465}.experience h3{font-size:18px;font-weight:700}.experience-date{font-size:14px;white-space:nowrap}.skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:38px}.skills h3{font-size:21px;font-weight:700;margin-bottom:14px}.skills p{font-size:13px;line-height:1.9;color:#555}.about-art{height:560px;clip-path:polygon(0 0,100% 0,100% calc(100% - 58px),calc(100% - 58px) 100%,0 100%)}.about-art img{object-position:50% 35%}.contact{background:var(--ink);color:white;padding-top:38px;padding-bottom:32px}.contact-main{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center}.contact h2{font-size:clamp(56px,6.6vw,102px);font-weight:900;letter-spacing:-.05em;line-height:1.1}.contact-actions{justify-self:end;max-width:100%}.contact-buttons{display:flex;gap:18px}.button-lime{background:var(--lime);color:var(--ink);min-width:190px}.button-lime:hover{background:white}.button-outline{border:1px solid white;clip-path:none;min-width:190px}.button-outline:hover{background:white;color:var(--ink)}.contact-email{display:inline-block;font-size:18px;margin-top:22px;letter-spacing:.02em}.contact-email:hover{text-decoration:underline}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:.06em;margin-top:30px;padding-top:20px;border-top:1px solid #ffffff40}.site-footer a:hover{color:var(--lime)}
.motion-ready [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}body.signal-on [data-scene]:not(.is-webgl-ready) img{filter:grayscale(1) contrast(1.6) sepia(1) hue-rotate(35deg) saturate(1.8)}
html:not(.motion-ready) .hud-header{background:white;color:var(--ink)}html:not(.motion-ready) .hud-rail{color:white;mix-blend-mode:difference}html:not(.motion-ready) .scene-toggle,html:not(.motion-ready) .menu-toggle{display:none}html:not(.motion-ready) .hero-stage{height:auto}html:not(.motion-ready) .hero-visual{height:100svh;min-height:640px}html:not(.motion-ready) .hero-copy{height:100svh;min-height:640px;position:relative}
@media(min-width:1800px){.hero-headline{font-size:210px}.world-title h2{font-size:210px}.archive-heading{font-size:168px}.about-copy h2{font-size:104px}.contact h2{font-size:122px}.project-art{height:520px}.project-portrait{height:360px}}
@media(max-width:1200px){:root{--content-left:108px;--content-right:40px}.hero-headline{font-size:12.7vw}.hero-headline>span:nth-child(2){left:55%}.hero-intro{top:132px}.hero-identity{font-size:18px}.hero-description{font-size:15px}.featured-project{gap:30px;grid-template-columns:1.65fr 1fr}.project-art{height:370px}.project-portrait{height:260px;margin-top:-88px}.project-row-description{font-size:12px}.text-project>summary{grid-template-columns:34px minmax(0,1fr) 210px 28px;gap:14px}.about-top{gap:24px}.about-copy h2{font-size:5.55vw}.experience{grid-template-columns:1.2fr .8fr .8fr;font-size:13px}.experience h3{font-size:15px}.experience-date{font-size:11px}.skills h3{font-size:18px}.skills p{font-size:11px}.about-art{height:480px}.contact-buttons{gap:12px}.contact .button{min-width:155px;padding:20px;font-size:16px;gap:20px}.contact-email{font-size:16px}}
@media(max-width:820px){:root{--inset:8px;--rail:40px;--header:48px;--content-left:68px;--content-right:26px}.hud{border-radius:8px}.hud-header{border-radius:7px 7px 0 0}.menu-toggle svg{width:24px}.hud-header nav{gap:22px;font-size:12px;left:48%}.resume-link{padding:9px 12px;font-size:12px;gap:12px;margin-right:5px}.resume-link svg{width:12px;height:12px}.scene-toggle svg{width:26px;height:26px}.hud-rail #chapter-count{font-size:8px;bottom:40px}.hud-rail #reading-progress{left:11px;right:11px}.stage{min-height:600px}.motion-ready .hero-route{height:230svh}.motion-ready .world-route{height:170svh}.hero-intro{top:110px}.hero-identity{font-size:15px}.hero-description{font-size:12px;line-height:1.7;margin-top:12px;max-width:22em}.hero-headline{font-size:clamp(62px,14.5vw,118px);letter-spacing:-.06em;-webkit-text-stroke:.5px currentColor}.hero-headline>span:nth-child(1){top:46%;left:26%}.hero-headline>span:nth-child(2){top:61%;left:45%}.hero-headline>span:nth-child(3){top:76%;left:18%}.hero-action{bottom:42px;font-size:14px;gap:15px}.hero-action svg{width:30px}.scroll-cue{bottom:42px;font-size:10px;gap:9px}.scroll-cue svg{height:21px;width:14px}.motion-ready .hero-visual{left:calc(var(--reframe) * 45%);top:calc(var(--reframe) * 18%);width:calc(100% - var(--reframe) * 49%);height:calc(100% - var(--reframe) * 38%)}.motion-ready .story-copy{top:17%;width:32%}.story-copy h2{font-size:clamp(25px,5vw,40px);margin:17px 0 20px}.story-copy .eyebrow{font-size:11px;line-height:1.7}.story-copy>p:last-of-type{font-size:12px;line-height:1.8}.story-copy .text-link{font-size:12px;gap:12px;margin-top:20px}.motion-ready .story-art-small{left:15%;bottom:11%;width:24%;height:22%}.motion-ready .story-art-wide{left:36%;bottom:7%;width:42%;height:24%}.world-title{top:15%}.world-title h2{font-size:clamp(84px,17vw,132px)}.world-copy{bottom:12%;right:var(--content-right)}.world-copy .eyebrow{font-size:12px}.world-copy>p:nth-child(2){font-size:13px;max-width:23em;margin:18px 0 25px}.world-copy .button{font-size:14px;padding:18px 22px;min-height:54px}.world-grid{background-size:32px 32px}.world-orbit{width:100px;height:100px;right:8%;bottom:35%;opacity:.45}.works{padding-top:96px;padding-bottom:40px}.archive-heading{font-size:clamp(44px,11.7vw,84px);margin-bottom:42px}.featured-project{gap:22px;grid-template-columns:1.45fr 1fr;margin-bottom:32px}.project-art{height:280px;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%)}.project-portrait{height:180px;margin-top:-65px;margin-bottom:20px;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}.project-side h3{font-size:30px}.project-side>p{font-size:11px;margin:12px 0 17px}.project-side .text-link{font-size:12px;gap:12px}.text-project>summary{grid-template-columns:24px minmax(0,1fr) 24px;gap:10px;min-height:95px}.project-row-description{display:none}.project-row-title{font-size:28px}.row-number{font-size:11px}.concept-process>summary{font-size:14px}.case-content{padding:20px 0 30px}.case-heading h4{font-size:24px}.process-grid{gap:20px}.process-grid h5{font-size:17px}.process-grid p{font-size:13px}.about{padding-top:84px;padding-bottom:42px}.about-top{grid-template-columns:1fr;gap:34px}.about-copy h2{font-size:clamp(34px,6.9vw,56px);margin-bottom:34px;white-space:normal}.experience{font-size:14px;min-height:64px;grid-template-columns:1.2fr .8fr .8fr}.experience-date{font-size:12px}.experience h3{font-size:16px}.skills{margin-top:28px}.skills h3{font-size:18px}.skills p{font-size:12px}.about-art{height:430px}.contact{padding-top:40px;padding-bottom:28px}.contact-main{grid-template-columns:1fr;gap:30px}.contact h2{font-size:clamp(40px,8.7vw,72px)}.contact-actions{justify-self:start}.contact .button{font-size:14px;min-width:145px;padding:18px 20px;min-height:58px}.contact-email{font-size:15px;margin-top:20px}.site-footer{font-size:9px;gap:14px}#site-menu{inset:8px auto 8px 8px;width:min(520px,calc(100vw - 16px));height:calc(100svh - 16px);border-radius:8px}.menu-top{height:64px;padding:0 24px}#site-menu nav{margin:18px 18px 26px;gap:7px}#site-menu nav a{font-size:clamp(38px,8vw,64px)}.menu-bottom{padding:24px 38px}.story-copy{padding:60px var(--content-right) 60px var(--content-left)}}
@media(max-width:500px){.hud-header nav{gap:14px;left:47%;font-size:11px}.resume-link{gap:8px;padding:9px 10px;font-size:11px}.hero-visual img{object-position:57% 50%}.hero-headline{font-size:clamp(57px,17vw,84px)}.hero-headline>span:nth-child(1){left:24%}.hero-headline>span:nth-child(2){left:41%;top:62%}.hero-headline>span:nth-child(3){left:19%;top:77%}.hero-identity{font-size:13px}.hero-description{font-size:11px;max-width:19em}.hero-action{font-size:12px;gap:10px}.hero-action svg{width:25px}.scroll-cue{font-size:9px;gap:7px}.motion-ready .story-copy{top:14%;width:34%;left:var(--content-left)}.story-copy h2{font-size:27px;line-height:1.3}.story-copy>p:last-of-type{font-size:11px}.story-copy .eyebrow{font-size:10px}.motion-ready .hero-visual{left:calc(var(--reframe) * 54%);top:calc(var(--reframe) * 21%);width:calc(100% - var(--reframe) * 57%);height:calc(100% - var(--reframe) * 42%)}.motion-ready .story-art-small{left:18%;width:25%;height:20%;bottom:9%}.motion-ready .story-art-wide{left:39%;width:48%;height:20%;bottom:6%}.world-title h2{font-size:92px}.world-copy .eyebrow{font-size:11px}.world-copy>p:nth-child(2){font-size:12px;max-width:20em}.world-orbit{right:7%;bottom:39%;width:78px;height:78px}.featured-project{grid-template-columns:1fr;gap:22px}.project-art{height:230px}.project-side{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;align-items:center}.project-portrait{height:156px;grid-column:2;grid-row:1/4;margin:-65px 0 0}.project-side h3{grid-column:1;font-size:26px}.project-side>p{grid-column:1;font-size:10px;margin:12px 0}.project-side .text-link{grid-column:1;font-size:11px;gap:10px}.archive-heading{font-size:clamp(39px,12.6vw,62px)}.text-project>summary{min-height:91px}.project-row-title{font-size:23px}.concept-process>summary{font-size:12px}.disclosure{width:22px;height:22px}.disclosure::before,.disclosure::after{left:3px;right:3px;top:10px}.process-grid{grid-template-columns:1fr;gap:24px}.case-heading h4{font-size:21px}.case-status{font-size:11px}.case-links{gap:18px;font-size:12px}.case-result,.authorship-note{font-size:12px}.about-copy h2{font-size:clamp(26px,7vw,35px)}.experience{grid-template-columns:1fr 1fr;font-size:12px;padding:13px 0;gap:8px}.experience-date{grid-column:1/-1;font-size:11px}.experience h3{font-size:15px}.skills{gap:8px}.skills h3{font-size:14px}.skills p{font-size:10px}.about-art{height:320px}.contact h2{font-size:clamp(33px,9.3vw,47px)}.contact-buttons{gap:10px}.contact .button{min-width:0;font-size:12px;padding:16px 14px;gap:17px}.contact-email{font-size:13px}.site-footer{align-items:start;line-height:1.5;font-size:8px}.site-footer a{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .hero-route,.motion-ready .world-route{height:auto}.motion-ready .stage{position:relative}.motion-ready .hero-stage{height:auto}.motion-ready .hero-visual{inset:0;width:100%;height:100svh;min-height:640px;clip-path:none}.motion-ready .hero-copy{position:relative;height:100svh;min-height:640px}.motion-ready .hero-headline>span,.motion-ready .hero-intro,.motion-ready .hero-action,.motion-ready .scroll-cue{opacity:1;transform:none}.motion-ready .story-copy{position:relative;left:auto;top:auto;padding:70px var(--content-right) 70px var(--content-left);width:auto;opacity:1;transform:none;background:white}.motion-ready .story-art-small,.motion-ready .story-art-wide{display:none}.motion-ready [data-reveal]{opacity:1;transform:none}.scene-toggle:hover,.scene-toggle[aria-pressed="true"],.button:hover{transform:none}}


/* Final concept comparison: media proportions and display typography. */
.hero-headline{-webkit-text-stroke:3px currentColor}.world-title h2{-webkit-text-stroke:3px currentColor}.archive-heading{-webkit-text-stroke:2.5px currentColor}.project-side h3{-webkit-text-stroke:1.4px currentColor}.about-copy h2{-webkit-text-stroke:2px currentColor}.contact h2{-webkit-text-stroke:2px currentColor}.arrow{width:24px;height:18px;stroke-width:1.5}.site-footer a{display:inline-flex;gap:12px;align-items:center}.site-footer svg{width:10px;height:16px}
@media(min-width:1201px){.hero-headline{font-size:clamp(165px,12.4vw,192px)}.hero-headline>span:nth-child(2){left:58%}.works{padding-top:102px}.archive-heading{margin-bottom:40px}.featured-project{grid-template-columns:minmax(0,2.6fr) minmax(0,1fr);gap:24px;margin-bottom:40px}.project-portrait{height:398px;margin-top:-156px;margin-bottom:27px;clip-path:polygon(35px 0,100% 0,100% calc(100% - 35px),calc(100% - 35px) 100%,0 100%,0 35px)}.project-side h3{font-size:66px}.project-side>p{font-size:16px}.about{padding-top:95px;padding-bottom:32px}.about-top{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:24px}.about-copy h2{font-size:clamp(72px,6.25vw,96px);line-height:1.17;letter-spacing:-.065em;margin-bottom:46px;position:relative;z-index:2}.about-art{height:590px;clip-path:polygon(48px 0,100% 0,100% calc(100% - 48px),calc(100% - 48px) 100%,0 100%,0 48px)}.contact-main{grid-template-columns:1.08fr 1fr;gap:24px}.contact h2{font-size:clamp(88px,7.1vw,110px)}.contact .button{min-width:235px;min-height:72px;font-size:20px;padding:22px 30px}.contact-email{font-size:20px}}
@media(max-width:820px){.hero-headline,.world-title h2{-webkit-text-stroke:1px currentColor}.archive-heading,.about-copy h2,.contact h2{-webkit-text-stroke:.6px currentColor}.project-side h3{-webkit-text-stroke:.4px currentColor}}


/* Chapter boundary contrast and narrow-screen reading. */
body[data-theme="light"] .hud-header{background:white}body[data-chapter="about"] .hud-header,body[data-chapter="contact"] .hud-header{background:var(--ink);color:white}
@media(max-width:500px){.skills{grid-template-columns:1fr;gap:18px}.skills>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:15px;align-items:start}.skills h3{font-size:15px;line-height:1.65;margin:0}.skills p{font-size:12px;line-height:1.8}.contact .button{white-space:nowrap}.contact-buttons .arrow{width:20px}}
@media(max-width:360px){.contact-buttons{display:grid;grid-template-columns:1fr;gap:10px}.contact .button{width:100%;min-height:54px;font-size:14px;gap:20px;padding:16px 20px}.contact-actions{width:100%}.contact-email{font-size:13px}}


@font-face{font-family:PortfolioDisplay;src:url("assets/portfolio-display.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
.hero-headline,.world-title h2,.archive-heading,.project-side h3,.about-copy h2,.contact h2,#site-menu nav a,.project-row-title{font-family:PortfolioDisplay,"Microsoft YaHei","PingFang SC",sans-serif;font-weight:900;-webkit-text-stroke:0}


.violet-period{color:var(--violet)}.lime-period{color:var(--lime)}
@media(min-width:1201px){.hero-headline>span:nth-child(1){top:48%}.hero-headline>span:nth-child(2){top:calc(64% + 18px)}.hero-headline>span:nth-child(3){top:72.5%}.world-copy .eyebrow{font-size:20px}.project-side>p{font-size:18px}.project-row-title{font-size:44px}.experience{font-size:18px;min-height:65px}.experience h3{font-size:20px}.experience-date{font-size:18px}.skills h3{font-size:23px}.skills p{font-size:14px}}

