:root{--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-back:cubic-bezier(0.34,1.56,0.64,1)}.theme-icon-sun{display:none}html.dark .theme-icon-sun{display:block}html.dark .theme-icon-moon{display:none}.theme-switching,.theme-switching *,.theme-switching :after,.theme-switching :before{transition:none!important}::view-transition-new(root),::view-transition-old(root){animation-duration:.35s;animation-timing-function:ease}html .liquid-glass-nav{will-change:auto}@media (hover:none),(max-width:767.98px){html .liquid-glass-nav,html.dark .liquid-glass-nav{-webkit-backdrop-filter:blur(12px) saturate(1.5) brightness(1.1);backdrop-filter:blur(12px) saturate(1.5) brightness(1.1)}}.is-offscreen,.is-offscreen *,.is-offscreen :after,.is-offscreen :before,.is-offscreen:after,.is-offscreen:before{animation-play-state:paused!important}@keyframes cwj-rise{0%{opacity:0;transform:translate3d(0,36px,0)}}@keyframes cwj-fade{0%{opacity:0}}@keyframes cwj-portrait-in{0%{opacity:0;transform:translate3d(0,28px,0) scale(1.03)}}@keyframes cwj-float{0%{transform:translateZ(0)}to{transform:translate3d(0,-10px,0)}}@keyframes cwj-ticker{to{transform:translate3d(-100%,0,0)}}@media (prefers-reduced-motion:no-preference){#hero>div:first-child>img{animation:cwj-fade 1.2s ease both}#hero .hero-headline{animation:cwj-rise 1.1s var(--ease-out-expo) both}#hero .hero-subtitle{animation:cwj-rise 1.1s var(--ease-out-expo) .12s both}#hero .hero-portrait{animation:cwj-portrait-in 1.4s var(--ease-out-expo) .05s both}#hero-portrait-layer{animation:cwj-float 6s ease-in-out 1.4s infinite alternate;will-change:transform}#hero-bio{animation:cwj-rise 1s var(--ease-out-expo) .35s both}#hero-ticker{animation:cwj-fade 1s ease .55s both}}@media (max-width:767.98px){html #hero-ticker-viewport .hero-ticker-track{animation-name:cwj-ticker;will-change:transform}}html #stack .wave-badge-pill{-webkit-backdrop-filter:none;backdrop-filter:none}html .svc-rail-bar{width:100%;transform:scaleX(0);transform-origin:0 50%;will-change:transform}#svc-dots{contain:layout style}[data-prj-pin]{touch-action:pan-y;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-prj-pin]:active{cursor:-webkit-grabbing;cursor:grabbing}[data-prj-pin] a,[data-prj-pin] img{-webkit-user-drag:none}html .prj-wheel.is-snapping{transition:transform .8s var(--ease-out-expo),opacity .5s ease-out}html .prj-card-rule{width:100%;transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease-out-expo),opacity .5s}html .prj-item[data-hovered=true] .prj-card-rule{transform:scaleX(1)}@keyframes cwj-pop{0%{opacity:0;transform:scale(0)}}@media (prefers-reduced-motion:no-preference){html .prj-wheel:not(.is-in):not(.is-static) .prj-card{opacity:0}html .prj-wheel.is-in .prj-card{animation:cwj-pop 1.1s var(--ease-back) backwards;animation-delay:calc(var(--i, 0) * 60ms)}}@keyframes cwj-sway{0%,to{transform:translate3d(-3px,0,0)}50%{transform:translate3d(3px,0,0)}}html .prj-scroll-hint{display:inline-block;animation:cwj-sway 1.8s ease-in-out infinite}.prj-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9999px;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.04);color:inherit;cursor:pointer;transition:transform .2s var(--ease-out-expo),color .2s,background-color .2s}html.dark .prj-nav-btn{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.07)}.prj-nav-btn:hover{color:#0ea5e9}html.dark .prj-nav-btn:hover{color:#38bdf8}.prj-nav-btn:active{transform:scale(.9)}html .cta-spot{inset:auto;left:0;top:0;width:1040px;height:1040px;margin:-520px 0 0 -520px;background:radial-gradient(closest-side,rgba(255,255,255,.1),transparent 62%);will-change:transform,opacity}html [data-footer-magnetic]{transition:transform 1.1s var(--ease-back),background .4s var(--ease-out-expo),border-color .4s,box-shadow .4s,color .3s}html [data-footer-magnetic].is-magnet{transition:transform .4s cubic-bezier(.22,1,.36,1),background .4s var(--ease-out-expo),border-color .4s,box-shadow .4s,color .3s}html .footer-nav-link:hover{padding-left:.15rem}.footer-nav-link>:not(.footer-nav-arrow){transition:transform .45s var(--ease-out-expo),opacity .3s,color .3s}.footer-nav-link:hover>:not(.footer-nav-arrow){transform:translate3d(.6rem,0,0)}@keyframes cwj-footer-giant{0%{opacity:0;transform:translate3d(-50%,10vh,0) scale(.8)}to{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}@keyframes cwj-footer-rise{0%{opacity:0;transform:translate3d(0,50px,0)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){[data-footer-curtain]{view-timeline:--cwj-footer block}html [data-footer-curtain] [data-footer-giant]{animation:cwj-footer-giant linear both;animation-timeline:--cwj-footer;animation-range:entry 20% entry 100%;animation-play-state:running!important}html [data-footer-curtain] [data-footer-heading]{animation:cwj-footer-rise linear both;animation-timeline:--cwj-footer;animation-range:entry 55% entry 95%;animation-play-state:running!important}html [data-footer-curtain] [data-footer-links]{animation:cwj-footer-rise linear both;animation-timeline:--cwj-footer;animation-range:entry 65% entry 100%;animation-play-state:running!important}}.footer-motion [data-footer-giant]{opacity:0;transform:translate3d(-50%,10vh,0) scale(.8);transition:opacity 1.2s var(--ease-out-expo),transform 1.2s var(--ease-out-expo)}.footer-motion [data-footer-heading],.footer-motion [data-footer-links]{opacity:0;transform:translate3d(0,50px,0);transition:opacity 1s var(--ease-out-expo),transform 1s var(--ease-out-expo)}.footer-motion [data-footer-heading]+[data-footer-heading]{transition-delay:.15s}.footer-motion [data-footer-links]{transition-delay:.3s}.footer-motion.is-inview [data-footer-giant]{opacity:1;transform:translate3d(-50%,0,0) scale(1)}.footer-motion.is-inview [data-footer-heading],.footer-motion.is-inview [data-footer-links]{opacity:1;transform:none}}html .prj-gallery.is-flipping .prj-gallery-viewport{overflow:visible}.prj-gallery.is-flipping .prj-photo{transition:none;pointer-events:none}.lightbox{opacity:0;transition:opacity .22s ease}.lightbox.is-open{opacity:1}.lightbox .lightbox-body{transform:translate3d(0,8px,0) scale(.96);transition:transform .35s var(--ease-out-expo)}.lightbox.is-open .lightbox-body{transform:none}@media (prefers-reduced-motion:reduce){html .prj-scroll-hint{animation:none}.lightbox,.lightbox .lightbox-body{transition:none}}