/* Curved photo arrangement inspired by the Arc Thumbnails reference. */
.work-showcase { overflow:hidden; background:var(--bg-soft); scroll-margin-top:100px; }
.work-showcase .section-head { margin-bottom:20px; }
.work-stage { position:relative; height:clamp(300px, 43vw, 480px); isolation:isolate; }
.work-slide { position:absolute; top:0; bottom:0; left:50%; width:72%; max-width:760px; margin:0; padding:10px; border:1px solid var(--line); border-radius:16px; background:var(--card); box-shadow:var(--shadow); display:flex; flex-direction:column; opacity:0; visibility:hidden; transform:translateX(-50%); }
.work-slide:first-child { opacity:1; visibility:visible; }
.work-slide img { width:100%; min-height:0; flex:1; object-fit:contain; border-radius:9px; background:var(--bg); }
.work-slide figcaption { padding:12px 6px 3px; text-align:center; font-weight:600; font-size:16px; }
.work-carousel[data-enhanced] .work-slide { visibility:visible; transform:translateX(calc(-50% + var(--x))) translateY(var(--y)) scale(var(--scale)) rotate(var(--angle)); opacity:var(--opacity); z-index:var(--layer); transition:transform 850ms cubic-bezier(.22,.68,.2,1),opacity 600ms ease; pointer-events:none; }
.work-controls { position:relative; z-index:10; margin-top:32px; }
.work-buttons { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.work-buttons button { font:inherit; font-weight:600; }
.slide-dots { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:20px; }
.slide-dot { width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--card); color:var(--ink); font:inherit; cursor:pointer; }
.slide-dot[aria-pressed="true"] { background:var(--green); color:#182f13; border-color:var(--green); font-weight:700; }
.slide-status { text-align:center; color:var(--muted); margin:14px 0 0; }
@media(max-width:560px) {
 .work-slide { width:86%; padding:6px; border-radius:12px; }
 .work-stage { height:290px; }
 .work-slide figcaption { font-size:14px; }
 .work-buttons { gap:8px; }
 .work-buttons .btn { padding:10px 12px; font-size:14px; }
 .slide-dots { gap:4px; }
 .slide-dot { width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) {
 .work-carousel[data-enhanced] .work-slide { transition:none; }
}
