@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-latin-400-normal.B40WzpMT.woff2)format("woff2"),url(/_astro/geist-latin-400-normal.akEymXtG.woff)format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-latin-500-normal.CTWBw9NS.woff2)format("woff2"),url(/_astro/geist-latin-500-normal.BDXIbFrL.woff)format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/geist-latin-600-normal.CSETrqM2.woff2)format("woff2"),url(/_astro/geist-latin-600-normal.DsPlZH-9.woff)format("woff")}:root{color-scheme:dark;--surface:#181818;--surface-raised:#1f1f1f;--surface-hover:#272727;--surface-button:#313131;--text:#f3f3ed;--muted:#aaa9a3;--subtle:#93928c;--accent:#d1edb3;--line:#383833;--spacing-0:0;--spacing-25:2px;--spacing-50:4px;--spacing-75:8px;--spacing-100:12px;--spacing-200:16px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--spacing-700:64px;--spacing-800:80px;--spacing-900:96px;--motion:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-padding-top:var(--spacing-900)}body{background:var(--surface);color:var(--text);font-synthesis:none;-webkit-font-smoothing:antialiased;margin:0;font-family:Geist,sans-serif}body.menu-open{overflow:hidden}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}h1,h2,h3,h4{text-wrap:balance}p,li,dd{text-wrap:pretty}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input{font:inherit}button,summary{cursor:pointer}button{color:inherit}img{width:100%;height:auto;display:block}::selection{color:var(--surface);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}main:focus{outline:none}[hidden]{display:none!important}.heading-1{font-size:3.75rem;font-weight:600;line-height:1}.heading-2{font-size:3rem;font-weight:600;line-height:1}.heading-3{font-size:2.25rem;font-weight:600;line-height:2.5rem}.heading-4{font-size:1.875rem;font-weight:600;line-height:2.25rem}.heading-5{font-size:1.5rem;font-weight:600;line-height:2rem}.heading-6{font-size:1.25rem;font-weight:600;line-height:1.75rem}.title-1{font-size:1.25rem;font-weight:500;line-height:1.75rem}.title-2{font-size:1.125rem;font-weight:500;line-height:1.75rem}.title-3{font-size:1rem;font-weight:500;line-height:1.5rem}.title-4{font-size:.875rem;font-weight:500;line-height:1.25rem}.title-5{font-size:.75rem;font-weight:500;line-height:1rem}.body-1{font-size:1rem;font-weight:600;line-height:1.5rem}.body-2{font-size:1rem;font-weight:500;line-height:1.5rem}.body-3{font-size:1rem;font-weight:400;line-height:1.5rem}.body-4{font-size:.875rem;font-weight:600;line-height:1.25rem}.body-5{font-size:.875rem;font-weight:500;line-height:1.25rem}.body-6{font-size:.875rem;font-weight:400;line-height:1.25rem}.button-lg{font-size:1.125rem;font-weight:600;line-height:1.75rem}.button-md{font-size:1rem;font-weight:600;line-height:1.5rem}.button-sm{font-size:.875rem;font-weight:600;line-height:1.25rem}.button-xsm{font-size:.75rem;font-weight:600;line-height:1rem}.caption-1{font-size:.875rem;font-weight:500;line-height:1.25rem}.caption-2{font-size:.875rem;font-weight:400;line-height:1.25rem}.caption-3{font-size:.75rem;font-weight:600;line-height:1rem}.caption-4{font-size:.75rem;font-weight:500;line-height:1rem}.caption-5{font-size:.75rem;font-weight:400;line-height:1rem}.container{width:min(100% - var(--spacing-700), 1200px);margin-inline:auto}.muted{color:var(--muted)}.accent{color:var(--accent)}.icon{flex:none;width:18px;height:18px;display:inline-flex}.icon svg{fill:currentColor;width:100%;height:100%}.text-link{align-items:center;gap:var(--spacing-75);display:inline-flex}.text-link .icon{transition:transform .5s var(--motion)}.text-link:hover .icon{transform:translate(2px,-2px)}a:active,button:active{transform:scale(.98)}.button{justify-content:center;align-items:center;gap:var(--spacing-75);padding:var(--spacing-75) var(--spacing-100);min-height:var(--spacing-600);background:var(--surface-button);color:var(--accent);transition:transform .5s var(--motion), opacity .3s var(--motion);border:1px solid #53574b;border-radius:8px;display:inline-flex}.button:hover{opacity:.85;transform:translateY(-2px)}.button:active{transform:scale(.98)}.skip-link{top:var(--spacing-200);left:var(--spacing-200);z-index:100;padding:var(--spacing-75) var(--spacing-100);background:var(--surface-button);border-radius:8px;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{top:var(--spacing-300);z-index:30;pointer-events:none;justify-content:center;display:flex;position:fixed;left:0;right:0}.navigation{align-items:center;gap:var(--spacing-300);padding:var(--spacing-75);border:1px solid var(--line);backdrop-filter:blur(24px);pointer-events:auto;background:#181818d9;border-radius:16px;display:flex}.brand{padding-inline:var(--spacing-100)}.brand-mark{align-items:baseline;display:inline-flex}.brand-mark span{color:var(--accent)}.desktop-links{gap:var(--spacing-50);display:flex}.nav-link{padding:var(--spacing-75) var(--spacing-100);color:var(--muted);border-radius:8px;display:block}.nav-link:hover,.nav-link[aria-current=location]{color:var(--text);background:var(--surface-hover)}.menu-toggle{z-index:50;background:var(--surface-hover);border:0;border-radius:8px;width:40px;height:40px;position:relative}.navigation .menu-toggle{display:none}.menu-line{left:var(--spacing-75);background:var(--text);width:24px;height:2px;transition:transform .5s var(--motion);position:absolute}.menu-line:first-child{transform:translateY(-4px)}.menu-line:last-child{transform:translateY(4px)}.menu-toggle[aria-expanded=true] .menu-line:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-line:last-child{transform:rotate(-45deg)}.mobile-menu{z-index:40;width:100%;max-width:none;height:100dvh;max-height:none;padding:var(--spacing-900) var(--spacing-300);color:var(--text);backdrop-filter:blur(32px);background:#181818f5;border:0;margin:0;position:fixed;inset:0}.mobile-menu::backdrop{background:#181818d9}.mobile-menu-links{justify-content:center;align-items:flex-start;gap:var(--spacing-400);flex-direction:column;height:100%;display:flex}.mobile-menu-links a{opacity:0;transition:opacity .5s var(--motion), transform .5s var(--motion);transition-delay:var(--link-delay,.18s);transform:translateY(24px)}.mobile-menu[data-entered] .mobile-menu-links a{opacity:1;transform:translateY(0)}.mobile-menu-links .menu-home{color:var(--muted)}.mobile-menu .dialog-close{top:var(--spacing-300);right:var(--spacing-300);position:absolute}.hero{padding-top:var(--spacing-900)}.hero-grid{align-items:center;gap:var(--spacing-700);min-height:640px;padding-block:var(--spacing-700);grid-template-columns:1.1fr 1fr;display:grid}.eyebrow{align-items:center;gap:var(--spacing-100);color:var(--muted);display:flex}.small-dot{background:var(--surface-button);border:2px solid var(--accent);border-radius:9999px;flex:none;width:8px;height:8px;display:inline-block}.hero h1{max-width:680px;margin-top:var(--spacing-300);letter-spacing:-.04em;color:var(--text)}.hero-description{max-width:680px;margin-top:var(--spacing-300);color:var(--muted)}.hero-actions{align-items:flex-start;gap:var(--spacing-200);margin-top:var(--spacing-400);flex-direction:column;display:flex}.hero-visual{min-width:0;position:relative}.preview{border:1px solid var(--line);background:var(--surface-raised);border-radius:16px;overflow:hidden;box-shadow:0 24px 48px #0003}.preview-first{width:90%}.preview-second{width:90%;margin-left:auto;margin-top:calc(-1 * var(--spacing-600));position:relative}.preview-bar{justify-content:space-between;align-items:center;gap:var(--spacing-100);padding:var(--spacing-100) var(--spacing-200);display:flex}.preview-category{color:var(--muted)}.preview img{aspect-ratio:1.65;object-fit:cover;object-position:top}.section{padding-block:var(--spacing-900)}.section-kicker{align-items:center;gap:var(--spacing-100);margin-bottom:var(--spacing-200);color:var(--muted);display:inline-flex}.section-number{color:var(--accent);font-variant-numeric:tabular-nums}.section-head{justify-content:space-between;align-items:end;gap:var(--spacing-400);margin-bottom:var(--spacing-600);display:flex}.section-head h2{letter-spacing:-.035em;max-width:680px}.projects-section{background:var(--surface-raised)}.projects-grid{gap:var(--spacing-400);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project{flex-direction:column;min-width:0;display:flex}.project-top{justify-content:space-between;align-items:center;gap:var(--spacing-200);margin-bottom:var(--spacing-200);display:flex}.project-index{color:var(--subtle);font-variant-numeric:tabular-nums}.project-image-link{border:1px solid var(--line);background:var(--surface);transition:opacity .3s var(--motion);border-radius:16px;display:block;overflow:hidden}.project-image-link img{aspect-ratio:1.5;object-fit:cover;object-position:top}.project-image-link:hover{opacity:.9}.project-copy{padding-top:var(--spacing-300);flex-direction:column;flex:1;display:flex}.project-category{color:var(--accent);margin-bottom:var(--spacing-100)}.project-copy h3{max-width:440px;margin-bottom:var(--spacing-200);letter-spacing:-.025em}.project-description{max-width:480px;color:var(--muted)}.project-tags{gap:var(--spacing-75);margin-block:var(--spacing-300);flex-wrap:wrap;display:flex}.project-tags li{padding:var(--spacing-50) var(--spacing-100);border:1px solid var(--line);color:var(--muted);border-radius:9999px}.project-bottom{align-items:flex-start;gap:var(--spacing-75);flex-direction:column;margin-top:auto;display:flex}.project-domain{color:var(--subtle);overflow-wrap:anywhere}.project-bottom .text-link{flex:none}.projects-note{margin-top:var(--spacing-500);color:var(--subtle)}.tagline-section{padding-block:var(--spacing-900)}.tagline-layout{gap:var(--spacing-600);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;display:grid}.tagline{letter-spacing:-.035em;max-width:680px}.tagline-line{display:block}.tagline-word{color:var(--text);display:inline-block}html[data-motion=full] .tagline-word{opacity:.3;transition:opacity .6s var(--motion)}html[data-motion=full] .tagline-word[data-active]{opacity:1}.terminal-window{--surface:#191724;--surface-raised:#1f1d2e;--surface-hover:#26233a;--text:#e0def4;--muted:#908caa;--subtle:#908caa;--accent:#ebbcba;--line:#403d52;border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--text);border-radius:12px;font-family:Geist Mono,monospace;overflow:hidden}.terminal-window::selection,.terminal-window ::selection{color:var(--text);background:var(--line)}.terminal-window code,.terminal-window pre{font-family:inherit}.terminal-titlebar{align-items:center;gap:var(--spacing-100);padding:var(--spacing-100) var(--spacing-200);background:var(--surface-raised);color:var(--muted);display:flex}.terminal-path{color:var(--subtle);margin-left:auto}.terminal-screen{padding:var(--spacing-300)}.terminal-command{align-items:center;gap:var(--spacing-100);display:flex}.terminal-prompt{color:var(--accent)}.terminal-active{color:#f6c177}.terminal-fetch{align-items:center;gap:var(--spacing-400);margin-block:var(--spacing-300);grid-template-columns:auto minmax(0,1fr);display:grid}.terminal-tiles{color:#c4a7e7;margin:0}.terminal-stack{gap:var(--spacing-75) var(--spacing-200);grid-template-columns:max-content minmax(0,1fr);display:grid}.terminal-stack dt{color:var(--subtle)}.terminal-projects{gap:var(--spacing-75) var(--spacing-200);margin-top:var(--spacing-75);margin-bottom:var(--spacing-300);color:#9ccfd8;flex-wrap:wrap;display:flex}.terminal-editor-tabline{align-items:center;gap:var(--spacing-200);padding:var(--spacing-75) var(--spacing-200);background:var(--surface-raised);display:flex}.terminal-editor-label{color:var(--subtle);margin-left:auto}.terminal-editor-code{padding:var(--spacing-200);counter-reset:editor-line;margin:0}.terminal-editor-code span{font-style:normal!important}.terminal-editor-code .line:before{width:2ch;margin-right:var(--spacing-200);color:var(--subtle);text-align:right;content:counter(editor-line);counter-increment:editor-line;display:inline-block}.terminal-editor-code .line:last-child:after{width:var(--spacing-75);height:var(--spacing-200);vertical-align:text-bottom;content:"";background:#524f67;display:inline-block}.terminal-editor-status{align-items:center;gap:var(--spacing-100);padding-right:var(--spacing-200);background:var(--surface-raised);display:flex}.terminal-editor-mode{padding:var(--spacing-75) var(--spacing-100);color:var(--surface);background:#c4a7e7}.terminal-status{align-items:center;gap:var(--spacing-200);padding:var(--spacing-75) var(--spacing-200);background:var(--surface-hover);display:flex}.terminal-session{color:var(--muted)}.terminal-status-label{color:var(--subtle);margin-left:auto}.about-section{background:#131209}.about-layout{gap:var(--spacing-900);grid-template-columns:1fr 1fr;display:grid}.about-layout h2{letter-spacing:-.035em;max-width:480px}.about-copy{align-items:flex-start;gap:var(--spacing-300);flex-direction:column;display:flex}.about-copy>p{max-width:520px;color:var(--muted)}.about-tools{gap:var(--spacing-100);margin-block:var(--spacing-75);flex-wrap:wrap;display:flex}.about-tools li{color:var(--text)}.about-tools li:not(:last-child):after{content:"/";margin-left:var(--spacing-100);color:var(--subtle)}.about-copy .text-link{color:var(--accent)}.site-footer{padding-top:var(--spacing-300);padding-bottom:var(--spacing-400)}.footer-top{justify-content:space-between;align-items:center;gap:var(--spacing-300);padding-bottom:var(--spacing-400);display:flex}.footer-bottom{justify-content:space-between;gap:var(--spacing-200);display:flex}.footer-legal{gap:var(--spacing-300);color:var(--muted);display:flex}.footer-legal a:hover,.footer-name:hover{color:var(--accent)}.document{max-width:680px;padding-top:var(--spacing-900);padding-bottom:var(--spacing-900)}.document .back-link{color:var(--muted);margin-top:var(--spacing-600);margin-bottom:var(--spacing-400)}.document h1{letter-spacing:-.035em;margin-bottom:var(--spacing-300)}.document-intro{color:var(--muted);margin-bottom:var(--spacing-600)}.document-section+.document-section{margin-top:var(--spacing-400)}.document-section h2{margin-bottom:var(--spacing-200)}.document-section p{color:var(--muted)}.document-section a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.not-found{min-height:75dvh;padding-top:var(--spacing-900);padding-bottom:var(--spacing-700);justify-content:center;align-items:flex-start;gap:var(--spacing-300);flex-direction:column;display:flex}.not-found h1{letter-spacing:-.035em;max-width:680px}.not-found>p{max-width:480px;color:var(--muted)}html[data-motion=full] [data-reveal]{opacity:0;transition:opacity .7s var(--motion), transform .7s var(--motion);transform:translateY(32px)}html[data-motion=full] [data-reveal][data-visible]{opacity:1;transform:translateY(0)}@media (width<=1000px){.hero-grid{gap:var(--spacing-400)}.hero h1{font-size:3rem;line-height:1}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tagline-layout,.about-layout{gap:var(--spacing-500)}.tagline{font-size:2.25rem;line-height:2.5rem}}@media (width<=760px){.container{width:calc(100% - var(--spacing-600))}.site-header{top:var(--spacing-200)}.navigation{gap:var(--spacing-600)}.hero{padding-top:var(--spacing-900)}.hero-grid{gap:var(--spacing-600);min-height:auto;padding-top:var(--spacing-400);padding-bottom:var(--spacing-500);grid-template-columns:1fr}.hero h1{font-size:3rem;line-height:1}.hero-description{max-width:520px}.hero-visual{width:100%;max-width:520px;margin-inline:auto}.preview-first,.preview-second{width:88%}.preview-second{margin-top:calc(-1 * var(--spacing-400))}.section{padding-block:var(--spacing-700)}.section-head{margin-bottom:var(--spacing-400);display:block}.section-head h2,.about-layout h2{font-size:2.25rem;line-height:2.5rem}.projects-grid{gap:var(--spacing-700);grid-template-columns:1fr}.tagline-section{padding-block:var(--spacing-700)}.tagline-layout,.about-layout{gap:var(--spacing-400);grid-template-columns:1fr}.tagline{font-size:2.25rem;line-height:2.5rem}.terminal-screen{padding:var(--spacing-200)}.terminal-fetch{grid-template-columns:1fr}.terminal-tiles{display:none}.footer-top{gap:var(--spacing-200);flex-wrap:wrap}.footer-top>p{order:3;width:100%}.footer-bottom{gap:var(--spacing-200);flex-direction:column}.footer-legal{flex-wrap:wrap}.document{padding-bottom:var(--spacing-700)}.document h1,.not-found h1{font-size:2.25rem;line-height:2.5rem}}@media (width<=440px){.navigation{gap:var(--spacing-200)}.desktop-links{gap:0}.nav-link{padding-inline:var(--spacing-75)}html[data-menu-ready] .desktop-links{display:none}html[data-menu-ready] .navigation .menu-toggle{display:block}.preview-category{display:none}.hero-grid{padding-top:var(--spacing-300)}.hero h1{font-size:2.25rem;line-height:2.5rem}.hero-actions{margin-top:var(--spacing-300)}.project-bottom{align-items:flex-start;gap:var(--spacing-100);flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}a:hover,a:active,.button:hover,.button:active,button:hover,button:active,.text-link:hover .icon{transform:none}html[data-motion=full] [data-reveal]{opacity:1;transform:none}html[data-motion=full] .tagline-word{opacity:1}.mobile-menu-links a{opacity:1;transform:none}}
