.specialty-home{--sf-progress:0;--sf-pointer-x:50%;--sf-pointer-y:50%;--sf-hero-y:0%;--sf-hero-scale:1;--sf-copy-y:0px;--sf-copy-opacity:1;--sf-cue-opacity:1;overflow-x:clip;background:#fff}
.specialty-home .site-header{position:fixed;inset:0 0 auto;z-index:50;border:0;background:linear-gradient(180deg,rgba(5,9,14,.54),transparent);box-shadow:none;color:#fff;transition:background .4s ease,box-shadow .4s ease,color .4s ease}
.specialty-home .site-header .brand{background:transparent}
.specialty-home .site-header:not(.is-scrolled) .brand{filter:drop-shadow(0 2px 12px rgba(0,0,0,.32))}
.specialty-home .site-header:not(.is-scrolled) .desktop-nav>.nav-entry>.nav-link,.specialty-home .site-header:not(.is-scrolled) .desktop-nav>.nav-entry>.nav-entry-head>.nav-link,.specialty-home .site-header:not(.is-scrolled) .desktop-nav>.nav-entry>.nav-entry-head>.submenu-toggle,.specialty-home .site-header:not(.is-scrolled) .language-switch,.specialty-home .site-header:not(.is-scrolled) .icon-button,.specialty-home .site-header:not(.is-scrolled) .header-phone{color:#fff}
.specialty-home .site-header:not(.is-scrolled) .mega-menu a,.specialty-home .site-header:not(.is-scrolled) .mobile-nav .nav-link{color:#20282d}
.specialty-home .site-header:not(.is-scrolled) .mobile-nav .submenu-toggle{color:#717a80}
.specialty-home .site-header:not(.is-scrolled) .menu-button span{background:#fff}
.specialty-home .site-header:not(.is-scrolled) .language-switch,.specialty-home .site-header:not(.is-scrolled) .header-phone{border-color:rgba(255,255,255,.38)}
.specialty-home .site-header.is-scrolled{background:rgba(255,255,255,.94);box-shadow:0 8px 32px rgba(18,27,36,.09);color:#15202b;backdrop-filter:blur(18px)}
.specialty-home .home-carousel{height:100svh;min-height:680px;background:#080c11;transform:translateZ(0)}
.specialty-home .hero-slides{overflow:hidden;background:#080c11}
.specialty-home .hero-slide::after{display:block;background:linear-gradient(90deg,rgba(2,5,9,.7) 0%,rgba(2,5,9,.46) 31%,rgba(2,5,9,.12) 59%,transparent 78%),linear-gradient(180deg,rgba(2,5,9,.3),transparent 36%,rgba(2,5,9,.38));z-index:-1}
.specialty-home .hero-slide-video::after{display:block;background:linear-gradient(90deg,rgba(2,5,9,.64) 0%,rgba(2,5,9,.38) 30%,rgba(2,5,9,.08) 58%,transparent 76%),linear-gradient(180deg,rgba(2,5,9,.28),transparent 34%,rgba(2,5,9,.46))}
.specialty-home .home-carousel .home-hero-image,.specialty-home .home-hero-video{height:108%;inset:-4% 0;object-position:center 58%;transform:translate3d(0,var(--sf-hero-y),0) scale(var(--sf-hero-scale));transition:opacity .3s ease;will-change:transform,opacity}
.specialty-home .home-carousel .hero-slide-video .home-hero-image{height:108%;inset:-4% 0;object-position:center 58%;transform:translate3d(0,var(--sf-hero-y),0) scale(var(--sf-hero-scale))}
.specialty-home .video-cover-brand{z-index:1;inset:0;width:min(1440px,calc(100% - 224px));margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;transform:translate3d(0,var(--sf-copy-y),0);opacity:var(--sf-copy-opacity);will-change:transform,opacity}
.specialty-home .video-cover-brand .sf-hero-kicker{max-width:540px;margin:0 0 18px;color:#fff;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase;opacity:1;will-change:transform,opacity}
.specialty-home .home-carousel .video-cover-brand h2{max-width:620px;margin:0;color:#fff;font-size:64px;font-weight:650;line-height:1.08;letter-spacing:0;text-shadow:0 3px 24px rgba(0,0,0,.34);opacity:1;will-change:transform,opacity}
.specialty-home .video-cover-brand .sf-hero-lead{max-width:540px;margin:22px 0 0;color:rgba(255,255,255,.9);font-size:22px;line-height:1.65;text-shadow:0 2px 14px rgba(0,0,0,.42);opacity:1;will-change:transform,opacity}
.specialty-home .home-carousel .home-hero-copy{width:min(1440px,calc(100% - 224px));padding:0;text-align:left}
.specialty-home .home-carousel .home-hero-content,.specialty-home .home-carousel .hero-slide-factory .home-hero-content{width:min(540px,100%);margin:0;transform:translate3d(0,var(--sf-copy-y),0);opacity:var(--sf-copy-opacity)}
.specialty-home .home-carousel .home-hero-content h1,.specialty-home .home-carousel .home-hero-content h2{font-size:58px;line-height:1.1;text-shadow:0 3px 22px rgba(0,0,0,.35)}
.specialty-home .home-carousel .home-hero-lead{font-size:22px;line-height:1.55}
.specialty-home .home-carousel .hero-actions{justify-content:flex-start}
.specialty-home .home-carousel .button.primary{border:1px solid rgba(255,255,255,.76);background:rgba(255,255,255,.94);color:#111820}
.specialty-home .home-carousel .hero-text-link{color:#fff}
.sf-scroll-cue{position:absolute;left:50%;bottom:34px;z-index:6;width:54px;height:54px;translate:-50% 0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.52);border-radius:50%;background:rgba(5,9,14,.12);color:#fff;cursor:pointer;backdrop-filter:blur(5px);transition:background .25s ease,transform .25s ease,opacity .25s ease;opacity:var(--sf-cue-opacity)}
.sf-scroll-cue::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);animation:sf-cue 1.7s ease-in-out infinite}
.sf-scroll-cue:hover{background:rgba(255,255,255,.16);transform:translateY(4px)}
@keyframes sf-cue{0%,100%{translate:0 -3px;opacity:.55}50%{translate:0 4px;opacity:1}}
.specialty-home .hero-carousel-arrows{position:absolute;z-index:7;inset:0;pointer-events:none}
.specialty-home .hero-carousel-arrows[hidden]{display:none}
.specialty-home .hero-control{position:absolute;top:50%;width:52px;height:52px;translate:0 -50%;padding:0;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(5,9,14,.16);box-shadow:0 10px 28px rgba(0,0,0,.12);backdrop-filter:blur(8px);pointer-events:auto;scale:1;transition:background .25s ease,border-color .25s ease,scale .25s ease,opacity .25s ease}
.specialty-home .hero-control[hidden]{display:none}
.specialty-home .hero-control[data-hero-prev]{left:34px}.specialty-home .hero-control[data-hero-next]{right:34px}
.specialty-home .hero-control:hover{border-color:rgba(255,255,255,.78);background:rgba(5,9,14,.34);scale:1.04}
.specialty-home .hero-control:active{background:rgba(5,9,14,.46);scale:.97}
.specialty-home .hero-control img{width:18px;height:18px;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.specialty-home .hero-control[data-hero-prev]:hover img{transform:translateX(-3px)}
.specialty-home .hero-control[data-hero-next]:hover img{transform:translateX(3px)}
.specialty-home .hero-caption{display:none}
.hero-transition-veil{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:linear-gradient(105deg,rgba(6,10,15,.96),rgba(16,23,29,.9) 48%,rgba(6,10,15,.96));will-change:opacity}
.specialty-home .intro-band{position:relative;z-index:4;border:0;background:#10151b;color:rgba(255,255,255,.7);box-shadow:0 -28px 65px rgba(0,0,0,.18)}
.specialty-home .intro-band strong{color:#fff}.specialty-home .intro-band a{color:#fff;border-color:rgba(255,255,255,.16)}
.specialty-home .home-products{padding-top:130px;padding-bottom:150px}
.specialty-home .section-head h2{font-size:clamp(38px,4.1vw,62px);line-height:1.12}
.specialty-home .showcase-media{overflow:hidden;background:#eef1f3}
.specialty-home .showcase-media img{transform:translate3d(var(--sf-media-x,0),var(--sf-media-y,0),0) scale(1.035);transition:transform .8s cubic-bezier(.16,1,.3,1);will-change:transform}
.specialty-home .showcase-media.sf-media-active img{transition-duration:.16s}
.specialty-home .home-manufacturing{background:#f1f3f5}
@media(max-width:1100px){
  .specialty-home .video-cover-brand,.specialty-home .home-carousel .home-hero-copy{width:calc(100% - 176px)}
  .specialty-home .home-carousel .video-cover-brand h2{font-size:52px}
  .specialty-home .home-carousel .home-hero-content h1,.specialty-home .home-carousel .home-hero-content h2{font-size:48px}
  .specialty-home .video-cover-brand .sf-hero-lead,.specialty-home .home-carousel .home-hero-lead{font-size:20px}
  .specialty-home .hero-control{width:48px;height:48px}
  .specialty-home .hero-control[data-hero-prev]{left:20px}.specialty-home .hero-control[data-hero-next]{right:20px}
}
@media(max-width:760px),(max-width:1100px) and (hover:none) and (pointer:coarse){
  .specialty-home .site-header{position:sticky;inset:auto;top:0;background:#fff;color:var(--ink)}
  .specialty-home .site-header:not(.is-scrolled) .brand{filter:none}
  .specialty-home .site-header:not(.is-scrolled) :is(.language-switch,.icon-button){color:var(--ink);border-color:var(--line)}
  .specialty-home .site-header:not(.is-scrolled) .menu-button span{background:var(--ink)}
  .specialty-home .home-carousel{height:auto;min-height:0;aspect-ratio:4 / 3}
  .specialty-home .hero-slide{align-items:center}
  .specialty-home .home-carousel .home-hero-image{animation:none!important;will-change:auto}
  .specialty-home .hero-control{backdrop-filter:none}
  .specialty-home .home-carousel .home-hero-image,.specialty-home .home-hero-video,.specialty-home .home-carousel .hero-slide-video .home-hero-image{inset:0;width:100%;height:100%;object-position:center;transform:none}
  .specialty-home .home-carousel .hero-slide-factory .home-hero-image{inset:0;width:100%;object-position:35% center}
  .specialty-home .hero-slide-video::after{background:linear-gradient(90deg,rgba(2,5,9,.3),rgba(2,5,9,.04) 65%),linear-gradient(0deg,rgba(2,5,9,.12),transparent 30%)}
  .specialty-home .video-cover-brand{inset:0 20px;width:auto;margin:0;padding:22px 0 68px;align-items:flex-start;justify-content:center;text-align:left}
  .specialty-home .video-cover-brand .sf-hero-kicker{margin-bottom:10px;font-size:10px}
  .specialty-home .home-carousel .video-cover-brand h2{max-width:350px;font-size:32px;line-height:1.16;text-wrap:balance}
  .specialty-home .hero-title-line{display:block}
  .specialty-home .hero-slide-video .home-hero-video,.specialty-home .hero-slide-video .home-hero-image{object-position:center}
  .specialty-home .video-cover-brand .sf-hero-lead{max-width:320px;margin-top:12px;font-size:15px;line-height:1.5}
  .specialty-home .home-carousel .home-hero-copy{width:calc(100% - 40px);padding:22px 0 68px}
  .specialty-home .home-carousel .home-hero-content,.specialty-home .home-carousel .hero-slide-factory .home-hero-content{width:100%;text-align:left}
  .specialty-home .home-carousel .home-hero-content h1,.specialty-home .home-carousel .home-hero-content h2{font-size:30px;line-height:1.16}
  .specialty-home .home-carousel .home-hero-lead{font-size:15px;line-height:1.5}
  .specialty-home .home-carousel .hero-actions{justify-content:flex-start;gap:12px;margin-top:16px}
  .specialty-home .home-carousel .hero-actions .button{min-height:44px;padding:10px 14px;font-size:13px}
  .specialty-home .home-carousel .hero-text-link{font-size:13px}
  .specialty-home .hero-control{top:auto;bottom:14px;width:44px;height:44px;translate:none;box-shadow:none}
  .specialty-home .hero-control[data-hero-prev]{left:20px}.specialty-home .hero-control[data-hero-next]{right:20px}
  .specialty-home .hero-control img{width:16px;height:16px}
  .specialty-home .sf-scroll-cue{display:none}
  .specialty-home .intro-band{box-shadow:none}
  .specialty-home .intro-band-inner{padding-top:18px;padding-bottom:18px}
  .specialty-home .intro-band p{display:flex;flex-wrap:wrap;gap:2px 12px;margin-bottom:12px}
  .specialty-home .intro-band strong{margin-left:0}
  .specialty-home .intro-band a{min-height:44px;padding-inline:8px;gap:4px;white-space:nowrap}
  .specialty-home .intro-band a:first-of-type{padding-left:0}
  .specialty-home .intro-band a:last-child{padding-right:0}
  .specialty-home .intro-band a span{flex:none}
  html:lang(en) .specialty-home .home-carousel .video-cover-brand h2{font-size:28px}
  html:lang(en) .specialty-home .home-carousel .hero-actions{gap:10px}
  html:lang(en) .specialty-home .home-carousel .hero-actions .button{padding-inline:10px;font-size:12px}
  html:lang(en) .specialty-home .home-carousel .hero-text-link{font-size:12px}
  html:lang(en) .specialty-home .intro-band a{font-size:11px;line-height:1.5;white-space:normal}
  .specialty-home .home-products{padding-top:84px;padding-bottom:96px}
}
@media(min-width:761px) and (max-width:1100px) and (hover:none) and (pointer:coarse) and (orientation:landscape){
  .specialty-home .home-carousel{height:min(480px,max(250px,calc(100svh - var(--header-height) - 40px)));aspect-ratio:auto}
  .specialty-home .hero-control[data-hero-next]{right:86px}
}
@media(prefers-reduced-motion:reduce){.specialty-home .home-carousel .home-hero-image,.specialty-home .home-hero-video,.specialty-home .video-cover-brand,.specialty-home .home-hero-content{transform:none!important}.specialty-home .home-hero-content{opacity:1!important}.sf-scroll-cue::before{animation:none}.specialty-home .showcase-media img{transform:none!important}}

@media(max-width:760px),(hover:none),(pointer:coarse){
  .specialty-home .home-hero-content,.specialty-home .video-cover-brand{transform:none;opacity:1;will-change:auto}
  .specialty-home .site-header.is-scrolled{background:#fff;backdrop-filter:none}
}

/* Positive media layers and a native poster avoid transparent hardware-video surfaces. */
.specialty-home .hero-slide-video .home-hero-image{z-index:0}
.specialty-home .hero-slide-video .home-hero-video{z-index:1;opacity:1;transition:none;will-change:auto}
.specialty-home .hero-slide-video::after{z-index:2;pointer-events:none}
.specialty-home .hero-slide-video .video-cover-brand{z-index:3}
.hero-video-playback{position:absolute;z-index:4;left:112px;bottom:34px;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(10,16,22,.48);color:#fff;cursor:pointer;touch-action:manipulation}
.hero-video-playback img{grid-area:1/1;width:20px;height:20px;filter:brightness(0) invert(1)}
.hero-video-playback [data-playback-icon="pause"],.hero-video-playback[data-playing="true"] [data-playback-icon="play"]{display:none}
.hero-video-playback[data-playing="true"] [data-playback-icon="pause"]{display:block}
.hero-video-playback:hover{background:rgba(10,16,22,.7)}
.hero-video-playback:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:1100px){.hero-video-playback{left:88px}}
@media(max-width:760px),(max-width:1100px) and (hover:none) and (pointer:coarse){.hero-video-playback{left:20px;bottom:14px;width:44px;height:44px}}
