/* Homepage only. Final responsive layer over the legacy density presets. */
#heroCarousel .carousel-slide[aria-hidden="true"]{pointer-events:none}
#heroCarousel .hero-load-status{position:absolute;z-index:31;bottom:74px;left:16px;right:16px;text-align:center;margin:0!important;color:white;font-size:12px!important}
#heroCarousel .hero-load-status:empty{display:none}
#heroCarousel :is(button,a):focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:1023px){
  html{scroll-padding-top:80px}
  .sx-header .sx-nav{padding-inline:16px!important}
  .sx-header .sx-tools{gap:4px!important}
  .sx-header :is(.sx-tool,.sx-toggle){width:44px!important;height:44px!important;min-width:44px}
  .sx-header .sx-language{display:none!important}
  .sx-search input{font-size:16px!important}
  #heroCarousel{height:clamp(540px,84svh,690px)!important;min-height:540px!important;max-height:690px!important;touch-action:pan-y pinch-zoom}
  #heroCarousel .carousel-slide>.relative{align-items:flex-end!important;padding:88px 20px 104px!important}
  #heroCarousel .carousel-slide>.relative>div{width:100%}
  #heroCarousel .hero-sharp-mask{background:linear-gradient(180deg,#06090c12 15%,#06090c30 32%,#06090ccf 66%,#080b0e 100%)!important}
  #heroCarousel h1,#heroCarousel h2{font-size:clamp(28px,8.2vw,36px)!important;line-height:1.12!important;margin-bottom:14px!important;text-shadow:0 2px 12px #0008!important}
  #heroCarousel h1 .text-accent,#heroCarousel h2 .text-accent{color:#ff858a!important}
  #heroCarousel .carousel-slide p{font-size:14px!important;line-height:1.6!important;color:#fff!important;margin-bottom:20px!important;padding:0!important;text-shadow:0 1px 5px #000}
  #heroCarousel .carousel-text.delay-2{width:100%;max-width:440px;display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
  #heroCarousel .carousel-text.delay-2 a{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:13px!important;padding:12px 8px!important;backdrop-filter:none!important}
  #heroCarousel #prevBtn,#heroCarousel #nextBtn{display:flex!important;top:auto!important;bottom:18px!important;width:44px!important;height:44px!important;transform:none!important}
  #heroCarousel #prevBtn{left:16px!important}#heroCarousel #nextBtn{right:16px!important}
  #heroCarousel .hero-pagination{bottom:18px!important;gap:0!important}
  #heroCarousel .carousel-indicator{display:grid;place-items:center;width:32px!important;height:44px!important;margin:0!important;border:0;border-radius:0;background:transparent!important;opacity:1!important;transform:none!important}
  #heroCarousel .carousel-indicator::after{content:"";width:8px;height:8px;border-radius:50%;background:#9b9fa4;transition:background .2s}
  #heroCarousel .carousel-indicator.active::after{background:#ff737b}
  #heroCarousel .carousel-slide{transition:opacity .28s ease!important}
  #heroCarousel .carousel-text{opacity:1!important;transform:none!important;translate:none!important;filter:none!important;transition:none!important}
  #heroCarousel .carousel-slide>.bg-cover{transform:none!important;transition:none!important;will-change:auto!important}
  /* Fast swipes must not land on blank reveal panels. */
  :is(.fade-up,.cta-text,.hn-reveal,.sx-motion,.con02_list1_lt,.con02_list1_rt,.con02_list3 li,.product-line-card){opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;transition:none!important}
  :is(.product-line-card,.product-line-card:hover) .product-icon-img{transform:none!important}
  .hm-play *,.hm-play *::before{animation:none!important}
  .hm-replay{display:none!important}
  .hn-progress{display:none!important}
  #stats-section{padding:24px 0!important}
  #stats-section>.max-w-7xl{padding-inline:16px!important}
  #stats-section .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  #stats-section .stat-card{min-height:106px!important;padding:16px 9px!important}
  #stats-section .stat-value{font-size:clamp(18px,5vw,22px)!important;line-height:1.2!important}
  #stats-section .stat-card p{font-size:11px!important;line-height:1.4!important;letter-spacing:.025em!important;color:#555e68!important;margin-top:8px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .con02bg{padding:36px 0!important}
  .con02bg>.wapper1{padding-inline:20px!important}
  .con02_list1{gap:24px!important;margin:0 0 24px!important}
  .con02_list1 .box1 .h4{font-size:15px!important;line-height:1.75!important;color:#434c55!important}
  .con02_list1 .h5 a{min-height:44px;font-size:13px!important;padding:12px 20px!important}
  /* Both axes stay native: vertical swipes over photos still scroll the page. */
  .con02_list3 ul{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;gap:12px!important;scroll-snap-type:x proximity!important;overscroll-behavior-x:contain;overscroll-behavior-y:auto!important;touch-action:pan-x pan-y pinch-zoom!important}
  .con02_list3 ul *{touch-action:pan-x pan-y pinch-zoom!important}
  .con02_list3 li{flex:0 0 88%!important;scroll-snap-align:start}
  .con02_list3 .txtbg .h3{font-size:13px!important;line-height:1.55!important;color:#535b65!important}
  .evelx-recommended-header{height:auto!important;min-height:64px!important;padding:8px 16px!important}
  .evelx-recommended-controls{gap:10px!important}
  .evelx-recommended-btn{width:44px!important;height:44px!important}
  .evelx-recommended-name{font-size:17px!important}
  .evelx-recommended-desc{font-size:13px!important;line-height:1.5!important}
  .evelx-equipment-banner .equipment-banner-subtitle{font-size:13px!important;line-height:1.5!important}
  .products-overview-section{padding:40px 0!important}
  .products-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .product-line-card{display:flex!important;flex-direction:column!important;height:auto!important;min-height:254px!important;padding:20px 12px 12px!important;overflow:visible!important}
  .product-icon-wrap{flex-shrink:0;width:84px!important;height:84px!important;margin:0 auto 14px!important}
  .product-icon-img{width:80px!important;height:80px!important;object-fit:contain}
  .product-line-title{font-size:15px!important;line-height:1.35!important;margin:0 0 6px!important;min-height:0!important}
  .product-line-desc{font-size:13px!important;line-height:1.5!important;margin:0 0 10px!important;min-height:0!important;color:#535b65!important}
  .product-line-link{position:relative!important;inset:auto!important;display:flex!important;min-height:44px!important;padding:8px 0!important;margin:auto 0 0!important;font-size:12px!important;line-height:1.4!important}
  .product-line-link::after{display:none!important}
  .products-all-btn{min-height:48px;font-size:14px!important;padding:12px 24px!important}
  .who-we-serve-section{padding:40px 0!important}
  .who-we-serve-section h2{font-size:30px!important;line-height:1.15!important}
  .who-we-serve-section .who-layout>div:first-child>p{font-size:15px!important;line-height:1.65!important;color:#535b65!important}
  .who-service-list{gap:8px 16px!important}
  .who-service-item a{display:flex;align-items:center;min-height:44px;font-size:15px!important}
  .who-service-item p{font-size:13px!important;line-height:1.55!important;color:#59616c!important}
  #contact p{font-size:15px!important;line-height:1.65!important}
  #contact a{min-height:48px;font-size:14px!important}
  .sx-footer{padding-bottom:max(24px,env(safe-area-inset-bottom))!important}
  .sx-footer-links a{display:flex;align-items:center;min-height:44px;font-size:13px!important}
}
@media(min-width:701px) and (max-width:1023px){
  #stats-section .grid,.products-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #heroCarousel .carousel-text.delay-2{margin-inline:auto}
}
@media(max-width:360px){
  #heroCarousel .carousel-slide>.relative{padding-inline:16px!important;padding-bottom:90px!important}
  #heroCarousel .carousel-slide p{font-size:13px!important;line-height:1.5!important;margin-bottom:16px!important}
  #heroCarousel h1,#heroCarousel h2{font-size:28px!important}
  .product-line-card{padding-inline:9px!important}
}
@media(prefers-reduced-motion:reduce){
  #heroCarousel .carousel-slide{transition:none!important}
  html,body{scroll-behavior:auto!important}
}
