:root{--bg: #0b0d10;--bg-subtle: #0f1216;--surface: #12161b;--surface-strong: #171c22;--text: #edf1f2;--text-soft: #bdc6ca;--muted: #95a1a8;--line: #273039;--line-strong: #3a4650;--accent: #5ed6c3;--accent-soft: rgba(94, 214, 195, .1);--warm: #d2aa68;--success: #87d99b;--internal: #d7ae70;--hybrid: #b8a6df;--font-sans: "Outfit", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", Consolas, monospace;--container: 1180px;--nav-height: 68px;--section-space: clamp(5rem, 9vw, 8.5rem);--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 24px)}body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:100% 72px}h1,h2,h3,p,dl,dd,ul{margin-top:0}h1,h2,h3{color:var(--text);line-height:1.08;letter-spacing:-.025em}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}img,svg{display:block;max-width:100%}::selection{color:#07100e;background:var(--accent)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.container{width:min(calc(100% - 3rem),var(--container));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:.7rem 1rem;background:var(--accent);color:#08110f;font-family:var(--font-mono);font-size:.78rem;font-weight:600;transform:translateY(-150%);transition:transform .2s}.skip-link:focus{transform:translateY(0)}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .55s var(--ease),transform .55s var(--ease)}.js .reveal.is-visible{opacity:1;transform:none}html:not(.js) .project-toolbar,html:not(.js) .project-results,html:not(.js) .projects__featured,html:not(.js) .project-archive{display:none}.navbar{position:fixed;inset:0 0 auto;z-index:100;height:var(--nav-height);border-bottom:1px solid transparent;background:#0b0d10d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .25s,background .25s}.navbar.scrolled{border-color:var(--line);background:#0b0d10f5}.nav-shell{width:min(calc(100% - 3rem),var(--container));height:100%;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.nav-logo{color:var(--text);font-family:var(--font-mono);font-size:1rem;font-weight:600;letter-spacing:-.04em}.logo-bracket{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:1.65rem;margin:0;padding:0;list-style:none}.nav-link{position:relative;color:var(--muted);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;transition:color .2s}.nav-link:hover,.nav-link.is-active{color:var(--text)}.nav-link.is-active:after{content:"";position:absolute;right:0;bottom:-.65rem;left:0;height:1px;background:var(--accent)}.nav-link--cta{padding:.55rem .8rem;border:1px solid var(--line-strong);color:var(--text-soft)}.nav-link--cta:after{display:none}.nav-link--cta:hover{border-color:var(--accent);color:var(--accent)}.nav-toggle{display:none;width:40px;height:40px;padding:9px;border:1px solid var(--line);background:transparent;cursor:pointer}.nav-toggle span{display:block;width:100%;height:1px;margin:5px 0;background:var(--text);transition:transform .2s,opacity .2s}.nav-toggle.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.hero{min-height:min(860px,90vh);display:flex;align-items:center;padding:calc(var(--nav-height) + 5rem) 0 5rem;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(94,214,195,.035),transparent 38%),var(--bg)}.hero__layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:end;gap:clamp(3rem,7vw,7rem)}.hero__eyebrow,.section__label,.hero__brief-label{color:var(--accent);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.hero h1{max-width:900px;margin:1.35rem 0 1.5rem;font-size:clamp(3.1rem,6.5vw,5.8rem);font-weight:600;letter-spacing:-.055em}.hero__lead{max-width:760px;margin-bottom:1rem;color:var(--text-soft);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.45}.hero__support{max-width:720px;margin-bottom:2.2rem;color:var(--muted);font-size:.98rem}.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.72rem 1rem;border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.025em;transition:background .2s,border-color .2s,color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn--primary{border-color:var(--accent);background:var(--accent);color:#07100e}.btn--primary:hover{background:#74e2d1}.btn--secondary{color:var(--text-soft);background:transparent}.btn--secondary:hover{border-color:var(--text-soft);color:var(--text)}.hero__brief{padding:1.5rem 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.hero__brief-label{margin-bottom:1.2rem;color:var(--muted)}.hero__brief dl{margin:0}.hero__brief dl div{display:grid;grid-template-columns:92px 1fr;gap:.8rem;padding:.75rem 0;border-top:1px solid var(--line)}.hero__brief dt{color:var(--warm);font-family:var(--font-mono);font-size:.75rem}.hero__brief dd{margin:0;color:var(--text-soft);font-size:.9rem;line-height:1.5}.section{padding:var(--section-space) 0}.section__header{max-width:800px;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.section__title{max-width:780px;margin:.9rem 0 1rem;font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;letter-spacing:-.045em}.section__subtitle{max-width:680px;margin-bottom:0;color:var(--muted);font-size:1rem}.about__layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(3rem,7vw,7rem);align-items:start}.about__copy{max-width:720px}.about__copy p{color:var(--muted)}.about__copy .about__intro{color:var(--text);font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.45}.about__facts{border-top:1px solid var(--line-strong)}.fact{display:grid;grid-template-columns:96px 1fr;align-items:baseline;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}.fact strong{color:var(--text);font-family:var(--font-mono);font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:600}.fact>span{color:var(--text-soft);font-size:.95rem}.capabilities{border-top:1px solid var(--line);background:var(--bg-subtle)}.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.capability-card{position:relative;min-height:310px;padding:clamp(1.5rem,3vw,2.3rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;transition:background .25s}.capability-card:hover{background:#ffffff05}.capability-card__index{margin-bottom:2.5rem;color:var(--accent);font-family:var(--font-mono);font-size:.75rem}.capability-card h3{margin-bottom:.8rem;font-size:1.35rem;font-weight:600}.capability-card>p:not(.capability-card__index){max-width:520px;color:var(--muted);font-size:.95rem}.capability-card ul{display:flex;flex-wrap:wrap;gap:.45rem .85rem;margin:1.5rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line);list-style:none}.capability-card li{color:var(--text-soft);font-family:var(--font-mono);font-size:.75rem}.experience{border-top:1px solid var(--line)}.experience__layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:clamp(3rem,7vw,8rem)}.experience .section__header{margin-bottom:0}.ownership-list{margin:0;padding:0;border-top:1px solid var(--line-strong);list-style:none}.ownership-list li{display:grid;grid-template-columns:180px 1fr;gap:1.4rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.ownership-list strong{color:var(--text);font-size:.95rem;font-weight:500}.ownership-list span{color:var(--muted);font-size:.92rem}.engineering-signals{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:2rem}.engineering-signals span{padding:.42rem .6rem;border:1px solid var(--line);color:var(--text-soft);font-family:var(--font-mono);font-size:.75rem}.projects{border-top:1px solid var(--line);background:var(--bg-subtle)}.project-disclosure{display:grid;grid-template-columns:190px 1fr;gap:1.5rem;margin-bottom:2rem;padding:1rem 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line)}.project-disclosure strong{color:var(--warm);font-family:var(--font-mono);font-size:.75rem;font-weight:500;text-transform:uppercase}.project-disclosure p{max-width:760px;margin:0;color:var(--muted);font-size:.92rem}.project-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin:2.5rem 0 1rem}.project-filters{display:flex;flex-wrap:wrap;gap:.45rem}.project-filter{min-height:38px;padding:.45rem .7rem;border:1px solid var(--line);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.project-filter span{color:inherit}.project-filter:hover{border-color:var(--line-strong);color:var(--text-soft)}.project-filter.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.project-search{display:grid;gap:.35rem;width:min(320px,100%)}.project-search>span{color:var(--muted);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase}.project-search input{width:100%;min-height:42px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:0;outline:0;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:.78rem}.project-search input:focus{border-color:var(--accent)}.project-search input::placeholder{color:var(--muted);opacity:1}.project-results{display:flex;justify-content:space-between;gap:1rem;margin-bottom:2rem;color:var(--muted);font-family:var(--font-mono);font-size:.75rem}.projects__featured{display:grid;gap:1rem}.project-enter{animation:project-enter .45s var(--ease) both}@keyframes project-enter{0%{opacity:0;transform:translateY(12px)}}.case-study{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);border:1px solid var(--line);background:var(--bg)}.case-study__header{padding:clamp(1.5rem,3.5vw,2.5rem);border-right:1px solid var(--line)}.case-study__meta{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-bottom:1.8rem}.case-study__meta span{color:var(--muted);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase}.case-study__meta span:first-child{color:var(--accent)}.case-study h3{margin-bottom:.65rem;font-size:clamp(1.55rem,3vw,2.4rem);font-weight:600}.case-study__role{margin-bottom:1.4rem;color:var(--warm);font-family:var(--font-mono);font-size:.75rem}.case-study__summary{color:var(--muted);font-size:.95rem}.case-study__content{padding:clamp(1.5rem,3.5vw,2.5rem)}.case-study__story{border-top:1px solid var(--line-strong)}.case-study__story>div{display:grid;grid-template-columns:90px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.case-study__story span,.project-flow__label{color:var(--accent);font-family:var(--font-mono);font-size:.75rem;font-weight:500;text-transform:uppercase}.case-study__story p{margin:0;color:var(--text-soft);font-size:.9rem}.project-flow{display:grid;grid-template-columns:90px 1fr;gap:1rem;margin:1rem 0;padding:.9rem 0;border-bottom:1px solid var(--line)}.project-flow p{margin:0;color:var(--muted);font-size:.88rem}.case-study__details{border-bottom:1px solid var(--line)}.case-study__details summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;color:var(--text-soft);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;list-style:none}.case-study__details summary::-webkit-details-marker{display:none}.case-study__details summary span{color:var(--accent);font-size:1rem;transition:transform .2s}.case-study__details[open] summary span{transform:rotate(45deg)}.case-study__details-body{padding:0 0 1.2rem}.architecture{display:flex;align-items:center;gap:.5rem;overflow-x:auto;padding:.3rem 0 1rem;scrollbar-width:thin}.architecture__node{flex:0 0 auto;padding:.55rem .65rem;border:1px solid var(--line-strong);color:var(--text-soft);font-family:var(--font-mono);font-size:.75rem}.architecture__arrow{flex:0 0 auto;color:var(--accent);font-family:var(--font-mono)}.case-study__details dl{margin:0}.case-study__details dl>div{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.75rem 0}.case-study__details dt{color:var(--text-soft);font-size:.78rem}.case-study__details dd{margin:0;color:var(--muted);font-size:.85rem}.case-study__privacy{margin:1rem 0 0;color:var(--muted);font-family:var(--font-mono);font-size:.75rem}.project-card__badges,.project-card__tags,.project-links{display:flex;flex-wrap:wrap;gap:.4rem}.project-card__badges{margin:1rem 0 .75rem}.project-badge,.tag{display:inline-flex;align-items:center;min-height:26px;padding:.25rem .48rem;border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:.75rem}.project-badge--public{color:var(--success);border-color:#87d99b52}.project-badge--internal{color:var(--internal);border-color:#d7ae704d}.project-badge--hybrid{color:var(--hybrid);border-color:#b8a6df4d}.project-badge--ai{color:var(--accent);border-color:#5ed6c34d}.project-card__tags{margin-bottom:1rem}.tag{border-color:transparent;background:#ffffff09;color:var(--text-soft)}.project-links{margin-top:1rem}.project-link{display:inline-flex;align-items:center;gap:.8rem;min-height:38px;padding:.5rem .65rem;border:1px solid var(--line-strong);color:var(--accent);font-family:var(--font-mono);font-size:.75rem;transition:border-color .2s,background .2s}.project-link:hover{border-color:var(--accent);background:var(--accent-soft)}.project-archive{margin-top:clamp(4rem,8vw,7rem);padding-top:2rem;border-top:1px solid var(--line-strong)}.project-archive.is-empty{padding-top:0;border-top:0}.project-archive.is-empty .project-archive__heading{display:none}.project-archive__heading{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:2rem}.project-archive__heading h3{margin:.7rem 0 0;font-size:clamp(1.7rem,3vw,2.5rem)}.project-archive__heading>p{max-width:520px;margin:0;color:var(--muted)}.project-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.catalog-card{min-width:0;padding:1.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.catalog-card__top{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.catalog-card__code,.catalog-card__period,.catalog-card__category{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase}.catalog-card__code{color:var(--accent)}.catalog-card__period{color:var(--muted);text-align:right}.catalog-card__category{margin-bottom:.45rem;color:var(--warm)}.catalog-card h3{margin-bottom:.55rem;font-size:1.05rem;line-height:1.25}.catalog-card__desc{display:-webkit-box;min-height:3.9em;margin-bottom:.85rem;overflow:hidden;color:var(--muted);font-size:.9rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.catalog-card .project-card__badges{margin:.75rem 0}.catalog-card__stack{display:flex;flex-wrap:wrap;gap:.3rem .6rem;padding-top:.75rem;border-top:1px solid var(--line)}.catalog-card__stack span{color:var(--muted);font-family:var(--font-mono);font-size:.75rem}.catalog-card .project-links{margin-top:.85rem}.project-empty{padding:3rem 1rem;border:1px solid var(--line);color:var(--muted);text-align:center;font-family:var(--font-mono);font-size:.75rem}.no-js-projects{border-top:1px solid var(--line-strong)}.no-js-projects h3{margin:1.2rem 0;font-size:1.4rem}.no-js-projects ul{margin:0;padding:0;list-style:none}.no-js-projects li{padding:1rem 0;border-top:1px solid var(--line);color:var(--muted)}.no-js-projects strong{color:var(--text)}.contact{border-top:1px solid var(--line)}.contact__layout{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,8vw,8rem);align-items:end}.contact__title{max-width:760px;margin:.9rem 0 1rem;font-size:clamp(2.4rem,5.5vw,5rem);font-weight:600}.contact__desc{max-width:620px;margin-bottom:0;color:var(--muted)}.contact__actions{padding-top:1.4rem;border-top:1px solid var(--line-strong)}.contact__email{display:inline-block;margin-bottom:1.5rem;color:var(--text);font-size:clamp(1rem,2vw,1.25rem);border-bottom:1px solid var(--accent)}.contact__links{display:flex;gap:1rem}.contact__links a{color:var(--muted);font-family:var(--font-mono);font-size:.75rem}.contact__links a:hover{color:var(--accent)}.footer{padding:1.5rem 0;border-top:1px solid var(--line)}.footer__inner{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center}.footer p{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:.75rem}.footer p:nth-child(2){text-align:center}.footer__top{color:var(--text-soft);font-family:var(--font-mono);font-size:.75rem}.footer__top:hover{color:var(--accent)}@media(max-width:980px){.hero__layout,.about__layout,.experience__layout,.contact__layout{grid-template-columns:1fr}.hero{min-height:auto}.hero__brief{max-width:680px}.experience .section__header{margin-bottom:2rem}.case-study{grid-template-columns:1fr}.case-study__header{border-right:0;border-bottom:1px solid var(--line)}.project-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.container,.nav-shell{width:min(calc(100% - 2rem),var(--container))}.nav-toggle{display:block}.nav-links{position:fixed;top:var(--nav-height);right:0;left:0;display:grid;align-content:start;gap:0;min-height:calc(100dvh - var(--nav-height));padding:1rem;border-top:1px solid var(--line);background:var(--bg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,visibility .2s,transform .2s}.nav-links.open{opacity:1;visibility:visible;transform:none}.nav-links li{border-bottom:1px solid var(--line)}.nav-link{display:block;padding:1.1rem .5rem;font-size:.78rem}.nav-link.is-active:after{display:none}.nav-link--cta{border:0}.hero{padding-top:calc(var(--nav-height) + 3.5rem)}.hero h1{font-size:clamp(2.8rem,14vw,4.5rem)}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:0}.ownership-list li{grid-template-columns:1fr;gap:.35rem}.project-disclosure,.project-archive__heading{grid-template-columns:1fr;gap:.75rem}.project-toolbar{align-items:stretch;flex-direction:column}.project-search{width:100%}.project-results span:last-child{display:none}.case-study__story>div,.project-flow{grid-template-columns:1fr;gap:.35rem}.case-study__details dl>div{grid-template-columns:1fr;gap:.25rem}.project-catalog{grid-template-columns:1fr}.footer__inner{grid-template-columns:1fr;gap:.45rem;text-align:left}.footer p:nth-child(2){text-align:left}}@media(max-width:480px){.section{padding:4.5rem 0}.hero__cta{flex-direction:column}.btn{width:100%}.hero__brief dl div{grid-template-columns:1fr;gap:.2rem}.fact{grid-template-columns:78px 1fr}.project-filter{flex:1 1 calc(50% - .45rem)}.case-study__header,.case-study__content{padding:1.2rem}.architecture{align-items:stretch;flex-direction:column}.architecture__arrow{transform:rotate(90deg);align-self:center}.architecture__node{text-align:center}.contact__links{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}@media print{.navbar,.project-toolbar,.footer__top{display:none!important}body{background:#fff;color:#111}.section,.hero{padding:2rem 0;border-color:#ccc}.case-study,.catalog-card,.capability-card{break-inside:avoid;border-color:#ccc}}
