/* 02 近期项目 —— 慢速编辑式横滑
   给「首页」用的样式。改这一块只动这个文件。 */

/* recent projects — slow editorial carousel */
.recent-projects{position:relative;padding:120px 0 132px;background:#eee0cb;color:var(--ink);overflow:hidden}
.recent-viewport{position:relative;margin-top:58px;overflow:hidden;padding:0 0 34px;touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain;-webkit-user-select:none;user-select:none}
.recent-track{display:flex;width:max-content;gap:clamp(16px,1.55vw,28px);will-change:transform}
.recent-card{position:relative;width:clamp(280px,22vw,420px);margin:0;flex:none;color:inherit;text-decoration:none}
.recent-card:before{content:"CASE " attr(data-case);position:absolute;z-index:2;top:12px;left:12px;padding:7px 9px;background:rgba(18,17,15,.72);color:var(--bone);font:600 9px/1 var(--mono);letter-spacing:.08em;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.recent-card.is-real:before{display:none}
.recent-image{position:relative;aspect-ratio:.78;overflow:hidden;background:#d6c7b2}
.recent-card.is-real .recent-image{background:#e6ddd0}
.recent-card.is-real .recent-image img{object-fit:contain}
.recent-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 64%,rgba(18,17,15,.16));pointer-events:none}
.recent-image-focus-right img{object-position:72% center}.recent-image-focus-left img{object-position:28% center}
.recent-card img{transition:transform 1.05s var(--ease),filter .6s ease;pointer-events:none;user-select:none;-webkit-user-drag:none}
.recent-viewport{cursor:grab}.recent-viewport.is-dragging{cursor:grabbing}.recent-viewport.is-dragging .recent-card img{transition:none}
.recent-card:hover img{transform:scale(1.045);filter:saturate(.82)}
.recent-card[href]{cursor:pointer}.recent-card[href]:focus-visible{outline:2px solid var(--clay);outline-offset:5px}
.recent-more{padding:8px var(--pad) 0}
.recent-more-link{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 0 4px;border-top:1px solid var(--line);font:600 9px/1 var(--mono);letter-spacing:.09em}
.recent-more-link strong{font:700 clamp(18px,1.7vw,27px)/1 var(--display);letter-spacing:-.04em}
.recent-more-link b{display:inline-block;margin-left:12px;font-weight:500;transition:transform .35s var(--ease)}
.recent-more-link:hover b,.recent-more-link:focus-visible b{transform:translateX(7px)}
.recent-more-link:focus-visible{outline:2px solid var(--clay);outline-offset:7px}
.recent-meta{display:grid;grid-template-columns:1fr auto;gap:18px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(18,17,15,.62);font:500 10px/1.35 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.recent-meta strong{font:700 12px var(--body);letter-spacing:.01em}.recent-meta span:last-child{text-align:right;opacity:.58}
.recent-arrow{position:absolute;z-index:3;top:48%;width:52px;height:52px;border:1px solid rgba(18,17,15,.35);background:#f5e9d8;display:grid;place-items:center;cursor:pointer;font:400 22px/1 var(--mono);transition:background .3s,color .3s,transform .3s var(--ease)}
.recent-arrow:hover,.recent-arrow:focus-visible{background:var(--ink);color:var(--bone);transform:scale(1.07)}
.recent-arrow:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.recent-prev{left:var(--pad)}.recent-next{right:var(--pad)}
