/*! RocketAir 2026 · /work · Work page module (ra-work) CSS v27 · states only (notes ra-work.notes.md)
   The design is the native portfolio_ classes in Webflow ("Window": still, full-screen cases that a clean edge sweeps
   over as you scroll). This file holds only what the Designer can't express: the hero's intro guard, the hero in Grid
   view, the cover link's focus ring, the phone portrait swap, the cursor's moving grain, the safe-area inset, the
   reduced-motion fallback and the Full ⇄ Grid view transition. v21 (readability): the caption lives inside its window
   on a solid dark floor (native .portfolio_scrim) and is covered by the next case's edge with its picture; no blur, no
   caption fade, no picture drift, no settle. One move per case: the edge. v22: phones get the same wipe (fixed plates). v23: the picture
   settles into its window and drifts as it is covered, on every device; phones share the floor. v24 (homepage): the
   stack's last case leaves with the page instead of being wiped over by the next section. v25 (touch): the caption is
   pinned to the visible bottom like the Full | Grid switch, so it no longer floats up when the browser's toolbar hides. */[data-portfolio=grid][hidden],[data-portfolio=stack][hidden]{display:none!important}[data-portfolio=root]{overflow-anchor:none}[data-portfolio=name]::after{content:"."}[data-portfolio=line]::before{content:" "}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){[data-portfolio=chapter]{view-timeline-name:--pf-win}[data-portfolio=media]{animation:pf-depth linear both;animation-timeline:--pf-win;animation-range:entry 0% exit 100%}[data-portfolio=media]::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:#0f1010;opacity:0;animation:pf-dim linear both;animation-timeline:--pf-win;animation-range:exit 0% exit 100%}}}@keyframes pf-depth{0%{transform:translate3d(0,8%,0) scale(1.06)}50%{transform:none}100%{transform:translate3d(0,-4%,0)}}@keyframes pf-dim{from{opacity:0}to{opacity:.45}}.portfolio.is-home [data-portfolio=chapter]:last-child [data-portfolio=track]{bottom:0}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.portfolio.is-home [data-portfolio=chapter]:last-child [data-portfolio=media]{animation-name:pf-settle;animation-range:entry 0% entry 100%}.portfolio.is-home [data-portfolio=chapter]:last-child [data-portfolio=media]::after{animation:none}}}@keyframes pf-settle{0%{transform:translate3d(0,8%,0) scale(1.06)}100%{transform:none}}[data-portfolio=video]{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;opacity:0;pointer-events:none;background:0 0;transition:opacity .6s cubic-bezier(.16, 1, .3, 1)}[data-portfolio=video].is-on{opacity:1}@media screen and (max-width:767px){[data-portfolio=video]{display:none}}html.pf-vt{--pf-vt-ease:cubic-bezier(.6, 0, .1, 1);--pf-vt-rise:28px}@media (hover:none){html.pf-vt{--pf-vt-rise:14px}}html.pf-vt::view-transition{pointer-events:none}html.pf-vt::view-transition-group(*){animation-duration:.8s;animation-timing-function:var(--pf-vt-ease)}html.pf-vt::view-transition-new(root),html.pf-vt::view-transition-old(root){animation-duration:.35s;animation-timing-function:ease}html.pf-vt::view-transition-group(pf-cover){z-index:5}html.pf-vt::view-transition-image-pair(pf-cover){overflow:hidden;border-radius:var(--pf-vt-r1,0);animation:pf-vt-round .8s var(--pf-vt-ease) both}html.pf-vt::view-transition-new(pf-cover),html.pf-vt::view-transition-old(pf-cover){height:100%;object-fit:cover;mix-blend-mode:normal}html.pf-vt::view-transition-old(pf-cover){animation:none}html.pf-vt::view-transition-new(pf-cover){animation:pf-vt-in .5s cubic-bezier(.4,0,.2,1) .08s both}html.pf-vt::view-transition-old(pf-cover):only-child{animation:pf-vt-out .35s cubic-bezier(.4,0,1,1) both}html.pf-vt::view-transition-group(pf-caption){z-index:6;animation:none}html.pf-vt::view-transition-old(pf-caption){animation:pf-vt-sink .28s cubic-bezier(.4,0,1,1) both}html.pf-vt::view-transition-new(pf-caption){animation:pf-vt-rise .8s cubic-bezier(.16,1,.3,1) .36s both}html.pf-vt::view-transition-group(pf-crumbs),html.pf-vt::view-transition-group(pf-intro),html.pf-vt::view-transition-group(pf-title){z-index:4}html.pf-vt::view-transition-new(pf-crumbs):only-child,html.pf-vt::view-transition-new(pf-intro):only-child,html.pf-vt::view-transition-new(pf-title):only-child{animation:pf-vt-rise .8s cubic-bezier(.16,1,.3,1) .06s both}html.pf-vt::view-transition-old(pf-crumbs):only-child,html.pf-vt::view-transition-old(pf-intro):only-child,html.pf-vt::view-transition-old(pf-title):only-child{animation:pf-vt-sink .28s cubic-bezier(.4,0,1,1) both}@keyframes pf-vt-round{from{border-radius:var(--pf-vt-r0,0)}to{border-radius:var(--pf-vt-r1,0)}}@keyframes pf-vt-in{from{opacity:0}}@keyframes pf-vt-out{to{opacity:0}}@keyframes pf-vt-rise{from{opacity:0;transform:translate3d(0,var(--pf-vt-rise,28px),0)}}@keyframes pf-vt-sink{to{opacity:0;transform:translate3d(0,10px,0) scale(.985)}}.pf-vicon{width:16px;height:16px;flex:none;display:block;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}[data-portfolio=hit]:focus{outline:0}[data-portfolio=hit]:focus-visible{outline:2px solid rgba(244,245,248,.9);outline-offset:-8px}@media screen and (max-width:767px){[data-portfolio=media]:has([data-portfolio=img-portrait]:not(.w-dyn-bind-empty)) [data-portfolio=img]{display:none}}html.pf-orb [data-portfolio=cursor]{display:block}html.pf-orb [data-portfolio=hit],html.pf-orb [data-portfolio=tile] [data-work=card],html.pf-orb [data-portfolio=tile] [data-work=card] *{cursor:none}.portfolio_cursor-grain{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;border-radius:50%;mix-blend-mode:overlay;opacity:.16;pointer-events:none;background-repeat:repeat;background-size:160px 160px;animation:pf-grain 1.1s steps(1,end) infinite}[data-portfolio=cursor].is-asleep .portfolio_cursor-grain{animation-play-state:paused}@keyframes pf-grain{0%,100%{background-position:0 0}16.667%{background-position:-37px 23px}33.333%{background-position:29px -47px}50%{background-position:-53px -11px}66.667%{background-position:41px 37px}83.333%{background-position:-17px 53px}}@media (hover:none){[data-portfolio=chapter]{height:100lvh;display:block;clip-path:inset(0)}[data-portfolio=track]{position:absolute;inset:0}[data-portfolio=plate]{position:fixed;inset:0 0 auto 0;height:100lvh}.portfolio.is-home [data-portfolio=chapter]:last-child [data-portfolio=plate]{position:absolute}html [data-portfolio=root] [data-portfolio=base]{position:fixed;left:var(--_responsive---section--pad-x,24px);right:var(--_responsive---section--pad-x,24px);max-width:none;margin:0;bottom:calc(32px + env(safe-area-inset-bottom,0px))}html [data-portfolio=root]:has([data-portfolio=dock]) [data-portfolio=base]{bottom:calc(104px + env(safe-area-inset-bottom,0px))}}@media screen and (max-width:991px){html [data-portfolio=dock]{bottom:calc(24px + env(safe-area-inset-bottom,0px))}}@media screen and (max-width:767px){html [data-portfolio=root] [data-portfolio=dock],html [data-portfolio=root] [data-portfolio=stack],html [data-portfolio=root] [data-portfolio=stack] img{display:none!important}html [data-portfolio=root] [data-portfolio=grid]{display:block!important}}@media (prefers-reduced-motion:reduce){html [data-portfolio=view]{transition:none}}