.work-explorer{--explorer-paper:var(--surface-page);--explorer-ink:var(--ink);--explorer-muted:var(--ink-muted);--explorer-blue:var(--accent);background:var(--explorer-paper);height:100svh;min-height:580px;color:var(--explorer-ink);isolation:isolate;font-family:var(--font-geist-sans), sans-serif;position:relative;overflow:hidden}.work-explorer button,.work-explorer a{color:inherit;-webkit-tap-highlight-color:transparent}.work-explorer button:not(.glass,.folder-tab){background:0 0;border:0}.work-explorer a{text-decoration:none}.explorer-header{z-index:10;pointer-events:none;grid-template-columns:1fr 1fr 1fr;align-items:start;padding:28px 36px;display:grid;position:absolute;inset:0 0 auto}.explorer-header a,.explorer-header button{pointer-events:auto}.explorer-identity h1{font-size:var(--type-body);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);margin:0;line-height:1.3}.explorer-identity a{align-items:center;gap:10px;display:inline-flex}.identity-square{background:var(--explorer-blue);width:7px;height:7px;transform:rotate(-12deg)}.explorer-identity p{font-size:var(--type-ui);color:var(--explorer-muted);margin-top:5px}.explorer-intro{font-size:var(--type-ui);color:var(--explorer-muted);line-height:var(--leading-ui);letter-spacing:normal;padding-left:25px}.explorer-header nav{font-size:var(--type-ui);justify-content:flex-end;justify-self:end;align-items:center;gap:26px;margin-right:-12px;padding:0 12px;display:flex}.explorer-header nav a,.explorer-header nav button{align-items:center;gap:15px;min-height:36px;display:inline-flex}.explorer-header nav a:hover,.explorer-header nav button:hover{color:var(--explorer-blue)}.explorer-label{font-family:var(--font-geist-mono), monospace;font-size:var(--type-label);letter-spacing:normal;color:var(--explorer-muted);line-height:var(--leading-label)}.explorer-browse{pointer-events:none;flex-direction:column;justify-self:center;align-items:center;gap:10px;display:flex}.explorer-view-action{pointer-events:auto;min-height:40px;font-size:var(--type-ui);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:9px;max-width:260px;padding:0 14px;transition:color .18s;display:inline-flex;overflow:hidden}.explorer-view-action:hover{color:var(--explorer-blue)}.explorer-view-action svg{fill:none;stroke:currentColor;stroke-width:1px;width:12px;height:12px}.explorer-stage{z-index:0;--stage-top:95px;--stage-bottom:100px;outline-offset:-4px;touch-action:pinch-zoom;cursor:grab;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.explorer-stage[data-dragging=true]{cursor:grabbing}.explorer-stage-canvas{width:100%;height:100%;position:relative}.stack-position{width:var(--stack-width,540px);height:calc(var(--stack-height,368px) + 75px);transform-origin:50% calc(var(--stack-height,368px) / 2);will-change:transform;opacity:0;position:absolute}.project-stack{outline-offset:14px;width:100%;height:100%;display:block;position:relative}.stack-cards{width:100%;height:var(--stack-height,368px);transform:translate3d(var(--hover-x,0px), var(--hover-y,0px), 0);transition:transform .22s cubic-bezier(.2,.7,.2,1);position:relative}.stack-card{box-shadow:var(--shadow-stack);backface-visibility:hidden;border-radius:12px;transition:transform .65s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;overflow:hidden}.stack-card-front{z-index:3}.stack-position[data-lifted] :is(.stack-card-front,.stack-open-hint){visibility:hidden}.stack-card-back-1{z-index:2;transform:translate(-12px,6px)rotate(-7deg)}.stack-card-back-2{z-index:1;transform:translate(11px,-7px)rotate(7deg)}@media (hover:hover){.project-stack:hover .stack-card-back-1,.project-stack:focus-visible .stack-card-back-1{transform:translate(-38px,8px)rotate(-13deg)}.project-stack:hover .stack-card-back-2,.project-stack:focus-visible .stack-card-back-2{transform:translate(36px,-12px)rotate(12deg)}.project-stack:hover .stack-card-front{transform:translateY(-8px)rotate(-2deg)}}.frame-media{position:absolute;inset:0;overflow:hidden}.frame-media>img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.frame-media--cover>img,.frame-media--fill>img{object-fit:cover}.frame-media--screen>img{padding:6%}.frame-media--phone>img{object-fit:contain;filter:drop-shadow(0 14px 12px #17233325);padding:6%}.stack-open-hint{z-index:4;background:var(--surface-chip);color:var(--ink);box-shadow:var(--shadow-raise);font-size:var(--type-ui);white-space:nowrap;opacity:0;border-radius:4px;justify-content:center;align-items:center;gap:30px;padding:11px 18px;transition:transform .22s,opacity .22s;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%,8px)}.project-stack:hover .stack-open-hint,.project-stack:focus-visible .stack-open-hint{opacity:1;transform:translate(-50%)}.stack-caption{text-align:center;opacity:0;padding-top:26px;transition:opacity .24s}.stack-caption h2{font-size:var(--type-body);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}.stack-caption>span{font-size:var(--type-label);color:var(--explorer-muted);margin-top:6px;display:block}.explorer-context{z-index:5;pointer-events:none;flex-direction:column;justify-content:center;width:min(18vw,245px);transition:opacity .22s;display:flex;position:absolute;top:0;bottom:0;left:36px}.explorer-context-enter{animation:.45s cubic-bezier(.22,1,.36,1) both context-in}.work-explorer:not([data-entrance]) :is(.explorer-header,.explorer-context,.explorer-footer),.work-explorer[data-entrance=waiting] :is(.explorer-context,.explorer-footer){opacity:0}.work-explorer[data-entrance] .explorer-header,.work-explorer:is([data-entrance=arriving],[data-entrance=done]):not([data-mode=overview]) .explorer-context,.work-explorer:is([data-entrance=arriving],[data-entrance=done]) .explorer-footer{animation:explorer-arrive .7s var(--ease-entrance) var(--arrive-delay,0s) backwards}.explorer-context{--arrive-delay:.34s}.explorer-footer{--arrive-delay:.5s}.explorer-context h2{font-size:var(--type-hero);font-weight:var(--weight-heading);letter-spacing:var(--tracking-display);line-height:var(--leading-display);margin:12px 0 18px}.explorer-context p{color:var(--explorer-muted);font-size:var(--type-ui);line-height:var(--leading-body);max-width:215px}.explorer-context dl{font-size:var(--type-ui);line-height:var(--leading-ui);margin-top:26px}.explorer-context dl>div+div{margin-top:10px}.explorer-context dt{color:var(--explorer-muted);font-size:var(--type-label)}.explorer-context dd{margin-top:3px}.explorer-open-text{pointer-events:auto;border-bottom:1px solid var(--line);min-height:36px;font-size:var(--type-ui);align-items:center;gap:25px;margin-top:24px;display:inline-flex}.explorer-open-text:hover{color:var(--explorer-blue)}.explorer-footer{z-index:10;pointer-events:none;grid-template-columns:1fr 1fr 1fr;align-items:end;display:grid;position:absolute;inset:auto 36px 26px}.explorer-footer button,.explorer-footer a{pointer-events:auto}.explorer-guidance{font-size:var(--type-ui);line-height:var(--leading-ui)}.explorer-guidance>span{display:block}.explorer-key-hint{color:var(--explorer-muted);font-size:var(--type-label);margin-top:4px}.explorer-footer-right{font-size:var(--type-ui);flex-direction:column;align-items:flex-end;gap:8px;display:flex}.explorer-footer-right a{padding-block:8px}.explorer-footer-right a span{margin-left:12px}.explorer-location{color:var(--explorer-muted)}.explorer-location time{font-variant-numeric:tabular-nums;margin-left:12px}.work-explorer[data-mode=overview] .explorer-guidance,.work-explorer[data-mode=overview] .explorer-footer-right{background:var(--glass-tint);width:fit-content;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);border-radius:var(--glass-radius);margin-block:-10px;padding:10px 14px}.work-explorer[data-mode=overview] .explorer-footer-right{justify-self:end}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.work-explorer[data-mode=overview] .explorer-guidance,.work-explorer[data-mode=overview] .explorer-footer-right{background:var(--glass-solid)}}@media (prefers-reduced-transparency:reduce){.work-explorer[data-mode=overview] .explorer-guidance,.work-explorer[data-mode=overview] .explorer-footer-right{background:var(--glass-opaque);-webkit-backdrop-filter:none;backdrop-filter:none}}.work-explorer[data-mode=overview] .explorer-stage{touch-action:pan-y;cursor:auto;scrollbar-width:thin;overflow-y:auto}.work-explorer[data-mode=overview] .stack-caption{opacity:1;transition-delay:.32s}.work-explorer[data-mode=overview] .explorer-context{opacity:0;visibility:hidden}.work-explorer[data-mode=overview] .explorer-context a{pointer-events:none}.explorer-stage{--overview-lead:100px}.explorer-drawer{width:min(520px,100vw - 32px);max-width:none;height:calc(100dvh - 32px);max-height:none;color:var(--ink);margin:0;padding:30px;position:fixed;inset:16px 16px 16px auto;overflow-y:auto}.explorer-drawer[open]{flex-direction:column;animation:.45s cubic-bezier(.22,1,.36,1) both drawer-in;display:flex}.explorer-drawer::backdrop{background:var(--ink-wash);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.explorer-drawer-top,.explorer-drawer-bottom{font-size:var(--type-ui);justify-content:space-between;align-items:center;gap:20px;display:flex}.explorer-drawer-top button{min-height:36px;font-size:var(--type-ui);padding-left:15px}.explorer-menu{display:none!important}.explorer-drawer-menu{flex-direction:column;padding-top:36px;display:flex}.explorer-drawer-menu>:is(a,button){text-align:left;border-bottom:1px solid var(--line);min-height:60px;font-size:var(--type-title);letter-spacing:var(--tracking-title);grid-template-columns:34px 1fr auto;align-items:baseline;padding-block:10px;display:grid}.explorer-drawer-menu>[aria-current]{color:var(--explorer-blue)}.explorer-drawer-menu>*>span:last-child{color:var(--ink-faint);font-size:16px}.explorer-drawer-bottom{color:var(--ink-muted);margin-top:auto;padding-top:30px}@keyframes context-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes explorer-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes drawer-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}:is(html:has(.work-explorer),html:has(.project-room)){scroll-behavior:auto}:is(html:has(.explorer-drawer[open]),html:has(.project-room-dialog[open])){overflow:hidden}:is(body:has(.work-explorer:not([data-single])) .site-header,body:has(.work-explorer) .contact-band){display:none}.explorer-noscript{z-index:20;background:#fff;padding:40px;position:fixed;inset:100px 20px 20px}.explorer-noscript a{margin-top:20px;display:block}@media (max-width:1000px){.explorer-intro{padding-left:0}.explorer-context{width:20vw}.explorer-context h2{font-size:var(--type-display)}.explorer-context dl{display:none}}@media (max-width:700px){.work-explorer{min-height:550px}.explorer-header{grid-template-columns:1fr auto;gap:16px;padding:22px 20px}.explorer-intro{display:none}.explorer-header nav{gap:17px}.explorer-header nav a,.explorer-header nav button:not(.explorer-menu):not(:last-child){display:none}.explorer-menu{display:inline-flex!important}.explorer-header nav button:last-child{gap:0;font-size:0}.explorer-header nav button:last-child span{font-size:21px}.explorer-browse{display:contents}.explorer-view-action{text-overflow:ellipsis;max-width:58vw;min-height:36px;padding:0 11px;position:fixed;top:92px;right:20px;overflow:hidden}.explorer-stage{--stage-top:140px;--stage-bottom:175px;--overview-lead:0px}.stack-card{border-radius:9px}.stack-card-back-1{transform:translate(-7px,5px)rotate(-7deg)}.stack-card-back-2{transform:translate(6px,-4px)rotate(7deg)}.explorer-context{pointer-events:none;justify-content:flex-end;width:calc(100% - 40px);top:auto;bottom:125px;left:20px}.explorer-context h2{font-size:var(--type-display-phone);max-width:65%;margin:0}.explorer-context p,.explorer-context dl,.explorer-context .explorer-label{display:none}.explorer-open-text{gap:16px;margin:0;position:absolute;bottom:2px;right:0}.explorer-footer{grid-template-columns:1fr auto;gap:14px;inset:auto 20px 20px}.explorer-footer-right{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}.explorer-footer-right a{padding-block:0}.explorer-location time{margin-left:6px}.work-explorer[data-mode=overview] .explorer-stage{--stage-top:165px;--stage-bottom:125px}.work-explorer[data-mode=overview] .explorer-guidance{grid-column:1/-1}.work-explorer[data-mode=overview] .explorer-key-hint{display:none}.explorer-drawer{padding:22px}}@media (max-height:650px) and (min-width:701px){.explorer-header{padding-top:18px}.explorer-stage{--stage-top:55px;--stage-bottom:65px;--overview-lead:95px}.explorer-context dl{display:none}.explorer-open-text{margin-top:12px}.explorer-footer{bottom:16px}.work-explorer[data-mode=overview] .explorer-stage{--stage-bottom:90px}}@media (max-height:520px){.work-explorer{min-height:300px}.explorer-header{grid-template-columns:1fr auto;padding:12px 24px}.explorer-identity p,.explorer-intro{display:none}.explorer-stage,.work-explorer[data-mode=overview] .explorer-stage{--stage-top:46px;--stage-bottom:46px;--overview-lead:48px}.explorer-context{width:min(30vw,240px);left:24px}.explorer-context h2{font-size:var(--type-title);max-width:none;font-weight:var(--weight-heading);letter-spacing:var(--tracking-display);line-height:var(--leading-display);margin:6px 0 4px}.explorer-context p,.explorer-context dl{display:none}.explorer-open-text{font-size:var(--type-ui);margin-top:4px;position:static}.explorer-footer{grid-template-columns:1fr auto 1fr;align-items:center;inset:auto 24px 6px}.explorer-guidance>.explorer-key-hint,.explorer-location,.explorer-browse{flex-direction:row;gap:14px;display:flex}.explorer-view-action{min-height:32px;font-size:var(--type-ui);position:static}.explorer-footer-right{font-size:var(--type-ui);flex-direction:row;grid-column:auto;justify-content:flex-end}.work-explorer[data-mode=overview] .explorer-guidance{grid-column:auto}}@media (prefers-reduced-motion:reduce){.stack-position{will-change:auto}.work-explorer[data-entrance] :is(.explorer-header,.explorer-context,.explorer-footer){animation:none}.stack-cards,.project-stack:hover .stack-card-front{transform:none}.project-stack:hover .stack-card-back-1{transform:translate(-12px,6px)rotate(-7deg)}.project-stack:hover .stack-card-back-2{transform:translate(11px,-7px)rotate(7deg)}}
