html{scroll-behavior:smooth}body,html{overflow-x:hidden}.epRouteProgress{position:fixed;top:0;left:0;z-index:10020;height:3px;width:0;background:linear-gradient(90deg,#68b8ff,#8af0dc);opacity:0;pointer-events:none}.epRouteProgress.active{opacity:1;animation:epRouteLoad 1.1s ease-out both}@keyframes epRouteLoad{0%{width:0}65%{width:76%}to{width:92%}}.epRevealReady{opacity:0;transform:translateY(18px);transition:opacity .62s ease,transform .62s cubic-bezier(.2,.75,.2,1)}.epRevealReady.epRevealed{opacity:1;transform:none}.epContextCta{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:84;width:min(340px,calc(100vw - 32px));padding:15px 42px 15px 16px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(13,16,22,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 55px rgba(0,0,0,.28);color:#fff}.epContextCta small{display:block;font-size:10px;letter-spacing:.14em;color:#c9aa6c}.epContextCta strong{display:block;margin:5px 0 9px;font-size:15px;line-height:1.35}.epContextCta a{color:#e6c980;font-size:13px;font-weight:800;text-decoration:none}.epContextClose{position:absolute;top:8px;right:9px;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#aeb5c0;font-size:20px;cursor:pointer}.epContextClose:focus-visible,.epContextClose:hover{background:rgba(255,255,255,.08);color:#fff}.epLoading{min-height:55vh;display:grid;place-items:center;align-content:center;grid-gap:8px;gap:8px;padding:48px 20px;text-align:center;color:#111}.epLoadingPulse{width:42px;height:42px;border-radius:50%;border:2px solid rgba(30,90,150,.16);border-top-color:#448bd0;animation:epSpin .8s linear infinite}.epLoading strong{margin-top:8px;font-size:18px}.epLoading small{color:#68717d}@keyframes epSpin{to{transform:rotate(1turn)}}.portfolioFilterBar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 24px}.portfolioFilterBar button{min-height:42px;padding:9px 14px;border:1px solid rgba(32,59,91,.16);border-radius:999px;background:#fff;color:#304050;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.portfolioFilterBar button.active{background:#101a27;color:#fff;border-color:#101a27;box-shadow:0 8px 24px rgba(16,26,39,.14)}.portfolioFilteredGrid{transition:min-height .2s ease}.portfolioFilterCount{text-align:center;margin:18px 0 0;color:#697584;font-size:12px}a,button,input,select,textarea{touch-action:manipulation}a,button{transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease,border-color .18s ease}a:active,button:active{transform:translateY(1px)}:focus-visible{outline:3px solid rgba(105,183,255,.72);outline-offset:3px}canvas,iframe,img,svg,video{max-width:100%}@media(max-width:900px){.epContextCta{width:min(310px,calc(100vw - 28px));padding:13px 40px 13px 14px}.epContextCta strong{font-size:14px}}@media(max-width:640px){.epContextCta{left:10px;right:auto;bottom:max(10px,env(safe-area-inset-bottom));width:min(286px,calc(100vw - 20px));border-radius:15px}.epContextCta small{font-size:9px}.epContextCta strong{font-size:13px;margin:4px 0 7px}.epContextCta a{font-size:12px}.epLoading{min-height:48vh;padding:36px 16px}.portfolioFilterBar{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.portfolioFilterBar::-webkit-scrollbar{display:none}.portfolioFilterBar button{flex:0 0 auto;min-height:44px}}@media(max-height:520px) and (orientation:landscape){.epContextCta{display:none}.epLoading{min-height:70vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.epRevealReady{opacity:1!important;transform:none!important;transition:none!important}.epRouteProgress{display:none}.epLoadingPulse{animation:none}a,button{transition:none}}