:root{--bg-0: #07070A;--bg-1: #0E0E14;--bg-2: #15151E;--bg-3: #1D1D2A;--line: rgba(255,255,255,.08);--line-strong: rgba(255,255,255,.16);--text: #EDEDF2;--text-dim: #9A9AAE;--text-faint: #82829A;--violet: #B661FF;--magenta: #FF3EA5;--violet-soft: rgba(182,97,255,.15);--magenta-soft: rgba(255,62,165,.15);--accent-grad: linear-gradient(105deg, #B661FF 0%, #FF3EA5 60%, #FFB061 100%);--f-display: "Space Grotesk", system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, monospace;--f-body: "Inter", system-ui, sans-serif;--f-serif: "Instrument Serif", serif;--depth: 1}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:96px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}html,body{background:var(--bg-0);color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}body{cursor:none}@media (max-width: 768px){body{cursor:auto}}::selection{background:var(--violet);color:#000}a{color:inherit;text-decoration:none}button{background:none;border:none;color:inherit;font:inherit;cursor:none}@media (max-width: 768px){button{cursor:pointer}}:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:2px}.bg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(182,97,255,.18),transparent 60%),radial-gradient(ellipse 60% 40% at 100% 30%,rgba(255,62,165,.1),transparent 60%),radial-gradient(ellipse 50% 50% at 0% 70%,rgba(182,97,255,.08),transparent 60%),var(--bg-0)}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 100% 80% at 50% 30%,#000 30%,transparent 85%);mask-image:radial-gradient(ellipse 100% 80% at 50% 30%,#000 30%,transparent 85%)}.bg-noise{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);will-change:transform}.cursor-dot{width:6px;height:6px;border-radius:50%;background:var(--violet);mix-blend-mode:screen;transition:width .2s,height .2s,background .2s}.cursor-ring{width:36px;height:36px;border-radius:50%;border:1px solid rgba(182,97,255,.55);transition:width .25s cubic-bezier(.2,.8,.2,1),height .25s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s}.cursor-ring.hover{width:64px;height:64px;border-color:var(--magenta);background:#ff3ea50f}.cursor-ring.click{width:24px;height:24px}.cursor-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text);white-space:nowrap;opacity:0;transition:opacity .2s}.cursor-ring.hover .cursor-label{opacity:1}@media (max-width: 768px){.cursor-dot,.cursor-ring{display:none}}main{position:relative;z-index:2}.shell{width:100%;max-width:1440px;margin:0 auto;padding:0 48px}@media (max-width: 768px){.shell{padding:0 20px}}.section{position:relative;padding:140px 0;border-top:1px solid var(--line)}.section:first-of-type{border-top:none}.section-eyebrow{display:flex;align-items:center;gap:16px;font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:48px}.section-eyebrow .num{color:var(--violet)}.section-eyebrow .line{flex:1;height:1px;background:linear-gradient(90deg,var(--line-strong),transparent)}.section-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--violet);box-shadow:0 0 12px var(--violet);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.section-title{font-family:var(--f-display);font-weight:500;font-size:clamp(48px,7vw,96px);line-height:.95;letter-spacing:-.03em;margin-bottom:24px}.section-title em{font-family:var(--f-serif);font-style:italic;font-weight:400;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.section-lede{font-size:20px;color:var(--text-dim);max-width:620px;line-height:1.5}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 48px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,#07070acc,#07070a00);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media (max-width: 768px){.nav{padding:16px 20px}}.brand{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:13px;letter-spacing:.05em}.brand-mark{width:28px;height:28px;border-radius:6px;background:var(--accent-grad);display:grid;place-items:center;font-family:var(--f-display);font-weight:600;color:#000;box-shadow:0 4px 24px #b661ff66}.brand-name b{font-weight:600}.brand-status{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:11px;padding-left:12px;margin-left:6px;border-left:1px solid var(--line-strong)}.brand-status:before{content:"";width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80}@media (max-width: 1024px){.brand-status{display:none}}.nav-links{display:flex;gap:28px;align-items:center;font-family:var(--f-mono);font-size:12px;letter-spacing:.05em}.nav-links a{position:relative;color:var(--text-dim);transition:color .2s}.nav-links a:hover{color:var(--text)}.nav-links a .num{color:var(--violet);margin-right:6px}@media (max-width: 1100px){.nav-links{display:none}}.nav-right{display:flex;align-items:center;gap:16px}.lang-toggle{display:flex;font-family:var(--f-mono);font-size:11px;border:1px solid var(--line-strong);border-radius:999px;padding:3px}.lang-toggle button{padding:4px 10px;border-radius:999px;color:var(--text-dim);transition:all .2s}.lang-toggle button.active{background:var(--text);color:#000}.cta-nav{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;padding:10px 18px;border:1px solid var(--line-strong);border-radius:999px;transition:all .25s;background:#ffffff05}.cta-nav:hover{border-color:var(--violet);color:var(--text);box-shadow:0 0 0 4px var(--violet-soft)}.cta-nav .arrow{width:14px;height:14px;border-radius:50%;background:var(--violet);display:inline-grid;place-items:center;color:#000;font-size:9px}.nav-toggle{display:none;width:40px;height:40px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line-strong);border-radius:999px;background:#ffffff05;transition:border-color .2s}.nav-toggle:hover{border-color:var(--violet)}.nav-toggle span{display:block;width:16px;height:1.5px;background:var(--text);border-radius:1px;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s}.nav-toggle.open span:first-child{transform:translateY(3.25px) rotate(45deg)}.nav-toggle.open span:last-child{transform:translateY(-3.25px) rotate(-45deg)}@media (max-width: 1100px){.nav-toggle{display:flex}}@media (max-width: 600px){.cta-nav{display:none}}.mobile-menu{position:fixed;top:0;left:0;right:0;z-index:99;max-height:100dvh;overflow-y:auto;background:var(--bg-0);border-bottom:1px solid var(--line-strong);transform:translateY(-100%);visibility:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear .45s}.mobile-menu.open{transform:translateY(0);visibility:visible;transition:transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}@media (min-width: 1101px){.mobile-menu{display:none}}.mobile-menu-inner{padding:96px 20px 36px;display:flex;flex-direction:column}.mobile-menu-link{display:flex;align-items:baseline;gap:14px;font-family:var(--f-display);font-weight:500;font-size:clamp(28px,9vw,40px);letter-spacing:-.02em;color:var(--text-dim);padding:16px 0;border-bottom:1px solid var(--line);transition:color .2s,padding-left .25s cubic-bezier(.2,.8,.2,1)}.mobile-menu-link:hover,.mobile-menu-link:focus-visible{color:var(--text);padding-left:10px}.mobile-menu-link .num{font-family:var(--f-mono);font-size:13px;color:var(--violet)}.mobile-menu-cta{margin-top:28px;display:flex;align-items:center;justify-content:space-between;background:var(--text);color:#000;font-family:var(--f-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:18px 24px;border-radius:999px}.mobile-menu-cta .arrow{width:22px;height:22px;border-radius:50%;background:var(--violet);color:#000;display:grid;place-items:center;font-size:11px}.hero{min-height:100vh;min-height:100dvh;position:relative;padding:140px 0 80px;display:flex;flex-direction:column;justify-content:center;border-top:none}.hero>.shell{position:relative;z-index:1}.hero>.scroll-hint{z-index:1}.code-rain{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0;animation:codeRainFadeIn 1.4s ease-out .4s forwards;mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 65%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 65%,transparent 100%)}@keyframes codeRainFadeIn{to{opacity:.32}}@media (prefers-reduced-motion: reduce){.code-rain{display:none}}.hero-meta{display:flex;justify-content:space-between;align-items:flex-end;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--line)}.hero-meta>div{display:flex;flex-direction:column;gap:4px}.hero-meta .label{color:var(--text-faint);font-size:10px}.hero-meta .value{color:var(--text);font-size:12px}.hero-headline{font-family:var(--f-display);font-weight:500;font-size:clamp(64px,13vw,220px);line-height:.88;letter-spacing:-.045em;margin:20px 0 40px}.hero-line{display:block;position:relative;perspective:1000px}.hero-line .word-3d{display:inline-block;position:relative;transition:transform .4s cubic-bezier(.2,.8,.2,1);padding:0 48px 48px 0;margin:0 -48px -48px 0}.hero-line .word-3d:hover{transform:translateZ(60px) rotateY(calc(-12deg * var(--depth))) rotateX(calc(6deg * var(--depth)))}.hero-line em{font-family:var(--f-serif);font-style:italic;font-weight:400;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}.word-3d .layer{display:inline-block}.hero-extrude{text-shadow:1px 1px 0 rgba(182,97,255,calc(.9 * var(--depth))),2px 2px 0 rgba(182,97,255,calc(.75 * var(--depth))),3px 3px 0 rgba(163,80,230,calc(.65 * var(--depth))),4px 4px 0 rgba(144,70,210,calc(.55 * var(--depth))),5px 5px 0 rgba(125,60,190,calc(.45 * var(--depth))),6px 6px 0 rgba(110,50,170,calc(.38 * var(--depth))),7px 7px 0 rgba(95,40,150,calc(.32 * var(--depth))),8px 8px 0 rgba(80,35,130,calc(.28 * var(--depth))),10px 10px 0 rgba(65,30,110,calc(.24 * var(--depth))),12px 12px 0 rgba(50,25,90,calc(.2 * var(--depth))),14px 14px 20px rgba(0,0,0,.6)}.hero-cta-row{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:40px;border-top:1px solid var(--line);flex-wrap:wrap}.hero-desc{font-size:18px;color:var(--text-dim);max-width:500px;line-height:1.5}.hero-desc b{color:var(--text);font-weight:500}.hero-actions{display:flex;gap:12px}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;gap:12px;padding:16px 24px;border-radius:999px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:all .3s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.btn-primary{background:var(--text);color:#000}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px -10px #ffffff4d,0 0 0 1px var(--violet)}.btn-primary .dot{width:8px;height:8px;border-radius:50%;background:var(--violet)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line-strong)}.btn-ghost:hover{border-color:var(--violet);background:var(--violet-soft);transform:translateY(-2px)}.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);display:flex;flex-direction:column;align-items:center;gap:10px}.scroll-hint .rail{width:1px;height:48px;background:linear-gradient(180deg,var(--line-strong),transparent);position:relative;overflow:hidden}.scroll-hint .rail:after{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:var(--violet);animation:scrollDown 2s infinite}@keyframes scrollDown{0%{transform:translateY(-100%);opacity:0}40%{opacity:1}to{transform:translateY(400%);opacity:0}}.marquee{padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;position:relative;background:var(--bg-1)}.marquee-track{display:flex;gap:80px;white-space:nowrap;animation:marquee 40s linear infinite;font-family:var(--f-display);font-size:clamp(32px,5vw,64px);font-weight:500;letter-spacing:-.02em;align-items:center}.marquee-track span{display:inline-flex;align-items:center;gap:80px}.marquee-track .star{color:var(--violet);font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:1.1em}.marquee-track em{font-family:var(--f-serif);font-style:italic;font-weight:400;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes marquee{to{transform:translate(-50%)}}.services-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:80px}@media (max-width: 860px){.services-head{grid-template-columns:1fr;gap:32px}}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:2px}@media (max-width: 860px){.services-grid{grid-template-columns:1fr}}.service-card{position:relative;background:var(--bg-1);padding:48px 40px;min-height:440px;display:flex;flex-direction:column;transition:background .4s;overflow:hidden}.service-card:hover{background:var(--bg-2)}.service-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--mx, 50%) var(--my, 50%),var(--violet-soft) 0%,transparent 40%);opacity:0;transition:opacity .4s;pointer-events:none}.service-card:hover:before{opacity:1}.service-num{font-family:var(--f-mono);font-size:11px;letter-spacing:.15em;color:var(--violet);margin-bottom:32px}.service-title{font-family:var(--f-display);font-weight:500;font-size:40px;line-height:1;letter-spacing:-.02em;margin-bottom:20px;position:relative}.service-title em{font-family:var(--f-serif);font-style:italic;font-weight:400;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.service-desc{color:var(--text-dim);font-size:15px;line-height:1.55;max-width:420px;margin-bottom:32px}.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.service-tag{padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;background:#ffffff05;transition:all .2s}.service-card:hover .service-tag{border-color:#b661ff4d;color:var(--text)}.service-visual{position:absolute;top:40px;right:40px;width:56px;height:56px;display:grid;place-items:center;font-family:var(--f-mono);font-size:10px;color:var(--text-faint)}.service-visual svg{width:100%;height:100%;overflow:visible}.projects-list{border-top:1px solid var(--line-strong)}.project-row{display:grid;grid-template-columns:60px 1fr auto auto;gap:40px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .4s cubic-bezier(.2,.8,.2,1)}.project-row:hover{padding-left:24px;padding-right:24px}.project-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--violet-soft),transparent);opacity:0;transition:opacity .4s;pointer-events:none}.project-row:hover:before{opacity:1}.project-num{font-family:var(--f-mono);font-size:12px;color:var(--text-faint)}.project-title-block{display:flex;flex-direction:column;gap:6px;position:relative;z-index:1}.project-title{font-family:var(--f-display);font-weight:500;font-size:clamp(28px,4vw,44px);line-height:1;letter-spacing:-.02em;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.project-row:hover .project-title{transform:translate(8px)}.project-row:hover .project-title em,.project-row:hover .project-title .hoverable{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.project-meta{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase}.project-tags{display:flex;gap:6px;z-index:1}.project-tags span{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--text-dim);padding:4px 10px;border:1px solid var(--line-strong);border-radius:999px;text-transform:uppercase}@media (max-width: 768px){.project-tags{display:none}}.project-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-family:var(--f-mono);font-size:14px;transition:all .3s cubic-bezier(.2,.8,.2,1);z-index:1}.project-row:hover .project-arrow{background:var(--text);color:#000;border-color:var(--text);transform:rotate(-45deg)}.project-preview{position:fixed;width:360px;height:240px;pointer-events:none;border-radius:6px;overflow:hidden;opacity:0;transform:scale(.9) translate(-50%,-50%);transition:opacity .3s,transform .3s cubic-bezier(.2,.8,.2,1);z-index:50;border:1px solid var(--line-strong);background:var(--bg-2);box-shadow:0 40px 80px -20px #000c,0 0 0 1px #b661ff33}.project-preview.visible{opacity:1;transform:scale(1) translate(-50%,-50%)}.stack-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}@media (max-width: 860px){.stack-wrap{grid-template-columns:1fr}}.stack-items{display:flex;flex-wrap:wrap;gap:6px}.stack-chip{font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;padding:10px 16px;border:1px solid var(--line-strong);border-radius:6px;background:var(--bg-1);color:var(--text-dim);transition:all .25s;position:relative;overflow:hidden}.stack-chip:hover{color:var(--text);border-color:var(--violet);transform:translateY(-2px);box-shadow:0 10px 30px -10px var(--violet-soft)}.stack-chip.primary{color:var(--text);border-color:#b661ff66;background:linear-gradient(180deg,rgba(182,97,255,.08),transparent)}.stack-cat{font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;color:var(--text-faint);text-transform:uppercase;padding:16px 0 12px;width:100%;border-bottom:1px dashed var(--line);margin-bottom:12px}.stack-cat:first-child{padding-top:0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line)}@media (max-width: 860px){.process-grid{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.process-grid{grid-template-columns:1fr}}.process-step{background:var(--bg-1);padding:40px 32px;min-height:280px;display:flex;flex-direction:column;position:relative;transition:background .3s}.process-step:hover{background:var(--bg-2)}.process-step-num{font-family:var(--f-display);font-weight:500;font-size:56px;line-height:1;letter-spacing:-.03em;color:var(--violet);margin-bottom:24px;text-shadow:1px 1px 0 rgba(182,97,255,calc(.6 * var(--depth))),2px 2px 0 rgba(182,97,255,calc(.45 * var(--depth))),3px 3px 0 rgba(163,80,230,calc(.35 * var(--depth))),4px 4px 0 rgba(144,70,210,calc(.25 * var(--depth))),5px 5px 12px rgba(0,0,0,.5)}.process-step-title{font-family:var(--f-display);font-weight:500;font-size:22px;letter-spacing:-.01em;margin-bottom:12px}.process-step-desc{font-size:14px;color:var(--text-dim);line-height:1.5;margin-bottom:auto}.process-step-tag{font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;color:var(--text-faint);text-transform:uppercase;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.contact{padding:160px 0 100px;position:relative;border-top:1px solid var(--line)}.contact-headline{font-family:var(--f-display);font-weight:500;font-size:clamp(64px,13vw,220px);line-height:.88;letter-spacing:-.045em;margin-bottom:60px}.contact-headline em{font-family:var(--f-serif);font-style:italic;font-weight:400;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;padding-top:48px;border-top:1px solid var(--line)}@media (max-width: 860px){.contact-grid{grid-template-columns:1fr;gap:40px}}.contact-info-label{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;color:var(--text-faint);text-transform:uppercase;margin-bottom:8px}.contact-email{display:inline-flex;align-items:center;gap:16px;font-family:var(--f-display);font-weight:500;font-size:clamp(32px,4.5vw,56px);letter-spacing:-.02em;line-height:1;transition:color .3s;margin-bottom:40px}.contact-email:hover{color:var(--violet)}.contact-email .arrow{width:44px;height:44px;border-radius:50%;background:var(--violet);color:#000;display:grid;place-items:center;font-size:16px;transition:transform .3s}.contact-email:hover .arrow{transform:rotate(-45deg)}.contact-channels{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}.channel{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;transition:padding .3s}.channel:hover{padding-left:16px;padding-right:16px;color:var(--violet)}.channel--static:hover{padding-left:0;padding-right:0;color:inherit}.channel .k{color:var(--text-faint);text-transform:uppercase}.channel .v{color:var(--text)}.footer{padding:40px 0;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--text-faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;margin-top:40px}@media (max-width: 860px){.about-grid{grid-template-columns:1fr;gap:48px}}.about-col-label{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;color:var(--text-faint);text-transform:uppercase;padding-bottom:14px;margin-bottom:24px;border-bottom:1px solid var(--line)}.exp-item{padding:24px 0;border-bottom:1px solid var(--line)}.exp-item:last-child{border-bottom:none}.exp-head{display:flex;justify-content:space-between;margin-bottom:8px}.exp-period{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--violet);text-transform:uppercase}.exp-role{font-family:var(--f-display);font-weight:500;font-size:24px;letter-spacing:-.01em;line-height:1.1}.exp-org{font-family:var(--f-mono);font-size:12px;color:var(--text-dim);margin-bottom:14px}.exp-bullets{list-style:none;padding:0;font-size:14px;color:var(--text-dim);line-height:1.6}.exp-bullets li{padding-left:20px;position:relative;margin-bottom:6px}.exp-bullets li:before{content:"—";position:absolute;left:0;color:var(--violet)}.edu-item{padding:16px 0;border-bottom:1px solid var(--line)}.edu-item:last-child{border-bottom:none}.edu-year{font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;color:var(--text-faint);text-transform:uppercase;margin-bottom:6px}.edu-name{font-family:var(--f-display);font-weight:500;font-size:18px;letter-spacing:-.01em;margin-bottom:4px}.edu-place{font-size:13px;color:var(--text-dim)}.skills-cloud{display:flex;flex-wrap:wrap;gap:6px}.skill-chip{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;padding:8px 14px;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-dim);background:#ffffff05;transition:all .25s}.skill-chip:hover{color:var(--text);border-color:var(--violet);transform:translateY(-2px);box-shadow:0 8px 24px -8px var(--violet-soft)}.tweaks-panel{position:fixed;right:20px;bottom:20px;width:300px;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:10px;padding:20px;z-index:200;font-family:var(--f-mono);font-size:12px;box-shadow:0 30px 60px -15px #000c;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tweaks-header{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:16px}.tweaks-header .dot{width:6px;height:6px;border-radius:50%;background:var(--violet);box-shadow:0 0 8px var(--violet);margin-right:6px}.tweak-row{margin-bottom:18px}.tweak-row:last-child{margin-bottom:0}.tweak-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.tweak-label .val{color:var(--violet)}.tweak-slider{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:2px;background:var(--line-strong);border-radius:1px;outline:none}.tweak-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 3px #b661ff33;cursor:none}.tweak-select{width:100%;background:var(--bg-1);color:var(--text);border:1px solid var(--line-strong);border-radius:4px;padding:8px 10px;font-family:var(--f-mono);font-size:11px}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.js .reveal{opacity:0}.js .reveal.is-visible{animation:fadeUp .8s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--reveal-i, 0) * 70ms)}@media (prefers-reduced-motion: reduce){.js .reveal{opacity:1}.js .reveal.is-visible{animation:none}}@media (max-width: 768px){.section{padding:88px 0}.section-eyebrow{margin-bottom:32px}.hero{padding:116px 0 64px}.contact{padding:96px 0 72px}.services-head{margin-bottom:48px}.section-lede{font-size:17px}.hero-desc{font-size:16px}.service-card{padding:36px 24px;min-height:0}.process-step{padding:32px 24px;min-height:0}.project-row{gap:20px;grid-template-columns:40px 1fr auto}.project-row:hover{padding-left:0;padding-right:0}.hero-actions{width:100%}.hero-actions .btn-primary,.hero-actions .btn-ghost{flex:1;justify-content:center}.tweaks-panel{display:none}}@media (max-width: 420px){.shell{padding:0 16px}.hero-headline,.contact-headline{font-size:15vw}}@property --wa-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.wa-fab{position:fixed;left:24px;bottom:24px;z-index:90;width:58px;height:58px;border-radius:50%;padding:2.5px;display:grid;place-items:center;background:conic-gradient(from var(--wa-angle, 0deg),#B661FF,#FF3EA5,#FFB061,#B661FF);box-shadow:0 8px 28px -6px #b661ff73,0 2px 10px #00000080;animation:wa-spin 4.5s linear infinite,wa-enter .5s cubic-bezier(.2,.8,.2,1) .7s both;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}@media (max-width: 768px){.wa-fab{left:auto;right:20px;bottom:20px}}.wa-fab:hover{transform:scale(1.08);box-shadow:0 12px 36px -4px #ff3ea58c,0 2px 10px #00000080}.wa-fab:active{transform:scale(.96)}.wa-fab:focus-visible{border-radius:50%}.wa-fab-inner{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,var(--bg-2),var(--bg-0));box-shadow:inset 0 1px #ffffff0f}.wa-fab-icon{width:27px;height:27px;color:var(--text);transition:transform .3s cubic-bezier(.2,.8,.2,1)}.wa-fab:hover .wa-fab-icon{transform:scale(1.1)}@keyframes wa-spin{to{--wa-angle: 360deg}}@keyframes wa-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.wa-fab{animation:none}}.edu-cert-btn{margin-top:12px;display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line-strong);color:var(--text-dim);font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:8px 14px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.edu-cert-btn:hover{color:var(--text);border-color:var(--violet);background:var(--violet-soft)}.edu-cert-btn:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.cert-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#07070ad9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;animation:certFadeIn .2s ease-out}@keyframes certFadeIn{0%{opacity:0}to{opacity:1}}.cert-modal-content{position:relative;max-width:min(1100px,95vw);max-height:90vh;display:flex;flex-direction:column;gap:16px}.cert-modal-image{display:block;width:100%;height:auto;max-height:calc(90vh - 80px);object-fit:contain;border:1px solid var(--line-strong);background:var(--bg-1)}.cert-modal-close{position:absolute;top:-44px;right:0;width:36px;height:36px;background:transparent;border:1px solid var(--line-strong);color:var(--text);font-size:20px;line-height:1;cursor:pointer;transition:border-color .2s ease,color .2s ease}.cert-modal-close:hover{border-color:var(--magenta);color:var(--magenta)}.cert-modal-close:focus-visible{outline:2px solid var(--violet);outline-offset:2px}@media (max-width: 600px){.cert-modal-overlay{padding:16px}.cert-modal-close{top:-40px}.cert-modal-content{max-height:95vh}}@media (prefers-reduced-motion: reduce){.cert-modal-overlay{animation:none}}
