@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-cyrillic-ext-wght-normal.lLTsRRxN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-wght-normal.eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-latin-400-normal.Rg4St2Dn.woff2)format("woff2"),url(/_astro/space-mono-latin-400-normal._3DlpgIW.woff)format("woff")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-latin-700-normal.mWgeinG7.woff2)format("woff2"),url(/_astro/space-mono-latin-700-normal.D7A851RN.woff)format("woff")}:root{--paper:#f6f5f1;--paper-raised:#eeede8;--card:#fff;--ink:#242722;--muted:#72756c;--signal:#db4a23;--line:#dcded5;--sans:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;--mono:"Space Mono", "SFMono-Regular", Consolas, monospace;--gutter:clamp(20px, 3.3vw, 58px);--ease:cubic-bezier(.22, 1, .36, 1);--chat-width:clamp(360px, 30vw, 430px);--header-height:82px}*{box-sizing:border-box;word-spacing:.06em}html{scroll-behavior:smooth;text-size-adjust:100%;scroll-padding-top:95px}body{background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{background:0 0;border:0}img{max-width:100%;height:auto;display:block}svg{flex:none;display:block}picture{display:contents}h1,h2,h3,p,figure{margin:0}ol,ul{margin:0;padding:0;list-style:none}[hidden]{display:none!important}::selection{color:var(--paper);background:var(--signal)}:focus-visible{outline:2px solid var(--signal);outline-offset:5px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.site-page{width:100%;min-width:0;transition:width .42s var(--ease);container:page/inline-size}.chat-open .site-page{width:calc(100% - var(--chat-width))}.page-shell{max-width:1680px;padding-inline:var(--gutter);margin-inline:auto}.site-header{min-height:var(--header-height);padding:12px var(--gutter);border-bottom:1px solid var(--line);align-items:center;gap:24px;display:flex}.brand{letter-spacing:-.035em;white-space:nowrap;align-items:center;gap:10px;font-size:16px;font-weight:650;transition:color .2s;display:inline-flex}.brand:hover{color:var(--signal)}.brand img{width:30px;height:30px}.header-role{max-width:205px;font-size:11px;line-height:1.5;font-family:var(--mono);color:var(--muted)}.nav{align-items:center;gap:28px;margin-left:auto;display:flex}.nav a,.chat-toggle,.lang-switch{font-family:var(--mono);font-size:12px}.nav a{align-items:center;min-height:44px;display:inline-flex;position:relative}.nav a:after,.footer-links a:after{content:"";background:var(--signal);transform-origin:0;width:100%;height:1px;transition:transform .2s;position:absolute;bottom:7px;left:0;transform:scaleX(0)}.nav a:hover:after,.nav a[aria-current]:after,.footer-links a:hover:after{transform:scaleX(1)}.nav a[aria-current]{color:var(--signal)}.header-actions{align-items:center;gap:27px;margin-left:20px;display:flex}.lang-switch{align-items:center;gap:10px;display:flex}.lang-switch__option{color:var(--muted);place-items:center;min-height:44px;display:grid}.lang-switch__divider{color:#b7b8b0;font-size:10px}.lang-switch__option.is-current{color:var(--ink)}.lang-switch__option:hover{color:var(--signal)}.chat-toggle{align-items:center;gap:9px;min-height:44px;padding:8px 0 8px 8px;display:flex}.chat-toggle>.danyllm-mark{width:20px;height:20px;transition:transform .4s var(--ease)}.chat-toggle:hover>.danyllm-mark,.chat-toggle[aria-expanded=true]>.danyllm-mark{transform:rotate(-20deg)}.chat-toggle:hover,.chat-toggle[aria-expanded=true]{color:var(--signal)}.small-label{font:11px/1.5 var(--mono);color:var(--muted)}.intro{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:end;gap:8%;padding-top:clamp(65px,7vw,120px);padding-bottom:65px;display:grid}.intro-location{font:11px var(--mono);color:var(--muted);align-items:center;gap:8px;margin-bottom:24px;display:flex}.intro-location>span{background:var(--signal);border-radius:50%;width:5px;height:5px}.intro h1{letter-spacing:-.055em;text-wrap:pretty;max-width:820px;font-size:clamp(32px,3.7cqw,60px);font-weight:550;line-height:1.15}.intro h1>span{color:#73776d}.intro-recent{max-width:595px;color:var(--muted);margin-top:24px;font-size:14px;line-height:1.75}.intro-experience{padding-bottom:6px}.intro-experience>p{margin-bottom:16px}.intro-experience ol{gap:15px;display:grid}.intro-experience li{grid-template-columns:89px 1fr;gap:20px;font-size:12px;line-height:1.6;display:grid}.intro-experience li>span{font:10px/1.9 var(--mono);color:var(--muted)}.gallery-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 0 22px;display:flex}.gallery-heading h2{align-items:baseline;gap:8px;font-size:13px;font-weight:500;display:flex}.gallery-heading h2>span{font:10px var(--mono);color:var(--muted)}.gallery-controls{align-items:center;gap:16px;display:flex}.preview-motion-toggle{min-height:36px;font:10px var(--mono);color:var(--muted);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 4px;display:inline-flex}.preview-motion-toggle:hover{color:var(--ink)}.preview-motion-toggle>span:not([hidden]){display:inline-flex}.preview-motion-toggle svg{width:13px;height:13px}.project-grid{--card-gap:12px;gap:var(--card-gap);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.project-grid.is-masonry{grid-auto-rows:1px;row-gap:0}.project-card{min-width:0}.project-card--tall .project-media{aspect-ratio:1.35}.project-link{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px;transition:border-color .25s;display:block}.project-link:hover{border-color:#c3c7bb}.project-media{aspect-ratio:1.6;isolation:isolate;background:var(--paper-raised);border-radius:12px;position:relative;overflow:hidden}.project-media:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #24272212}.project-media:after{content:"";background:var(--paper);opacity:0;transition:opacity .35s var(--ease);pointer-events:none;position:absolute;inset:0}.project-media img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease), filter .45s var(--ease)}.project-preview-video{object-fit:cover;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .2s;position:absolute;inset:0}.project-preview-video.is-ready{opacity:1}[data-viewport-video]{pointer-events:none}[data-viewport-video]::-webkit-media-controls{display:none!important}[data-viewport-video]::-webkit-media-controls-start-playback-button{display:none!important}:is(.project-card--fyl,.index-preview-item--fyl) .project-media:not(:has(video)) img{object-position:73% 50%}.project-link:hover .project-media:not(:has(video)) img{transform:scale(1.035)}.project-link:hover .project-media:after{opacity:.13}.project-media-action{z-index:2;background:var(--paper);color:var(--ink);font:11px var(--mono);opacity:0;border-radius:8px;align-items:center;gap:12px;padding:10px 13px;transition:opacity .22s,transform .22s;display:flex;position:absolute;bottom:12px;right:12px;transform:translateY(6px)}.project-media-action svg{width:14px;height:14px}.project-link:focus-visible .project-media-action{opacity:1;transform:none}.project-caption{justify-content:space-between;align-items:baseline;gap:15px;padding:12px 10px 0;display:flex}.project-caption h2{letter-spacing:-.03em;font-size:clamp(15px,1.15cqw,18px);font-weight:550;line-height:1.4;transition:color .2s}.project-link:hover h2{color:var(--signal)}.project-year{font:10px var(--mono);color:var(--muted);flex-shrink:0}.project-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:3px 12px;margin-top:2px;padding:0 10px 10px;font-size:11px;display:flex}.project-meta>span{font:9px/1.8 var(--mono)}.project-cursor{background:var(--signal);color:#fff;z-index:90;pointer-events:none;font:11px var(--mono);white-space:nowrap;opacity:0;transition:opacity .15s, scale .25s var(--ease);will-change:transform;border-radius:30px;align-items:center;gap:12px;padding:12px 17px;display:flex;position:fixed;top:0;left:0;scale:.85}.project-cursor.is-visible{opacity:1;scale:1}.project-cursor svg{width:15px;height:15px}@media (hover:hover) and (pointer:fine){.cursor-enabled.cursor-active .project-link{cursor:none}}.project-placeholder{background:#e0e3d9;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow:hidden}.placeholder-name{z-index:1;letter-spacing:-.065em;align-items:baseline;gap:12px;font-size:clamp(34px,5cqw,74px);font-weight:550;display:flex;position:relative}.placeholder-name>span{letter-spacing:0;font-size:15px;font-weight:400}.placeholder-caption{font:10px var(--mono);position:absolute;bottom:25px}.placeholder-orbit{aspect-ratio:1;width:55%;transition:transform 1s var(--ease);border:1px solid #b3b8a9;border-radius:50%;position:absolute;transform:rotate(-25deg)scaleX(1.65)}.project-link:hover .placeholder-orbit{transform:rotate(30deg)scaleX(1.65)}.view-switch{border:1px solid var(--line);border-radius:10px;gap:2px;margin-block:-12px;padding:3px;display:flex}.view-switch button{min-height:36px;font:11px var(--mono);color:var(--muted);border-radius:7px;align-items:center;gap:8px;padding:0 12px;transition:color .2s,background .2s;display:inline-flex}.view-switch button:hover{color:var(--signal)}.view-switch button[aria-pressed=true]{background:var(--signal);color:#fff}.view-switch svg{width:14px;height:14px}.project-index{grid-template-columns:minmax(0,1fr) clamp(300px,30cqw,440px);align-items:start;gap:clamp(32px,4.5cqw,64px);display:grid}.index-head,.index-row{grid-template-columns:44px minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr) 48px;grid-template-areas:"num name type stack year";align-items:baseline;column-gap:20px;display:grid}.index-head{border-bottom:1px solid var(--line);font:10px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:13px}.index-head>:first-child{grid-area:num}.index-head>:nth-child(2){grid-area:name}.index-head>:nth-child(3){grid-area:type}.index-head>:nth-child(4){grid-area:stack}.index-head>:nth-child(5){text-align:right;grid-area:year}.index-row{border-bottom:1px solid var(--line);padding:21px 0}.index-num,.index-year{font:10px var(--mono);color:var(--muted)}.index-num{grid-area:num}.index-year{text-align:right;grid-area:year}.index-name{letter-spacing:-.035em;grid-area:name;align-items:center;gap:16px;font-size:19px;font-weight:550;line-height:1.3;transition:color .2s;display:flex}.index-details{background:var(--signal);color:#fff;font:10px/1 var(--mono);letter-spacing:.02em;opacity:0;border-radius:30px;flex:none;padding:7px 14px;transition:opacity .2s}.index-type{color:var(--muted);grid-area:type;font-size:13px;line-height:1.5}.index-stack{font:10px/1.9 var(--mono);color:var(--muted);grid-area:stack}@media (hover:hover){.index-row:hover .index-name{color:var(--signal)}@container page (width>=821px){.index-row.is-active :is(.index-num,.index-name,.index-type,.index-stack,.index-year){color:var(--signal)}.index-row.is-active .index-details{opacity:1}}}.index-preview{position:sticky;top:106px}.index-preview-item{flex-direction:column;gap:16px;display:flex}.index-preview .project-media{aspect-ratio:1.35;border-radius:16px;display:block}.index-preview .placeholder-name{font-size:clamp(30px,3.6cqw,52px)}.index-preview-title{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.index-preview-title p{letter-spacing:-.04em;font-size:17px;font-weight:550;line-height:1.4}.index-preview-title span{font:10px var(--mono);color:var(--muted);flex-shrink:0}.index-preview-story{color:var(--muted);font-size:13px;line-height:1.75}.index-preview-link{background:var(--signal);color:#fff;font:11px var(--mono);border-radius:30px;align-self:flex-start;align-items:center;gap:12px;padding:12px 17px;transition:background .2s;display:inline-flex}.index-preview-link:hover{background:var(--ink)}.index-preview-link svg{width:15px;height:15px}@container page (width<=1150px){.index-head,.index-row{grid-template-columns:36px minmax(0,1.1fr) minmax(0,1fr) 44px;grid-template-areas:"num name type year""num name stack year";column-gap:16px}.index-head>:nth-child(4){display:none}.index-name{font-size:17px}.index-stack{margin-top:3px}}@container page (width<=820px){.project-index{grid-template-columns:minmax(0,1fr)}.index-head,.index-preview,.index-details{display:none}.index-row{grid-template-columns:28px minmax(0,1fr) 40px;grid-template-areas:"num name year""num type year""num stack year";row-gap:2px;padding-block:16px}}.project-media.project-media--preview-wide{aspect-ratio:1.6}@media (hover:none){.project-index{grid-template-columns:minmax(0,1fr)}.index-preview,.index-details{display:none}}.site-footer{max-width:1680px;padding:38px var(--gutter) 42px;border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:32px;margin:85px auto 0;display:flex}.footer-name{letter-spacing:-.035em;align-items:baseline;gap:12px;font-size:16px;font-weight:600;display:flex}.footer-name>span{color:var(--muted);font-size:12px;font-weight:400}.site-footer p{color:var(--muted);margin-top:9px;font-size:10px}.site-footer p>span{font-family:var(--mono);margin-left:8px}.footer-links{align-items:center;gap:23px;display:flex}.footer-links a{font:11px var(--mono);align-items:center;gap:6px;min-height:44px;display:flex;position:relative}.footer-links svg{width:13px;height:13px}.chat-panel{width:var(--chat-width);border-left:1px solid var(--line);z-index:50;height:100dvh;animation:panel-in .35s var(--ease);background:#eeeee8;flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto}@keyframes panel-in{0%{transform:translate(100%)}to{transform:translate(0)}}.chat-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;height:82px;min-height:82px;padding:12px 20px;display:flex}.chat-identity{align-items:center;gap:9px;display:flex}.chat-identity>.danyllm-mark{width:18px;height:18px}.chat-identity h2{font:12px var(--mono)}.chat-controls{display:flex}.icon-button{width:34px;height:38px;color:var(--muted);place-items:center;transition:color .15s,background .15s;display:inline-grid}.icon-button:hover{color:var(--ink);background:#e1e3da}.icon-button svg{width:16px;height:16px}.chat-information{border-bottom:1px solid var(--line);color:var(--muted);padding:15px 22px;font-size:12px}.chat-context{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:8px 18px 8px 23px;font-size:10px;display:flex}.chat-context strong{color:var(--ink);font-size:12px;font-weight:500;display:block}.chat-scroll{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;padding:24px;display:flex;overflow-y:auto}.chat-welcome{margin-block:auto 12px;padding-top:30px}.chat-welcome-mark{color:var(--signal);margin-bottom:28px;display:block}.chat-welcome-mark .danyllm-mark{width:34px;height:34px}.chat-welcome h3{letter-spacing:-.055em;margin-bottom:14px;font-size:26px;font-weight:500;line-height:1.2}.chat-welcome>p{color:var(--muted);font-size:13px}.chat-suggestions{margin-top:35px;display:grid}.chat-suggestions button{text-align:left;border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:14px 0;font-size:12px;line-height:1.6;transition:color .2s;display:flex}.chat-suggestions svg{width:13px;height:13px;transition:transform .2s}.chat-suggestions button:hover{color:var(--signal)}.chat-suggestions button:hover svg{transform:translate(2px,-2px)}.chat-message{animation:message-in .2s var(--ease);margin-bottom:25px}@keyframes message-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.chat-message-label{color:var(--muted);font:10px var(--mono);margin-bottom:9px}.chat-message--user .chat-message-body{background:#e0e2d9;border-radius:2px;padding:13px 15px}.chat-message-body{overflow-wrap:anywhere;white-space:pre-wrap;font-size:13px;line-height:1.8}.chat-related{gap:7px;margin-top:14px;display:grid}.chat-related a{color:var(--signal);border-bottom:1px solid #db4a2350;align-items:center;gap:6px;width:fit-content;padding-bottom:2px;font-size:11px;display:flex}.chat-status{color:var(--muted);font-size:12px}.chat-status:not(:empty):before{content:"";background:var(--signal);border-radius:50%;width:5px;height:5px;margin-right:7px;animation:1s ease-in-out infinite alternate breathe;display:inline-block}@keyframes breathe{to{opacity:.3}}.chat-error{color:var(--muted);padding:12px 0;font-size:12px}.chat-error button{color:var(--ink);align-items:center;gap:8px;min-height:35px;margin-top:10px;padding:0;display:flex}.chat-error svg{width:13px;height:13px}.chat-compose{padding:14px 22px 18px}.chat-compose form{background:var(--paper);border:1px solid #cfd2c7;align-items:flex-end;display:flex;position:relative}.chat-compose form:focus-within{border-color:#878e7d}.chat-compose textarea{resize:none;background:0 0;border:0;outline:none;width:100%;min-height:52px;max-height:145px;padding:16px 48px 14px 14px;font-size:12px;line-height:1.65}.chat-compose textarea::placeholder{color:#868b80}.chat-send,.chat-stop{width:36px;height:36px;color:var(--paper);background:var(--ink);place-items:center;display:grid;position:absolute;bottom:7px;right:6px}.chat-send:disabled{color:#a9aea1;background:0 0}.chat-stop>span{background:currentColor;width:10px;height:10px}.chat-note{color:var(--muted);text-align:center;padding-top:10px;font-size:9px}.chat-contact{justify-content:center;gap:23px;margin-top:13px;display:flex}.chat-contact a{align-items:center;gap:5px;min-height:27px;font-size:10px;display:flex}.chat-contact svg{width:10px;height:10px}.chat-contact a:hover{color:var(--signal)}.project-detail{padding-top:40px}.back-link{font:11px var(--mono);color:var(--muted);align-items:center;gap:10px;min-height:44px;display:inline-flex}.back-link svg{width:16px}.back-link:hover{color:var(--signal)}.project-detail-header{justify-content:space-between;align-items:flex-end;gap:30px;padding:50px 0 45px;display:flex}.project-detail h1{letter-spacing:-.055em;max-width:980px;margin-top:16px;font-size:clamp(36px,5.5cqw,78px);font-weight:550;line-height:1.1}.project-detail-status{font:10px var(--mono);color:var(--muted);flex-shrink:0;padding-bottom:4px}.project-detail-image{background:var(--paper-raised);border-radius:16px;overflow:hidden}.project-detail-image img{object-fit:contain;width:100%;max-height:850px}.project-detail-body{grid-template-columns:1.55fr 1fr;gap:12%;padding:65px 0 80px;display:grid}.project-story{letter-spacing:-.025em;margin-top:20px;font-size:clamp(18px,2cqw,27px);line-height:1.7}.project-detail-actions{flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:30px;display:flex}.action-link{background:var(--signal);color:#fff;justify-content:space-between;align-items:center;gap:18px;min-height:46px;padding:12px 18px;font-size:11px;transition:background .2s,color .2s;display:inline-flex}.action-link:hover{background:var(--ink);color:var(--paper)}.action-link svg{width:15px;height:15px}.action-link .danyllm-mark{width:18px;height:18px}.action-link--quiet{color:var(--ink);background:0 0;padding-inline:0}.action-link--quiet:hover{color:var(--signal);background:0 0}.project-contribution{margin:0}.project-contribution>div{border-top:1px solid var(--line);padding:18px 0 25px}.project-contribution dt{font:11px var(--mono);color:var(--muted);margin-bottom:12px}.project-contribution dd{margin:0;font-size:14px;line-height:1.8}.next-project{border-top:1px solid var(--line);padding-top:28px;display:block}.next-project>span:last-child{letter-spacing:-.045em;justify-content:space-between;align-items:center;gap:25px;margin-top:18px;font-size:clamp(24px,3cqw,46px);line-height:1.3;transition:color .2s;display:flex}.next-project:hover>span:last-child{color:var(--signal)}.next-project svg{width:30px;height:30px;transition:transform .2s}.next-project:hover svg{transform:translate(4px,-4px)}.about-page{padding-top:85px}.about-intro{grid-template-columns:1.4fr 1fr;gap:12%;display:grid}.about-intro h1{letter-spacing:-.055em;max-width:720px;margin-top:25px;font-size:clamp(36px,4.3cqw,66px);font-weight:550;line-height:1.13}.about-bio{color:var(--muted);max-width:610px;margin-top:30px;font-size:16px;line-height:1.9}.about-places{font:11px var(--mono);color:var(--muted);margin-top:25px}.about-experience{align-self:end;padding-bottom:4px}.timeline{margin-top:25px}.timeline li{border-top:1px solid var(--line);grid-template-columns:100px 1fr;gap:25px;padding:17px 0;display:grid}.timeline li>span{font:10px/1.8 var(--mono);color:var(--muted)}.timeline strong{font-size:13px;font-weight:400}.about-curiosities{padding-top:100px}.about-curiosities>h2{letter-spacing:-.025em;margin-bottom:25px;font-size:18px;font-weight:450}.curiosity-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.curiosity-grid a{min-width:0}.curiosity-grid img{aspect-ratio:1.2;object-fit:cover;width:100%;transition:filter .25s}.curiosity-grid a:nth-child(2){padding-top:40px}.curiosity-grid a:hover img{filter:brightness(1.1)}.curiosity-grid a>span{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:14px;display:flex}.curiosity-grid svg{width:15px;height:15px}.curiosity-grid p{color:var(--muted);margin-top:3px;font-size:11px}.recommendations{background:#e8e9e1;margin-top:95px;padding:35px}.recommendation-top,.recommendation-top>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.quote-count{font:10px var(--mono);color:var(--muted)}.quote-next svg{transform:rotate(180deg)}.recommendation{padding:36px 0 10px}.recommendation blockquote{letter-spacing:-.04em;max-width:1010px;margin:0;font-size:clamp(24px,3cqw,42px);line-height:1.5}.recommendation figcaption{gap:15px;margin-top:25px;font-size:11px;display:flex}.recommendation figcaption span{color:var(--muted)}.contact-section{grid-template-columns:1fr 1fr;gap:10%;padding-top:100px;display:grid}.contact-section h2{letter-spacing:-.055em;margin-top:20px;font-size:clamp(36px,5cqw,68px);font-weight:500;line-height:1.12}.contact-section h2>span{color:var(--signal)}.contact-address{align-items:center;gap:12px;margin-top:25px;font-size:13px;display:inline-flex}.contact-address svg{width:15px}.contact-form{flex-direction:column;align-items:flex-start;display:flex}.contact-form label{font:11px var(--mono);color:var(--muted);margin-bottom:8px}.contact-form input,.contact-form textarea{resize:vertical;background:0 0;border:0;border-bottom:1px solid #bdc1b5;border-radius:0;width:100%;margin-bottom:23px;padding:8px 0 16px;font-size:15px}.contact-form .action-link{min-width:170px}.contact-status{color:var(--muted);margin-top:12px;font-size:12px}.form-trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.noscript-note{padding:20px var(--gutter);font-size:12px}@container page (width<=1150px){.header-role{display:none}.intro{grid-template-columns:1.5fr 1fr;gap:6%}.intro-experience li{grid-template-columns:82px 1fr;gap:12px;font-size:11px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-caption h2{font-size:16px}.project-meta{flex-direction:column}}@container page (width<=820px){.site-header{gap:18px}.header-actions{gap:18px;margin-left:0}.nav{gap:18px}.intro{grid-template-columns:1fr;gap:35px;padding-top:50px;padding-bottom:42px}.intro h1{max-width:660px;font-size:clamp(32px,5.7cqw,48px)}.intro-experience{max-width:580px}.intro-experience ol{grid-template-columns:1fr 1fr;gap:12px 24px;display:grid}.intro-experience li{grid-template-columns:1fr;gap:2px}.intro-experience>p{margin-bottom:13px}.project-caption h2{font-size:17px}.project-detail-header,.project-detail-body,.about-intro,.contact-section{flex-direction:column;align-items:stretch;gap:30px;display:flex}.about-experience{align-self:stretch}.project-detail h1{font-size:43px}.project-detail-body{padding-block:40px}.project-detail-actions{gap:12px}.project-contribution{margin-top:15px}.about-page{padding-top:50px}.about-intro h1{font-size:42px}.curiosity-grid{gap:16px}.site-footer{flex-wrap:wrap}}@container page (width<=760px){.site-header,main{--header-height:60px}.site-header{gap:16px;padding-block:0}.brand{min-height:44px}.brand img{width:26px;height:26px}.brand>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav{gap:16px;margin-left:0}.nav a,.chat-toggle,.lang-switch{font-size:11px}.header-actions{gap:14px;margin-left:auto}.chat-toggle{gap:7px}.lang-switch{gap:9px}.brand,.lang-switch__option{position:relative}.brand:before,.nav a:before,.lang-switch__option:before{content:"";position:absolute;inset:0 -8px}}@container page (width<=359px){.chat-toggle{margin-right:-12px;padding:12px}.chat-toggle>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=1120px){.chat-header{height:60px;min-height:60px}}@media (width<=760px){:root{--gutter:20px;scroll-padding-top:72px}.chat-open .site-page{width:100%}body.chat-open{overflow:hidden}.chat-panel{width:100%;padding-bottom:env(safe-area-inset-bottom);border-left:0}.chat-scroll{padding:22px}.chat-compose{padding-top:10px}.chat-compose textarea{font-size:16px}.chat-note{font-size:10px}.chat-welcome h3{font-size:30px}.chat-welcome>p,.chat-suggestions button,.chat-message-body{font-size:14px}.chat-contact a{min-height:36px;font-size:11px}.icon-button{width:40px;height:40px}.project-cursor{display:none}.project-grid{grid-template-columns:1fr;gap:14px}.project-grid.is-masonry{grid-auto-rows:auto;row-gap:14px}.project-card{grid-row-end:auto!important}.project-media,.project-card--tall .project-media{aspect-ratio:1.4}.project-caption h2{font-size:17px}.project-media-action{opacity:1;padding:8px 10px;font-size:10px;bottom:10px;right:10px;transform:none}.project-meta{flex-direction:row}.project-meta>span{font-size:10px}.project-link:hover .project-media img{transform:none}.intro-location{margin-bottom:20px}.intro h1{font-size:clamp(30px,7.5vw,46px)}.intro-recent{font-size:13px}.intro-experience li{font-size:11px}.gallery-heading{padding-block:15px 20px}.site-footer{gap:20px;margin-top:60px;padding-block:28px}.footer-links{gap:24px}.project-detail-header{padding-block:30px}.project-detail h1{font-size:38px}.project-story{font-size:18px}.project-detail-image img{min-height:200px}.about-intro h1{font-size:38px}.about-bio{font-size:14px}.about-curiosities{padding-top:60px}.curiosity-grid{grid-template-columns:1fr;gap:28px}.curiosity-grid a:nth-child(2){padding-top:0}.curiosity-grid img{aspect-ratio:1.5}.recommendations{margin-top:60px;padding:22px}.recommendation blockquote{font-size:24px}.recommendation figcaption{flex-direction:column;gap:3px}.contact-section{padding-top:60px}.contact-section h2{font-size:46px}.contact-form input,.contact-form textarea{font-size:16px}}@media (hover:none){.project-media-action{opacity:1;transform:none}.project-media .project-media-action{border-radius:50%;gap:0;padding:9px;font-size:0}.project-cursor{display:none}.contact-address{position:relative}.contact-address:before{content:"";position:absolute;inset:-12px 0}}@media (width<=520px){.gallery-controls{gap:10px}.preview-motion-toggle{width:36px;min-height:40px}.preview-motion-toggle [data-motion-label]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}html[lang=ko]{--sans:"Plus Jakarta Sans Variable", "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--mono:"Space Mono", "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", sans-serif;word-break:keep-all;overflow-wrap:break-word}html[lang=ko] h1{letter-spacing:-.035em;line-height:1.25}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.project-link:hover .project-media img{transform:none}.project-cursor{display:none}.project-link .project-media-action{opacity:1;transform:none}}.site-header{z-index:20;background:var(--paper);position:sticky;top:0}.scroll-progress{pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0;right:0}.scroll-progress span{background:var(--signal);transform-origin:0;height:100%;display:block;transform:scaleX(0)}@view-transition{navigation:auto}::view-transition-group(*){animation-duration:.35s;animation-timing-function:var(--ease)}:is(.project-card--krahk,.project-detail--krahk,.index-preview-item--krahk) :is(.project-media,.project-detail-image){view-transition-name:project-krahk}:is(.project-card--fyl,.project-detail--fyl,.index-preview-item--fyl) :is(.project-media,.project-detail-image){view-transition-name:project-fyl}:is(.project-card--pallav,.project-detail--pallav,.index-preview-item--pallav) :is(.project-media,.project-detail-image){view-transition-name:project-pallav}:is(.project-card--meridian,.project-detail--meridian,.index-preview-item--meridian) :is(.project-media,.project-detail-image){view-transition-name:project-meridian}:is(.project-card--sfu,.project-detail--sfu,.index-preview-item--sfu) :is(.project-media,.project-detail-image){view-transition-name:project-sfu}:is(.project-card--march,.project-detail--march,.index-preview-item--march) :is(.project-media,.project-detail-image){view-transition-name:project-march}:is(.project-card--dongnam,.project-detail--dongnam,.index-preview-item--dongnam) :is(.project-media,.project-detail-image){view-transition-name:project-dongnam}:is(.project-card--brainstem,.project-detail--brainstem,.index-preview-item--brainstem) :is(.project-media,.project-detail-image){view-transition-name:project-brainstem}:is(.project-card--oceanway,.project-detail--oceanway,.index-preview-item--oceanway) :is(.project-media,.project-detail-image){view-transition-name:project-oceanway}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
