.rp-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-8);display:flex}.rp-nav{gap:var(--space-2);flex-shrink:0;display:flex}.rp-arrow{border-radius:var(--radius-full);width:2.75rem;height:2.75rem;color:var(--text);border:1px solid var(--glass-border);transition:all var(--transition-fast);cursor:pointer;background:#fff;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:flex}.rp-arrow:hover{background:var(--red);border-color:var(--red);color:#fff}.rp-track{gap:var(--space-5);scroll-snap-type:x mandatory;scroll-padding-left:var(--padding-x);scrollbar-width:none;padding-bottom:var(--space-2);cursor:grab;user-select:none;grid-auto-columns:clamp(16rem,26vw,20rem);grid-auto-flow:column;display:grid;overflow-x:auto}.rp-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}@media (width<=600px){.rp-track{grid-auto-columns:80vw}}.rp-track::-webkit-scrollbar{display:none}.rp-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));display:grid}.rp-grid[hidden]{display:none}@media (width<=480px){.rp-grid{grid-template-columns:1fr}}.rp-card{scroll-snap-align:start;text-align:left;border-radius:var(--radius-lg);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition);background:#fff;border:none;flex-direction:column;display:flex;overflow:hidden}.rp-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.rp-card__media{aspect-ratio:16/10;display:block;position:relative;overflow:hidden}.rp-card__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition)}.rp-card:hover .rp-card__media img{transform:scale(1.05)}.rp-card__body{padding:var(--space-3) var(--space-4) var(--space-4);flex-direction:column;gap:2px;display:flex}.rp-card__title{font-family:var(--font-heading);font-weight:700;font-size:var(--text-base);color:var(--text);line-height:1.2}.rp-card__more{margin-top:var(--space-2);font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);color:var(--red)}.project-modal{border-radius:var(--radius-2xl);width:min(60rem,92vw);max-width:92vw;height:min(86vh,600px);max-height:90vh;box-shadow:var(--shadow-xl);background:#fff;border:none;padding:0;overflow:hidden}.project-modal::backdrop{background:#000000b8}.project-modal[open]{grid-template-columns:1.25fr 1fr;display:grid}.project-modal__close{top:var(--space-3);right:var(--space-3);z-index:3;border-radius:var(--radius-full);color:#fff;cursor:pointer;background:#00000080;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.5rem;line-height:1;display:flex;position:absolute}.project-modal__close:hover{background:var(--red)}.pm-gallery{touch-action:pan-y;background:#111;height:100%;position:relative;overflow:hidden}.pm-track{will-change:transform;height:100%;transition:transform .35s;display:flex}.pm-slide{flex:0 0 100%;height:100%}.pm-slide img{object-fit:cover;-webkit-user-drag:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.pm-arrow{z-index:2;border-radius:var(--radius-full);color:#fff;cursor:pointer;width:2.75rem;height:2.75rem;transition:background var(--transition-fast), border-color var(--transition-fast);background:#00000073;border:1px solid #ffffff4d;justify-content:center;align-items:center;padding:0;line-height:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pm-arrow:hover{background:var(--red);border-color:var(--red)}.pm-prev{left:.75rem}.pm-next{right:.75rem}.pm-count{z-index:2;color:#fff;font-size:var(--text-xs);border-radius:var(--radius-full);background:#0000008c;padding:.2rem .7rem;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.project-modal__info{padding:var(--space-8);gap:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.project-modal__title{font-size:var(--text-2xl)}.project-modal__desc{color:var(--text-muted);font-size:var(--text-sm);flex:1}@media (width<=720px){.project-modal{height:min(88vh,680px)}.project-modal[open]{grid-template-rows:45% 55%;grid-template-columns:1fr}}
