@font-face{font-family:Figtree;src:url(/fonts/figtree-variable-latin.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/figtree-variable-italic-latin.woff2) format("woff2");font-weight:300 900;font-style:italic;font-display:swap}@font-face{font-family:Caveat;src:url(/fonts/caveat-variable-latin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Fira Mono;src:url(/fonts/fira-mono-regular-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fira Mono;src:url(/fonts/fira-mono-bold-latin.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--color-white: #fff;--color-black: #000;--color-slate-50: oklch(98.4% .003 247.858);--color-slate-100: oklch(96.8% .007 247.896);--color-slate-150: oklch(94.85% .01 251.7);--color-slate-200: oklch(92.9% .013 255.508);--color-slate-300: oklch(86.9% .022 252.894);--color-slate-400: oklch(70.4% .04 256.788);--color-slate-500: oklch(55.4% .046 257.417);--color-slate-600: oklch(44.6% .043 257.281);--color-slate-800: oklch(27.9% .041 260.031);--color-slate-900: oklch(20.8% .042 265.755);--color-neutral-100: oklch(97% .001 106.424);--color-neutral-200: oklch(92.3% .003 48.717);--color-neutral-300: oklch(86.9% .005 56.366);--color-neutral-400: oklch(70.9% .01 56.259);--color-neutral-500: oklch(55.3% .013 58.071);--color-neutral-600: oklch(44.4% .011 73.639);--color-neutral-700: oklch(37.4% .01 67.558);--color-neutral-800: oklch(26.8% .007 34.298);--color-neutral-900: oklch(21.6% .006 56.043);--color-yellow-light: oklch(91% .13 92.5);--color-yellow: oklch(85% .18 85.65);--color-yellow-dark: oklch(55% .12 85.65);--color-red-light: oklch(82% .1 22.5);--color-red: oklch(73% .14 22.5);--color-red-dark: oklch(43% .09 22.5);--color-green-light: oklch(85% .1 155);--color-green: oklch(75% .16 155);--color-green-dark: oklch(45% .1 155);--color-blue-light: oklch(82% .08 255.5);--color-blue: oklch(70% .13 255.5);--color-blue-dark: oklch(40% .08 255.5);--color-lilac-light: oklch(90% .06 295);--color-lilac: oklch(81% .11 295);--color-lilac-dark: oklch(47% .05 295);--color-background: var(--color-slate-50);--color-foreground: var(--color-slate-900);--color-surface: var(--color-slate-100);--color-surface-raised: var(--color-slate-150);--color-surface-inverse: var(--color-slate-800);--color-text-primary: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-text-muted: var(--color-slate-400);--color-border: var(--color-slate-200);--color-border-dark: var(--color-slate-300);--color-border-darkest: var(--color-slate-600);--font-sans: "Figtree", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: "Fira Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-decorative: "Caveat", ui-sans-serif, system-ui, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--font-weight-black: 900;--text-xs: .75rem;--text-sm: clamp(.83rem, .17vi + .79rem, .9rem);--text-base: clamp(1rem, .32vi + .92rem, 1.13rem);--text-md: clamp(1.2rem, .53vi + 1.07rem, 1.41rem);--text-lg: clamp(1.44rem, .81vi + 1.24rem, 1.76rem);--text-xl: clamp(1.73rem, 1.2vi + 1.43rem, 2.2rem);--text-2xl: clamp(2.07rem, 1.73vi + 1.64rem, 2.75rem);--text-3xl: clamp(2.49rem, 2.42vi + 1.88rem, 3.43rem);--text-4xl: clamp(2.99rem, 3.35vi + 2.15rem, 4.29rem);--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-wide: .025em;--tracking-widest: .1em;--spacing: .25rem;--gap: 16px;--columns: 12;--max-width: 1024px;--container-md: 28rem;--container-2xl: 42rem;--container-5xl: 64rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-4xl: 2rem;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring-subtle: linear( 0 0%, .0148 2%, .0537 4%, .1095 6%, .1762 8%, .2492 10%, .3249 12%, .4003 14%, .4735 16%, .543 18%, .608 20%, .6944 23%, .7684 26%, .8296 29%, .8791 32%, .9181 35%, .9481 38%, .9704 41%, .9865 44%, .9977 47%, 1.005 50%, 1.0094 53%, 1.0117 56%, 1.0125 60%, 1.012 63%, 1.0106 66%, 1.0087 71%, 1.0064 76%, 1.0044 81%, 1.0028 86%, 1.0016 91%, 1.0007 96%, 1.0004 100% );--ease-spring-playful: linear( 0 0%, .017 2%, .0641 4%, .1353 6%, .2247 8%, .3265 10%, .4356 12%, .5474 14%, .6576 16%, .7628 18%, .8604 20%, .9482 22%, 1.0247 24%, 1.0891 26%, 1.141 28%, 1.1806 30%, 1.2083 32%, 1.225 34%, 1.2318 37%, 1.2261 39%, 1.2054 42%, 1.1745 45%, 1.1377 48%, 1.0988 51%, 1.0612 54%, 1.0273 57%, .9986 60%, .9761 63%, .9602 66%, .9505 69%, .9464 72%, .947 75%, .9513 78%, .9581 81%, .9665 84%, .9755 87%, .9843 90%, .9924 93%, .9993 96%, 1.0047 99%, 1.0062 100% )}[data-theme=dark]{--color-background: var(--color-neutral-900);--color-foreground: var(--color-neutral-100);--color-surface: var(--color-neutral-800);--color-surface-raised: var(--color-neutral-700);--color-surface-inverse: var(--color-neutral-200);--color-text-primary: var(--color-neutral-100);--color-text-secondary: var(--color-neutral-400);--color-text-muted: var(--color-neutral-500);--color-border: var(--color-neutral-700);--color-border-dark: var(--color-neutral-600);--color-border-light: var(--color-neutral-800)}:root{--accent: var(--color-yellow);--accent-soft: var(--color-yellow-light);--measure: 55rem}[data-theme=dark]{--accent-soft: var(--color-yellow-dark)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{overflow-x:clip;background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background var(--default-transition-duration) var(--ease-in-out),color var(--default-transition-duration) var(--ease-in-out)}a{color:var(--color-text-primary);text-decoration:underline;text-decoration-color:var(--color-border-dark);text-underline-offset:3px;transition:text-decoration-color var(--default-transition-duration) var(--ease-in-out)}a:hover{text-decoration-color:var(--accent)}::selection{background:var(--accent-soft)}.page{max-width:var(--measure);margin:0 auto;padding:0 calc(var(--spacing) * 5) calc(var(--spacing) * 16)}.header{display:flex;justify-content:space-between;align-items:center;gap:var(--gap);padding:calc(var(--spacing) * 7) 0 0}.wordmark{display:inline-flex;align-items:center;gap:calc(var(--spacing) * 3);font-weight:var(--font-weight-bold);font-size:1.05rem;line-height:1.15;letter-spacing:-.01em;color:var(--color-text-primary);text-decoration:none}.wordmark:hover .wordmark-name{box-shadow:inset 0 -.35em 0 var(--accent-soft)}.wordmark-name{display:inline-block;margin-left:10px}.wordmark-mark{transition:transform .3s var(--ease-spring-playful)}.wordmark:hover .wordmark-mark{transform:scale(1.1) rotate(-6deg)}[data-theme=dark] .wordmark-mark{filter:invert(1) hue-rotate(180deg)}.nav{display:flex;gap:calc(var(--spacing) * 4);font-size:var(--text-sm)}.nav a{color:var(--color-text-secondary);text-decoration:none;border-bottom:2px solid transparent}.nav a:hover{color:var(--color-text-primary);border-bottom-color:var(--accent)}.theme-toggle{background:none;border:1px solid var(--color-border-dark);border-radius:999px;width:2rem;height:2rem;display:grid;place-items:center;cursor:pointer;font-size:.9rem;line-height:1;color:var(--color-text-secondary);transition:border-color var(--default-transition-duration) var(--ease-in-out),background var(--default-transition-duration) var(--ease-in-out),transform .3s var(--ease-spring-playful)}.theme-toggle:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--color-text-primary);transform:scale(1.12) rotate(-8deg)}@keyframes heroIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hero{padding:calc(var(--spacing) * 22) 0 calc(var(--spacing) * 16);animation:heroIn .6s var(--ease-spring-subtle) both}.hero h1{max-width:600px;font-size:var(--text-xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--leading-snug)}.hero-name{box-shadow:inset 0 -.4em 0 var(--accent-soft);border-bottom:3px solid var(--accent)}.hero-sub{margin-top:calc(var(--spacing) * 6);color:var(--color-text-secondary)}.flag{font-size:1.35em;line-height:1;vertical-align:-.12em}.section{padding:calc(var(--spacing) * 13) 0;border-top:1px solid var(--color-border)}.section-header{display:grid;gap:calc(var(--spacing) * 3);margin-bottom:calc(var(--spacing) * 8)}.section-label{font-size:var(--text-xl);font-weight:var(--font-weight-black);letter-spacing:-.02em;line-height:var(--leading-tight)}.section-desc{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.xp-list{list-style:none;display:flex;flex-direction:column;gap:calc(var(--spacing) * 9)}.xp{display:grid;grid-template-columns:44px 1fr;gap:calc(var(--spacing) * 4);align-items:start}.xp-logo{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);object-fit:cover;transition:transform .3s var(--ease-spring-playful)}.xp:hover .xp-logo{transform:scale(1.1) rotate(-4deg)}.xp-company{font-weight:var(--font-weight-bold);letter-spacing:-.01em}.xp-roles{list-style:none;margin-top:calc(var(--spacing) * 1);display:flex;flex-direction:column;gap:calc(var(--spacing) * .5)}.xp-roles li{display:flex;align-items:baseline;gap:calc(var(--spacing) * 3);flex-wrap:wrap}.xp-role{font-size:.95em;color:var(--color-text-secondary)}.xp-period{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.xp-blurb{margin-top:calc(var(--spacing) * 2);color:var(--color-text-secondary);font-size:.95em}.showcase{margin-top:calc(var(--spacing) * 4)}.showcase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:calc(var(--spacing) * 2.5)}.showcase-frame{aspect-ratio:1;overflow:hidden;border-radius:var(--radius-xl);border:1px solid var(--color-border)}.showcase-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease-spring-playful)}.showcase-frame:hover .showcase-img{transform:scale(1.06) rotate(-2deg)}.showcase-ig{display:inline-block;margin-top:calc(var(--spacing) * 3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary);text-decoration:none;border-bottom:2px solid transparent}.showcase-ig:hover{color:var(--color-text-primary);border-bottom-color:var(--accent)}.card-scroller{list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:min(473px,78vw);gap:calc(var(--spacing) * 4);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:calc(var(--spacing) * 3);scrollbar-width:thin;scrollbar-color:var(--color-border-dark) transparent;--bleed: calc(max((100vw - var(--measure)) / 2, 0px) + var(--spacing) * 5);margin-inline:calc(-1 * var(--bleed));padding-inline:var(--bleed);scroll-padding-left:var(--bleed)}.scroll-card{position:relative;scroll-snap-align:start;border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);overflow:hidden;transition:transform .3s var(--ease-spring-subtle),border-color var(--default-transition-duration) var(--ease-in-out)}.scroll-card-link{display:block;color:inherit;text-decoration:none}.scroll-card-arrow{position:absolute;top:calc(var(--spacing) * 3);right:calc(var(--spacing) * 3);width:2rem;height:2rem;display:grid;place-items:center;background:var(--color-background);color:var(--color-text-primary);border-radius:999px;font-size:.9rem;transition:transform .3s var(--ease-spring-playful)}.scroll-card:hover .scroll-card-arrow{transform:scale(1.15) rotate(8deg)}.scroll-card:hover{transform:translateY(-3px);border-color:var(--color-border-dark)}.scroll-card-media{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.scroll-card-body{padding:calc(var(--spacing) * 4) calc(var(--spacing) * 4) calc(var(--spacing) * 5)}.scroll-card-title{font-size:var(--text-base);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.scroll-card-blurb{margin-top:calc(var(--spacing) * 1.5);color:var(--color-text-secondary);font-size:var(--text-sm)}.hi-links{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing) * 3)}.hi-links li{display:inline-flex;align-items:center;gap:calc(var(--spacing) * 3)}.hi-links a{display:inline-flex;align-items:center;gap:calc(var(--spacing) * 1.5);font-weight:var(--font-weight-medium);text-decoration:none;transition:opacity var(--default-transition-duration) var(--ease-in-out)}.hi-links a:hover{opacity:.7}.hi-icon{width:1.05em;height:1.05em}.hi-sep{color:var(--color-text-muted)}.hi-break{flex-basis:100%;height:0}.footer{padding-top:calc(var(--spacing) * 7);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted)}@media(prefers-reduced-motion:reduce){.hero{animation:none}.theme-toggle,.xp-logo,.wordmark-mark,.scroll-card,.scroll-card-arrow,.showcase-img{transition:none}}@media(max-width:560px){.nav{display:none}.hero{padding-top:calc(var(--spacing) * 14)}.xp{grid-template-columns:36px 1fr;gap:calc(var(--spacing) * 3)}.xp-logo{width:36px;height:36px}}.glyph-sun[data-astro-cid-x3pjskd3],[data-theme=dark] .glyph-moon[data-astro-cid-x3pjskd3]{display:none}[data-theme=dark] .glyph-sun[data-astro-cid-x3pjskd3]{display:inline}
