@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--ana-k:1;--ana-dx1:-3px;--ana-dy1:-2px;--ana-blur1:6px;--ana-a1:.25;--ana-dx2:2px;--ana-dy2:4px;--ana-blur2:7px;--ana-a2:.25}}}:root{--ana-red:252 116 116;--ana-blue:140 176 255;--ana-in-red:255 172 172;--ana-in-blue:var(--ana-blue);--ana-plate-shadow:-3px -2px 6px rgb(var(--ana-red) / .25), 2px 4px 7px rgb(var(--ana-blue) / .25), inset -1px -1px 2px rgb(var(--ana-in-blue) / .44), inset 1px 1px 2px rgb(var(--ana-in-red) / .33)}@property --ana-k{syntax:"<number>";inherits:true;initial-value:1}@property --ana-dx1{syntax:"<length>";inherits:true;initial-value:-3px}@property --ana-dy1{syntax:"<length>";inherits:true;initial-value:-2px}@property --ana-blur1{syntax:"<length>";inherits:true;initial-value:6px}@property --ana-a1{syntax:"<number>";inherits:true;initial-value:.25}@property --ana-dx2{syntax:"<length>";inherits:true;initial-value:2px}@property --ana-dy2{syntax:"<length>";inherits:true;initial-value:4px}@property --ana-blur2{syntax:"<length>";inherits:true;initial-value:7px}@property --ana-a2{syntax:"<number>";inherits:true;initial-value:.25}.anaglyph,.anaglyph-hover{--ana-k:var(--ana-base,1);text-shadow:calc(var(--ana-dx1) * var(--ana-k)) calc(var(--ana-dy1) * var(--ana-k)) var(--ana-blur1) rgb(var(--ana-red) / calc(var(--ana-a1) * var(--ana-on,1))), calc(var(--ana-dx2) * var(--ana-k)) calc(var(--ana-dy2) * var(--ana-k)) var(--ana-blur2) rgb(var(--ana-blue) / calc(var(--ana-a2) * var(--ana-on,1)))}.anaglyph-hover{--ana-on:0}@media (hover:hover){.anaglyph-hover:hover{--ana-on:1}}.anaglyph-hover:focus-visible{--ana-on:1}.anaglyph-svg{filter:drop-shadow(calc(var(--ana-dx1) * var(--ana-k)) calc(var(--ana-dy1) * var(--ana-k)) var(--ana-blur1) rgb(var(--ana-red) / var(--ana-a1))) drop-shadow(calc(var(--ana-dx2) * var(--ana-k)) calc(var(--ana-dy2) * var(--ana-k)) var(--ana-blur2) rgb(var(--ana-blue) / var(--ana-a2)))}.anaglyph-svg-full{filter:var(--ana-filter)}.dim-group>*{transition:opacity .5s cubic-bezier(.11,.7,.35,1)}@media (hover:hover){.dim-group:has(>:hover)>:not(:hover):not(:focus-visible):not(:has(:focus-visible)){opacity:.6}}.social-icons{align-items:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.social-icon-item{display:block}.social-icon{width:16px;height:16px;color:var(--color-ink);transition:color calc(var(--dur-fast) * 2 / 3) var(--ease-out);display:block;position:relative}.social-icon svg{width:16px;height:16px;display:block;position:relative}.social-icon:before{content:"";background-color:var(--color-ink);box-shadow:var(--ana-plate-shadow);opacity:0;transition:opacity calc(var(--dur-fast) * 2 / 3) var(--ease-out), transform calc(var(--dur-fast) * 2 / 3) var(--ease-out);position:absolute;inset:-4px;transform:scale(.8)}.social-icon:after{content:"";width:calc(100% + 10px);height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (hover:hover){.social-icon:hover{color:var(--color-canvas);transition-duration:var(--dur-fast)}.social-icon:hover:before{opacity:1;transition-duration:var(--dur-fast);transform:none}}.social-icon:focus-visible{color:var(--color-canvas);transition-duration:var(--dur-fast);outline:2px solid var(--color-focus);outline-offset:6px;box-shadow:0 0 0 6px var(--color-canvas)}.social-icon:focus-visible:before{opacity:1;transition-duration:var(--dur-fast);transform:none}
.typewriter{font-family:var(--font-tw);color:var(--color-tw);font-size:16px}.typewriter-cursor{background:var(--color-meta);vertical-align:-1px;width:6px;height:12px;margin-left:2px;animation:1s steps(2,end) infinite typewriter-blink;display:inline-block}@keyframes typewriter-blink{50%{opacity:0}}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--ana-k:1;--ana-dx1:-3px;--ana-dy1:-2px;--ana-blur1:6px;--ana-a1:.25;--ana-dx2:2px;--ana-dy2:4px;--ana-blur2:7px;--ana-a2:.25}}}:root{--ana-red:252 116 116;--ana-blue:140 176 255;--ana-in-red:255 172 172;--ana-in-blue:var(--ana-blue);--ana-plate-shadow:-3px -2px 6px rgb(var(--ana-red) / .25), 2px 4px 7px rgb(var(--ana-blue) / .25), inset -1px -1px 2px rgb(var(--ana-in-blue) / .44), inset 1px 1px 2px rgb(var(--ana-in-red) / .33)}@property --ana-k{syntax:"<number>";inherits:true;initial-value:1}@property --ana-dx1{syntax:"<length>";inherits:true;initial-value:-3px}@property --ana-dy1{syntax:"<length>";inherits:true;initial-value:-2px}@property --ana-blur1{syntax:"<length>";inherits:true;initial-value:6px}@property --ana-a1{syntax:"<number>";inherits:true;initial-value:.25}@property --ana-dx2{syntax:"<length>";inherits:true;initial-value:2px}@property --ana-dy2{syntax:"<length>";inherits:true;initial-value:4px}@property --ana-blur2{syntax:"<length>";inherits:true;initial-value:7px}@property --ana-a2{syntax:"<number>";inherits:true;initial-value:.25}.anaglyph,.anaglyph-hover{--ana-k:var(--ana-base,1);text-shadow:calc(var(--ana-dx1) * var(--ana-k)) calc(var(--ana-dy1) * var(--ana-k)) var(--ana-blur1) rgb(var(--ana-red) / calc(var(--ana-a1) * var(--ana-on,1))), calc(var(--ana-dx2) * var(--ana-k)) calc(var(--ana-dy2) * var(--ana-k)) var(--ana-blur2) rgb(var(--ana-blue) / calc(var(--ana-a2) * var(--ana-on,1)))}.anaglyph-hover{--ana-on:0}@media (hover:hover){.anaglyph-hover:hover{--ana-on:1}}.anaglyph-hover:focus-visible{--ana-on:1}.anaglyph-svg{filter:drop-shadow(calc(var(--ana-dx1) * var(--ana-k)) calc(var(--ana-dy1) * var(--ana-k)) var(--ana-blur1) rgb(var(--ana-red) / var(--ana-a1))) drop-shadow(calc(var(--ana-dx2) * var(--ana-k)) calc(var(--ana-dy2) * var(--ana-k)) var(--ana-blur2) rgb(var(--ana-blue) / var(--ana-a2)))}.anaglyph-svg-full{filter:var(--ana-filter)}.roll{display:block;position:relative;overflow:hidden}.roll-line{transition:transform .55s cubic-bezier(.16,1,.3,1);display:block}.roll-line--next{width:100%;position:absolute;top:100%;left:0}@media (hover:hover){.roll-host:hover .roll-line{transition:transform .74s cubic-bezier(.34,1.7,.64,1);transform:translateY(-100%)}}.roll-host:focus-visible .roll-line{transition:transform .74s cubic-bezier(.34,1.7,.64,1);transform:translateY(-100%)}.dim-group>*{transition:opacity .5s cubic-bezier(.11,.7,.35,1)}@media (hover:hover){.dim-group:has(>:hover)>:not(:hover):not(:focus-visible):not(:has(:focus-visible)){opacity:.6}}.work-links{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.work-link-item{display:block}.work-link{width:100%;color:var(--color-ink);font-family:var(--font-mono);text-transform:uppercase;transition:color var(--dur-fast) var(--ease-out);border-radius:0;padding:2px 8px;font-size:16px;font-weight:500;text-decoration:none;display:block;position:relative}.work-link-plate{transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background-color:#0000;position:absolute;inset:0}.work-link-label{display:inline-block}@media (hover:hover){.work-link:hover{color:var(--color-canvas)}.work-link:hover .work-link-plate{background-color:var(--color-ink);box-shadow:var(--ana-plate-shadow)}}.work-link:focus-visible{color:var(--color-canvas);outline:none}.work-link:focus-visible .work-link-plate{background-color:var(--color-ink);outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 2px var(--color-canvas), var(--ana-plate-shadow)}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--ana-k:1;--ana-dx1:-3px;--ana-dy1:-2px;--ana-blur1:6px;--ana-a1:.25;--ana-dx2:2px;--ana-dy2:4px;--ana-blur2:7px;--ana-a2:.25}}}:root{--ana-red:252 116 116;--ana-blue:140 176 255;--ana-in-red:255 172 172;--ana-in-blue:var(--ana-blue);--ana-plate-shadow:-3px -2px 6px rgb(var(--ana-red) / .25), 2px 4px 7px rgb(var(--ana-blue) / .25), inset -1px -1px 2px rgb(var(--ana-in-blue) / .44), inset 1px 1px 2px rgb(var(--ana-in-red) / .33)}@property --ana-k{syntax:"<number>";inherits:true;initial-value:1}@property --ana-dx1{syntax:"<length>";inherits:true;initial-value:-3px}@property --ana-dy1{syntax:"<length>";inherits:true;initial-value:-2px}@property --ana-blur1{syntax:"<length>";inherits:true;initial-value:6px}@property --ana-a1{syntax:"<number>";inherits:true;initial-value:.25}@property --ana-dx2{syntax:"<length>";inherits:true;initial-value:2px}@property --ana-dy2{syntax:"<length>";inherits:true;initial-value:4px}@property --ana-blur2{syntax:"<length>";inherits:true;initial-value:7px}@property --ana-a2{syntax:"<number>";inherits:true;initial-value:.25}.anaglyph,.anaglyph-hover{--ana-k:var(--ana-base,1);text-shadow:calc(var(--ana-dx1) * var(--ana-k)) calc(var(--ana-dy1) * var(--ana-k)) var(--ana-blur1) rgb(var(--ana-red) / calc(var(--ana-a1) * var(--ana-on,1))), calc(var(--ana-dx2) * var(--ana-k)) calc(var(--ana-dy2) * var(--ana-k)) var(--ana-blur2) rgb(var(--ana-blue) / calc(var(--ana-a2) * var(--ana-on,1)))}.anaglyph-hover{--ana-on:0}@media (hover:hover){.anaglyph-hover:hover{--ana-on:1}}.anaglyph-hover:focus-visible{--ana-on:1}.anaglyph-svg{filter:drop-shadow(calc(var(--ana-dx1) * var(--ana-k)) calc(var(--ana-dy1) * var(--ana-k)) var(--ana-blur1) rgb(var(--ana-red) / var(--ana-a1))) drop-shadow(calc(var(--ana-dx2) * var(--ana-k)) calc(var(--ana-dy2) * var(--ana-k)) var(--ana-blur2) rgb(var(--ana-blue) / var(--ana-a2)))}.anaglyph-svg-full{filter:var(--ana-filter)}.connect-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 2px var(--color-canvas)}@media (pointer:coarse),(max-width:767.98px){.connect-next-hit:after{content:"";width:100%;height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (max-width:767.98px){.connect .social-icons{gap:28px}.connect .social-icon:after{width:calc(100% + 28px)}}@keyframes home-strobe{0%,18%,36%,55%,73%,91%,to{opacity:1}9%,27%,45%,64%,82%{opacity:0}}@keyframes connect-strobe-soft{0%,18%,36%,55%,73%,91%,to{opacity:1}9%,27%,45%,64%,82%{opacity:.35}}@media (prefers-reduced-motion:no-preference){.connect-cta[data-lit]{animation:.35s step-end connect-strobe-soft}.connect-cta:focus-visible,.connect-email:focus-visible{animation:.35s step-end home-strobe}@media (hover:hover){.connect-cta:hover,.connect-email:hover{animation:.35s step-end home-strobe}}}
