/* Normalize Elementor wrappers so imported layout keeps the theme grid. */
.sw-proof>.elementor-widget-html,.sw-proof>.elementor-widget-html>.elementor-widget-container,.sw-editorial>.elementor-widget-html,.sw-editorial>.elementor-widget-html>.elementor-widget-container,.sw-support>.elementor-widget-html,.sw-support>.elementor-widget-html>.elementor-widget-container{display:contents}
.sw-hero>.e-con-inner,.sw-choice>.e-con-inner{display:contents}
.elementor .e-con.sw-hero{display:grid!important;grid-template-columns:48% 52%!important;gap:0!important;padding:0!important;max-width:none!important}
.elementor .e-con.sw-choice{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;padding:0!important;max-width:none!important}
.elementor .e-con.sw-hero>.e-con,.elementor .e-con.sw-choice>.e-con{width:100%!important;max-width:none!important;margin:0!important}
.elementor .e-con.sw-proof,.elementor .e-con.sw-editorial,.elementor .e-con.sw-support{display:grid!important;max-width:none!important}
.elementor .e-con.sw-proof{grid-template-columns:repeat(4,1fr)!important}
.elementor .e-con.sw-editorial{grid-template-columns:30% 70%!important}
.elementor .e-con.sw-support{grid-template-columns:1fr 1fr!important}
.elementor .sw-hero-copy .elementor-widget-html,.elementor .sw-hero-copy .elementor-widget-container{width:100%;height:auto}
/* Tablet */
@media (min-width:601px) and (max-width:1024px){
  .elementor .e-con.sw-hero{grid-template-columns:46% 54%!important;min-height:520px!important}
  .elementor .e-con.sw-choice{grid-template-columns:48% 52%!important;min-height:540px!important}
  .elementor .e-con.sw-editorial,.elementor .e-con.sw-support{grid-template-columns:30% 70%!important}
  .elementor .e-con.sw-proof{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0 2vw!important}
  .elementor .sw-proof span{padding:19px 4px!important;font-size:7px!important;letter-spacing:.08em!important;white-space:nowrap!important}
  .elementor .sw-hero-copy{padding:65px 2.2vw 55px 2.5vw!important;min-width:0!important;min-height:0!important;justify-content:center!important}
  .elementor .sw-hero-copy .sw-kicker{font-size:7px!important;font-weight:400!important;letter-spacing:.14em!important;white-space:nowrap!important;margin-bottom:20px!important}
  .elementor .sw-hero-copy h1{font-size:clamp(48px,7.2vw,72px)!important;line-height:.86!important;max-width:100%!important;overflow-wrap:normal!important;word-break:normal!important}
  .elementor .sw-slogan{font-size:clamp(20px,2.8vw,28px)!important;margin:22px 0 10px!important}
  .elementor .sw-lead{font-size:12px!important;line-height:1.55!important}
  .elementor .sw-hero-buttons{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;gap:7px!important;margin-top:25px!important;width:100%!important}
  .elementor .sw-hero-buttons .sw-btn{display:flex!important;width:100%!important;min-width:0!important;min-height:58px!important;padding:10px 8px!important;font-size:8px!important;line-height:1.2!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
  .elementor .sw-hero-buttons .sw-btn span{margin-left:6px!important;flex:0 0 auto!important}
  .elementor .sw-hero-stage{height:auto!important;min-height:520px!important}
  .elementor .sw-hero-product{width:90%!important;height:480px!important;object-fit:contain!important}
  .elementor .sw-model{top:24px!important;left:0!important;right:0!important;width:100%!important;text-align:center!important;font-size:13px!important}
  .elementor .sw-tag{min-width:92px!important;padding:11px 13px!important}
  .elementor .sw-tag b{font-size:18px!important}
  .elementor .sw-choice-copy{padding:65px 4vw!important;min-width:0!important}
  .elementor .sw-choice-copy h2{font-size:clamp(42px,6vw,62px)!important}
  .elementor .sw-choice-copy>p:not(.sw-kicker){margin:22px 0!important;font-size:11px!important;line-height:1.6!important}
  .elementor .sw-choice-copy>p:not(.sw-kicker){font-size:9px!important;font-weight:300!important;line-height:1.35!important;letter-spacing:0!important}
  .elementor .sw-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;margin-top:28px!important;width:100%!important}
  .elementor .sw-metrics div{min-width:0!important;padding:16px 8px 0 0!important}
  .elementor .sw-metrics b,.elementor .sw-metrics span{font-size:clamp(10px,1.35vw,14px)!important;line-height:1.15!important;letter-spacing:-.02em!important}
  .elementor .sw-metrics span{margin-top:3px!important}
  .elementor .sw-choice-art{height:auto!important;min-height:540px!important}
  .elementor .sw-choice-art img{height:540px!important;min-height:0!important;object-fit:contain!important}
  .elementor .sw-section{padding:80px 3vw!important}
  .elementor .sw-products ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:18px!important;row-gap:56px!important}
  .elementor .sw-products ul.products li.product a.woocommerce-LoopProduct-link{display:block!important;width:100%!important}
  .elementor .sw-products ul.products li.product a img{width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important;background:#e3e4df!important}
  .elementor .sw-products ul.products li.product .woocommerce-loop-product__title{font-size:15px!important}
  .elementor .sw-products ul.products li.product .price{font-size:21px!important}
  .elementor .sw-products ul.products li.product .button{min-width:120px!important;padding:12px 14px!important}
  .elementor .sw-editorial,.elementor .sw-support{padding:75px 5vw!important}

  /* Keep Elementor navigation as text on tablet; hamburger remains phone-only. */
  .elementor-widget-nav-menu .elementor-menu-toggle{display:none!important}
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown{display:none!important}
  .elementor-widget-nav-menu .elementor-nav-menu--main{display:flex!important}
  .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-nav-menu{display:flex!important;flex-wrap:nowrap!important}
  .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{padding-left:10px!important;padding-right:10px!important;font-size:11px!important;white-space:nowrap!important}
}

