@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-400.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-500.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-600.ttf) format("truetype")}:root{color-scheme:dark;font-family:DM Sans,Arial,sans-serif;font-synthesis:none;color:#f1f1ef;background:#030303;--panel: #121212;--muted: #a1a19f;--line: #292929;--surface: #161615;--border: #383833;--gray-0: #f1f1ef;--gray-200: #b8b8b1;--gray-900: #1b1b19;--accent-regular: #c5d4b4;--link-color: #c5d4b4;--radius: 13px;--text-sm: .875rem;--shadow-lg: 0 20px 90px #0008}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #c5d4b4;outline-offset:4px}svg{display:block}img{max-width:100%;height:auto}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:24px;z-index:30;padding:12px 18px;background:#eee;color:#111;border-radius:8px}.skip-link:focus{top:12px}.stage{height:100dvh;width:100%;max-width:1920px;margin-inline:auto}.portfolio{width:100%;height:100%;padding:12px;display:grid;grid-template-columns:330px minmax(0,1fr);gap:12px;background:#030303;overflow:hidden}.profile{min-height:0;display:grid;grid-template-rows:minmax(120px,480px) auto;align-content:start;gap:12px}.portrait{position:relative;overflow:hidden;border-radius:25px;background:#c7c8c9;min-height:0}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 25%}.portrait-label{display:inline-flex;align-items:center;gap:8px;position:absolute;bottom:16px;left:16px;background:#171917e6;border:1px solid #ffffff25;font-size:11px;padding:8px 11px;border-radius:30px}.availability-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#22c55e}@media(prefers-reduced-motion:no-preference)and (forced-colors:none){.availability-dot{animation:availability-pulse 1.8s ease-in-out infinite}}@keyframes availability-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.profile-info{border-radius:25px;background:var(--panel);padding:22px 24px 17px;display:flex;flex-direction:column;min-width:0}.eyebrow{font-size:10px;letter-spacing:1.4px;color:#a1a19b;font-weight:500}h1{font-size:32px;letter-spacing:-1.2px;line-height:1.06;margin:11px 0 9px;font-weight:500}.name-dot{color:#aaa}.role{font-size:14px;color:#c9c9c7;margin:0;line-height:1.6}.profile-note{font-size:13px;line-height:1.6;color:var(--muted);margin:13px 0 15px}.details{margin:0 0 4px;display:grid;gap:8px;font-size:11px}.details>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.details dt{color:#b5b5b2}.details dd{margin:0;color:#b2b2ac;text-align:right}.details a{display:block;padding:10px 0;overflow-wrap:anywhere;line-height:1.5}.details a:hover{color:#fff;text-decoration:underline}.socials{display:flex;align-items:center;gap:2px;color:#b1b1ae;margin:0 0 8px -10px}.socials a{display:grid;place-items:center;width:44px;height:44px}.socials a:hover{color:#fff}.socials>span{font-size:9px;letter-spacing:1.2px;color:#a1a19b;margin-left:8px}.profile-actions{margin-top:auto;display:grid;gap:8px;padding-top:5px}.button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-radius:50px;font-size:12px;min-height:44px}.button.resume{border:1px solid #777773;background:none}.button.resume:hover{background:#282828}.resume-sample{color:#b8c7aa;font-size:10px;margin-left:auto}.button.contact{background:#e8e8e2;color:#141414;font-weight:500}.button.contact:hover{background:#fff}.reply-note{font-size:10px;color:#a1a19b;text-align:center;padding-top:2px}.content{min-width:0;min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#444 transparent;border-radius:25px}.section-nav{height:56px;display:flex;align-items:center;gap:27px;padding:0 30px;position:sticky;top:0;z-index:5;background:#121212fa;border-bottom:1px solid #262626;border-radius:25px 25px 0 0}.section-nav a{font-size:12px;color:#a1a19b;position:relative;display:flex;align-items:center;height:100%;min-height:44px}.section-nav a:hover,.section-nav a[aria-current]{color:#eee}.section-nav a[aria-current]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#d5d5cf}.nav-decoration{font-size:10px;letter-spacing:1.3px;color:#a1a19b;margin-left:auto;white-space:nowrap}.panel{background:var(--panel);padding:32px 30px;margin-bottom:12px;border-radius:25px;scroll-margin-top:68px}.panel.about{border-radius:0 0 25px 25px;padding-top:26px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading h2{font-size:21px;letter-spacing:-.6px;font-weight:500;line-height:1.3;margin:0}.small-symbol{font-size:23px;color:#c4c4be;line-height:1}.about h2{font-size:clamp(28px,2.65vw,39px);letter-spacing:-1.4px;line-height:1.2;font-weight:500;margin:25px 0 21px}.about h2>span{color:#979791}.summary p{font-size:14px;line-height:1.85;color:#b2b2ac;margin:0 0 12px}.about-bottom{border-top:1px solid #292926;padding-top:12px;margin-top:24px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:#a1a19b}.about-bottom a{color:#d0d0c9;display:flex;gap:14px;align-items:center;min-height:44px}.experience-empty{font-size:14px;line-height:1.8;color:var(--muted);margin:28px 0 4px}.timeline{margin-top:30px}.job{display:flex;gap:17px;padding-bottom:29px}.job:last-child{padding-bottom:0}.company-icon{flex:0 0 37px;height:37px;border-radius:10px;background:#232321;overflow:hidden}.company-icon img{display:block;width:100%;height:100%;object-fit:contain}.job-body{flex:1;min-width:0}.job-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.job h3{font-weight:400;font-size:14px;color:#aaa;margin:0}.date{font-size:12px;color:var(--muted)}.job h4{font-size:15px;font-weight:500;margin:5px 0 9px}.job p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}.job .job-meta{font-size:12px;margin-bottom:12px}.job-highlights{margin:0;padding:0;list-style:none;color:var(--muted);font-size:14px;line-height:1.85}.job-highlights li{position:relative;padding-inline-start:20px}.job-highlights li:before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.925em;width:8px;border-top:2px solid var(--accent-regular);border-radius:999px;transform:translateY(-50%)}.job-highlights li+li{margin-top:10px}.section-intro{font-size:13px;line-height:1.7;color:var(--muted);margin:10px 0 24px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 17px}.projects .card .details{display:grid;gap:10px;font-size:inherit;padding:16px 0 0}.projects .card .title{font-size:16px;line-height:1.4;margin:0}.projects .card .title a{display:inline-flex;align-items:center;min-height:44px;padding:0}.projects .badges{margin:0;gap:5px}.projects .badges li{font-size:10px;padding:4px 7px;border-radius:4px;background:transparent}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool{display:flex;flex-direction:column;gap:16px;background:#1b1b19;border:1px solid #ffffff09;border-radius:12px;padding:16px 13px;min-height:133px;min-width:0}.tool-icon{width:33px;height:33px;display:grid;place-items:center;filter:grayscale(1);opacity:.85}.tool-icon svg{width:28px;height:28px}.tool h3{font-size:15px;font-weight:500;line-height:1.5;margin:0 0 5px;overflow-wrap:anywhere}.tool p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.tool-technologies{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;list-style:none;margin:0;padding:0}.tool-technologies li{max-width:100%;padding:5px 7px;border:1px solid #393934;border-radius:5px;font-size:11px;line-height:1.5;color:#c5c5bd;overflow-wrap:anywhere}.content footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 16px 15px;color:var(--muted);font-size:11px}.content footer a{min-height:44px;display:flex;align-items:center}.mobile-contact{display:none}#contact-dialog{width:min(500px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:#161615;color:#eee;border:1px solid #383833;border-radius:24px;padding:32px;box-shadow:var(--shadow-lg)}dialog::backdrop{background:#000b}#contact-dialog h2{font-size:27px;font-weight:500;letter-spacing:-1px;margin:24px 0 12px}#contact-dialog>p{font-size:14px;line-height:1.8;color:#b2b2a8;margin-bottom:25px}.close-dialog{position:absolute;right:8px;top:8px;padding:0;background:transparent;color:#bbb;font-size:28px;width:44px;height:44px}#contact-form{display:grid;gap:15px}#contact-form label{display:grid;gap:8px;font-size:13px;color:#c7c7bb}input,textarea{width:100%;min-width:0;padding:12px;background:#22221f;color:#eee;border:1px solid #66665b;border-radius:8px;font-size:16px;resize:vertical}#contact-form small{font-size:12px;line-height:1.6;color:#b2b2a8;overflow-wrap:anywhere}.contact-status{font-size:13px;line-height:1.6;margin:0;color:#c5d4b4}.contact-status:empty{display:none}.not-found{width:min(500px,calc(100% - 40px));margin:10vh auto;padding:30px;background:var(--panel);border-radius:25px}.not-found p{line-height:1.8;color:var(--muted)}@media(max-width:1024px){.portfolio{padding:8px;display:block;overflow:auto;scroll-behavior:smooth;position:relative;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px));scrollbar-width:thin;scrollbar-color:#444 transparent}.profile{display:block}.portrait{height:clamp(300px,75vw,600px);border-radius:18px}.profile-info{border-radius:18px;margin-top:8px;padding:24px}h1{font-size:34px}.profile-note{font-size:14px;margin-bottom:18px}.details{font-size:12px}.details>div{grid-template-columns:1fr;gap:0}.details dd{text-align:left}.socials{margin-bottom:14px}.button{font-size:13px;min-height:46px}.reply-note{font-size:11px}.content{display:contents;overflow:visible;height:auto}.section-nav{top:-8px;border-radius:0;gap:0;justify-content:space-between;height:56px;margin-top:8px;padding:0 16px}.section-nav a{font-size:12px;padding:0 4px}.nav-decoration{display:none}.panel{margin-bottom:8px;border-radius:18px;padding:28px 23px;scroll-margin-top:60px}.panel.about{padding-top:24px;border-radius:0 0 18px 18px}.about h2{font-size:28px;letter-spacing:-1.1px;margin:24px 0 20px}.about-bottom{align-items:flex-start;gap:15px;font-size:11px}.about-bottom>span{max-width:145px;line-height:1.6;padding-top:5px}.about-bottom a{gap:6px}.section-heading{flex-wrap:wrap;gap:9px}.section-heading h2{font-size:20px}.section-heading>.eyebrow{font-size:9px;letter-spacing:1px}.project-grid{grid-template-columns:1fr;gap:28px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tool{min-height:135px;padding:17px 14px}.content footer{padding:12px 13px 8px;line-height:1.7;font-size:10px}.mobile-contact{display:flex;position:fixed;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:16px;right:16px;z-index:10;border:1px solid #55554b;border-radius:14px;padding:8px 10px;align-items:center;justify-content:space-between;gap:8px;background:#1c1c19fa;box-shadow:0 5px 24px #0005}.mobile-contact>span{font-size:11px;color:#bbbbae}.mobile-contact>button{min-height:44px;padding:10px 12px;background:#e7e7dd;color:#1a1a16;border-radius:7px;font-size:12px}#contact-dialog{padding:27px 23px}}@media(max-width:760px){.tool-grid{grid-template-columns:1fr}}@media(min-width:1025px)and (max-height:700px){.profile-info{padding:14px 20px}.profile-note{display:none}h1{font-size:28px;margin:7px 0}.profile{grid-template-rows:minmax(60px,1fr) auto}}@media(prefers-reduced-motion:no-preference){a,button{transition:color .2s,background .2s}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(forced-colors:active){.job-highlights li:before{border-color:CanvasText}.portfolio,.panel,.profile-info,.tool,dialog,.mobile-contact,.button{border:1px solid CanvasText}.section-nav a[aria-current]{outline:1px solid Highlight}.tool-icon{filter:none;opacity:1}}
