.canvas{height:950vh;position:relative}.canvas__viewport{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;will-change:transform,opacity;pointer-events:none}.scene--hero{pointer-events:auto}.scene--case-studies{opacity:0;transform:translateY(30%)}.scene--hero{overflow:hidden;background:var(--color-surface-page)}.hero__content{position:relative;z-index:2;width:100%;will-change:transform,opacity,filter}.hero__grid{align-items:center}.hero__title-col{grid-column:2 / span 4}.hero__bio-col{grid-column:6 / span 6}.hero__description{color:var(--color-text-primary)}.hero__gradient{position:absolute;inset:0;z-index:1;overflow:hidden}.hero__gradient-container{position:absolute;inset:0;filter:blur(120px)}.hero__circle{position:absolute;width:80%;height:80%;top:10%;left:10%;border-radius:50%;mix-blend-mode:normal;will-change:transform}.hero__circle--1{background:radial-gradient(circle at center,#fdca6cf2,#fdca6c00 50%);transform-origin:center;animation:heroMoveVertical 30s ease infinite}.hero__circle--2{background:radial-gradient(circle at center,#ecdcc6,#ecdcc600 50%);transform-origin:calc(50% - 400px);animation:heroMoveInCircle 20s reverse infinite}.hero__circle--4{background:radial-gradient(circle at center,#d4e4f7f2,#d4e4f700 50%);transform-origin:calc(50% - 200px);animation:heroMoveHorizontal 40s ease infinite}.hero__circle--5{background:radial-gradient(circle at center,#f5e6d0e6,#f5e6d000 50%);transform-origin:calc(50% - 800px) calc(50% + 800px);animation:heroMoveInCircle 20s ease infinite}.hero__circle--interactive{background:radial-gradient(circle at center,#fdca6ccc,#fdca6c00 50%);width:60%;height:60%;top:20%;left:20%;will-change:transform}@keyframes heroMoveVertical{0%{transform:translateY(-50%)}50%{transform:translateY(50%)}to{transform:translateY(-50%)}}@keyframes heroMoveHorizontal{0%{transform:translate(-50%) translateY(-10%)}50%{transform:translate(50%) translateY(10%)}to{transform:translate(-50%) translateY(-10%)}}@keyframes heroMoveInCircle{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.hero__reveal{overflow:hidden}.hero__reveal>*{transform:translateY(110%);opacity:0}.hero__reveal--visible>*{transform:translateY(0);opacity:1;transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .8s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--reveal-index, 0) * .35s)}.hero__rotator{display:inline-block;overflow:hidden;height:1.15em;vertical-align:bottom;position:relative;transition:width .5s cubic-bezier(.22,1,.36,1)}.hero__rotator-sizer{display:block;height:1.15em;line-height:1.15;white-space:nowrap;visibility:hidden;pointer-events:none}.hero__rotator-word{position:absolute;top:0;left:0;display:block;height:1.15em;line-height:1.15;white-space:nowrap;transform:translateY(110%);opacity:0;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .6s cubic-bezier(.22,1,.36,1)}.hero__rotator-word--active{transform:translateY(0);opacity:1}.hero__rotator-word--exit{transform:translateY(-110%);opacity:0}.hero__scroll-indicator{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);z-index:2;color:var(--color-text-secondary);opacity:0;transition:opacity .6s ease}.hero__scroll-indicator--visible{opacity:1}.hero__scroll-indicator--animate{animation:heroScrollBounce 2s cubic-bezier(.37,0,.63,1) infinite}@keyframes heroScrollBounce{0%,to{transform:translate(-50%) translateY(0) scale(1);opacity:1}50%{transform:translate(-50%) translateY(6px) scale(.95);opacity:.6}}@media(prefers-reduced-motion:reduce){.scene{will-change:auto}.hero__circle{animation:none!important;will-change:auto}.hero__circle--interactive{will-change:auto}.hero__reveal>*{transform:none!important;opacity:1!important;transition:none!important}.hero__rotator-word,.hero__rotator{transition:none!important}.hero__scroll-indicator{opacity:1!important;transition:none!important}.hero__scroll-indicator--animate{animation:none!important}}@media(max-width:1280px){.hero .text-h1{font-size:44px}}@media(max-width:1024px){.hero .text-h1{font-size:40px}.hero__title-col{grid-column:1 / -1}.hero__bio-col{grid-column:1 / -1;margin-top:var(--space-lg)}}@media(max-width:768px){.hero .text-h1{font-size:34px}}@media(max-width:390px){.hero .text-h1{font-size:28px}}.scene--case-studies{background:var(--color-surface-page)}.case-studies__content{width:100%}.case-studies__cards{display:grid;grid-template-columns:4fr 3fr 3fr;gap:var(--grid-gutter);margin-top:var(--space-3xl);transition:grid-template-columns .75s cubic-bezier(.22,1,.36,1)}.case-studies__cards[data-active-card="2"]{grid-template-columns:3fr 4fr 3fr}.case-studies__cards[data-active-card="3"]{grid-template-columns:3fr 3fr 4fr}.cs-card{position:relative;height:380px;background:var(--color-surface-card-neutral);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:inherit;cursor:pointer}.cs-card__text{position:absolute;left:0;top:0;bottom:0;width:216px;padding-left:var(--space-xl);display:flex;flex-direction:column;justify-content:center;gap:var(--space-xs);z-index:2;opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1);pointer-events:none}.case-studies__cards[data-active-card="1"] .cs-card:nth-child(1) .cs-card__text,.case-studies__cards[data-active-card="2"] .cs-card:nth-child(2) .cs-card__text,.case-studies__cards[data-active-card="3"] .cs-card:nth-child(3) .cs-card__text{opacity:1;pointer-events:auto}.cs-card__image{position:absolute;inset:0}.cs-card__image img{position:absolute;transition:left .75s cubic-bezier(.22,1,.36,1),filter .75s cubic-bezier(.22,1,.36,1)}.cs-card__image--shadow img{filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}.cs-card:nth-child(1) .cs-card__image img{width:250px;height:338px;top:42px;left:53%}.case-studies__cards[data-active-card="2"] .cs-card:nth-child(1) .cs-card__image img,.case-studies__cards[data-active-card="3"] .cs-card:nth-child(1) .cs-card__image img{left:20%}.cs-card:nth-child(2) .cs-card__image img{width:297px;height:380px;top:-1px;left:5%}.case-studies__cards[data-active-card="2"] .cs-card:nth-child(2) .cs-card__image img{left:55%}.cs-card:nth-child(3) .cs-card__image img{width:259px;height:345px;top:35px;left:calc(10% - 30px)}.case-studies__cards[data-active-card="3"] .cs-card:nth-child(3) .cs-card__image img{left:40%}.scene--text-section{opacity:0;transform:translateY(30%);background:var(--color-surface-page)}.text-section__content{width:100%;will-change:transform,opacity,filter}.text-section__heading{grid-column:2 / span 4;align-self:start}.text-section__body{grid-column:7 / span 5;display:flex;flex-direction:column;gap:var(--space-sm);align-self:start;color:var(--color-text-secondary)}.scene--footer{opacity:0;transform:translateY(30%);background:var(--color-surface-page);flex-direction:column}.footer__gradient{position:absolute;inset:0;z-index:1;overflow:hidden}.footer__gradient-container{position:absolute;inset:0;filter:blur(120px)}.footer__circle{position:absolute;width:80%;height:80%;top:10%;left:10%;border-radius:50%;mix-blend-mode:normal;will-change:transform}.footer__circle--1{background:radial-gradient(circle at center,#fdca6cf2,#fdca6c00 50%);transform-origin:center;animation:heroMoveVertical 30s ease infinite}.footer__circle--2{background:radial-gradient(circle at center,#ecdcc6,#ecdcc600 50%);transform-origin:calc(50% - 400px);animation:heroMoveInCircle 20s reverse infinite}.footer__circle--4{background:radial-gradient(circle at center,#d4e4f7f2,#d4e4f700 50%);transform-origin:calc(50% - 200px);animation:heroMoveHorizontal 40s ease infinite}.footer__circle--5{background:radial-gradient(circle at center,#f5e6d0e6,#f5e6d000 50%);transform-origin:calc(50% - 800px) calc(50% + 800px);animation:heroMoveInCircle 20s ease infinite}.footer__contact{position:relative;z-index:2;width:100%}.footer__contact-text{grid-column:2 / span 6;align-self:center}.footer__cta{grid-column:10 / 12;display:flex;align-items:center;gap:var(--space-md);text-decoration:none;color:var(--color-text-primary);align-self:center;justify-self:end;white-space:nowrap}.footer__cta-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--color-text-primary);color:var(--color-surface-page);flex-shrink:0}.footer__cta:hover .footer__cta-icon{animation:ctaBounce 1.2s ease-out forwards,ctaPulse 1.2s ease-in-out infinite}@keyframes ctaBounce{0%{transform:translate(0)}15%{transform:translate(6px)}30%{transform:translate(0)}50%{transform:translate(3px)}70%{transform:translate(0)}85%{transform:translate(1px)}to{transform:translate(0)}}@keyframes ctaPulse{0%,to{background:var(--color-text-primary)}50%{background:#2a3040}}.footer__bar{position:absolute;bottom:0;left:0;right:0;z-index:2;padding-bottom:var(--space-lg)}.footer__bar-inner{display:flex;align-items:center;justify-content:space-between}.footer__credits{color:var(--color-text-secondary)}.footer__links{display:flex;align-items:center;gap:var(--space-xl)}.footer__link{position:relative;display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-family-primary);font-size:18px;line-height:1.6;font-weight:400;color:var(--color-text-secondary);text-decoration:none;cursor:pointer;transition:color .3s ease}.footer__link:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--color-text-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.footer__link:hover{color:var(--color-text-primary)}.footer__link:hover:after{transform:scaleX(1)}.footer__link :global(.icon){transition:color .3s ease}.footer__link:hover :global(.icon){color:var(--color-text-primary)}@media(prefers-reduced-motion:reduce){.footer__circle{animation:none!important;will-change:auto}.footer__cta:hover .footer__cta-icon{animation:none!important}.footer__link:after{transition:none!important}.footer__link{transition:none!important}}@media(max-width:1024px){.text-section__heading{grid-column:1 / -1}.text-section__body{grid-column:1 / -1;margin-top:var(--space-lg)}.footer__contact-text{grid-column:1 / -1}.footer__cta{grid-column:1 / -1;justify-self:start;margin-top:var(--space-lg)}.footer__links{display:none}}@media(min-width:441px)and (max-width:1024px){.case-studies__cards{grid-template-columns:1fr;transition:none}.cs-card{grid-area:1 / 1;opacity:0;height:auto}.cs-card:first-child{opacity:1}.cs-card__text{opacity:1;position:relative;width:100%;padding-left:0;pointer-events:auto}}@media(max-width:440px){.grid{--grid-columns: 4;--grid-margin: 20px}.col-10-center,.col-8-center,.col-9-center{grid-column:1 / -1}.hero__bio-col{margin-top:var(--space-md)}.hero__description{font-size:20px;line-height:1.5}.case-studies__cards{display:flex;gap:12px;overflow:visible;margin-top:var(--space-lg);transition:transform .35s ease;will-change:transform;touch-action:pan-y}.cs-card{flex:0 0 88%;height:260px;opacity:1}.cs-card__text{position:absolute;top:0;left:0;bottom:0;width:55%;padding:var(--space-md);justify-content:center;opacity:1;pointer-events:auto;transition:none}.cs-card .text-callout{font-size:20px}.cs-card .text-caption{font-size:14px}.cs-card:nth-child(1) .cs-card__image img{width:auto;height:220px;inset:auto 0 0 auto;transition:none}.cs-card:nth-child(2) .cs-card__image img{width:auto;height:240px;inset:-1px 0 auto auto;transition:none}.cs-card:nth-child(3) .cs-card__image img{width:auto;height:230px;inset:auto 0 0 auto;transition:none}.scene--text-section .text-h1{font-size:28px}.footer__contact-text{font-size:24px;line-height:1.35}.footer__cta .text-h3{font-size:20px}.footer__cta{gap:var(--space-sm)}.footer__cta-icon{width:40px;height:40px;--icon-md: 24px}.scene--footer{align-items:flex-start}.footer__contact{padding-top:var(--space-2xl)}.footer__bar{padding-bottom:var(--space-md)}.footer__credits{font-size:14px}}
