:root{--bg:#0f0f11;--sidebar:#151518;--surface:#19191c;--tile:#1c1c20;--ink:#ececee;--ink-2:#c6c6cb;--ink-body:#adadb3;--muted:#8b8b91;--faint:#737379;--subtle:#66666c;--line:#232327;--line-strong:#34343a;--hover:#212125;--highlight:#ffffff0a;--green:#2f9e5b;--green-ink:#5fd08a;--radius:10px;--sidebar-w:264px;--col:640px;--font-sans:"Figtree", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Newsreader", Georgia, "Times New Roman", serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--grain:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n' color-interpolation-filters='sRGB'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='3 0 0 0 -1 3 0 0 0 -1 3 0 0 0 -1 0 0 0 0 1'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.05'/></svg>");--grain-soft:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n' color-interpolation-filters='sRGB'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='3 0 0 0 -1 3 0 0 0 -1 3 0 0 0 -1 0 0 0 0 1'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.03'/></svg>");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#fcfcfb;--sidebar:#f8f8f7;--surface:#fff;--tile:#ededec;--ink:#111113;--ink-2:#3a3a3f;--ink-body:#4a4a4f;--muted:#6e6e73;--faint:#8a8a8f;--subtle:#9a9a9e;--line:#ebebea;--line-strong:#dcdcda;--hover:#f5f5f3;--highlight:#fff;--green:#2f9e5b;--green-ink:#1e6b3a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0f0f11;--sidebar:#151518;--surface:#19191c;--tile:#1c1c20;--ink:#ececee;--ink-2:#c6c6cb;--ink-body:#adadb3;--muted:#8b8b91;--faint:#737379;--subtle:#66666c;--line:#232327;--line-strong:#34343a;--hover:#212125;--highlight:#ffffff0a;--green:#2f9e5b;--green-ink:#5fd08a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,:not(.project-dialog-body){scrollbar-width:none!important;-ms-overflow-style:none!important}:not(.project-dialog-body)::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}*{box-sizing:border-box}html,body{margin:0;padding:0}html{cursor:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M3 3v17l5.2-4.6h7.2z' fill='white' stroke='%23111113' stroke-width='1.5' stroke-linejoin='round'/></svg>") 3 3,auto;scroll-behavior:auto}body{background:var(--grain-soft), var(--bg);background-color:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit;background:0 0;border:0}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}.serif{font-family:var(--font-serif);font-style:italic;font-weight:400}.shell{min-height:100vh;display:flex}.sidebar{background:var(--grain), linear-gradient(var(--surface), var(--bg));width:260px;height:calc(100vh - 24px);box-shadow:inset 0 1px 0 var(--highlight), 0 1px 2px #1111130d, 0 18px 40px #11111317;border:1px solid var(--line);z-index:20;transition:transform .22s var(--ease-drawer);border-radius:26px;flex-shrink:0;margin:12px 0 12px 12px;padding:5px;position:sticky;top:12px}.sidebar-panel{background:var(--grain), var(--surface);height:100%;box-shadow:0 0 0 1px var(--line), 0 1px 3px #1111130f;border-radius:21px;flex-direction:column;gap:18px;padding:14px 12px 0;display:flex;overflow:hidden}.sidebar-panel>*{flex-shrink:0}.sidebar-panel>.nav{flex-shrink:1;min-height:0;overflow-y:auto}.sidebar-top{justify-content:space-between;align-items:center;padding:2px 4px 0 10px;display:flex}.sidebar-name{letter-spacing:-.02em;color:var(--ink);font-size:18px;font-weight:600}.icon-btn{width:44px;height:44px;color:var(--ink);cursor:pointer;transition:background .14s ease, color .14s ease, transform .12s var(--ease-out);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--hover)}.icon-btn:active{transform:scale(.96)}.sidebar-collapse{width:36px;height:36px}.sidebar-expand{z-index:10;background:var(--surface);box-shadow:0 0 0 1px var(--line), 0 1px 3px #1111131a;position:fixed;top:18px;left:18px}@media (width>=901px){.sidebar.is-collapsed{display:none}.shell:has(.is-collapsed){--sidebar-w:0px}}.sidebar-brand{flex-direction:column;gap:2px;display:flex}.sidebar-role{color:var(--muted);letter-spacing:-.01em;font-size:12px;font-weight:400}.nav{flex-direction:column;gap:18px;display:flex}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-label{color:var(--subtle);letter-spacing:.01em;padding:0 12px 6px;font-size:12px;font-weight:500}.nav-link{height:40px;color:var(--ink-2);transition:background .14s ease, box-shadow .14s ease, color .14s ease, transform .12s var(--ease-out);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-size:15px;font-weight:500;display:flex}.nav-link svg{color:var(--faint);flex-shrink:0;transition:color .14s}.nav-link:hover{background:var(--hover);color:var(--ink)}.nav-link:active{transform:scale(.98)}.nav-link:hover svg{color:var(--ink)}.nav-link[aria-current=page],.nav-link.active{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong), inset 0 1px 0 var(--highlight), 0 1px 2px #1111130f;background:linear-gradient(var(--surface), var(--hover))}.nav-link[aria-current=page] svg,.nav-link.active svg{color:var(--ink)}.nav-badge{height:22px;color:var(--green-ink);background:#2f9e5b26;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.nav-badge .dot{width:6px;height:6px}.nav-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:500}.dot{background:var(--green);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.sidebar-foot{border-top:1px solid var(--line);align-items:center;gap:8px;margin:auto -12px 0;padding:14px 16px;display:flex}.foot-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;transition:background .14s ease, color .14s ease, transform .12s var(--ease-out);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:flex}.foot-btn:hover{background:var(--hover);color:var(--ink)}.foot-btn:active{transform:scale(.95)}.main{flex:1;justify-content:center;min-width:0;padding:104px 24px 96px;display:flex}.column{width:100%;max-width:var(--col);flex-direction:column;gap:88px;display:flex}.label{color:var(--muted);font-size:14px;font-weight:500}.page-title{letter-spacing:-.02em;color:var(--ink);font-size:clamp(26px,4.5vw,34px);font-weight:500;line-height:1.25}.lead{color:var(--ink-body);font-size:16.5px;line-height:1.65}.lead-teaser{max-height:6.6em;transition:max-height .3s;overflow:hidden;-webkit-mask-image:linear-gradient(#000 calc(100% - 1.65em),#0000);mask-image:linear-gradient(#000 calc(100% - 1.65em),#0000)}.lead-expanded{max-height:40em;-webkit-mask-image:none;mask-image:none}.back{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:14px;transition:color .14s;display:inline-flex}.back:hover{color:var(--ink)}.stack-v{flex-direction:column;display:flex}.gap-4{gap:4px}.gap-8{gap:8px}.gap-16{gap:16px}.gap-24{gap:24px}.gap-40{gap:40px}.gap-56{gap:56px}.identity{align-items:center;gap:16px;display:flex}.avatar{-o-object-fit:cover;object-fit:cover;background:var(--tile);border:1px solid var(--line);border-radius:50%;flex-shrink:0;width:80px;height:80px}.identity-name{letter-spacing:-.01em;color:var(--ink);font-size:22px;font-weight:600}.identity-role{color:var(--muted);font-size:16px}.niche{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;display:flex}.chip{border-radius:999px;align-items:center;gap:8px;height:32px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.chip-dark{background:var(--ink);color:var(--bg)}.chip-dark .dot{background:var(--green-ink);width:6px;height:6px}.chip-light{border:1px solid var(--line-strong);color:var(--ink-2)}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.metric-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:30px;font-weight:500}.metric-label{color:var(--muted);font-size:14px}.section-head{justify-content:space-between;align-items:baseline;display:flex}.count{color:var(--subtle);font-size:13px}.experience-list{flex-direction:column;display:flex}.experience-item{border-top:1px solid var(--line);flex-direction:column;gap:14px;padding:22px 0;display:flex}.experience-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.experience-role-group{flex-direction:column;gap:4px;display:flex}.experience-role{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:17.5px;font-weight:600;line-height:1.35}.experience-company-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.experience-company{color:var(--ink-2);font-size:15px;font-weight:500}.experience-type-pill{background:var(--tile);border:1px solid var(--line-strong);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.experience-meta{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.experience-period{color:var(--subtle);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:500}.experience-location{color:var(--muted);font-size:12.5px}.experience-stack-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.bullets{color:var(--ink-body);flex-direction:column;gap:10px;margin:0;padding-left:18px;font-size:14.5px;line-height:1.62;display:flex}.row{border-top:1px solid var(--line);transition:background .16s ease, transform .14s var(--ease-out);align-items:center;gap:20px;padding:18px 0;display:flex}@media (hover:hover) and (pointer:fine){.row:hover{background:var(--hover);border-radius:12px;margin:0 -8px;padding-left:8px;padding-right:8px}.row:hover .row-title{text-underline-offset:3px;text-decoration:underline}}.row:active{transform:scale(.99)}.thumb{-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left;background:var(--tile);border:1px solid var(--line);border-radius:8px;flex-shrink:0;width:72px;height:48px}.row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{color:var(--ink);align-items:center;gap:8px;font-size:16px;font-weight:500;display:inline-flex}.row-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.row-tag{color:var(--subtle);white-space:nowrap;font-size:13px}#projects>div.stack-v>div:first-child>span,#projects .row>.row-tag{display:none!important}.soon{color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.more-btn{border:1px solid var(--line-strong);background:var(--surface);height:40px;color:var(--ink);cursor:pointer;transition:background .14s ease, border-color .14s ease, transform .12s var(--ease-out);border-radius:999px;align-self:center;margin-top:-8px;padding:0 20px;font-size:14px;font-weight:500}.more-btn:hover{background:var(--hover);border-color:var(--ink)}.more-btn:active{transform:scale(.96)}.kv{border-top:1px solid var(--line);grid-template-columns:160px minmax(0,1fr);align-items:baseline;gap:20px;padding:14px 0;font-size:15px;display:grid}.kv>:first-child{color:var(--muted)}.kv>:last-child{color:var(--ink-body)}.contact-section{border-top:1px solid var(--line);flex-direction:column;gap:20px;padding-top:28px;display:flex}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:24px;padding:32px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #1111130a}.contact-card:before{content:"";background:linear-gradient(90deg, var(--green), transparent 80%);height:2px;position:absolute;top:0;left:0;right:0}.contact-headline{letter-spacing:-.02em;color:var(--ink);font-size:26px;font-weight:500;line-height:1.3}.contact-desc{color:var(--ink-body);max-width:540px;font-size:15px;line-height:1.65}.contact-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.contact-info-grid{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding-top:16px;display:grid}.contact-info-item{flex-direction:column;gap:4px;display:flex}.contact-info-item .info-label{color:var(--subtle);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.contact-info-item .info-val{color:var(--ink-2);align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.contact-info-item a.info-val:hover{color:var(--ink);text-decoration:underline}.footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;font-size:14px;display:flex}.footer nav{flex-wrap:wrap;gap:24px;display:flex}.footer a:hover,.footer button:hover{color:var(--ink)}.btn{cursor:pointer;height:44px;transition:background .14s ease, border-color .14s ease, transform .12s var(--ease-out);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn-dark{background:var(--ink);color:var(--bg)}.btn-dark:hover{opacity:.92}.btn-light{border:1px solid var(--line-strong);color:var(--ink)}.btn-light:hover{background:var(--hover)}.toast{left:calc(50% + var(--sidebar-w) / 2);z-index:100;background:var(--ink);height:44px;color:var(--bg);white-space:nowrap;pointer-events:none;animation:.24s var(--ease-out) toast-in;border-radius:999px;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:500;display:inline-flex;position:fixed;bottom:32px;transform:translate(-50%);box-shadow:0 2px 4px #11111314,0 16px 40px #11111338}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)scale(.95)}to{opacity:1;transform:translate(-50%)scale(1)}}.click-burst{z-index:100;pointer-events:none;position:fixed}.click-burst span{background:var(--ink);transform-origin:50% 0;width:2px;height:7px;animation:.42s var(--ease-out) forwards click-burst;border-radius:1px;position:absolute;top:0;left:-1px}@keyframes click-burst{0%{transform:rotate(var(--a)) translateY(4px) scaleY(1);opacity:1}to{transform:rotate(var(--a)) translateY(13px) scaleY(.3);opacity:0}}.dialog-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;box-sizing:border-box;width:100vw;height:100dvh;animation:.2s var(--ease-out) overlay-in;overscroll-behavior:contain;touch-action:none;background:#000000bd;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.project-dialog{background:var(--surface);border:1px solid var(--line-strong);width:100%;max-width:580px;box-shadow:0 24px 60px #00000073, inset 0 1px 0 var(--highlight);overscroll-behavior:contain;transform-origin:50%;border-radius:24px;flex-direction:column;height:min(80vh,580px);max-height:min(80vh,580px);margin:auto;display:flex;position:relative;overflow:hidden}.project-modal-overlay.is-entering{animation:.24s var(--ease-out) forwards modal-backdrop-in}.project-modal-overlay.is-closing{animation:.2s var(--ease-out) forwards modal-backdrop-out;pointer-events:none}.project-modal-card.is-entering{animation:.24s var(--ease-out) forwards modal-card-blur-in;will-change:opacity, filter, transform}.project-modal-card.is-closing{animation:.2s var(--ease-out) forwards modal-card-blur-out;will-change:opacity, filter, transform}@keyframes modal-backdrop-in{0%{opacity:0;-webkit-backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px)}}@keyframes modal-backdrop-out{0%{opacity:1;-webkit-backdrop-filter:blur(8px)}to{opacity:0;-webkit-backdrop-filter:blur()}}@keyframes modal-card-blur-in{0%{opacity:0;filter:blur(12px);transform:scale(.96)translateY(8px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}@keyframes modal-card-blur-out{0%{opacity:1;filter:blur();transform:scale(1)translateY(0)}to{opacity:0;filter:blur(8px);transform:scale(.97)translateY(6px)}}.dialog-card{background:var(--surface);border:1px solid var(--line-strong);width:100%;max-width:480px;box-shadow:0 24px 60px #00000073, inset 0 1px 0 var(--highlight);transform-origin:50%;max-height:min(88vh,780px);animation:.22s var(--ease-out) modal-in;border-radius:24px;flex-direction:column;gap:20px;margin:auto;padding:32px 28px;display:flex;position:relative;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.dialog-close{width:34px;height:34px;color:var(--muted);cursor:pointer;transition:background .14s ease, color .14s ease, transform .12s var(--ease-out);border-radius:10px;justify-content:center;align-items:center;display:flex;position:absolute;top:18px;right:18px}.dialog-close:hover{background:var(--hover);color:var(--ink)}.dialog-close:active{transform:scale(.94)}.project-dialog-header{border-bottom:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:8px;padding:26px 56px 16px 28px;display:flex}.project-dialog-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;flex:1;gap:20px;min-height:0;padding:20px 24px 20px 28px;display:flex;overflow-y:auto}.project-dialog-body::-webkit-scrollbar{width:6px;display:block}.project-dialog-body::-webkit-scrollbar-track{background:0 0;margin:10px 0}.project-dialog-body::-webkit-scrollbar-thumb{background:var(--line-strong);border:1px solid var(--surface);border-radius:999px;transition:background .15s}.project-dialog-body::-webkit-scrollbar-thumb:hover{background:var(--subtle)}.project-meta-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge-pill{border:1px solid var(--line-strong);color:var(--ink-2);background:var(--tile);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.badge-pill.status-live{color:var(--green-ink);background:#2f9e5b1f;border-color:#2f9e5b4d;align-items:center;gap:5px;display:inline-flex}.project-dialog-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:26px;font-weight:600}.project-dialog-sub{color:var(--muted);font-size:15px;line-height:1.5}.project-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12.5px;font-weight:600}.project-overview-text{color:var(--ink-body);font-size:15px;line-height:1.65}.project-highlights-list{color:var(--ink-body);flex-direction:column;gap:10px;margin:0;padding-left:20px;font-size:14.5px;line-height:1.6;display:flex}.project-highlights-list li strong{color:var(--ink)}.project-tech-tags{flex-wrap:wrap;gap:8px;display:flex}.tech-tag{background:var(--tile);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;padding:4px 10px;font-size:12px}.project-dialog-foot{border-top:1px solid var(--line);background:var(--surface);z-index:10;flex-shrink:0;justify-content:center;align-items:center;margin-top:auto;padding:16px 28px;display:flex}.project-dialog-foot .btn{justify-content:center;min-width:160px}.blur-fade-item{opacity:0;filter:blur(8px);transition:opacity .52s var(--ease-out), filter .52s var(--ease-out), transform .52s var(--ease-out);will-change:opacity, filter, transform;transform:translateY(8px)}.scroll-reveal-section.is-revealed .blur-fade-item,.blur-fade-item.is-revealed,.scroll-reveal-section.is-revealed.blur-fade-item{opacity:1;filter:blur();transform:translateY(0)}.hero-section.is-revealed .hero-identity{transition-delay:40ms}.hero-section.is-revealed .hero-bio{transition-delay:.22s}.hero-section.is-revealed .hero-niche{transition-delay:.32s}.hero-section.is-revealed .hero-metrics{transition-delay:.42s}.scroll-reveal-section.is-revealed .section-head{transition-delay:20ms}.scroll-reveal-section.is-revealed .experience-list .experience-item:first-child{transition-delay:80ms}.scroll-reveal-section.is-revealed .experience-list .experience-item:nth-child(2){transition-delay:.18s}.scroll-reveal-section.is-revealed .stack-v>.row:first-child{transition-delay:80ms}.scroll-reveal-section.is-revealed .stack-v>.row:nth-child(2){transition-delay:.15s}.scroll-reveal-section.is-revealed .stack-v>.row:nth-child(3){transition-delay:.22s}.scroll-reveal-section.is-revealed .stack-v>.row:nth-child(4){transition-delay:.29s}.scroll-reveal-section.is-revealed .stack-v>.row:nth-child(5){transition-delay:.36s}.scroll-reveal-section.is-revealed .more-btn{transition-delay:.28s}#stack.is-revealed .stack-v>.kv:first-child{transition-delay:60ms}#stack.is-revealed .stack-v>.kv:nth-child(2){transition-delay:.12s}#stack.is-revealed .stack-v>.kv:nth-child(3){transition-delay:.18s}#stack.is-revealed .stack-v>.kv:nth-child(4){transition-delay:.24s}#stack.is-revealed .stack-v>.kv:nth-child(5){transition-delay:.3s}#stack.is-revealed .stack-v>.kv:nth-child(6){transition-delay:.36s}#education.is-revealed .stack-v>.kv:first-child{transition-delay:80ms}#education.is-revealed .stack-v>.kv:nth-child(2){transition-delay:.16s}#education.is-revealed .stack-v>.kv:nth-child(3){transition-delay:.24s}#contact.is-revealed .contact-card{transition-delay:.1s}.blur-char{will-change:transform, opacity, filter;display:inline-block}@media (width<=900px){.shell{flex-direction:column}.toast{left:50%}.mobile-bar{border-bottom:1px solid var(--line);background:var(--bg);z-index:50;align-items:center;gap:8px;height:56px;padding:8px 12px 8px 6px;display:flex;position:sticky;top:0}.mobile-bar-name{letter-spacing:-.01em;font-size:17px;font-weight:600}.mobile-bar-status{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:13px;display:flex}.scrim{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:block;position:fixed;inset:0}.sidebar{z-index:70;width:296px;height:calc(100dvh - 20px);box-shadow:inset 0 1px 0 var(--highlight), 0 2px 4px #1111130d, 0 24px 56px #11111338;transition:transform .25s var(--ease-drawer);margin:0;position:fixed;top:10px;left:10px;transform:translate(-115%)}.sidebar-panel{padding-top:8px}.sidebar.is-open{transform:none}.sidebar-sub,.sidebar-expand{display:none}.main{padding:32px 18px 64px}.column{gap:52px}.metrics{gap:12px}.identity .avatar{width:64px;height:64px}.identity{gap:12px}.identity .btn{gap:6px;height:36px;padding:0 12px;font-size:13px}.metric-value{font-size:24px}.metric-label{font-size:13px}.experience-header{flex-direction:column;align-items:flex-start;gap:6px}.experience-role{font-size:18px;line-height:1.3}.experience-company-line{gap:6px}.experience-meta{text-align:left;flex-flow:wrap;align-items:flex-start;gap:6px 12px;margin-top:2px}.experience-period{color:var(--subtle);font-size:12.5px}.experience-location{color:var(--muted);font-size:12px}.row{gap:14px;padding:16px 0}#projects>div.stack-v>div:first-child>span,#projects .row>.row-tag{display:none!important}.footer{flex-direction:column-reverse;gap:16px}.footer nav{gap:12px 20px}.kv{grid-template-columns:1fr;gap:4px}.page-title{font-size:28px}.dialog-overlay{padding:12px}.dialog-card{border-radius:20px;gap:18px;max-height:calc(100dvh - 24px);padding:24px 20px}.project-dialog{border-radius:20px;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.project-dialog-header{padding:18px 48px 12px 18px}.project-dialog-body{gap:16px;padding:16px 18px}.project-dialog-foot{padding:12px 18px}.project-dialog-title{font-size:22px}.contact-card{border-radius:18px;padding:24px 20px}.contact-headline{font-size:22px}.contact-info-grid{grid-template-columns:1fr;gap:14px}}@media (width>=901px){.mobile-bar,.scrim{display:none}}@media (prefers-reduced-motion:reduce){.blur-char,.scroll-reveal-section,.blur-fade-item,.project-dialog,.project-modal-card,.project-modal-overlay,.dialog-card,.toast,.click-burst span{filter:none!important;opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}
