/* Reversible mobile-only portfolio experiment. Desktop has no new presentation. */
@media(max-width:700px){
 html.vf-portfolio-locked,html.vf-portfolio-locked body{overflow:hidden;overscroll-behavior:none;touch-action:pinch-zoom}
 .work-stage{touch-action:pan-y pinch-zoom}
 html.vf-portfolio-locked .work-stage,html:not(.vf-free-browsing) .project-dialog-image{touch-action:pinch-zoom}
 .project-dialog,.project-dialog-copy{touch-action:pan-y pinch-zoom}
 html.vf-portfolio-locked .work-stage{overscroll-behavior-y:contain}
 html.vf-deck-details,html.vf-deck-details body,html.vf-deck-details .work-stage{touch-action:pan-y pinch-zoom}
 html:not(.vf-free-browsing) .project-dialog{overflow:hidden}
 html:not(.vf-free-browsing) .project-surface{height:100dvh;min-height:0}
 html:not(.vf-free-browsing) .project-dialog-content{height:calc(100dvh - 64px);min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(230px,49svh,520px) minmax(0,1fr)}
 html:not(.vf-free-browsing) .project-dialog-image{height:100%;min-height:0}
 html:not(.vf-free-browsing) .project-dialog-copy{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;margin-top:0;justify-content:flex-start}
 html:not(.vf-free-browsing) .project-dialog-copy>*{flex-shrink:0}
 .work-stage,.project-dialog-image{-webkit-user-select:none;user-select:none}
 .work-swipe-underlay[hidden],.work-swipe-hint[hidden]{display:none!important}
 html.vf-free-browsing .work-swipe-underlay,html.vf-free-browsing .work-swipe-hint{display:none!important}
 .work-swipe-underlay{position:absolute;inset:0;z-index:0;visibility:hidden;background:var(--ink) center/cover no-repeat;pointer-events:none}
 .work-swipe-underlay::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,17,16,.7),rgba(16,17,16,.05) 75%),linear-gradient(0deg,#101110 2%,rgba(16,17,16,.88) 15%,rgba(16,17,16,.34) 38%,transparent 66%)}
 .is-work-swiping .work-swipe-underlay{visibility:visible}
 .is-work-swiping .work-visual{z-index:1;will-change:transform;transform-origin:50% 80%;transition:none}
 .is-work-swiping .work-image{transition:none;transform:scale(1)}
 .project-dialog.is-work-swiping .project-surface{z-index:1;will-change:transform;transform-origin:50% 40%}
 .project-dialog.is-work-swiping{overflow-x:hidden}
 .project-dialog .work-swipe-underlay{position:fixed}
 .project-dialog-copy .work-swipe-hint{margin:0 0 10px}
 .work-swipe-hint{display:block;margin:0 0 4px;font:500 10px/1.5 var(--vf-body);color:#b9bdb4;letter-spacing:.01em;pointer-events:none}
 .work-swipe-hint.is-dragging{color:var(--vf-acid)}
}
@media(max-width:700px) and (max-height:650px){html:not(.vf-free-browsing) .project-dialog-content{grid-template-rows:42svh minmax(0,1fr)}}
@media(min-width:701px){.work-swipe-underlay,.work-swipe-hint{display:none}}

/* First mobile tour. Removing this stylesheet restores the saved full frame. */
.work-deck-stack[hidden],.work-deck-actions[hidden],.work-deck-feedback[hidden],.work-deck-toolbar[hidden],.work-deck-details[hidden]{display:none!important}
@media(max-width:700px){
 html.vf-deck-tour #work .work-stage{--deck-top:84px;--deck-gutter:8px;--deck-bottom:calc(max(10px,env(safe-area-inset-bottom)) + var(--vf-scroll-offset,0px));--deck-action-bottom:24px;--deck-action-size:64px;--deck-copy-bottom:calc(var(--deck-action-bottom) + var(--deck-action-size) + 24px);background:var(--ink)}
 html.vf-deck-tour #work .work-deck-card,html.vf-deck-tour #work .work-swipe-underlay,html.vf-deck-tour #work .work-deck-stack{inset:var(--deck-top) var(--deck-gutter) var(--deck-bottom);border-radius:18px}
 html.vf-deck-tour #work .work-deck-card{display:block!important;position:absolute;z-index:2;overflow:hidden;border:0;background:var(--ink);transform-origin:50% 85%;scrollbar-width:none}
 html.vf-deck-tour #work .work-deck-card::-webkit-scrollbar{display:none}
 html.vf-deck-tour #work .is-work-swiping .work-deck-card{will-change:transform}
 html.vf-deck-tour #work .work-visual{inset:0;z-index:0}
 html.vf-deck-tour #work .work-visual::after,html.vf-deck-tour #work .work-swipe-underlay::after{background:linear-gradient(0deg,#101110 0%,#101110d9 11%,#1011106b 28%,transparent 58%),linear-gradient(180deg,#10111070,transparent 35%)}
 html.vf-deck-tour #work .work-frame-heading{top:24px;left:18px;right:18px;pointer-events:none}
 html.vf-deck-tour #work .work-deck-card::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#101110f5 0%,#101110e0 30%,#10111094 66%,#10111020 100%);opacity:0;pointer-events:none;transition:opacity .4s ease}
 html.vf-deck-tour #work .work-deck-card.is-expanded::before{opacity:1}
 html.vf-deck-tour #work .work-deck-stack{position:absolute;z-index:0;pointer-events:none;opacity:var(--film-final-alpha,1)}
 html.vf-deck-tour #work .work-deck-stack::before,html.vf-deck-tour #work .work-deck-stack>div{content:'';position:absolute;inset:0;border:1px solid #f1f2e82b;border-radius:12px;background-color:#1d1e1d;transform:translateY(19px) rotate(3deg) scale(.93);transform-origin:50% 90%}
 html.vf-deck-tour #work .work-deck-stack>div{background-size:cover;opacity:.4;transform:translateY(10px) rotate(-2deg) scale(.97)}
 html.vf-deck-tour #work .work-frame-bottom{inset:0;pointer-events:none}
 html.vf-deck-tour #work .work-caption-row{display:none}
 html.vf-deck-tour #work .work-category{font:500 13px/1.5 var(--vf-body);letter-spacing:.02em}
 html.vf-deck-tour #work .work-swipe-hint{display:none}
 html.vf-deck-tour #work .work-thumbs{display:none}
 html.vf-deck-tour #work .work-deck-actions{position:absolute;z-index:5;left:calc(var(--deck-gutter) + 16px);right:calc(var(--deck-gutter) + 16px);bottom:calc(var(--deck-bottom) + var(--deck-action-bottom));opacity:var(--film-copy-alpha,1)}
 html.vf-deck-tour #work .work-deck-actions>div{display:flex;justify-content:center;align-items:center;gap:10px;max-width:384px;margin:auto}
 html.vf-deck-tour #work .work-deck-actions button{position:relative;display:grid;place-items:center;flex-shrink:0;width:var(--deck-action-size);height:var(--deck-action-size);min-height:var(--deck-action-size);padding:0;border:1px solid transparent;border-radius:50%;background:linear-gradient(145deg,#232523,#101110 68%) padding-box,linear-gradient(140deg,#fafbf4c4 0%,#a3aaa255 22%,#30352f 47%,#93998e8a 75%,#d5d8d09c 100%) border-box;color:var(--vf-cream);overflow:visible;transition:transform .18s ease,box-shadow .18s ease}
 html.vf-deck-tour #work .work-deck-actions .work-deck-next{transform:scale(calc(1 + var(--deck-next-strength,0) * .16));box-shadow:inset 0 1px 0 #f1f2e80d,0 5px 12px #00000030,0 0 0 calc(var(--deck-next-strength,0) * 12px) rgb(241 242 232 / calc(var(--deck-next-strength,0) * .1))}
 html.vf-deck-tour #work .work-deck-actions .work-deck-brief{color:var(--vf-acid);background:linear-gradient(145deg,#232620,#101110 68%) padding-box,linear-gradient(140deg,#f1f2e8b8 0%,#a1af8155 22%,#34392c 47%,#b1c77880 75%,#e8f5c4a1 100%) border-box;transform:scale(calc(1 + var(--deck-brief-strength,0) * .16));box-shadow:inset 0 1px 0 #f1f2e80d,0 5px 12px #00000030,0 0 0 calc(var(--deck-brief-strength,0) * 12px) rgb(210 255 54 / calc(var(--deck-brief-strength,0) * .12))}
 html.vf-deck-tour #work .work-deck-actions .work-deck-finish{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;max-width:160px;width:auto;height:auto;min-height:44px;padding:10px 8px;border:1px solid transparent;border-radius:999px;background:linear-gradient(#101110e8,#101110e8) padding-box,linear-gradient(155deg,#f1f2e860,#4d52477a 45%,#adb5a36b) border-box;box-shadow:inset 0 1px 0 #f1f2e80a;font:500 11px/1.4 var(--vf-body);letter-spacing:0;color:var(--vf-cream)}
 html.vf-deck-tour #work .work-deck-finish .heading-dot{display:none}
 html.vf-deck-tour #work .work-deck-actions .work-deck-finish:is(:hover,:focus-visible){color:var(--vf-acid);border-color:#d2ff3670}
 html.vf-deck-tour #work .is-work-dragging .work-deck-actions button,html.vf-deck-tour #work .is-work-dragging .work-deck-feedback svg{transition:none}
 html.vf-deck-tour #work .work-deck-actions button:disabled{opacity:1}
 html.vf-deck-tour #work .work-deck-icon{display:block;width:30px;height:30px;pointer-events:none}
 html.vf-deck-tour #work .work-deck-brief .work-deck-icon{width:32px;height:32px}
 html.vf-deck-tour #work .work-deck-echo{position:absolute;z-index:5;left:50%;top:50%;width:36px;height:36px;opacity:0;transform:translate(-50%,-50%);pointer-events:none}
 html.vf-deck-tour #work .work-deck-feedback{position:absolute;inset:0;z-index:2;pointer-events:none}
 html.vf-deck-tour #work .work-deck-feedback svg{position:absolute;top:calc(58px + var(--vf-headline) * 1.8);width:clamp(92px,29vw,136px);height:clamp(92px,29vw,136px);max-height:max(0px,calc(100% - 126px - var(--vf-headline) * 1.8));transform-origin:50% 50%;transition:opacity .16s ease,transform .18s ease}
 html.vf-deck-tour #work .is-work-arriving .work-deck-feedback{visibility:hidden}
 html.vf-deck-tour #work .work-deck-feedback-next{right:22px;color:var(--vf-cream);opacity:var(--deck-next-strength,0);transform:scale(calc(.86 + var(--deck-next-strength,0) * .14))}
 html.vf-deck-tour #work .work-deck-feedback-brief{left:22px;color:var(--vf-acid);opacity:var(--deck-brief-strength,0);transform:scale(calc(.86 + var(--deck-brief-strength,0) * .14))}
 html.vf-deck-tour #work .work-stage>.vf-scroll-cue{display:none}
 html.vf-deck-tour #work .work-deck-toolbar{display:contents}
 html.vf-deck-tour #work .work-deck-info{position:absolute;z-index:8;right:20px;bottom:calc(var(--deck-action-bottom) + var(--deck-action-size) + 36px);display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:50%;background:linear-gradient(145deg,#232523,#101110 68%) padding-box,linear-gradient(140deg,#fafbf4c4,#50554c 40%,#101110 50%,#b7bcb280 100%) border-box;box-shadow:inset 0 1px 0 #f1f2e80d;color:var(--vf-cream)}
 html.vf-deck-tour #work .work-deck-info::before{content:'';position:absolute;inset:-4px}
 html.vf-deck-tour #work .work-deck-info svg{display:block;width:21px;height:21px;transition:transform .35s cubic-bezier(.2,.6,.3,1)}
 html.vf-deck-tour #work .work-deck-info:is(:hover,:focus-visible){color:var(--vf-acid);border-color:#d2ff3670}
 html.vf-deck-tour #work .work-deck-info[aria-expanded=true] svg{transform:rotate(180deg)}
 html.vf-deck-tour #work .work-deck-card.is-expanded{overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
 html.vf-deck-tour #work .is-expanded .work-frame-heading,html.vf-deck-tour #work .is-expanded .work-frame-bottom{display:none}
 html.vf-deck-tour #work .work-deck-details{position:absolute;z-index:3;left:22px;right:78px;bottom:var(--deck-copy-bottom);max-height:calc(100% - var(--deck-copy-bottom) - 24px);margin:0;padding:0 4px 0 0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:#f1f2e84a transparent;background:none;color:var(--vf-cream);-webkit-user-select:text;user-select:text}
 html.vf-deck-tour #work .work-deck-details:focus-visible{outline:1px solid var(--vf-acid);outline-offset:4px}
 html.vf-deck-tour #work .work-deck-details h3{margin:0;font:900 clamp(30px,8.5vw,40px)/.98 var(--vf-display);letter-spacing:var(--vf-headline-spacing);text-transform:uppercase;white-space:pre-line}
 html.vf-deck-tour #work .work-deck-details p{margin:16px 0 12px;max-width:36em;font:400 13px/1.65 var(--vf-body);color:#d6d9ce}
 html.vf-deck-tour #work .work-deck-create{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:160px;max-width:100%;padding:10px 8px;border:1px solid transparent;border-radius:999px;background:linear-gradient(var(--vf-acid),var(--vf-acid)) padding-box,linear-gradient(155deg,#f5ffd3,#97b52a 45%,#e7ffa3) border-box;box-shadow:inset 0 1px 0 #fff5;text-align:center;font:500 11px/1.4 var(--vf-body);letter-spacing:0;color:var(--ink);touch-action:manipulation;transition:transform .18s ease,box-shadow .18s ease}
 html.vf-deck-tour #work .work-deck-create:is(:hover,:focus-visible){box-shadow:inset 0 1px 0 #fff5,0 0 0 3px #d2ff3626}
 html.vf-deck-tour #work .work-deck-create:active:not(:disabled){transform:scale(.97)}
 html.vf-deck-tour #work .work-deck-create:disabled{opacity:.7}
}
@media(max-width:700px) and (max-height:650px){
 html.vf-deck-tour #work .work-stage{--deck-top:80px}
 html.vf-deck-tour #work .work-frame-heading h2{font-size:42px}
 html.vf-deck-tour #work .work-deck-feedback svg{top:142px;width:clamp(80px,24vw,112px);height:clamp(80px,24vw,112px);max-height:max(0px,calc(100% - 210px))}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){html.vf-deck-tour #work .work-deck-actions button,html.vf-deck-tour #work .work-deck-card::before,html.vf-deck-tour #work .work-deck-info svg,html.vf-deck-tour #work .work-deck-create{transition:none;transform:none}html.vf-deck-tour #work .work-deck-feedback svg{transform:none}html.vf-deck-tour #work .work-deck-echo{display:none}}
