@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
:root{color-scheme:dark;--bg:#191919;--surface:#222;--line:#383838;--text:#e7e7e7;--muted:#aaa;--accent:#b8cef0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;font-synthesis:none;background:var(--bg);color:var(--text);scroll-padding-top:96px;scrollbar-gutter:stable}
*{box-sizing:border-box}body{margin:0;font-size:17px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input{font:inherit}button{cursor:pointer}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:#3f5068}[hidden]{display:none!important}.modal-open{overflow:hidden}.shell{width:min(1120px,calc(100% - 80px));margin-inline:auto}.muted{color:var(--muted)}
.skip{position:fixed;top:-80px;left:16px;background:var(--surface);padding:12px;z-index:100}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:20;background:#191919f5;border-bottom:1px solid #303030;backdrop-filter:blur(10px)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-name{font-size:20px;font-weight:650;white-space:nowrap}.site-name span{font-size:14px;font-weight:400;color:var(--muted);margin-left:13px}.site-header nav{display:flex;gap:25px;font-size:16px;color:#c4c4c4}
.profile-section{padding-top:42px}.profile-section h1{font-size:38px;line-height:1.4;letter-spacing:-1.2px;font-weight:500;margin:0 0 34px}.profile-section h1 strong{font-weight:650}.profile-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px}.profile-photo{width:120px;height:128px;object-fit:cover;border-radius:5px;margin-bottom:13px}.profile-contact{display:flex;flex-direction:column;align-items:flex-start;gap:11px;font-size:15px;color:#c3c3c3}.profile-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;margin-top:12px}.profile-links a{display:flex;align-items:center;gap:8px;min-height:42px;min-width:0;border:1px solid #3b4651;border-radius:5px;padding:9px 10px;font-size:14px;background:#1b2024;color:#e1e5e9;transition:border-color .15s,background .15s}.profile-links a:hover{border-color:#8194aa;background:#242b32}.profile-links svg{width:16px;height:16px;flex:none}.external-arrow{font-size:12px;color:#a6b5c5;margin-left:auto}.profile-bio h2,.profile-facts h2{font-size:18px;font-weight:650;margin:0 0 15px}.profile-bio h3{font-size:24px;font-weight:600;letter-spacing:-.4px;margin:0 0 15px;line-height:1.6}.profile-bio>p{font-size:17px;line-height:1.8;color:#d0d0d0;word-break:keep-all;margin:11px 0}.profile-bio .strength-title{font-size:16px;margin-top:24px;margin-bottom:9px}.strengths{padding-left:18px;margin:0;font-size:16px;line-height:1.75;color:#c5c5c5}.strengths li{margin:5px 0;word-break:keep-all}
.profile-facts{display:grid;grid-template-columns:.8fr 1.35fr 1.1fr;gap:32px;margin-top:38px;padding:28px 0 32px;border-block:1px solid var(--line)}.profile-facts p{font-size:15px;line-height:1.8;margin:8px 0;color:#ccc;word-break:keep-all}.stack-panel p{font-size:16px;margin:7px 0}.stack-panel .stack-primary{font-size:18px;font-weight:550;color:#e4e4e4}.stack-panel .stack-secondary{font-size:14px;color:#aaa;margin-top:16px}.fact-with-document{display:flex;align-items:center;justify-content:space-between;gap:18px}.fact-with-document p{flex:1;min-width:0}.document-tile{display:block;width:66px;height:86px;flex:none;padding:4px;background:#262626;border:1px solid #4b4b4b;border-radius:4px;transition:border-color .15s}.document-tile img{width:100%;height:100%;object-fit:contain;background:#eaeaea}.document-tile:hover{border-color:#a9bdd9}
.projects-section{padding-top:42px;padding-bottom:56px}.projects-section>h2{font-size:30px;line-height:1.4;letter-spacing:-.7px;font-weight:600;margin:0}.project-group{padding-top:30px}.project-group>h3{font-size:22px;font-weight:600;letter-spacing:-.3px;margin:0 0 18px;line-height:1.5}.project-gallery{display:grid;gap:24px}.gallery-two{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-three{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{background:#222;border:1px solid #353535;border-radius:7px;overflow:hidden;min-width:0;transition:border-color .15s}.project-card:hover,.project-card:focus-within{border-color:#6b7d94}.project-card>.project-open{display:block;height:100%}.project-card>.project-open:focus-visible{outline-offset:-3px}.project-image{aspect-ratio:16/9;overflow:hidden;background:#101010;border-bottom:1px solid #353535}.project-image img{width:100%;height:100%;object-fit:cover}.project-card[data-category=tools] .project-image img{object-fit:contain}.card-copy{padding:18px 19px 21px}.card-meta{font-size:14px;color:#aaa;line-height:1.6;margin:0 0 9px}.card-title{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:24px;font-weight:600;letter-spacing:-.5px;line-height:1.4;margin:0;color:#e9e9e9}.card-title>span{font-size:16px;font-weight:400;color:#9ca8b7;flex:none}.card-description{font-size:16px;color:#c8c8c8;line-height:1.75;margin:11px 0 0;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.gallery-two .card-title{font-size:26px}.secondary-projects{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:44px;padding-top:29px;border-top:1px solid var(--line)}.secondary-projects .project-group{padding:0}.secondary-group>h3{font-size:20px;color:#c9c9c9;margin-bottom:9px}.project-list{list-style:none;padding:0;margin:0}.project-row{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:14px;align-items:start;border-bottom:1px solid #333;padding:18px 0}.project-row:hover .project-row-title{color:var(--accent)}.row-content{min-width:0}.project-row-title{display:block;font-size:18px;font-weight:550;line-height:1.5;color:#dedede}.project-row-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;color:#aaa;line-height:1.65;margin-top:6px;word-break:keep-all}.project-row-stack{font-size:14px;color:#999;white-space:nowrap;line-height:1.9}.row-arrow{font-size:16px;color:#a1aab7;line-height:1.7}.site-footer{border-top:1px solid var(--line);padding-block:24px;display:flex;justify-content:space-between;gap:20px;color:#999;font-size:14px}
.project-page{padding-top:30px}.back-link{display:inline-block;color:#aaa;font-size:15px;margin-bottom:28px}.project-heading{max-width:860px;padding-bottom:28px}.eyebrow{font-size:15px;font-weight:400;color:#aaa;line-height:1.6;margin:0 0 13px}.project-heading h1{font-size:44px;font-weight:600;letter-spacing:-1.2px;margin:0 0 17px;line-height:1.25;overflow-wrap:anywhere}.project-heading>p:not(.eyebrow){font-size:18px;color:#ccc;line-height:1.8;word-break:keep-all}.text-link{display:inline-block;font-size:15px;color:var(--accent);margin-top:6px}.project-cover{margin:0;background:#101010;border:1px solid var(--line);border-radius:6px;overflow:hidden}.project-cover img{width:100%;height:auto;max-height:570px;object-fit:contain}.project-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:45px;margin-top:37px}.project-aside{position:sticky;top:100px;align-self:start;border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:14px;font-size:15px;color:#aaa}.project-aside p{margin:0;line-height:1.7}.project-aside span,.project-aside a{font-size:14px}.project-aside a{color:var(--accent)}.prose{font-size:18px;line-height:1.9;color:#ccc;word-break:keep-all;overflow-wrap:anywhere;min-width:0}.prose h3{font-size:26px;font-weight:600;letter-spacing:-.4px;color:#e6e6e6;border-bottom:1px solid var(--line);padding-bottom:10px;margin:34px 0 17px;line-height:1.5}.prose h3:first-child{margin-top:0}.prose h2{font-size:30px}.prose h4{font-size:20px}.prose p{margin:13px 0}.prose ul,.prose ol{padding-left:22px}.prose li{margin:6px 0}.prose li>p{margin:4px 0}.prose blockquote{border-left:3px solid #778eb1;background:#23272d;color:#d0d7e2;padding:6px 16px;margin:22px 0}.prose blockquote p{margin:7px 0}.prose strong,.prose b{color:#eee;font-weight:650}.prose code{font-size:.9em;font-family:ui-monospace,Consolas,monospace;background:#303033;color:#c2d4ed;padding:2px 5px;border-radius:3px;overflow-wrap:anywhere}.prose pre{overflow:auto;background:#232323;padding:17px;border:1px solid var(--line);border-radius:5px}.prose pre code{padding:0;background:transparent}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose img{width:100%;height:auto;border-radius:4px}.prose figure{margin:25px 0}.prose table{border-collapse:collapse;font-size:16px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:10px;text-align:left}.prose details{border:1px solid var(--line);padding:13px;border-radius:4px}.video{aspect-ratio:16/9;background:#111;overflow:hidden;border:1px solid var(--line);border-radius:5px;margin:22px 0}.video iframe{border:0;width:100%;height:100%}.next-project{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:28px;margin-top:40px}.next-project>span{font-size:15px;color:#999}.next-project>a{font-size:24px}.document-link{display:flex;align-items:center;gap:20px;max-width:100%;border:1px solid var(--line);background:#232323;border-radius:5px;padding:14px;margin-top:12px;font-size:16px}.document-link img,.prose .document-link img{width:72px;height:96px;object-fit:contain;background:#eee}.document-link small{display:block;font-size:14px;color:#aaa;margin-top:8px}.prose .document-link{text-decoration:none}
#document-viewer,.project-dialog{background:#222;color:var(--text);border:1px solid #525252;border-radius:8px;padding:0;box-shadow:0 18px 80px #0008}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.project-dialog{width:min(1080px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);overflow:hidden}.project-dialog[open]{display:flex;flex-direction:column}.preview-toolbar,.document-toolbar{display:flex;align-items:center;gap:18px;padding:16px 24px;background:#242424;border-bottom:1px solid #414141;flex:none}.preview-toolbar h2,.document-toolbar h2{font-size:20px;line-height:1.5;font-weight:600;margin:0;flex:1;min-width:0}.close-preview{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid #494949;border-radius:5px;background:#292929;color:#ddd;font-size:27px;line-height:1}.close-preview:hover{background:#353535;border-color:#888}.project-preview{padding:28px 38px 42px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.project-preview .project-layout{display:block;margin-top:32px}.project-preview .project-heading{max-width:none;padding-bottom:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px 18px}.project-preview .project-heading>.eyebrow{font-size:14px;margin:0}.project-preview .project-heading .text-link{font-size:14px;margin:0}.project-preview .prose{max-width:840px;margin-inline:auto}.project-preview .project-cover img{max-height:450px}.preview-status{font-size:17px;line-height:1.8;margin:20px 0 30px;color:#bbb}.preview-status a{color:var(--accent);text-decoration:underline}#document-viewer{width:min(880px,94vw);max-height:92dvh;overflow:auto}.document-toolbar{position:sticky;top:0;z-index:2}.document-toolbar h2{font-size:17px}.document-toolbar a{font-size:15px;color:var(--accent);white-space:nowrap}.document-content{padding:20px;background:#151515}.document-content img{height:auto;width:100%;object-fit:contain;background:white}.section{padding-block:55px}
@media(max-width:1000px){.shell{width:calc(100% - 48px)}.profile-layout{grid-template-columns:240px 1fr;gap:32px}.profile-section h1{font-size:34px}.profile-facts{grid-template-columns:1fr 1fr;gap:25px 36px}.stack-panel{grid-column:1/-1}.stack-panel p{display:inline-block;margin:0 25px 0 0}.stack-panel .stack-secondary{margin-top:0}.gallery-three{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery{gap:20px}.secondary-projects{grid-template-columns:1fr}.project-layout{grid-template-columns:140px minmax(0,1fr);gap:28px}.project-row-summary{-webkit-line-clamp:1}}
@media(max-width:750px){.profile-layout{grid-template-columns:1fr;gap:30px}.profile-contact{display:grid;grid-template-columns:96px 1fr;gap:10px 22px;align-items:center}.profile-photo{grid-row:1/4;width:96px;height:108px;margin:0}.profile-links{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));max-width:300px;margin:0}.profile-bio h3{font-size:22px}.site-header nav{gap:16px;font-size:15px}.site-name span{display:none}}
@media(max-width:650px){:root{scroll-padding-top:84px}.shell{width:calc(100% - 32px)}.header-inner{min-height:64px;gap:12px}.site-name{font-size:20px}.site-header nav{gap:13px;font-size:14px}.profile-section{padding-top:28px}.profile-section h1{font-size:30px;line-height:1.5;letter-spacing:-.8px;margin-bottom:26px}.profile-contact{grid-template-columns:76px minmax(0,1fr);font-size:14px;gap:9px 18px}.profile-photo{width:76px;height:86px;grid-row:1/3;align-self:start}.profile-links{grid-column:1/-1;max-width:none;margin-top:5px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-links a{font-size:15px;padding:11px 13px;min-height:44px}.profile-bio h2{font-size:17px;margin-bottom:12px}.profile-bio h3{font-size:22px;margin-bottom:13px}.profile-bio>p{font-size:16px;line-height:1.85}.profile-bio .strength-title{font-size:16px;margin-top:22px}.strengths{font-size:16px;line-height:1.8}.profile-facts{grid-template-columns:1fr;gap:27px;margin-top:30px;padding-block:25px}.stack-panel{grid-column:auto}.profile-facts h2{font-size:18px;margin-bottom:13px}.profile-facts p{font-size:16px}.stack-panel p{display:block;margin:7px 0}.stack-panel .stack-primary{font-size:18px}.stack-panel .stack-secondary{font-size:14px;margin-top:12px}.document-tile{width:64px;height:84px}.fact-with-document{gap:22px}.projects-section{padding-top:32px}.projects-section>h2{font-size:28px}.project-group{padding-top:25px}.project-group>h3{font-size:21px;margin-bottom:16px}.gallery-two,.gallery-three{grid-template-columns:1fr}.project-gallery{gap:20px}.card-copy{padding:17px 18px 20px}.card-title,.gallery-two .card-title{font-size:23px}.card-meta{font-size:14px}.card-description{font-size:16px}.secondary-projects{margin-top:32px;padding-top:25px;gap:30px}.secondary-group>h3{font-size:20px}.project-row{grid-template-columns:minmax(0,1fr) 18px;gap:5px 14px;padding:17px 0}.project-row-title{font-size:19px}.project-row-summary{font-size:15px;-webkit-line-clamp:2}.project-row-stack{grid-column:1;grid-row:2;font-size:14px}.row-arrow{grid-column:2;grid-row:1}.site-footer{font-size:14px;flex-direction:column;gap:12px}.project-page{padding-top:24px}.back-link{font-size:14px;margin-bottom:24px}.project-heading h1{font-size:36px;letter-spacing:-.9px}.eyebrow,.text-link{font-size:14px}.project-heading>p:not(.eyebrow){font-size:16px}.project-layout{grid-template-columns:1fr;gap:25px;margin-top:28px}.project-aside{position:static;flex-direction:row;flex-wrap:wrap;gap:10px 18px;font-size:14px}.project-aside .eyebrow{width:100%}.project-aside a,.project-aside span{font-size:14px}.prose{font-size:16px;line-height:1.9}.prose h3{font-size:24px}.prose h4{font-size:20px}.prose ul,.prose ol{padding-left:19px}.prose table{font-size:15px}.next-project>a{font-size:20px}.next-project>span{font-size:14px}.project-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 24px);border-radius:6px}.preview-toolbar,.document-toolbar{gap:12px;padding:12px 16px}.preview-toolbar h2{font-size:20px}.close-preview{width:36px;height:36px;font-size:26px}.project-preview{padding:20px 18px 30px}.project-preview .project-heading{padding-bottom:20px}.project-preview .project-layout{margin-top:26px}.document-toolbar h2{font-size:15px}.document-toolbar a{font-size:14px}.document-content{padding:10px}.document-link{gap:14px;padding:12px}.document-link img,.prose .document-link img{width:58px;height:80px}.preview-status{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{:root{color-scheme:light;background:white;color:black}.site-header,.site-footer,.project-aside,.next-project,.video,dialog{display:none}.shell{width:100%}.profile-section{padding-top:0}.project-card,.profile-facts>section{break-inside:avoid}.project-layout{display:block}.prose{color:black}.prose h3{color:black}.project-card{background:white;color:black}.card-description{color:#333}}

.prose .report-tile{width:90px;height:120px;margin:14px 0 24px;padding:5px}.prose .document-tile img{width:100%;height:100%;border-radius:1px}
