:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f6f1;--bg-soft:#efeee7;--surface:#fffefa;--surface-alt:#f2f0e9;--text:#20221e;--muted:#5f625c;--subtle:#85877f;--line:#20221e1f;--line-strong:#20221e33;--accent:#5557d9;--accent-strong:#4547c6;--accent-soft:#5557d91a;--accent-ink:#fff;--lime:#d4f278;--good:#397d5a;--shadow-soft:0 18px 50px #25221912;--shadow-card:0 8px 30px #2522190a;--radius-lg:24px;--radius-md:17px;--container:1180px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12130f;--bg-soft:#191b16;--surface:#1e211b;--surface-alt:#252821;--text:#f0f1e9;--muted:#b6b9ad;--subtle:#898e80;--line:#eef1e21a;--line-strong:#eef1e22e;--accent:#aaa8ff;--accent-strong:#c3c1ff;--accent-soft:#aaa8ff21;--accent-ink:#17171f;--lime:#d4f278;--good:#8ad4a5;--shadow-soft:0 18px 50px #00000038;--shadow-card:0 8px 30px #00000026}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--bg);min-width:320px;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.65;transition:background-color .18s,color .18s}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--lime);color:#20221e}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.container{width:min(var(--container), calc(100% - 64px));margin-inline:auto}.section-wrap{padding-block:clamp(74px,8vw,116px);scroll-margin-top:78px;position:relative}.skip-link{z-index:1000;background:var(--lime);color:#20221e;border-radius:10px;padding:10px 14px;font-weight:750;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-atmosphere{pointer-events:none;z-index:0;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.16;background-size:84px 84px;height:880px;position:absolute;inset:0 0 auto;overflow:hidden;-webkit-mask-image:linear-gradient(#000,#0000 92%);mask-image:linear-gradient(#000,#0000 92%)}.ambient-orb{filter:blur(100px);opacity:.13;border-radius:999px;position:absolute}.ambient-orb--one{background:#a9a6ff;width:420px;height:420px;top:70px;right:1%}.ambient-orb--two{background:#d4f278;width:300px;height:300px;top:410px;left:-190px}main,.site-footer{z-index:1;position:relative}.site-header{z-index:80;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(18px);position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:28px;min-height:78px;display:flex}.wordmark{flex-shrink:0;align-items:center;gap:11px;display:inline-flex}.wordmark-mark{letter-spacing:-2.5px;font-size:27px;font-weight:850;line-height:1}.wordmark-mark span{color:var(--accent)}.wordmark-lockup{gap:3px;line-height:1.3;display:grid}.wordmark-lockup strong{font-size:12px;font-weight:760}.wordmark-lockup small{color:var(--subtle);font-size:10px}.nav-links{align-items:center;gap:clamp(18px,3vw,34px);margin-left:auto;display:flex}.nav-links a,.mobile-nav-inner>a{color:var(--muted);font-size:12px;font-weight:650;transition:color .16s}.nav-links a:hover,.mobile-nav-inner>a:hover{color:var(--accent)}.nav-actions{align-items:center;gap:11px;display:flex}.icon-button{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.icon-button:hover{border-color:var(--accent);transform:translateY(-1px)}.nav-contact{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:12px;align-items:center;gap:8px;padding:11px 15px;font-size:12px;font-weight:760;transition:transform .18s,filter .18s;display:inline-flex}.nav-contact:hover{filter:brightness(1.04);transform:translateY(-2px)}.mobile-menu-toggle,.mobile-nav{display:none}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:47px;padding:12px 17px;font-size:12px;font-weight:760;transition:transform .18s,border-color .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.button-secondary{border-color:var(--line-strong);background:var(--surface);color:var(--text)}.button-secondary:hover{border-color:var(--accent);color:var(--accent)}.text-link{color:var(--accent);align-items:center;gap:7px;font-size:12px;font-weight:750;transition:gap .18s;display:inline-flex}.text-link:hover{gap:11px}.section-intro-row{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:38px;display:flex}.section-heading{max-width:720px}.section-eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:9px;margin-bottom:17px;font-size:10px;font-weight:780;display:flex}.section-index{color:var(--subtle);letter-spacing:.03em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow-line{background:var(--accent);opacity:.7;width:23px;height:1px}.section-heading h2{letter-spacing:-.055em;max-width:720px;margin:0;font-size:clamp(32px,4vw,49px);font-weight:690;line-height:1.1}.section-heading>p{max-width:660px;color:var(--muted);margin:15px 0 0;font-size:14px;line-height:1.85}.section-heading--center{text-align:center;margin-inline:auto}.section-heading--center .section-eyebrow{justify-content:center}.micro-label{color:var(--subtle);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.hero{padding-top:clamp(66px,7vw,100px);padding-bottom:34px;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(390px,.88fr);align-items:center;gap:clamp(48px,7.2vw,100px);display:grid}.hero-copy{z-index:2;position:relative}.hero-kicker{border:1px solid var(--line-strong);width:fit-content;max-width:100%;color:var(--muted);background:var(--surface);letter-spacing:.045em;border-radius:999px;align-items:center;gap:9px;margin:0;padding:8px 12px;font-size:10px;font-weight:750;display:flex}.status-dot{background:#4c9b68;border-radius:50%;flex:0 0 7px;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #4c9b681f}.hero-greeting{color:var(--muted);margin:28px 0 8px;font-size:clamp(16px,1.8vw,19px)}.hero h1{letter-spacing:-.075em;max-width:700px;margin:0;font-size:clamp(48px,5.7vw,79px);font-weight:720;line-height:.99}.headline-accent{color:var(--accent);white-space:nowrap;display:inline-block;position:relative}.headline-accent:after{background:var(--lime);opacity:.82;content:"";z-index:-1;border-radius:100%;height:7px;position:absolute;bottom:-5px;left:0;right:0;transform:rotate(-1.5deg)}.hero-description{max-width:610px;color:var(--muted);margin:25px 0 0;font-size:clamp(14px,1.35vw,16px);line-height:1.9}.hero-ctas{flex-wrap:wrap;gap:11px;margin-top:29px;display:flex}.hero-meta{color:var(--subtle);flex-wrap:wrap;gap:9px 18px;margin-top:24px;font-size:10px;display:flex}.hero-meta span{align-items:center;gap:7px;display:inline-flex}.meta-dot{background:var(--accent);border-radius:50%;width:4px;height:4px}.hero-socials{color:var(--subtle);flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;font-size:11px;display:flex}.hero-socials a{align-items:center;gap:6px;transition:color .16s;display:inline-flex}.hero-socials a:hover{color:var(--accent)}.hero-aside{gap:16px;padding:0 4px 0 0;display:grid;position:relative}.hero-portrait-card{z-index:1;border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:27px;padding:14px;position:relative;transform:rotate(1deg)}.portrait-topline{color:var(--subtle);letter-spacing:.1em;justify-content:space-between;gap:12px;padding:4px 7px 12px;font-size:8px;font-weight:800;display:flex}.portrait-stage{isolation:isolate;background:#e8e5dc;border-radius:18px;height:clamp(285px,34vw,420px);position:relative;overflow:hidden}.hero-portrait{object-fit:cover;object-position:center 28%;mix-blend-mode:multiply}html[data-theme=dark] .hero-portrait{mix-blend-mode:normal}.portrait-shape{z-index:-1;border-radius:48% 52% 47% 53%;position:absolute}.portrait-shape-one{background:#cecef8;width:340px;height:430px;bottom:-100px;right:-25px;transform:rotate(20deg)}.portrait-shape-two{background:#d5ed8f;width:240px;height:260px;top:-45px;left:-60px;transform:rotate(-22deg)}.portrait-sticker{color:#282a26;background:#fffefae6;border:1px solid #20221e1f;border-radius:14px;gap:0;padding:12px 14px;font-size:12px;font-weight:800;line-height:1.2;display:grid;position:absolute;bottom:20px;left:20px;transform:rotate(-4deg);box-shadow:0 8px 20px #0000000f}.sticker-mark{color:var(--accent);font-size:19px;position:absolute;bottom:9px;right:10px}.portrait-caption{justify-content:space-between;align-items:center;gap:15px;padding:14px 7px 3px;display:flex}.portrait-caption>div{gap:2px;display:grid}.portrait-caption strong{font-size:13px}.portrait-caption span:not(.caption-check){color:var(--muted);font-size:10px}.caption-check{background:var(--accent-soft);width:29px;height:29px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.hero-specialties{z-index:2;border:1px solid var(--line-strong);background:var(--bg);box-shadow:var(--shadow-card);border-radius:20px;margin:-6px 23px 0 -20px;padding:16px 18px 9px;position:relative}.specialties-heading{color:var(--subtle);letter-spacing:.13em;justify-content:space-between;padding-bottom:6px;font-size:8px;font-weight:800;display:flex}.specialty-row{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:11px 0;display:flex}.specialty-row:last-child{border-bottom:0}.specialty-index{color:var(--subtle);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.specialty-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:flex}.specialty-copy{flex:1;gap:1px;min-width:0;display:grid}.specialty-copy strong{font-size:11px}.specialty-copy small{color:var(--subtle);font-size:9px}.specialty-arrow{color:var(--subtle);transition:transform .16s,color .16s}.specialty-row:hover .specialty-arrow{color:var(--accent);transform:translate(2px,-2px)}.hero-bottom{color:var(--subtle);align-items:center;gap:18px;margin-top:45px;font-size:10px;display:flex}.hero-bottom-rule{background:var(--line-strong);flex:1;height:1px}.hero-bottom a{color:var(--text);align-items:center;gap:7px;font-weight:750;display:inline-flex}.client-value-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:15px 22px;padding-block:23px;font-size:11px;font-weight:700;display:flex}.client-value-strip i{background:var(--lime);outline:1px solid var(--line-strong);border-radius:50%;width:5px;height:5px}.services-section{padding-top:clamp(75px,8.2vw,112px)}.services-intro{align-items:flex-end}.services-side-note{border-left:2px solid var(--lime);max-width:235px;color:var(--muted);margin:0 0 4px;padding-left:16px;font-size:11px;line-height:1.8}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.service-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-height:410px;box-shadow:var(--shadow-card);flex-direction:column;padding:clamp(23px,3vw,31px);transition:border-color .18s,transform .18s,box-shadow .18s;display:flex;position:relative}.service-card:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--line));box-shadow:var(--shadow-soft);transform:translateY(-3px)}.service-card-top{justify-content:space-between;align-items:center;display:flex}.service-icon{background:var(--accent-soft);width:43px;height:43px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;display:flex}.service-number{color:var(--subtle);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.service-card h3{letter-spacing:-.035em;margin:22px 0 0;font-size:22px;line-height:1.2}.service-promise{color:var(--accent);margin:8px 0 0;font-size:12px;font-weight:780}.service-description{color:var(--muted);margin:11px 0 0;font-size:12px;line-height:1.8}.service-deliverables{margin-top:20px}.service-deliverables ul{gap:8px;margin:11px 0 0;padding:0;list-style:none;display:grid}.service-deliverables li{color:var(--text);padding-left:18px;font-size:11px;line-height:1.6;position:relative}.service-deliverables li:before{background:var(--lime);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}.service-tags{margin-top:19px}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tech-tag{border:1px solid var(--line);max-width:100%;color:var(--muted);background:var(--surface-alt);border-radius:7px;align-items:center;padding:5px 8px;font-size:9px;font-weight:650;line-height:1.3;display:inline-flex}.service-link{color:var(--accent);align-self:flex-start;align-items:center;gap:7px;margin-top:auto;padding-top:22px;font-size:11px;font-weight:800;display:inline-flex}.service-link svg{transition:transform .16s}.service-link:hover svg{transform:translate(2px,-2px)}.services-bottom{border:1px solid var(--line);background:var(--surface-alt);border-radius:14px;align-items:center;gap:12px;margin-top:20px;padding:16px 19px;display:flex}.mini-spark{color:var(--accent);font-size:20px}.services-bottom p{color:var(--muted);flex:1;margin:0;font-size:11px}.services-bottom p strong{color:var(--text)}.work-section{background:var(--bg-soft);border-block:1px solid var(--line)}.work-intro{margin-bottom:28px}.github-archive-link{flex-shrink:0;margin-bottom:5px}.project-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px;display:flex}.project-filters{flex-wrap:wrap;gap:7px;display:flex}.filter-button{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted);cursor:pointer;border-radius:10px;padding:8px 12px;font-size:10px;font-weight:750;transition:color .16s,background .16s,border-color .16s}.filter-button:hover{border-color:var(--accent);color:var(--accent)}.filter-button--active{border-color:var(--text);background:var(--text);color:var(--bg)}.project-count{color:var(--subtle);flex-shrink:0;font-size:10px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-card);border-radius:19px;flex-direction:column;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex;overflow:hidden}.project-card:hover{border-color:color-mix(in srgb, var(--accent) 36%, var(--line));box-shadow:var(--shadow-soft);transform:translateY(-3px)}.project-card--featured{border-color:color-mix(in srgb, var(--accent) 25%, var(--line))}.project-media{aspect-ratio:1.57;background:var(--surface-alt);isolation:isolate;position:relative;overflow:hidden}.project-image{object-fit:cover;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-image{transform:scale(1.025)}.project-image-overlay{pointer-events:none;background:linear-gradient(#0a0a0f3d,#0000 37%,#0a0a0f0a);position:absolute;inset:0}.project-featured-label{background:var(--lime);color:#23251f;letter-spacing:.08em;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:900;position:absolute;top:12px;right:12px}.project-status{color:#fff;background:#191c1fcc;border:1px solid #ffffff3d;border-radius:8px;max-width:calc(100% - 24px);padding:6px 9px;font-size:8px;font-weight:750;position:absolute;bottom:12px;right:12px}.project-content{flex-direction:column;flex:1;padding:20px;display:flex}.project-meta{color:var(--subtle);flex-wrap:wrap;align-items:center;gap:7px;font-size:9px;display:flex}.project-category-list{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.project-category-pill{border:1px solid color-mix(in srgb, var(--accent) 27%, var(--line));color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface));border-radius:999px;align-items:center;padding:4px 7px;font-size:8px;font-weight:800;line-height:1.1;display:inline-flex}.project-meta-separator{opacity:.45}.project-kind{color:var(--subtle)}.project-title-row{justify-content:space-between;align-items:baseline;gap:12px;margin-top:11px;display:flex}.project-title-row h3{letter-spacing:-.045em;overflow-wrap:anywhere;margin:0;font-size:21px;line-height:1.2}.project-summary{color:var(--text);margin:11px 0 0;font-size:12px;font-weight:620;line-height:1.72}.project-details{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.8}.project-content .tag-list{margin-top:15px}.project-client-value{border-top:1px solid var(--line);margin-top:17px;padding-top:13px}.project-client-value p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.65}.project-links{flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:18px;display:flex}.project-links a{color:var(--text);align-items:center;gap:5px;font-size:10px;font-weight:780;display:inline-flex}.project-links a svg,.project-links a:hover{color:var(--accent)}.project-links .project-discuss{border-top:1px solid var(--line);width:100%;color:var(--accent);padding-top:12px}.project-no-link{color:var(--subtle);align-items:center;gap:5px;font-size:10px;display:inline-flex}.work-endnote{border:1px dashed var(--line-strong);border-radius:13px;align-items:flex-start;gap:12px;margin-top:21px;padding:15px 17px;display:flex}.note-symbol{color:var(--accent);font-size:18px}.work-endnote p{color:var(--muted);margin:1px 0 0;font-size:10px;line-height:1.8}.process-layout{grid-template-columns:minmax(0,1.05fr) minmax(340px,.85fr);align-items:start;gap:clamp(30px,6vw,82px);margin-top:38px;display:grid}.process-steps{gap:0;display:grid;position:relative}.process-steps:before{background:var(--line-strong);content:"";width:1px;position:absolute;top:29px;bottom:32px;left:22px}.process-step{grid-template-columns:46px minmax(0,1fr);gap:17px;padding-bottom:27px;display:grid;position:relative}.process-step:last-child{padding-bottom:0}.process-number{z-index:1;border:1px solid var(--line-strong);background:var(--surface);width:45px;height:45px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;display:flex;position:relative}.process-step h3{letter-spacing:-.02em;margin:2px 0 0;font-size:16px}.process-step p{max-width:490px;color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.8}.working-together-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);padding:clamp(24px,3vw,33px)}.working-card-kicker{color:var(--subtle);letter-spacing:.12em;align-items:center;gap:10px;font-size:9px;font-weight:850;display:flex}.working-mark{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);letter-spacing:-.05em;border-radius:10px;justify-content:center;align-items:center;font-size:13px;font-weight:900;display:flex}.working-together-card h3{letter-spacing:-.05em;margin:19px 0 0;font-size:25px;line-height:1.17}.working-together-card ul{gap:13px;margin:22px 0 26px;padding:0;list-style:none;display:grid}.working-together-card li{color:var(--muted);align-items:flex-start;gap:9px;font-size:11px;line-height:1.7;display:flex}.working-together-card li svg{color:var(--good);flex-shrink:0;margin-top:1px}.experience-section{background:var(--surface);border-block:1px solid var(--line)}.experience-intro{align-items:flex-end}.experience-resume{flex-shrink:0;margin-bottom:5px}.timeline{gap:15px;margin-top:36px;display:grid;position:relative}.timeline:before{background:var(--line-strong);content:"";width:1px;position:absolute;top:16px;bottom:20px;left:10px}.timeline-item{grid-template-columns:22px minmax(0,1fr);gap:17px;display:grid;position:relative}.timeline-rail{justify-content:center;display:flex}.timeline-dot{z-index:1;border:3px solid var(--bg);background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 1px var(--line-strong);border-radius:50%;margin-top:25px;position:relative}.timeline-item--current .timeline-dot{background:#4c9b68}.timeline-card{border:1px solid var(--line);background:var(--bg);border-radius:18px;padding:clamp(20px,3vw,29px)}.timeline-item--current .timeline-card{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));background:color-mix(in srgb, var(--surface) 85%, var(--accent-soft))}.timeline-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.timeline-period{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:750}.current-badge{color:var(--good);align-items:center;gap:7px;font-size:9px;font-weight:800;display:inline-flex}.current-badge .status-dot{width:5px;height:5px;box-shadow:none;flex-basis:5px}.timeline-card h3{letter-spacing:-.04em;margin:12px 0 0;font-size:22px;line-height:1.22}.timeline-company{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px;font-size:11px;display:flex}.timeline-company>svg{color:var(--accent)}.timeline-company strong{color:var(--text);font-weight:700}.timeline-location{color:var(--subtle);align-items:center;gap:4px;margin-left:8px;font-size:10px;display:inline-flex}.timeline-summary{color:var(--muted);margin:17px 0 0;font-size:12px;line-height:1.8}.timeline-highlights{gap:8px;margin:13px 0 0;padding-left:17px;display:grid}.timeline-highlights li{color:var(--muted);padding-left:3px;font-size:11px;line-height:1.75}.timeline-highlights li::marker{color:var(--accent)}.stack-section{border-bottom:1px solid var(--line)}.stack-intro-mark{border:1px solid var(--line);color:var(--accent);background:var(--surface);border-radius:13px;flex-shrink:0;align-items:center;gap:10px;padding:13px 15px;display:flex}.stack-intro-mark span{color:var(--subtle);letter-spacing:.1em;font-size:8px;font-weight:850;line-height:1.5}.stack-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:37px;display:grid}.stack-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;min-height:220px;padding:22px}.stack-card-header{justify-content:space-between;align-items:center;display:flex}.stack-card-index{color:var(--subtle);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.stack-card-icon{width:33px;height:33px;color:var(--accent);background:var(--accent-soft);border-radius:10px;justify-content:center;align-items:center;display:flex}.stack-card h3{letter-spacing:-.02em;margin:15px 0 0;font-size:15px}.stack-card>p{color:var(--muted);margin:6px 0 15px;font-size:10px;line-height:1.7}.stack-note{color:var(--subtle);align-items:center;gap:9px;margin:19px 0 0;font-size:10px;display:flex}.note-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.about-section{background:var(--bg-soft);border-bottom:1px solid var(--line)}.about-grid{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(32px,6vw,76px);margin-top:39px;display:grid}.about-identity-card{border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-card);border-radius:22px;overflow:hidden}.about-photo{aspect-ratio:1.05;background:#e8e5dc;position:relative;overflow:hidden}.about-photo img{object-fit:cover;object-position:center 25%}.about-identity-body{padding:21px}.about-name-line{justify-content:space-between;align-items:center;gap:10px;display:flex}.about-name-line h3{letter-spacing:-.04em;margin:0;font-size:19px}.about-initials{color:var(--accent);font-size:10px;font-weight:900}.about-identity-body>p{color:var(--muted);margin:5px 0 0;font-size:11px}.about-location{color:var(--subtle);align-items:center;gap:5px;margin-top:12px;font-size:10px;display:inline-flex}.identity-current{background:var(--surface-alt);border-radius:11px;gap:4px;margin-top:18px;padding:12px;display:grid}.identity-current-label{color:var(--subtle);letter-spacing:.12em;font-size:8px;font-weight:850}.identity-current strong{font-size:11px}.about-identity-body .text-link{margin-top:17px}.resume-link{color:var(--muted);align-items:center;gap:6px;margin-top:12px;font-size:11px;font-weight:750;display:inline-flex}.resume-link:hover{color:var(--accent)}.about-copy{min-width:0}.about-lead{letter-spacing:-.045em;margin:0;font-size:clamp(23px,2.7vw,31px);font-weight:650;line-height:1.35}.about-lead em{color:var(--accent);font-style:normal}.about-copy>p:not(.about-lead){color:var(--muted);margin:17px 0 0;font-size:12px;line-height:1.95}.about-principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:21px;display:grid}.about-principles>div{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;align-items:flex-start;gap:9px;padding:12px;font-size:10px;line-height:1.6;display:flex}.about-principles svg{color:var(--accent);flex-shrink:0}.education-block{margin-top:31px}.education-heading{color:var(--text);align-items:center;gap:12px;margin-bottom:6px;font-size:11px;font-weight:850;display:flex}.education-line{background:var(--line-strong);flex:1;height:1px}.education-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:20px;padding-block:15px;display:grid}.education-item h4{margin:0;font-size:11px;line-height:1.5}.education-item p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.6}.education-meta{color:var(--subtle);text-align:right;align-content:start;justify-items:end;gap:4px;font-size:9px;display:grid}.education-meta strong{color:var(--accent);font-size:10px}.faq-section{background:var(--surface);border-bottom:1px solid var(--line)}.faq-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.1fr);align-items:start;gap:clamp(35px,7vw,95px);display:grid}.faq-intro .text-link{margin-top:24px}.faq-list{border-top:1px solid var(--line-strong)}.faq-item{border-bottom:1px solid var(--line-strong)}.faq-item h3{margin:0}.faq-item h3 button{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:20px 0;font-size:13px;font-weight:750;display:flex}.faq-chevron{border:1px solid var(--line);width:29px;height:29px;color:var(--accent);border-radius:50%;flex:0 0 29px;justify-content:center;align-items:center;transition:transform .18s,background .18s;display:flex}.faq-item--open .faq-chevron{background:var(--accent-soft);transform:rotate(180deg)}.faq-answer{padding:0 44px 19px 0}.faq-answer p{color:var(--muted);margin:0;font-size:12px;line-height:1.85}.contact-section{padding-top:75px;padding-bottom:88px}.contact-topline{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.contact-pretitle{color:var(--muted);letter-spacing:.12em;align-items:center;gap:9px;font-size:9px;font-weight:850;display:inline-flex}.contact-index{color:var(--subtle);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.contact-panel{border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:28px;grid-template-columns:minmax(0,.85fr) minmax(0,1.05fr);gap:clamp(28px,5vw,70px);padding:clamp(24px,4.3vw,52px);display:grid}.contact-copy .section-heading{margin-bottom:20px}.contact-copy .section-heading h2{font-size:clamp(32px,4vw,46px)}.contact-reassurance{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.contact-primary-links{gap:10px;margin-top:24px;display:grid}.contact-email{border:1px solid var(--line);background:var(--bg);border-radius:13px;align-items:center;gap:11px;min-width:0;padding:12px;transition:border-color .16s,transform .16s;display:flex}.contact-email:hover{border-color:var(--accent);transform:translateY(-1px)}.contact-link-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-email>span:nth-child(2){flex:1;gap:3px;min-width:0;display:grid}.contact-email small{color:var(--subtle);letter-spacing:.1em;font-size:8px;font-weight:850}.contact-email strong{overflow-wrap:anywhere;min-width:0;font-size:11px}.contact-email>svg:last-child{color:var(--accent)}.copy-email-button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:13px;padding:0;font-size:10px;display:inline-flex}.copy-email-button:hover{color:var(--accent)}.contact-socials{border-top:1px solid var(--line);flex-wrap:wrap;gap:16px;margin-top:25px;padding-top:18px;display:flex}.contact-socials a{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:750;display:inline-flex}.contact-socials a:hover{color:var(--accent)}.contact-form{border:1px solid var(--line);background:var(--bg);border-radius:20px;padding:clamp(19px,3vw,28px)}.form-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.form-heading h3{letter-spacing:-.04em;margin:5px 0 0;font-size:20px}.form-step{color:var(--accent);letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:800}.form-mark{width:37px;height:37px;color:var(--accent);background:var(--accent-soft);border-radius:11px;justify-content:center;align-items:center;display:flex}.form-fields-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-field{gap:7px;min-width:0;margin-bottom:14px;display:grid}.form-field>span{color:var(--muted);font-size:10px;font-weight:750}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--text);background:var(--surface);border-radius:10px;outline:none;padding:11px 12px;font-size:11px;transition:border-color .16s,box-shadow .16s}.form-field select{cursor:pointer}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--subtle)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-field textarea{resize:vertical;min-height:110px}.form-submit{width:100%;margin-top:1px}.form-note{color:var(--subtle);margin:11px 0 0;font-size:9px;line-height:1.65}.form-feedback{border:1px solid color-mix(in srgb, var(--good) 35%, var(--line));background:color-mix(in srgb, var(--good) 9%, var(--surface));border-radius:12px;gap:11px;margin-top:14px;padding:13px;display:flex}.form-feedback>svg{color:var(--good);flex-shrink:0;margin-top:2px}.form-feedback strong{font-size:11px}.form-feedback p{color:var(--muted);margin:4px 0 8px;font-size:10px;line-height:1.6}.form-feedback a{color:var(--accent);text-underline-offset:3px;align-items:center;gap:5px;font-size:10px;font-weight:800;text-decoration:underline;display:inline-flex}.form-feedback--error{background:color-mix(in srgb, #c44343 7%, var(--surface));border-color:#c4434352}.form-feedback--error>svg{color:#c44343}.form-feedback--error a{color:var(--accent)}.form-honeypot{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.form-submit:disabled{opacity:.65;cursor:wait;transform:none}.site-footer{border-top:1px solid var(--line-strong);background:var(--bg-soft)}.footer-inner{justify-content:space-between;align-items:center;gap:25px;min-height:98px;padding-block:22px;display:flex}.footer-wordmark{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.footer-wordmark>span:last-child{gap:3px;display:grid}.footer-wordmark strong{font-size:11px}.footer-wordmark small{color:var(--subtle);font-size:9px}.footer-inner>p{color:var(--subtle);text-align:center;margin:0;font-size:9px}.footer-links{align-items:center;gap:7px;display:flex}.footer-links a{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;transition:color .16s,border-color .16s;display:flex}.footer-links a:hover{color:var(--accent);border-color:var(--accent)}@media (min-width:1450px){.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(430px,.84fr)}}@media (max-width:1050px){.container{width:min(var(--container), calc(100% - 48px))}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);gap:42px}.hero h1{font-size:clamp(47px,5.8vw,67px)}.project-grid,.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:420px}}@media (max-width:800px){.container{width:min(var(--container), calc(100% - 40px))}.nav-shell{gap:12px;min-height:70px}.wordmark-lockup small{display:none}.nav-links{gap:16px}.nav-links a{font-size:11px}.hero{padding-top:70px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:45px}.hero-copy{max-width:680px}.hero h1{max-width:700px;font-size:clamp(49px,8.5vw,70px)}.hero-aside{width:min(100%,540px);margin-inline:auto}.portrait-stage{height:clamp(310px,65vw,440px)}.hero-specialties{margin-left:0;margin-right:18px}.section-intro-row{align-items:flex-start}.services-side-note{display:none}.process-layout{grid-template-columns:minmax(0,1fr)}.working-together-card{max-width:650px}.about-grid{grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:28px}.faq-layout{grid-template-columns:1fr;gap:31px}.faq-intro{max-width:700px}.contact-panel{grid-template-columns:1fr}.contact-copy{max-width:650px}.footer-inner{flex-wrap:wrap}.footer-inner>p{text-align:left;order:3;width:100%}}@media (max-width:620px){.container{width:calc(100% - 34px)}.nav-shell{min-height:65px}.wordmark-mark{font-size:25px}.wordmark-lockup strong{font-size:11px}.nav-links{display:none}.nav-actions{gap:7px;margin-left:auto}.theme-toggle{width:35px;height:35px}.mobile-menu-toggle{width:35px;height:35px;display:inline-flex}.nav-contact{min-height:36px;padding:9px 10px;font-size:10px}.mobile-nav{visibility:hidden;pointer-events:none;border-bottom:0 solid var(--line);background:var(--bg);max-height:0;transition:max-height .25s,border-width .25s,visibility .25s;display:block;position:absolute;top:100%;left:0;right:0;overflow:hidden}.mobile-nav--open{visibility:visible;pointer-events:auto;border-bottom-width:1px;max-height:420px}.mobile-nav-inner{gap:0;padding-top:8px;padding-bottom:12px;display:grid}.mobile-nav-inner>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 0;font-size:13px;display:flex}.mobile-socials{gap:20px;padding-top:14px;display:flex}.mobile-socials a{color:var(--subtle);font-size:11px}.hero{padding-top:55px;padding-bottom:30px}.hero-grid{gap:35px}.hero-kicker{padding:7px 10px;font-size:9px}.hero-greeting{margin-top:24px;font-size:16px}.hero h1{letter-spacing:-.075em;font-size:clamp(45px,12.5vw,62px)}.hero-description{margin-top:19px;font-size:13px;line-height:1.82}.hero-ctas{gap:8px;margin-top:23px}.hero-ctas .button{flex:auto;min-height:43px;padding:10px 11px;font-size:10px}.hero-meta{gap:8px 12px;font-size:9px}.hero-socials{gap:12px;margin-top:23px;font-size:10px}.hero-socials a:last-child{width:100%}.hero-aside{gap:13px}.hero-portrait-card{border-radius:20px;padding:10px}.portrait-topline{font-size:7px}.portrait-stage{border-radius:14px;height:320px}.portrait-sticker{padding:9px 10px;font-size:10px;bottom:12px;left:12px}.hero-specialties{border-radius:15px;margin-right:7px;padding:12px 14px 6px}.specialty-row{gap:9px}.hero-bottom{flex-wrap:wrap;gap:9px 12px;margin-top:29px;font-size:9px}.hero-bottom-rule{flex-basis:35px}.client-value-strip{gap:10px 12px;padding-block:16px;font-size:9px}.client-value-strip i{width:4px;height:4px}.section-wrap{padding-block:66px}.section-intro-row{flex-direction:column;gap:15px;margin-bottom:28px}.section-heading .section-eyebrow{margin-bottom:13px;font-size:8px}.section-heading h2{font-size:clamp(30px,9vw,42px)}.section-heading>p{margin-top:11px;font-size:12px;line-height:1.8}.services-section{padding-top:65px}.services-grid{grid-template-columns:minmax(0,1fr);gap:11px}.service-card{border-radius:17px;min-height:0;padding:21px}.service-card h3{margin-top:16px;font-size:20px}.service-description{font-size:11px}.service-deliverables{margin-top:16px}.service-link{padding-top:17px}.services-bottom{flex-wrap:wrap;gap:8px 10px;padding:13px}.services-bottom p{flex-basis:calc(100% - 35px)}.services-bottom .text-link{margin-left:31px}.work-section{padding-block:65px}.github-archive-link{align-self:flex-start}.project-toolbar{flex-direction:column;align-items:flex-start;gap:11px;margin-bottom:18px}.project-filters{gap:6px}.filter-button{min-height:33px;padding:7px 9px;font-size:9px}.project-count{font-size:9px}.project-grid{grid-template-columns:minmax(0,1fr);gap:12px}.project-media{aspect-ratio:1.58}.project-content{padding:17px}.project-title-row h3{font-size:21px}.project-summary{font-size:11px}.project-details{font-size:10px}.project-links{gap:11px}.work-endnote{padding:12px}.process-layout{gap:30px;margin-top:28px}.process-steps:before{left:18px}.process-step{grid-template-columns:38px minmax(0,1fr);gap:13px;padding-bottom:24px}.process-number{border-radius:11px;width:37px;height:37px;font-size:10px}.process-step h3{font-size:14px}.process-step p{font-size:11px}.working-together-card{padding:21px}.working-together-card h3{font-size:23px}.working-together-card li{font-size:10px}.experience-section{padding-block:65px}.experience-resume{margin-top:1px}.timeline{gap:11px;margin-top:27px}.timeline-item{grid-template-columns:16px minmax(0,1fr);gap:11px}.timeline:before{left:7px}.timeline-dot{width:9px;height:9px;margin-top:22px}.timeline-card{border-radius:14px;padding:17px 14px}.timeline-card h3{font-size:19px}.timeline-company{align-items:flex-start;font-size:10px}.timeline-location{width:100%;margin:4px 0 0 22px}.timeline-summary{font-size:11px}.timeline-highlights li{font-size:10px}.stack-grid{grid-template-columns:1fr;gap:10px;margin-top:28px}.stack-card{min-height:0;padding:18px}.stack-card h3{margin-top:12px}.stack-intro-mark{align-self:flex-start}.stack-note{align-items:flex-start;font-size:9px;line-height:1.7}.about-grid{grid-template-columns:minmax(0,1fr);gap:25px;margin-top:27px}.about-identity-card{border-radius:16px;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);display:grid}.about-photo{aspect-ratio:auto;min-height:100%}.about-identity-body{padding:16px 13px}.about-name-line h3{font-size:15px}.about-initials{display:none}.about-identity-body>p{font-size:10px}.identity-current{padding:9px}.identity-current strong{font-size:9px;line-height:1.55}.about-copy>p:not(.about-lead){margin-top:13px;font-size:11px}.about-principles{grid-template-columns:1fr;gap:8px}.education-item{grid-template-columns:1fr;gap:7px}.education-meta{text-align:left;justify-items:start}.faq-layout{gap:26px}.faq-item h3 button{gap:13px;padding:17px 0;font-size:12px}.faq-answer{padding-right:20px}.faq-answer p{font-size:11px}.contact-section{padding-top:60px;padding-bottom:66px}.contact-topline{margin-bottom:12px}.contact-pretitle,.contact-index{font-size:8px}.contact-panel{border-radius:20px;grid-template-columns:1fr;gap:26px;padding:19px}.contact-copy .section-heading h2{font-size:clamp(29px,8.7vw,39px)}.contact-reassurance{font-size:11px}.contact-email strong{font-size:10px}.contact-form{border-radius:15px;padding:16px 13px}.form-fields-row{grid-template-columns:minmax(0,1fr);gap:0}.form-heading h3{font-size:18px}.form-field input,.form-field textarea,.form-field select{font-size:12px}.footer-inner{align-items:flex-start;gap:16px;padding-block:20px}.footer-inner>p{text-align:left;order:3;width:100%;font-size:9px}.footer-links{margin-left:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.wordmark-mark{letter-spacing:-1.7px;font-size:23px}.wordmark-lockup small{max-width:150px}
