.hero .shaft-carousel{min-width:0;width:100%;margin:0;align-self:center}
.shaft-stage{position:relative;aspect-ratio:1785/855;perspective:1400px;background:#080a0d;isolation:isolate}
.hero .shaft-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:rotateY(70deg) scale(.92);transform-origin:center;backface-visibility:hidden;transition:transform 1.1s cubic-bezier(.22,.7,.2,1),opacity .8s,visibility 1.1s;pointer-events:none}
.hero .shaft-slide.is-active{opacity:1;visibility:visible;transform:rotateY(0) scale(1);z-index:2}
.hero .shaft-slide.is-leaving{opacity:0;visibility:visible;transform:rotateY(-70deg) scale(.92);z-index:1}
.hero .shaft-slide img{display:block;width:100%;height:100%;object-fit:contain;background:#080a0d}
.shaft-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:23px 0 12px;border-bottom:1px solid #c8c6c1}
.shaft-kicker{font-size:12px;font-weight:700;letter-spacing:.13em}.hero .shaft-title{font-size:clamp(18px,1.5vw,25px);font-weight:700;line-height:1.4;margin:5px 0 0}
.shaft-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.shaft-controls button{border:1px solid #ccc;background:transparent;width:36px;height:36px;cursor:pointer;font-size:19px}.shaft-count{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.shaft-dots{display:flex;gap:8px;padding-top:14px}.shaft-dots button{width:32px;height:20px;border:0;border-top:3px solid #ccc;background:transparent;cursor:pointer}.shaft-dots button[aria-pressed=true]{border-color:#111}.shaft-carousel button:focus-visible{outline:2px solid #111;outline-offset:3px}
@media(max-width:600px){.shaft-meta{align-items:flex-start;flex-direction:column;padding-top:16px}.shaft-controls{align-self:flex-end}.hero .shaft-title{font-size:20px}}
@media(prefers-reduced-motion:reduce){.hero .shaft-slide{transition:opacity .25s;transform:none!important}}
/* Softly rounded hero imagery. */
.hero .shaft-carousel{border:0;border-radius:0;background:transparent}
.shaft-stage{border-radius:20px;overflow:hidden}
.hero .shaft-slide,.hero .shaft-slide img{border-radius:20px}
@media(max-width:600px){.shaft-stage,.hero .shaft-slide,.hero .shaft-slide img{border-radius:14px}}
/* Pronounced perspective turn, with the outgoing and incoming faces visible. */
.shaft-stage{perspective:1000px;background:transparent;overflow:visible;transform-style:preserve-3d}
.hero .shaft-slide{transform-origin:50% 50% -160px;transform:rotateY(90deg);transition:transform 1.25s cubic-bezier(.45,.05,.25,1),opacity 1.25s,visibility 1.25s;box-shadow:0 18px 32px #0002}
.hero .shaft-slide.is-active{transform:rotateY(0deg);opacity:1}
.hero .shaft-slide.is-leaving{transform:rotateY(-90deg);opacity:0}
.hero .shaft-slide img{overflow:hidden}
@media(max-width:600px){.hero .shaft-slide{transform-origin:50% 50% -80px}.shaft-stage{perspective:700px}}
@media(prefers-reduced-motion:reduce){.hero .shaft-slide{transform:none!important;transition:opacity .25s}}
