.work{overflow:visible}
.portfolio-tour{position:relative;--tour-header:86px;--tour-gutter:4.5vw;background:var(--deep)}
.tour-sticky{position:sticky;top:var(--tour-header);height:calc(100svh - var(--tour-header));padding:0 var(--tour-gutter) 25px;background:var(--deep);overflow:hidden}
.tour-toolbar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--paper);font-size:12px;position:relative;z-index:5}
.tour-identity{display:flex;align-items:center;gap:12px;white-space:nowrap;font-weight:800;color:var(--mint)}
.tour-identity img{width:22px;height:22px;object-fit:contain}
.tour-chapters{display:flex;gap:20px;align-items:center}
.tour-chapters button{background:transparent;color:var(--light-muted);padding:12px 0;font:inherit;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.tour-chapters button[aria-current=true]{color:var(--mint);border-color:var(--mint)}
.tour-chapters button:hover{color:var(--paper)}
.tour-visit{display:flex;gap:16px;white-space:nowrap;font-weight:800}
.tour-viewport{height:calc(100% - 80px);position:relative;isolation:isolate;border:1px solid rgba(178,155,213,.3);box-shadow:0 25px 70px #0005;overflow:hidden;background:#07090c}
.tour-layer{position:absolute;inset:0;transform-origin:0 0;will-change:transform,opacity;overflow:hidden}
.tour-layer iframe{display:block;width:100%;height:100%;border:0;background:#07090c}
.tour-layer{opacity:0;pointer-events:none}
.tour-layer[data-project=ageless]{z-index:2}
.tour-layer[data-project=expert]{z-index:3}
.tour-caption{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--light-muted);font-size:11px;height:30px}
.tour-caption strong{color:var(--paper);font-weight:400}
.tour-progress{width:80px;height:2px;background:rgba(178,155,213,.22);overflow:hidden}
.tour-progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--mint)}
.tour-caption-end{display:flex;align-items:center;gap:20px}
.tour-skip{font-size:11px;text-decoration:underline;text-underline-offset:3px}
.tour-chapter-links{display:none}
.portfolio-tour:not(.is-ready){min-height:680px}
.portfolio-tour:not(.is-ready) .gallery-stage{position:relative;height:580px}
.portfolio-tour:not(.is-ready) .tour-viewport{height:auto}
.tour-fallback{padding:0 var(--tour-gutter) 35px;color:var(--light-muted);font-size:14px}
.is-ready .tour-fallback{display:none}
.tour-static{height:auto!important}
.tour-static .tour-sticky{position:relative;top:0;height:auto;padding-bottom:30px;overflow:visible}
.tour-static .tour-viewport{height:auto;overflow:visible;box-shadow:none;border:0}
.tour-static .tour-layer{position:relative!important;opacity:1!important;transform:none!important;clip-path:none!important;pointer-events:auto!important;inset:auto}
.tour-static .tour-layer iframe{height:1200px}
.tour-static .tour-toolbar{position:sticky;top:var(--tour-header);background:var(--deep);z-index:5}
.tour-static .tour-caption{display:none}
.tour-static .tour-chapter-links{display:flex;align-items:center;justify-content:space-between;color:var(--paper);padding:28px 0 18px;font-size:14px}
@media(max-width:1000px){.tour-identity span{display:none}.tour-chapters{gap:16px}.tour-visit{gap:10px}}
@media(max-width:800px){.portfolio-tour{--tour-header:74px;--tour-gutter:12px}.tour-sticky{padding-bottom:18px}.tour-toolbar{height:76px;display:grid;grid-template-columns:1fr auto;gap:0 12px;align-content:center;font-size:11px}.tour-identity span{display:inline}.tour-identity img{width:18px;height:18px}.tour-chapters{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:14px}.tour-chapters button{padding:11px 0 8px;font-size:11px}.tour-visit{grid-column:2;grid-row:1}.tour-viewport{height:calc(100% - 106px)}.tour-caption{font-size:10px;gap:8px;height:30px}.tour-caption-end{gap:12px}.tour-skip{font-size:10px}.tour-progress{width:36px}.tour-caption strong{max-width:40vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){.tour-layer{will-change:auto}}
.tour-chapters{visibility:hidden;pointer-events:none}
.is-walkthrough .tour-chapters,.tour-static .tour-chapters{visibility:visible;pointer-events:auto}
.gallery-stage{position:absolute;inset:0;overflow:hidden}
.portfolio-tour .work-track{display:flex;width:500%;height:100%}
.portfolio-tour .project{flex:0 0 20%;width:20%;height:100%;min-height:0;padding:40px 4vw 74px;grid-template-columns:30% 1fr;gap:5%}
.portfolio-tour .project h3{font-size:clamp(30px,3vw,52px)}
.portfolio-tour .project-number{margin-bottom:24px}
.portfolio-tour .project-description{font-size:15px;margin-top:20px}
.portfolio-tour .project-tags{margin-top:20px}
.portfolio-tour .project-link{margin-top:20px}
.portfolio-tour .project-browser img{aspect-ratio:1.65}
.portfolio-tour .project-switcher{position:absolute;display:flex;bottom:20px;left:4vw;right:4vw;gap:28px;z-index:5}
.portfolio-tour .project-switcher button[aria-current=true]{color:var(--mint)}
.project-attmad{background:var(--ink);--project-accent:var(--lavender)}
.project-fgs{background:var(--deep);--project-accent:var(--mint)}
.project-rrjr{background:var(--surface);--project-accent:var(--lavender)}
.project-demo{margin-top:15px;padding-top:12px;border-top:1px solid rgba(178,155,213,.3);font-size:13px;color:var(--mint)}
.tour-static .gallery-stage{position:relative;opacity:1!important;overflow:visible}
.tour-static .work-track{display:block;width:100%;transform:none!important}
.tour-static .project{width:100%;min-height:650px;height:auto}
.tour-static .project-switcher{display:none}
@media(max-width:800px){.portfolio-tour .project{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:20px 20px 54px}.portfolio-tour .project-copy{align-self:stretch}.portfolio-tour .project-number{font-size:10px;margin-bottom:9px}.portfolio-tour .project-sector{font-size:10px;margin-bottom:8px}.portfolio-tour .project h3{font-size:30px;line-height:1.02}.portfolio-tour .project h3 br{display:none}.portfolio-tour .project-description{font-size:13px;margin-top:10px;line-height:1.4}.portfolio-tour .project-tags{display:none}.portfolio-tour .project-link{margin-top:10px;padding:8px 0;font-size:12px}.portfolio-tour .project-link>span{font-size:20px}.portfolio-tour .project-browser{padding:3px;transform:rotateY(-3deg) rotateZ(1deg)}.portfolio-tour .project-browser img{aspect-ratio:1.9;max-height:23svh;object-position:top}.portfolio-tour .browser-top{padding:3px 4px 5px;font-size:8px}.portfolio-tour .visual-caption{display:none}.portfolio-tour .project-demo{font-size:11px;margin-top:8px;padding-top:7px}.portfolio-tour .project-switcher{left:20px;right:20px;bottom:9px;justify-content:space-between;gap:10px}.portfolio-tour .project-switcher button{font-size:10px;padding:9px 0}.portfolio-tour .project-switcher button span{display:none}.tour-static .project{min-height:0;padding-block:35px}}
/* Preserve the original left-copy / right-browser composition throughout the tour. */
.tour-viewport{border:0;box-shadow:none;background:transparent}
.tour-walkthrough{position:absolute;inset:0;display:grid;grid-template-columns:30% minmax(0,1fr);gap:5%;padding:20px 4vw 52px;opacity:0;pointer-events:none}
.tour-copy-window{position:relative;overflow:hidden;min-width:0}
.tour-copy-panel{position:absolute;inset:0;display:flex;align-items:center;will-change:transform,opacity}
.tour-copy-panel .project-copy{width:100%;align-self:auto}
.tour-copy-panel h3{font-size:clamp(30px,3.45vw,60px);line-height:1.08;letter-spacing:-.06em}
.tour-copy-panel h3 span{color:var(--mint)}
.tour-copy-panel .project-number{color:var(--mint)}
.tour-browser{display:flex;flex-direction:column;min-width:0;min-height:0;padding:7px;background:var(--surface);box-shadow:0 40px 70px #0005;transform:perspective(1400px) rotateY(-3deg) rotateZ(.5deg);transform-origin:center}
.tour-browser>.browser-top{flex:none}
.tour-screen{position:relative;flex:1;overflow:hidden;min-height:0;background:#07090c}
.tour-layer iframe{transform-origin:0 0;max-width:none}
.portfolio-tour .project{padding:20px 4vw 52px}
.portfolio-tour .project-visual{height:100%;display:flex;flex-direction:column;justify-content:center}
.portfolio-tour .project-visual>a{display:block;flex:1;min-height:0}
.portfolio-tour .project-browser{height:100%;display:flex;flex-direction:column;transform:perspective(1400px) rotateY(-3deg) rotateZ(.5deg)}
.portfolio-tour .project-browser img{width:100%;height:0;flex:1;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:top}
.portfolio-tour .project-visual .visual-caption{margin-top:12px}
.tour-static .tour-walkthrough{position:relative;display:block;opacity:1!important;padding:0}
.tour-static .tour-copy-window{display:none}
.tour-static .tour-browser{display:block;transform:none;padding:0;background:transparent}
.tour-static .tour-browser>.browser-top{display:none}
.tour-static .tour-screen{overflow:visible}
.tour-static .tour-layer iframe{width:100%!important;height:85svh!important;min-height:600px;transform:none!important}
.tour-static .project-visual>a{flex:auto}
.tour-static .project-browser{height:460px}
@media(max-width:1000px) and (min-width:801px){.tour-copy-panel h3{font-size:32px}.tour-copy-panel .project-description{font-size:14px}.tour-copy-panel .project-tags{font-size:11px}.tour-copy-panel .project-number{margin-bottom:20px}}
@media(max-width:800px){.tour-walkthrough{grid-template-columns:1fr;grid-template-rows:190px minmax(0,1fr);gap:14px;padding:14px 12px 26px}.tour-copy-panel h3{font-size:27px;line-height:1.04}.tour-copy-panel h3 br{display:none}.tour-copy-panel .project-sector{font-size:10px;margin-bottom:6px}.tour-copy-panel .project-number{font-size:10px;margin-bottom:7px}.tour-copy-panel .project-description{font-size:12px;line-height:1.4;margin-top:8px;max-width:none}.tour-copy-panel .project-tags{display:none}.tour-copy-panel .project-link{font-size:11px;margin-top:7px;padding:6px 0;max-width:none}.tour-copy-panel .project-link>span{font-size:18px}.tour-browser{padding:4px;transform:none}.tour-browser>.browser-top{font-size:9px;padding:3px 3px 6px}.portfolio-tour .project{padding:15px 14px 44px;gap:16px}.portfolio-tour .project-visual{height:auto;flex:1;min-height:100px}.portfolio-tour .project-visual>a{min-height:100px}.portfolio-tour .project-browser img{max-height:none}.tour-static .project-browser{height:240px}.tour-static .tour-layer iframe{min-height:600px}}

/* One shared gutter keeps the browser in the original two-column position. */
.tour-sticky{padding-inline:0}
.tour-toolbar,.tour-caption{margin-inline:var(--tour-gutter)}
.portfolio-tour .project,.tour-walkthrough{padding-inline:var(--tour-gutter)}
.portfolio-tour .project h3{font-size:clamp(30px,3.45vw,60px)}
.portfolio-tour .project-browser{overflow:hidden}
.portfolio-tour .project-browser img{height:auto;flex:none;min-height:100%;object-fit:initial;object-position:top}
.portfolio-tour .project-visual{position:relative;padding-bottom:24px}
.portfolio-tour .project-visual .visual-caption{position:absolute;bottom:0;left:0;right:0;margin:0}
.tour-browser{margin-bottom:24px}
.project-demo{position:absolute;bottom:-26px;left:0;right:0;margin:0;padding-top:8px}
@media(max-width:800px){.portfolio-tour .project h3{font-size:30px}.portfolio-tour .project-browser img{min-height:0}.portfolio-tour .project-visual{padding-bottom:0}.tour-browser{margin-bottom:0}.project-demo{bottom:-22px}}

@media(max-width:800px){.portfolio-tour .project-browser img{height:0;flex:1;min-height:0;object-fit:cover;object-position:top}.tour-static .project-browser img{height:auto;flex:none}}
.tour-static .project-demo{position:static;margin-top:12px}

.tour-sticky,.tour-viewport,.gallery-stage,.tour-screen,.tour-copy-window,.tour-layer{overflow:clip}
.tour-static .tour-sticky,.tour-static .tour-viewport,.tour-static .gallery-stage,.tour-static .tour-screen,.tour-static .tour-layer{overflow:visible}
.tour-static .tour-layer iframe{scroll-margin-top:150px}

/* Keep horizontal travel independent of the vertical scroll distance. */
.portfolio-tour:not(.tour-static) .work-track{will-change:transform;backface-visibility:hidden}
.portfolio-tour .project-browser{box-shadow:none;backface-visibility:hidden}
.tour-screen{transform:translateZ(0);backface-visibility:hidden}
html.lenis,html.lenis body{scroll-behavior:auto!important}
