/* ---------- ARTISTS PAGE ---------- */
.gallery-section{margin-block:var(--space-12) 0}
.masonry-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.masonry-item{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--c-neutral-100);box-shadow:var(--shadow-md)}
.masonry-item img{width:100%;height:auto;transition:transform var(--duration) var(--timing)}
.masonry-caption{position:absolute;inset:auto 0 0;padding:var(--space-4);background:linear-gradient(to top,rgba(0,0,0,.9),transparent);color:var(--c-text);transform:translateY(100%);transition:transform var(--duration) var(--timing)}
.masonry-item:hover .masonry-caption{transform:translateY(0)}
.masonry-item:hover img{transform:scale(1.05)}
.btn--chip{padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);margin-top:var(--space-2)}

.carousel-section{margin-block:var(--space-20) 0}
.carousel{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory}
.carousel-slide{flex:0 0 80%;position:relative;scroll-snap-align:start}
.carousel-slide img{width:100%;border-radius:var(--radius-lg)}
.hotspot{position:absolute;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--c-primary);border:2px solid var(--c-bg);cursor:pointer;box-shadow:var(--shadow-glow)}
.hotspot::after{content:attr(data-info);position:absolute;top:120%;left:50%;transform:translateX(-50%);background:var(--c-neutral-900);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--fs-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration) var(--timing)}
.hotspot:hover::after{opacity:1}

.timeline-section{margin-block:var(--space-20) 0}
.before-after{max-width:48rem;margin-inline:auto}
.before-after-slider{position:relative;display:grid;place-items:center}
.before-after-slider img:first-child{clip-path:inset(0 50% 0 0)}
.before-after-slider input[type=range]{position:absolute;width:100%;height:100%;-webkit-appearance:none;background:transparent;cursor:pointer}
.before-after-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:4px;height:100%;background:var(--c-primary)}
.timeline-caption{text-align:center;margin-top:var(--space-4);color:var(--c-neutral-600)}

.stroke-section{margin-block:var(--space-20) 0}
.stroke-story{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.stroke-story img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}

.editions-section{margin-block:var(--space-20) 0}
.scroller{display:flex;gap:var(--space-4);overflow-x:auto}
.edition-card{flex:0 0 14rem;background:var(--c-neutral-50);border:1px solid var(--c-neutral-200);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}
.edition-card img{width:100%;border-radius:var(--radius)}
.inventory-pill{display:inline-block;margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:999px;font-size:var(--fs-xs);background:var(--c-primary);color:#000}
.inventory-pill.low{background:var(--c-neutral-600)}

.dna-section{margin-block:var(--space-20) 0}
.palette-bar{display:flex;gap:var(--space-2);flex-wrap:wrap}
.swatch{width:4rem;height:4rem;border-radius:var(--radius);border:2px solid var(--c-neutral-300);cursor:pointer;transition:border-color var(--duration) var(--timing)}
.swatch:hover,.swatch.active{border-color:var(--c-primary)}

.bios-section{margin-block:var(--space-20) 0}
.bios-split{display:grid;gap:var(--space-8);grid-template-columns:1fr 2fr}
.bios-rail{position:sticky;top:var(--space-8);max-height:calc(100vh - var(--space-16));overflow-y:auto}
.bio-card{background:var(--c-neutral-50);border:1px solid var(--c-neutral-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}
.bio-card img{width:3rem;height:3rem;border-radius:var(--radius)}
.works-rail{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}

.commission-section{margin-block:var(--space-20) 0}
.configurator{display:grid;gap:var(--space-4);max-width:40rem}
.preview-3d img{width:100%;border-radius:var(--radius-lg)}
.pricing-badge{display:inline-block;margin-block:var(--space-4);padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--c-neutral-200);font-weight:600}

.sustainability-section{margin-block:var(--space-20) 0}
.accordion summary{cursor:pointer;padding:var(--space-4);background:var(--c-neutral-100);border-radius:var(--radius);margin-bottom:var(--space-2)}
.accordion[open] summary{margin-bottom:var(--space-2)}

.testimonials-section{margin-block:var(--space-20) 0}
.testimonial-scroller{display:flex;gap:var(--space-4);overflow-x:auto}
.testimonial-card{flex:0 0 20rem;position:relative;border-radius:var(--radius-lg);overflow:hidden}
.testimonial-card img{width:100%}
.testimonial-card p{position:absolute;inset:auto var(--space-4) var(--space-4);background:rgba(0,0,0,.7);padding:var(--space-3);border-radius:var(--radius)}
.stars{color:var(--c-primary);font-size:var(--fs-sm)}

.style-kit-sidebar{position:fixed;top:50%;right:var(--space-4);transform:translateY(-50%);width:16rem;background:var(--c-neutral-50);border:1px solid var(--c-neutral-200);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-lg);z-index:50}
.discount-meter{margin-block:var(--space-4)}
#discountBar{width:100%}

@media(max-width:768px){
.bios-split{grid-template-columns:1fr}
.style-kit-sidebar{position:static;transform:none;width:100%;margin-block:var(--space-8) 0}
}