:root{--bg: #000000;--bg-alt: #050505;--bg-card: #101010;--bg-soft: #181818;--text-main: #e5e5e5;--text-muted: #9c9c9c;--divider: #262626;--border: #2f2f2f;--shadow-soft: 0 24px 60px rgba(0, 0, 0, .8);--content-rail-left: 1.5rem}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#050505;color:var(--text-main);-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}.app{min-height:100vh;padding:3rem 2rem 2.75rem;display:flex;justify-content:center}.layout{width:100%;max-width:1320px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr);gap:4rem}.sidebar{display:flex;flex-direction:column;justify-content:space-between}.sidebar-top{display:flex;flex-direction:column;gap:3rem}.hero{margin-top:.75rem}.hero__top{display:flex;align-items:center;gap:3rem;margin-bottom:-1.5rem}.hero__photo{width:170px;height:170px;border-radius:50%;object-fit:cover;border:2px solid #333;flex-shrink:0}.hero__title{margin:0 0 .4rem;font-size:3rem;line-height:1.1;color:#fff}.hero__subtitle{margin:0;font-size:1rem;font-weight:400;color:#fff;color:var(--text-muted)}.hero__eyebrow{font-size:1rem;letter-spacing:.09em;font-weight:600;margin-top:-3rem;margin-bottom:3rem}.sidebar-tabs{display:flex;flex-direction:column;gap:.5rem;padding-top:1.5rem;border-top:1px solid var(--divider);max-width:13rem}.sidebar-tab{display:flex;align-items:center;gap:1.1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);padding:.35rem 0;cursor:pointer;transition:color .14s ease-out}.sidebar-tab__line{display:inline-block;width:32px;height:1px;background:#2b2b2b;transition:width .15s ease-out,background .15s ease-out}.sidebar-tab--active,.sidebar-tab:hover{color:#f5f5f5}.sidebar-tab--active .sidebar-tab__line,.sidebar-tab:hover .sidebar-tab__line{width:56px;background:#fff}.sidebar-socials{display:flex;gap:1rem;margin-top:3rem}.sidebar-socials a{width:42px;height:42px;border-radius:999px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--text-muted);background:#050505;opacity:0;transform:translateY(10px);animation:socialFadeIn .55s ease-out forwards;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out,color .18s ease-out,background .18s ease-out}.sidebar-socials a:nth-child(1){animation-delay:.05s}.sidebar-socials a:nth-child(2){animation-delay:.15s}.sidebar-socials a:nth-child(3){animation-delay:.25s}.sidebar-socials a:hover{color:#fff;border-color:#fff;background:#101010;transform:translateY(-5px);box-shadow:0 0 24px #ffffff38}@keyframes socialFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.content{padding-top:4rem;padding-bottom:3rem}.content-section+.content-section{margin-top:4rem}.content-section{scroll-margin-top:80px}@media (min-width: 900px){.section-inner{padding-left:var(--content-rail-left)}}.section-text{margin:0 0 1rem;color:var(--text-muted);line-height:1.7;font-size:.95rem}.section-text--muted{color:var(--text-muted)}.section-title{display:none}.resume-block{display:flex;justify-content:flex-end;margin:3rem 0}.resume-link{font-size:1.1rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);position:relative;display:inline-flex;align-items:center;gap:.4rem}.resume-link:after{content:"";position:absolute;right:0;bottom:-2px;width:0;height:1px;background:#f5f5f5;transition:width .14s ease-out}.resume-link:hover{color:#f5f5f5}.resume-link:hover:after{width:100%}.resume-link__arrow{font-size:.9rem;color:var(--text-muted);transform:translate(0);opacity:.8;transition:transform .16s ease-out,color .16s ease-out,opacity .16s ease-out}.resume-link:hover .resume-link__arrow{transform:translate(3px,-3px);color:#fff;opacity:1}.experience-list{list-style:none;padding:0;margin:0;display:grid;gap:2.5rem}.experience-item{border-radius:7px;padding:1.1rem 1.6rem;border:none;transition:opacity .15s ease-out,background .15s ease-out,transform .15s ease-out,box-shadow .15s ease-out}.experience-item__header{display:flex;align-items:flex-start;gap:2rem}.experience-item__period,.education-item__period{width:140px;margin-left:0;flex-shrink:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;margin-top:4px;color:var(--text-muted)}.experience-item__content{flex:1}.experience-item__titles{margin-bottom:.4rem}.experience-item__role{margin:0;font-size:1rem;color:#fff}.experience-item__subtitle{margin:.15rem 0 0;font-size:.9rem;color:var(--text-muted)}.experience-item__description{margin:.5rem 0 .8rem;font-size:.9rem;line-height:1.7;color:var(--text-muted)}.experience-item__links{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:.6rem}.experience-item__links a{font-size:.85rem;color:#f5f5f5;position:relative}.experience-item__links a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:#f5f5f5;transition:width .14s ease-out}.experience-item__links a:hover:after{width:100%}.experience-item__skills{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}.experience-item__skills li{padding:.1rem .65rem;border-radius:999px;background:#141414;border:1px solid #333333;color:#f5f5f5;font-family:Inter,sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.02em}.experience-list:hover .experience-item{opacity:.5}.experience-list:hover .experience-item:hover{opacity:1;background:#14141466;transform:translateY(-4px);box-shadow:none}.education-block{margin-top:6rem}.education-title{margin:0 0 1.4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted)}.education-list{list-style:none;padding:0;margin:0;display:grid;gap:1.5rem}.education-item{display:flex;align-items:flex-start;gap:2rem;padding:1.1rem 1.6rem}.education-item__content{flex:1}.education-item__school{margin:0;font-size:.95rem;font-weight:800;color:#fff}.education-item__degree{margin:.1rem 0 .3rem;font-size:.9rem;color:var(--text-main)}.education-item__description{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.7}.projects-grid{display:grid;gap:2.5rem}.project-card__wrapper{display:block;text-decoration:none;color:inherit}.project-card{display:flex;align-items:flex-start;gap:1.5rem;border-radius:7px;padding:1.1rem 1.6rem;border:none;background:transparent;transition:transform .15s ease-out,background .15s ease-out,opacity .15s ease-out}.project-card__thumb-wrapper{flex-shrink:0;width:150px}.project-card__thumb{width:100%;height:110px;border-radius:7px;background:linear-gradient(135deg,#181818,#101010);background-size:cover;background-position:center}.project-card__body{flex:1;display:flex;flex-direction:column}.project-card__header{display:flex;flex-direction:column;gap:.25rem}.project-card__title{margin:0;font-size:1rem;color:#fff;display:inline-flex;align-items:center;gap:.35rem}.project-card__role{margin:0;font-size:.85rem;color:var(--text-muted)}.project-card__description{margin:.4rem 0 .8rem;font-size:.9rem;line-height:1.7;color:var(--text-muted)}.project-card__arrow{font-size:.9rem;color:var(--text-muted);transform:translate(0);opacity:.8;transition:transform .16s ease-out,color .16s ease-out,opacity .16s ease-out}.project-card__wrapper:hover .project-card__arrow{transform:translate(3px,-3px);color:#fff;opacity:1}.project-card__tech{list-style:none;padding:0;margin-top:.9rem;margin-bottom:0;display:flex;flex-wrap:wrap;gap:.45rem}.project-card__tech li{font-size:.71rem;color:#e5e5e5;padding:.18rem .7rem;border-radius:999px;background:#141414;border:1px solid #333333}.projects-grid:hover .project-card{opacity:.5}.projects-grid:hover .project-card:hover{opacity:1;background:#14141466;transform:translateY(-4px);box-shadow:none}.nav{width:100%;padding:1.6rem 0;display:flex;align-items:center;justify-content:space-between}.nav__brand{font-size:1.2rem;font-weight:600;color:#fff}.nav__links{display:flex;gap:2rem}.nav__links a{font-size:.9rem;color:var(--text-muted);transition:color .2s ease-out}.nav__links a:hover{color:#fff}.nav__socials{display:flex;align-items:center;gap:1rem}.nav__social-icon{display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--text-muted);transition:all .2s ease-out}.nav__social-icon:hover{color:#fff;transform:translateY(-2px)}@media (min-width: 900px){.layout{align-items:flex-start}.sidebar{position:sticky;top:3rem;align-self:flex-start;height:calc(100vh - 6rem)}}@media (max-width: 900px){.app{padding:2.5rem 1.5rem 2.25rem}.layout{grid-template-columns:minmax(0,1fr);gap:3rem}.sidebar{gap:2rem;position:static;height:auto}.sidebar-top{gap:1.5rem}.sidebar-tabs{flex-direction:row;max-width:none;border-top:none}.sidebar-tab{flex-direction:column;align-items:flex-start}.sidebar-tab__line{width:24px}.sidebar-socials{margin-top:1.5rem}.content-section+.content-section{margin-top:7rem}.experience-item__header,.education-item{flex-direction:column;gap:.5rem}.experience-item__period,.education-item__period{width:auto;margin-left:0}.project-card{flex-direction:column}.project-card__thumb-wrapper{width:100%}.project-card__description{margin-top:.6rem}}section#about{margin-bottom:9rem!important}@media (min-width: 900px){#about .section-inner{padding-left:calc(0rem + 50px)}}@media (max-width: 900px){.hero__top{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.8rem;margin-bottom:.5rem}.hero__photo{width:125px;height:125px}.hero__title{font-size:1.8rem;line-height:1.1;margin:0}.hero__eyebrow{margin-top:.2rem;font-size:.85rem}.hero__subtitle{font-size:.95rem;line-height:1.4;margin-top:.4rem}}.project-card__thumb-wrapper{width:110px!important}.project-card__thumb{height:85px!important;border-radius:7px;object-fit:cover}@media (max-width: 900px){.project-card__thumb-wrapper{width:90px!important}.project-card__thumb{height:70px!important}}.sidebar-tabs{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}@media (max-width: 768px){.sidebar-tabs{display:none}}@media (max-width: 768px){.content{width:100%;padding:0 1.5rem}.layout{display:block}}.section-heading{font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;color:#9ca3af;margin-bottom:1.5rem;margin-top:2rem}@media (min-width: 769px){.section-heading{display:none}}@media (max-width: 768px){.sidebar{width:100%;display:block;position:static;height:auto;padding-bottom:1rem;margin-bottom:2rem}}@media (max-width: 768px){.project-card{display:flex;flex-direction:column}.project-card__body{order:1}.project-card__thumb-wrapper{order:2;margin-top:1rem}}@media (max-width: 900px){.hero__top{gap:4rem}}@media (max-width: 900px){.hero__eyebrow{margin-top:-2.5rem}}@media (max-width: 900px){.hero__title{font-size:1.4rem}.hero__eyebrow{font-size:.8rem}}
