:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--background:#09090b;--foreground:#f4f1f7;--muted:#a1a1aa;--accent:#9345d3;--accent-hover:#a65de1;--border:#ffffff17;--surface:#ffffff08;--surface-hover:#ffffff0f;--radius:12px;--heading:"Space Grotesk", "Arial", sans-serif;--body:"Inconsolata", "Courier New", monospace;font-family:Inconsolata,Courier New,monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--background);min-width:320px;scroll-padding-top:92px}body{background:var(--background);min-width:320px;color:var(--foreground);font-family:var(--body);margin:0;font-size:16px;line-height:1.55}a,button{color:inherit;font:inherit}a{text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent-hover);outline-offset:4px}::selection{background:var(--accent);color:#fff}.page-shell{width:min(100% - 48px,920px);margin-inline:auto}.site-header{z-index:2;-webkit-backdrop-filter:blur(10px);background:#18181b85;border-radius:999px;justify-content:space-between;align-items:center;gap:28px;width:max-content;max-width:calc(100vw - 32px);min-height:54px;padding:7px 12px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0003}.wordmark{font-family:var(--heading);letter-spacing:-.06em;align-items:flex-start;gap:2px;font-size:22px;font-weight:700;line-height:1;display:inline-flex}.wordmark span{color:var(--accent-hover);font-family:var(--body);letter-spacing:0;margin-top:1px;font-size:9px;font-weight:400}.site-nav,.footer-links{color:var(--muted);align-items:center;gap:24px;font-size:14px;display:flex}.site-nav a,.footer-links a{transition:color .15s}.site-nav a:hover,.footer-links a:hover{color:var(--foreground)}.hero{padding:clamp(96px,14vw,148px) 0 clamp(28px,3vw,36px)}.hero-copy{max-width:760px}.hero h1{font-family:var(--heading);letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(48px,7vw,72px);font-weight:700;line-height:.98}.hero h1 span{color:var(--accent)}.hero-description{color:#c4c1c8;text-wrap:pretty;max-width:600px;margin:24px 0 0;font-size:18px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.button{border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:40px;padding:8px 15px;font-size:14px;transition:border-color .15s,background-color .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.button-primary:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.work-section{border-top:1px solid var(--border);padding:28px 0 0}.section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px;display:flex}.section-heading h2{font-family:var(--heading);letter-spacing:-.04em;margin:0;font-size:clamp(34px,5vw,42px);font-weight:700;line-height:1}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(10px);flex-direction:column;align-items:flex-start;min-height:180px;padding:19px;transition:border-color .16s,background-color .16s,transform .16s;display:flex}.project-card[data-reveal].is-visible:hover{background:var(--surface-hover);border-color:#9345d385;transform:translateY(-2px)}.project-heading{justify-content:space-between;align-items:center;width:100%;display:flex}.project-open{width:100%;color:var(--muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:21px;font-size:13px;display:flex}.project-open-arrow{color:var(--accent-hover);transition:transform .16s}.project-card:hover .project-open-arrow{transform:translate(2px,-2px)}.project-name{font-family:var(--heading);letter-spacing:-.035em;font-size:25px;font-weight:700;line-height:1.15}.project-description{color:#c4c1c8;text-wrap:pretty;margin-top:8px;font-size:15px;line-height:1.5}.tool-section{border-top:1px solid var(--border);margin-top:23px;padding-top:17px}.tool-heading{color:var(--muted);margin:0 0 11px;font-size:13px;font-weight:400}.tool-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tool-badge{object-fit:contain;width:auto;max-width:100%;height:32px;display:block}.about-section{border-top:1px solid var(--border);margin-top:10px;padding-top:20px}.work-section{margin-top:82px}.about-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(28px,7vw,72px);display:grid}.about-layout h2{font-family:var(--heading);letter-spacing:-.04em;margin:0;font-size:clamp(34px,5vw,42px);font-weight:700;line-height:1}.about-copy{color:#c4c1c8;max-width:560px;font-size:16px;line-height:1.7}.about-copy p{margin:0}.about-copy p+p{margin-top:16px}.contact-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:24px;margin-top:80px;padding:24px;display:flex}.contact-section h2{font-family:var(--heading);letter-spacing:-.04em;margin:0;font-size:clamp(23px,3vw,30px)}.contact-section p{color:var(--muted);margin:5px 0 0;font-size:14px}.contact-link{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;min-height:40px;padding:8px 14px;font-size:14px;transition:border-color .15s,background-color .15s;display:inline-flex}.contact-link:hover{background:var(--surface-hover);border-color:#9345d385}.contact-link span{color:var(--accent-hover)}.site-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:92px;margin-top:36px;display:flex}.site-footer>.wordmark{font-size:19px}.footer-links{gap:19px;font-size:13px}.overcharge-toast{z-index:5;border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);max-width:calc(100vw - 32px);color:var(--foreground);background:#18181be6;align-items:center;gap:18px;padding:14px 17px 17px;animation:.18s ease-out both toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 34px #00000059}.overcharge-copy{gap:2px;font-size:13px;display:grid}.overcharge-copy strong{letter-spacing:.06em;flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.overcharge-copy strong span{color:var(--muted);font-weight:400}.overcharge-toast button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:7px;flex:none;place-items:center;width:30px;height:30px;font-size:19px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes rgb-outline-flow{0%{background-position:0}to{background-position:-509.116px}}@keyframes rgb-text-flow{0%{background-position:0}to{background-position:-509.116px}}@keyframes rgb-border{0%,to{border-top-color:#ff1744}16.666%{border-top-color:#ff9100}33.333%{border-top-color:#f2ff00}50%{border-top-color:#00ff9d}66.666%{border-top-color:#00c8ff}83.333%{border-top-color:#7b4dff}}[data-reveal]{transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s)}html.motion-ready [data-reveal]:not(.is-visible){opacity:0;transform:translateY(17px)}html.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}html.overcharged{--rgb-spectrum:repeating-linear-gradient(315deg, #ff1744 0, #ff9100 51.428px, #f2ff00 102.857px, #00ff9d 154.286px, #00c8ff 205.714px, #7b4dff 257.143px, #ff1744 360px)}html.overcharged .page-shell :is(.site-header,.project-card,.contact-section,.contact-link,.button),html.overcharged .overcharge-toast,html.overcharged .overcharge-toast button{border:1px solid #0000}html.overcharged .page-shell :is(.project-card,.contact-section,.contact-link,.button),html.overcharged .overcharge-toast button{position:relative}html.overcharged .page-shell :is(.site-header,.project-card,.contact-section,.contact-link,.button):before,html.overcharged .overcharge-toast:before,html.overcharged .overcharge-toast button:before{border-radius:inherit;background:var(--rgb-spectrum);content:"";pointer-events:none;-webkit-mask-composite:xor;background-position:0;background-repeat:repeat-x;background-size:509.116px 100%;padding:1px;animation:2.8s linear infinite rgb-outline-flow;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}html.overcharged .overcharge-toast{animation:.18s ease-out both toast-in}html.overcharged .page-shell :is(.work-section,.tool-section,.about-section,.site-footer){animation:2.8s linear infinite rgb-border}html.overcharged .page-shell :is(h1,h1 span,h2,h2 span,h3,h3 span,p,.wordmark,.wordmark span,.site-nav a,.project-name,.project-open,.project-open-arrow,.project-description,.tool-heading,.button span,.contact-link span,.footer-links a),html.overcharged .overcharge-copy strong,html.overcharged .overcharge-copy>span,html.overcharged .overcharge-toast button span{background-image:var(--rgb-spectrum);-webkit-text-fill-color:transparent;background-position:0;background-repeat:repeat-x;background-size:509.116px 100%;-webkit-background-clip:text;background-clip:text;animation:2.8s linear infinite rgb-text-flow;color:#0000!important}@keyframes rgb-image-flow{0%{filter:hue-rotate()saturate(1.2)}to{filter:hue-rotate(360deg)saturate(1.2)}}html.overcharged .tool-badge{will-change:filter;animation:2.8s linear infinite rgb-image-flow}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}html.overcharged .page-shell :is(.site-header,.project-card,.contact-section,.contact-link,.button,.work-section,.tool-section,.about-section,.site-footer,h1,h1 span,h2,h2 span,h3,h3 span,p,.wordmark,.wordmark span,.site-nav a,.project-name,.project-open,.project-open-arrow,.project-description,.tool-heading,.button span,.contact-link span,.footer-links a),html.overcharged .overcharge-toast,html.overcharged .overcharge-toast button,html.overcharged .overcharge-copy strong,html.overcharged .overcharge-copy>span,html.overcharged .overcharge-toast button span,html.overcharged .page-shell :is(.site-header,.project-card,.contact-section,.contact-link,.button):before,html.overcharged .overcharge-toast:before,html.overcharged .overcharge-toast button:before,html.overcharged .tool-badge{animation:none!important}}@media (width<=640px){.page-shell{width:min(100% - 32px,480px)}.site-header{gap:20px;min-height:62px;padding-inline:11px}.site-nav{gap:17px;font-size:13px}.hero{padding:91px 0 28px}.hero h1{letter-spacing:-.05em;font-size:clamp(40px,10vw,58px)}.hero-description{margin-top:18px;font-size:16px}.project-grid{grid-template-columns:1fr;gap:10px}.project-card{min-height:176px}.about-layout{grid-template-columns:1fr;gap:16px}.about-section{margin-top:10px;padding-top:18px}.work-section{margin-top:66px}.about-layout h2{font-size:clamp(34px,9vw,42px)}.about-copy{font-size:15px}.contact-section{flex-direction:column;align-items:flex-start;gap:17px;margin-top:72px;padding:19px}.site-footer{min-height:78px}.footer-links{gap:13px;font-size:12px}}@media (width>=641px) and (width<=780px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=390px){.page-shell{width:min(100% - 28px,480px)}.wordmark{font-size:20px}.site-header{gap:14px;padding-inline:10px}.site-nav{gap:12px;font-size:12px}.footer-links{gap:9px;font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
