/* Additive: legacy slides and all navigation remain untouched. */
.hero-bg[data-hero-bg]{opacity:0;transition:opacity 420ms ease;pointer-events:none}
.hero-bg[data-hero-bg].is-active{opacity:1}
.hero-slide[data-hero-slide]:not(.is-active){visibility:hidden}
.promo-background{background:#020713 url('/assets/images/slideshow/hpa-studio-camo-v1.jpg') center center/cover no-repeat;overflow:hidden;transform:none!important;background-blend-mode:normal}
.promo-background::before,.promo-background::after{content:none}
.promo-background picture{display:block;width:100%;height:100%}
.promo-background img{width:100%;height:100%;object-fit:cover;object-position:var(--dx,50%) var(--dy,50%);transform:scale(var(--dz,1));transform-origin:var(--dx,50%) var(--dy,50%)}
.promo-product{isolation:isolate;padding-bottom:clamp(101px,7vw,135px)}
.promo-product>*:not(.hero-slide-foreground){position:relative;z-index:4}
.promo-product::before{content:none}
.promo-product .hero-title{position:relative;font-size:clamp(58px,5.6vw,108px);line-height:.84}
.promo-product .hero-title::after{content:"";display:block;width:min(210px,18vw);height:5px;margin-top:20px;background:linear-gradient(90deg,#12c8ff,#155bff 64%,transparent);box-shadow:0 0 22px rgba(88,217,255,.48)}
.promo-kicker{display:inline-flex;align-items:center;gap:10px;color:#58d9ff;letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin-bottom:25px}
.promo-kicker::before{content:"";width:34px;height:2px;background:#58d9ff;box-shadow:0 0 16px rgba(88,217,255,.9)}
.promo-price{font-family:var(--display);font-size:clamp(36px,4vw,68px);color:#58d9ff;margin:22px 0 0;text-shadow:0 0 28px rgba(88,217,255,.28)}
.promo-price small{display:block;font:12px sans-serif;color:#c8d3e8;letter-spacing:.06em}
.promo-product .hero-slide-foreground{z-index:3;object-fit:contain;transform-origin:center;filter:contrast(1.1) saturate(1.12) drop-shadow(0 38px 46px #000d) drop-shadow(0 0 34px rgba(88,217,255,.23))}
.hero-slide-foreground[src$="showcase-mtw-xbr-v2-original.jpg"]{-webkit-mask:url('/assets/uploads/marketing/showcase-mtw-xbr-mask-v5.svg') center/contain no-repeat;mask:url('/assets/uploads/marketing/showcase-mtw-xbr-mask-v5.svg') center/contain no-repeat}
.hero .promo-product-stage .hero-slide-foreground:is([src$="showcase-mtw-xbr-v2-original.jpg"],[src$="showcase-mtw-billet-v1.png"]){transform:translate(calc(var(--fgx,0) * 1%),calc(var(--fgy,0) * 1%)) rotate(43deg) scale(calc(var(--fgz,1) * 1.55))}
.hero .promo-price-badge{display:inline-block;white-space:nowrap;font-size:.65em;vertical-align:middle}
.hero-slide-foreground[src$="showcase-billet14-v1-original.png"],.slide-card-image[src$="showcase-billet14-v1-original.png"]{-webkit-mask:url('/assets/uploads/marketing/showcase-billet14-mask-v1.svg') center/contain no-repeat;mask:url('/assets/uploads/marketing/showcase-billet14-mask-v1.svg') center/contain no-repeat}
.hero-slide-foreground[src$="showcase-dracarys-v1-original.jpg"],.slide-card-image[src$="showcase-dracarys-v1-original.jpg"]{-webkit-mask:url('/assets/uploads/marketing/showcase-dracarys-mask-v1.svg') center/contain no-repeat;mask:url('/assets/uploads/marketing/showcase-dracarys-mask-v1.svg') center/contain no-repeat}
.hero-slide-foreground[src$="showcase-ak105-v1-original.jpg"],.slide-card-image[src$="showcase-ak105-v1-original.jpg"]{-webkit-mask:url('/assets/uploads/marketing/showcase-ak105-mask-v1.svg') center/contain no-repeat;mask:url('/assets/uploads/marketing/showcase-ak105-mask-v1.svg') center/contain no-repeat}
.hero .promo-product-stage .hero-slide-foreground:is([src$="showcase-billet14-v1-original.png"],[src$="showcase-dracarys-v1-original.jpg"],[src$="showcase-ak105-v1-original.jpg"]){transform:translate(calc(var(--fgx,0) * 1%),calc(var(--fgy,0) * 1%)) rotate(43deg) scale(calc(var(--fgz,1) * 1.55))}
@media(min-width:821px) and (max-width:1100px){.hero .promo-product-stage .hero-slide-foreground:is([src$="showcase-billet14-v1-original.png"],[src$="showcase-dracarys-v1-original.jpg"],[src$="showcase-ak105-v1-original.jpg"]){transform:translate(calc(var(--fgx,0) * 1%),calc(var(--fgy,0) * 1%)) rotate(43deg) scale(calc(var(--fgz,1) * 1.25))}}
@media(min-width:821px) and (max-width:1100px){.hero .promo-product-stage .hero-slide-foreground:is([src$="showcase-mtw-xbr-v2-original.jpg"],[src$="showcase-mtw-billet-v1.png"]){transform:translate(calc(var(--fgx,0) * 1%),calc(var(--fgy,0) * 1%)) rotate(43deg) scale(calc(var(--fgz,1) * 1.25))}}
.promo-product .hero-slide::after{content:"";position:absolute;right:clamp(-720px,-37vw,-485px);top:-1vh;z-index:1;width:min(58vw,980px);height:min(35vw,610px);background:radial-gradient(circle at 48% 46%,rgba(88,217,255,.22),transparent 34%),linear-gradient(135deg,rgba(88,217,255,.10),rgba(21,91,255,.3) 42%,rgba(0,0,0,.1)),linear-gradient(180deg,rgba(255,255,255,.08),transparent 18%);border:1px solid rgba(88,217,255,.22);box-shadow:inset 0 0 0 1px rgba(21,91,255,.34),0 0 90px rgba(21,91,255,.38);clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);pointer-events:none}
.promo-product .hero-slide::before{content:"";position:absolute;right:clamp(-650px,-33vw,-430px);top:9vh;z-index:2;width:min(42vw,720px);height:min(16vw,250px);border-top:2px solid rgba(88,217,255,.58);border-bottom:2px solid rgba(21,91,255,.38);transform:skewX(-14deg);opacity:.55;pointer-events:none}
.promo-product .hero-cta{min-height:58px;margin-top:28px;background:linear-gradient(135deg,#155bff,#12c8ff);color:#021126;border-color:#58d9ff;box-shadow:0 0 34px rgba(21,91,255,.35),inset 0 0 0 1px rgba(255,255,255,.25)}
.hero:has(.slider-product-button) .slider-dots{display:grid;grid-template-columns:repeat(var(--slide-count,3),minmax(0,1fr)) 62px 62px;gap:6px;bottom:24px;align-items:stretch}
.hero:has(.slider-product-button) .slider-dots::before{content:"";position:absolute;left:0;right:0;top:-6px;height:2px;background:linear-gradient(90deg,#12c8ff,rgba(21,91,255,.6),transparent);box-shadow:0 0 14px rgba(88,217,255,.65)}
.slider-dots .slider-product-button{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;width:100%;min-width:0;height:62px;border-radius:0;border:1px solid rgba(255,255,255,.16);border-top-color:rgba(88,217,255,.45);background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(5,17,45,.86)),linear-gradient(135deg,rgba(21,91,255,.18),transparent 54%);color:#fff;padding:0 22px;opacity:1;font-family:var(--display);font-size:17px;letter-spacing:.04em;text-align:left;text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(21,91,255,.24),0 18px 34px rgba(0,0,0,.45);clip-path:none;overflow:hidden}
.slider-dots .slider-product-button::after{content:"";position:absolute;right:-42px;top:-34px;width:160px;height:120px;background:radial-gradient(circle,rgba(88,217,255,.22),transparent 68%);opacity:.75;pointer-events:none}
.slider-dots .slider-product-button.is-active{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(21,91,255,.52)),linear-gradient(135deg,rgba(18,200,255,.34),transparent 52%);border-color:rgba(88,217,255,.85);transform:none;color:#fff;box-shadow:inset 0 0 0 1px rgba(88,217,255,.45),0 0 34px rgba(21,91,255,.32)}
.slider-dots .slider-product-button.is-active::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#12c8ff;box-shadow:0 0 20px rgba(88,217,255,.9)}
.slide-card-number{color:#fff;font-family:var(--display);font-size:28px;line-height:1}
.slide-card-title{position:relative;min-width:0;padding-left:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slide-card-title::before{content:"";position:absolute;left:0;top:50%;width:1px;height:30px;background:rgba(255,255,255,.35);transform:translateY(-50%)}
@media(min-width:821px) and (max-width:1500px){
  .slider-dots:has([data-slide-dot]:nth-of-type(6)) .slider-product-button{gap:7px;padding:0 9px;font-size:14px;letter-spacing:.01em}
  .slider-dots:has([data-slide-dot]:nth-of-type(6)) .slide-card-number{font-size:22px}
  .slider-dots:has([data-slide-dot]:nth-of-type(6)) .slide-card-title{padding-left:7px;white-space:normal;line-height:1.1;overflow-wrap:anywhere}
}
.slider-product-arrow{display:grid!important;place-items:center!important;width:62px!important;min-width:62px!important;height:62px!important;min-height:62px!important;border-radius:0!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(0,0,0,.82)!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:42px!important;line-height:1!important;box-shadow:inset 0 0 0 1px rgba(21,91,255,.24),0 18px 34px rgba(0,0,0,.45)!important}
.slider-product-arrow:hover,.slider-product-arrow:focus-visible{border-color:#58d9ff!important;color:#58d9ff!important;transform:none!important}
.slideshow-preset-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 18px}
.slideshow-preset-box span{grid-column:1}.slideshow-preset-box button{grid-row:1 / span 2;grid-column:2}
.hero:has(.promo-product.is-active) .cert-badge,.hero:has(.promo-banner.is-active) .cert-badge{display:none}
.hero:has(.promo-banner.is-active) .hero-pulse-splash,.hero:has(.promo-banner.is-active) .hero-vignette{opacity:0;pointer-events:none}
.hero-slide.promo-banner{width:100%;min-height:480px}
.promo-banner-link{position:absolute;inset:0;display:block}
.promo-banner-link:focus-visible{outline:3px solid #58d9ff;outline-offset:-5px}
.admin-home-slideshow-editor{--cms-blue:#155bff;--cms-cyan:#12c8ff}
.admin-home-slideshow-editor .admin-card-head{margin-bottom:12px}
.admin-home-slideshow-editor .admin-editor-guide{margin-bottom:10px;padding:14px 16px;border-radius:16px}
.admin-home-slideshow-editor .admin-card-head + .admin-editor-guide{display:none!important}
.admin-home-slideshow-editor form:not(.slideshow-preset-box){display:grid;gap:14px}
.admin-home-slide-list{gap:14px!important}
.admin-home-slide{border-radius:18px!important;background:linear-gradient(180deg,#fff,#f7fbff)!important}
.admin-home-slide-head{padding:12px 14px!important;background:linear-gradient(90deg,#08111f,#12316f)!important}
.admin-home-slide-head strong{color:#fff!important;font-size:1rem!important}
.admin-home-slide-head small{color:#9feaff!important;font-size:.82rem!important}
.admin-home-slide-actions{gap:6px!important}
.admin-home-slide-actions .admin-link-button{font-size:.78rem!important}
.admin-home-slide-builder{grid-template-columns:minmax(250px,.48fr) minmax(0,1.52fr)!important;gap:14px!important;padding:14px!important;align-items:start!important}
.admin-home-slide-preview{align-self:start!important;height:190px!important;min-height:190px!important;max-height:190px!important;border-radius:16px!important}
.admin-home-slide-preview-copy{min-height:190px!important;padding:18px!important;gap:7px!important}
.admin-home-slide-preview-copy span{padding:4px 8px!important;font-size:.62rem!important}
.admin-home-slide-preview-copy strong{max-width:230px!important;font-size:clamp(1.45rem,2.2vw,2.45rem)!important}
.admin-home-slide-preview-copy small{max-width:240px!important;font-size:.75rem!important}
.admin-home-slide-preview-copy em{padding:7px 10px!important;font-size:.7rem!important}
.admin-home-slide-preview img{max-width:48%!important;max-height:80%!important;right:-3%!important}
.admin-home-slide-fields{gap:10px!important}
.admin-home-slide-fieldset{gap:10px!important;padding:12px!important;border-radius:14px!important}
.admin-home-slide-fieldset h4{font-size:.78rem!important}
.admin-home-slide-fieldset .admin-form-grid{grid-template-columns:repeat(5,minmax(120px,1fr))!important;gap:10px!important}
.admin-home-slide-fieldset .admin-form-grid label span,.slide-options label span{font-size:.68rem!important;letter-spacing:.04em}
.slide-options{border:1px solid rgba(21,91,255,.32);padding:12px;border-radius:14px;background:linear-gradient(135deg,#155bff0d,transparent)}
.slide-options label{min-width:0}
.slide-options input,.slide-options select{min-height:36px!important}
.slide-options>.admin-form-grid{display:grid!important;grid-template-columns:minmax(120px,.8fr) minmax(120px,.8fr) minmax(220px,1.4fr) minmax(190px,1fr)!important;gap:10px!important;align-items:start}
.slide-options>.admin-form-grid label:nth-child(3),.slide-options>.admin-form-grid label:nth-child(4){display:none!important}
.slide-options>.admin-form-grid label:nth-child(5){grid-column:auto!important}
.slide-options>.admin-form-grid label:nth-child(6){grid-column:auto!important}
.slide-options fieldset{grid-column:1/-1}
.slide-options fieldset{display:none!important;border:1px solid #8799b544;border-radius:8px;margin:16px 0;padding:12px}
.slide-options fieldset.slide-foreground-tuning{display:block!important;margin:10px 0 0;padding:10px;border-color:rgba(88,217,255,.36);background:linear-gradient(135deg,rgba(18,200,255,.08),rgba(21,91,255,.06));border-radius:12px}
.slide-options fieldset.slide-foreground-tuning legend{font-size:.72rem;font-weight:900;color:#155bff;text-transform:uppercase;letter-spacing:.06em}
.slide-options fieldset.slide-foreground-tuning .admin-form-grid{display:grid!important;grid-template-columns:repeat(3,minmax(140px,1fr))!important;gap:10px!important}
.slide-options input[type=range]{width:100%;accent-color:#155bff}
.slide-options output{font-size:12px;color:#3989ff}
.slide-options small,.slide-options p{font-size:11px;line-height:1.45;opacity:.72}
.slide-options p,.slide-options .admin-media-upload-card,.slide-options [data-slide-device],.slide-options>small{display:none!important}
.slide-options>.admin-form-grid label small{display:none!important}
.admin-media-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.admin-media-upload-card{gap:8px!important;padding:10px!important;border-radius:12px!important}
.admin-media-upload-card img{height:72px!important}
.admin-media-upload-card small,.admin-media-upload-card summary{font-size:.72rem!important}
.admin-upload-button{min-height:34px!important;padding:7px 10px!important;font-size:.76rem!important}
.admin-home-slide-preview.is-mobile{width:280px!important;max-width:100%;min-height:400px!important;aspect-ratio:3/4;margin-inline:auto}
.admin-home-slide-preview[data-mode=banner] .admin-home-slide-preview-copy,.admin-home-slide-preview[data-mode=banner] [data-home-slide-preview-foreground],.admin-home-slide-preview[data-mode=banner] .admin-home-slide-preview-shade{display:none!important}
.admin-home-slide-preview[data-mode=product]{background-color:#031334}
.promo-product-stage{display:contents}
/* Use the storefront's bounded shell, not viewport-based product offsets.
   All product shapes share a contained stage; mobile keeps its own flow. */
@media (min-width:821px){
  .hero .hero-slide.promo-product{width:100%;max-width:none}
  .hero .promo-product>:is(.promo-kicker,.hero-title,.hero-title-art,.promo-price,.promo-mini-actions,.hero-cta){max-width:42%}
  .hero .promo-product>.promo-price{display:grid;grid-template-columns:repeat(3,max-content);align-items:center;gap:4px 12px;width:max-content;max-width:none;white-space:nowrap}
  .hero .promo-product>.promo-price small{grid-column:1/-1;white-space:normal}
  .hero .promo-product .hero-note{max-width:42%!important}
  .hero .promo-product .promo-product-stage{position:absolute;display:flex;align-items:center;justify-content:center;left:auto;right:0;top:0;width:55%;height:clamp(310px,31vw,470px);z-index:3}
  .hero .promo-product-stage .hero-slide-foreground{position:static;inset:auto;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transform:translate(calc(var(--fgx,0) * 1%),calc(var(--fgy,0) * 1%)) scale(var(--fgz,1))}
  .promo-product-stage--calibrated .hero-slide-foreground{position:static;inset:auto;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 24px 26px #0009) drop-shadow(0 0 22px #58d9ff26)}
  .hero:has(.slider-product-button) .slider-dots{left:50%;right:auto;transform:translateX(-50%);width:min(76vw,calc(100% - 40px),1440px)}
}
@media (min-width:1101px) and (max-width:1180px){
  .hero:has(.slider-product-button) .slider-dots{width:min(82vw,calc(100% - 40px))}
}
@media (min-width:821px) and (max-width:1100px){
  /* Reserve equal gutters for the social rail and persistent service buttons.
     The tablet utility header also needs room for the logo caption. */
  body:has(.hero .promo-product) .shell{width:calc(100% - 168px)}
  .hero:has(.promo-product) .hero-content{padding-top:230px}
  .hero:has(.slider-product-button) .slider-dots{width:calc(100% - 168px)}
}
.slide-card-image{display:none}
