:root{--home-banner-ratio:1600/295}

/* Public homepage banner: always one fixed 1600:295 frame. */
html body .promo-banner-wrap{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 16px!important;padding:0!important;overflow:visible!important}
html body .promo-banner-box{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1600/295!important;overflow:hidden!important;background:#050505!important;border:1px solid #202020!important;border-radius:0!important}
html body .home-slider{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;background:#050505!important;touch-action:pan-y;user-select:none;-webkit-user-select:none}
html body .home-slider-viewport{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important}
html body .home-slider-track{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;transform:none!important}
html body .home-slider-slide{position:absolute!important;inset:0!important;display:block!important;width:100%!important;max-width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important;background:#050505!important;opacity:0;visibility:hidden;pointer-events:none;z-index:1;will-change:transform,opacity}
html body .home-slider:not(.is-initialized) .home-slider-slide:first-child,html body .home-slider-slide.is-active,html body .home-slider-slide.is-entering,html body .home-slider-slide.is-leaving{opacity:1;visibility:visible}
html body .home-slider-slide.is-active{pointer-events:auto;z-index:2}
html body .home-slider-slide.is-leaving{pointer-events:none;z-index:2}
html body .home-slider-slide.is-entering{pointer-events:auto;z-index:3}
html body .home-slider-link,html body .home-slider-static{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#050505!important;text-decoration:none!important;color:inherit!important}

/* Never crop an uploaded banner. Different aspect ratios are letterboxed inside the fixed frame. */
html body img.home-slider-img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:center center!important;background:#050505!important}

.home-slider-month-placeholder{position:relative;display:flex;width:100%;height:100%;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 25% 20%,rgba(255,200,0,.26),transparent 33%),linear-gradient(110deg,#050505 0%,#111 48%,#050505 100%);color:#fff}
.home-slider-month-placeholder:before,.home-slider-month-placeholder:after{content:"";position:absolute;inset:auto -10% 23% -10%;height:2px;background:linear-gradient(90deg,transparent,#ffc800,transparent);box-shadow:0 0 20px #ffc800}
.home-slider-month-placeholder:after{inset:22% -10% auto -10%;opacity:.45}
.home-slider-month-copy{position:relative;z-index:2;text-align:center;padding:8px 18px}
.home-slider-month-kicker{display:block;color:#ffc800;font-size:clamp(9px,1.1vw,17px);font-weight:900;letter-spacing:.24em;text-transform:uppercase}
.home-slider-month-title{display:block;margin-top:2px;color:#fff;font-size:clamp(20px,4.1vw,68px);font-weight:1000;line-height:.95;letter-spacing:-.05em;text-shadow:0 4px 18px #000}
.home-slider-month-sub{display:block;margin-top:8px;color:#d7d7d7;font-size:clamp(8px,1vw,15px);font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* Arrows stay overlaid INSIDE the banner and only appear during interaction. */
.home-slider-arrow{position:absolute!important;z-index:20!important;top:50%!important;transform:translateY(-50%) scale(.94);display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:56px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:10px!important;background:rgba(0,0,0,.62)!important;box-shadow:0 5px 22px rgba(0,0,0,.48)!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:#fff!important;font-size:31px!important;line-height:1!important;cursor:pointer!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease,transform .18s ease,background .18s ease,border-color .18s ease}
.home-slider-prev{left:12px!important}
.home-slider-next{right:12px!important}
.home-slider:hover .home-slider-arrow,.home-slider:focus-within .home-slider-arrow,.home-slider.is-controls-visible .home-slider-arrow{opacity:.92;visibility:visible;pointer-events:auto;transform:translateY(-50%) scale(1)}
.home-slider-arrow:hover,.home-slider-arrow:focus-visible{opacity:1!important;background:rgba(0,0,0,.86)!important;border-color:rgba(255,200,0,.78)!important;outline:none!important}
.home-slider-arrow:active{transform:translateY(-50%) scale(.94)!important}

.home-slider-dots{position:absolute!important;z-index:19!important;left:50%!important;bottom:8px!important;transform:translateX(-50%)!important;display:flex!important;align-items:center!important;gap:6px!important;padding:5px 8px!important;margin:0!important;background:rgba(0,0,0,.42)!important;border-radius:999px!important}
.home-slider-dot{display:block!important;width:7px!important;height:7px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.48)!important;cursor:pointer!important;transition:width .18s ease,background .18s ease,border-radius .18s ease}
.home-slider-dot.is-active{width:20px!important;border-radius:999px!important;background:#ffc800!important}
.home-slider.is-single .home-slider-arrow,.home-slider.is-single .home-slider-dots{display:none!important}
.home-slider.is-dragging{cursor:grabbing!important}
.home-slider[data-drag="1"]{cursor:grab}
.home-slider[data-drag="0"]{cursor:default}
.home-slider a,.home-slider img{-webkit-user-drag:none}
.promo-banner-placeholder{width:100%;height:100%;aspect-ratio:1600/295;display:flex;align-items:center;justify-content:center;background:#111;color:#777;font-size:clamp(22px,4vw,52px);font-weight:900;letter-spacing:.16em}

@media(max-width:700px){
  .home-slider-arrow{width:34px!important;height:44px!important;border-radius:8px!important;font-size:25px!important}
  .home-slider-prev{left:7px!important}.home-slider-next{right:7px!important}
  .home-slider-dots{bottom:4px!important;gap:4px!important;padding:3px 6px!important}
  .home-slider-dot{width:5px!important;height:5px!important}.home-slider-dot.is-active{width:14px!important}
  .home-slider-month-sub{display:none}
}
@media(hover:none){
  .home-slider:hover .home-slider-arrow{opacity:0;visibility:hidden;pointer-events:none}
  .home-slider.is-controls-visible .home-slider-arrow,.home-slider:focus-within .home-slider-arrow{opacity:.94;visibility:visible;pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){.home-slider-slide,.home-slider-dot,.home-slider-arrow{transition:none!important;animation:none!important}}
