:root{--ink:#000000;--ink2:#111111;--ink3:#1A1A1A;--ink4:#222222;--lime:#C8FF00;--white:#F7F4EF;--muted:#3a3a3a;--bg:var(--ink);--surface:#0A0A0A;--surface-2:var(--ink2);--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.16);--glass-tint:rgba(255,255,255,0.038);--glass-tint-blur:rgba(255,255,255,0.028);--glass-edge:rgba(255,255,255,0.10);--glass-blur:14px;--brand:var(--lime);--brand-dim:rgba(200,255,0,0.10);--brand-line:rgba(200,255,0,0.28);--brand-glow:rgba(200,255,0,0.16);--fg:var(--white);--fg-muted:#8F8F8F;--fg-subtle:#7D7D7D;--font-sans:var(--font-geist-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,"SF Mono",Menlo,monospace;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--page:72rem;--gutter:0.5rem;--header-h:3.5rem;--radius-card:0.875rem;--radius-control:0.5rem;--radius-pill:0.375rem;--ease:cubic-bezier(0.16,1,0.3,1)}@media (min-width:640px){:root{--gutter:1.5rem}}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;color-scheme:dark;scroll-padding-top:calc(var(--header-h) + var(--safe-top) + 2rem);scrollbar-gutter:stable}a{color:inherit;text-decoration:none}ol,ul{list-style:none}button{background:none;border:none;font:inherit;color:inherit}img,svg{display:block;max-width:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:1rem;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.022;pointer-events:none;z-index:9998}@media (display-mode:browser){body:before{content:"";position:fixed;left:0;right:0;bottom:0;height:var(--safe-bottom);background:var(--ink);pointer-events:none;z-index:9997}}[role=button]:not([aria-disabled=true]),button:not(:disabled),summary{cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::selection{background:var(--brand);color:var(--ink)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--ink3);border-radius:99px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page{width:100%;max-width:var(--page);margin-inline:auto;padding-inline:var(--gutter)}.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.eyebrow{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brand);display:inline-flex;align-items:center;gap:.625rem}.eyebrow:before{content:"//";opacity:.5}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3rem;padding-inline:1.75rem;border-radius:var(--radius-control);border:1px solid transparent;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .1s}.btn:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.btn:active{transform:none}}.icon{width:1rem;height:1rem;flex:none}.btn .icon{width:.875rem;height:.875rem}.btn--sm .icon{width:.8125rem;height:.8125rem}.btn--primary{background:var(--brand);color:var(--ink)}.btn--primary:hover{box-shadow:0 0 32px -6px var(--brand-glow)}.btn--outline{border-color:var(--border-strong);color:var(--fg)}.btn--outline:hover{background:var(--surface-2);border-color:var(--brand-line)}.btn--sm{height:2.25rem;padding-inline:1rem;font-size:.625rem}.tag{align-items:center;gap:.375rem;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--fg-subtle);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;padding:.1875rem .5rem;transition:color .2s,border-color .2s,background .2s}.pulse,.tag{display:inline-flex}.pulse{position:relative;width:.5rem;height:.5rem;flex-shrink:0}.pulse:after,.pulse:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--brand)}.pulse:before{animation:pulse-ring 2.6s ease-out infinite}.aurora{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.aurora-blob{position:absolute;border-radius:50%;will-change:transform,translate;--depth:16px}@media (hover:hover) and (pointer:fine){.aurora-blob{translate:calc(var(--aurora-x, 0) * var(--depth)) calc(var(--aurora-y, 0) * var(--depth) * .6)}}.aurora-blob-a{width:min(58rem,140vw);height:min(32rem,56vh);left:-14%;top:-16%;--depth:22px;background:radial-gradient(closest-side,rgba(200,255,0,.1),transparent);animation:drift-a 38s ease-in-out infinite}.aurora-blob-b{width:min(48rem,125vw);height:min(28rem,50vh);right:-14%;top:-10%;--depth:15px;background:radial-gradient(closest-side,rgba(200,255,0,.055),transparent);animation:drift-b 46s ease-in-out infinite}.aurora-blob-c{width:min(44rem,115vw);height:min(24rem,44vh);left:50%;bottom:-24%;margin-left:-22rem;--depth:10px;background:radial-gradient(closest-side,rgba(200,255,0,.045),transparent);animation:drift-c 42s ease-in-out infinite}.aurora-blob-d{width:min(34rem,100vw);height:min(20rem,38vh);right:-10%;top:46%;--depth:28px;background:radial-gradient(closest-side,rgba(200,255,0,.05),transparent);animation:drift-d 52s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.aurora-blob{animation:none!important;translate:none!important}}.grid-lines{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.4;background-image:linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.022) 1px,transparent 0);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 100% 60% at 50% 0,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 100% 60% at 50% 0,#000 40%,transparent 100%)}.has-cursor,.has-cursor :not(input):not(textarea){cursor:none}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;mix-blend-mode:difference;opacity:0;transition:opacity .2s;will-change:transform}.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--brand)}.cursor-ring{width:28px;height:28px;margin:-14px 0 0 -14px;border:1px solid var(--brand);transition:opacity .2s,width .25s var(--ease),height .25s var(--ease),margin .25s var(--ease),background .25s}.cursor-dot[data-active=true],.cursor-ring[data-active=true]{opacity:1}.cursor-ring[data-hot=true]{width:46px;height:46px;margin:-23px 0 0 -23px;background:rgba(200,255,0,.12)}.header{position:-webkit-sticky;position:sticky;top:0;z-index:100;padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right);border-bottom:1px solid transparent;background:var(--ink);transition:border-color .3s}.header[data-scrolled=true]{border-bottom-color:var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--header-h)}.logo{display:inline-flex;align-items:center;gap:.6875rem;font-family:var(--font-sans);font-size:1.0625rem;font-weight:600;letter-spacing:.01em;color:var(--fg);border-radius:var(--radius-pill)}.logo-mark{width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--brand);transition:transform .5s var(--ease)}.logo:hover .logo-mark{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.logo:hover .logo-mark{transform:none}}.logo-word span{color:var(--brand)}.header-nav{display:none;align-items:center;gap:.25rem;margin-left:1.5rem;margin-right:auto}.header-nav a{position:relative;padding:.5rem .75rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-subtle);border-radius:var(--radius-pill);transition:color .2s}.header-nav a:hover{color:var(--fg)}.header-nav a[data-active=true]{color:var(--brand)}.header-nav a:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.125rem;height:1px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.header-nav a[data-active=true]:after{transform:scaleX(1)}.header-actions{display:flex}.header-actions,.header-cta{align-items:center;gap:.5rem}.header-cta{display:none;height:2.25rem;padding-inline:.875rem;border:1px solid var(--brand-line);border-radius:var(--radius-control);background:var(--brand-dim);color:var(--brand);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;transition:background .2s,color .2s}.header-cta:hover{background:var(--brand);color:var(--ink)}.header-cta:hover .pulse:after,.header-cta:hover .pulse:before{background:var(--ink)}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--border);border-radius:var(--radius-control);color:var(--fg-muted);transition:color .2s,border-color .2s}.menu-toggle:hover{color:var(--fg);border-color:var(--border-strong)}.menu-panel{overflow:hidden;border-top:1px solid var(--border);background:var(--ink);animation:menu-in .25s var(--ease) both}.menu-panel a{display:flex;align-items:center;justify-content:space-between;padding:.9375rem 0;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);transition:color .2s}.menu-panel a:last-child{border-bottom:none}.menu-panel a:hover{color:var(--brand)}.menu-panel a:after{content:"→";color:var(--fg-subtle)}.menu-panel a[data-cta=true]{color:var(--brand)}.menu-panel a[data-cta=true]:after{content:"↗";color:var(--brand)}@media (min-width:900px){.header-nav{display:flex}.header-cta{display:inline-flex}.menu-toggle{display:none}}@media (min-width:900px) and (max-width:1099.98px){.header-nav{margin-left:.75rem}.header-nav a{padding-inline:.4375rem;letter-spacing:.12em}.header-nav a:after{left:.4375rem;right:.4375rem}}.hero{position:relative;padding-block:4.5rem 4rem;overflow:hidden}@media (min-width:640px){.hero{padding-block:7rem 5rem}}.hero-inner{position:relative;z-index:1;display:grid;grid-template-areas:"copy" "stats" "scroll"}.hero-copy{grid-area:copy;z-index:1}.hero-stats-slot{grid-area:stats}.hero-scroll-slot{grid-area:scroll}@media (min-width:1024px){.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 24rem;grid-template-areas:"copy   figure" "stats  stats" "scroll scroll";grid-column-gap:3.5rem;column-gap:3.5rem;align-items:center}.hero-copy{grid-area:copy}.hero-figure{grid-area:figure}.hero-stats-slot{grid-area:stats}.hero-scroll-slot{grid-area:scroll}}.hero-figure{display:block;position:absolute;grid-area:copy;top:42%;left:50%;translate:-50% -50%;width:min(118%,26rem);pointer-events:none;z-index:0;background:radial-gradient(closest-side,rgba(200,255,0,.05),transparent 70%)}@media (min-width:640px) and (max-width:1023.98px){.hero-figure{width:min(70%,34rem)}}@media (min-width:1024px){.hero-figure{position:static;grid-area:figure;translate:none;width:100%;pointer-events:auto}}.hero-figure .tesseract{opacity:.28}@media (min-width:1024px){.hero-figure .tesseract{opacity:1}}.tesseract{display:block;width:100%;aspect-ratio:1;height:auto}.hero-status{display:inline-flex;align-items:center;gap:.625rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brand)}.hero-headline{margin-top:1.5rem;max-width:16ch;font-size:clamp(2.75rem,8.5vw,5rem);font-weight:600;line-height:1.02;letter-spacing:-.035em;text-wrap:balance;color:var(--fg)}.hero-headline em{font-style:normal;color:var(--brand)}.hero-desc{margin-top:1.75rem;max-width:46ch;font-size:1rem;line-height:1.7;color:var(--fg-muted);text-wrap:pretty}.hero-actions{margin-top:2.25rem;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;justify-content:start;width:-moz-fit-content;width:fit-content;max-width:100%;grid-gap:.75rem;gap:.75rem}@media (max-width:27rem){.hero-actions{grid-auto-flow:row;width:100%}}.hero-stats{margin-top:4rem;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem}@media (min-width:768px){.hero-stats{grid-template-columns:repeat(4,1fr)}}.stat{padding:1rem;transition:border-color .3s}.stat:hover{border-color:var(--border-strong)}.stat dt{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle)}.stat dd{margin-top:.375rem;font-size:1.75rem;font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--fg)}.stat dd em{font-style:normal;color:var(--brand)}.stat-sub{display:block;margin-top:.375rem;font-family:var(--font-sans);font-size:.75rem;font-weight:400;letter-spacing:0;line-height:1.5;color:var(--fg-muted)}.hero-scroll{margin-top:2.5rem;display:none;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.24em;text-transform:uppercase;color:var(--fg-subtle)}.hero-scroll span:last-child{animation:nudge 2.4s ease-in-out infinite}@media (min-width:768px){.hero-scroll{display:inline-flex}}.marquee{border-block:1px solid var(--border);background:rgba(10,10,10,.6);overflow:hidden;padding-block:.875rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.marquee-track{display:flex;width:max-content;white-space:nowrap;animation:marquee 40s linear infinite}.marquee-item{display:flex;align-items:center;gap:1.5rem;flex-shrink:0;padding-inline:1.5rem;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.28em;text-transform:uppercase;color:var(--fg-subtle)}.marquee-item i{font-style:normal;color:var(--brand)}.marquee-label{display:inline-flex;align-items:center;gap:.5rem}.marquee-label .skill-icon{width:1rem;height:1rem;opacity:.9}.section{padding-block:4.5rem}@media (min-width:640px){.section{padding-block:6rem}}.section+.section{border-top:1px solid var(--border)}.section-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}@media (min-width:768px){.section-header{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:2rem}}.section-title{margin-top:.875rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--fg)}.section-title em{font-style:normal;color:var(--brand)}.section-note{max-width:34ch;font-size:.875rem;line-height:1.7;color:var(--fg-muted)}.projects,.projects-rest{display:grid;grid-gap:.75rem;gap:.75rem}.projects-rest{grid-template-columns:1fr}@media (min-width:768px){.projects-rest{grid-template-columns:repeat(6,1fr)}.projects-rest>*{grid-column:span 6}.projects-rest>[data-span="2"],.projects-rest>[data-span="4"]{grid-column:span 3}}@media (min-width:1024px){.projects-rest>[data-span="2"]{grid-column:span 2}.projects-rest>[data-span="4"]{grid-column:span 4}.projects-rest>[data-span="4"] .project-title{font-size:1.5rem}.projects-rest>[data-span="4"] .project-desc{max-width:54ch}.projects-rest>[data-span="2"] .project-title{font-size:1.25rem;gap:.625rem}.projects-rest>[data-span="2"] .project-desc{font-size:.8125rem}.projects-rest>[data-span="2"] .project-icon{width:1.5rem;height:1.5rem}.projects-rest>[data-span="6"] .project-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);grid-column-gap:3rem;column-gap:3rem;grid-template-areas:"meta  meta" "title title" "desc  tags" "cta   cta"}.projects-rest>[data-span="6"] .project-meta{grid-area:meta}.projects-rest>[data-span="6"] .project-title{grid-area:title}.projects-rest>[data-span="6"] .project-desc{grid-area:desc}.projects-rest>[data-span="6"] .project-tags{grid-area:tags;align-content:start;justify-content:flex-end;margin-top:.25rem}.projects-rest>[data-span="6"] .project-cta{grid-area:cta}}.project-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;height:100%;padding:1.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);transition:border-color .3s,transform .3s var(--ease)}.project-card:hover{border-color:var(--brand-line);transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){.project-card:hover{transform:none}}@media (min-width:640px){.project-card{padding:2rem}}.project-glow{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s ease;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0),rgba(200,255,0,.1),rgba(200,255,0,.035) 30%,transparent 62%)}.project-card:hover .project-glow{opacity:1}.project-card--featured{padding-bottom:0}@media (min-width:900px){.project-card--featured{display:grid;grid-template-columns:1fr .9fr;grid-gap:2.5rem;gap:2.5rem;align-items:center;padding-bottom:2rem}}.project-card--featured:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--brand),transparent 70%)}.project-meta{display:flex;align-items:center;gap:.625rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle)}.project-meta b{font-weight:500;color:var(--brand)}.project-arrow{position:absolute;top:1.75rem;right:1.75rem;font-size:1rem;line-height:1;color:var(--fg-subtle);transition:transform .25s var(--ease),color .25s}.project-card:hover .project-arrow{transform:translate(3px,-3px);color:var(--brand)}@media (min-width:640px){.project-arrow{top:2rem;right:2rem}}.project-title{display:flex;align-items:center;gap:.75rem;margin-top:1rem;font-size:1.375rem;font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--fg)}.project-card--featured .project-title{font-size:1.75rem}.project-icon{flex:none;display:grid;place-items:center;overflow:hidden;width:1.75rem;height:1.75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--ink)}.project-icon img{width:100%;height:100%;object-fit:cover}.project-icon b{font-family:var(--font-mono);font-size:.8125rem;font-weight:500;color:var(--fg-subtle)}.project-card:hover .project-icon{border-color:var(--brand-line)}.project-desc{margin-top:.75rem;font-size:.875rem;line-height:1.75;color:var(--fg-muted)}.project-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:1.25rem}.project-cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);transition:gap .25s var(--ease)}.project-card:hover .project-cta{gap:.875rem}.project-body{display:flex;flex-direction:column;flex:1 1}.project-body .project-desc{flex:1 1}.project-preview{display:none;position:relative;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius-control);background:radial-gradient(120% 90% at 50% 0,rgba(200,255,0,.05),transparent 60%),var(--ink);background-image:linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.02) 1px,transparent 0),radial-gradient(120% 90% at 50% 0,rgba(200,255,0,.05),transparent 60%);background-size:32px 32px,32px 32px,100% 100%}@media (min-width:900px){.project-preview{display:block}}.project-preview-bar{position:absolute;top:0;left:0;height:1px;width:55%;background:var(--brand);animation:shimmer 3.2s ease-in-out infinite}.project-preview-dots{position:absolute;top:.875rem;left:.875rem;display:flex;gap:.375rem}.project-preview-dots i{width:.375rem;height:.375rem;border-radius:50%;background:var(--ink4)}.project-preview-dots i:first-child{background:var(--brand)}.project-preview-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.project-preview-label b{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22)}.project-preview-label span{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.24em;text-transform:uppercase;color:var(--fg-subtle)}.quotes{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr}@media (min-width:720px){.quotes[data-count="2"],.quotes[data-count="3"]{grid-template-columns:repeat(2,1fr)}.quotes[data-count="3"]>:last-child{grid-column:1/-1}}@media (min-width:1000px){.quotes[data-count="3"]{grid-template-columns:repeat(3,1fr)}.quotes[data-count="3"]>:last-child{grid-column:auto}}.quote{position:relative;display:flex;flex-direction:column;gap:1.5rem;height:100%;padding:1.5rem;border-radius:var(--radius-card)}@media (min-width:640px){.quote{padding:1.75rem}}.quote-mark{position:absolute;top:.4375rem;left:1.0625rem;font-family:var(--font-sans);font-size:4rem;line-height:1;color:transparent;-webkit-text-stroke:1px var(--brand-line);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (min-width:640px){.quote-mark{top:.5rem;left:1.25rem;font-size:5rem}}.quote-body{position:relative;display:flex;flex-direction:column;gap:.75rem;max-width:68ch;padding-top:1rem}.quote-body p{font-size:.9375rem;line-height:1.75;color:var(--fg);text-wrap:pretty}.quote-by{gap:.875rem;margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--border)}.quote-by,.quote-who{display:flex;flex-direction:column}.quote-who{gap:.25rem}.quote-name{font-size:.875rem;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.quote-role{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle)}.quote-projects{display:flex;flex-wrap:wrap;gap:.375rem}.quote-project{gap:.3125rem;text-transform:none;letter-spacing:.02em}.quote-project:hover{color:var(--brand);border-color:var(--brand-line)}.quote-project span{opacity:.6}.quotes[data-count="1"] .quote{gap:1.75rem}@media (min-width:640px){.quotes[data-count="1"] .quote{padding:2.25rem}.quotes[data-count="1"] .quote-mark{top:.625rem;left:1.5rem;font-size:6.5rem}}.quotes[data-count="1"] .quote-body{gap:.875rem;padding-top:1.25rem}.quotes[data-count="1"] .quote-body p:first-child{font-size:clamp(1rem,1.4vw,1.125rem);letter-spacing:-.01em;line-height:1.65}@media (min-width:768px){.quotes[data-count="1"] .quote-by{flex-direction:row;align-items:center;justify-content:space-between;gap:1.5rem}}.about-card{overflow:hidden}.about-grid{padding:1.75rem}@media (min-width:640px){.about-grid{padding:2.5rem}}.about-text{max-width:68ch;font-size:.9375rem;line-height:1.85;color:var(--fg-muted)}.about-text p+p{margin-top:1.25rem}.about-text strong{color:var(--fg);font-weight:500}.about-skills{display:grid;grid-gap:1.75rem 3rem;gap:1.75rem 3rem;padding:1.75rem;border-top:1px solid var(--border)}@media (min-width:640px){.about-skills{padding:2.5rem}}@media (min-width:900px){.about-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}.skill-group-label{display:flex;align-items:center;gap:.75rem;margin-bottom:.875rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-subtle)}.skill-group-label:after{content:"";flex:1 1;height:1px;background:var(--border)}.skill-pills{display:flex;flex-wrap:wrap;gap:.375rem}.skill-pill{padding:.3125rem .5rem .3125rem .4375rem}.skill-icon{flex:none;width:.875rem;height:.875rem;opacity:.85;transition:opacity .2s}.project-card:hover .skill-icon,.skill-pill:hover .skill-icon{opacity:1}.skill-pill:hover{border-color:var(--brand-line);background:var(--brand-dim);color:var(--brand)}.timeline-item{display:grid;grid-gap:1rem;gap:1rem;padding-block:2rem;border-bottom:1px solid var(--border)}@media (min-width:768px){.timeline-item{grid-template-columns:11rem 1fr;gap:2.5rem}}.timeline-period{display:flex;flex-wrap:wrap;align-items:baseline;align-content:flex-start;gap:.625rem;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle)}.timeline-period:before{content:"";width:.4375rem;height:.4375rem;flex-shrink:0;border-radius:50%;border:1px solid var(--brand);translate:0 -.125rem}.timeline-location{flex-basis:100%;margin-top:-.25rem;margin-left:1.0625rem;letter-spacing:.1em;text-transform:none;color:var(--fg-subtle)}.timeline-role{font-size:1.125rem;font-weight:600;letter-spacing:-.015em;color:var(--fg)}.timeline-company{margin-top:.25rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}.timeline-bullets{margin-top:1.125rem;display:flex;flex-direction:column;gap:.625rem}.timeline-bullet{position:relative;padding-left:1.125rem;font-size:.875rem;line-height:1.7;color:var(--fg-muted)}.timeline-bullet:before{content:"";position:absolute;left:0;top:.6875rem;width:.375rem;height:1px;background:var(--brand)}.blog-controls{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.blog-controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.blog-search{width:100%;max-width:20rem;height:2.5rem;padding-inline:.875rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--fg);font-family:var(--font-mono);font-size:.8125rem;outline:none;transition:border-color .2s,background .2s}.blog-search::placeholder{color:var(--fg-subtle)}.blog-search:hover{border-color:var(--border-strong)}.blog-search:focus-visible{border-color:var(--brand);outline:2px solid var(--brand);outline-offset:2px}.blog-filter{padding:.375rem .75rem;border:1px solid var(--border);border-radius:var(--radius-pill);background:transparent;color:var(--fg-subtle);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;transition:color .2s,border-color .2s,background .2s}.blog-filter:hover{color:var(--fg);border-color:var(--border-strong)}.blog-filter[aria-pressed=true]{color:var(--brand);border-color:var(--brand-line);background:var(--brand-dim)}.blog-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr}@media (min-width:640px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1000px){.blog-grid{grid-template-columns:repeat(3,1fr)}}.blog-card{display:flex;flex-direction:column;height:100%;padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);transition:border-color .3s,transform .3s var(--ease)}.blog-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){.blog-card:hover{transform:none}}.blog-card-meta{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle)}.blog-card-meta i{font-style:normal;color:var(--brand)}.blog-card-title{margin-top:.875rem;font-size:1.0625rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;color:var(--fg)}.blog-card-desc{flex:1 1;margin-top:.625rem;font-size:.8125rem;line-height:1.7;color:var(--fg-muted)}.blog-card-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:1rem}.blog-card-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);transition:gap .25s var(--ease)}.blog-card-link:after{content:"→"}.blog-card:hover .blog-card-link{gap:.875rem}.blog-card-link:before{content:"";position:absolute;inset:0}.blog-card{position:relative}.blog-empty{padding:2.5rem 1.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.blog-empty h3{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.blog-empty>p{margin-top:.5rem;max-width:52ch;font-size:.875rem;color:var(--fg-muted)}.newsletter{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--border)}.newsletter-heading{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brand)}.newsletter-desc{margin-top:.5rem;max-width:46ch;font-size:.875rem;color:var(--fg-muted)}.newsletter-form{margin-top:1.125rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.newsletter-input{flex:1 1 12rem;min-width:0;max-width:22rem;height:2.5rem;padding-inline:.875rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--fg);font-family:var(--font-mono);font-size:.8125rem;outline:none;transition:border-color .2s,background .2s}.newsletter-input::placeholder{color:var(--fg-subtle)}.newsletter-input:hover{border-color:var(--border-strong)}.newsletter-input:focus-visible{border-color:var(--brand);outline:2px solid var(--brand);outline-offset:2px}.newsletter-input:disabled{color:var(--fg-subtle);cursor:not-allowed}.newsletter-form .btn:disabled{opacity:.45;cursor:not-allowed}.newsletter-note{margin-top:.75rem;max-width:52ch;font-family:var(--font-mono);font-size:.6875rem;line-height:1.7;color:var(--fg-subtle)}.newsletter-note a{color:var(--fg-muted);border-bottom:1px solid var(--border-strong);transition:color .2s,border-color .2s}.newsletter-note a:hover{color:var(--brand);border-color:var(--brand-line)}.newsletter-note[data-status=success]{color:var(--brand)}.newsletter-note[data-status=error]{color:#FF8A8A}.newsletter-note:empty{margin-top:0}.contact{position:relative;z-index:1;padding-block:4.5rem}@media (min-width:640px){.contact{padding-block:6rem}}.contact-panel{display:grid;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}@media (min-width:900px){.contact-panel{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}}.contact-rail{display:flex;flex-direction:column;padding:1.75rem;background:var(--brand);color:var(--ink)}@media (min-width:640px){.contact-rail{padding:2.5rem}}.contact-rail .eyebrow{color:rgba(0,0,0,.55)}.contact-rail .eyebrow:before{opacity:.65}.contact-headline{margin-top:.875rem;font-size:clamp(1.875rem,3.4vw,2.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;color:var(--ink)}.contact-headline em{font-style:normal;color:rgba(0,0,0,.45)}.contact-links{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;gap:.125rem}.contact-links a{display:flex;align-items:center;gap:.625rem;padding:.4375rem .5rem;margin-left:-.5rem;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:.8125rem;color:var(--ink);width:-moz-fit-content;width:fit-content;max-width:100%;transition:background .2s,transform .2s var(--ease)}.contact-links a:hover{background:rgba(0,0,0,.09);transform:translateX(3px)}@media (prefers-reduced-motion:reduce){.contact-links a:hover{transform:none}}.contact-links span{min-width:0;overflow-wrap:anywhere}.contact-rail :focus-visible{outline-color:var(--ink)}.contact-form-half{padding:1.75rem}@media (min-width:640px){.contact-form-half{padding:2.5rem}}.contact-form-heading{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.contact-form-desc{margin-top:.5rem;max-width:42ch;font-size:.875rem;color:var(--fg-muted)}.cform{margin-top:1.5rem}.cform-row{display:grid;grid-gap:.875rem;gap:.875rem}@media (min-width:560px){.cform-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.cform-field{display:flex;flex-direction:column;gap:.4375rem}.cform-row+.cform-field{margin-top:.875rem}.cform-field label{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-subtle)}.cform-field input,.cform-field textarea{width:100%;padding:.625rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--fg);font-family:var(--font-sans);font-size:.875rem;outline:none;transition:border-color .2s,background .2s}.cform-field textarea{resize:vertical;min-height:6rem;line-height:1.6}.cform-field input::placeholder,.cform-field textarea::placeholder{color:var(--fg-subtle)}.cform-field input:hover,.cform-field textarea:hover{border-color:var(--border-strong)}.cform-field [aria-invalid=true]{border-color:#FF6B6B}.cform-decoy{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.cform-foot{margin-top:1.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.875rem}.cform-foot .btn:disabled{opacity:.55;cursor:progress}.cform-result{flex:1 1 14rem;min-width:0;font-size:.8125rem;line-height:1.6;color:var(--fg-muted)}.cform-result[data-status=success]{color:var(--brand)}.cform-result[data-status=error]{color:#FF8A8A}.unsub{display:flex;align-items:center;min-height:calc(100vh - var(--header-h) - var(--safe-top));padding-block:4rem}.unsub-inner{width:100%}.unsub-outcome{max-width:34rem;margin-inline:auto;text-align:center}.unsub-heading{font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700;line-height:1.15;letter-spacing:-.02em}.unsub-body{margin-top:1rem;font-size:.9375rem;line-height:1.7;color:var(--fg-muted)}.unsub-address{margin-top:1.5rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2);font-family:var(--font-mono);font-size:.875rem;color:var(--fg);overflow-wrap:anywhere}.unsub-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.unsub-actions,.unsub-outcome>.btn{margin-top:2rem}.unsub-error{margin-top:1.25rem;min-height:1.25rem;font-size:.8125rem;color:#FF8A8A}.footer{border-top:1px solid var(--border)}.footer-inner{padding-block:3rem calc(1.5rem + var(--safe-bottom))}.footer-top{display:flex;flex-direction:column;gap:2.5rem}@media (min-width:768px){.footer-top{flex-direction:row;justify-content:space-between;gap:4rem}}.footer-brand{max-width:22rem}.footer-tagline{margin-top:.875rem;font-size:.8125rem;line-height:1.75;color:var(--fg-muted)}.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2rem;gap:2rem}@media (min-width:640px){.footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}}.footer-col h2{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-subtle)}.footer-col ul{margin-top:.875rem;display:flex;flex-direction:column;gap:.625rem}.footer-col a{font-size:.8125rem;color:var(--fg-muted);transition:color .2s}.footer-col a:hover{color:var(--fg)}.footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle)}@media (min-width:640px){.footer-bottom{flex-direction:row;align-items:center;justify-content:space-between}}.footer-bottom a{transition:color .2s}.footer-bottom a:hover{color:var(--brand)}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:150;background:var(--brand);transform-origin:left;transform:scaleX(0);pointer-events:none}.article{max-width:44rem;margin-inline:auto;padding-block:4rem 5rem}@media (min-width:640px){.article{padding-block:5rem 6rem}}.article-back{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-subtle);transition:color .2s,gap .25s var(--ease)}.article-back:before{content:"←"}.article-back:hover{color:var(--brand);gap:.75rem}.article-header{margin-top:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.article-meta{display:flex;align-items:center;gap:.625rem;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle)}.article-meta i{font-style:normal;color:var(--brand)}.article-title{margin-top:1rem;font-size:clamp(2rem,5vw,3rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;text-wrap:balance;color:var(--fg)}.article-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:1.5rem}.article-body{margin-top:2.5rem;font-size:1rem;line-height:1.8;color:var(--fg-muted)}.article-body>*+*{margin-top:1.25rem}.article-body h1{margin-top:2.75rem;font-size:1.625rem;font-weight:600;letter-spacing:-.025em;line-height:1.2;color:var(--fg)}.article-body h1:first-child{margin-top:0}.article-body h2{margin-top:2.75rem;font-size:1.375rem;font-weight:600;letter-spacing:-.02em;color:var(--fg)}.article-body h3{margin-top:2rem;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.article-body strong{color:var(--fg);font-weight:500}.article-body a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--brand-line);text-decoration-color:var(--brand-line)}.article-body a:hover{-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand)}.article-body ol,.article-body ul{padding-left:1.25rem}.article-body ul li{list-style:none;position:relative}.article-body ul li:before{content:"";position:absolute;left:-1.125rem;top:.8125rem;width:.375rem;height:1px;background:var(--brand)}.article-body ol{list-style:decimal}.article-body li+li{margin-top:.375rem}.article-body code{font-family:var(--font-mono);font-size:.8125em;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.125em .375em;color:var(--brand)}.article-body pre{background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--brand);border-radius:var(--radius-control);padding:1.25rem 1.375rem;overflow-x:auto;overscroll-behavior-x:contain}.article-body pre code{background:none;border:none;padding:0;color:var(--fg-muted);font-size:.8125rem;line-height:1.8}.article-body .hljs-comment,.article-body .hljs-quote{color:var(--fg-subtle);font-style:italic}.article-body .hljs-built_in,.article-body .hljs-doctag,.article-body .hljs-keyword,.article-body .hljs-literal,.article-body .hljs-meta,.article-body .hljs-selector-tag,.article-body .hljs-type{color:var(--brand)}.article-body .hljs-addition,.article-body .hljs-number,.article-body .hljs-regexp,.article-body .hljs-string,.article-body .hljs-symbol{color:var(--fg)}.article-body .hljs-section,.article-body .hljs-title,.article-body .hljs-title.class_,.article-body .hljs-title.function_{color:var(--fg);font-weight:500}.article-body .hljs-attr,.article-body .hljs-attribute,.article-body .hljs-property,.article-body .hljs-template-variable,.article-body .hljs-variable{color:var(--fg-muted)}.article-body .hljs-emphasis{font-style:italic}.article-body .hljs-strong{font-weight:600}.article-body blockquote{border-left:1px solid var(--brand);padding:.25rem 0 .25rem 1.25rem;color:var(--fg-subtle);font-style:italic}.article-body hr{border:0;border-top:1px solid var(--border);margin-block:2rem}.article-body img{border-radius:var(--radius-control)}.plain{padding-block:4.5rem 5rem}@media (min-width:640px){.plain{padding-block:6rem 7rem}}.plain-header{max-width:42rem;margin-bottom:3rem}.plain-title{margin-top:1rem;font-size:clamp(2.25rem,6vw,3.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.02;color:var(--fg)}.plain-lead{margin-top:1.25rem;max-width:46ch;font-size:1rem;line-height:1.75;color:var(--fg-muted)}.tool-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr;margin-bottom:3rem}@media (min-width:768px){.tool-grid{grid-template-columns:repeat(2,1fr)}}.tool-card{position:relative;display:flex;flex-direction:column;height:100%;padding:1.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);transition:border-color .3s,transform .3s var(--ease)}.tool-card:hover{border-color:var(--brand-line);transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){.tool-card:hover{transform:none}}.tool-card-top{display:flex;align-items:baseline;gap:.75rem}.tool-card-name{font-size:1.125rem;font-weight:600;letter-spacing:-.015em;color:var(--fg)}.tool-card-by{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}.tool-card-use{flex:1 1;margin-top:.75rem;font-size:.875rem;line-height:1.7;color:var(--fg-muted)}.tool-card-arrow{align-self:flex-end;margin-top:1.25rem;color:var(--fg-subtle);transition:transform .25s var(--ease),color .25s}.tool-card:hover .tool-card-arrow{transform:translate(3px,-3px);color:var(--brand)}.plain-note{max-width:46rem;padding-top:2.5rem;border-top:1px solid var(--border)}.plain-note p{margin-top:1rem;font-size:.9375rem;line-height:1.8;color:var(--fg-muted)}.notfound{padding-block:7rem 8rem;max-width:40rem}.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease) var(--reveal-delay,0s),transform .5s var(--ease) var(--reveal-delay,0s)}.reveal[data-visible=true]{opacity:1;transform:none}.stagger-item{opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease) calc(var(--i, 0) * 60ms),transform .45s var(--ease) calc(var(--i, 0) * 60ms)}.stagger[data-visible=true] .stagger-item{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal,.stagger-item{transform:none!important}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes pulse-ring{0%{transform:scale(.85);opacity:.6}70%,to{transform:scale(1.7);opacity:0}}@keyframes shimmer{0%,to{opacity:.35}50%{opacity:1}}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes drift-a{0%,to{transform:translateZ(0) scale(1);opacity:.88}33%{transform:translate3d(6%,4%,0) scale(1.06);opacity:1}66%{transform:translate3d(2%,7%,0) scale(1.02);opacity:.93}}@keyframes drift-b{0%,to{transform:translateZ(0) scale(1.05);opacity:1}33%{transform:translate3d(-7%,5%,0) scale(1);opacity:.86}66%{transform:translate3d(-3%,9%,0) scale(1.06);opacity:.95}}@keyframes drift-c{0%,to{transform:translateZ(0) scale(1);opacity:.9}33%{transform:translate3d(5%,-6%,0) scale(1.07);opacity:1}66%{transform:translate3d(-4%,-2%,0) scale(1.03);opacity:.87}}@keyframes drift-d{0%,to{transform:translateZ(0) scale(1.04);opacity:.86}33%{transform:translate3d(-6%,-7%,0) scale(1);opacity:1}66%{transform:translate3d(-2%,4%,0) scale(1.07);opacity:.92}}.blog-card,.blog-empty,.card,.contact-form-half,.project-card,.tool-card{background-color:var(--glass-tint);background-image:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02) 26%,transparent 52%);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 rgba(255,255,255,.11),inset 0 -1px 0 rgba(0,0,0,.32),inset 1px 0 0 rgba(200,255,0,.045),0 18px 40px -28px rgba(0,0,0,.9)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.blog-card,.blog-empty,.card,.contact-form-half,.project-card,.tool-card{background-color:var(--glass-tint-blur);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);backdrop-filter:blur(var(--glass-blur)) saturate(150%)}}.contact-panel{background:transparent}@media (prefers-reduced-transparency:reduce){.blog-card,.blog-empty,.card,.contact-form-half,.project-card,.tool-card{background-color:var(--surface);background-image:none;border-color:var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.contact-panel{background:var(--surface)}}@media (max-width:639.98px){:root{--card-pad:1rem}.about-grid,.about-skills,.article-body pre,.blog-card,.blog-empty,.contact-form-half,.contact-rail,.project-card,.quote,.stat,.tool-card{padding:var(--card-pad)}.blog-search,.newsletter-input{padding-inline:.75rem}}@media (pointer:coarse){.blog-search,.cform-field input,.cform-field textarea,.newsletter-input,input,select,textarea{font-size:1rem}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}