@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");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 Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_94f1d94a-module__KAKBsq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_94f1d94a-module__KAKBsq__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
:root{--bg:#08080c;--surface:#1c244047;--surface-hover:#ffffff05;--border:#ffffff0f;--text:#f3eee6;--text-body:#a39e95;--text-muted:#67625b;--text-soft:#c9c3b9;--line:#f3eee647;--gold:#f6b46a;--gold-dim:#f6b46a26;--gold-glow:#f6b46a59;--font-sans:var(--font-space-grotesk), "Helvetica Neue", sans-serif;--container-max:1440px;--nav-h:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:72px;font-size:16px;font-weight:400;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{background:0 0;width:8px;height:8px}::-webkit-scrollbar-track{box-shadow:none;background:0 0;border:none}::-webkit-scrollbar-track-piece{box-shadow:none;background:0 0;border:none}::-webkit-scrollbar-corner{box-shadow:none;background:0 0;border:none}::-webkit-scrollbar-thumb{background:#f6b46a40 padding-box padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#f6b46a73}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:#f6b46a40 transparent}}.container{max-width:var(--container-max);margin:0 auto;padding:0 48px}.site-header{z-index:100;position:fixed;top:0;left:0;right:0}.site-header:before{content:"";transform-origin:top;opacity:0;z-index:-1;background:#08080c;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s;position:absolute;inset:0;transform:scaleY(0)}.site-header.scrolled:before{opacity:1;transform:scaleY(1)}.site-header:has(.mobile-menu.open):before{opacity:1;transform:scaleY(1)}.site-header.scrolled{border-bottom:1px solid #f6b46a1f}@media (max-width:900px){.site-header.scrolled:before{opacity:0;transition:none;transform:scaleY(0)}.site-header:has(.mobile-menu.open):before{opacity:0;transition:none;transform:scaleY(0)}.navbar{position:relative}.navbar:before{content:"";-webkit-backdrop-filter:blur(20px);transform-origin:top;opacity:0;z-index:-1;background:#000;border:1px solid #ffffff14;border-radius:22px;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s;position:absolute;inset:8px 12px;transform:scaleY(0);box-shadow:0 4px 24px #0000004d,inset 0 0 0 1px #ffffff08}.site-header.scrolled .navbar:before{opacity:1;transform:scaleY(1)}.site-header:has(.mobile-menu.open) .navbar:before{opacity:1;transform:scaleY(1)}.site-header.scrolled{border-bottom:none}}.navbar{height:var(--nav-h);justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 24px;display:flex}.nav-logo{font-family:var(--font-sans);color:var(--text);letter-spacing:-.02em;font-size:18px;font-weight:700;transition:color .15s}.nav-logo:hover{color:var(--gold)}.nav-links{align-items:center;gap:32px;display:flex}.nav-link{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--text);font-size:13px;font-weight:700;transition:color .15s,opacity .15s}.nav-link:hover,.nav-link.active{color:var(--gold);opacity:1}.nav-menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav-menu-btn span{background:#fff;border-radius:2px;width:24px;height:2px;transition:all .3s cubic-bezier(.4,0,.2,1);display:block}.mobile-menu{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);opacity:0;background:#08080cf7;flex-direction:column;gap:20px;max-height:0;padding:0 48px;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s,padding .4s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.mobile-menu.open{opacity:1;max-height:500px;padding:24px 48px 32px}.mobile-link{color:var(--text-body);letter-spacing:.12em;text-transform:uppercase;padding:8px 0;font-size:16px;font-weight:500;transition:color .15s}.mobile-link:hover{color:var(--gold)}.mobile-title{display:none!important}.desktop-title{display:inline!important}.hero{align-items:flex-end;width:100%;height:100vh;min-height:600px;padding-bottom:80px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;will-change:transform;animation:12s ease-in-out infinite alternate hero-breathe;position:absolute;inset:0}.hero-light-bg{display:none}.hero-picture{display:block;position:absolute;inset:0}.hero-bg img{object-fit:cover;object-position:center 75%}.hero-overlay{z-index:1;background:linear-gradient(#0000 35%,#08080c0d 50%,#08080c40 70%,#08080c99 85%,#08080ceb 100%);position:absolute;inset:0}@keyframes hero-breathe{0%{transform:scale(1)}to{transform:scale(1.03)}}.hero-content{z-index:2;text-align:left;flex-direction:column;align-items:flex-start;width:100%;max-width:1400px;margin:0 auto;padding:0 24px;display:flex;position:relative}.hero-text{display:contents}.hero-greeting{color:#f6b46a;letter-spacing:.02em;margin:0;font-size:clamp(13px,3.8vw,17px);font-weight:600;display:block!important}.hero-name{font-family:var(--font-sans);letter-spacing:-.01em;color:#f3eee6;font-size:clamp(36px,5.5vw,56px);font-weight:700;line-height:1.1}.hero-divider-wrap{align-items:center;gap:8px;margin-top:14px;display:flex}.hero-divider-dot{background:#f6b46a;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:block;box-shadow:0 0 8px 2px #f6b46a99}.hero-divider-line{background:linear-gradient(90deg,#f6b46a,#f6b46a4d);width:120px;height:1px;display:block}.hero-title{font-family:var(--font-sans);letter-spacing:.06em;color:#f6b46a;margin-top:14px;font-size:20px;font-weight:600}.hero-description{font-family:var(--font-sans);color:#ffffffd9;max-width:520px;margin-top:10px;font-size:16px;font-weight:400;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;display:flex}.hero-actions-desktop{align-items:center;gap:14px;display:flex}.hero-actions-mobile{display:none}.hero-btn{font-family:var(--font-sans);letter-spacing:.02em;cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;gap:8px;min-height:44px;padding:12px 28px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.25,.1,0,1);display:inline-flex}.hero-btn-primary{color:#08080c;background:#f6b46a;border:none;box-shadow:0 4px 20px #f6b46a59}.hero-btn-primary:hover{background:#dc9550;transform:translateY(-2px);box-shadow:0 6px 28px #f6b46a73}.hero-btn-secondary{color:#f6b46a;background:0 0;border:1px solid #f6b46a80}.hero-btn-secondary:hover{background:#f6b46a14;border-color:#f6b46a;transform:translateY(-2px)}.hero-btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.hero-socials{align-items:center;gap:10px;display:flex}.hero-social-icon{color:#f6b46a;border:1px solid #f6b46a66;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;text-decoration:none;transition:all .25s cubic-bezier(.25,.1,0,1);display:flex}.hero-social-icon:hover{color:#f6b46a;background:#f6b46a1a;border-color:#f6b46a;transform:translateY(-2px)}.hero-scroll{z-index:2;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.hero-scroll-pill{color:#f6b46ab3;border:1px solid #f6b46a66;border-radius:14px;justify-content:center;align-items:center;width:28px;height:40px;animation:2s ease-in-out infinite scroll-bounce;display:flex}@keyframes scroll-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.hero-scroll-dot{background:#f6b46a;border-radius:50%;width:4px;height:4px;display:block;box-shadow:0 0 6px 1px #f6b46a80}@media (max-width:1024px){.hero-scroll{display:none}}.section{background:var(--bg);padding:120px 0}.section-label{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-size:11px;font-weight:500}.section-heading{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text);margin-bottom:0;font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1.1}.section-heading:after{content:"";background-image:radial-gradient(circle, var(--gold) 3px, transparent 3.5px), linear-gradient(to right, var(--gold), transparent);background-position:0,14px;background-repeat:no-repeat,no-repeat;background-size:8px 8px,calc(100% - 14px) 1px;width:90px;height:8px;margin-top:14px;margin-bottom:18px;display:block}.section-sub{font-family:var(--font-sans);color:var(--text-body);max-width:520px;margin-bottom:48px;font-size:15px;font-weight:400;line-height:1.6}.github-graph-wrap{margin-top:40px;border:1px solid #ffffff38;border-radius:12px;width:fit-content;max-width:100%;margin-inline:auto;padding:24px}.github-calendar{-webkit-overflow-scrolling:touch;width:fit-content;min-width:0;max-width:100%;padding-bottom:12px;overflow-x:auto}.github-body{gap:var(--github-gap,3px);flex-shrink:0;width:max-content;display:flex}.github-day-labels span{width:var(--github-day-width,18px);height:var(--github-cell-size,12px);font-size:10px;line-height:var(--github-cell-size,12px);text-align:right;color:var(--text-muted)}.github-cell{width:var(--github-cell-size,12px);height:var(--github-cell-size,12px);background:#ffffff08;border-radius:2px}.project-list{flex-direction:column;display:flex}.projects-toggle-wrap{justify-content:flex-end;margin-top:8px;display:flex}.projects-toggle{color:var(--text-body);cursor:pointer;font-family:var(--font-sans);background:0 0;border:0;align-items:center;gap:7px;padding:8px 0;font-size:13px;font-weight:600;transition:color .2s,transform .2s;display:inline-flex}.projects-toggle:hover{color:var(--gold);transform:translateY(-1px)}.project-item{border:1px solid #ffffff38;border-radius:12px;grid-template-columns:1fr 340px;align-items:start;gap:48px;margin-bottom:16px;padding:32px;transition:transform .3s,box-shadow .3s,border-color .3s,background .3s;display:grid}.project-item:hover{background:#ffffff06;border-color:#ffffffe6;transform:translateY(-5px);box-shadow:0 12px 32px #0000006b,0 0 18px #ffffff1f,0 0 0 1px #ffffff29}.project-meta{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--text-soft);font-size:11px;font-weight:500}.project-meta-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.project-status-badge{color:var(--text-body);letter-spacing:.12em;text-transform:uppercase;flex:none;align-items:center;gap:7px;font-size:10px;font-weight:500;line-height:1.1;display:inline-flex}.project-status-badge:before{content:"";border:1.5px solid var(--gold);box-sizing:border-box;border-radius:50%;width:6px;height:6px}.project-status-done:before{background:var(--gold)}.project-status-badge--title{display:none}.project-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text);margin-bottom:10px;font-size:24px;font-weight:700;line-height:1.15}.project-title-link{color:inherit;text-decoration:none}.project-item{position:relative}.project-title-link:after{content:"";border-radius:inherit;z-index:1;position:absolute;inset:0}.project-title-link:focus-visible{outline:none}.project-item:has(.project-title-link:focus-visible){outline:2px solid var(--gold);outline-offset:2px}.project-actions{z-index:2;position:relative}.project-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-tags{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.project-tag{font-family:var(--font-sans);color:var(--text-soft);font-size:12px;font-weight:400}.project-tag:not(:last-child):after{content:" ·";color:var(--text-muted)}.project-desc{font-family:var(--font-sans);color:var(--text-soft);max-width:480px;margin-bottom:16px;font-size:14px;font-weight:400;line-height:1.6}.project-link{font-family:var(--font-sans);color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:500;transition:color .15s,opacity .15s;display:inline-flex}.project-link:hover{color:var(--gold)}.project-link-repository{color:var(--text)}.project-img-wrap{aspect-ratio:16/10;width:100%;position:relative}.project-img{object-fit:cover;object-position:center;opacity:.6;filter:saturate(.8);border-radius:8px;transition:opacity .4s,filter .4s}.project-img-contain{object-fit:contain;background:var(--bg)}.project-picture{display:block;position:absolute;inset:0}.project-item:hover .project-img{opacity:1;filter:none}@media (max-width:768px){.project-img{opacity:1}.project-item{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.project-img-wrap{aspect-ratio:2;flex:none;order:-1;width:100%}.project-img,.project-img-contain{object-fit:cover;border-radius:0}.project-content{flex-direction:column;flex:none;width:100%;min-width:0;padding:12px 16px 0;display:flex;overflow:hidden}.project-meta-row{display:none}.project-title-row{flex-shrink:0;align-items:center;gap:10px;margin-bottom:4px}.project-status-badge--title{flex-shrink:0;display:inline-flex}.project-title{white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;margin-bottom:0;overflow:hidden}.project-tags{flex-wrap:nowrap;flex-shrink:0;margin-bottom:6px;overflow:hidden}.project-tags .project-tag{white-space:nowrap;flex-shrink:0}.project-desc{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;height:3.2em;margin-bottom:4px;display:-webkit-box;overflow:hidden}.project-link{flex-shrink:0}.project-num{color:var(--text-muted);font-weight:500}.project-item{transition:background .15s}.project-item:active{background:#ffffff08}}@media (min-width:769px){.project-list{border-top:1px solid #ffffff14}.project-list>*{border-bottom:1px solid #ffffff14;padding-block:6px}.project-item{border-color:#0000;border-radius:14px;margin-bottom:0;padding:28px 20px;transition:background .3s}.project-img-wrap{border-radius:8px;overflow:hidden}.project-img{transition:opacity .4s,filter .4s}.project-title{transition:color .3s}.project-link svg{transition:transform .3s,color .3s}.project-item:hover{background:var(--surface-hover);box-shadow:none;border-color:#0000;transform:none}.project-item:hover .project-title{color:var(--gold)}.project-item:hover .project-link svg{color:var(--gold);transform:translate(3px,-3px)}.project-item{grid-template-columns:1fr 360px;align-items:center}.project-content{flex-direction:column;min-width:0;display:flex}.project-meta-row{order:1;justify-content:flex-start;gap:14px;margin-bottom:8px}.project-title-row{order:2}.project-desc{order:3;margin-bottom:16px}.project-tags{order:4;margin-bottom:18px}.project-actions,.project-link{order:5;margin-top:0}.project-title{margin-bottom:12px}.project-num{color:var(--text-muted);margin-right:3px;font-weight:500;transition:color .3s}.project-year{color:var(--text-muted)}.project-img-wrap:after{content:"";pointer-events:none;border-radius:8px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff14}.project-img{opacity:.9;filter:saturate(.9);transition:opacity .4s,filter .4s,transform .6s}.project-item:hover .project-img{transform:scale(1.02)}}.skills-grid-wrap{position:relative}.skills-grid-wrap:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg));pointer-events:none;z-index:1;height:32px;position:absolute;bottom:0;left:0;right:6px}.skills-grid{scroll-behavior:smooth;grid-template-columns:repeat(6,1fr);gap:14px;max-height:432px;margin-top:40px;padding-top:8px;padding-right:6px;display:grid;overflow-y:auto}.skills-grid::-webkit-scrollbar{display:none}.skills-grid::-webkit-scrollbar-thumb:hover{background:var(--gold-glow)}@supports (scrollbar-width:none){.skills-grid{scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent}}.skill-card{border:1px solid var(--border);background:var(--surface);cursor:default;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:124px;padding:22px 12px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.skill-card:hover{border-color:#f6b46a40;transform:translateY(-4px);box-shadow:0 8px 28px #0000004d,inset 0 0 0 1px #f6b46a14}.skill-logo{width:40px;height:40px;color:var(--text);justify-content:center;align-items:center;transition:color .2s;display:flex}.skill-logo svg{width:100%;height:100%}.skill-card:hover .skill-logo{color:var(--gold)}.skill-name{font-family:var(--font-sans);color:var(--text-body);text-align:center;margin-top:14px;font-size:13px;font-weight:400;line-height:1.3;transition:color .2s}.skill-card:hover .skill-name{color:var(--text)}.stack-showcase{margin-top:40px}.stack-category-tabs{scrollbar-width:none;border-bottom:1px solid #f5f0f02e;justify-content:center;align-items:stretch;display:flex;overflow-x:auto}.stack-category-tabs::-webkit-scrollbar{display:none}.stack-track::-webkit-scrollbar{display:none}.stack-category-tab{color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);white-space:nowrap;background:0 0;border:0;flex:none;align-items:center;gap:9px;padding:0 20px 14px;font-size:13px;font-weight:600;transition:color .2s;display:inline-flex;position:relative}.stack-category-tab:after{content:"";background:var(--gold);opacity:0;height:2px;transition:opacity .2s,transform .2s;position:absolute;bottom:-1px;left:20px;right:20px;transform:scaleX(.35)}.stack-category-tab:hover,.stack-category-tab.active{color:var(--text)}.stack-category-tab.active:after{opacity:1;transform:scaleX(1)}.stack-category-number{color:var(--gold);letter-spacing:.08em;font-size:10px;font-weight:500}.stack-track-wrap{min-width:0;margin-top:20px;position:relative}.stack-carousel{display:block}.stack-arrow{border:1px solid var(--gold);background:var(--gold-dim);width:36px;height:36px;color:var(--gold);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,color .2s,background .2s,opacity .2s;display:inline-flex}.stack-arrow:hover:not(:disabled){border-color:var(--gold);background:var(--gold-dim);color:var(--gold)}.stack-arrow:disabled{cursor:default;opacity:.28}.stack-track{scrollbar-width:none;overscroll-behavior-inline:contain;justify-content:center;gap:12px;width:100%;padding:4px 2px 12px;display:flex;overflow:auto hidden}.stack-track-mobile,.stack-mobile-counter{display:none}.stack-item{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text-body);border-radius:12px;flex:0 0 148px;align-items:center;gap:12px;padding:16px 18px;transition:transform .2s,border-color .2s,color .2s,background .2s;display:inline-flex}.stack-item:hover{background:var(--surface-hover);color:var(--text);border-color:#f6b46a61;transform:translateY(-3px)}.stack-item-logo{color:currentColor;flex:0 0 26px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.stack-item-logo svg{width:100%;height:100%}.stack-item-name{white-space:nowrap;font-size:13px;line-height:1.25}@media (min-width:769px){.stack-item{transition:color .3s,background .3s}.stack-item:hover{border-color:var(--border);background:var(--surface-hover);color:var(--gold);transform:none}}@media (max-width:768px){.stack-category-tabs{scroll-snap-type:x proximity;justify-content:flex-start;padding-right:24px}.stack-category-tab{scroll-snap-align:start}.stack-carousel{display:block}.stack-arrow,.stack-track{display:none}.stack-track-mobile{scroll-snap-type:x proximity;touch-action:pan-x;-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:12px;padding-right:24px;display:flex;overflow:auto hidden}.stack-track-mobile .stack-item{scroll-snap-align:start;flex-basis:calc(44.4444% - 10.6667px);padding:14px 12px}.stack-mobile-counter{color:var(--text-muted);letter-spacing:.08em;text-align:center;margin:2px 0 0;font-size:11px;display:block}}@media (max-width:480px){.stack-category-tabs{justify-content:flex-start;padding-right:24px}.stack-category-tab{flex:0 0 30%;justify-content:center;gap:5px;padding-left:8px;padding-right:8px;font-size:12px}.stack-category-number{font-size:9px}}.blog-list{border-top:1px solid #ffffff14;margin-top:40px}.blog-list>*{border-bottom:1px solid #ffffff14;padding-block:6px}.blog-item{border-radius:14px;grid-template-columns:1fr auto;align-items:start;gap:24px;padding:24px 20px;transition:background .3s;display:grid}.blog-item:hover{background:var(--surface-hover)}.blog-item:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.blog-meta{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-body);margin-bottom:8px;font-size:12px;font-weight:500}.blog-title{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text);margin-bottom:8px;font-size:clamp(18px,2vw,22px);font-weight:700;line-height:1.25;transition:color .3s}.blog-item:hover .blog-title{color:var(--gold)}.blog-excerpt{font-family:var(--font-sans);color:var(--text-body);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:720px;margin-bottom:12px;font-size:15px;font-weight:400;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-tags{margin-bottom:0}.blog-arrow{color:var(--text-body);margin-top:26px;transition:transform .3s,color .3s}.blog-item:hover .blog-arrow{color:var(--gold);transform:translate(3px,-3px)}@media (max-width:768px){.blog-list{margin-top:28px}.blog-list>*{padding-block:0}.blog-item{border-radius:0;gap:12px;padding:22px 4px}.blog-meta{font-size:11px}.blog-title{font-size:17px}.blog-excerpt{-webkit-line-clamp:1;line-clamp:1;font-size:14px}.blog-arrow{margin-top:22px}.blog-item,.blog-title,.blog-arrow{transition:none}.blog-item:hover{background:0 0}.blog-item:hover .blog-title{color:var(--text)}.blog-item:hover .blog-arrow{color:var(--text-body);transform:none}}.exp-list{flex-direction:column;margin-top:40px;display:flex}.exp-card{border-radius:12px;grid-template-columns:72px 1fr;align-items:center;gap:24px;margin-bottom:16px;padding:28px 0;padding-inline:24px;display:grid}.exp-card-logo{background:#ffffff08;border:1px solid #f6b46a1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.exp-card-logo img{object-fit:contain;width:100%;height:100%}.exp-card-body{flex-direction:column;gap:3px;display:flex}.exp-card-role{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--gold);font-size:18px;font-weight:700;line-height:1.2}.exp-card-company{font-family:var(--font-sans);color:var(--text);font-size:15px;font-weight:600}.exp-card-meta{font-family:var(--font-sans);color:var(--text-body);font-size:14px;font-weight:400}.experience-section .exp-list{position:relative}.experience-section .exp-list:before{display:none}.exp-company{max-width:100%}.exp-h-timeline{flex-wrap:wrap;justify-content:center;gap:48px 64px;margin-top:48px;padding-top:20px;display:flex;position:relative}.exp-h-line{background:#ffffff8c;height:2px;position:absolute;top:20px;left:0;right:0}.exp-h-cap{background:var(--gold);border-radius:1px;width:2px;height:14px;position:absolute;top:15px;left:0}.exp-h-arrow{width:12px;height:12px;position:absolute;top:15px;right:0}.exp-h-arrow:before{content:"";border-top:2px solid var(--gold);border-right:2px solid var(--gold);position:absolute;inset:2px 3px 2px 1px;transform:rotate(45deg)}.exp-h-year{text-align:center;letter-spacing:.08em;width:48px;color:var(--gold);margin-left:-24px;font-size:11px;font-weight:600;line-height:14px;position:absolute;top:-6px}.exp-h-year:after{content:"";background:var(--gold);border-radius:1px;width:2px;height:10px;position:absolute;top:22px;left:calc(50% - 1px)}.exp-h-item{flex:0 0 320px;max-width:320px;padding-top:20px;position:relative}.exp-h-dot{background:var(--gold);width:12px;height:12px;box-shadow:0 0 0 3px var(--bg);border-radius:50%;position:absolute;top:-5px;left:calc(50% - 6px)}.exp-h-company{align-items:center;gap:10px;margin-bottom:14px;display:flex}.exp-h-company-logo{background:#ffffff0a;border-radius:6px;flex-shrink:0;width:36px;height:36px;overflow:hidden}.exp-h-company-logo img{object-fit:contain;width:100%;height:100%}.exp-h-company-name{flex-direction:column;gap:1px;display:flex}.exp-h-company-title{color:var(--text);font-size:14px;font-weight:600;line-height:1.2}.exp-h-company-loc{color:var(--text-body);font-size:12px;line-height:1.2}.exp-h-content{flex-direction:column;gap:2px;display:flex}.exp-h-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.exp-h-content h4,.exp-h-header h4{color:var(--text);white-space:nowrap;font-size:17px;line-height:1.2}.exp-h-content p{color:var(--text-body);font-size:14px;line-height:1.4}.exp-li-group{margin-bottom:32px}.exp-li-group:last-child{margin-bottom:0}.exp-li-header{align-items:center;gap:12px;display:flex}.exp-li-logo{background:#ffffff0a;border-radius:7px;flex-shrink:0;width:40px;height:40px;overflow:hidden}.exp-li-logo img{object-fit:contain;width:100%;height:100%}.exp-li-summary{flex-direction:column;gap:1px;display:flex}.exp-li-company{color:var(--text);font-size:15px;font-weight:600;line-height:1.2}.exp-li-loc{color:var(--text-body);font-size:13px;line-height:1.2}.exp-li-roles{margin-top:16px;padding-left:24px;position:relative}.exp-li-line{background:#ffffff8c;width:2px;position:absolute;top:4px;bottom:4px;left:5px}.exp-li-role{padding-bottom:24px;position:relative}.exp-li-role:last-child{padding-bottom:0}.exp-li-dot{background:var(--gold);width:10px;height:10px;box-shadow:0 0 0 3px var(--bg);border-radius:50%;position:absolute;top:-4px;left:-24px}.exp-li-role-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.exp-li-role-header h4{color:var(--text);font-size:16px;font-weight:700;line-height:1.25}.exp-li-meta{color:var(--text-body);margin-top:2px;font-size:13px;line-height:1.4}.exp-details-toggle{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-body);cursor:pointer;border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;margin-top:2px;transition:color .2s,border-color .2s,background .2s,transform .2s;display:inline-flex}.exp-details-toggle:hover,.exp-details-toggle[aria-expanded=true]{border-color:var(--gold);background:var(--gold-dim);color:var(--gold)}.exp-details-toggle[aria-expanded=true]{transform:rotate(0)}.exp-details-drawer{background:#ffffff06;margin:16px 0 0;padding:14px 16px;overflow:hidden}.exp-details-drawer ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.exp-details-drawer li{color:var(--text-body);padding-left:16px;font-size:14px;line-height:1.55;position:relative}.exp-details-drawer li:before{content:"";background:var(--text-muted);border-radius:50%;width:5px;height:5px;position:absolute;top:.65em;left:0}.about-grid{grid-template-columns:.35fr .65fr;align-items:start;gap:64px;display:grid}.about-left{position:sticky;top:100px}.about-right{flex-direction:column;gap:16px;display:flex}.about-p{font-family:var(--font-sans);color:var(--text-body);font-size:15px;font-weight:400;line-height:1.65}.about-subheading{font-family:var(--font-sans);color:var(--text);letter-spacing:-.01em;margin-top:12px;font-size:14px;font-weight:600}.about-list{flex-direction:column;gap:8px;padding-left:0;display:flex}.about-list li{font-family:var(--font-sans);color:var(--text-body);max-width:680px;padding-left:16px;font-size:14px;font-weight:400;line-height:1.6;position:relative}.about-list li:before{content:"—";color:var(--text-muted);position:absolute;left:0}.contact-grid{grid-template-columns:.35fr .65fr;align-items:start;gap:64px;display:grid}.contact-grid-single{grid-template-columns:minmax(0,1fr)}.contact-grid-single .contact-left{text-align:center;max-width:680px;margin-inline:auto}.contact-grid-single .contact-actions{justify-content:center}.contact-left{position:sticky;top:100px}.contact-subtext{font-family:var(--font-sans);color:var(--text-body);font-size:15px;font-weight:400;line-height:1.6}.contact-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.contact-action-link{border:1px solid var(--gold);color:var(--gold);border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;transition:background .2s,color .2s,transform .2s;display:inline-flex}.contact-action-link:not(.contact-action-link-secondary){background:var(--gold);color:var(--bg)}.contact-action-link:hover{color:var(--bg);background:#dc9550;border-color:#dc9550;transform:translateY(-2px)}.contact-action-link-secondary{border-color:var(--line);color:var(--text)}.contact-action-link-secondary:hover{background:var(--surface-hover);border-color:var(--gold);color:var(--gold)}.site-footer{border-top:1px solid var(--border);max-width:1200px;margin:0 auto;padding:18px 24px 24px}.site-footer-quote{color:#ffffffd1;text-align:center;font-size:15px;font-style:italic;line-height:1.5}.site-footer-meta{color:#ffffffad;letter-spacing:.04em;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:16px;font-size:13px;display:grid}.site-footer-meta time{text-align:right}[data-theme=light] .site-footer-quote{color:#1a1a1ad1}[data-theme=light] .site-footer-meta{color:#1a1a1aad}@media (max-width:480px){.site-footer-meta{grid-template-columns:1fr;justify-items:center;gap:8px}.site-footer-meta time{text-align:center}}.cal-booking-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.cal-booking-header{border-bottom:1px solid var(--border);color:var(--gold);justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex}.cal-booking-header h3{color:var(--text);margin-top:5px;font-size:18px;line-height:1.25}.cal-booking-label{color:var(--gold);letter-spacing:.14em;font-size:10px;font-weight:600}.cal-booking-frame{background:var(--bg);border:0;width:100%;height:620px;display:block}.composer{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.composer-header{border-bottom:1px solid var(--border);background:#ffffff04;padding:12px 16px}.composer-to{font-family:var(--font-sans);color:var(--text-body);font-size:13px;font-weight:500}.composer-body{flex-direction:column;display:flex}.composer-subject{font-family:var(--font-sans);color:var(--text);border:none;border-bottom:1px solid var(--border);background:0 0;outline:none;padding:14px 16px;font-size:14px}.composer-subject::placeholder{color:var(--text-muted)}.composer-message{font-family:var(--font-sans);color:var(--text);resize:none;background:0 0;border:none;outline:none;min-height:180px;padding:14px 16px;font-size:14px;line-height:1.7}.composer-message::placeholder{color:var(--text-muted)}.composer-attachments{flex-wrap:wrap;gap:8px;padding:0 16px 12px;display:flex}.composer-attachment-item{border:1px solid var(--border);color:var(--text-body);background:#ffffff0a;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex}.composer-attachment-item button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px;line-height:1}.composer-attachment-item button:hover{color:var(--text)}.composer-footer{border-top:1px solid var(--border);background:#ffffff04;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.composer-attach-btn{font-family:var(--font-sans);color:var(--text-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:13px;transition:color .15s;display:flex}.composer-attach-btn:hover{color:var(--text)}.composer-send{background:var(--gold);color:#08080c;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:150px;padding:9px 20px;font-size:13px;font-weight:600;transition:opacity .15s,transform .2s;display:flex}.composer-send:hover{opacity:.9;transform:translateY(-1px)}.composer-send:disabled{opacity:.35;cursor:not-allowed}.composer-status-slot{min-height:40px}.composer-status{font-family:var(--font-sans);border-top:1px solid var(--border);align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.composer-status.success{color:#9cc59a;background:#9cc59a0f}.composer-status.error{color:#e39a8a;background:#f871710f}.contact-icon-link{border:1px solid var(--border);width:44px;height:44px;color:var(--text-body);background:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.contact-icon-link:hover{color:var(--gold);background:#f6b46a14;border-color:#f6b46a33;transform:translateY(-2px)}.nav-dock-wrapper{z-index:998;pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:24px;left:0;right:0}.nav-dock-pill{pointer-events:auto;-webkit-backdrop-filter:blur(28px)saturate(165%);background:#1818228a;border:1px solid #ffffff57;border-radius:32px;padding:4px 10px;transition:opacity .4s cubic-bezier(.25,1,.5,1),transform .4s cubic-bezier(.25,1,.5,1);box-shadow:0 10px 28px #0000004d,inset 0 0 0 1px #ffffff14,inset 0 1px #ffffff2e}.nav-dock-wrapper.dock-hidden .nav-dock-pill{opacity:0;pointer-events:none;transform:translateY(15px)}.nav-dock-wrapper.dock-visible .nav-dock-pill{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-dock{margin:0 auto;position:relative}.nav-dock-item-wrap{position:relative}.nav-dock-icon{color:#ffffffa6;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:color .2s,background .2s,border-color .2s;display:flex}.nav-dock-icon:hover{color:var(--gold);background:#f6b46a1a}.nav-dock-logo-btn{cursor:default;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.nav-dock-divider{background:#ffffff1a;flex-shrink:0;align-self:center;width:1px;height:28px}.nav-dock-logo-text{font-family:var(--font-sans);color:var(--gold);letter-spacing:-.02em;-webkit-user-select:none;user-select:none;font-size:15px;font-weight:700}.nav-dock-tooltip{font-family:var(--font-sans);color:#ffffffd9;letter-spacing:.03em;white-space:nowrap;pointer-events:none;z-index:1000;background:#08080ce6;border:1px solid #ffffff14;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500;position:absolute;bottom:58px;left:50%;transform:translate(-50%)}@media (max-width:768px){.mobile-title{display:inline!important}.desktop-title{display:none!important}.hero{box-sizing:border-box;--gold:#f6b46a;background:#0c0c0e;flex-direction:column;justify-content:flex-end;align-items:stretch;height:100svh;padding-bottom:90px;display:flex;position:relative;overflow:hidden;container-type:size}.hero-bg{z-index:0;position:absolute;inset:-8% 0 8%;overflow:hidden}.hero-bg img,.hero-bg-img{object-fit:cover;filter:brightness(.91)saturate(.93);object-position:50% 50%!important}.hero-overlay{--hero-feet:calc(42% + .125 * max(100cqh, 100cqw * 1672 / 941));z-index:1;pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg, #0c0c0e00 calc(var(--hero-feet) - 6px), #0c0c0e8c calc(var(--hero-feet) + 40px), #0c0c0ecc calc(var(--hero-feet) + 140px), #0c0c0e 91%)!important;display:block!important}.hero-content{z-index:2;box-sizing:border-box;flex:none;width:100%;max-width:100%;margin:0;padding:0 24px;position:relative}.hero-text{flex-direction:column;gap:10px;display:flex}@media (max-height:740px){.hero-text{gap:8px}.hero-description{font-size:14.5px!important;line-height:1.45!important}}.hero-title{color:var(--gold);margin:0;font-size:clamp(14px,4vw,17px);font-weight:600}.hero-name{white-space:nowrap;letter-spacing:-.035em;color:#fffdf9;margin:0;font-size:min(46px,13.45vw - 6.456px);font-weight:500;line-height:.95}.hero-divider-wrap{margin-top:4px;display:flex!important}.hero-divider-line{background:linear-gradient(90deg,#f6b46a,#f6b46a4d);width:80px}.hero-divider-dot{background:#f6b46a;box-shadow:0 0 8px 2px #f6b46a99}.hero-description{color:#d6d2c9;text-wrap:pretty;max-width:100%;margin:6px 0 0;font-size:15.5px;line-height:1.55}.hero-actions{width:100%}.hero-actions-desktop{display:none}.hero-actions-mobile{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.hero-actions-mobile .hero-btn{letter-spacing:normal;box-shadow:none;border-radius:16px;justify-content:center;padding:15px 0;font-size:15px;font-weight:500;line-height:normal}.hero-actions-mobile .hero-btn-primary,.hero-actions-mobile .hero-btn-primary:hover{color:#141008;box-shadow:none;background:#f6b46a;border:none;transform:none}.hero-actions-mobile .hero-btn-secondary,.hero-actions-mobile .hero-btn-secondary:hover{color:#f4f1ea;background:#1a1a1d;border:1px solid #2a2a2e;transform:none}.nav-logo{font-size:17px;font-weight:600}.nav-menu-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff24;border-radius:50%;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0}.nav-menu-btn span{width:14px;height:1.5px}.nav-menu-btn span:nth-child(2){display:none}.nav-menu-btn[aria-expanded=true] span:first-child{transform:translateY(3.25px)rotate(45deg)!important}.nav-menu-btn[aria-expanded=true] span:last-child{transform:translateY(-3.25px)rotate(-45deg)!important}.hero-socials{display:none!important}}@media (max-width:374px){.container{padding:0 12px}.navbar{padding:0 20px}.mobile-menu{padding:20px 20px 28px}.section{padding:48px 0}.section-heading{font-size:24px}.section-label{letter-spacing:.12em;font-size:9px}.skills-grid{grid-template-columns:repeat(2,1fr);gap:10px;max-height:322px}.skill-card{min-height:90px;padding:14px 10px}.skill-logo{width:28px;height:28px}.skill-name{margin-top:8px;font-size:11px}.skills-grid-wrap:after{height:28px}.project-title{font-size:18px}.project-desc{font-size:12px}.project-content{padding-top:8px}.exp-card{grid-template-columns:48px 1fr;gap:14px;padding:20px 0}.exp-card-logo{border-radius:8px;width:48px;height:48px}.exp-card-role{font-size:14px}.exp-card-company{font-size:12px}.exp-card-meta{font-size:11px}.composer-header{padding:8px 10px}.composer-subject{padding:10px;font-size:12px}.composer-message{min-height:120px;padding:10px;font-size:12px}.composer-footer{padding:8px 10px}.composer-send{min-width:110px;padding:7px 12px;font-size:11px}}@media (min-width:375px) and (max-width:480px){.container{padding:0 16px}.navbar{padding:0 24px}.mobile-menu{padding:24px 24px 32px}.section{padding:60px 0}.section-heading{font-size:28px}.section-label{font-size:10px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:24px}.project-title{font-size:20px}.project-desc{font-size:13px}.project-meta{font-size:11px}.exp-card{grid-template-columns:56px 1fr;gap:16px;padding:22px 0}.exp-card-logo{width:56px;height:56px}.exp-card-role{font-size:15px}.exp-card-company{font-size:13px}.exp-card-meta{font-size:12px}.composer{font-size:13px}.composer-header{padding:10px 12px}.composer-to{font-size:12px}.composer-subject{padding:12px;font-size:13px}.composer-message{min-height:140px;padding:12px;font-size:13px}.composer-footer{flex-wrap:wrap;gap:10px;padding:10px 12px}.composer-attach-btn{font-size:12px}.composer-send{min-width:130px;padding:8px 16px;font-size:12px}.composer-status{padding:8px 12px;font-size:12px}.github-calendar{-webkit-overflow-scrolling:touch;overflow-x:auto}.github-cell{width:10px;height:10px}.github-day-labels span{width:10px;height:10px;font-size:9px;line-height:10px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:10px;max-height:352px}.skill-card{min-height:100px;padding:16px 10px}.skill-logo{width:32px;height:32px}.skill-name{margin-top:10px;font-size:12px}.skills-grid-wrap:after{height:28px}.fab{width:44px;height:44px;bottom:16px;right:16px}}@media (min-width:481px) and (max-width:768px){.container,.navbar{padding:0 24px}.mobile-menu{padding:24px 24px 32px}.section{padding:80px 0}.about-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.exp-card{padding:24px 0}.composer-footer{flex-wrap:wrap;gap:12px}.github-cell{width:11px;height:11px}.github-day-labels span{width:11px;height:11px;font-size:9px;line-height:11px}.skills-grid{grid-template-columns:repeat(4,1fr);gap:12px;max-height:428px}.fab{bottom:20px;right:20px}}@media (min-width:769px) and (max-width:1024px){.container,.navbar{padding:0 32px}.hero{padding-bottom:90px}.hero-content{padding:0 32px}.hero-name{font-size:clamp(40px,5.5vw,56px)}.hero-divider-wrap{margin-top:14px}.hero-divider-line{width:130px}.hero-description{max-width:520px;font-size:15px}.hero-actions{margin-top:22px}.section{padding:100px 0}.about-grid{grid-template-columns:.4fr .6fr;gap:48px}.project-item{gap:32px}.skills-grid{grid-template-columns:repeat(4,1fr);max-height:432px}}@media (min-width:900px){.hero-btn{font-size:13px}.nav-links{display:flex}.nav-menu-btn{display:none}main>.section>.container{max-width:1200px;margin-inline:auto;padding-inline:56px}.site-header.scrolled:before{opacity:0;transform:scaleY(0)}.site-header.scrolled{border-bottom:none}body{font-size:15px}.nav-logo{font-size:17px}.nav-link{font-size:12px}.hero-greeting{font-size:15px}.hero-name{font-size:clamp(34px,4.8vw,50px)}.hero-title{font-size:18px}.hero-description{font-size:15px}.section-heading{font-size:clamp(30px,3.5vw,42px)}.section-sub{font-size:14px}.project-title{font-size:22px}.project-desc{font-size:13px}.exp-card-role{font-size:17px}.exp-card-company,.exp-card-meta,.about-p,.contact-subtext{font-size:14px}.about-subheading,.about-list li{font-size:13px}.skill-name{font-size:12px}.composer-subject,.composer-message{font-size:13px}.composer-attach-btn,.composer-send{font-size:12px}}@media (min-width:1025px){.hero-bg img.hero-bg-img{z-index:1;object-fit:cover;object-position:center center}.site-header.hero-passed:before{height:var(--nav-h);background:var(--bg);opacity:1;inset:0 0 auto;transform:none}}@media (max-width:899px){.nav-links{display:none}.nav-menu-btn{display:flex}}html,body{max-width:100vw;overflow-x:hidden}@media (hover:none) and (pointer:coarse){.nav-link,.mobile-link,.project-link,.project-text-link,.fab,.composer-attach-btn,.composer-send{min-width:44px;min-height:44px}.project-item:hover{box-shadow:none;background:0 0;border-color:#ffffff38;transform:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-bg{animation:none}}.github-graph-wrap{margin-top:40px}.github-graph-header{align-items:center;margin-bottom:8px;display:flex}.github-contrib-count{font-family:var(--font-sans);color:var(--text-soft);font-size:13px;font-weight:500}.github-legend{color:var(--text-body);align-items:center;gap:3px;margin-top:18px;font-size:11px;display:flex}.github-legend-cell{border-radius:2px;width:10px;height:10px;display:inline-block}.github-legend-cell.lvl-0{background:#ffffff08}.github-legend-cell.lvl-1{background:#f6b46a33}.github-legend-cell.lvl-2{background:#f6b46a6b}.github-legend-cell.lvl-3{background:#f6b46aad}.github-legend-cell.lvl-4{background:#f6b46aeb}.github-scroll-inner{flex-direction:column;width:max-content;display:flex}.github-months{flex-shrink:0;align-items:center;height:16px;margin-bottom:4px;display:grid}.github-month{color:var(--text-body);white-space:nowrap;font-size:10px}.github-body{flex-shrink:0;align-items:flex-start;display:flex}.github-day-labels{gap:var(--github-gap,3px);flex-direction:column;flex-shrink:0;padding-right:4px;display:flex}.github-day-labels span{height:var(--github-cell-size,12px);line-height:var(--github-cell-size,12px);text-align:right;color:var(--text-body);font-size:9px;display:block}.github-columns{gap:var(--github-gap,3px);flex-shrink:0;display:flex}.github-week-col{gap:var(--github-gap,3px);flex-direction:column;flex-shrink:0;display:flex}.github-cell{width:var(--github-cell-size,12px);height:var(--github-cell-size,12px);background:#ffffff08;border-radius:2px;flex-shrink:0}.github-cell.lvl-1{background:#f6b46a47}.github-cell.lvl-2{background:#f6b46a80}.github-cell.lvl-3{background:#f6b46ac2}.github-cell.lvl-4{background:#f6b46a}[data-theme=light]{--bg:#f5f1e8;--surface:#1a1a1a08;--surface-hover:#1a1a1a0d;--border:#1a1a1a1a;--text:#1a1a1a;--text-body:#5c574f;--text-muted:#9a948a;--text-soft:#3d3934;--line:#1a1a1a38;--gold:#a86f2c;--gold-dim:#a86f2c1f;--gold-glow:#a86f2c40}[data-theme=light] ::-webkit-scrollbar-thumb{background:#a86f2c4d}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#a86f2c80}@supports not selector(::-webkit-scrollbar){html[data-theme=light]{scrollbar-color:#a86f2c4d transparent}}[data-theme=light] .site-header:before{background:#efe9dc}[data-theme=light] .site-header.scrolled{border-bottom-color:#a86f2c26}[data-theme=light] .navbar:before{background:#efe9dc;border:1px solid #1a1a1a1a;box-shadow:0 4px 24px #00000014,inset 0 0 0 1px #1a1a1a08}[data-theme=light] .nav-menu-btn span{background:#fff}[data-theme=light] .mobile-menu{background:#f5f1e8f7}[data-theme=light] .nav-logo,[data-theme=light] .nav-link{color:#fff}[data-theme=light] .site-header.scrolled .nav-logo,[data-theme=light] .site-header.scrolled .nav-link{color:#1a1a1a}[data-theme=light] .site-header:has(.mobile-menu.open) .nav-logo{color:#1a1a1a}[data-theme=light] .site-header:has(.mobile-menu.open) .nav-link{color:#1a1a1a}[data-theme=light] .site-header.scrolled .nav-menu-btn span{background:#1a1a1a}[data-theme=light] .site-header:has(.mobile-menu.open) .nav-menu-btn span{background:#1a1a1a}[data-theme=light] .section-heading{color:#1a1a1a}[data-theme=light] .skill-card:hover{border-color:#a86f2c4d;box-shadow:0 8px 28px #00000014,inset 0 0 0 1px #a86f2c0f}[data-theme=light] .skill-logo{color:#1a1a1a}[data-theme=light] .skill-card:hover .skill-logo{color:var(--gold)}[data-theme=light] .skill-card:hover .skill-name{color:#1a1a1a}[data-theme=light] .skills-grid::-webkit-scrollbar-thumb{background:#a86f2c33}[data-theme=light] .skills-grid::-webkit-scrollbar-thumb:hover{background:#a86f2c59}@supports (scrollbar-width:thin){[data-theme=light] .skills-grid{scrollbar-color:#a86f2c33 transparent}}[data-theme=light] .skills-grid-wrap:after{background:linear-gradient(#0000,#f5f1e8)}[data-theme=light] .github-cell{background:#1a1a1a0a}[data-theme=light] .github-cell.lvl-1{background:#a86f2c33}[data-theme=light] .github-cell.lvl-2{background:#a86f2c6b}[data-theme=light] .github-cell.lvl-3{background:#a86f2cad}[data-theme=light] .github-cell.lvl-4{background:#a86f2ceb}[data-theme=light] .github-legend-cell.lvl-0{background:#1a1a1a0a}[data-theme=light] .github-legend-cell.lvl-1{background:#a86f2c33}[data-theme=light] .github-legend-cell.lvl-2{background:#a86f2c6b}[data-theme=light] .github-legend-cell.lvl-3{background:#a86f2cad}[data-theme=light] .github-legend-cell.lvl-4{background:#a86f2ceb}[data-theme=light] .project-item:hover{box-shadow:0 8px 32px #0000001f,0 0 0 1px #1a1a1a1f}[data-theme=light] .project-title{color:#1a1a1a}@media (min-width:769px){[data-theme=light] .project-item:hover{box-shadow:none;background:#1a1a1a08}[data-theme=light] .project-item:hover .project-title{color:var(--gold)}}[data-theme=light] .blog-list,[data-theme=light] .blog-list>*,[data-theme=light] .project-list,[data-theme=light] .project-list>*{border-color:#1a1a1a1a}@media (min-width:769px){[data-theme=light] .blog-item:hover{background:#1a1a1a08}}[data-theme=light] .blog-title{color:#1a1a1a}[data-theme=light] .exp-card-logo{background:#1a1a1a0a;border:1px solid #a86f2c26}[data-theme=light] .about-subheading{color:#1a1a1a}[data-theme=light] .composer-header{background:#1a1a1a05}[data-theme=light] .composer-subject,[data-theme=light] .composer-message{color:#1a1a1a}[data-theme=light] .composer-attachment-item{background:#1a1a1a0d}[data-theme=light] .composer-attachment-item button:hover{color:#1a1a1a}[data-theme=light] .composer-footer{background:#1a1a1a05}[data-theme=light] .composer-attach-btn:hover{color:#1a1a1a}[data-theme=light] .composer-send{color:#fff}[data-theme=light] .contact-icon-link{background:#1a1a1a0d}[data-theme=light] .contact-icon-link:hover{background:#a86f2c14;border-color:#a86f2c33}[data-theme=light] .nav-dock-pill{-webkit-backdrop-filter:blur(28px)saturate(140%);background:#efe9dc94;border:1px solid #1a1a1a33;box-shadow:0 10px 28px #00000029,inset 0 0 0 1px #ffffff6b,inset 0 1px #fff9}[data-theme=light] .nav-dock-icon{color:#1a1a1aa6}[data-theme=light] .nav-dock-icon:hover{background:#a86f2c1a}[data-theme=light] .nav-dock-divider{background:#1a1a1a1f}[data-theme=light] .nav-dock-tooltip{color:#1a1a1ad9;background:#efe9dcf2;border:1px solid #1a1a1a1a}@media (max-width:768px){[data-theme=light] .hero-overlay{background:0 0!important}[data-theme=light] .hero-name{color:#1a1a1a}[data-theme=light] .hero-divider-dot{background:#a86f2c;box-shadow:0 0 8px 2px #a86f2c80}[data-theme=light] .hero-divider-line{background:linear-gradient(90deg,#a86f2c,#a86f2c4d)}[data-theme=light] .hero-title{color:#a86f2c}[data-theme=light] .hero-description{color:#1a1a1abf}[data-theme=light] .hero-name,[data-theme=light] .hero-description{text-shadow:0 1px 8px #f5f1e8d9,0 1px 3px #f5f1e899}[data-theme=light] .hero-greeting{text-shadow:0 1px 6px #f5f1e8cc}}@media (min-width:769px){.project-tags.project-tags--mobile,.project-desc.project-desc--mobile{display:none}}@media (max-width:769px){.project-tags.project-tags--desktop,.project-desc.project-desc--desktop{display:none}}:root:not([data-theme=light]){--bg:#101014;--surface:#ffffff08;--border:#ffffff1f;--text:#ebe6dd;--text-body:#b5afa5;--text-muted:#827c73}:root:not([data-theme=light]) .site-header:before{background:var(--bg)}:root:not([data-theme=light]) .mobile-menu{background:#101014f7}:root:not([data-theme=light]) .project-list,:root:not([data-theme=light]) .blog-list{border-top-color:#ffffff1f}:root:not([data-theme=light]) .project-list>*,:root:not([data-theme=light]) .blog-list>*{border-bottom-color:#ffffff1f}@media (min-width:769px){:root:not([data-theme=light]) .hero-overlay{background:linear-gradient(#0000 35%,#1010140d 50%,#10101440 70%,#10101499 85%,#101014 100%)}.project-desc{max-width:540px;font-size:15px;line-height:1.65}.exp-h-content p{font-size:15px;line-height:1.5}.about-p{max-width:68ch;font-size:15px;line-height:1.7}.about-list li{max-width:68ch;font-size:15px;line-height:1.65}.about-subheading{font-size:15px}}@media (max-width:768px){:root:not([data-theme=light]) .hero{background:var(--bg)}:root:not([data-theme=light]) .hero-overlay{background:linear-gradient(180deg, #10101400 calc(var(--hero-feet) - 6px), #1010148c calc(var(--hero-feet) + 40px), #101014cc calc(var(--hero-feet) + 140px), #101014 91%)!important}.project-desc,.exp-li-meta{font-size:14px}.about-p,.about-list li{font-size:15px;line-height:1.7}}:root:not([data-theme=light]) .nav-dock-pill{-webkit-backdrop-filter:blur(24px)saturate(140%);background:#121216ed;border:1px solid #ffffff24;box-shadow:0 12px 32px #00000073,inset 0 1px #ffffff0f}.about-link{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px;transition:color .15s}.about-link:hover{color:var(--gold)}.about-list li strong{color:var(--text);font-weight:600}@media (min-width:1025px){.section{padding:70px 0}:root:not([data-theme=light]) .hero-overlay{background:0 0}.nav-dock-icon:focus-visible{outline:2px solid var(--gold);outline-offset:2px}}[data-theme=light]{--bg:#fff;--text:#000;--text-body:#000;--text-muted:#000;--text-soft:#000;--accent-primary:#2591e8;--accent-warm:#2591e8;--surface:#24364a09;--surface-hover:#24364a11;--border:#24364a38;--line:#24364a4d;--gold:var(--accent-primary);--gold-dim:#2591e81a;--gold-glow:#2591e833}[data-theme=light] .section-heading,[data-theme=light] .project-title,[data-theme=light] .blog-title,[data-theme=light] .about-subheading,[data-theme=light] .site-header.scrolled .nav-logo,[data-theme=light] .site-header.scrolled .nav-link,[data-theme=light] .section-label{color:var(--text)}[data-theme=light] .project-status-badge:before{border-color:var(--accent-warm)}[data-theme=light] .project-status-done:before{background:var(--accent-warm)}[data-theme=light] .project-item:hover,[data-theme=light] .blog-item:hover{background:var(--surface-hover)}[data-theme=light] .project-item:hover .project-title,[data-theme=light] .blog-item:hover .blog-title,[data-theme=light] .nav-dock-icon:hover,[data-theme=light] .site-header.scrolled .nav-link:hover,[data-theme=light] .site-header.scrolled .nav-link.active{color:var(--text)}[data-theme=light] .project-list,[data-theme=light] .project-list>*,[data-theme=light] .blog-list,[data-theme=light] .blog-list>*,[data-theme=light] .stack-category-tabs{border-color:var(--line)}[data-theme=light] .project-list,[data-theme=light] .project-list>*{border-color:#24364a61}[data-theme=light] .stack-item:hover,[data-theme=light] .github-graph-wrap{border-color:var(--border)}[data-theme=light] .github-cell,[data-theme=light] .github-legend-cell.lvl-0{background:var(--surface)}[data-theme=light] .github-cell.lvl-1,[data-theme=light] .github-legend-cell.lvl-1{background:#2591e833}[data-theme=light] .github-cell.lvl-2,[data-theme=light] .github-legend-cell.lvl-2{background:#2591e86b}[data-theme=light] .github-cell.lvl-3,[data-theme=light] .github-legend-cell.lvl-3{background:#2591e8ad}[data-theme=light] .github-cell.lvl-4,[data-theme=light] .github-legend-cell.lvl-4{background:var(--gold)}[data-theme=light] .exp-h-line{background:var(--line)}[data-theme=light] .exp-h-company-logo,[data-theme=light] .exp-details-drawer{background:var(--surface)}[data-theme=light] .contact-action-link:not(.contact-action-link-secondary):hover{background:var(--gold);border-color:var(--gold);color:var(--text)}[data-theme=light] .nav-dock-pill{border-color:var(--border);background:#ffffffed}[data-theme=light] .nav-dock-icon{color:var(--text-body)}[data-theme=light] .nav-dock-icon:hover{background:var(--gold-dim)}[data-theme=light] .nav-dock-divider{background:var(--line)}[data-theme=light] .site-footer-quote{color:var(--text-soft)}[data-theme=light] .site-footer-meta{color:var(--text-body)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--gold-glow)}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:var(--gold)}@supports not selector(::-webkit-scrollbar){html[data-theme=light]{scrollbar-color:var(--gold-glow) transparent}}[data-theme=light] .hero-picture{display:none}[data-theme=light] .hero-light-bg{background:url(/light-Mode.png) 50%/cover no-repeat;display:block;position:absolute;inset:0}[data-theme=light] .hero-overlay{background:0 0}[data-theme=light] .hero-name,[data-theme=light] .nav-logo,[data-theme=light] .nav-link,[data-theme=light] .nav-link.active,[data-theme=light] .nav-link:hover{color:var(--text)}[data-theme=light] .hero-description{color:var(--text);font-weight:400}[data-theme=light] .hero-title{color:var(--text);font-weight:600}[data-theme=light] .hero-btn-primary{background:var(--accent-primary);color:var(--text);box-shadow:0 4px 20px var(--gold-glow)}[data-theme=light] .hero-btn-primary:hover{color:var(--text);box-shadow:0 6px 28px var(--gold-glow);background:#4bacfa}[data-theme=light] .hero-btn-secondary{background:var(--bg);color:var(--text);border-color:var(--accent-primary)}[data-theme=light] .hero-btn-secondary:hover{color:var(--text);border-color:var(--accent-primary);background:#e9f4fd}[data-theme=light] .hero-social-icon,[data-theme=light] .hero-social-icon:hover{color:#fff;border-color:#fff}[data-theme=light] .hero-scroll-pill{border-color:var(--gold);color:var(--gold)}[data-theme=light] .hero-divider-dot,[data-theme=light] .hero-scroll-dot{background:var(--gold);box-shadow:none}[data-theme=light] .hero-divider-line{background:linear-gradient(to right, var(--gold), transparent)}[data-theme=light] .site-header.hero-passed:before{background:var(--bg)}[data-theme=light] .nav-dock-icon:focus-visible{outline:2px solid var(--gold);outline-offset:2px}[data-theme=light] .stack-category-number,[data-theme=light] .exp-h-year,[data-theme=light] .project-link,[data-theme=light] .project-link:hover,[data-theme=light] .stack-item:hover,[data-theme=light] .about-link:hover,[data-theme=light] .project-text-link:hover,[data-theme=light] .contact-action-link,[data-theme=light] .contact-action-link:hover,[data-theme=light] .skill-logo,[data-theme=light] .skill-card:hover .skill-logo,[data-theme=light] .skill-card:hover .skill-name{color:var(--text)}[data-theme=light] .project-link-sep{opacity:1}[data-theme=light] .hero,[data-theme=light] .site-header:before,[data-theme=light] .navbar:before,[data-theme=light] .mobile-menu{background:var(--bg)}[data-theme=light] .navbar:before{border-color:var(--border)}[data-theme=light] .site-header.scrolled{border-bottom-color:var(--border)}:is([data-theme=light] .site-header:has(.mobile-menu.open) .nav-logo,[data-theme=light] .site-header:has(.mobile-menu.open) .nav-link){color:var(--text)}[data-theme=light] .nav-menu-btn span,[data-theme=light] .site-header.scrolled .nav-menu-btn span{background:var(--text)}[data-theme=light] .site-header:has(.mobile-menu.open) .nav-menu-btn span{background:var(--text)}[data-theme=light] .exp-li-line{background:var(--line)}[data-theme=light] .exp-li-logo{background:var(--surface)}[data-theme=light] .section-label,[data-theme=light] .project-item:hover .project-title,[data-theme=light] .blog-item:hover .blog-title,[data-theme=light] .stack-item:hover,[data-theme=light] .stack-category-number,[data-theme=light] .exp-h-year,[data-theme=light] .project-link:hover,[data-theme=light] .about-link:hover,[data-theme=light] .project-text-link:hover,[data-theme=light] .contact-action-link-secondary:hover,[data-theme=light] .skill-card:hover .skill-logo,[data-theme=light] .nav-logo:hover,[data-theme=light] .nav-link:hover,[data-theme=light] .nav-link.active,[data-theme=light] .site-header.scrolled .nav-logo:hover,[data-theme=light] .site-header.scrolled .nav-link:hover,[data-theme=light] .site-header.scrolled .nav-link.active,[data-theme=light] .nav-dock-icon:hover{color:var(--accent-primary)}[data-theme=light] .hero-overlay,:root:not([data-theme=light]) .hero-overlay{pointer-events:none;background:linear-gradient(90deg,#081424d1 0%,#081424bd 22%,#0814248f 38%,#0814242e 48%,#0000 60%);-webkit-mask-image:linear-gradient(#0000 0%,#00000040 35%,#000 65%);mask-image:linear-gradient(#0000 0%,#00000040 35%,#000 65%)}[data-theme=light] .hero-name,:root:not([data-theme=light]) .hero-name{color:#fff}[data-theme=light] .hero-title,:root:not([data-theme=light]) .hero-title{color:var(--gold)}[data-theme=light] .hero-description,:root:not([data-theme=light]) .hero-description{color:#f6f3ed}[data-theme=light] .hero-btn-secondary{color:#fff;background:0 0;border-color:#fff}[data-theme=light] .hero-btn-secondary:hover{color:#fff;background:#2591e814;border-color:#fff}[data-theme=light] .hero-social-icon{color:#fff;border-color:#fff6}[data-theme=light] .hero-social-icon:hover{color:#fff;background:#ffffff1a;border-color:#fff}@media (min-width:769px) and (max-width:1024px){[data-theme=light] .hero-light-bg{background-image:url(/light-mode-tablet.png)}[data-theme=light] .hero-overlay,:root:not([data-theme=light]) .hero-overlay{background:linear-gradient(90deg,#081424d1 0,#081424bd 220px,#0814248f 500px,#0814242e 640px,#0000 760px)}}@media (max-width:768px){[data-theme=light] .hero-light-bg{background-image:url(/mob.png)}[data-theme=light] .hero-bg,:root:not([data-theme=light]) .hero-bg{inset:0}[data-theme=light] .project-item{border-color:#24364a61}[data-theme=light] .project-item:hover{border-color:#24364a8c}.project-item:hover .project-title,.project-item:hover .project-link svg,.blog-item:hover .blog-title,.blog-item:hover .blog-arrow,.stack-item:hover{color:var(--gold)}[data-theme=light] .hero{--gold:var(--accent-primary)}[data-theme=light] .hero-name,[data-theme=light] .hero-description{text-shadow:none}[data-theme=light] .hero-actions-mobile .hero-btn-primary,[data-theme=light] .hero-actions-mobile .hero-btn-primary:hover{background:var(--accent-primary);color:var(--text);box-shadow:none}[data-theme=light] .hero-actions-mobile .hero-btn-secondary,[data-theme=light] .hero-actions-mobile .hero-btn-secondary:hover{color:#fff;background:0 0;border-color:#fff}[data-theme=light] .hero-actions-mobile .hero-btn-secondary:hover{background:#2591e814}:root:not([data-theme=light]) .hero-actions-mobile .hero-btn-secondary,:root:not([data-theme=light]) .hero-actions-mobile .hero-btn-secondary:hover{color:var(--gold);background:0 0;border-color:#f6b46a80}:root:not([data-theme=light]) .hero-actions-mobile .hero-btn-secondary:hover{border-color:var(--gold);background:#f6b46a14}[data-theme=light] .hero-overlay,:root:not([data-theme=light]) .hero-overlay{pointer-events:none;-webkit-mask-image:none;mask-image:none;background:linear-gradient(#08142400 calc(100% - 440px),#0814248c calc(100% - 340px),#081424d1 calc(100% - 240px),#081424eb calc(100% - 100px),#081424f5 100%)!important}:root:not([data-theme=light]) .hero-overlay{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 0%, transparent) calc(100% - 440px), color-mix(in srgb, var(--bg) 55%, transparent) calc(100% - 340px), color-mix(in srgb, var(--bg) 82%, transparent) calc(100% - 240px), color-mix(in srgb, var(--bg) 92%, transparent) calc(100% - 100px), var(--bg) 100%)!important}}.project-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;margin-top:4px;display:flex}.project-text-link{color:var(--text-muted);font-family:var(--font-sans);white-space:nowrap;align-items:center;gap:3px;font-size:12px;font-weight:500;transition:color .2s;display:inline-flex}.project-text-link--repo{gap:2px}.project-text-link svg:last-child{transition:transform .2s}.project-text-link:hover{color:var(--gold)}.project-text-link:hover svg:last-child{transform:translate(2px,-2px)}.project-link-sep{color:var(--text-muted);opacity:.6;-webkit-user-select:none;user-select:none;font-size:12px}@media (max-width:768px){.project-actions{margin-top:8px;margin-bottom:16px}.project-text-link{min-height:40px}}
