:root{--bg:#16151a;--surface:#201e23;--surface-2:#26242a;--surface-3:#2d2b31;--border:#f2ede624;--border-strong:#f2ede64d;--divider:#f2ede64d;--rule:var(--text);--text:#f2ede6;--text-2:#f2ede69e;--text-3:#f2ede66b;--brand:#c8874a;--brand-light:#e0a870;--brand-dark:#a86c35;--brand-glow:#c8874a38;--on-brand:#16151a;--color-bg:var(--bg);--color-surface:var(--surface);--color-primary:var(--brand);--color-accent:var(--brand);--color-cream:var(--text);--color-muted:var(--text-2);--color-border:var(--border);--color-divider:var(--divider);--color-glass:#f2ede60d;--font-sans:"Archivo", system-ui, sans-serif;--font-heading:"Archivo", system-ui, sans-serif;--font-display:"Playfair Display", serif;--font-body:var(--font-sans);--font-accent:var(--font-sans);--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:3rem;--text-hero:clamp(3.5rem, 9vw, 7.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--radius-xl:0px;--radius-full:9999px;--shadow-card:0 0 0 1px var(--border), 0 4px 24px #00000080;--shadow-glow:0 0 32px var(--brand-glow);--blur-glass:blur(12px);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--ease-out-strong:cubic-bezier(.23, 1, .32, 1);--ease-in-out-strong:cubic-bezier(.77, 0, .175, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.18s;--duration-base:.32s;--duration-slow:.6s;--nav-height:66px;--rail-width:64px;--container-max:1200px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}:where(#services,#work,#pricing,#contact){scroll-margin-top:calc(var(--nav-height) + 12px)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:400;font-size:var(--text-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font-family:inherit}img{max-width:100%;display:block}input,textarea,select,button{font-family:inherit;font-size:inherit;color:inherit}.container{width:100%;max-width:var(--container-max);padding-inline:var(--space-6);margin-inline:auto}@media (width>=768px){.container{padding-inline:var(--space-12)}}@media (width>=1200px){.container{padding-inline:var(--space-16)}}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--brand);margin-bottom:var(--space-3);font-size:11px;font-weight:600}.section-title{letter-spacing:.24em;text-transform:uppercase;color:var(--text);margin:0;font-size:13px;font-weight:800;line-height:1.1}.display-title{font-family:var(--font-heading);letter-spacing:-.045em;text-transform:uppercase;color:var(--text);text-wrap:balance;font-size:clamp(48px,8vw,130px);font-weight:800;line-height:.88}.page-header{border-bottom:2px solid var(--divider);padding:56px 24px 40px}.page-header__sub{max-width:560px;color:var(--text-2);margin:26px 0 0;font-size:16px;line-height:1.5}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth), border-color var(--duration-fast) var(--ease-smooth);white-space:nowrap;border:2px solid #0000;border-radius:0;padding:13px 20px;font-size:13px;font-weight:800;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--brand-light);border-color:var(--brand-light)}.btn-ghost,.btn-secondary{border-color:var(--divider);color:var(--text);background:0 0}.btn-ghost:hover,.btn-ghost:focus-visible,.btn-secondary:hover,.btn-secondary:focus-visible{border-color:var(--text);background:color-mix(in srgb, var(--text) 7%, transparent)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.skip-link{top:var(--space-2);left:var(--space-2);z-index:200;padding:var(--space-3) var(--space-6);background:var(--color-accent);color:var(--color-bg);border-radius:var(--radius-md);transition:transform var(--duration-fast) var(--ease-smooth);font-weight:600;position:fixed;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.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}.reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease-smooth), transform var(--duration-slow) var(--ease-smooth), filter var(--duration-slow) var(--ease-smooth);transform:translateY(24px)}.reveal--up{filter:blur(6px)}.reveal--scale{filter:blur(6px);transform:translateY(28px)scale(.97)}.reveal--fade{transform:none}.reveal.is-visible{opacity:1;filter:blur();transform:translateY(0)scale(1)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.topbar{z-index:30;height:var(--nav-height);background:var(--bg);border-bottom:2px solid var(--divider);justify-content:space-between;align-items:center;gap:24px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-brand{align-items:baseline;gap:10px;min-width:0;display:flex}.topbar-wordmark{font-family:var(--font-heading);letter-spacing:.26em;color:var(--text);white-space:nowrap;font-size:17px;font-weight:800}.topbar-tagline{letter-spacing:.2em;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.topbar-right{align-items:center;gap:18px;display:flex}.topbar-pagelabel{letter-spacing:.22em;color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10px}.topbar-cta{padding:9px 16px}.topbar-toggle{color:var(--text);cursor:pointer;background:0 0;border:none;padding:4px;display:none}.topbar-mobile{inset:var(--nav-height) 0 0 0;z-index:29;background:var(--bg);transition:transform var(--duration-base) var(--ease-out-strong);flex-direction:column;justify-content:center;display:flex;position:fixed;transform:translate(100%)}.topbar-mobile.is-open{transform:translate(0)}.topbar-mobile nav{border-top:2px solid var(--divider);flex-direction:column;display:flex}.mobile-link{border-bottom:2px solid var(--divider);font-family:var(--font-heading);letter-spacing:-.02em;text-transform:uppercase;color:var(--text);align-items:baseline;gap:16px;padding:22px 24px;font-size:30px;font-weight:800;display:flex}.mobile-link[aria-current=page]{color:var(--brand)}.mobile-link-index{letter-spacing:.2em;color:var(--text-3);font-size:12px}@media (width<=680px){.topbar-tagline,.topbar-pagelabel,.topbar-cta{display:none}.topbar-wordmark{letter-spacing:.16em;font-size:15px}}@media (width<=860px){.topbar-toggle{display:inline-flex}}@media (width>=861px){.topbar-mobile{display:none}}.left-rail{width:var(--rail-width);z-index:45;background:var(--bg);border-right:2px solid var(--divider);flex-direction:column;justify-content:space-between;align-items:center;padding:18px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.rail-top{flex-direction:column;align-items:center;gap:22px;display:flex}.rail-mark{background:var(--brand);width:12px;height:12px}.rail-nav{flex-direction:column;align-items:center;gap:4px;display:flex}.rail-link{writing-mode:vertical-rl;font-family:var(--font-heading);letter-spacing:.22em;text-transform:uppercase;color:var(--text);transition:color var(--duration-fast) var(--ease-smooth);padding:6px 0;font-size:11px;font-weight:800;transform:rotate(180deg)}.rail-link:hover,.rail-link:focus-visible,.rail-link[aria-current=page]{color:var(--brand)}.rail-stamp{writing-mode:vertical-rl;letter-spacing:.3em;color:var(--text-3);font-size:9px;transform:rotate(180deg)}@media (width<=860px){.left-rail{display:none}}.footer{background:var(--bg);border-top:2px solid var(--rule);grid-template-columns:repeat(4,1fr);margin-top:auto;display:grid}.footer-cell{border-right:2px solid var(--divider);padding:26px 24px}.footer-cell:last-child{border-right:0}.footer-wordmark{font-family:var(--font-heading);letter-spacing:.24em;color:var(--text);font-size:15px;font-weight:800;display:block}.footer-tagline{color:var(--text-3);margin-top:6px;font-size:11px;display:block}.footer-nav{flex-direction:column;gap:6px;font-size:12px;display:flex}.footer-nav a{color:var(--text-2);transition:color var(--duration-fast) var(--ease-smooth)}.footer-nav a:hover{color:var(--brand)}.footer-contact{font-size:12px}.footer-contact a{color:var(--text-2);word-break:break-word}.footer-contact a:hover{color:var(--brand)}.footer-copy{letter-spacing:.14em;color:var(--text-3);font-size:11px}@media (width<=680px){.footer{grid-template-columns:1fr 1fr}.footer-cell:nth-child(2n){border-right:0}.footer-cell:first-child,.footer-cell:nth-child(2){border-bottom:2px solid var(--divider)}}.custom-cursor{pointer-events:none;z-index:9999;display:none;position:fixed;inset:0}body.has-custom-cursor{cursor:none}body.has-custom-cursor .custom-cursor{display:block}.cursor-dot,.cursor-ring{will-change:transform;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot{background:var(--color-accent);width:8px;height:8px;margin:-4px 0 0 -4px}.cursor-ring{border:1px solid var(--color-accent);width:36px;height:36px;transition:width var(--duration-fast) var(--ease-smooth), height var(--duration-fast) var(--ease-smooth), margin var(--duration-fast) var(--ease-smooth), background-color var(--duration-fast) var(--ease-smooth);margin:-18px 0 0 -18px}.cursor-ring.is-active{background:#c4854a26;width:56px;height:56px;margin:-28px 0 0 -28px}@media (width<=1023px){.custom-cursor{display:none!important}body.has-custom-cursor{cursor:auto}}.page-splash{z-index:10000;background:var(--color-bg);transition:opacity var(--duration-base) var(--ease-out-strong), transform var(--duration-base) var(--ease-out-strong), filter var(--duration-base) var(--ease-out-strong);background-image:radial-gradient(60% 50% at 50% 45%,#c4854a24,#0000 70%);place-items:center;display:grid;position:fixed;inset:0}.page-splash--out{opacity:0;filter:blur(6px);pointer-events:none;transform:scale(1.04)}.page-splash-stage{align-items:center;gap:var(--space-6);padding-inline:var(--space-6);text-align:center;flex-direction:column;display:flex}.page-splash-mark{overflow:visible}.page-splash .logo-s,.page-splash .logo-trace,.page-splash .logo-arrow-line{stroke-dasharray:1;stroke-dashoffset:1px;animation:logo-draw .7s var(--ease-out-strong) forwards}.page-splash .logo-s{animation-delay:60ms}.page-splash .logo-trace{animation-duration:.42s}.page-splash .logo-trace:first-of-type{animation-delay:.3s}.page-splash .logo-trace:nth-of-type(2){animation-delay:.36s}.page-splash .logo-trace:nth-of-type(3){animation-delay:.42s}.page-splash .logo-arrow-line{animation-duration:.38s;animation-delay:.64s}.page-splash .logo-node,.page-splash .logo-hub,.page-splash .logo-arrow-head{opacity:0;transform-box:fill-box;transform-origin:50%;animation:logo-pop .32s var(--ease-out-strong) forwards}.page-splash .logo-node:first-of-type{animation-delay:.47s}.page-splash .logo-node:nth-of-type(2){animation-delay:.52s}.page-splash .logo-node:nth-of-type(3){animation-delay:.57s}.page-splash .logo-hub{animation-delay:.6s}.page-splash .logo-arrow-head{animation-delay:.94s}.page-splash-logo{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-cream);letter-spacing:6px;margin-right:-6px;display:flex}.page-splash-letter{opacity:0;animation:letter-rise .42s var(--ease-out-strong) forwards;display:inline-block}.page-splash-rule{background:var(--color-border);width:clamp(140px,40vw,220px);height:1px;overflow:hidden}.page-splash-rule-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-accent));transform-origin:0;width:100%;height:100%;animation:.9s linear .22s forwards rule-fill;display:block;transform:scaleX(0)}.page-splash-tagline{font-family:var(--font-accent);font-size:var(--text-xs);letter-spacing:3px;text-transform:uppercase;color:var(--color-muted);opacity:0;animation:fade-in .5s var(--ease-out-strong) .9s forwards}@media (width<=480px){.page-splash-logo{font-size:var(--text-xl);letter-spacing:4px;margin-right:-4px}.page-splash-tagline{letter-spacing:1.5px}}@keyframes logo-draw{to{stroke-dashoffset:0}}@keyframes logo-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes letter-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes rule-fill{to{transform:scaleX(1)}}@keyframes fade-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.page-splash .logo-s,.page-splash .logo-trace,.page-splash .logo-arrow-line{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.page-splash .logo-node,.page-splash .logo-hub,.page-splash .logo-arrow-head,.page-splash-letter{opacity:1;animation:none}.page-splash-rule-fill{animation:.6s linear forwards rule-fill}.page-splash-tagline{animation:.3s forwards fade-in}.page-splash--out{filter:none;transform:none}}.scroll-progress{z-index:200;pointer-events:none;background:0 0;height:2px;position:fixed;top:0;left:0;right:0}.scroll-progress-bar{transform-origin:0;width:100%;height:100%;transform:scaleX(var(--scroll-progress,0));background:linear-gradient(90deg, var(--brand), var(--brand-light));display:block}html:not(.has-smooth-scroll) .scroll-progress{display:none}.hero{border-bottom:2px solid var(--divider)}.hero-stats{border-bottom:2px solid var(--divider);letter-spacing:.2em;color:var(--text-3);grid-template-columns:repeat(4,1fr);font-size:10px;display:grid}.hero-stats span{border-right:2px solid var(--divider);padding:12px 24px}.hero-stats span:last-child{border-right:0}.hero-main{grid-template-columns:minmax(0,1fr) 340px;display:grid}.hero-lead{border-right:2px solid var(--divider);min-width:0;padding:56px 24px 44px;animation:.5s both hero-rise;container-type:inline-size}.hero-kicker{letter-spacing:.24em;text-transform:uppercase;color:var(--brand);margin-bottom:26px;font-size:11px}.hero-headline{font-family:var(--font-heading);letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance;margin:0;font-size:clamp(34px,9cqw,150px);font-weight:800;line-height:.86}.hero-headline .accent{color:var(--brand)}.hero-sub{max-width:620px;color:var(--text);margin:34px 0 0;font-size:17px;line-height:1.5}.hero-ctas{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero-aside{flex-direction:column;display:flex}.hero-logo-cell{border-bottom:2px solid var(--divider);background:#f7efe4;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;display:flex}.hero-lockup-word{font-family:var(--font-display);letter-spacing:.18em;color:#8a5a2b;margin-right:-.18em;font-size:34px;font-weight:700;line-height:1}.hero-lockup-rule{letter-spacing:.14em;text-transform:uppercase;color:#6b4a2e;text-align:center;align-items:center;gap:10px;font-size:9px;display:flex}.hero-lockup-rule i{opacity:.6;background:currentColor;width:22px;height:1px}.hero-stat-cell{border-bottom:2px solid var(--divider);padding:20px 24px}.hero-stat-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:10px;display:block}.hero-stat-value{font-family:var(--font-heading);color:var(--text);font-size:40px;font-weight:800;line-height:1}.hero-glyph-cell{background:radial-gradient(ellipse 80% 70% at 50% 50%, var(--brand-glow), transparent 70%);flex:1;place-items:center;min-height:180px;padding:24px;display:grid;overflow:hidden}.hero-glyph{width:100%;height:auto;max-height:220px}.hero-glyph-wire{fill:none;stroke:var(--brand);stroke-width:2px;opacity:.35}.hero-glyph-flow{fill:none;stroke:var(--brand-light);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:40 460;animation:3.2s linear infinite hero-flow}.hero-glyph-halo{fill:var(--brand);opacity:.18;animation:2.8s ease-in-out infinite hero-pulse}.hero-glyph-core{fill:var(--brand-light);stroke:var(--bg);stroke-width:2px}@keyframes hero-flow{to{stroke-dashoffset:-500px}}@keyframes hero-pulse{0%,to{opacity:.14;transform:scale(1)}50%{opacity:.34;transform:scale(1.15)}}@keyframes hero-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero-glyph-node{transform-box:fill-box;transform-origin:50%}@media (width<=900px){.hero-main{grid-template-columns:1fr}.hero-lead{border-right:0;border-bottom:2px solid var(--divider)}}@media (width<=520px){.hero-stats{grid-template-columns:repeat(2,1fr)}.hero-stats span:nth-child(2){border-right:0}.hero-stats span:first-child,.hero-stats span:nth-child(2){border-bottom:2px solid var(--divider)}}@media (prefers-reduced-motion:reduce){.hero-lead,.hero-glyph-flow,.hero-glyph-halo{animation:none}.hero-glyph-flow{stroke-dasharray:none;opacity:.5}}.marquee{background:var(--brand);color:var(--on-brand);white-space:nowrap;border-bottom:2px solid var(--rule);padding:16px 0;overflow:hidden}.marquee-shift{transform:translateX(calc(var(--scroll-velocity,0) * -40px)) skewX(calc(var(--scroll-velocity,0) * -2deg));will-change:transform;transition:transform .62s cubic-bezier(.23,1,.32,1)}.marquee-track{width:max-content;animation:26s linear infinite marquee-scroll;display:inline-flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-group{flex-shrink:0;display:inline-flex}.marquee-item{font-family:var(--font-heading);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:22px;padding-inline:22px;font-size:30px;font-weight:800;display:inline-flex}.marquee-dot{opacity:.5}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=620px){.marquee-item{gap:16px;padding-inline:16px;font-size:22px}}@media (prefers-reduced-motion:reduce){.marquee-shift{transition:none;transform:none}}.services{background:var(--bg)}.services-head{justify-content:space-between;align-items:baseline;padding:34px 24px 18px;display:flex}.services-count{letter-spacing:.2em;color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.services-grid{background:var(--divider);border-top:2px solid var(--divider);border-bottom:2px solid var(--divider);grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.service-cell{background:var(--bg);min-height:210px;color:var(--text);transition:background-color var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth);flex-direction:column;padding:30px 24px 34px;display:flex}.service-cell:hover,.service-cell:focus-visible{background:var(--brand);color:var(--on-brand)}.service-num{letter-spacing:.2em;opacity:.65;font-size:11px}.service-name{font-family:var(--font-heading);letter-spacing:-.02em;margin:14px 0 10px;font-size:27px;font-weight:800;line-height:1.1}.service-desc{margin:0;font-size:14px;line-height:1.5}.service-price{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;margin-top:auto;padding-top:18px;font-size:13px;font-weight:800}@media (width<=860px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.services-grid{grid-template-columns:1fr}.service-cell{min-height:0}}.project-cover{width:100%;height:100%;color:var(--project-accent);background:#0a0a0a;display:block}.cv-dots{color:var(--project-accent)}.project-cover .cv-stroke{fill:none;stroke:var(--project-accent);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.project-cover .cv-fill{fill:var(--project-accent);stroke:none}.project-cover .cv-soft{fill:var(--text-3);stroke:none}.project-cover .cv-hole{fill:#0a0a0a;stroke:none}.project-cover .cv-knot{fill:var(--project-accent);opacity:.28;rx:2}.project-cover .cv-mono{fill:var(--project-accent);font-family:var(--font-mono,ui-monospace, "SF Mono", Menlo, monospace);opacity:.85;font-size:13px;font-weight:700}@keyframes cv-pulse-k{0%,to{opacity:var(--o,.6);transform:scale(1)}50%{opacity:calc(var(--o,.6) * 1.8);transform:scale(1.06)}}@keyframes cv-wave-k{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes cv-scan-k{0%{opacity:0;transform:translate(-14px)}40%{opacity:.5}to{opacity:0;transform:translate(14px)}}@keyframes cv-rain-k{0%{opacity:0;transform:translateY(-10px)}30%{opacity:.75}to{opacity:0;transform:translateY(14px)}}@keyframes cv-breathe-k{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes cv-lift-k{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes cv-blink-k{0%,to{opacity:1}50%{opacity:.25}}.project-cover [class*=cv-]{transform-origin:50%;transform-box:fill-box}.project-card:hover .project-cover .cv-pulse,.project-card:focus-within .project-cover .cv-pulse{animation:2.4s ease-in-out infinite cv-pulse-k}.project-card:hover .project-cover .cv-wave,.project-card:focus-within .project-cover .cv-wave{animation:3.2s ease-in-out infinite cv-wave-k}.project-card:hover .project-cover .cv-scan,.project-card:focus-within .project-cover .cv-scan{animation:2.8s ease-in-out infinite cv-scan-k}.project-card:hover .project-cover .cv-rain,.project-card:focus-within .project-cover .cv-rain{animation:1.5s ease-in infinite cv-rain-k}.project-card:hover .project-cover .cv-breathe,.project-card:focus-within .project-cover .cv-breathe{animation:4s ease-in-out infinite cv-breathe-k}.project-card:hover .project-cover .cv-pin,.project-card:focus-within .project-cover .cv-pin,.project-card:hover .project-cover .cv-win,.project-card:focus-within .project-cover .cv-win{animation:2.6s ease-in-out infinite cv-lift-k}.project-card:hover .project-cover .cv-break,.project-card:focus-within .project-cover .cv-break{animation:1.6s ease-in-out infinite cv-blink-k}.project-card:hover .project-cover .cv-md,.project-card:focus-within .project-cover .cv-md,.project-card:hover .project-cover .cv-joint,.project-card:focus-within .project-cover .cv-joint{animation:3s ease-in-out infinite cv-lift-k}.project-cover>g{transition:transform var(--duration-slow,.5s) var(--ease-smooth,cubic-bezier(.23, 1, .32, 1))}.project-card:hover .project-cover>g{transform:scale(1.03)}@media (prefers-reduced-motion:reduce){.project-cover *,.project-cover>g{transition:none!important;animation:none!important;transform:none!important}}.selected{background:var(--bg)}.selected-head{justify-content:space-between;align-items:baseline;padding:34px 24px 18px;display:flex}.selected-all{letter-spacing:.2em;text-transform:uppercase;color:var(--brand);font-size:11px}.selected-all:hover{color:var(--brand-light)}.selected-grid{background:var(--divider);border-top:2px solid var(--divider);border-bottom:2px solid var(--divider);grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.selected-cell{background:var(--bg);color:var(--text);flex-direction:column;display:flex}.selected-cover{filter:grayscale()contrast(1.05);height:300px;transition:filter var(--duration-slow) var(--ease-smooth);overflow:hidden}.selected-cell:hover .selected-cover,.selected-cell:focus-visible .selected-cover{filter:none}.selected-cover .project-cover{height:100%}.selected-label{border-top:2px solid var(--divider);letter-spacing:.18em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;font-size:11px;display:flex}.selected-name{font-family:var(--font-heading);letter-spacing:.02em;color:var(--text-3);transition:color var(--duration-fast) var(--ease-smooth);font-weight:800}.selected-cell:hover .selected-name{color:var(--brand)}@media (width<=860px){.selected-grid{grid-template-columns:1fr}.selected-cover{height:240px}}.cta-band{background:var(--brand);color:var(--on-brand);border-bottom:2px solid var(--rule);padding:76px 24px 84px}.cta-eyebrow{letter-spacing:.24em;text-transform:uppercase;opacity:.8;margin-bottom:24px;font-size:11px}.cta-title{font-family:var(--font-heading);letter-spacing:-.04em;text-transform:uppercase;max-width:14ch;margin:0;font-size:clamp(44px,7.4vw,124px);font-weight:800;line-height:.9}.cta-btn{background:var(--bg);color:var(--text);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;transition:background-color var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth);align-items:center;gap:10px;margin-top:36px;padding:16px 22px;font-size:14px;font-weight:800;display:inline-flex}.cta-btn:hover,.cta-btn:focus-visible{background:var(--on-brand);color:var(--brand)}.portfolio{background:var(--bg)}.portfolio-filters{border-bottom:2px solid var(--divider);flex-wrap:wrap;gap:0;display:flex}.filter-chip{border:0;border-right:2px solid var(--divider);color:var(--text-2);font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth);background:0 0;align-items:center;gap:8px;padding:16px 22px;font-size:12px;font-weight:800;display:inline-flex}.filter-chip:hover{color:var(--text)}.filter-chip.is-active{background:var(--brand);color:var(--on-brand)}.filter-count{font-variant-numeric:tabular-nums;opacity:.6;font-size:10px}.portfolio-grid{background:var(--divider);border-bottom:2px solid var(--divider);grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.project-card{background:var(--bg);flex-direction:column;display:flex;position:relative}.project-card--featured{display:flex}.project-cover-wrap{aspect-ratio:16/10;border-bottom:2px solid var(--divider);filter:grayscale()contrast(1.05);transition:filter var(--duration-slow) var(--ease-smooth);background:#0a0a0a;display:block;overflow:hidden}.project-card:hover .project-cover-wrap,.project-card:focus-within .project-cover-wrap{filter:none}.project-cover-wrap .project-cover{height:100%}.project-body{flex-direction:column;flex:1;gap:12px;padding:26px 24px;display:flex}.project-meta{align-items:center;gap:12px;display:flex}.project-index{letter-spacing:.2em;color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.project-tag{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--project-accent) 90%, var(--text));font-size:11px}.project-live{letter-spacing:.1em;text-transform:uppercase;color:#6fd08c;align-items:center;gap:5px;font-size:11px;display:inline-flex}.project-live:before{content:"";border-radius:var(--radius-full);background:currentColor;width:6px;height:6px}.project-name{font-family:var(--font-heading);letter-spacing:-.03em;text-transform:uppercase;font-size:30px;font-weight:800;line-height:1.05}.project-title-link{color:var(--text);align-items:center;gap:10px;display:inline-flex}.project-title-link:after{content:"";z-index:1;position:absolute;inset:0}.project-title-link svg{color:var(--brand);transition:transform var(--duration-fast) var(--ease-smooth);flex-shrink:0}.project-card:hover .project-title-link svg{transform:translate(3px,-3px)}.project-tagline{color:var(--brand);margin-top:-4px;font-size:13px;font-weight:500}.project-description{color:var(--text-2);font-size:14px;line-height:1.6}.project-tech{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px;display:flex}.project-tech li{border:1px solid var(--divider);color:var(--text-3);letter-spacing:.02em;padding:3px 9px;font-size:11px}.project-links{border-top:2px solid var(--divider);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.project-link{z-index:2;min-width:0;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;transition:color var(--duration-fast) var(--ease-smooth);align-items:center;gap:5px;font-size:11px;display:inline-flex;position:relative;overflow:hidden}.project-link svg{flex-shrink:0}.project-link--repo{flex-shrink:0;margin-left:auto}.project-link:hover{color:var(--brand)}.project-link--repo:hover{color:var(--text)}@media (width<=720px){.portfolio-grid{grid-template-columns:1fr}}.pricing{background:var(--bg)}.pricing-tiers{background:var(--divider);border-bottom:2px solid var(--divider);grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.pricing-tier{background:var(--bg);flex-direction:column;padding:30px 24px 32px;display:flex}.pricing-tier--popular{background:var(--brand);color:var(--on-brand)}.pricing-tier-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);font-size:11px}.pricing-tier--popular .pricing-tier-label{color:var(--on-brand);opacity:.85}.pricing-tier-tagline{font-family:var(--font-heading);letter-spacing:-.02em;margin:14px 0 8px;font-size:30px;font-weight:800;line-height:1.05}.pricing-rows{flex-direction:column;gap:12px;margin:20px 0 28px;font-size:14px;display:flex}.pricing-rows li{border-bottom:1px solid var(--border-strong);justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.pricing-tier--popular .pricing-rows li{border-bottom-color:color-mix(in srgb, var(--on-brand) 35%, transparent)}.pricing-row-price{white-space:nowrap;font-weight:600}.pricing-cta{border:2px solid var(--divider);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text);transition:background-color var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth), border-color var(--duration-fast) var(--ease-smooth);align-self:flex-start;margin-top:auto;padding:13px 18px;font-size:13px;font-weight:800}.pricing-cta:hover{border-color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent)}.pricing-cta.is-popular{background:var(--bg);color:var(--text);border-color:var(--bg)}.pricing-cta.is-popular:hover{background:var(--on-brand);color:var(--brand)}.rates{padding:40px 24px 60px}.rates-title{font-family:var(--font-heading);letter-spacing:.24em;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:800}.rates-sub{color:var(--text-2);margin:0 0 20px;font-size:13px}.rates-scroll{overflow-x:auto}.rates-table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}.rates-table th{text-align:left;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);border-bottom:2px solid var(--divider);padding:12px 4px;font-size:11px}.rates-table td{border-bottom:1px solid var(--border-strong);padding:12px 4px}.rates-table td:last-child{color:var(--text-2)}.rates-note{color:var(--text-2);margin:18px 0 0;font-size:13px}@media (width<=860px){.pricing-tiers{grid-template-columns:1fr}}.contact{background:var(--bg)}.contact-grid{grid-template-columns:minmax(0,1fr) 380px;display:grid}.contact-form-wrap{border-right:2px solid var(--divider);padding:40px 24px 60px}.contact-form{flex-direction:column;gap:20px;max-width:620px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:12px}.form-optional{color:var(--text-3);text-transform:none;letter-spacing:0;font-size:11px;font-style:italic}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:44px;color:var(--text);caret-color:var(--brand);background:var(--surface);border:2px solid var(--divider);transition:border-color var(--duration-fast) var(--ease-smooth);border-radius:0;padding:11px 14px;font-size:15px}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-3)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--brand);outline:none}.form-field textarea{resize:vertical}.contact-submit{align-self:flex-start}.contact-success{background:color-mix(in srgb, var(--brand) 10%, transparent);border:2px solid var(--brand);max-width:620px;padding:24px}.contact-success-note{color:var(--text-2);margin-top:8px;font-size:14px}.contact-success-note a{color:var(--brand)}.contact-reset{margin-top:20px}.contact-info{flex-direction:column;display:flex}.contact-cell{border-bottom:2px solid var(--divider);padding:24px}.contact-cell-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px;font-size:10px;display:block}.contact-cell-value{font-family:var(--font-heading);color:var(--text);word-break:break-word;font-size:19px;font-weight:800}a.contact-cell-value:hover{color:var(--brand)}.contact-cell-note{letter-spacing:.04em;color:var(--text-3);margin-top:8px;font-size:11px;display:block}.contact-cell--accent{background:var(--brand);color:var(--on-brand);border-bottom:0;flex:1}.contact-cell--accent .contact-cell-label{color:var(--on-brand);opacity:.85}.contact-response{font-family:var(--font-heading);font-size:52px;font-weight:800;line-height:1}@media (width<=860px){.contact-grid{grid-template-columns:1fr}.contact-form-wrap{border-right:0;border-bottom:2px solid var(--divider)}}.app-shell{min-height:100svh;padding-left:var(--rail-width);flex-direction:column;flex:1;display:flex}@media (width<=860px){.app-shell{padding-left:0}}
