@font-face{font-family:Aeonik;src:url(/fonts/aeonik-regular.woff2) format("woff2"),url(/fonts/aeonik-regular.woff) format("woff");font-weight:400 600;font-style:normal;font-display:swap}:root{--bg: #ffffff;--fg: #000000;--fg-muted: rgba(0, 0, 0, .55);--fg-faint: rgba(0, 0, 0, .32);--border: rgba(0, 0, 0, .14);--surface: rgba(0, 0, 0, .03);--font-sans: "Aeonik", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--container: 1440px;--gutter: clamp(1rem, 2.4vw, 2rem);--grid-gutter: clamp(.6rem, 1.2vw, 1rem);color-scheme:light}:root[data-theme=dark]{--bg: #000000;--fg: #ffffff;--fg-muted: rgba(255, 255, 255, .58);--fg-faint: rgba(255, 255, 255, .36);--border: rgba(255, 255, 255, .16);--surface: rgba(255, 255, 255, .05);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease;scrollbar-width:thin;scrollbar-color:var(--fg) var(--bg)}::-webkit-scrollbar{width:1px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--fg)}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}.site-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(12,1fr);column-gap:1rem;align-items:center;padding:var(--grid-gutter);background:transparent;color:#fff;mix-blend-mode:difference;line-height:normal}.logo,.role,.site-nav a{font-size:18px;font-weight:500}.logo{grid-column:1 / span 3;white-space:nowrap}.role{grid-column:4 / span 6;min-width:0;white-space:nowrap}.header-right{grid-column:10 / -1;display:flex;align-items:center;justify-content:flex-end;gap:1.25rem}.site-nav{display:flex;gap:1.25rem}.site-nav a{transition:opacity .15s ease}.site-nav a:hover{opacity:.6}.theme-toggle{display:grid;place-items:center;font-size:22px;flex-shrink:0}.theme-toggle .icon{width:18px;height:18px}.theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:block}@media(max-width:800px){.role{display:none}}.intro{display:grid;grid-template-columns:repeat(12,1fr);column-gap:1rem;padding:clamp(1.65rem,4.4vw,3.3rem) var(--grid-gutter) 0}.intro p{grid-column:1 / span 10;font-size:clamp(1.75rem,5vw,65px);font-weight:500;line-height:1;letter-spacing:-.01em}@media(max-width:700px){.intro p{grid-column:1 / -1}}@media(max-width:640px){.intro p{font-size:35px}.work-grid{padding-bottom:14px}}.work-grid{padding:var(--grid-gutter);display:grid;grid-template-columns:1fr;gap:var(--grid-gutter)}.work-item{display:block}.work-frame{position:relative;display:block;overflow:hidden;border-radius:11px;background:var(--surface)}.work-item img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .5s ease}.work-item:hover img{transform:scale(1.02)}.work-caption{display:none}@media(max-width:640px),(hover:none),(pointer:coarse){.work-caption{display:inline-block;position:absolute;left:.5rem;bottom:.5rem;padding:5px 20px;border-radius:999px;background:var(--fg);color:var(--bg);font-size:16px;font-weight:500;text-transform:lowercase;letter-spacing:.02em;white-space:nowrap}}@media(min-width:640px){.work-grid{grid-template-columns:repeat(2,1fr)}.work-item img{aspect-ratio:16 / 11}}@media(hover:hover)and (pointer:fine){.work-item{cursor:none}}.cursor-label{position:fixed;top:0;left:0;transform:translate(-9999px,-9999px);pointer-events:none;z-index:50;padding:5.7px 22.9px;border-radius:999px;background:var(--fg);color:var(--bg);font-size:18px;font-weight:500;text-transform:lowercase;letter-spacing:.02em;white-space:nowrap;opacity:0;transition:opacity .2s ease}.cursor-label.is-visible{opacity:1}.about{max-width:var(--container);margin:0 auto;padding:clamp(2rem,6vw,4rem) var(--gutter) clamp(3rem,8vw,5rem);display:grid;grid-template-columns:1fr;gap:clamp(2rem,6vw,4rem);align-items:center}.about-image{width:100%;max-width:26rem;border-radius:11px;background:var(--surface)}.about-text h1{font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:500;margin-bottom:1.25rem}.about-text p{color:var(--fg-muted);max-width:42ch;font-size:1rem}.resume-link{display:inline-block;margin-top:1.5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--fg);padding-bottom:2px}@media(min-width:720px){.about{grid-template-columns:minmax(240px,26rem) 1fr}}.contact{max-width:var(--container);margin:0 auto;padding:clamp(2rem,6vw,4rem) var(--gutter) clamp(4rem,10vw,7rem)}.contact h2{font-size:clamp(1.75rem,5vw,3rem);font-weight:500;letter-spacing:-.01em}.contact-email{display:inline-block;margin-top:.75rem;font-size:clamp(1.25rem,3vw,1.75rem);color:var(--fg-muted);transition:color .15s ease}.contact-email:hover{color:var(--fg)}.contact-links{display:flex;gap:1.25rem;margin-top:2rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint)}.contact-links a:hover{color:var(--fg)}.site-footer{display:grid;grid-template-columns:repeat(12,1fr);column-gap:1rem;align-items:baseline;padding:var(--grid-gutter)}.footer-copy,.footer-email,.footer-linkedin{font-size:18px;font-weight:500;color:var(--fg-muted)}.footer-copy{grid-column:1 / span 3}.footer-email{grid-column:4 / span 6;white-space:nowrap;transition:color .15s ease}.footer-linkedin{grid-column:10 / -1;justify-self:end;transition:color .15s ease}.footer-email:hover,.footer-linkedin:hover{color:var(--fg)}.footer-email-short{display:none}@media(max-width:640px){.site-footer{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.footer-copy{order:3}.footer-email{order:1}.footer-linkedin{order:2;justify-self:auto}.footer-email-full{display:none}.footer-email-short{display:inline}}.case-hero{padding:var(--grid-gutter)}.case-hero img{width:100%;height:auto;border-radius:11px}.case-intro{max-width:var(--container);margin:0 auto;padding:clamp(2rem,6vw,3.5rem) var(--gutter) clamp(1.5rem,4vw,2.5rem)}.case-intro h1{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:500;letter-spacing:-.01em}.case-meta{margin-top:.75rem;font-size:.85rem;color:var(--fg-faint)}.case-description{margin-top:1.5rem;max-width:60ch;color:var(--fg-muted);font-size:1rem}.back-link{display:block;max-width:var(--container);margin:0 auto;padding:0 var(--gutter) clamp(4rem,10vw,6rem);font-size:.85rem;color:var(--fg-muted);transition:color .15s ease}.back-link:hover{color:var(--fg)}