/* Editorial typography: match the restrained LOCAL SUPPORT eyebrow style. */
.elementor .sw-editorial>.elementor-widget-html>.elementor-widget-container>.sw-kicker,
.elementor .sw-editorial .sw-kicker{font-size:9px!important;font-weight:500!important;letter-spacing:.2em!important;line-height:1.35!important}
.elementor .sw-editorial>div>p:not(.sw-kicker),
.elementor .sw-editorial .elementor-widget-container>div>p{font-family:"Helvetica Neue",Arial,sans-serif!important;font-size:12px!important;font-weight:300!important;line-height:1.45!important;color:#707070!important;-webkit-font-smoothing:antialiased!important}

/* Phone */
@media (max-width:600px){
  .elementor .e-con.sw-hero,.elementor .e-con.sw-choice,.elementor .e-con.sw-editorial,.elementor .e-con.sw-support{grid-template-columns:minmax(0,1fr)!important;min-height:0!important}
  .elementor .e-con.sw-proof{grid-template-columns:1fr 1fr!important;margin:0!important}
  .elementor .sw-hero-copy{padding:54px 20px 46px!important;min-height:0!important}
  .elementor .sw-hero-copy h1{font-size:clamp(48px,17vw,68px)!important;line-height:.86!important;overflow-wrap:normal!important;word-break:normal!important}
  .elementor .sw-slogan{font-size:24px!important;line-height:1.15!important;margin-top:24px!important}
  .elementor .sw-lead{font-size:13px!important;line-height:1.55!important}
  .elementor .sw-hero-buttons{width:100%!important;gap:10px!important;margin-top:28px!important}
  .elementor .sw-hero-buttons .sw-btn{display:flex!important;width:100%!important;min-height:50px!important;align-items:center!important;justify-content:space-between!important}
  .elementor .sw-hero-stage{height:470px!important;min-height:0!important}
  .elementor .sw-hero-product{width:92%!important;height:430px!important;object-fit:contain!important}
  .elementor .sw-halo{width:390px!important;height:390px!important}
  .elementor .sw-model{top:24px!important;left:20px!important}
  .elementor .sw-tag{min-width:102px!important;padding:12px 14px!important}
  .elementor .sw-tag b{font-size:20px!important}
  .elementor .sw-tag-a{top:20%!important;right:12px!important}
  .elementor .sw-tag-b{bottom:16px!important;left:12px!important}
  .elementor .sw-proof span{padding:18px 8px!important;font-size:8px!important}
  .elementor .sw-section{padding:68px 18px!important}
  .elementor .sw-section-head{margin-bottom:34px!important}
  .elementor .sw-section h2,.elementor .sw-choice h2,.elementor .sw-editorial h2,.elementor .sw-support h2{font-size:44px!important}
  .elementor .sw-products ul.products{grid-template-columns:1fr!important}
  .elementor .sw-choice-copy{padding:70px 20px!important}
  .elementor .sw-metrics{margin-top:32px!important}
  .elementor .sw-metrics div{padding-top:18px!important}
  .elementor .sw-choice-art,.elementor .sw-choice-art img{height:420px!important;min-height:0!important;object-fit:contain!important}
  .elementor .sw-editorial,.elementor .sw-support{padding:68px 20px!important;gap:35px!important}

  /* Mobile hero: intentional compact stack, not a squeezed two-column layout. */
  .elementor .e-con.sw-hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
  .elementor .sw-hero-copy{padding:48px 20px 38px!important;min-height:0!important}
  .elementor .sw-hero-copy .sw-kicker{font-size:7px!important;font-weight:400!important;letter-spacing:.13em!important;white-space:nowrap!important;margin-bottom:20px!important}
  .elementor .sw-hero-copy h1{font-size:clamp(48px,15vw,62px)!important;line-height:.87!important}
  .elementor .sw-slogan{font-size:22px!important;margin:22px 0 10px!important}
  .elementor .sw-hero-buttons{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:25px!important}
  .elementor .sw-hero-buttons .sw-btn{width:100%!important;min-height:50px!important;padding:13px 18px!important;font-size:11px!important;white-space:normal!important}
  .elementor .sw-hero-stage{height:430px!important;min-height:0!important;width:100%!important;overflow:hidden!important}
  .elementor .sw-hero-product{width:88%!important;height:390px!important;object-fit:contain!important}
  .elementor .sw-model{top:22px!important;left:0!important;right:0!important;width:100%!important;text-align:center!important;font-size:12px!important;letter-spacing:.13em!important}

  /* Two compact square product cards per row on phones. */
  .elementor .sw-products ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:12px!important;row-gap:38px!important;width:100%!important}
  .elementor .sw-products ul.products li.product{min-width:0!important;width:100%!important}
  .elementor .sw-products ul.products li.product a.woocommerce-LoopProduct-link{display:block!important;width:100%!important}
  .elementor .sw-products ul.products li.product a img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important;margin-bottom:12px!important;background:#e3e4df!important}
  .elementor .sw-products ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;line-height:1.2!important}
  .elementor .sw-products ul.products li.product .price{font-size:19px!important;margin:9px 0 13px!important;gap:5px!important}
  .elementor .sw-products ul.products li.product .price del{font-size:10px!important}
  .elementor .sw-products ul.products li.product .button{min-width:0!important;width:auto!important;min-height:40px!important;padding:11px 13px!important;font-size:10px!important}
  .elementor .sw-products span.onsale{top:8px!important;right:8px!important;min-width:44px!important;min-height:28px!important;padding:6px 8px!important;font-size:10px!important}

  /* Mobile black banner: compact copy first, artwork immediately below. */
  .elementor .e-con.sw-choice{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
  .elementor .sw-choice-copy{padding:50px 20px 42px!important;min-height:0!important}
  .elementor .sw-choice-copy h2{font-size:clamp(42px,13vw,54px)!important;line-height:.9!important}
  .elementor .sw-choice-copy>p:not(.sw-kicker){font-size:9px!important;font-weight:300!important;line-height:1.4!important;margin:20px 0!important}
  .elementor .sw-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:24px!important}
  .elementor .sw-metrics div{padding:14px 5px 0 0!important;min-width:0!important}
  .elementor .sw-metrics b,.elementor .sw-metrics span{font-size:10px!important;line-height:1.2!important;letter-spacing:-.02em!important}
  .elementor .sw-more{margin-top:28px!important;padding:12px 16px!important;font-size:10px!important}
  .elementor .sw-choice-art{height:420px!important;min-height:0!important;width:100%!important;overflow:hidden!important}
  .elementor .sw-choice-art img{display:block!important;width:100%!important;height:420px!important;min-height:0!important;object-fit:contain!important}
}
