@charset "UTF-8";
@font-face{font-family:Display;src:url('./fonts/Display-Narrow.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:Editorial;src:url('./fonts/Atelier-Text.woff') format('woff');font-display:swap}
@font-face{font-family:Editorial;src:url('./fonts/Atelier-Italic.woff') format('woff');font-style:italic;font-display:swap}
@font-face{font-family:"Literary CJK";src:url('./fonts/Literary-CJK.woff?v=joy8') format('woff');font-display:swap}
@font-face{font-family:AtelierSans;src:url('./fonts/Atelier-Sans.woff') format('woff');font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#0b0c0e;--fg:#eeeee7;--muted:#989b9f;--line:#34363a;--sans:AtelierSans,"Helvetica Neue",Helvetica,Arial,"Literary CJK",sans-serif}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;position:relative;isolation:isolate}a{color:inherit;text-decoration:none}button{font:inherit;touch-action:manipulation}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:1px solid var(--fg);outline-offset:5px}::selection{background:#eee;color:#111}
.page{position:relative;z-index:1;max-width:1800px;margin:auto;padding:0 4.5vw;min-height:800px;height:100svh;display:flex;flex-direction:column}
.header{height:88px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.header-signature{font-size:10px;letter-spacing:.23em}.languages{display:flex;gap:21px}.languages button{position:relative;border:0;background:none;color:#86898e;min-width:26px;min-height:44px;padding:10px 2px;font-size:10px;cursor:pointer;transition:color .3s}.languages button:hover,.languages button[aria-pressed=true]{color:#fff}.languages button[aria-pressed=true]:after{content:"";position:absolute;bottom:4px;left:50%;width:12px;height:1px;background:#eee;transform:translateX(-50%)}
main{flex:1;display:grid;grid-template-columns:1.05fr 1fr;gap:8vw;align-items:center;padding:48px 0 112px;min-height:0}
.identity{align-self:center;animation:arrive 1.6s cubic-bezier(.16,1,.3,1) both}
h1{font-family:Display,Impact,sans-serif;font-size:clamp(150px,21.5vw,370px);font-weight:700;letter-spacing:-.05em;line-height:.77;margin:0;perspective:1100px}
.name-surface{display:block;transform:rotateX(var(--name-rx,0deg)) rotateY(var(--name-ry,0deg));transform-origin:center;background:linear-gradient(115deg,#9da2ab 0%,#f8f7ee 30%,#e3e4df 48%,#9da3ad 55%,#faf9f1 73%,#b0b5bc 100%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:metal-scan 12s ease-in-out infinite alternate}
.name-part{display:block}.name-part:last-child{margin-top:.07em}.details{min-width:0;animation:arrive 1.5s .2s both}.about{margin-bottom:38px}.background{font-size:11px;line-height:1.65;letter-spacing:.02em;color:var(--muted);max-width:280px;margin:0 0 24px}.retired{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#c4c6c8;margin:0 0 14px}.philosophy{font-family:Editorial,"Literary CJK",serif;font-size:clamp(23px,2.45vw,39px);line-height:1.18;letter-spacing:-.025em;margin:0;text-wrap:pretty}.philosophy br{display:none}.philosophy span{display:block}.philosophy span:last-child{font-style:italic;color:#a5a9af;margin-top:12px}.section-head{border-top:1px solid var(--line);padding-top:19px;margin-bottom:12px}.section-head h2{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-weight:400;margin:0}.project{position:relative;display:block;border-bottom:1px solid var(--line);padding:15px 0;cursor:pointer;touch-action:manipulation;isolation:isolate;overflow:hidden}.project:before{content:"";position:absolute;inset:0;background:#e9eae5;transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.16,1,.3,1);z-index:-1;pointer-events:none}.project-content{display:flex;justify-content:space-between;align-items:center;gap:16px;transition:padding .45s,transform .45s;transform:translate(var(--magnet-x,0px),var(--magnet-y,0px))}.project-title{flex-shrink:0}.project h3{font-size:clamp(18px,1.65vw,25px);font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:0}.project-description{font-size:10px;line-height:1.5;color:var(--muted);text-align:right;max-width:170px}.project h3,.project-description{transition:color .3s}.project:focus-visible:before{transform:scaleY(1)}.project:focus-visible h3,.project:focus-visible .project-description{color:#111}.project:focus-visible .project-content{padding:0 10px}
.footer{height:46px;flex-shrink:0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8d9299;letter-spacing:.06em}.footer>span:first-child{letter-spacing:.15em}.skip-link{position:fixed;z-index:10;top:8px;left:8px;background:#eee;color:#111;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.ambient-light{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;contain:strict}.light-wash{position:absolute;inset:-45%;background:linear-gradient(118deg,transparent 38%,#bfd3ee03 45%,#d7e2f216 49%,#e2ecf91e 50%,#bfd3ee06 54%,transparent 63%);animation:studio-sweep 18s ease-in-out infinite alternate}.soft-shadow{position:absolute;inset:0;background:linear-gradient(0deg,#0b0c0e99,transparent 65%)}.light-lens{position:absolute;inset:-20%;background:radial-gradient(ellipse at 25% 40%,#cedaed0a,transparent 45%);transform:translate(var(--lens-x,0px),var(--lens-y,0px))}
@media(hover:hover){.project:hover:before{transform:scaleY(1)}.project:hover h3,.project:hover .project-description{color:#111}.project:hover .project-content{padding:0 10px}}
@keyframes arrive{from{opacity:0;transform:translateY(24px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes studio-sweep{from{transform:translate(-24%,-6%) rotate(-7deg)}to{transform:translate(22%,7%) rotate(8deg)}}
@keyframes metal-scan{from{background-position:100% 50%}to{background-position:0% 50%}}
html[lang=zh-Hant] .philosophy,html[lang=ja] .philosophy,html[lang=ko] .philosophy{font-size:clamp(20px,1.9vw,29px);line-height:1.65;letter-spacing:.025em}html[lang=zh-Hant] .philosophy span:last-child,html[lang=ja] .philosophy span:last-child,html[lang=ko] .philosophy span:last-child{font-style:normal}
@media(min-width:761px) and (max-height:800px){.page{min-height:700px}.header{height:66px}main{padding:32px 0 100px}.about{margin-bottom:22px}.philosophy{font-size:29px}.background{margin-bottom:16px}.project{padding:12px 0}h1{font-size:20vw}}
@media(max-width:1100px) and (min-width:761px){main{gap:5vw;grid-template-columns:1fr 1fr}.project-description{font-size:9px;max-width:135px}.philosophy{font-size:28px}.project h3{font-size:19px}}
@media(max-width:760px){.page{padding:0 25px;min-height:100svh;height:auto}.header{height:64px}.header-signature{font-size:8px;letter-spacing:.15em}.languages{gap:10px}.languages button{font-size:9px;min-width:22px}main{display:block;padding:35px 0 100px}.identity{margin-bottom:32px}h1{font-size:20.9vw;line-height:.85;letter-spacing:-.05em;white-space:nowrap}.name-part{display:inline}.name-part:last-child{margin:0}.about{margin-bottom:29px}.background{font-size:10px;max-width:260px;margin:0 0 22px}.retired{font-size:8px;margin-bottom:12px}.philosophy{font-size:29px;line-height:1.13;letter-spacing:-.025em;max-width:490px}.philosophy span:last-child{margin-top:12px}.section-head{padding-top:16px;margin-bottom:7px}.section-head h2{font-size:8px}.project{padding:16px 0}.project h3{font-size:21px}.project-description{font-size:9px;max-width:155px}.footer{height:42px;font-size:8px}html[lang=zh-Hant] .philosophy,html[lang=ja] .philosophy,html[lang=ko] .philosophy{font-size:21px;line-height:1.65}.maltese-stage{position:absolute!important;bottom:42px!important;height:85px!important}.maltese-runner{width:96px!important;height:75px!important}}
@media(max-width:360px){.page{padding:0 20px}.header-signature{font-size:7px}.languages{gap:6px}main{padding-top:28px}.identity{margin-bottom:26px}.philosophy{font-size:26px}.project h3{font-size:19px}.project-description{max-width:125px;font-size:8px}.project-content{gap:10px}html[lang=zh-Hant] .philosophy,html[lang=ja] .philosophy,html[lang=ko] .philosophy{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.identity,.details,.name-surface,.project-content,.light-lens{transform:none!important}.name-surface{background:none;color:var(--fg)}}
@media(forced-colors:active){.name-surface{background:none;color:CanvasText}.project:before,.ambient-light{display:none}}
/* Soft sculptural companion; movement is driven by distance travelled. */
.maltese-stage{position:fixed;left:0;right:0;bottom:44px;height:120px;overflow:hidden;pointer-events:none;z-index:2;contain:layout paint}
.maltese-runner{position:absolute;left:0;bottom:0;width:140px;height:109px;will-change:transform}
.maltese-facing{transform-origin:50% 65%}
.maltese{display:block;width:100%;height:100%;overflow:visible}
.maltese-eye{transform-box:fill-box;transform-origin:center}

@media(max-width:760px){html[lang=es] .philosophy{font-size:27px}}

/* Optical typography with real roman and italic cuts. */
body{font-kerning:normal;font-synthesis:none;font-variant-ligatures:common-ligatures contextual;text-rendering:optimizeLegibility}
h1{letter-spacing:-.052em;line-height:.79}.name-part:last-child{margin-top:.045em}
.philosophy{font-size:clamp(25px,2.38vw,37px);line-height:1.28;letter-spacing:-.033em;font-weight:400;font-feature-settings:"kern" 1,"liga" 1}
.philosophy span{max-width:25ch;text-wrap:balance}.philosophy span:last-child{color:#b7b9bb;margin-top:16px;letter-spacing:-.02em;line-height:1.3}
.background{font-size:12px;line-height:1.6;letter-spacing:.012em;max-width:290px;color:#a4a7aa;text-wrap:pretty}
.header-signature{letter-spacing:.25em}.retired,.section-head h2{letter-spacing:.17em;color:#aeb1b4}
.project h3{font-family:AtelierSans,var(--sans);font-size:clamp(19px,1.7vw,26px);letter-spacing:-.025em;line-height:1.2}
.project-description{font-size:11px;letter-spacing:.005em;line-height:1.45;text-wrap:pretty;color:#a6aaaf;max-width:175px}
.footer{letter-spacing:.08em}.languages button{letter-spacing:.04em}
html[lang=zh-Hant] .philosophy,html[lang=ja] .philosophy,html[lang=ko] .philosophy{font-family:"Literary CJK",serif;font-size:clamp(20px,1.86vw,28px);line-height:1.78;letter-spacing:.035em;line-break:strict;word-break:normal}
html[lang=zh-Hant] .philosophy span,html[lang=ja] .philosophy span,html[lang=ko] .philosophy span{max-width:none;text-wrap:pretty}
html[lang=zh-Hant] .philosophy span:last-child,html[lang=ja] .philosophy span:last-child,html[lang=ko] .philosophy span:last-child{letter-spacing:.035em;line-height:1.78}
@media(min-width:761px) and (max-width:1100px){.philosophy{font-size:27px}.project h3{font-size:19px}.project-description{font-size:10px;max-width:135px}}
@media(min-width:761px) and (max-height:800px){.philosophy{font-size:28px}.philosophy span:last-child{margin-top:12px}}
@media(max-width:760px){h1{font-size:20.7vw;letter-spacing:-.048em;line-height:.86}.name-part:last-child{margin:0}.philosophy{font-size:27px;line-height:1.25;letter-spacing:-.032em}.philosophy span:last-child{margin-top:14px;line-height:1.26}.background{font-size:11px;max-width:280px}.project h3{font-size:21px;letter-spacing:-.025em}.project-description{font-size:10px;max-width:150px}.section-head h2{font-size:9px}.retired{font-size:9px}html[lang=es] .philosophy{font-size:25px}html[lang=zh-Hant] .philosophy,html[lang=ja] .philosophy,html[lang=ko] .philosophy{font-size:20px;line-height:1.72}.philosophy span{max-width:none}}
@media(max-width:360px){.philosophy{font-size:24px}.project h3{font-size:18px}.project-description{font-size:9px;max-width:128px}html[lang=es] .philosophy{font-size:23px}html[lang=zh-Hant] .philosophy,html[lang=ja] .philosophy,html[lang=ko] .philosophy{font-size:18px}}

@media(max-width:760px){.project-content{display:block}.project-description{display:block;text-align:left;max-width:none;margin-top:5px}.project{padding:12px 0}.project h3{font-size:20px}}

/* Final optical refinements to the restored dark composition. */
:root{--fg:#efeee8;--muted:#a3a6ab;--line:#34363a}
.name-surface{background-image:linear-gradient(115deg,#b8bcc3 0%,#f7f6ef 30%,#e6e7e2 48%,#afb4bd 55%,#f9f8f2 73%,#c2c6cc 100%)}
.philosophy{letter-spacing:-.022em;line-height:1.32}.philosophy span{max-width:26ch}.philosophy span:last-child{color:#b4b7bc;line-height:1.32}
.project-content{gap:24px}.project-description{max-width:165px;line-height:1.55}.project h3{letter-spacing:-.018em}
.background{max-width:300px;line-height:1.7}.footer{color:#9b9fa5}
@media(min-width:1101px){main{gap:7.2vw}.about{margin-bottom:36px}.project{padding-top:17px;padding-bottom:17px}}
@media(max-width:760px){main{padding-top:30px}.identity{margin-bottom:30px}.philosophy{line-height:1.3;font-size:27px}.philosophy span{max-width:none}.philosophy span:last-child{line-height:1.3;margin-top:15px}.project-content{gap:0}.project h3{font-size:20px}.project-description{max-width:none;margin-top:6px;line-height:1.5}.project{padding:13px 0}.about{margin-bottom:28px}}
@media(max-width:360px){.philosophy{font-size:24px}.project h3{font-size:18px}}

@media(max-width:760px){html[lang=es] .philosophy{font-size:24px;line-height:1.25}html[lang=ko] .philosophy{font-size:18px;line-height:1.65}html[lang=ko] .philosophy span:last-child{line-height:1.65}html[lang=es] .about,html[lang=ko] .about{margin-bottom:20px}html[lang=es] .project,html[lang=ko] .project{padding:11px 0}}

/* Keep only the main name; retain right-aligned navigation and closing line. */
.header,.footer{justify-content:flex-end}
.footer>span:first-child{letter-spacing:inherit}
