@layer components{.capability-matrix{margin-block-start:var(--space-8)}.capability-matrix table{border-collapse:collapse;inline-size:100%}.capability-matrix thead{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.capability-matrix tbody{gap:var(--space-4);display:grid}.capability-matrix tr{gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.capability-matrix th[scope=row]{align-content:start;gap:var(--space-2);text-align:start;display:grid}.capability-matrix th[scope=row] strong{font-family:var(--font-display);font-size:var(--text-h3);line-height:1.15}.capability-matrix th[scope=row] span,.capability-matrix td{color:var(--color-text-muted);font-weight:400}.capability-matrix td{gap:var(--space-3);grid-template-columns:7.5rem minmax(0,1fr);display:grid}.capability-matrix td:before{color:var(--color-text);content:attr(data-label);font-weight:720}.capability-matrix td>*{grid-column:2}.capability-matrix__feature-list{gap:var(--space-2);padding-inline-start:1.15rem;display:grid}.capability-matrix__evidence{gap:var(--space-3);display:grid}.capability-matrix__evidence-links{gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.capability-matrix__evidence>span{color:var(--color-text-muted);font-size:var(--text-sm)}.capability-matrix a{inline-size:fit-content;min-block-size:var(--target-size-min);align-items:center;font-weight:720;display:inline-flex}@media (width>=64rem){.capability-matrix thead{clip-path:none;white-space:normal;block-size:auto;inline-size:auto;position:static;overflow:visible}.capability-matrix tbody{border-block-end:1px solid var(--color-border);gap:0}.capability-matrix tr{border:0;border-block-start:1px solid var(--color-border);background:0 0;border-radius:0;grid-template-columns:minmax(12rem,1.25fr) minmax(9rem,.9fr) minmax(10rem,1fr) minmax(9rem,.9fr) minmax(11rem,1fr);gap:0;padding:0;display:grid}.capability-matrix thead th,.capability-matrix tbody th,.capability-matrix tbody td{padding:var(--space-4);text-align:start;border-inline-start:1px solid var(--color-border)}.capability-matrix thead th:last-child,.capability-matrix tbody td:last-child{border-inline-end:1px solid var(--color-border)}.capability-matrix thead th{color:var(--color-text-muted);font-size:var(--text-sm)}.capability-matrix th[scope=row] strong{font-size:var(--text-body)}.capability-matrix td{display:block}.capability-matrix td:before{content:none}.capability-matrix td>*{grid-column:auto}}.hero-section{min-block-size:min(42rem,100svb - 8rem);padding-block:var(--space-8);border-block-end:1px solid var(--color-border);align-items:center;display:grid;position:relative;overflow:hidden}.hero-section:before{background-image:radial-gradient(color-mix(in srgb, var(--color-accent) 28%, transparent) 1px, transparent 1px);content:"";opacity:.45;pointer-events:none;background-size:1.5rem 1.5rem;inline-size:72%;position:absolute;inset:0}.hero-layout{position:relative}.hero-copy{gap:var(--space-5);max-inline-size:60rem;display:grid}.hero-positioning{gap:var(--space-2);max-inline-size:24ch;font-family:var(--font-display);letter-spacing:-.045em;word-break:keep-all;font-size:clamp(2.25rem,4vi,3.45rem);font-weight:780;line-height:1.12;display:grid}.hero-positioning__accent{background-image:linear-gradient(to bottom, transparent 72%, color-mix(in srgb, var(--color-accent) 24%, transparent) 72% 92%, transparent 92%)}.job-status{inline-size:fit-content}.job-status__field{align-items:center;gap:var(--space-2);display:flex}.job-status dt{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.job-status dd{align-items:center;gap:var(--space-2);color:var(--color-accent-strong);font-size:var(--text-body);font-weight:750;display:inline-flex}.job-status dd:before{background:var(--color-accent);content:"";border-radius:50%;flex:none;block-size:.5rem;inline-size:.5rem}.job-status dd.job-status__value--inactive{color:var(--color-text-muted)}.job-status dd.job-status__value--inactive:before{background:var(--color-text-muted)}.action-list{gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-2);display:flex}.button-link__download-label{text-underline-offset:.18em;text-decoration:underline .1em}.button-link__download-icon{block-size:1.25rem;inline-size:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;margin-inline-start:var(--space-1)}.contact-copy code+.contact-copy__button{margin-inline-start:var(--space-1)}.contact-availability{max-inline-size:var(--prose-max);color:var(--color-text-muted)}.section-heading--split{max-inline-size:none}.section-heading--compact{margin-block-end:var(--space-6)}.section-heading__title{gap:var(--space-2);display:grid}.section-heading--split>p{max-inline-size:38rem;color:var(--color-text-muted);font-size:var(--text-lead)}.project-grid,.professional-grid{gap:var(--space-5);display:grid}.project-groups,.project-group{display:grid}.project-groups{gap:var(--space-8)}.project-group{gap:var(--space-5)}.project-group__heading{gap:var(--space-3);max-inline-size:58rem;display:grid}.project-group__heading>div{gap:var(--space-2);display:grid}.project-group__heading>p{max-inline-size:var(--prose-max);color:var(--color-text-muted)}.project-card{gap:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex}.project-card:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-card)}.project-card--featured{background:linear-gradient(145deg, var(--color-surface), var(--color-surface-muted))}.project-card__content,.professional-card__content{gap:var(--space-4);display:grid}.project-card__heading{gap:var(--space-2);display:grid}.project-card__classification{inline-size:fit-content;padding:var(--space-1) var(--space-2);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;background:color-mix(in srgb, var(--color-surface-muted) 82%, transparent);border:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);border-radius:var(--radius-sm);font-weight:700}.professional-card__index{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.project-card__summary,.professional-card__description{color:var(--color-text-muted)}.project-card__role{font-size:var(--text-sm)}.project-card__role>div{gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.project-card__role dt{color:var(--color-text-muted);font-weight:700}.project-card__role dt:after{content:":"}.project-card__role dd{color:var(--color-text);font-weight:720}.project-card h4 a{min-block-size:var(--target-size-min);min-inline-size:var(--target-size-min);color:var(--color-text);text-decoration-skip-ink:none;text-underline-offset:.2em;align-items:center;display:inline-flex}.project-card>.tag-list li,.professional-card>.tag-list li{min-block-size:1.9rem;padding-inline:var(--space-3);color:var(--color-text);background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 16%, var(--color-surface)), color-mix(in srgb, var(--color-accent) 5%, var(--color-surface-muted)));border-color:color-mix(in srgb, var(--color-accent) 38%, var(--color-border));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-canvas) 72%, transparent), 0 .25rem .8rem color-mix(in srgb, var(--color-shadow) 12%, transparent);align-items:center;font-weight:720;display:inline-flex}.project-card__links{gap:var(--space-2) var(--space-4);border-block-start:1px solid var(--color-border);flex-wrap:wrap;margin-block-start:auto;padding-block-start:var(--space-3);display:flex}.project-card__links .text-link,.professional-card>.text-link{justify-content:flex-start}@media (width>=48rem){.section-heading--split{align-items:start;column-gap:var(--space-8);grid-template-columns:minmax(0,.9fr) minmax(18rem,1fr)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-group__heading{align-items:start;column-gap:var(--space-7);grid-template-columns:minmax(15rem,.8fr) minmax(20rem,1.2fr)}.project-card--featured{grid-column:1/-1}}@media (width>=68rem){.hero-copy{padding-inline-end:var(--space-8)}}.project-group--company{padding:var(--space-5);background:color-mix(in srgb, var(--color-surface) 82%, var(--color-canvas));border:1px solid var(--color-border);border-radius:var(--radius-lg)}.project-group--public{gap:var(--space-6)}.professional-grid{border-block-start:1px solid var(--color-border);gap:0;display:grid}.professional-card{gap:var(--space-3) var(--space-4);padding-block:var(--space-6);border-block-end:1px solid var(--color-border);grid-template-columns:2rem minmax(0,1fr);display:grid}.professional-card>:not(.professional-card__index){grid-column:2;align-self:center}.tech-stack,.capability-matrix{gap:var(--space-6);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid}.tech-stack__intro,.capability-section__intro{max-inline-size:var(--prose-max);gap:var(--space-2);display:grid}.tech-stack__intro p,.capability-section__intro p{color:var(--color-text-muted)}.tech-stack__groups{display:grid}.tech-stack__group{gap:var(--space-3);padding-block:var(--space-5);border-block-start:1px solid var(--color-border);display:grid}.tech-stack__group dt{font-weight:750}.tech-stack__items{gap:var(--space-3);flex-wrap:wrap;list-style:none;display:flex}.tech-stack__items li{min-block-size:var(--target-size-min);align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);background:var(--color-surface-muted);border:1px solid var(--color-border);font-size:var(--text-sm);border-radius:999px;font-weight:680;display:inline-flex}.tech-stack__icon{--technology-mark-color-active:var(--technology-mark-color);background:color-mix(in srgb, var(--technology-mark-color-active,var(--color-accent)) 12%, var(--color-surface));border:1px solid color-mix(in srgb, var(--technology-mark-color-active,var(--color-accent)) 34%, var(--color-border));border-radius:50%;flex:none;place-items:center;block-size:2rem;inline-size:2rem;display:grid}.tech-stack__mark{background:var(--technology-mark-color-active);block-size:1.2rem;inline-size:1.2rem;-webkit-mask:var(--technology-mark-image) center / contain no-repeat;mask:var(--technology-mark-image) center / contain no-repeat}.tech-stack__icon--playwright .tech-stack__mark,.tech-stack__icon--slack .tech-stack__mark{background:var(--technology-mark-image) center / contain no-repeat;mask:none}.tech-stack__icon--fallback{color:var(--color-accent-strong);font-family:var(--font-mono);letter-spacing:-.04em;font-size:.65rem;font-weight:750}:root[data-theme=dark] .tech-stack__icon{--technology-mark-color-active:var(--technology-mark-color-dark,var(--technology-mark-color))}@media (width>=48rem){.project-group--company{padding:var(--space-6)}.professional-card{align-items:start;column-gap:var(--space-5);grid-template-columns:2rem minmax(20rem,1.2fr) minmax(15rem,.8fr) auto}.professional-card>:not(.professional-card__index){grid-column:auto}.project-group--company .project-group__heading{align-items:center;max-inline-size:none}.project-group--company .project-group__heading>p{justify-self:stretch;max-inline-size:none}.tech-stack,.capability-matrix{padding:var(--space-6)}.tech-stack__group{align-items:start;column-gap:var(--space-6);grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr)}}.tech-stack__icon--typescript{--technology-mark-color:#3178c6;--technology-mark-image:url(/assets/tech/typescript.svg)}.tech-stack__icon--python{--technology-mark-color:#3776ab;--technology-mark-image:url(/assets/tech/python.svg)}.tech-stack__icon--solidity{--technology-mark-color:#363636;--technology-mark-color-dark:#b8b8b8;--technology-mark-image:url(/assets/tech/solidity.svg)}.tech-stack__icon--nextdotjs{--technology-mark-color:#000;--technology-mark-color-dark:#fff;--technology-mark-image:url(/assets/tech/nextdotjs.svg)}.tech-stack__icon--tailwindcss{--technology-mark-color:#06b6d4;--technology-mark-image:url(/assets/tech/tailwindcss.svg)}.tech-stack__icon--reactquery{--technology-mark-color:#ff4154;--technology-mark-image:url(/assets/tech/reactquery.svg)}.tech-stack__icon--framer{--technology-mark-color:#05f;--technology-mark-image:url(/assets/tech/framer.svg)}.tech-stack__icon--jquery{--technology-mark-color:#0769ad;--technology-mark-image:url(/assets/tech/jquery.svg)}.tech-stack__icon--bootstrap{--technology-mark-color:#7952b3;--technology-mark-image:url(/assets/tech/bootstrap.svg)}.tech-stack__icon--django{--technology-mark-color:#092e20;--technology-mark-color-dark:#44b78b;--technology-mark-image:url(/assets/tech/django.svg)}.tech-stack__icon--fastapi{--technology-mark-color:#009688;--technology-mark-image:url(/assets/tech/fastapi.svg)}.tech-stack__icon--postgresql{--technology-mark-color:#4169e1;--technology-mark-image:url(/assets/tech/postgresql.svg)}.tech-stack__icon--sqlalchemy{--technology-mark-color:#d71f00;--technology-mark-image:url(/assets/tech/sqlalchemy.svg)}.tech-stack__icon--docker{--technology-mark-color:#2496ed;--technology-mark-image:url(/assets/tech/docker.svg)}.tech-stack__icon--terraform{--technology-mark-color:#844fba;--technology-mark-image:url(/assets/tech/terraform.svg)}.tech-stack__icon--nginx{--technology-mark-color:#009639;--technology-mark-image:url(/assets/tech/nginx.svg)}.tech-stack__icon--githubactions{--technology-mark-color:#2088ff;--technology-mark-image:url(/assets/tech/githubactions.svg)}.tech-stack__icon--vitest{--technology-mark-color:#00ff74;--technology-mark-image:url(/assets/tech/vitest.svg)}.tech-stack__icon--playwright{--technology-mark-color:#2d4552;--technology-mark-image:url(/assets/tech/playwright.svg)}.tech-stack__icon--eslint{--technology-mark-color:#4b32c3;--technology-mark-image:url(/assets/tech/eslint.svg)}.tech-stack__icon--mockserviceworker{--technology-mark-color:#ff6a33;--technology-mark-image:url(/assets/tech/mockserviceworker.svg)}.tech-stack__icon--github{--technology-mark-color:#181717;--technology-mark-color-dark:#fff;--technology-mark-image:url(/assets/tech/github.svg)}.tech-stack__icon--notion{--technology-mark-color:#000;--technology-mark-color-dark:#fff;--technology-mark-image:url(/assets/tech/notion.svg)}.tech-stack__icon--slack{--technology-mark-color:#4a154b;--technology-mark-image:url(/assets/tech/slack.png)}.tech-stack__icon--storybook{--technology-mark-color:#ff4785;--technology-mark-image:url(/assets/tech/storybook.svg)}}
