.hero-slider .hero-frame{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;pointer-events:none;z-index:0}
.hero-slider .hero-frame.active{opacity:1}.hero-slider:after{z-index:1;pointer-events:none}.hero-slider .hero-copy{z-index:2}.hero-slider:has(.hero-controls) .hero-copy{padding-bottom:88px}
.hero-slider{touch-action:pan-y pinch-zoom}
.hero-slider .hero-controls{position:absolute;z-index:3;right:28px;bottom:24px;display:flex;align-items:center;gap:5px;color:#fff;background:#000b;border:1px solid #ffffff60;border-radius:4px;padding:3px}
.hero-controls button{width:38px;height:38px;display:grid;place-items:center;background:transparent;border:0;color:inherit;cursor:pointer}
.hero-controls button:hover{background:#ffffff25}.hero-controls svg{width:20px;height:20px}.hero-counter{min-width:55px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
.hero-controls button:focus-visible{outline:2px solid #fff;outline-offset:-2px}
#lightbox{padding:0;border:1px solid #ddd;border-radius:4px;background:#fff;color:#222;width:min(1100px,calc(100vw - 24px));max-width:none;max-height:calc(100svh - 24px);overflow:hidden}
#lightbox[open]{display:flex;flex-direction:column}#lightbox::backdrop{background:#000d}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;flex:0 0 60px;border-bottom:1px solid #eee}
.lightbox-counter{font-size:14px;font-variant-numeric:tabular-nums}.lightbox-toolbar .icon-button{width:40px;height:40px;background:#fff;color:#222}
.lightbox-stage{position:relative;height:min(740px,calc(100svh - 110px));min-height:120px;display:flex;align-items:center;justify-content:center;padding:12px 60px;touch-action:pan-y pinch-zoom}
.lightbox-stage>img{width:100%;height:100%;max-height:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
.lightbox-stage>.icon-button{position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:40px;height:48px;background:#fff;color:#222;border:1px solid #ccc;display:grid;place-items:center}
.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-error{position:absolute;bottom:15px;background:#fff;padding:8px;color:#a00}
@media(max-width:640px){.hero-slider .hero-controls{right:18px;bottom:18px}.hero-slider:has(.hero-controls) .hero-copy{padding-bottom:88px}.lightbox-stage{padding:8px 44px}.lightbox-stage>.icon-button{width:34px}.lightbox-prev{left:4px}.lightbox-next{right:4px}}
@media(prefers-reduced-motion:reduce){.hero-slider .hero-frame{transition:none}}
