@font-face{font-family:Inter;src:url('assets/inter.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font:16px/1.45 Inter,Arial,sans-serif;color:#121212;background:#555}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #4da8ff;outline-offset:5px}button{color:inherit}#desktop{position:fixed;inset:0;background:transparent}.loading{position:absolute;inset:45% 0;text-align:center;color:white}.desktop-icon{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);transform:translate(-50%,-50%);width:170px;padding:8px 4px;border:0;background:none;color:#fff;text-align:center;border-radius:8px;display:flex;align-items:center;flex-direction:column;gap:18px;text-shadow:0 1px 4px #3338;touch-action:none;user-select:none}.desktop-icon img{width:80px;max-height:84px;object-fit:contain;border-radius:5px;box-shadow:0 1px 2px #0003;transition:transform .2s}.desktop-icon span{font-size:16px;line-height:1.2;letter-spacing:-.6px;max-width:165px}.desktop-icon:hover img{transform:translateY(-4px)}.desktop-icon:focus-visible{outline-offset:0;background:#ffffff20}.desktop-icon:active{background:#ffffff18}#dock{position:fixed;z-index:10000;left:50%;bottom:9%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;border:1px solid #ffffff30;border-radius:20px;padding:11px;background:#292929a8;backdrop-filter:blur(20px);box-shadow:0 3px 10px #0003}.app-icon{position:relative;display:grid;place-items:center;width:48px;height:48px;border:0;padding:0;border-radius:12px;background:none;text-decoration:none;transition:transform .2s;flex-shrink:0}.app-icon img{width:100%;height:100%;object-fit:cover;border-radius:12px}.app-icon:hover{transform:translateY(-8px) scale(1.12)}.app-icon:after{content:attr(aria-label);position:absolute;bottom:calc(100% + 15px);left:50%;transform:translateX(-50%);background:#fffdf8;color:#151515;font-size:12px;line-height:1;white-space:nowrap;padding:9px 12px;border-radius:9px;box-shadow:0 2px 7px #0002;opacity:0;pointer-events:none}.app-icon:hover:after,.app-icon:focus-visible:after{opacity:1}.dock-divider{height:40px;width:1px;background:#ffffff80}.app-icon.is-running:before{content:'';position:absolute;bottom:-7px;width:4px;height:4px;border-radius:50%;background:#ddd}.linkedin{background:#087bb5!important;color:white;font:bold 32px Arial}.generic-link{background:#f5f5f5!important;font-size:25px;color:#333}.window{position:fixed;z-index:50;left:9.5%;top:13.5%;width:min(900px,81vw);height:min(506px,72vh);background:#fff;border:1px solid #ddd8;border-radius:20px;box-shadow:0 14px 60px #0002;overflow:hidden;display:flex;flex-direction:column;animation:open .2s ease-out;min-width:300px;min-height:220px}.window.hidden{display:none}.window.maximized{inset:12px 12px 105px!important;width:auto!important;height:auto!important}.titlebar{height:40px;flex-shrink:0;border-bottom:1px solid #ddd9;display:flex;align-items:center;gap:12px;padding:0 16px;color:#888;background:#ffffffb8;cursor:grab;user-select:none;touch-action:none;font-size:16px}.titlebar:active{cursor:grabbing}.traffic{display:flex;align-items:center;gap:8px}.traffic button{width:12px;height:12px;padding:0;border:none;border-radius:50%;font:10px/12px Arial;color:transparent}.traffic:hover button{color:#0008}.close{background:#ff605c}.minimize{background:#ffbd44}.maximize{background:#00ca4e}.window-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.window-body{padding:16px;overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin;scrollbar-color:#999 transparent}.window h1{font-size:46px;line-height:1.12;font-weight:500;letter-spacing:-2px;margin:4px 0 14px}.project-description{font-size:16px;color:#8b8b8b;letter-spacing:-.5px;line-height:1.4;margin:0 0 18px;white-space:pre-line}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 32px}.project-meta dt{font-size:16px;font-weight:500;margin-bottom:4px;letter-spacing:-.6px}.project-meta dd{margin:0;color:#888;font-size:16px;letter-spacing:-.5px}.project-images{display:flex;flex-direction:column;gap:0}.project-images figure{margin:0}.project-images button{display:block;border:0;padding:0;background:none;width:100%;cursor:zoom-in}.project-images img{display:block;width:100%;height:auto}.project-images figcaption{padding:12px 0;color:#777}.project-source{display:inline-block;margin:22px 0 8px;color:#168dce;font-size:14px}.about-window{left:13%;top:19.5%;width:480px;height:min(438px,75vh)}.about-window h2{font-size:28px;letter-spacing:-1px;line-height:1.2;margin:0 0 26px}.about-profile{display:flex;align-items:flex-end;gap:24px;margin-bottom:24px}.about-profile img{width:128px;height:192px;object-fit:cover;border-radius:10px}.about-details{min-width:0;flex:1;margin:0}.about-details div{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid #ddd;padding:4px 0}.about-details dt{font-size:18px;text-transform:uppercase;letter-spacing:-1px}.about-details dd{margin:0;font-size:16px;line-height:1.2;color:#888;overflow-wrap:anywhere}.about-details a,.email-link{color:#259dd4;text-decoration:none}.bio-card{background:#e8e8e8;padding:16px;border-radius:4px;font-size:16px;letter-spacing:-.5px;white-space:pre-line}.location-card{border-radius:10px;padding:25px;margin-top:20px;background:linear-gradient(25deg,#dce3d5,#f7f1df);border:1px solid #ddd}.location-card strong{display:block;font-size:22px}.location-card small{color:#777}.contact-button{display:block;border:0;background:#171717;color:#fff;text-align:center;text-decoration:none;padding:12px;border-radius:6px;margin-top:20px}.notes-window{left:33%;top:4%;width:min(720px,65vw);height:78vh}.notes-window .window-body{padding:0;display:flex;overflow:hidden}.notes-list{width:240px;flex-shrink:0;border-right:1px solid #e5e5e5;padding:16px;overflow:auto}.note-tab{display:block;text-align:left;border:0;background:none;width:100%;border-radius:12px;padding:16px;margin:0 0 8px}.note-tab.active{background:#ffe896}.note-tab strong{display:block;font-weight:500}.note-tab small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#999;margin-top:5px}.note-content{padding:20px 16px 40px;overflow:auto;flex:1}.note-date{text-align:center;color:#999;font-size:14px;margin-bottom:16px}.note-content h2{font-size:28px;letter-spacing:-1px;line-height:1.2;margin:0 0 14px}.note-content p{font-size:16px;letter-spacing:-.5px;white-space:pre-line;margin:0 0 28px}.note-content .note-section-title{font-size:25px;margin:38px 0 16px}.note-content a{color:#279ace}.resize-handle{position:absolute;right:1px;bottom:1px;width:16px;height:16px;cursor:nwse-resize;touch-action:none}#viewer{position:fixed;inset:0;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0;border:0;background:#111f;color:white;padding:65px 20px 30px;overflow:auto;z-index:20000}#viewer::backdrop{background:#111e}#viewer img{display:block;max-width:100%;height:auto;margin:0 auto}#viewer .viewer-close{position:fixed;right:22px;top:15px;width:40px;height:40px;border:0;border-radius:50%;background:#444;color:white;font-size:28px;z-index:1}.empty-desktop{color:white;text-align:center;padding-top:35vh}.noscript{padding:20px;color:white}@keyframes open{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@media(min-width:1600px){#dock{bottom:9%}}@media(max-width:700px){.desktop-icon{position:relative;left:auto;top:auto;transform:none;width:100%;gap:13px;padding:12px 2px;touch-action:auto}.desktop-icon img{width:80px;height:80px;border-radius:19px;object-fit:cover}.desktop-icon span{font-size:16px;max-width:160px}#desktop{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(120px,1fr);align-content:center;align-items:center;padding:18vh 12px 23vh;overflow:auto;min-height:100%;height:100dvh;gap:4px 10px}#dock{bottom:5%;gap:12px;padding:11px;border-radius:20px;max-width:calc(100% - 12px);overflow:visible}.app-icon{width:44px;height:44px}.dock-divider{height:38px}.window,.about-window,.notes-window{left:10px!important;top:30px!important;width:calc(100% - 20px)!important;height:calc(100dvh - 140px)!important;border-radius:16px;min-width:0}.window.maximized{inset:7px 7px 95px!important;width:auto!important;height:auto!important}.titlebar{height:42px;font-size:14px;cursor:default}.traffic button{width:13px;height:13px}.window h1{font-size:34px;letter-spacing:-1.3px}.project-meta{gap:18px}.project-description{font-size:15px}.about-profile{gap:14px}.about-profile img{width:94px;height:145px}.about-details dt{font-size:13px;letter-spacing:-.5px}.about-details dd{font-size:13px}.about-details div{gap:7px}.notes-list{width:112px;padding:6px}.note-tab{padding:12px 8px;font-size:14px}.note-content{padding:16px 12px}.note-content h2{font-size:24px}.note-content p{font-size:14px}.note-content .note-section-title{font-size:20px}.note-date{font-size:12px}.resize-handle{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:701px){.dense .desktop-icon{width:150px;gap:12px}.dense .desktop-icon span{font-size:14px;max-width:142px}.dense .desktop-icon img{width:72px;max-height:68px}}.desktop-icon{translate:var(--dx,0px) var(--dy,0px);cursor:grab;touch-action:none}.desktop-icon.is-dragging{cursor:grabbing;background:#ffffff1a}.desktop-icon.is-dragging img{transform:none}.note-list-date{color:#222}.note-tab small{font-size:16px}.note-content ul{padding-left:22px;margin:0 0 30px;font-size:16px;letter-spacing:-.5px}.note-content li{padding-left:2px;margin:0 0 3px}.note-content p strong{font-weight:600}.note-content .note-section-title{font-weight:600}.note-content p{line-height:1.45}@media(max-width:700px){.note-tab small{font-size:12px}.note-content ul{font-size:14px}}
#desktop::before{content:"";position:fixed;inset:0;background:linear-gradient(rgba(84,84,84,0) 0%,#000 100%);opacity:.4;pointer-events:none;z-index:0}.desktop-icon{z-index:1}
#wallpaper{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#858585}#wallpaper .wallpaper-fill{position:absolute;inset:-30px;width:calc(100% + 60px);height:calc(100% + 60px);max-width:none;object-fit:cover;object-position:var(--wallpaper-position,center);filter:blur(25px)}#wallpaper .wallpaper-main{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:var(--wallpaper-fit,contain);object-position:var(--wallpaper-position,center);image-rendering:auto}#wallpaper::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(84,84,84,0) 0%,#000 100%);opacity:.4}#desktop{z-index:1;background:transparent}#desktop::before{content:none}#wallpaper .wallpaper-main{inset:auto;left:50%;top:0;width:auto;height:100%;max-width:none;transform:translateX(-50%);object-fit:contain;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%)}#wallpaper[data-align="left"] .wallpaper-main{left:0;transform:none}#wallpaper[data-align="right"] .wallpaper-main{left:auto;right:0;transform:none}
.brand-app img{object-fit:contain;border-radius:0}.brands-window{left:18%;top:10%;width:min(860px,80vw);height:min(650px,78vh)}.brands-window .window-body{padding:32px;background:#fff}.brands-heading{margin:0 0 28px}.brands-eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.5px;color:#898989;margin-bottom:18px}.brands-eyebrow img{width:22px;height:19px;object-fit:contain}.brands-heading h1{font-size:40px;line-height:1.12;letter-spacing:-1.7px;max-width:580px;margin:0 0 14px}.brands-heading>p{font-size:16px;line-height:1.5;letter-spacing:-.4px;color:#818181;max-width:540px;white-space:pre-line;margin:0}.brands-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.brand-card{min-width:0;border:1px solid #e8e8ea;border-radius:13px;overflow:hidden;background:#fff}.brand-logo{height:165px;display:flex;align-items:center;justify-content:center;padding:32px}.brand-logo>span{font-size:clamp(24px,3vw,38px);line-height:1.1;font-weight:600;letter-spacing:-1.5px;text-align:center;overflow-wrap:anywhere}.brand-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.brand-details{padding:20px}.brand-details h2{font-size:17px;line-height:1.2;letter-spacing:-.5px;font-weight:500;margin:0}.brand-details p{font-size:14px;line-height:1.5;color:#858585;white-space:pre-line;letter-spacing:-.2px;margin:10px 0 0}.brand-details a{display:inline-flex;gap:8px;color:#238fca;font-size:13px;text-decoration:none;margin-top:16px}.brand-details a:hover{text-decoration:underline}@media(max-width:700px){#dock{gap:clamp(6px,2vw,12px);padding:10px}.app-icon{width:clamp(32px,10vw,44px);height:clamp(32px,10vw,44px)}#desktop{grid-auto-rows:minmax(120px,1fr)}.brands-window .window-body{padding:22px 16px}.brands-heading h1{font-size:32px;letter-spacing:-1.3px}.brands-heading>p{font-size:15px}.brands-grid{gap:15px;grid-template-columns:1fr}.brand-logo{height:155px}.brand-logo>span{font-size:32px}.brand-details{padding:18px}}
.brand-app{width:64px}.brand-app img{width:100%;height:100%;max-width:none;object-fit:contain}@media(max-width:700px){.brand-app{width:calc(clamp(32px,10vw,44px) + 12px)}#desktop.dense{grid-auto-rows:minmax(170px,auto);align-content:start;padding-top:32px;padding-bottom:180px}}
