/* Shared site experience — used by work index and all case studies */
.site-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:var(--c-bg,#0a0a0a);transition:opacity .55s var(--ease-out-expo,cubic-bezier(.16,1,.3,1)),visibility .55s}.site-loader__inner{display:grid;gap:1rem;width:min(250px,60vw)}.site-loader__word{font-family:var(--ff-display);font-weight:700;font-size:clamp(1.5rem,4vw,2.5rem);letter-spacing:-.06em}.site-loader__line{height:2px;background:rgba(255,255,255,.12);overflow:hidden}.site-loader__line:after{content:"";display:block;width:100%;height:100%;background:var(--c-accent);transform:translateX(-100%);animation:site-load .55s var(--ease-out-expo) forwards}.site-loader.is-complete{opacity:0;visibility:hidden}@keyframes site-load{to{transform:translateX(0)}}
.experience-cursor-dot,.experience-cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;opacity:0;will-change:transform,opacity}.experience-cursor-dot{width:8px;height:8px;border-radius:50%;background:var(--c-accent);mix-blend-mode:difference}.experience-cursor-ring{width:38px;height:38px;border:1px solid rgba(249,116,22,.55);border-radius:50%;z-index:9998;transition:width .22s var(--ease-out-expo),height .22s var(--ease-out-expo),border-color .22s}.has-custom-cursor .experience-cursor-dot,.has-custom-cursor .experience-cursor-ring{opacity:1}.has-custom-cursor a,.has-custom-cursor button{cursor:none}.has-custom-cursor .is-cursor-active.experience-cursor-ring{width:58px;height:58px;border-color:var(--c-accent)}
body.is-page-entering main,body.is-page-entering .nav{opacity:0;transform:translateY(16px)}body main,body .nav{transition:opacity .65s var(--ease-out-expo),transform .65s var(--ease-out-expo)}body.is-page-leaving main,body.is-page-leaving .nav{opacity:0;transform:translateY(-12px)}
.project-page .nav,.portfolio-page .nav{backdrop-filter:blur(18px)}.project-page .nav-inner,.portfolio-page .nav-inner{max-width:1280px;margin:auto}.project-page .nav-link,.portfolio-page .nav-link{transition:color .25s}.project-page .nav-link:hover,.portfolio-page .nav-link:hover{color:var(--c-accent)}
.project-page .project-hero,.project-page .showcase,.project-page .visit-block,.project-page .next-project{content-visibility:auto;contain-intrinsic-size:700px}.reveal-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo)}.reveal-on-scroll.is-visible{opacity:1;transform:none}.project-page .mockup-stage{box-shadow:0 32px 90px rgba(0,0,0,.26)}.project-page .carousel-buttons button,.project-page .carousel-dot,.project-page .visit-cta{transition:transform .25s var(--ease-out-expo),background .25s,border-color .25s}.project-page .carousel-buttons button:hover,.project-page .visit-cta:hover{transform:translateY(-3px)}
@media (hover:none),(pointer:coarse),(max-width:768px){.experience-cursor-dot,.experience-cursor-ring{display:none!important}.has-custom-cursor a,.has-custom-cursor button{cursor:pointer}}
.is-replaced-by-project-navigation{display:none}.project-navigation{max-width:1280px;margin:0 auto;padding:2rem clamp(1.5rem,4vw,4rem) 7rem}.project-navigation__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-top:1rem;border-top:1px solid var(--c-border)}.project-navigation__head span,.project-navigation__head a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.project-navigation__head span{color:var(--c-text-3)}.project-navigation__head a{color:var(--c-accent)}.project-navigation__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.project-navigation__card{position:relative;min-height:300px;overflow:hidden;border:1px solid var(--c-border);background:#151515;color:#fff}.project-navigation__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out-expo),filter .35s}.project-navigation__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.8))}.project-navigation__direction{position:absolute;top:1.3rem;left:1.3rem;color:rgba(255,255,255,.72);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}.project-navigation__card--next .project-navigation__direction{left:auto;right:1.3rem}.project-navigation__name{position:absolute;bottom:1.4rem;left:1.3rem;font:clamp(1.8rem,3vw,3.2rem)/.9 var(--ff-display);letter-spacing:-.06em}.project-navigation__card--next .project-navigation__name{left:auto;right:1.3rem;text-align:right}.project-navigation__name small{display:block;margin-top:.7rem;color:rgba(255,255,255,.62);font:500 .65rem var(--ff-body);letter-spacing:.13em;text-transform:uppercase}.project-navigation__card:hover img{transform:scale(1.06);filter:saturate(1.16)}@media(max-width:700px){.project-navigation{padding-bottom:5rem}.project-navigation__grid{grid-template-columns:1fr}.project-navigation__card{min-height:250px}}
