.hero-carousel{touch-action:pan-y pinch-zoom;cursor:grab;isolation:isolate}
.hero-carousel:after{display:none}
.hero-carousel.is-dragging{cursor:grabbing;user-select:none}
.hero-track{height:100%;display:flex;transition:transform .55s cubic-bezier(.22,.7,.25,1);will-change:transform}
.hero-carousel.is-dragging .hero-track{transition:none}
.hero-slide{height:100%;flex:0 0 100%;position:relative;overflow:hidden;min-width:0}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000008 0%,transparent 40%,#00000026 100%);pointer-events:none}
.hero-slide .hero-image{user-select:none;pointer-events:none}
.hero-slide .hero-content{z-index:1;padding-inline:60px}
.hero-slide--craft .hero-image{object-position:50% 50%}
.hero-slide--duo .hero-image{object-position:center 38%}
.hero-slide--duo:after{background:linear-gradient(180deg,#0000000a 0%,transparent 35%,#00000050 100%)}
.hero-pagination{position:absolute;z-index:2;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:8px;width:min(350px,42%);cursor:default}
.hero-pagination button{height:24px;flex:1;position:relative}
.hero-pagination button:after{content:"";position:absolute;left:0;right:0;top:12px;height:1px;background:#ffffff60;transition:background .2s,height .2s}
.hero-pagination button[aria-pressed=true]:after{background:#fff;height:2px}
.hero-pagination button:hover:after{background:#fff}
.hero-step{position:absolute;top:50%;transform:translateY(-50%);z-index:2;color:white;font-size:11px;letter-spacing:.08em;min-width:56px;min-height:48px;text-shadow:0 1px 8px #0007}
.hero-step--prev{left:20px}.hero-step--next{right:20px}.hero-step:disabled{opacity:.25;cursor:default}.hero-step:not(:disabled):hover{text-decoration:underline;text-underline-offset:5px}
.carousel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:850px){.hero-slide .hero-content{padding-inline:22px}.hero-slide .hero-content h2{font-size:26px}.hero-slide--craft .hero-image{object-position:43% center}.hero-slide--duo .hero-image{object-position:65% center}.hero-pagination{bottom:9px;width:calc(100% - 48px);gap:8px}.hero-step{top:auto;bottom:40px;transform:none;font-size:10px;min-height:40px}.hero-step--prev{left:15px}.hero-step--next{right:15px}}
.hero-slide h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:400;margin:0 0 32px;line-height:1.2}
@media(max-width:850px){.hero-slide h2{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.hero-track{transition:none}}

.hero-slide--craft:after{background:linear-gradient(180deg,#00000030 0%,transparent 30%,#00000030 100%)}
.hero-slide--craft .hero-content{text-shadow:0 1px 8px #0005}

.hero-slide--sofa:after{background:linear-gradient(180deg,#0006 0%,transparent 28%,#0003 100%)}

/* Direction follows the pointer; the photograph itself is the paging target. */
.hero-carousel{cursor:e-resize}
.hero-carousel.is-dragging{cursor:grabbing!important}
.hero-step{opacity:0;pointer-events:none;text-decoration:none!important;min-width:44px;min-height:44px;font-size:24px;transition:opacity .15s}
.hero-step:focus-visible{opacity:1;pointer-events:auto}
.hero-carousel a,.hero-carousel button{cursor:pointer}
@media(hover:none){.hero-step{opacity:1;pointer-events:auto;font-size:20px;bottom:36px}}
