*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55}body,h1,h2,h3,ol,p,ul{margin:0}ol,ul{list-style:none;padding:0}img{display:block;max-width:100%}a{text-decoration:none}a,button{color:inherit}button{background:none;border:0;cursor:pointer;font:inherit;padding:0}::selection{background:var(--accent-soft)}:focus-visible{border-radius:4px;outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition-duration:.01ms!important}}:root{--bg:#fbf6f2;--bg-soft:#f3e9e2;--ink:#22160f;--ink-2:#5c4a40;--ink-3:#7a665b;--line:#ecdfd6;--accent:#a63d1a;--accent-soft:#f8e1d6;--on-accent:#fff;--tile-bg:#3a1a0e;--tile-ink:#f3cdbb;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--gutter:clamp(16px,4vw,32px);--header-height:64px;--radius:12px;--ease:cubic-bezier(0.2,0.7,0.2,1);color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#140e0b;--bg-soft:#1f1612;--ink:#f8efe9;--ink-2:#c2ada1;--ink-3:#a08c81;--line:#2c201a;--accent:#f2895f;--accent-soft:#3a1d12;--on-accent:#140e0b;--tile-bg:#3a1d12;--tile-ink:#f3cdbb;color-scheme:dark}}.page{margin-left:auto;margin-right:auto;padding:clamp(32px,6vw,64px) var(--gutter) 96px;width:100%}.sr-only{clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.site-header{background:var(--bg);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.site-nav{align-items:center;display:flex;gap:clamp(20px,5vw,48px);height:calc(var(--header-height) - 1px);justify-content:center;padding:0 var(--gutter)}.nav-link{align-items:center;border-bottom:1.5px solid #0000;color:var(--ink-2);display:inline-flex;font-size:15px;gap:3px;padding:6px 0;transition:color .2s,border-color .2s}.nav-link:hover{color:var(--ink)}.nav-link.is-active{border-bottom-color:var(--accent);color:var(--accent)}.nav-link svg{height:14px;width:14px}.about{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));padding:48px var(--gutter) 80px;text-align:center}.about-photo{border-radius:50%;box-shadow:0 0 0 6px var(--accent-soft);height:176px;transition:transform .3s ease,box-shadow .3s ease;width:176px}.about-photo:hover{box-shadow:0 0 0 6px var(--accent-soft),0 14px 28px -10px #00000059;transform:translateY(-5px)}.about-name{font-size:clamp(32px,6vw,44px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-top:28px}.about-title{color:var(--accent);font-size:18px;font-weight:500;margin-top:8px}.about-bio{text-wrap:balance;color:var(--ink-2);font-size:17px;margin-top:20px;max-width:30em}.about-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px}.about-links a{align-items:center;background:var(--accent-soft);border-radius:999px;color:var(--accent);display:inline-flex;font-size:15px;font-weight:600;gap:8px;padding:10px 16px;transition:background-color .2s,color .2s}.about-links a:hover{background:var(--accent);color:var(--on-accent)}.about-links svg{height:17px;width:17px}.terminal{background:#121211;color:#d9d6d0;display:flex;flex-direction:column;font-family:var(--mono);font-size:clamp(7px,1.95cqi,12.5px);height:100%;line-height:1.55;padding:3.2cqi 3.6cqi;text-align:left}.terminal-title{color:#8d8982}.terminal-tabs{color:#8d8982;display:flex;gap:2.4cqi;margin-top:.6em;white-space:nowrap}.terminal-tabs .is-active{background:#d9d6d0;color:#121211;margin-left:-.5em;padding:0 .5em}.terminal-tabs i{font-style:normal}.terminal-tabs i.is-working{color:#7ccf8c}.terminal-log{border:1px solid #34322f;border-radius:.6em;flex:1 1;margin-top:.8em;padding:.7em .9em}.terminal-log li{grid-gap:1ch;display:grid;gap:1ch;grid-template-columns:5.5ch 9.5ch minmax(0,1fr)}.terminal-log li+li{margin-top:.3em}.terminal-time{color:#6f6b65}.from-architect{color:#f0a875}.from-engineer{color:#8fb8f0}.from-product{color:#c9a6ec}.terminal-tool{color:#8d8982}.terminal-input{margin-top:.8em}.terminal-cursor{animation:terminal-blink 1.1s steps(1) infinite;background:#d9d6d0;display:inline-block;height:1.1em;vertical-align:text-bottom;width:.6em}.terminal-status{color:#8d8982;display:flex;gap:2ch;margin-top:.4em;white-space:nowrap}.terminal-cost{margin-left:auto}@keyframes terminal-blink{50%{opacity:0}}@container (max-width: 440px){.terminal-status{display:none}}@container (max-width: 400px){.terminal-title{display:none}}.projects{max-width:1200px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.filter{border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-size:14px;font-weight:500;padding:7px 14px;transition:color .2s,background-color .2s,border-color .2s}.filter:hover{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent)}.filter[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.project-grid{grid-gap:40px 24px;display:grid;gap:40px 24px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.project-card{position:relative}.card-media,.dialog-media{aspect-ratio:16/9;background:var(--bg-soft);container-type:inline-size;overflow:hidden}.card-media{border:1px solid var(--line);border-radius:var(--radius)}.card-media img,.dialog-media img{height:100%;object-fit:cover;object-position:top;width:100%}.card-media img{transition:transform .5s var(--ease)}.project-card:hover .card-media img{transform:scale(1.03)}.media-stack{text-wrap:balance;background:var(--tile-bg);color:var(--tile-ink);display:grid;font-family:var(--mono);font-size:clamp(12px,3.6cqi,16px);height:100%;line-height:1.7;padding:0 12%;place-items:center;text-align:center;width:100%}.media-stack-item{white-space:nowrap}.card-caption{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-top:12px}.card-name{font-size:16px;font-weight:600;line-height:1.35;transition:color .2s}.project-card:hover .card-name{color:var(--accent)}.card-button{text-align:left}.card-button:after{border-radius:var(--radius);content:"";inset:0;position:absolute}.card-button:focus-visible{outline:none}.card-button:focus-visible:after{outline:2px solid var(--accent);outline-offset:4px}.card-year{font-feature-settings:"tnum";color:var(--ink-3);flex:none;font-size:14px;font-variant-numeric:tabular-nums}body:has(.project-dialog[open]){overflow:hidden}.project-dialog{background:var(--bg);border:1px solid var(--line);border-radius:16px;color:var(--ink);max-height:calc(100% - 48px);overflow-y:auto;padding:0;width:min(680px,calc(100% - 32px))}.project-dialog::backdrop{background:#0000008c}.dialog-inner{position:relative}.dialog-close{background:var(--bg);border:1px solid var(--line);border-radius:50%;color:var(--ink);display:grid;height:36px;place-items:center;position:absolute;right:12px;top:12px;width:36px;z-index:1}.dialog-close svg{height:18px;width:18px}.dialog-body{padding:24px 28px 28px}.dialog-title{font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.2;padding-right:40px}.dialog-inner:has(.dialog-media) .dialog-title{padding-right:0}.dialog-meta{color:var(--ink-3);font-size:14px;margin-top:4px}.dialog-summary{font-size:17px;line-height:1.5;margin-top:16px}.dialog-description{color:var(--ink-2);font-size:15px;margin-top:12px}.dialog-stack{color:var(--ink-3);font-size:14px;margin-top:16px}.dialog-links{display:flex;flex-wrap:wrap;font-size:15px;font-weight:600;gap:8px 20px;margin-top:20px}.dialog-links a{align-items:center;border-bottom:1.5px solid var(--accent-soft);color:var(--accent);display:inline-flex;gap:3px;transition:border-color .2s}.dialog-links a:hover{border-bottom-color:var(--accent)}.dialog-links svg{height:15px;width:15px}.dialog-private{align-items:center;color:var(--ink-3);display:inline-flex;font-weight:400;gap:6px}.dialog-private svg{height:14px;width:14px}@media (max-width:480px){.dialog-body{padding:20px 20px 24px}}.experience{max-width:760px}.list-heading{border-bottom:1px solid var(--line);color:var(--accent);font-size:20px;font-weight:700;letter-spacing:-.01em;padding-bottom:12px}.list-heading:not(:first-of-type){margin-top:56px}.entry{border-bottom:1px solid var(--line);padding:14px 0}.entry-title{font-size:16px;font-weight:600}.entry-line{align-items:baseline;display:flex;gap:2px 16px;justify-content:space-between;margin-top:2px}.entry-detail{color:var(--ink-2);font-size:15px}.entry-dates{font-feature-settings:"tnum";color:var(--ink-3);flex:none;font-size:14px;font-variant-numeric:tabular-nums}@media (max-width:560px){.entry-line{flex-direction:column}}
/*# sourceMappingURL=main.7c0c3106.css.map*/