.pj-track{--gap:clamp(24px, 5vw, 80px);--card-w:min(86vw, 920px);position:relative}.pj-heading{justify-content:space-between;align-items:end;gap:20px;width:100%;max-width:1400px;margin-inline:auto;padding:96px 32px 24px;display:flex}.pj-title{font-size:clamp(2.5rem,5.5vw,5rem)}.pj-viewport{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--primary) transparent;perspective:1800px;padding-block:20px 32px;overflow-x:auto}.pj-rail{gap:var(--gap);width:max-content;padding-inline:calc((100vw - var(--card-w)) / 2);transform-style:preserve-3d;display:flex}.pj-card{width:var(--card-w);scroll-snap-align:center;flex:none}.pj-preview{transition:border-color .2s ease-out}.pj-position{color:var(--primary);font:11px var(--font-mono), monospace;font-variant-numeric:tabular-nums;margin-bottom:8px}.pj-position span{color:var(--muted-foreground)}.pj-summary{font-size:14px;line-height:1.5}.pj-actions{padding-top:20px}.pj-actions a:focus-visible{outline:2px solid var(--primary);outline-offset:5px}.pj-progress-track{display:none}@media (prefers-reduced-motion:no-preference) and (min-height:480px){.pj-track[data-gallery-driver]{--card-w:min(84vw, 920px, calc((100svh - 410px) * 1.6));view-timeline:--pj block;height:calc(100svh + (var(--count) - 1) * 75svh)}[data-gallery-driver] .pj-stage{flex-direction:column;height:100svh;display:flex;position:sticky;top:0;overflow:clip}[data-gallery-driver] .pj-heading{flex:none;padding-bottom:12px}[data-gallery-driver] .pj-viewport{scroll-snap-type:none;flex:1;align-items:center;min-height:0;padding-block:0;display:flex;overflow:visible}[data-gallery-driver] .pj-progress-track{background:color-mix(in oklab, var(--foreground) 12%, transparent);flex:none;width:min(40vw,320px);height:2px;margin:16px auto 28px;display:block}[data-gallery-driver] .pj-progress{background:var(--primary);transform-origin:0}@media (max-width:639px){.pj-track[data-gallery-driver]{--card-w:min(86vw, calc((100svh - 330px) * 1.6))}}}@supports (animation-timeline:view()) and (animation-range:entry 0% entry 100%){[data-gallery-driver=native] .pj-rail{animation:linear both pj-pan;animation-timeline:--pj;animation-range:contain}[data-gallery-driver=native] .pj-card{animation:linear both pj-tilt;animation-timeline:--pj;animation-range:contain calc((var(--i) - 1) / (var(--count) - 1) * 100%) contain calc((var(--i) + 1) / (var(--count) - 1) * 100%)}[data-gallery-driver=native] .pj-progress{animation:linear both grow-x;animation-timeline:--pj;animation-range:contain}[data-gallery-driver=native] .pj-stage{content-visibility:auto}}@media (max-width:639px){.pj-heading{align-items:center;gap:12px;padding:96px 20px 20px}.pj-title{font-size:clamp(1.8rem,7vw,2.5rem)}.pj-heading>a{padding-inline:14px;font-size:12px}.pj-caption{gap:12px}.pj-caption h3{font-size:23px}.pj-actions{gap:6px}.pj-summary{font-size:13px}}@media (hover:hover) and (pointer:fine){.pj-project:hover .pj-preview{border-color:color-mix(in oklab, var(--primary) 45%, transparent)}}@media (prefers-reduced-motion:reduce){.pj-preview,.pj-actions a{transition:none}}@media (max-width:639px){.pj-caption{display:block;position:relative}.pj-caption h3{padding-right:104px}.pj-actions{padding-top:0;position:absolute;top:22px;right:0}}
