.project-carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.project-carousel-toolbar[hidden],.project-carousel-pagination[hidden]{display:none}
.project-carousel-counter{color:var(--muted);font-size:.9375rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.project-carousel-arrows{display:flex;gap:10px}
.project-carousel-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--control-line);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.project-carousel-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.project-carousel-arrow:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.project-carousel-arrow:disabled{opacity:.35;cursor:default}
.project-grid.projects-viewport{position:relative;display:flex;align-items:flex-start;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;padding:0 0 2px;transition:height .18s ease}
.projects-viewport>.selected-case{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;margin:0}
.projects-viewport:focus-visible{outline:3px solid var(--accent);outline-offset:6px;border-radius:var(--radius-card)}
.project-carousel.is-enhanced .projects-viewport{scrollbar-width:none}
.project-carousel.is-enhanced .projects-viewport::-webkit-scrollbar{display:none}
.project-carousel-pagination{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
.project-carousel-select{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:transparent;color:var(--muted);font:500 .875rem/1.35 var(--font-body);text-align:left;cursor:pointer}
.project-carousel-select span{flex-shrink:0;white-space:nowrap;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}
.project-carousel-select:hover{border-color:var(--accent);color:var(--accent)}
.project-carousel-select[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
@media(max-width:640px){.project-carousel-pagination{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-carousel-select{padding:12px;font-size:.8125rem}.project-carousel-toolbar{margin-bottom:16px}.projects-viewport>.selected-case{padding:24px}.project-carousel-arrow{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.project-grid.projects-viewport{scroll-behavior:auto;transition:none}.project-carousel-arrow{transition:none}}

@media print{.project-carousel-toolbar,.project-carousel-pagination{display:none!important}.project-grid.projects-viewport{display:block;height:auto!important;overflow:visible;transition:none}.projects-viewport>.selected-case{width:100%;margin-bottom:24px}}
