:root{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:#ededed;background:#111;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--background: #111;--surface: #1b1b1b;--line: #353535;--muted: #a2a2a2;--text: #ededed;--accent: #ededed;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:24px}body{min-width:320px;margin:0;background:var(--background)}body,button,a{color:var(--text)}a{text-decoration:none}button{font:inherit}::selection{color:var(--background);background:var(--accent)}.site-shell{width:min(100% - 64px,960px);margin:0 auto}.site-header{position:relative;display:flex;min-height:72px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--mono);font-size:24px;letter-spacing:0}.intro h1 span{color:var(--accent)}.site-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:16px;font-family:var(--mono);font-size:24px}.site-nav a,.site-footer a{transition:color .15s ease}.site-nav .nav-work{font-size:.5em}.site-nav a:hover,.site-footer a:hover{color:var(--accent)}.social-icon{display:grid;width:24px;height:24px;place-items:center;color:var(--muted)}.contact-trigger{padding:0;border:0;background:transparent;cursor:pointer}.social-icon svg{display:block;width:1em;height:1em;fill:currentColor}.social-icon:hover{color:var(--text)}.contact-dialog{width:min(100% - 32px,420px);padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);font-family:var(--mono)}.contact-dialog::backdrop{background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.contact-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.contact-kicker{margin:0 0 8px;color:var(--muted);font-size:10px;letter-spacing:.12em}.contact-dialog-header h2{margin:0;font-size:24px;font-weight:500;letter-spacing:-.06em}.contact-dialog-close{display:grid;width:32px;height:32px;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:20px;line-height:1}.contact-dialog-close:hover{color:var(--text)}.contact-intro{margin:12px 0 20px;color:var(--muted);font-size:12px}.contact-list{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#151515}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 12px}.contact-row+.contact-row{border-top:1px solid var(--line)}.contact-detail{display:grid;min-width:0;gap:6px}.contact-label{color:var(--muted);font-size:9px;letter-spacing:.1em}.contact-value{min-width:0;color:var(--text);font-size:12px;overflow-wrap:anywhere}a.contact-value:hover{color:var(--accent)}.contact-copy{flex-shrink:0;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:10px;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.contact-copy:hover{border-color:#626262;background:#ffffff0a;color:var(--text)}.contact-copy.copied,.contact-copy.copied:hover{border-color:#36583c;background:#1b2a1d;color:#a8d9ad}.contact-status{margin:12px 0 0;color:var(--muted);font-size:11px}.intro{padding:48px 0;border-bottom:1px solid var(--line)}.intro-content{display:grid;grid-template-columns:minmax(0,1fr) 208px;align-items:center;gap:48px;width:100%}.intro-copy{text-align:left}.intro-copy .eyebrow{margin-bottom:16px}.intro-description{max-width:520px;margin:16px 0 0;color:#c2c2c2;font-size:17px;line-height:1.75}.portrait{width:208px;height:208px;margin:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);object-fit:cover}.portrait-placeholder{display:flex;flex-direction:column;align-content:center;gap:8px;border-style:dashed;color:var(--muted);font-family:var(--mono);font-size:12px}.portrait-placeholder small{padding:0 8px;color:var(--muted);font-size:8px}.eyebrow,.intro-meta,.project-tags,.site-footer{font-family:var(--mono);font-size:12px}.eyebrow{margin:0 0 16px;color:var(--muted)}.eyebrow span{padding:0 5px;color:var(--accent)}.intro h1{margin:0;font-size:clamp(44px,6vw,68px);font-weight:500;letter-spacing:-.07em;line-height:.98}.intro-meta{display:flex;justify-content:flex-start;margin:24px 0 0;color:var(--muted);text-transform:uppercase}.work{padding:48px 0}.section-heading{display:flex;align-items:flex-start;margin-bottom:24px;text-align:left}.section-heading h2{margin:0;font-size:clamp(28px,3.5vw,36px);font-weight:500;letter-spacing:-.06em;line-height:1}.project-tools{margin-bottom:24px}.project-search{display:flex;height:48px;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffff03;color:var(--muted);font-family:var(--mono);font-size:12px}.project-search span{flex-shrink:0;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.project-search input{height:20px;min-width:0;flex:1;width:100%;border:0;background:transparent;color:var(--text);font:inherit;outline:none}.project-search input.search-scrolled{-webkit-mask-image:linear-gradient(to right,transparent,#000 18px);mask-image:linear-gradient(to right,transparent,#000 18px)}.project-search input::-webkit-search-cancel-button{display:none}.project-search input::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}.project-search-clear{display:grid;width:20px;height:20px;place-items:center;flex-shrink:0;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;font-size:18px;line-height:1}.project-search-clear:hover{color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.project-empty{overflow:hidden;padding:24px 0 0;color:var(--muted);font-family:var(--mono);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.project-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#181818;transition:border-color .16s ease,transform .16s ease}.project-card:hover{transform:translateY(-3px);border-color:#626262}.project-preview{position:relative;overflow:hidden;aspect-ratio:1.6;border-bottom:1px solid var(--line);background:#242424}.project-preview img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}.project-info{padding:16px;text-align:left}.project-title-line{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-title-line h3{margin:0;font-size:21px;font-weight:500;letter-spacing:-.04em}.project-arrow{color:var(--accent);transition:transform .15s ease}.project-card:hover .project-arrow{transform:translate(3px,-3px)}.project-info>p{max-width:500px;margin:8px 0 0;color:#bdbdbd;font-size:14px;line-height:1.7}.project-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font-size:11px}.project-tags .tag{padding:8px 12px;border:1px solid transparent;border-radius:999px}.tag-blue{border-color:#294f70!important;background:#172b3a;color:#a8d7fa}.tag-amber{border-color:#68502b!important;background:#302516;color:#f2ca83}.tag-violet{border-color:#51416d!important;background:#282033;color:#d0b8fa}.tag-green{border-color:#36583c!important;background:#1b2a1d;color:#a8d9ad}.site-footer{display:flex;min-height:64px;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.email-link{color:var(--muted);transition:color .15s ease}.email-link:hover{color:var(--accent)}@media(max-width:680px){.site-shell{width:min(100% - 32px,520px)}.site-header{min-height:64px}.site-nav{display:flex;gap:16px}.intro{padding:48px 0}.intro-content{grid-template-columns:minmax(0,1fr) 176px;gap:16px}.site-nav{font-size:22px}.intro h1{font-size:clamp(30px,7vw,44px)}.intro-description{margin:16px 0;font-size:14px}.portrait{width:176px;height:176px}.portrait-placeholder small{font-size:6px}.work{padding:48px 0}.project-grid{grid-template-columns:1fr;gap:24px}.site-footer{flex-direction:column;gap:8px;padding:16px 0}}@media(max-width:420px){.intro-content{grid-template-columns:1fr;justify-items:center}.intro-copy{grid-row:2;text-align:center}.intro-meta{justify-content:center}.portrait{width:176px;height:176px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
