/* Native scrolling keeps all ten project links available without JavaScript. */
.projects .project-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 64px)/5);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:8px;margin-inline:-8px;padding:12px 8px 24px;scrollbar-width:thin;scrollbar-color:#2357e5 #dce1e7}
.projects .project-grid::-webkit-scrollbar{height:5px}.projects .project-grid::-webkit-scrollbar-thumb{background:#2357e5;border-radius:3px}.projects .project-grid::-webkit-scrollbar-track{background:#dce1e7}
.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.projects .project-scroll-hint{display:block;margin:0;font-size:13px;color:#626b78}.project-controls{display:flex;align-items:center;gap:8px}.project-controls[hidden]{display:none}.project-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #bec6d2;border-radius:8px;background:transparent;color:#182339;font:700 13px Manrope,Arial,sans-serif;cursor:pointer}.project-controls button:hover{background:#fff;border-color:#2357e5}.project-controls button:focus-visible{outline:3px solid #2357e5;outline-offset:3px}.project-controls [data-gallery-pause]{min-width:105px}.project-controls svg{width:18px;height:18px}.project-range{min-width:72px;font-size:12px;color:#626b78;font-variant-numeric:tabular-nums;text-align:center}.project-controls button:disabled{opacity:.5;cursor:default}
@media(max-width:999px){.projects .project-grid{grid-auto-columns:clamp(230px,31vw,290px)}}
@media(max-width:620px){.project-toolbar{align-items:start;flex-direction:column;gap:14px}.project-controls{width:100%}.project-range{margin-right:auto;text-align:left}.projects .project-grid{grid-auto-columns:clamp(230px,76vw,290px);gap:14px}.projects-heading{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.projects .project-card{transition:none}.project-controls [data-gallery-pause]{display:none}}
/* The duplicate set makes the loop seamless; snapping would interrupt each frame. */
.projects .project-grid--continuous{scroll-snap-type:none;scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){.project-grid [data-gallery-copy]{display:none}}
