*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--c-bg:#050507;--c-surface:#0c0c10;--c-text:#f5f5f7;--c-text-secondary:rgba(245,245,247,.45);--c-text-tertiary:rgba(245,245,247,.22);--c-accent:#64d2ff;--c-border:hsla(0,0%,100%,.06);--c-border-hover:hsla(0,0%,100%,.12);--c-bg-rgb:5,5,7;--c-accent-rgb:100,210,255;--glass-bg:hsla(0,0%,100%,.03);--glass-border:hsla(0,0%,100%,.06);--glass-hover-bg:hsla(0,0%,100%,.06);--glass-blur:40px;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--ease:cubic-bezier(.25,.46,.45,.94);--ease-out:cubic-bezier(0,0,.2,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--duration:.6s;--duration-fast:.3s}[data-theme=light]{--c-bg:#fbfbfd;--c-surface:#f5f5f7;--c-text:#1d1d1f;--c-text-secondary:rgba(29,29,31,.45);--c-text-tertiary:rgba(29,29,31,.18);--c-accent:#0071e3;--c-border:rgba(0,0,0,.06);--c-border-hover:rgba(0,0,0,.12);--c-bg-rgb:251,251,253;--c-accent-rgb:0,113,227;--glass-bg:hsla(0,0%,100%,.72);--glass-border:rgba(0,0,0,.06);--glass-hover-bg:hsla(0,0%,100%,.85)}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;color-scheme:dark light}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden;transition:background .5s var(--ease),color .5s var(--ease)}a,body{cursor:none}a{color:inherit;text-decoration:none}button{cursor:none}::-moz-selection{background:rgba(var(--c-accent-rgb),.25);color:var(--c-text)}::selection{background:rgba(var(--c-accent-rgb),.25);color:var(--c-text)}.cursor-dot{background:var(--c-accent);height:6px;mix-blend-mode:difference;transition:width .25s var(--ease-spring),height .25s var(--ease-spring),background .25s var(--ease),opacity .25s var(--ease);width:6px;z-index:9999}.cursor-dot,.cursor-ring{border-radius:50%;pointer-events:none;position:fixed;transform:translate(-50%,-50%)}.cursor-ring{border:1px solid rgba(var(--c-accent-rgb),.35);height:36px;transition:width .35s var(--ease-spring),height .35s var(--ease-spring),border-color .25s var(--ease),opacity .35s var(--ease);width:36px;z-index:9998}.cursor-dot.hovering{background:var(--c-accent);height:12px;width:12px}.cursor-ring.hovering{border-color:rgba(var(--c-accent-rgb),.6);height:52px;width:52px}.cursor-dot.hidden,.cursor-ring.hidden{opacity:0}.noise{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='4' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;inset:0;opacity:.018;pointer-events:none;position:fixed;z-index:0}[data-theme=light] .noise{opacity:.025}.ambient{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.ambient-glow{border-radius:50%;filter:blur(150px);position:absolute;transition:transform 2s var(--ease-out);will-change:transform}.ambient-glow--primary{animation:breathe 15s ease-in-out infinite;background:rgba(var(--c-accent-rgb),.07);height:800px;left:50%;top:-300px;transform:translate(-50%);width:800px}.ambient-glow--secondary{animation:breathe 20s ease-in-out infinite reverse;background:rgba(var(--c-accent-rgb),.04);bottom:-200px;height:500px;right:-100px;width:500px}[data-theme=light] .ambient-glow--primary{background:rgba(var(--c-accent-rgb),.05)}[data-theme=light] .ambient-glow--secondary{background:rgba(var(--c-accent-rgb),.03)}@keyframes breathe{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.6;transform:translate(-50%) scale(1.15)}}.page{min-height:100vh;padding:0 24px;position:relative;z-index:1}.container,.page{align-items:center;display:flex;flex-direction:column}.container{flex:1;max-width:720px;width:100%}.theme-toggle{align-items:center;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));background:var(--glass-bg);border:1px solid var(--c-border);border-radius:50%;color:var(--c-text-secondary);display:flex;height:40px;justify-content:center;outline:none;padding:0;position:fixed;right:32px;top:32px;transition:all var(--duration-fast) var(--ease);width:40px;z-index:100}.theme-toggle:hover{border-color:var(--c-border-hover);color:var(--c-text);transform:scale(1.1)}.theme-toggle:active{transform:scale(.92)}.theme-toggle svg{height:16px;transition:transform .5s var(--ease-spring);width:16px}.theme-toggle:hover svg{transform:rotate(15deg)}.hero{padding-bottom:5rem;padding-top:20vh;text-align:center}.hero-name{color:var(--c-text);font-size:clamp(3rem,8vw,5.2rem);font-weight:600;letter-spacing:-.045em;line-height:1.1;margin-bottom:2rem;padding:.15em 0;position:relative;white-space:nowrap}.hero-name .char{display:inline-block;opacity:0;transform:translateY(50%);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.hero-name .char.space{width:.22em}.hero-name.animate .char{opacity:1;transform:translateY(0)}.hero-rule{background:linear-gradient(90deg,transparent,var(--c-accent),transparent);border:none;display:block;height:1px;margin:0 auto 2rem;transition:width 1s var(--ease-out) .6s;width:0}.hero-rule.animate{width:48px}.hero-tagline{color:var(--c-text-secondary);font-size:clamp(.88rem,1.8vw,1.05rem);font-weight:300;letter-spacing:.02em;line-height:2;margin:0 auto;max-width:400px}.hero-tagline em{color:var(--c-accent);font-style:normal;font-weight:500;letter-spacing:0}.section-divider{background:linear-gradient(180deg,var(--c-border),transparent);height:80px;margin:0 auto;width:1px}.work{padding:4rem 0;width:100%}.work-label{color:var(--c-text-tertiary);font-size:.65rem;font-weight:500;letter-spacing:.25em;margin-bottom:3rem;text-align:center;text-transform:uppercase}.work-grid-wrapper{background:var(--c-border);border-radius:20px;overflow:hidden;padding:1px;position:relative}.work-grid-wrapper:before{animation:rotate-gradient 6s linear infinite;background:conic-gradient(from var(--gradient-angle,0deg),transparent 0,rgba(var(--c-accent-rgb),.35) 10%,transparent 20%,transparent 100%);border-radius:21px;content:"";inset:-1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;position:absolute;z-index:0}@keyframes rotate-gradient{0%{--gradient-angle:0deg}to{--gradient-angle:360deg}}@property --gradient-angle{syntax:"<angle>";initial-value:0deg;inherits:false}.work-grid{background:var(--c-border);border-radius:20px;display:grid;gap:1px;grid-template-columns:1fr 1fr;overflow:hidden}.work-item{align-items:center;background:var(--c-bg);color:var(--c-text);display:flex;flex-direction:column;gap:16px;justify-content:center;overflow:hidden;padding:52px 24px;perspective:800px;position:relative;text-decoration:none;transform-style:preserve-3d;transition:background var(--duration-fast) var(--ease),transform .4s var(--ease)}.work-item:after{background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(var(--c-accent-rgb),.06),transparent 50%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--duration-fast) var(--ease)}.work-item:hover{background:var(--glass-hover-bg)}.work-item:hover:after{opacity:1}.work-logo{align-items:center;display:flex;filter:grayscale(100%) brightness(.5);height:44px;justify-content:center;opacity:.4;transition:all .5s var(--ease);width:44px}[data-theme=light] .work-logo{filter:grayscale(100%) brightness(.8);opacity:.35}.work-item:hover .work-logo{filter:grayscale(0) brightness(1);opacity:1;transform:scale(1.1) translateZ(20px)}.work-logo svg{height:100%;width:100%}.work-domain{color:var(--c-text-secondary);font-size:.82rem;font-weight:500;letter-spacing:.04em;transition:all var(--duration-fast) var(--ease)}.work-item:hover .work-domain{color:var(--c-text);transform:translateZ(10px)}.work-category{color:var(--c-text-tertiary);font-size:.62rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;transition:all var(--duration-fast) var(--ease)}.work-item:hover .work-category{color:var(--c-accent)}.contact{margin-top:auto;padding:5rem 0 3rem;text-align:center}.contact-label{color:var(--c-text-tertiary);font-size:.62rem;font-weight:500;letter-spacing:.25em;margin-bottom:2rem;text-transform:uppercase}.contact-btn{align-items:center;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));background:var(--glass-bg);border:1px solid var(--c-border);border-radius:980px;color:var(--c-text);display:inline-flex;font-family:var(--font);font-size:.85rem;font-weight:500;gap:10px;letter-spacing:.01em;padding:14px 32px;text-decoration:none;transition:all var(--duration-fast) var(--ease)}.contact-btn svg{height:16px;opacity:.5;transition:opacity var(--duration-fast) var(--ease);width:16px}.contact-btn:hover{background:rgba(var(--c-accent-rgb),.08);border-color:var(--c-accent);box-shadow:0 8px 30px rgba(var(--c-accent-rgb),.12);color:var(--c-accent);transform:translateY(-2px)}.contact-btn:hover svg{opacity:1}.contact-btn:active{transform:translateY(0)}.footer{padding-bottom:2.5rem;text-align:center}.footer-text{color:var(--c-text-tertiary);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.15s}.reveal-delay-2{transition-delay:.3s}.reveal-delay-3{transition-delay:.45s}.reveal-delay-4{transition-delay:.6s}.scroll-progress{background:linear-gradient(90deg,var(--c-accent),rgba(var(--c-accent-rgb),.3));height:1px;left:0;position:fixed;top:0;transform-origin:left;transition:none;z-index:200}@media(max-width:600px){.hero{padding-top:16vh}.work-grid{grid-template-columns:1fr}.work-item{padding:36px 24px}.section-divider{height:56px}.theme-toggle{right:20px;top:20px}.contact-btn{font-size:.82rem;padding:12px 28px}}@media(max-width:380px){.page{padding:0 16px}}@media(pointer:coarse){a,body,button{cursor:auto}.cursor-dot,.cursor-ring{display:none}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-name .char,.reveal{opacity:1;transform:none}.hero-rule{width:32px}a,body,button{cursor:auto}.cursor-dot,.cursor-ring{display:none}}
