/* A single row on every screen, with a glimpse of the next card. */
.service-grid[data-carousel],.selected-work[data-carousel]{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 56px)/3.15);gap:28px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding:4px;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;border:0;padding:6px 4px;margin:0}
[data-carousel]::-webkit-scrollbar{display:none;width:0;height:0}
[data-carousel]{cursor:grab}[data-carousel].drag-ready{user-select:none}[data-carousel].is-dragging{cursor:grabbing}
.service-grid[data-carousel].is-dragging,.selected-work[data-carousel].is-dragging{scroll-snap-type:none}
[data-carousel] :is(a,button){cursor:pointer}
[data-carousel]>article{scroll-snap-align:start;min-width:0;height:100%;border:1px solid var(--line)!important}
[data-carousel]:focus-visible{outline:3px solid #498000;outline-offset:4px}
.service-grid[data-carousel] article,.service-grid[data-carousel] article:first-child,.service-grid[data-carousel] article:last-child{padding:28px!important}
.service-grid[data-carousel] .reveal{opacity:1;transform:none}
.service-grid[data-carousel] h3{font-size:23px}.service-grid[data-carousel] .tags{margin-top:auto}
.selected-work[data-carousel] .work-card{padding:28px}.selected-work .work-symbol{font-size:28px;margin-bottom:22px;padding-bottom:16px}.selected-work .project-type{color:var(--muted);font-size:12px;font-weight:400}
.work-status{display:inline-block;color:var(--muted);font-size:11px;border:1px solid var(--line);border-radius:20px;padding:4px 10px;margin:0 0 20px}.selected-work .work-card .project-open{min-height:44px}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.carousel-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.carousel-position{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:42px;text-align:right;flex-shrink:0}
.carousel-row{position:relative;isolation:isolate}
.carousel-row>button.carousel-edge{position:absolute;top:calc(50% - 22px);z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;box-shadow:0 4px 18px #18201b18}
.carousel-row>.carousel-prev{left:-22px}.carousel-row>.carousel-next{right:-22px}
.carousel-row>button.carousel-edge:hover:enabled{background:var(--lime);color:#18201b;border-color:var(--lime);box-shadow:0 5px 20px #18201b25}
.carousel-row>button.carousel-edge:disabled{opacity:.35;box-shadow:none}.carousel-edge .ui-icon{width:21px;height:21px}
@media(max-width:1100px){.service-grid[data-carousel],.selected-work[data-carousel]{grid-auto-columns:calc((100% - 28px)/2.15)}}
@media(max-width:700px){.service-grid[data-carousel],.selected-work[data-carousel]{grid-auto-columns:88%;gap:16px;scroll-snap-type:x mandatory}.carousel-controls{gap:12px}.service-grid[data-carousel] h3{font-size:22px}}
@media(max-width:380px){.carousel-hint{font-size:11px}.service-grid[data-carousel] article,.service-grid[data-carousel] article:first-child,.service-grid[data-carousel] article:last-child,.selected-work[data-carousel] .work-card{padding:23px!important}}
@media(hover:hover){.motion-enabled .selected-work[data-carousel] .work-card:hover{transform:none}}
