@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,700&family=IBM+Plex+Mono:wght@400&family=IBM+Plex+Sans:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#0c0b0a;--color-text:#ede8e0;--color-text-muted:#78726c;--color-accent:#5b8dee;--color-accent-hover:#7aa3f2;--color-accent-dim:#5b8dee14;--color-surface:#161412;--color-border:#2e2a27;--font-display:"Playfair Display", Georgia, serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", monospace;--max-width:700px;--transition:.18s ease}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.7}body:after{content:"";opacity:.022;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:var(--color-accent);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-accent-hover)}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.75rem}.site-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:5rem;padding:2rem 0;display:flex;position:relative}.site-header__name{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.06em;font-size:.8125rem}.nav{align-items:center;gap:2rem;display:flex}.nav__link{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-muted);transition:color var(--transition);font-size:.75rem}.nav__link:hover{color:var(--color-text)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:2rem;height:2rem;padding:0;display:none}.nav-toggle__bar{background-color:var(--color-text-muted);width:22px;height:1px;transition:transform var(--transition), opacity var(--transition), background-color var(--transition);display:block}.nav-toggle:hover .nav-toggle__bar{background-color:var(--color-text)}.nav-toggle[aria-expanded=true] .nav-toggle__bar:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (width<=599px){.nav-toggle{display:flex}.nav{background-color:var(--color-surface);border:1px solid var(--color-border);z-index:10;border-radius:4px;flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 0;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0}.nav.is-open{display:flex}.nav__link{width:100%;padding:.875rem 1.25rem;font-size:.8125rem}.nav__link:hover{color:var(--color-text);background-color:#ffffff08}}.section-label{align-items:center;gap:.875rem;margin-bottom:2.5rem;display:flex}.section-label__num{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.1em;opacity:.5;flex-shrink:0;font-size:.625rem}.section-label__title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);flex-shrink:0;font-size:.625rem;font-weight:400}.section-label:after{content:"";background:var(--color-border);flex:1;height:1px}.hero{scroll-snap-align:center;margin-bottom:6rem}.hero__name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text);margin-bottom:1rem;font-size:clamp(2.75rem,7vw,4.5rem);font-style:italic;font-weight:700;line-height:1.05}.hero__tagline{font-family:var(--font-mono);color:var(--color-accent);letter-spacing:.08em;margin-bottom:2rem;font-size:.8125rem}.hero__bio{color:var(--color-text-muted);max-width:520px;font-size:1.0625rem;line-height:1.8}.work{scroll-snap-align:center;margin-bottom:6rem}.work__list{border-top:1px solid var(--color-border);flex-direction:column;display:flex}.work-card{border-bottom:1px solid var(--color-border);color:var(--color-text);transition:border-left-color var(--transition), padding-left var(--transition), background-color var(--transition);border-left:2px solid #0000;grid-template-columns:1fr auto;align-items:start;gap:1rem;margin-left:-1rem;padding:1.5rem .25rem 1.5rem 1rem;text-decoration:none;display:grid}.work-card:hover{border-left-color:var(--color-accent);background-color:var(--color-accent-dim);color:var(--color-text);padding-left:1.5rem}.work-card__title{font-family:var(--font-body);color:var(--color-text);transition:color var(--transition);margin-bottom:.375rem;font-size:1rem;font-weight:500}.work-card:hover .work-card__title{color:var(--color-accent-hover)}.work-card__description{color:var(--color-text-muted);font-size:.9375rem;line-height:1.65}.work-card__arrow{color:var(--color-text-muted);transition:color var(--transition), transform var(--transition);flex-shrink:0;margin-top:.125rem;font-size:.9375rem}.work-card:hover .work-card__arrow{color:var(--color-accent);transform:translate(2px,-2px)}.work-card--coming-soon{opacity:.4;cursor:default;pointer-events:none}.work-card--coming-soon .work-card__title{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}.resume{scroll-snap-align:center;margin-bottom:6rem}.resume__preview{text-decoration:none;display:inline-block}.resume__document{background-color:var(--color-surface);border:1px solid var(--color-border);width:260px;transition:border-color var(--transition), box-shadow var(--transition);border-radius:3px;flex-direction:column;display:flex;overflow:hidden}.resume__preview:hover .resume__document{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent), 0 8px 24px #0006}.resume__doc-header{border-bottom:1px solid var(--color-border);padding:1.25rem 1.25rem 1rem}.resume__doc-name{font-family:var(--font-display);color:var(--color-text);margin-bottom:.2rem;font-size:1rem;font-style:italic;display:block}.resume__doc-role{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-accent);text-transform:uppercase;font-size:.625rem;display:block}.resume__doc-lines{flex-direction:column;flex:1;gap:.6rem;padding:1.25rem;display:flex}.resume__doc-line{background:var(--color-border);width:40%;height:1px;display:block}.resume__doc-line--wide{width:85%}.resume__doc-line--mid{width:60%}.resume__doc-cta{border-top:1px solid var(--color-border);font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-text-muted);transition:color var(--transition);padding:.75rem 1.25rem;font-size:.6875rem;display:block}.resume__preview:hover .resume__doc-cta{color:var(--color-accent)}.work-with-me{scroll-snap-align:center;margin-bottom:6rem}.work-with-me__bio{color:var(--color-text-muted);max-width:520px;margin-bottom:2rem;font-size:1.0625rem;line-height:1.8}.work-with-me__link{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-accent);transition:color var(--transition), border-color var(--transition);border-bottom:1px solid #5b8dee4d;align-items:center;gap:.375rem;padding-bottom:.125rem;font-size:.875rem;display:inline-flex}.work-with-me__link:hover{color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.work-with-me__link-arrow{transition:transform var(--transition)}.work-with-me__link:hover .work-with-me__link-arrow{transform:translate(2px,-2px)}.site-footer{border-top:1px solid var(--color-border);margin-top:2rem;padding:2rem 0}.site-footer__copy{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-muted);opacity:.6;font-size:.75rem}@media (width>=768px){.site-header{margin-bottom:6rem;padding:2.5rem 0}}.scroll-spacer{height:50vh}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(16px)}.fade-in.visible{opacity:1;transform:translateY(0)}
