@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/sora-variable-latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-variable-latin.woff2)format("woff2")}:root{--bg:#fafbfd;--ink:#14181f;--text:#14181fe0;--muted:#14181fad;--muted-soft:#14181f99;--label:#55606e;--line:#14181f1f;--line-strong:#14181f2e;--accent:#2d5fd0;--accent-tint:#2d5fd00f;--dark:#101828;--on-dark:#eef2f7;--on-dark-muted:#eef2f7b8;--on-dark-faint:#eef2f7b3;--on-dark-line:#eef2f726;--accent-light:#93b4f5;--sans:"Sora", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--pad:64px;--maxw:1180px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}h1,h2,h3,p,dl,dd,figure{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:where(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.skip-link{z-index:20;background:var(--ink);color:var(--bg);border-radius:6px;padding:10px 16px;font-size:14px;transition:top .2s;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.container{max-width:var(--maxw);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--label);font-size:11.5px}@keyframes ep-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.site-header{border-bottom:1px solid var(--line)}.site-header .container{justify-content:space-between;align-items:baseline;gap:20px;padding-top:26px;padding-bottom:24px;display:flex}.brand{letter-spacing:-.01em;font-size:16px;font-weight:600}.nav{flex-wrap:wrap;align-items:baseline;gap:36px;font-size:14.5px;display:flex}.nav a{color:var(--muted);transition:color .2s}.nav a:hover{color:var(--ink)}.nav-lang{font-family:var(--mono);color:var(--label);letter-spacing:.02em;font-size:12.5px}.nav-lang:hover{color:var(--accent)!important}.nav-mobile{align-items:center;gap:16px;display:none}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:10px 4px;display:flex}.nav-toggle span{background:var(--ink);width:22px;height:1.5px;display:block}.scrim,.drawer{display:none}.drawer-head{border-bottom:1px solid var(--on-dark-line);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.drawer-label{font-family:var(--mono);color:#eef2f780;font-size:12px}.drawer-close{color:var(--on-dark);cursor:pointer;font-size:22px;line-height:1;font-family:var(--sans);background:0 0;border:none;padding:8px}.drawer-nav{flex-direction:column;padding:20px 0;display:flex}.drawer-nav a{letter-spacing:-.015em;color:var(--on-dark);border-bottom:1px solid #eef2f714;padding:18px 24px;font-size:22px;font-weight:600;transition:background .2s}.drawer-nav a:hover{background:#eef2f70f}.drawer-lang{font-family:var(--mono);color:#eef2f7b3!important;border-bottom:0!important;font-size:14px!important;font-weight:400!important}.btn{background:var(--ink);color:var(--bg);border-radius:4px;padding:13px 24px;font-size:15.5px;font-weight:500;transition:background .25s,transform .25s;display:inline-block}.btn:hover{background:var(--accent);transform:translateY(-2px)}.email-link{font-family:var(--mono);color:var(--accent);border-bottom:1px solid #2d5fd066;padding-bottom:2px;font-size:13.5px;transition:border-color .2s}.email-link:hover{border-bottom-color:var(--accent)}.hero .container{grid-template-columns:1fr 300px;align-items:end;gap:80px;padding-top:104px;padding-bottom:96px;display:grid}.hero-title{letter-spacing:-.022em;text-wrap:balance;font-size:clamp(38px,5vw,56px);font-weight:600;line-height:1.12}.hero-title .accent{color:var(--accent)}.hero-intro{color:var(--muted);text-wrap:pretty;max-width:520px;margin-top:32px;font-size:17.5px;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:baseline;gap:24px;margin-top:40px;display:flex}.stats{border-left:1px solid var(--line-strong);flex-direction:column;gap:18px;padding-left:28px;font-size:13.5px;display:flex}.stat dt{margin-bottom:4px}.stat dd{font-size:14.5px;font-weight:500}.tech{border-top:1px solid var(--line);padding:24px 0;position:relative;overflow:hidden}.tech-track{width:max-content;animation:36s linear infinite ep-marquee;display:flex}.tech-group{font-family:var(--mono);color:#3e4652;white-space:nowrap;align-items:center;gap:52px;padding-right:52px;font-size:14px;display:flex}.tech-item{align-items:center;gap:10px;display:flex}.tech-item img{object-fit:contain;flex:none;width:20px;height:20px}.tech:before{content:"";pointer-events:none;background:linear-gradient(90deg, var(--bg) 0, #fafbfd00 80px, #fafbfd00 calc(100% - 80px), var(--bg) 100%);position:absolute;inset:0}.section{border-top:1px solid var(--line)}.section .container{padding-top:72px;padding-bottom:72px}.split{grid-template-columns:300px 1fr;gap:80px;display:grid}.section-title{letter-spacing:-.015em;margin-bottom:14px;font-size:26px;font-weight:600}.section-lead{color:var(--muted-soft);text-wrap:pretty;font-size:14.5px;line-height:1.6}.rows{flex-direction:column;display:flex}.svc-row{border-top:1px solid var(--line);grid-template-columns:44px 240px 1fr;align-items:baseline;gap:0 24px;margin-left:-12px;padding:22px 12px;transition:background .25s;display:grid}.rows .svc-row:last-of-type{border-bottom:1px solid var(--line)}.svc-row:hover{background:var(--accent-tint)}.svc-num{font-family:var(--mono);color:var(--label);font-size:12.5px}.svc-name{font-size:16.5px;font-weight:600}.svc-desc{color:var(--muted);text-wrap:pretty;font-size:14.5px;line-height:1.6}.svc-note{color:var(--muted-soft);margin-top:24px;font-size:14.5px;line-height:1.6}.ideas{background:var(--dark);color:var(--on-dark)}.ideas .section-lead{color:var(--on-dark-muted)}.idea-row{border-top:1px solid var(--on-dark-line);grid-template-columns:190px 1fr auto;align-items:baseline;gap:0 24px;margin-left:-12px;padding:22px 12px;transition:background .25s;display:grid}.ideas .rows .idea-row:last-of-type{border-bottom:1px solid var(--on-dark-line)}.idea-row:hover{background:#eef2f70f}.idea-tag{font-family:var(--mono);color:var(--accent-light);font-size:12.5px}.idea-title{margin-bottom:6px;font-size:16.5px;font-weight:600}.idea-desc{color:var(--on-dark-muted);text-wrap:pretty;font-size:14px;line-height:1.6}.idea-stack{font-family:var(--mono);color:var(--on-dark-faint);font-size:12px}.steps{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.step{border-top:2px solid var(--accent);padding-top:16px}.step-num{font-family:var(--mono);color:var(--accent);margin-bottom:14px;font-size:26px;line-height:1}.step-title{margin-bottom:8px;font-size:16.5px;font-weight:600}.step-desc{color:var(--muted);text-wrap:pretty;font-size:14.5px;line-height:1.6}.proj-list{flex-direction:column;gap:14px;display:flex}.proj-card{border:1px solid var(--line-strong);background:#fff;border-radius:10px;grid-template-columns:190px 1fr auto;align-items:baseline;gap:0 24px;padding:22px 24px;transition:border-color .25s,box-shadow .25s;display:grid}.proj-card:hover{border-color:var(--accent);box-shadow:0 6px 20px #2d5fd01f}.proj-name{font-family:var(--mono);color:var(--accent);font-size:12.5px;font-weight:500}.proj-desc{color:var(--muted);text-wrap:pretty;font-size:14.5px;line-height:1.6}.proj-stack{font-family:var(--mono);color:var(--label);font-size:12px}.contact .container{grid-template-columns:1fr 300px;align-items:center;gap:80px;padding-top:88px;padding-bottom:88px;display:grid}.contact-title{letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(28px,3.5vw,34px);font-weight:600}.contact-lead{color:var(--muted);text-wrap:pretty;max-width:520px;margin-bottom:28px;font-size:16.5px;line-height:1.65}.contact-email{font-family:var(--mono);color:var(--accent);border-bottom:1.5px solid #2d5fd066;padding-bottom:3px;font-size:20px}.contact-email:hover{border-bottom-color:var(--accent)}.contact-aside{color:var(--muted-soft);border-left:1px solid var(--line-strong);padding-left:28px;font-size:13.5px;line-height:1.9}.contact-aside a{color:var(--accent)}.site-footer{border-top:1px solid var(--line)}.site-footer .container{color:var(--muted-soft);justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px;font-size:13px;display:flex}@media (width<=900px){:root{--pad:40px}.hero .container{grid-template-columns:1fr;align-items:start;gap:44px;padding-top:72px;padding-bottom:64px}.stats{border-left:0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px 32px;padding-top:28px;padding-left:0;display:grid}.split{grid-template-columns:1fr;gap:28px}.svc-row{grid-template-columns:36px 190px 1fr}.idea-row{grid-template-columns:140px 1fr}.idea-stack{display:none}.proj-card{grid-template-columns:160px 1fr}.proj-stack{grid-column:2;margin-top:6px}.contact .container{grid-template-columns:1fr;align-items:start;gap:40px}.contact-aside{border-left:0;border-top:1px solid var(--line);padding-top:20px;padding-left:0}}@media (width<=560px){:root{--pad:22px}.site-header .container{align-items:center}.nav{display:none}.nav-mobile{display:flex}.scrim{opacity:0;pointer-events:none;z-index:40;background:#0a0e1673;transition:opacity .4s;display:block;position:fixed;inset:0}.drawer{background:var(--dark);width:82%;max-width:340px;color:var(--on-dark);visibility:hidden;z-index:41;flex-direction:column;transition:transform .45s cubic-bezier(.32,.72,.28,1),visibility .45s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(103%);box-shadow:-16px 0 40px #0a0e1659}body.menu-open{overflow:hidden}body.menu-open .scrim{opacity:1;pointer-events:auto}body.menu-open .drawer{visibility:visible;transform:translate(0)}.stats{grid-template-columns:1fr}.svc-row{grid-template-columns:32px 1fr}.svc-desc{grid-column:2;margin-top:4px}.idea-row{grid-template-columns:1fr}.idea-tag{margin-bottom:6px}.steps{grid-template-columns:1fr;gap:28px}.proj-card{grid-template-columns:1fr}.proj-desc,.proj-stack{grid-column:1;margin-top:6px}.site-footer .container{flex-direction:column;gap:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.tech-track{animation:none}}
