:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:var(--color-bg);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg: #f7f3ea;--color-text: #151515;--color-muted: #343434;--color-muted-strong: #262626;--color-border: #151515;--color-grid: rgba(24, 24, 24, .06);--color-grid-hover: rgba(29, 122, 114, .16);--color-header: rgba(247, 243, 234, .88);--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-accent: #a33b2f;--color-shadow: #151515;--color-profile: #1d7a72;--color-icon-dark: #151515;--color-button-dark-bg: #151515;--color-button-dark-text: #ffffff;--color-button-light-bg: #ffffff;--color-button-light-text: #151515;--color-service-gold: #f4c542;--color-service-sky: #d9ecff;--color-service-coral: #ffd9cf;--color-card-teal: #e5f4f1;--color-card-gold: #fff1bd;--color-card-coral: #ffe3dc;--color-stack-alt-a: #f7fbef;--color-stack-alt-b: #eaf6f4;--color-stack-wash: rgba(217, 236, 255, .55);--color-proof-wash: rgba(255, 255, 255, .7);--color-contribution-0: #ebe4d8;--color-contribution-1: #b7dfc1;--color-contribution-2: #62b877;--color-contribution-3: #2f8f4d;--color-contribution-4: #176a34;--color-scrollbar-track: #eee8dc;--color-scrollbar-thumb: #151515;--color-scrollbar-thumb-hover: #a33b2f}:root[data-theme=dark]{color-scheme:dark;--color-bg: #11100e;--color-text: #f7f0e7;--color-muted: #cfc4b8;--color-muted-strong: #eadfd2;--color-border: #f0e3d3;--color-grid: rgba(247, 240, 231, .07);--color-grid-hover: rgba(255, 155, 141, .18);--color-header: rgba(17, 16, 14, .88);--color-surface: #1d1b18;--color-surface-raised: #25221e;--color-accent: #ff9b8d;--color-shadow: #f0e3d3;--color-profile: #176d67;--color-icon-dark: #080807;--color-button-dark-bg: #f7f0e7;--color-button-dark-text: #11100e;--color-button-light-bg: #25221e;--color-button-light-text: #f7f0e7;--color-service-gold: #4a3d1a;--color-service-sky: #20364b;--color-service-coral: #4a2b25;--color-card-teal: #183a35;--color-card-gold: #443817;--color-card-coral: #48271f;--color-stack-alt-a: #20291f;--color-stack-alt-b: #17312e;--color-stack-wash: rgba(32, 54, 75, .5);--color-proof-wash: rgba(255, 255, 255, .05);--color-contribution-0: #24211d;--color-contribution-1: #21442b;--color-contribution-2: #2e7441;--color-contribution-3: #46a45f;--color-contribution-4: #78d984;--color-scrollbar-track: #1d1b18;--color-scrollbar-thumb: #f0e3d3;--color-scrollbar-thumb-hover: #ff9b8d}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track);scrollbar-width:thin}body{margin:0;min-width:320px;background:var(--color-bg);transition:background-color .18s ease,color .18s ease}#app{position:relative;z-index:1}.background-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:grid;overflow:hidden;pointer-events:none}.background-grid-cell{position:relative;width:var(--background-grid-size);height:var(--background-grid-size);border-right:1px solid var(--color-grid);border-bottom:1px solid var(--color-grid)}.background-grid-cell-glow{position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:var(--color-grid-hover);opacity:0;will-change:opacity,transform}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}::-webkit-scrollbar-thumb{border:4px solid var(--color-scrollbar-track);border-radius:999px;background:var(--color-scrollbar-thumb)}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}.page-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 56px}.site-header{position:sticky;top:14px;z-index:20;display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:14px;padding:10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-header);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-actions{display:flex;align-items:center;gap:8px}.hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:34px;align-items:center;padding:56px 0 64px;border-bottom:2px solid var(--color-border);scroll-margin-top:112px}.hero-copy{max-width:870px}.content-section{padding:78px 0;border-bottom:1px solid var(--color-border);scroll-margin-top:112px}.section-heading{margin-bottom:28px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.contact-section{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:34px;padding:78px 0 18px;scroll-margin-top:112px}.contact-actions{display:flex;flex-direction:column;gap:10px;padding-top:40px}.brand-group{display:flex;align-items:center;gap:10px}.brand-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 16px;border-radius:6px;background:var(--color-button-dark-bg);color:var(--color-button-dark-text);font-size:13px;font-weight:950;letter-spacing:0;text-transform:uppercase}.brand-alias{color:var(--color-muted);font-size:12px;font-weight:850;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:6px}.nav-links a{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:0 14px;border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:850;text-transform:uppercase}.nav-links a:hover,.nav-links a:focus-visible{border-color:var(--color-border);background:var(--color-surface-raised);outline:none}.theme-toggle{display:inline-flex;width:50px;height:42px;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-raised);color:var(--color-text);cursor:pointer}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle-track{position:relative;display:block;width:28px;height:16px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg)}.theme-toggle-thumb{position:absolute;top:2px;left:2px;display:flex;width:10px;height:10px;align-items:center;justify-content:center;border-radius:999px;background:var(--color-text);transition:transform .18s ease,background .18s ease}.theme-toggle-glyph{width:4px;height:4px;border-radius:999px;background:var(--color-bg)}:root[data-theme=dark] .theme-toggle-thumb{transform:translate(12px)}.eyebrow{margin:0 0 18px;color:var(--color-accent);font-size:13px;font-weight:950;letter-spacing:0;text-transform:uppercase}.hero h1{margin:0;font-size:76px;line-height:.98;font-weight:950;letter-spacing:0}.hero h1 span{display:block}.hero-lede{max-width:760px;margin:26px 0 0;color:var(--color-muted);font-size:21px;line-height:1.4;font-weight:680}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;font-weight:900;text-align:center}.button-dark{background:var(--color-button-dark-bg);color:var(--color-button-dark-text)}.button-light{background:var(--color-button-light-bg);color:var(--color-button-light-text)}.button:hover,.button:focus-visible,.repo-links a:hover,.repo-links a:focus-visible{transform:translateY(-1px);box-shadow:0 8px 0 var(--color-shadow);outline:none}.profile-panel{align-self:center;justify-self:end;display:flex;flex-direction:column;width:min(100%,380px);overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.profile-panel picture,.profile-panel img{width:100%;display:block}.profile-panel picture{aspect-ratio:1;flex:0 0 auto;overflow:hidden}.profile-panel img{height:100%;object-fit:cover}.profile-meta{padding:16px 18px;border-top:1px solid var(--color-border);background:var(--color-profile);color:#fff;font-size:15px;font-weight:900}.profile-meta a{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.profile-meta a:hover,.profile-meta a:focus-visible{color:#fff;text-decoration-thickness:3px;outline:none}.section-heading h2,.contact-section h2{margin:0;max-width:920px;font-size:46px;line-height:1.06;font-weight:950;letter-spacing:0}.service-card{min-height:270px;padding:22px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.service-card:nth-child(2){background:var(--color-service-gold)}.service-card:nth-child(3){background:var(--color-service-sky)}.service-card:nth-child(4){background:var(--color-service-coral)}.service-card h3{max-width:260px;margin:0 0 34px;font-size:26px;line-height:1.08;font-weight:950}.service-card p{margin:0;color:var(--color-muted);font-size:16px;line-height:1.45;font-weight:650}.project-card{display:flex;min-height:520px;flex-direction:column;padding:22px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.project-card.teal{background:var(--color-card-teal)}.project-card.teal .project-visual,.project-card.coral .project-visual{background:var(--color-icon-dark)}.project-card.gold{background:var(--color-card-gold)}.project-card.coral{background:var(--color-card-coral)}.project-visual{display:flex;width:86px;height:86px;align-items:center;justify-content:center;margin-bottom:28px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.project-visual img{width:68px;height:68px;object-fit:contain}.project-visual span{font-size:22px;font-weight:950}.project-label{margin:0 0 10px;color:var(--color-accent);font-size:12px;font-weight:950;text-transform:uppercase}.project-card h3{margin:0;font-size:38px;line-height:1.02;font-weight:950;letter-spacing:0}.project-card p:not(.project-label){margin:22px 0 0;color:var(--color-muted);font-size:17px;line-height:1.5;font-weight:650}.project-stat{display:grid;gap:4px;margin-top:22px;padding:16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.project-stat strong{display:block;font-size:34px;line-height:1;font-weight:950}.project-stat span{color:var(--color-muted);font-size:13px;line-height:1.35;font-weight:850;text-transform:uppercase}.repo-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:28px}.repo-links a{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);font-size:12px;font-weight:900;text-transform:uppercase}.stack-intro{max-width:680px;margin:18px 0 0;color:var(--color-muted);font-size:18px;line-height:1.5;font-weight:650}.stack-card{display:flex;min-height:136px;align-items:center;gap:16px;padding:18px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.stack-card:nth-child(2n){background:var(--color-stack-alt-a)}.stack-card:nth-child(3n){background:var(--color-stack-alt-b)}.stack-logo{display:flex;width:58px;height:58px;flex:0 0 58px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.stack-logo img{width:34px;height:34px;object-fit:contain}.stack-card h3{margin:0;font-size:22px;line-height:1.1;font-weight:950}.stack-card p{margin:8px 0 0;color:var(--color-muted);font-size:15px;line-height:1.38;font-weight:650}.contribution-panel{position:relative;overflow:hidden;padding:22px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.contribution-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.contribution-panel-header p{margin:0 0 6px;color:var(--color-accent);font-size:12px;font-weight:950;text-transform:uppercase}.contribution-panel-header strong{display:block;font-size:30px;line-height:1.05;font-weight:950}.contribution-panel-header a{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-button-light-bg);color:var(--color-button-light-text);font-size:12px;font-weight:900;text-transform:uppercase}.contribution-chart{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:6px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}.contribution-chart::-webkit-scrollbar{display:none}.contribution-cell{display:block;width:16px;height:16px;border:1px solid color-mix(in srgb,var(--color-border) 18%,transparent);border-radius:4px;background:var(--color-contribution-0);opacity:0;transform:translateY(14px) scale(.52);will-change:transform,opacity}.contribution-legend span[data-level]{display:block;flex:0 0 14px;width:14px;height:14px;border:1px solid color-mix(in srgb,var(--color-border) 18%,transparent);border-radius:4px;background:var(--color-contribution-0)}.contribution-cell[data-level="1"],.contribution-legend span[data-level="1"]{background:var(--color-contribution-1)}.contribution-cell[data-level="2"],.contribution-legend span[data-level="2"]{background:var(--color-contribution-2)}.contribution-cell[data-level="3"],.contribution-legend span[data-level="3"]{background:var(--color-contribution-3)}.contribution-cell[data-level="4"],.contribution-legend span[data-level="4"]{background:var(--color-contribution-4)}.contribution-tooltip{position:fixed;z-index:40;max-width:240px;padding:9px 10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-button-dark-bg);color:var(--color-button-dark-text);font-size:12px;font-weight:850;line-height:1.25;opacity:0;pointer-events:none;visibility:hidden}.contribution-legend{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:14px;color:var(--color-muted);font-size:12px;font-weight:850;text-transform:uppercase}.fact-list{display:grid;gap:10px}.fact-list p{margin:0;padding:18px 20px;border:1px solid var(--color-border);border-left:12px solid var(--color-accent);border-radius:8px;background:var(--color-surface);color:var(--color-muted-strong);font-size:19px;line-height:1.35;font-weight:820}.fact-list p:nth-child(2){border-left:12px solid var(--color-profile)}.fact-list p:nth-child(3){border-left:12px solid var(--color-service-gold)}@media(max-width:1040px){.hero{grid-template-columns:1fr;min-height:auto}.hero h1{font-size:64px}.profile-panel{justify-self:start;width:min(100%,340px)}.service-grid,.project-grid,.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.page-shell{width:min(100% - 24px,640px);padding-top:12px}.site-header{top:6px;display:grid;grid-template-columns:minmax(0,1fr) 42px;min-height:0;align-items:center;gap:6px;padding:6px}.brand-group{min-width:0;align-items:center;gap:0}.brand-link{width:100%;min-height:36px;justify-content:flex-start;padding:0 10px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:contents}.brand-alias{display:none}.nav-links{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.nav-links a{min-height:32px;padding:0 4px;font-size:10px}.theme-toggle{grid-column:2;grid-row:1;width:42px;height:36px}.hero{gap:30px;padding:36px 0 48px}.hero h1{font-size:clamp(40px,11vw,50px)}.hero-lede{max-width:640px;font-size:17px;line-height:1.45}.hero-actions{margin-top:28px}.profile-panel{width:min(100%,420px)}.section-heading,.contact-section{grid-template-columns:1fr;gap:18px}.section-heading h2,.contact-section h2{font-size:34px}.contact-actions{padding-top:0}.service-grid,.project-grid,.stack-grid{grid-template-columns:1fr}.service-card{min-height:220px}.project-card{min-height:430px}.stack-card{min-height:118px}.contribution-panel-header{align-items:stretch;flex-direction:column}.contribution-panel-header a{width:100%}.contact-section,.content-section{padding:60px 0}}@media(max-width:440px){.page-shell{width:min(100% - 16px,640px);padding-top:8px}.site-header{top:4px}.brand-link{min-height:34px;font-size:11px}.nav-links a{min-height:30px;font-size:9px}.hero h1{font-size:38px}.hero-actions .button,.profile-panel{width:100%}.section-heading h2,.contact-section h2{font-size:30px}.project-card h3{font-size:32px}.fact-list p{font-size:17px}}
