html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.portfolio-page{--section-text:var(--portfolio-text);--section-muted:#b3bdc3;--section-surface:var(--portfolio-surface);--section-border:#f8f8f626;--section-link:var(--portfolio-blue);--section-accent:var(--portfolio-coral)}.portfolio-panel{border:1px solid var(--portfolio-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(150deg,#2e3944f0,#212a31e0);box-shadow:0 20px 60px #0000001f}.portfolio-kicker{color:#a8c2cc;letter-spacing:.16em;text-transform:uppercase}.portfolio-button{background:var(--portfolio-accent);color:var(--portfolio-text);border:1px solid #d3d9d42e;transition:background-color .2s,border-color .2s}.portfolio-button:hover{background:#19647f;border-color:#d3d9d459}.portfolio-case-studies,.portfolio-archive{--section-text:var(--portfolio-ink);--section-muted:#57656e;--section-surface:#fff;--section-border:#d9e3e9;--section-link:var(--portfolio-blue-dark);--section-accent:var(--portfolio-coral-dark);color:var(--section-text)}.portfolio-case-studies{background-color:var(--portfolio-case-study-bg)}.portfolio-archive{background-color:var(--portfolio-archive-bg)}:root{--portfolio-bg:#232a30;--portfolio-ink:#232a30;--portfolio-text:#f8f8f8;--portfolio-snow:#f8f8f6;--portfolio-surface:#2e3944;--portfolio-coral:#ff6b57;--portfolio-coral-hover:#ff826f;--portfolio-coral-dark:#b94131;--portfolio-yellow:#ffd24a;--portfolio-blue:#48b4ff;--portfolio-blue-dark:#12669a;--portfolio-archive-bg:#edf3f6;--portfolio-case-study-bg:#f8f8f6}.fx-link{--fx-underline:currentColor;text-decoration:none;position:relative}.fx-link:after{content:"";pointer-events:none;inset-inline:0;background:var(--fx-underline);transform-origin:100%;height:1.5px;transition:transform .32s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-.17em;transform:scaleX(0)}.fx-arrow{flex-shrink:0;transition:transform .32s cubic-bezier(.22,1,.36,1);display:inline-block}.fx-button{isolation:isolate;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s,background-color .26s,border-color .26s;position:relative;overflow:hidden;transform:translateZ(0)}.fx-button:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(110deg,#0000 25%,#fff3 49%,#0000 73%);transition:transform .62s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(-150%)}.fx-button>*{z-index:1;position:relative}.fx-icon{transform-origin:50%;transition:transform .3s cubic-bezier(.2,1.35,.4,1),color .24s;display:inline-flex}.fx-link:focus-visible:after{transform-origin:0;transform:scaleX(1)}.fx-link:focus-visible .fx-arrow--diagonal,.fx-button:focus-visible .fx-arrow--diagonal{transform:translate(3px,-3px)}.fx-link:focus-visible .fx-arrow--down,.fx-button:focus-visible .fx-arrow--down{transform:translateY(4px)}.fx-button:focus-visible{transform:translateY(-2px);box-shadow:0 10px 28px #00000026}.fx-button:focus-visible:before{transform:translate(150%)}.fx-icon:focus-visible{transform:translateY(-3px)rotate(-7deg)scale(1.1)}@media (hover:hover) and (pointer:fine){.fx-link:hover:after{transform-origin:0;transform:scaleX(1)}.fx-link:hover .fx-arrow--diagonal,.fx-button:hover .fx-arrow--diagonal{transform:translate(3px,-3px)}.fx-link:hover .fx-arrow--down,.fx-button:hover .fx-arrow--down{transform:translateY(4px)}.fx-button:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0003}.fx-button:hover:before{transform:translate(150%)}.fx-icon:hover{transform:translateY(-3px)rotate(-7deg)scale(1.1)}}.fx-button:active{transform:translateY(0)scale(.975)}.fx-icon:active{transform:translateY(0)scale(.92)}@media (prefers-reduced-motion:reduce){.fx-link:after,.fx-arrow,.fx-button,.fx-button:before,.fx-icon{transition-duration:0s!important}.fx-arrow,.fx-button,.fx-icon{transform:none!important}.fx-button:before{display:none}}#top a[href^=\#]{isolation:isolate;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s,background-color .26s;position:relative;overflow:hidden;transform:translateZ(0)}#top a[href^=\#]:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 25%,#fff3 49%,#0000 73%);transition:transform .62s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(-150%)}#top a[href^=\#]>span[aria-hidden=true]{transition:transform .32s cubic-bezier(.22,1,.36,1);display:inline-block}#top a[href^=\#]:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px #0003}#top a[href^=\#]:focus-visible:before{transform:translate(150%)}#top a[href^=\#]:focus-visible>span[aria-hidden=true]{transform:translateY(4px)}@media (hover:hover) and (pointer:fine){#top a[href^=\#]:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0003}#top a[href^=\#]:hover:before{transform:translate(150%)}#top a[href^=\#]:hover>span[aria-hidden=true]{transform:translateY(4px)}}#top a[href^=\#]:active{transform:translateY(0)scale(.975)}@media (prefers-reduced-motion:reduce){#top a[href^=\#],#top a[href^=\#]:before,#top a[href^=\#]>span[aria-hidden=true]{transition-duration:0s!important;transform:none!important}#top a[href^=\#]:before{display:none}}.site-nav-link[aria-current=location]{color:#48b4ff}.site-nav-link[data-theme=light][aria-current=location]{color:#12669a}.site-nav-link[aria-current=location]:after{transform-origin:0;transform:scaleX(1)}.tech-icon{transition:transform .35s cubic-bezier(.2,1.4,.4,1),color .25s}.tech-icon>svg,.tech-icon>img{transition:transform .35s cubic-bezier(.2,1.4,.4,1),filter .35s}@media (hover:hover) and (pointer:fine){.tech-icon:hover{color:#48b4ff;transform:translateY(-4px)scale(1.08)}.tech-icon:hover>svg,.tech-icon:hover>img{filter:drop-shadow(0 4px 8px #48b4ff73);transform:scale(1.15)rotate(-7deg)}}@media (prefers-reduced-motion:reduce){.tech-icon,.tech-icon>svg,.tech-icon>img{transition-duration:0s!important;transform:none!important}}
