@font-face{font-family:Satoshi;font-weight:400;font-display:swap;font-style:normal;src:url(/fonts/satoshi-400.woff2)format("woff2")}@font-face{font-family:Satoshi;font-weight:500;font-display:swap;font-style:normal;src:url(/fonts/satoshi-500.woff2)format("woff2")}@font-face{font-family:Satoshi;font-weight:700;font-display:swap;font-style:normal;src:url(/fonts/satoshi-700.woff2)format("woff2")}@font-face{font-family:Satoshi;font-weight:900;font-display:swap;font-style:normal;src:url(/fonts/satoshi-900.woff2)format("woff2")}:root{--bg:#f4f1ec;--sec-a:#f4f1ec;--sec-b:#fbfaf7;--text:#171310;--dim:#6f675b;--faint:#1713100d;--line:#e2ddd1;--card:#fff;--card-line:#e8e3d7;--deep-bg:#15120e;--contact-bg:var(--accent);--contact-text:#fff;--contact-dim:#fffffff2;--contact-line:#ffffff38;--contact-cta:#fff;--contact-cta-text:var(--accent);--hero-panel:var(--accent);--hero-fullstack:#0a0a0a;--hero-cta-bg:#fff;--hero-cta-text:var(--accent);--nav-text:#fff;--nav-text-op:.95;--about-bg:#ece7dd;--about-text:#171310;--about-dim:#6f675b;--about-card:#fff;--about-card-line:#e3ddd0;--about-card-num:var(--accent);--tools-cat:var(--neutral-muted-dark);--accent:#2563eb;--accent-text:var(--accent);--accent-on-deep:#7ba6ff;--focus-ring:#0a0a0a;--radius-sm:3px;--radius-lg:6px;--target-min:44px;--tracking-label-wide:.2em;--tracking-label-narrow:.05em;--tracking-heading:-.025em;--tracking-display:-.03em;--text-micro:11px;--text-xs:12.5px;--text-sm:14px;--text-base:16px;--text-section:clamp(28px, 4vw, 52px);--neutral-muted-dark:#8a8a8a;--ink-950:#0a0a0a;--hero-photo-fallback:#0e2147;--tools-item-text:#ddd;--overlay-backdrop:#0a08068c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a0a0a;--sec-a:#0a0a0a;--sec-b:#1b1e25;--text:#fff;--dim:var(--neutral-muted-dark);--faint:#ffffff0d;--line:#1e1e1e;--card:#161616;--card-line:#262626;--deep-bg:#121212;--contact-bg:#0a0a0a;--contact-text:#fff;--contact-dim:#8a8a8a;--contact-line:#1e1e1e;--contact-cta:var(--accent);--contact-cta-text:#fff;--hero-panel:#0a0a0a;--hero-fullstack:var(--accent);--hero-cta-bg:var(--accent);--hero-cta-text:#fff;--nav-text:#fff;--nav-text-op:.95;--about-bg:#1b1e25;--about-text:#fff;--about-dim:#9a9a9a;--about-card:#262a33;--about-card-line:#343945;--about-card-num:#7ba6ff;--accent-text:#7ba6ff;--focus-ring:#fff;--overlay-backdrop:#000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);margin:0;font-family:Satoshi,system-ui,-apple-system,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}h1,h2,h3,p,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html.has-js-anim [data-reveal]{opacity:0;will-change:transform, opacity;transform:translateY(24px)}html.has-js-anim [data-reveal=left]{transform:translate(-32px)}html.has-js-anim [data-reveal=scale]{transform:scale(.5)}html.has-js-anim [data-reveal=pop]{transform:scale(.9)}html.has-js-anim{scroll-behavior:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:#fff;border-radius:var(--radius-sm);font:600 var(--text-sm) "Satoshi", sans-serif;padding:12px 20px;transition:top .15s;position:absolute;top:-100px;left:12px}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2.5px solid var(--focus-ring);outline-offset:3px;border-radius:2px}.wrap{max-width:1240px;margin:0 auto}.section{padding:clamp(72px,11vw,140px) clamp(24px,6vw,96px)}.kicker{font:600 var(--text-xs) "JetBrains Mono", monospace;letter-spacing:var(--tracking-label-wide);text-transform:uppercase;color:var(--dim);margin:0}.kicker--about{color:var(--about-dim)}.kicker__arrow{color:var(--accent)}.link-underline{font:600 var(--text-sm) "Satoshi", sans-serif;border-bottom:2px solid;padding-bottom:2px;display:inline-block}.site-header{position:relative}.nav{z-index:30;color:var(--nav-text);grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;display:grid;position:absolute;top:0;left:0;right:0}.nav-cell{justify-content:flex-end;align-items:center;gap:24px;padding:26px clamp(28px,5vw,80px);display:flex}.nav-logo{color:var(--nav-text);letter-spacing:-.02em;white-space:nowrap;padding:26px clamp(28px,5vw,80px);font:700 24px JetBrains Mono,monospace}.nav-menu{font:600 var(--text-base) "Satoshi", sans-serif;align-items:center;gap:24px;display:flex}.nav-link{color:var(--nav-text);opacity:var(--nav-text-op);white-space:nowrap}.nav-link:hover,.nav-link:focus-visible{opacity:1}.nav-cta{font:600 var(--text-base) "Satoshi", sans-serif;color:var(--nav-text);border-bottom:2px solid var(--nav-text);white-space:nowrap;min-height:var(--target-min);align-items:center;padding-bottom:2px;display:inline-flex}.nav-langs{font:500 var(--text-sm) "JetBrains Mono", monospace;color:var(--nav-text);align-items:center;gap:5px;display:flex}.nav-langs a{color:inherit;padding:8px 5px}.nav-langs .divider{opacity:.4}.nav-langs [aria-current=true]{opacity:1;font-weight:700}.nav-langs a:not([aria-current=true]){opacity:.95}.nav-langs a:hover,.nav-langs a:focus-visible{opacity:1}.theme-toggle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}.theme-toggle-disc{background:conic-gradient(from -90deg, #f4f1ec 0 50%, #15120e 50% 100%);width:18px;height:18px;box-shadow:0 0 0 2px color-mix(in srgb, var(--nav-text) 42%, transparent), 0 1px 6px #00000038;border-radius:50%;transition:transform .5s cubic-bezier(.68,-.35,.28,1.35);display:block;transform:rotate(0)}.theme-toggle:hover .theme-toggle-disc,.theme-toggle:focus-visible .theme-toggle-disc{box-shadow:0 0 0 2px var(--nav-text), 0 1px 8px #0000004d}:root[data-theme=dark] .theme-toggle-disc{transform:rotate(180deg)}.theme-toggle--desktop{margin-left:4px;display:none}.theme-toggle--mobile .theme-toggle-disc{width:20px;height:20px}.nav-burger{cursor:pointer;color:var(--nav-text);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:26px;line-height:1;display:none}.nav-mobile-actions{align-items:center;gap:16px;display:none}@media (width<=1280px){.nav{justify-content:space-between;align-items:center;grid-template-columns:none!important;padding:14px clamp(18px,5vw,40px)!important;display:flex!important}.nav-logo,.nav-cell{padding:0!important}.nav-burger{display:inline-flex!important}.nav-mobile-actions{display:flex!important}.theme-toggle--desktop{display:none!important}.nav-menu{display:none}.nav.is-open{background:#0a0a0a!important}.nav.is-open .nav-menu{background:#0a0a0a;border-top:1px solid #ffffff1f;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 40px #0006;flex-direction:column!important;align-items:flex-start!important;gap:20px!important;padding:22px clamp(18px,5vw,40px) 28px!important;display:flex!important}.nav.is-open .nav-menu a,.nav.is-open .nav-menu span,.nav.is-open .nav-menu button{color:#fff!important;opacity:1!important}.nav.is-open .nav-menu a,.nav.is-open .nav-menu button{align-items:center;min-height:44px;display:flex}.nav.is-open .nav-langs a{justify-content:center;min-width:24px;padding:4px 6px}}@media (width>=1281px){.theme-toggle--desktop{display:inline-flex}}.hero{grid-template-columns:.82fr 1.18fr;min-height:100vh;display:grid;position:relative}.hero-photo{background:var(--hero-photo-fallback);position:relative;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:100%}.hero-panel{background-color:var(--hero-panel);color:#fff;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.hero-panel-top{z-index:1;flex-direction:column;flex:auto;justify-content:center;padding:96px 10% 0;display:flex;position:relative}.hero-name{letter-spacing:var(--tracking-display);color:#fff;margin:0;font:900 clamp(48px,8.8vw,128px)/.9 Satoshi,sans-serif}.hero-name-line{display:inline-block}.hero-role{letter-spacing:.1em;color:var(--hero-fullstack);margin:clamp(14px,2vw,26px) 0 0;font:800 clamp(19px,2.3vw,32px) Satoshi,sans-serif}.hero-desc{color:#fffffff2;max-width:85%;margin:clamp(20px,3vw,40px) 0 0;font:400 clamp(15px,1.6vw,19px)/1.5 Satoshi,sans-serif}.hero-stats{z-index:1;background-color:var(--hero-panel);background-image:linear-gradient(#00000026,#00000026);justify-content:space-between;align-items:center;gap:20px;min-height:20vh;padding:24px 10%;display:flex;position:relative}.hero-stat{align-items:center;gap:14px;display:flex}.hero-stat-icon{color:#fff;opacity:.9;flex-shrink:0;width:clamp(28px,3vw,40px);height:clamp(28px,3vw,40px)}.hero-stat-num{color:#fff;font:800 clamp(20px,2.3vw,30px) Satoshi,sans-serif}.hero-stat-num .stat-progression-arrow,.hero-stat-num .stat-progression-to{display:inline-block}.hero-stat-label{color:#fffffff2;margin-top:2px;font:500 clamp(12px,1.6vw,16px) Satoshi,sans-serif}.hero-scroll{z-index:1;flex-direction:column;align-items:center;gap:9px;display:flex;position:absolute;top:128px;right:clamp(28px,5vw,80px)}.hero-scroll-label{font:500 var(--text-micro) "JetBrains Mono", monospace;letter-spacing:var(--tracking-label-wide);color:#fffffff2}.hero-scroll-arrow{color:#fffffff2;font-size:15px;line-height:1;animation:1.6s ease-in-out infinite scrollbob}@keyframes scrollbob{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(7px)}}@media (width<=1024px){.hero{grid-template-columns:1fr!important;min-height:0!important}.hero-photo{min-height:300px;height:46vh!important}.hero-panel-top{flex:none!important;justify-content:flex-start!important;padding:48px clamp(24px,6vw,56px) 40px!important}.hero-stats{flex-wrap:nowrap;min-height:0!important;padding:28px clamp(24px,6vw,56px)!important}.hero-scroll{display:none!important}}@media (width<=640px){.hero-photo{min-height:230px;height:36vh!important}.hero-panel-top{padding-bottom:32px!important}.hero-stats{flex-direction:column;align-items:flex-start;gap:22px;padding:28px clamp(24px,6vw,56px) 32px!important}.hero-stat{width:100%}}.about{background:var(--about-bg);color:var(--about-text)}.about-grid{flex-wrap:wrap;align-items:flex-start;gap:clamp(40px,6vw,80px);margin-top:clamp(40px,6vw,72px);display:flex}.about-copy{flex:520px;min-width:min(300px,100%)}.about-h2{font:800 var(--text-section) / 1.1 "Satoshi", sans-serif;letter-spacing:var(--tracking-heading);color:var(--about-text)}.about-h2 .ghost{color:var(--about-dim)}.about-body{max-width:560px;color:var(--about-dim);flex-direction:column;gap:18px;margin-top:clamp(28px,3.5vw,44px);font:400 16px/1.65 Satoshi,sans-serif;display:flex}.about-emphasis{color:var(--about-text);font-weight:500}.about-body code{font:500 var(--text-sm) "JetBrains Mono", monospace;color:var(--about-text)}.about-cv{color:var(--about-text);margin-top:clamp(28px,3.5vw,40px)}.about-cards{flex-direction:column;flex:340px;gap:18px;min-width:min(280px,100%);padding-top:8px;display:flex}.about-card{background:var(--about-card);border:1px solid var(--about-card-line);border-radius:var(--radius-sm);align-self:flex-start;min-width:240px;padding:16px 20px}.about-card:first-child{transform:rotate(-1.6deg)}.about-card:nth-child(2){align-self:flex-end;transform:rotate(1.4deg)}.about-card:nth-child(3){margin-left:24px;transform:rotate(-1deg)}.about-card:nth-child(4){align-self:flex-end;transform:rotate(1.8deg)}.about-card-num{color:var(--about-card-num);font:900 34px/1 Satoshi,sans-serif}.about-card-label{font:400 var(--text-xs) "JetBrains Mono", monospace;color:var(--about-dim);margin-top:6px}.services{background:var(--sec-a);color:var(--text)}.services-h2{letter-spacing:var(--tracking-heading);margin:clamp(28px,3.5vw,44px) 0 0;font:800 clamp(30px,4.6vw,60px)/1.02 Satoshi,sans-serif}.services-h2 .ghost{color:var(--dim);opacity:.8}.services-list{flex-direction:column;margin-top:clamp(48px,6vw,80px);display:flex}.service-row{border-top:1px solid var(--line);grid-template-columns:90px 1px 1fr;align-items:start;gap:clamp(20px,4vw,56px);padding:clamp(28px,3.5vw,44px) 0;display:grid}.services-list .service-row:last-child{border-bottom:1px solid var(--line)}.service-num{color:var(--dim);font:700 18px JetBrains Mono,monospace;display:inline-block}.service-row--active .service-num{color:var(--accent-text)}.service-divider{background:var(--line);align-self:stretch}.service-body{max-width:640px}.service-title{font:700 clamp(20px,2.4vw,30px) Satoshi,sans-serif}.service-desc{color:var(--dim);margin:12px 0 0;font:400 16px/1.6 Satoshi,sans-serif}.work{background:var(--sec-b);color:var(--text);position:relative;overflow:hidden}.work-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 24px;display:flex}.work-h2{font:600 var(--text-xs) "JetBrains Mono", monospace;letter-spacing:var(--tracking-label-wide);text-transform:uppercase;color:var(--dim)}.work-sub{font:500 var(--text-xs) "JetBrains Mono", monospace;color:var(--dim)}.work-casestudies{margin-top:clamp(28px,4vw,40px)}.work-casestudies-label{font:500 var(--text-sm) "JetBrains Mono", monospace;letter-spacing:var(--tracking-label-narrow);color:var(--dim);margin:0 0 12px}.work-casestudies-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.work-preview{background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius-sm);padding:18px 20px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;display:block}.work-preview:hover,.work-preview:focus-visible{transform:translateY(-3px);box-shadow:0 18px 40px #0000002e}:root[data-theme=dark] .work-preview:hover,:root[data-theme=dark] .work-preview:focus-visible{box-shadow:0 18px 40px #00000080}.work-preview-context{font:500 var(--text-xs) "JetBrains Mono", monospace;letter-spacing:var(--tracking-label-narrow);color:var(--dim);margin:0}.work-preview-title{letter-spacing:var(--tracking-heading);color:var(--text);margin:5px 0 0;font:800 clamp(17px,1.8vw,20px) Satoshi,sans-serif}.work-preview-divider{background:var(--line);height:1px;margin:12px 0}.work-preview-results{flex-wrap:wrap;gap:20px;display:flex}.work-preview-value{letter-spacing:var(--tracking-heading);color:var(--accent-text);font:800 clamp(20px,2.3vw,26px)/1 Satoshi,sans-serif;display:block}.work-preview-label{font:400 var(--text-micro) "JetBrains Mono", monospace;color:var(--dim);margin-top:4px;display:block}.work-preview-cta{font:600 var(--text-sm) "Satoshi", sans-serif;color:var(--text);border-bottom:2px solid var(--text);margin-top:14px;padding-bottom:2px;transition:transform .25s;display:inline-block}.work-preview:hover .work-preview-cta,.work-preview:focus-visible .work-preview-cta{transform:translate(4px)}.work-row{align-items:center;gap:clamp(6px,4vw,52px) clamp(28px,4vw,52px);margin-top:clamp(40px,5vw,64px);display:grid}.work-row--a{grid-template-columns:.92fr 1.08fr;grid-template-areas:"media head""media rest"}.work-row--b{grid-template-columns:1.08fr .92fr;grid-template-areas:"head media""rest media";margin-top:clamp(44px,6vw,84px)}.work-media{background:var(--card);border:1px solid var(--card-line);grid-area:media;align-self:end;height:clamp(220px,26vw,340px);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;position:relative;overflow:hidden}.work-row--b .work-media{height:clamp(200px,23vw,300px)}.work-media img{object-fit:cover;width:100%;height:100%}.work-media-wipe{z-index:2;background:var(--card);pointer-events:none;clip-path:inset(0% 0% 0% 100%);position:absolute;inset:0}.work-media>:not(.work-media-wipe){transition:transform .5s cubic-bezier(.16,1,.3,1)}.work-row:hover .work-media,.work-row:focus-within .work-media{transform:translateY(-4px);box-shadow:0 18px 40px #0000002e}:root[data-theme=dark] .work-row:hover .work-media,:root[data-theme=dark] .work-row:focus-within .work-media{box-shadow:0 18px 40px #00000080}.work-row:hover .work-media>:not(.work-media-wipe),.work-row:focus-within .work-media>:not(.work-media-wipe){transform:scale(1.03)}.work-desc-sentence{display:inline-block}.work-view-btn{transition:transform .25s}.work-view-btn:hover,.work-view-btn:focus-visible{transform:translate(4px)}.work-head{grid-area:head}.work-meta{font:500 var(--text-xs) "JetBrains Mono", monospace;color:var(--dim);letter-spacing:var(--tracking-label-narrow)}.work-title{font:800 var(--text-section) / .96 "Satoshi", sans-serif;letter-spacing:var(--tracking-heading);margin:8px 0 0}.work-row--b .work-title{font:800 clamp(28px,3.4vw,44px)/.96 Satoshi,sans-serif}.work-sub-line{color:var(--accent-text);margin-top:5px;font:700 clamp(15px,1.6vw,20px) Satoshi,sans-serif}.work-row--b .work-sub-line{font:700 clamp(14px,1.4vw,18px) Satoshi,sans-serif}.work-rest{grid-area:rest}.work-desc{color:var(--text);margin:0;font:400 clamp(16px,1.6vw,18px)/1.6 Satoshi,sans-serif}.work-foot{flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px;display:flex}.work-tech{font:400 var(--text-sm) "JetBrains Mono", monospace;color:var(--dim)}.work-view-btn{font:600 var(--text-sm) "Satoshi", sans-serif;color:var(--text);border-bottom:2px solid var(--text);white-space:nowrap;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;align-items:center;min-height:44px;padding-bottom:2px;padding-left:0;padding-right:0;display:inline-flex}@media (width>=641px) and (width<=1024px){.work-media{align-self:start}}@media (width<=640px){.work-row--a,.work-row--b{grid-template-columns:1fr!important;grid-template-areas:"head""media""rest"!important;gap:20px!important}.work-media{height:clamp(240px,64vw,360px)!important;margin:4px 0!important}}.tools{background:var(--deep-bg);color:#fff}.tools-kicker{color:var(--neutral-muted-dark)}.tools-h2{letter-spacing:var(--tracking-heading);color:#fff;margin:clamp(28px,3.5vw,44px) 0 0;font:800 clamp(30px,4.6vw,60px)/1.02 Satoshi,sans-serif}.tools-h2 .ghost{color:#fff6}.tools-list{flex-direction:column;margin-top:clamp(48px,6vw,80px);display:flex}.tools-row{border-top:1px solid #232323;grid-template-columns:160px 1fr;gap:clamp(16px,3vw,40px);padding:22px 0;display:grid}.tools-list .tools-row:last-child{border-bottom:1px solid #232323}.tools-cat{font:500 var(--text-sm) "JetBrains Mono", monospace;color:var(--tools-cat);letter-spacing:var(--tracking-label-narrow)}.tools-items{color:var(--tools-item-text);font:400 clamp(15px,1.7vw,20px)/1.5 Satoshi,sans-serif}.tools-tag{display:inline-block}@media (width<=640px){.tools-row{grid-template-columns:107px 1fr!important;gap:14px!important}}.experience{background:var(--sec-a);color:var(--text)}.exp-track{margin-top:clamp(44px,6vw,72px);position:relative}.exp-line{background:var(--line);width:2px;position:absolute;top:8px;bottom:8px;left:0}.exp-line-fill{background:var(--accent);width:100%;height:0%;position:absolute;top:0;left:0}.exp-list{flex-direction:column;margin-top:0;padding-left:28px;display:flex}.exp-row{border-top:1px solid var(--line);padding:clamp(22px,2.6vw,32px) 0;position:relative}.exp-list .exp-row:last-child{border-bottom:1px solid var(--line)}.exp-dot{background:var(--line);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;transition:background .3s,transform .3s;position:absolute;top:clamp(28px,3.2vw,38px);left:-33px}.exp-row.is-active .exp-dot{background:var(--accent);transform:scale(1.35)}@media (prefers-reduced-motion:reduce){.exp-line-fill{height:100%}.exp-dot{background:var(--accent)}}.exp-title{font:600 clamp(17px,2vw,24px) Satoshi,sans-serif}.exp-date{color:var(--dim);font:400 var(--text-sm) "JetBrains Mono", monospace}.exp-desc{color:var(--dim);max-width:680px;margin-top:4px;font:400 16px/1.55 Satoshi,sans-serif}.edu-line{font:400 var(--text-base) / 1.7 "JetBrains Mono", monospace;color:var(--dim);margin-top:clamp(36px,4vw,56px)}.edu-label{color:var(--accent-text)}.testimonials{background:var(--sec-b);color:var(--text)}.testimonials-h2{letter-spacing:var(--tracking-heading);margin:clamp(28px,3.5vw,44px) 0 0;font:800 clamp(30px,4.6vw,60px)/1.02 Satoshi,sans-serif}.testimonials-h2 .ghost{color:var(--dim);opacity:.8}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(36px,5vw,64px);margin-top:clamp(48px,6vw,80px);display:grid}.testimonial-mark{color:var(--accent-text);height:30px;font:900 56px/.5 Satoshi,sans-serif}.testimonial-quote{color:var(--text);margin:0;font:400 clamp(17px,1.7vw,20px)/1.55 Satoshi,sans-serif}.testimonial-cite{font:500 var(--text-xs) / 1.6 "JetBrains Mono", monospace;color:var(--dim);margin-top:18px;font-style:normal}.contact{background:var(--contact-bg);color:var(--contact-text);padding-bottom:0}.contact-h2{letter-spacing:var(--tracking-display);color:var(--contact-text);margin:0;font:900 clamp(48px,8.8vw,128px)/.92 Satoshi,sans-serif}.mask-line{display:block;overflow:hidden}.mask-line-inner{display:block}.contact-p{max-width:520px;color:var(--contact-dim);margin:clamp(24px,3vw,40px) 0 0;font:400 clamp(16px,1.7vw,19px)/1.6 Satoshi,sans-serif}.contact-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:clamp(36px,5vw,64px);display:flex}.contact-info{font:500 var(--text-sm) / 2 "JetBrains Mono", monospace;color:var(--contact-text)}.contact-info .dim{color:var(--contact-dim)}.btn-primary{border-radius:var(--radius-sm);min-height:var(--target-min);align-items:center;transition:transform .2s,opacity .2s;display:inline-flex}.btn-primary:hover,.btn-primary:focus-visible{opacity:.9;transform:translateY(-2px)}.btn-primary:disabled,.btn-primary[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none;transform:none}.contact-cta{background:var(--contact-cta);color:var(--contact-cta-text);padding:14px 26px;font:700 clamp(15px,1.6vw,18px) Satoshi,sans-serif}.site-footer{background:var(--contact-bg);color:var(--contact-text);padding:clamp(56px,8vw,110px) clamp(24px,6vw,96px) 32px}.site-footer .wrap{border-top:1px solid var(--contact-line);font:500 var(--text-xs) "JetBrains Mono", monospace;color:var(--contact-dim);letter-spacing:var(--tracking-label-narrow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:24px 0;display:flex}.footer-langs{align-items:center;gap:5px;display:inline-flex}.footer-langs a{color:var(--contact-text);padding:8px 5px}.footer-langs [aria-current=true]{opacity:1;font-weight:700}.footer-langs a:not([aria-current=true]){opacity:.95}.case-topbar{justify-content:space-between;align-items:center;gap:16px;padding:22px clamp(24px,6vw,96px);display:flex}.case-topbar-logo{letter-spacing:-.02em;color:var(--text);font:700 20px JetBrains Mono,monospace}.case-topbar-langs{font:500 var(--text-sm) "JetBrains Mono", monospace;color:var(--text);align-items:center;gap:5px;display:inline-flex}.case-topbar-langs a{color:inherit;opacity:.8;padding:8px 5px}.case-topbar-langs a:hover,.case-topbar-langs a:focus-visible{opacity:1}.case-topbar-langs [aria-current=true]{opacity:1;font-weight:700}.case-topbar-langs span[aria-hidden]{opacity:.4}.case-article{padding:0 clamp(24px,6vw,96px) clamp(72px,11vw,140px)}.case-header{background:var(--accent);border-radius:var(--radius-lg);color:#fff;padding:clamp(32px,5vw,56px) clamp(24px,5vw,48px)}.case-context{font:500 var(--text-xs) "JetBrains Mono", monospace;letter-spacing:var(--tracking-label-narrow);color:#fffffff2;margin:0}.case-title{font:800 var(--text-section) / 1.05 "Satoshi", sans-serif;letter-spacing:var(--tracking-heading);color:#fff;margin:10px 0 0}.case-stack{flex-wrap:wrap;gap:8px;margin-top:clamp(20px,3vw,28px);display:flex}.case-stack li{font:500 var(--text-xs) "JetBrains Mono", monospace;color:#fffffff2;border-radius:var(--radius-sm);border:1px solid #ffffff59;padding:5px 10px}.case-divider{background:var(--contact-line);height:1px;margin:clamp(24px,3.5vw,36px) 0}.case-results{flex-wrap:wrap;gap:clamp(28px,4vw,56px);display:flex}.case-result-value{letter-spacing:var(--tracking-heading);color:#fff;font:900 clamp(32px,4.2vw,52px)/1 Satoshi,sans-serif;display:block}.case-result-label{font:500 var(--text-xs) "JetBrains Mono", monospace;color:#fffffff2;margin-top:8px;display:block}.case-body{max-width:660px;font:400 var(--text-base) / 1.65 "Satoshi", sans-serif;color:var(--text);margin:clamp(48px,6vw,72px) auto 0}.case-body h2,.case-body h3,.case-body h4{letter-spacing:var(--tracking-heading);color:var(--text);margin:clamp(32px,4vw,44px) 0 0;font:700 clamp(20px,2.4vw,26px) Satoshi,sans-serif}.case-body p,.case-body ul,.case-body ol{margin:16px 0 0}.case-body ul,.case-body ol{padding-left:1.2em}.case-body ul{list-style:outside}.case-body ol{list-style:decimal}.case-body li+li{margin-top:8px}.case-body strong{font-weight:700}.case-body code{font:500 var(--text-sm) "JetBrains Mono", monospace;color:var(--text);background:var(--faint);border-radius:var(--radius-sm);padding:2px 6px}.case-body a{color:var(--accent-text);border-bottom:1px solid}.case-body p:has(>img:only-child){margin-top:clamp(32px,4vw,44px)}.case-body img{border-radius:var(--radius-sm);width:100%;height:auto}.case-footer-nav{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:clamp(56px,7vw,88px);padding-top:24px;display:flex}.case-nav-back{font:600 var(--text-sm) "Satoshi", sans-serif;color:var(--text);border-bottom:2px solid var(--text);padding-bottom:2px}.case-nav-next{font:600 var(--text-sm) "Satoshi", sans-serif;color:var(--accent-text);border-bottom:2px solid;padding-bottom:2px}
