:root{--bg: #0f0f13;--bg-elevated: #16161d;--text: #e8e8ed;--text-muted: #9b9ba8;--accent: #64ffda;--accent-dim: rgba(100, 255, 218, .12);--border: rgba(255, 255, 255, .08);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--nav-width: 220px;--content-max: 900px;--section-pad: clamp(4rem, 10vh, 7rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ul{list-style:none}.site-header{position:fixed;top:0;left:0;z-index:100;width:var(--nav-width);height:100vh;display:flex;align-items:center;padding:2rem;border-right:1px solid var(--border);background:var(--bg)}.site-nav ul{display:flex;flex-direction:column;gap:1.25rem}.site-nav a{font-size:.8rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);transition:color .2s;position:relative;padding-left:1.25rem}.site-nav a:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:0;transition:opacity .2s}.site-nav a:hover,.site-nav a:focus-visible{color:var(--accent)}.site-nav a:hover:before,.site-nav a:focus-visible:before{opacity:1}main{margin-left:var(--nav-width);min-height:100vh}.section{padding:var(--section-pad) clamp(1.5rem,5vw,4rem);max-width:calc(var(--content-max) + 8rem)}.section__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:2.5rem;color:var(--text);position:relative;display:inline-block}.section__title:after{content:"";display:block;width:3rem;height:3px;background:var(--accent);margin-top:.5rem}.hero{min-height:100vh;display:flex;align-items:center}.hero__greeting{font-family:var(--font-mono);color:var(--accent);font-size:.95rem;margin-bottom:1rem}.hero__title{font-size:clamp(2rem,5vw,3.25rem);font-weight:700;line-height:1.2;max-width:18ch;margin-bottom:2.5rem}.hero__cta{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.9rem;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:.25rem;transition:gap .2s}.hero__cta:hover{gap:.85rem}.hero__arrow{transition:transform .2s}.hero__cta:hover .hero__arrow{transform:translate(4px)}.about__bio{color:var(--text-muted);font-size:1.05rem;max-width:60ch;margin-bottom:2.5rem}.skills{display:flex;flex-wrap:wrap;gap:.75rem}.skills__item{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;padding:.5rem 1rem;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);background:var(--bg-elevated);transition:border-color .2s,color .2s}.skills__item:hover{border-color:var(--accent);color:var(--accent)}.projects__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.project-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:1.75rem;transition:border-color .25s,transform .25s}.project-card:hover{border-color:#64ffda59;transform:translateY(-2px)}.project-card__title{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;margin-bottom:1rem;line-height:1.4}.project-card__subtitle{display:block;font-size:.8rem;font-weight:400;color:var(--text-muted);margin-top:.25rem}.project-card__description{color:var(--text-muted);font-size:.95rem;margin-bottom:1.5rem}.project-card__links{display:flex;gap:1.25rem}.project-card__link{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);text-transform:lowercase;border-bottom:1px solid transparent;transition:border-color .2s}.project-card__link:hover{border-bottom-color:var(--accent)}.blog__list{display:flex;flex-direction:column;gap:2rem}.blog-card{padding-bottom:2rem;border-bottom:1px solid var(--border)}.blog-card:last-child{border-bottom:none;padding-bottom:0}.blog-card__date{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);display:block;margin-bottom:.5rem}.blog-card__title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.blog-card__title a{transition:color .2s}.blog-card__title a:hover{color:var(--accent)}.blog-card__excerpt{color:var(--text-muted);font-size:.95rem;max-width:60ch;margin-bottom:.75rem}.blog-card__read-more{font-family:var(--font-mono);font-size:.85rem;color:var(--accent)}.contact__intro{color:var(--text-muted);max-width:50ch;margin-bottom:2rem}.contact__form{max-width:480px;display:flex;flex-direction:column;gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.4rem}.form-field label{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-field input,.form-field textarea{font-family:var(--font-sans);font-size:1rem;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text);outline:none;transition:border-color .2s;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent)}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:#ff6b6b}.form-field__error{font-size:.85rem;color:#ff6b6b}.contact__submit{align-self:flex-start;font-family:var(--font-mono);font-size:.9rem;padding:.75rem 2rem;background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:4px;cursor:pointer;transition:background .2s,color .2s}.contact__submit:hover{background:var(--accent-dim)}.contact__success{color:var(--accent);font-family:var(--font-mono);font-size:.95rem}.site-footer{margin-left:var(--nav-width);padding:2rem clamp(1.5rem,5vw,4rem);border-top:1px solid var(--border)}.site-footer p{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--text-muted)}@media(max-width:768px){.site-header{position:sticky;width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border);padding:1rem 1.5rem}.site-nav ul{flex-direction:row;flex-wrap:wrap;gap:.75rem 1.25rem}.site-nav a{padding-left:0;font-size:.7rem}.site-nav a:before{display:none}main,.site-footer{margin-left:0}.hero{min-height:auto;padding-top:3rem}}
