/* Only styles for dynamic functionality absent from the legacy build. */
.linkToOrder .shopCount[data-cart-count]{color:#24203a;font-family:var(--font-rubik);font-size:13px;font-weight:700;z-index:2}
.linkToOrder .shopCount[hidden]{display:none}
.dynamicLoading{font-family:var(--font-rubik);padding:24px;font-size:18px}
.dynamicEmpty{font-family:var(--font-rubik);padding:24px;font-size:18px}
.dynamicThumb{cursor:pointer}
.dynamicThumb img{object-fit:cover}
.dynamicThumb.active{background-color:#a7a7a7}
.dynamicProductDescription{margin-top:20px}
.dynamicAvailability{font-family:var(--font-rubik);font-size:14px;margin-top:10px}
.dynamicAvailability.no{color:#a00}
/* Keep the legacy desktop appearance. On narrow screens, keep the category list usable. */
@media(max-width:1100px){
  .body.hasMenu{position:relative}
  .body.hasMenu .menuContainer{position:relative;display:flex;width:30%;height:auto;background:transparent;align-items:stretch;justify-content:flex-end}
  .body.hasMenu .categoryContainer{border-right:2px solid #a7a7a7}
  .body.hasMenu .categoryLink{color:#24203a}
  .body.hasMenu .activeCategoryLink,.body.hasMenu .categoryLink:hover{border-bottom-color:#a7a7a7;color:#a7a7a7}
}
@media(max-width:850px){
  .body.hasMenu{display:block}
  .body.hasMenu .menuContainer{width:100%;position:relative;height:auto;background:transparent;overflow-x:auto;justify-content:flex-start}
  .body.hasMenu .categoryContainer{width:max-content;display:flex;border-right:0;border-bottom:1px solid #a7a7a7;margin-top:0;padding:8px}
  .body.hasMenu .categoryLink{font-size:16px;margin:0 14px 0 0;white-space:nowrap}
}

/* hs009 checkout + header stabilization */
.site-header .brand{align-self:center;line-height:1;transform:none!important}.site-header .brand img,.site-header .brand svg{max-height:80px}.checkout-section{width:min(760px,100%);margin:10px auto 60px;background:#fff;border-radius:12px;padding:22px}.checkout-section h2{margin-top:0}.checkout-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.checkout-form label{display:flex;flex-direction:column;gap:6px;font-size:16px}.checkout-form input,.checkout-form textarea{padding:10px 12px;border:1px solid #bbb;border-radius:7px;font:inherit}.checkout-form fieldset{border:1px solid #ccc;border-radius:8px;padding:10px 12px}.radio-line{display:block!important;margin:6px 0}.radio-line input{width:auto}.checkout-form label:last-of-type,.checkout-button,.checkout-status{grid-column:1/-1}.checkout-button{justify-self:end;border:0;border-radius:7px;padding:12px 24px;background:#1c1c1c;color:#fff;font:inherit;cursor:pointer}.checkout-status{min-height:24px}@media(max-width:700px){.checkout-form{grid-template-columns:1fr}.checkout-form>*{grid-column:1!important}}

/* hs010 cart: exact legacy header + polished checkout */
.hidden{display:none!important}
.hsCartPage{width:min(1360px,92vw);margin:0 auto;padding:34px 0 70px;box-sizing:border-box}
.hsCartTitle{font-family:var(--robo-bold);font-size:32px;line-height:1.15;margin:0 0 28px;color:#000}
.hsCartEmpty{width:min(560px,100%);margin:34px auto 0;padding:30px 26px;background:#fff;border-radius:12px;text-align:center;font-family:var(--font-rubik);font-size:21px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.hsCartList{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 16px rgba(0,0,0,.08)}
.hsCartRow{display:grid;grid-template-columns:92px minmax(220px,1fr) 142px 130px 42px;gap:18px;align-items:center;padding:15px 18px;border-bottom:1px solid #e2e2e2;font-family:var(--font-rubik)}
.hsCartRow:last-child{border-bottom:0}.hsCartImg{width:82px;height:82px;object-fit:cover;border-radius:8px;background:#eee}.hsCartName{display:block;font-size:18px;font-weight:700;color:#111;text-decoration:none;margin-bottom:8px}.hsCartUnit{font-size:15px;color:#666}.hsQty{display:flex;align-items:center;justify-content:center;gap:7px}.hsQty button,.hsRemove{border:0;background:#e5e6e8;cursor:pointer;font-family:var(--font-rubik)}.hsQty button{width:34px;height:34px;border-radius:7px;font-size:20px}.hsQty input{width:54px;height:34px;text-align:center;border:1px solid #c7c7c7;border-radius:7px;font:16px var(--font-rubik)}.hsCartLineTotal{font-size:18px;font-weight:700;text-align:right;color:#126801}.hsRemove{width:34px;height:34px;border-radius:7px;font-size:23px;line-height:1}.hsCartTotal{display:flex;justify-content:flex-end;gap:16px;align-items:baseline;padding:22px 4px 8px;font-family:var(--font-rubik);font-size:24px}.hsCartTotal strong{font-size:27px;color:#126801}
.hsCheckoutCard{width:min(900px,100%);margin:34px auto 0;background:#fff;border-radius:14px;padding:28px 30px 30px;box-shadow:0 3px 18px rgba(0,0,0,.1);font-family:var(--font-rubik)}
.hsCheckoutHead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.hsCheckoutHead h2{font-family:var(--robo-bold);font-size:27px;margin:0}.hsCheckoutSummary{font-size:15px;text-align:right;color:#666;line-height:1.5}.hsCheckoutSummary strong{color:#126801;font-size:19px}
.hsCheckoutForm{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.hsField{display:flex;flex-direction:column;gap:7px;font-size:15px;font-weight:600}.hsField span small{font-weight:400;color:#777}.hsField input,.hsField textarea{width:100%;box-sizing:border-box;border:1px solid #bfc0c2;border-radius:8px;background:#fff;padding:11px 12px;font:16px var(--font-rubik);outline:none;transition:border-color .15s,box-shadow .15s}.hsField input:focus,.hsField textarea:focus{border-color:#85878a;box-shadow:0 0 0 3px rgba(120,120,120,.12)}.hsFieldFull{grid-column:1/-1}.hsPayment{grid-column:1/-1;border:0;padding:0;margin:2px 0 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hsPayment legend{font-size:15px;font-weight:600;margin-bottom:8px}.hsPayOption{position:relative;display:inline-flex;cursor:pointer}.hsPayOption input{position:absolute;opacity:0;pointer-events:none}.hsPayOption span{display:flex;align-items:center;justify-content:center;min-width:138px;height:42px;padding:0 16px;border:1px solid #bfc0c2;border-radius:8px;background:#f0f1f2;font-size:15px;transition:.15s}.hsPayOption input:checked+span{background:#7d7f82;color:#fff;border-color:#7d7f82}.hsCheckoutButton{grid-column:1/-1;justify-self:end;min-width:250px;height:48px;border:0;border-radius:8px;background:linear-gradient(0deg,#bdbec0 0,#858486 72%,#787481);color:#fff;font:600 18px var(--font-rubik);cursor:pointer}.hsCheckoutButton:hover{background:linear-gradient(180deg,#bdbec0 0,#858486 72%,#787481);color:#202020}.hsCheckoutStatus{grid-column:1/-1;margin:0;min-height:20px;font-size:15px}.hsCheckoutStatus strong{color:#126801}
@media(max-width:780px){.hsCartPage{width:94vw;padding-top:24px}.hsCartRow{grid-template-columns:70px 1fr 38px;gap:10px;padding:12px}.hsCartImg{width:64px;height:64px}.hsCartName{font-size:16px}.hsQty{grid-column:2;justify-content:flex-start}.hsCartLineTotal{grid-column:3;grid-row:2}.hsRemove{grid-column:3;grid-row:1}.hsCheckoutCard{padding:22px 18px}.hsCheckoutForm{grid-template-columns:1fr}.hsCheckoutForm>*{grid-column:1/-1}.hsCheckoutHead{display:block}.hsCheckoutSummary{text-align:left;margin-top:8px}.hsCheckoutButton{width:100%;min-width:0}.hsPayOption{flex:1}.hsPayOption span{min-width:0;width:100%}}


/* hs011: one locked public header geometry on every generated public page. */
.sitePublicHeader.containerHead{
  width:100vw;
  height:12vh;
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-sizing:border-box;
}
.sitePublicHeader .logo{
  display:flex;
  width:auto;
  height:auto;
  align-items:center;
  flex:0 0 auto;
}
.sitePublicHeader .linkTower{
  margin-left:100px;
  width:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  flex:0 0 auto;
}
.sitePublicHeader .signalTower{
  display:block;
  width:65px;
  height:65px;
  max-width:65px;
  max-height:65px;
  flex:0 0 65px;
}
.sitePublicHeader .HelicalTitle{
  width:auto;
  margin:0 0 0 20px;
  padding:0;
  color:#ebedf3;
  font-family:var(--font-montserrat);
  font-size:30px;
  font-weight:inherit;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.sitePublicHeader .contantHeader{
  display:flex;
  align-items:center;
  height:auto;
  flex:0 0 auto;
}
.sitePublicHeader .linkToOrder{
  position:relative;
  width:auto;
  height:auto;
  margin-right:55px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}
.sitePublicHeader .shopBin{
  display:block;
  width:55px;
  height:auto;
  max-width:55px;
}
.sitePublicHeader .shopCount[data-cart-count]{
  top:-8px;
  right:-11px;
  left:auto;
  width:26px;
  height:26px;
  line-height:26px;
}

/* Order-complete state: don't fall back to the empty-cart screen after success. */
.hsOrderSuccess{
  width:min(640px,100%);
  margin:34px auto 0;
  padding:34px 28px;
  box-sizing:border-box;
  background:#fff;
  border-radius:12px;
  text-align:center;
  font-family:var(--font-rubik);
  box-shadow:0 3px 16px rgba(0,0,0,.08);
}
.hsOrderSuccess h2{
  margin:0 0 12px;
  font-family:var(--robo-bold);
  font-size:27px;
  line-height:1.2;
}
.hsOrderSuccess p{margin:7px 0;font-size:17px;line-height:1.45}
.hsOrderSuccess .hsOrderNumber{font-weight:700;color:#126801}
.hsOrderSuccess a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:20px;
  min-width:230px;
  min-height:46px;
  padding:0 20px;
  border-radius:8px;
  background:linear-gradient(0deg,#bdbec0 0,#858486 72%,#787481);
  color:#fff;
  font:600 17px var(--font-rubik);
  text-decoration:none;
}
.hsOrderSuccess a:hover{background:linear-gradient(180deg,#bdbec0 0,#858486 72%,#787481);color:#202020}

@media(max-width:1100px){
  .sitePublicHeader .linkTower{margin-left:20px}
  .sitePublicHeader .signalTower{width:45px;height:45px;max-width:45px;max-height:45px;flex-basis:45px}
  .sitePublicHeader .HelicalTitle{margin-left:10px}
}
@media(max-width:650px){
  .sitePublicHeader.containerHead{height:15vh;min-height:100px}
  .sitePublicHeader .linkToOrder{margin-right:25px}
  .sitePublicHeader .shopBin{width:auto;height:40px;max-width:none}
  .sitePublicHeader .HelicalTitle{margin-left:10px;font-size:18px}
  .sitePublicHeader .shopCount[data-cart-count]{top:-8px;right:-10px;width:23px;height:23px;line-height:23px;font-size:11px}
}
@media(max-width:450px){.sitePublicHeader .linkToOrder{margin-right:10px}}


/* hs012: keep the public header at exactly the same x-position on short and long pages.
   The legacy build uses viewport-width geometry; reserving the scrollbar gutter prevents
   the cart (short page) from changing the usable viewport width relative to catalogue pages. */
html{
  scrollbar-gutter:stable;
  overflow-y:scroll;
}
.sitePublicHeader.containerHead{
  width:100%;
  max-width:none;
}


/* Stage 15 price-theme fix: style the numeric value itself, not the currency icon. */
.price .priceValue,.priceCard .priceValue{display:inline-block;line-height:1}
.price .priceCurrency,.priceCard .priceCurrency{margin-left:2px;flex:0 0 auto}
html.price-theme-enabled .price .priceValue,
html.price-theme-enabled .priceCard .priceValue{color:var(--hs-price-color)!important}
html.price-theme-enabled .price .priceValue{font-size:calc(20px * var(--hs-price-scale,1))!important}
html.price-theme-enabled .priceCard .priceValue{font-size:calc(36px * var(--hs-price-scale,1))!important}
html.price-theme-enabled[data-price-style="normal"] .priceValue{font-weight:400!important;font-style:normal!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="bold"] .priceValue{font-weight:800!important;font-style:normal!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="italic"] .priceValue{font-style:italic!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="underline"] .priceValue{text-decoration:underline!important;font-style:normal!important}
html.price-theme-enabled[data-price-style="boldItalic"] .priceValue{font-weight:800!important;font-style:italic!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="boldUnderline"] .priceValue{font-weight:800!important;font-style:normal!important;text-decoration:underline!important}
@media(max-width:1000px){html.price-theme-enabled .priceCard .priceValue{font-size:calc(25px * var(--hs-price-scale,1))!important}}
@media(max-width:650px){html.price-theme-enabled .price .priceValue{font-size:calc(13px * var(--hs-price-scale,1))!important}}


/* hs016: currency symbol follows the global price theme. */
.price .priceCurrency,
.priceCard .priceCurrency{
  display:inline-block;
  margin-left:var(--hs-currency-gap,5px);
  line-height:1;
  vertical-align:baseline;
  color:inherit;
  font-weight:inherit;
  font-style:inherit;
  text-decoration:inherit;
}
.price .priceCurrency{font-size:calc(.62em * var(--hs-currency-scale,1.2))}
.priceCard .priceCurrency{font-size:calc(.58em * var(--hs-currency-scale,1.2))}

html.price-theme-enabled .price .priceCurrency,
html.price-theme-enabled .priceCard .priceCurrency{
  color:var(--hs-price-color)!important;
}

html.price-theme-enabled[data-price-style="normal"] .priceCurrency{font-weight:400!important;font-style:normal!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="bold"] .priceCurrency{font-weight:800!important;font-style:normal!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="italic"] .priceCurrency{font-style:italic!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="underline"] .priceCurrency{text-decoration:underline!important;font-style:normal!important}
html.price-theme-enabled[data-price-style="boldItalic"] .priceCurrency{font-weight:800!important;font-style:italic!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="boldUnderline"] .priceCurrency{font-weight:800!important;font-style:normal!important;text-decoration:underline!important}

/* Category page only: center the card price horizontally.
   Product-page price positioning is intentionally unchanged. */
.categoryContainerCard .price{
  width:100%;
  box-sizing:border-box;
  text-align:center!important;
}


/* hs019: payment details shown only after successful prepaid order */
.hsPaymentDetails{
  width:min(640px,100%);
  margin:22px auto;
  padding:18px 20px;
  background:#f7f8f9;
  border:1px solid #d8dadd;
  border-radius:10px;
  text-align:left;
}
.hsPaymentDetails h3{
  margin:0 0 12px;
  font-family:var(--robo-bold);
  font-size:20px;
}
.hsPaymentDetails dl{margin:0}
.hsPaymentDetails dl>div{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #e1e3e5;
}
.hsPaymentDetails dl>div:last-child{border-bottom:0}
.hsPaymentDetails dt{font-weight:700}
.hsPaymentDetails dd{margin:0;overflow-wrap:anywhere}
.hsPaymentDetails .hsIban{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.02em;
}
@media(max-width:620px){
  .hsPaymentDetails dl>div{grid-template-columns:1fr;gap:2px}
}


/* hs020: optically align the currency symbol with the numeric price.
   Keep product-page positioning unchanged; only align the inline glyph itself. */
.price .priceCurrency,
.priceCard .priceCurrency{
  position:relative;
  top:-0.03em;
}


/* hs022: public contact number in header */
.sitePublicHeader .headerPhone{
  display:inline-flex;
  align-items:center;
  margin-right:28px;
  color:#ebedf3;
  font-family:var(--font-rubik);
  font-size:32px;
  font-weight:600;
  font-style: italic;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.sitePublicHeader .headerPhone:hover{
  color:#fff;
  text-decoration:none;
}
@media(max-width:650px){
  .sitePublicHeader .headerPhone{
    margin-right:14px;
    font-size:14px;
  }
}
@media(max-width:450px){
  .sitePublicHeader .headerPhone{
    margin-right:8px;
    font-size:12px;
  }
}


/* HS043: compact home production intro */
.homeProductionIntro{
  box-sizing:border-box;
  width:90%;
  margin:0 0 14px;
  padding:11px 15px 12px;
  border-left:4px solid #a7a7a7;
  border-radius:0 8px 8px 0;
  background:rgba(255,255,255,.42);
  font-family:var(--font-rubik),Arial,sans-serif;
  color:#24203a;
  display:flex;
  align-items:baseline;
  gap:14px;
}
.homeProductionTitle{
  flex:0 0 auto;
  font-size:18px;
  line-height:1.3;
  font-weight:600;
  white-space:nowrap;
}
.homeProductionText{
  max-width:900px;
  font-size:15px;
  line-height:1.45;
  font-weight:400;
  color:#4a4857;
}
@media(max-width:900px){
  .homeProductionIntro{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
  .homeProductionTitle{
    white-space:normal;
  }
}
@media(max-width:650px){
  .homeProductionIntro{
    width:91vw;
    margin-bottom:10px;
    padding:9px 12px 10px;
  }
  .homeProductionTitle{font-size:16px}
  .homeProductionText{font-size:14px}
}


/* HS044: information navigation, editable contacts, footer and info pages */
.sitePublicHeader.containerHead{position:relative}
.sitePublicHeader .headerInfoNav{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  white-space:nowrap;
  z-index:2;
}
.sitePublicHeader .headerInfoNav a{
  color:#f2f2f4;
  font:500 17px var(--font-rubik),Arial,sans-serif;
  text-decoration:none;
  border-bottom:1px solid transparent;
  padding:7px 0 5px;
  transition:color .15s,border-color .15s;
}
.sitePublicHeader .headerInfoNav a:hover{
  color:#fff;
  border-bottom-color:#fff;
}
.sitePublicHeader .headerPhone{
  font-size:32px;
}

.footerContainer.hsSiteFooter{
  height:auto;
  min-height:46px;
  padding:9px 5vw;
  box-sizing:border-box;
  margin-top:48px;
  font-family:var(--font-rubik),Arial,sans-serif;
}
.hsFooterInner{
  width:min(1500px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto minmax(240px,1fr);
  align-items:center;
  gap:12px 20px;
}
.hsFooterBrand{
  display:flex;
  flex-direction:column;
  gap:0;
  color:#f4f4f5;
  align-items:flex-start;
  justify-content:center;
}
.hsFooterBrand span{font-size:14px;font-weight:400;opacity:.92}
.hsFooterNav{
  display:flex;
  gap:16px;
  justify-content:center;
  align-items:center;
  text-align:center;
  flex-wrap:wrap;
}
.hsFooterNav a,
.hsFooterContacts a{
  color:#f4f4f5;
  text-decoration:none;
  font-size:14px;
  font-weight:400;
}
.hsFooterNav a:hover,
.hsFooterContacts a:hover{text-decoration:underline}
.hsFooterContacts{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:0;
  color:#f4f4f5;
  text-align:right;
}
.hsFooterContacts a + a::before{
  content:' | ';
  opacity:.86;
  font-weight:400;
  margin:0 10px;
}

.hsInfoPage{
  width:100%;
  min-height:68vh;
  box-sizing:border-box;
  padding:46px 24px 20px;
  background:linear-gradient(90deg,#e9e9e9 0,#f6f6f6);
  font-family:var(--font-rubik),Arial,sans-serif;
}
.hsInfoCard{
  width:min(1000px,94vw);
  margin:0 auto;
  padding:34px 38px 40px;
  box-sizing:border-box;
  background:#fff;
  border-radius:12px;
  box-shadow:0 6px 22px rgba(0,0,0,.08);
  color:#24203a;
}
.hsInfoCard h1{
  margin:0 0 26px;
  font-size:34px;
  line-height:1.15;
}
.hsInfoText{
  font-size:17px;
  line-height:1.65;
  color:#363442;
}
.hsInfoMuted{color:#777}
.hsInfoContacts{
  display:flex;
  flex-wrap:wrap;
  gap:12px 26px;
  margin:0 0 26px;
  padding:18px 20px;
  border-radius:10px;
  background:#f2f3f4;
}
.hsInfoContacts a{
  color:#24203a;
  font-size:17px;
  font-weight:500;
  text-decoration:none;
}
.hsInfoContacts a:hover{text-decoration:underline}
.hsInfoContacts .hsInfoContactMain{font-weight:700}

.hsOrderSuccess .hsOrderTotal{
  margin-top:10px;
  font-size:18px;
}
.hsOrderSuccess .hsOrderTotalValue{
  color:#159600;
  font-size:1.22em;
  font-weight:800;
}

@media(max-width:1350px){
  .sitePublicHeader .headerInfoNav{gap:16px}
  .sitePublicHeader .headerInfoNav a{font-size:14px}
  .sitePublicHeader .headerPhone{font-size:24px}
}
@media(max-width:1100px){
  .sitePublicHeader .headerInfoNav{display:none}
  .hsFooterInner{grid-template-columns:1fr 1fr}
  .hsFooterNav{order:3;grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:650px){
  .sitePublicHeader .headerPhone{font-size:14px}
  .footerContainer.hsSiteFooter{padding:7px 18px;margin-top:36px}
  .hsFooterInner{grid-template-columns:1fr;gap:8px}
  .hsFooterBrand{order:1;align-items:flex-start}
  .hsFooterNav{order:2;grid-column:auto;justify-content:center;flex-wrap:wrap;gap:8px 18px}
  .hsFooterContacts{order:3;justify-content:flex-end;align-items:center}
  .hsFooterContacts a + a::before{margin:0 8px}
  .hsInfoPage{padding:24px 12px 0}
  .hsInfoCard{width:100%;padding:25px 20px 30px}
  .hsInfoCard h1{font-size:27px;margin-bottom:20px}
  .hsInfoText{font-size:16px}
  .hsInfoContacts{display:flex;flex-direction:column;gap:8px}
}

.homeProductionText span{display:block}
.homeProductionText .homeProductionLine2{margin-top:2px}

/* HS047 fix1: aligned homepage heading + production intro */
@media(min-width:1101px){
  .homePage .containerMain{align-items:center}
  .homePage .homeTopRow{
    width:90%;
    display:grid;
    grid-template-columns:minmax(300px,.58fr) minmax(620px,1.42fr);
    gap:72px;
    align-items:stretch;
    margin:30px 0 14px;
    min-height:96px;
  }
  .homePage .homeTopRow .titlePage{
    width:auto;
    margin:0;
    display:flex;
    align-items:center;
    min-height:96px;
  }
  .homePage .homeTopRow .homeProductionIntro{
    width:auto;
    min-height:96px;
    margin:0;
    padding:14px 18px;
    align-items:center;
  }
  .homePage .body.hasMenu .categoryContainer{margin-top:30px}
  .homePage .body.hasMenu .categoryContainer .categoryLink:first-child{margin-top:28px}
}
@media(max-width:1100px){
  .homeTopRow{width:100%;display:flex;flex-direction:column;align-items:center}
  .homeTopRow .titlePage{order:1}
  .homeTopRow .homeProductionIntro{order:2}
}

/* HS047 public Info/articles */
.hsArticlesPage,.hsArticlePage{width:100%;min-height:68vh;background:linear-gradient(90deg,#e9e9e9 0,#f6f6f6);font-family:var(--font-rubik),Arial,sans-serif;padding:42px 24px 20px;box-sizing:border-box}
.hsArticlesShell,.hsArticleCard{width:min(1120px,94vw);margin:0 auto}
.hsArticlesShell>h1,.hsArticleCard>h1{font-size:34px;line-height:1.15;margin:0 0 12px;color:#24203a}
.hsArticlesLead,.hsArticleSummary{font-size:17px;line-height:1.55;color:#565360;margin:0 0 26px}
.hsArticlesGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hsArticleTile{display:grid;grid-template-columns:180px 1fr;min-height:150px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #0001;color:#24203a;text-decoration:none;transition:transform .14s,box-shadow .14s}
.hsArticleTile:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0002}
.hsArticleTile img{width:180px;height:100%;min-height:150px;object-fit:cover;background:#eef0f2}
.hsArticleTileBody{padding:18px 20px;display:flex;flex-direction:column}
.hsArticleTileBody h2{font-size:21px;line-height:1.25;margin:0 0 8px}
.hsArticleTileBody p{font-size:15px;line-height:1.45;color:#55515e;margin:0 0 12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.hsArticleTileBody span{margin-top:auto;font-weight:600}
.hsArticlesEmpty{background:#fff;border:1px dashed #ccd3da;border-radius:10px;padding:28px;text-align:center;color:#69727d}
.hsArticleCard{background:#fff;border-radius:12px;padding:34px 40px 44px;box-shadow:0 6px 22px #0001;color:#2f2c38}
.hsArticleBack{display:inline-block;margin-bottom:20px;color:#55515e;text-decoration:none}
.hsArticleBack:hover{text-decoration:underline}
.hsArticleContent{font-size:17px;line-height:1.68}
.hsArticleContent h2{font-size:27px;line-height:1.25;margin:30px 0 12px;color:#24203a}
.hsArticleContent h3{font-size:21px;line-height:1.3;margin:24px 0 10px;color:#24203a}
.hsArticleContent p{margin:0 0 16px}
.hsArticleContent ul,.hsArticleContent ol{margin:0 0 18px;padding-left:28px}
.hsArticleContent li{margin:5px 0}
.hsArticleContent a{color:#275f9b;text-decoration:underline;text-underline-offset:2px}
.hsArticleContent img{display:block;max-width:100%;height:auto;margin:22px auto;border-radius:10px}
@media(max-width:850px){.hsArticlesGrid{grid-template-columns:1fr}.hsArticleTile{grid-template-columns:140px 1fr}.hsArticleTile img{width:140px}.hsArticleCard{padding:26px 22px 32px}}
@media(max-width:560px){.hsArticlesPage,.hsArticlePage{padding:24px 12px 0}.hsArticleTile{display:block}.hsArticleTile img{width:100%;height:190px}.hsArticlesShell>h1,.hsArticleCard>h1{font-size:28px}.hsArticleContent{font-size:16px}.hsArticleContent h2{font-size:23px}.hsArticleContent h3{font-size:19px}}


/* HS057: article list as readable editorial cards. A missing cover must not
   leave its text trapped in the old fixed-width image column. */
.hsArticlesGrid{grid-template-columns:minmax(0,1fr);max-width:940px;gap:16px}
.hsArticleTile{grid-template-columns:200px minmax(0,1fr);min-height:176px;border:1px solid #e3e5eb;box-sizing:border-box}
.hsArticleTile--no-image{grid-template-columns:minmax(0,1fr);border-left:4px solid #60758e}
.hsArticleTileBody{min-width:0;padding:25px 30px;justify-content:center}
.hsArticleTileBody h2{font-size:24px;line-height:1.28;margin:0 0 11px;overflow-wrap:break-word}
.hsArticleTileBody p{font-size:16px;line-height:1.55;margin:0 0 13px;-webkit-line-clamp:3}
.hsArticleTileBody span{font-size:15px;color:#285a8e;margin-top:6px}
.hsArticleTile img{width:200px;min-height:176px;max-height:240px;height:100%}
@media(max-width:850px){
 .hsArticleTile{grid-template-columns:160px minmax(0,1fr)}
 .hsArticleTile--no-image{grid-template-columns:minmax(0,1fr)}
 .hsArticleTile img{width:160px}
 .hsArticleTileBody{padding:23px 24px}
 .hsArticleTileBody h2{font-size:21px}
}
@media(max-width:560px){
 .hsArticleTile{display:block}
 .hsArticleTile img{width:100%;height:190px}
 .hsArticleTileBody{padding:20px 21px}
 .hsArticleTileBody h2{font-size:20px}
}

/* HS054: calmer spacing on product page */
.containerProduct .nameCard{margin-bottom:14px}
.containerProduct .article{margin-top:0;margin-bottom:16px;line-height:1.35}
.containerProduct .line{margin-top:0;margin-bottom:14px}
.containerProduct .textCard{margin-top:0}
.containerProduct .bodyDescritpion{margin-top:28px}
.containerProduct .linedesc{margin-top:8px;margin-bottom:8px}
.containerProduct .desc{margin-top:8px;line-height:1.48}
@media(max-width:850px){
  .containerProduct .nameCard{margin-bottom:12px}
  .containerProduct .article{margin-bottom:14px}
  .containerProduct .bodyDescritpion{margin-top:24px}
}

/* HS beam calculator navigation: below categories, separated from category list. */
.hsSidebarCalc{margin:32px 22px 0 0;padding:16px 2px 0;border-top:1px solid #a7a7a7;text-align:center;box-sizing:border-box}
.hsSidebarCalcLink{display:block;font-family:var(--font-rubik),Arial,sans-serif;color:#24203a;text-decoration:none;font-size:15px;line-height:1.4;font-weight:600;white-space:normal}
.hsSidebarCalcLink:hover{text-decoration:underline;color:#555}
@media(max-width:850px){.hsSidebarCalc{display:flex;align-items:center;flex:0 0 auto;margin:0 0 0 8px;padding:0 12px;border-top:0;border-left:1px solid #a7a7a7}.hsSidebarCalcLink{font-size:14px;white-space:nowrap}}

/* HS056: readable SEO and educational links below homepage catalogue */
.homePage .hsHomeSeoText,.homePage .hsHomeReadMore{box-sizing:border-box;width:min(1060px,90%);margin:30px auto 10px;font-family:var(--font-rubik),Arial,sans-serif;color:#24203a;}
.homePage .hsHomeSeoText{background:rgba(255,255,255,.57);border-radius:12px;padding:23px 30px;line-height:1.65;}
.homePage .hsHomeSeoText h2,.homePage .hsHomeReadMore h2{font-size:23px;line-height:1.25;margin:0 0 13px;color:#24203a;}
.homePage .hsHomeSeoBody{font-size:16px;}
.homePage .hsHomeSeoBody p{margin:0 0 12px;}
.homePage .hsHomeSeoBody p:last-child{margin-bottom:0;}
.homePage .hsHomeSeoBody a{color:#235a9a;text-decoration:underline;}
.homePage .hsHomeReadMore{margin:26px auto 50px;}
.homePage .hsHomeReadGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;}
.homePage .hsHomeReadTile{display:flex;align-items:center;gap:15px;padding:19px 20px;min-height:104px;border-radius:12px;border:1px solid #e0e0e0;background:#fff;box-shadow:0 4px 14px #0001;text-decoration:none;color:#24203a;box-sizing:border-box;}
.homePage .hsHomeReadTile:hover{border-color:#abb4bf;box-shadow:0 7px 17px #0002;}
.homePage .hsHomeReadTile strong{display:block;font-size:17px;line-height:1.35;}
.homePage .hsHomeReadTile small{display:block;font-size:13px;color:#686777;line-height:1.4;margin-top:6px;}
.homePage .hsHomeReadIcon{border-radius:10px;background:#ecf0f4;display:flex;align-items:center;justify-content:center;flex:0 0 50px;height:50px;font-size:29px;color:#435567;}
@media(max-width:650px){.homePage .hsHomeSeoText,.homePage .hsHomeReadMore{width:94%;}.homePage .hsHomeSeoText{padding:19px 17px;}.homePage .hsHomeSeoText h2,.homePage .hsHomeReadMore h2{font-size:20px;}.homePage .hsHomeSeoBody{font-size:15px;}}

/* HS058: editorial article list. Readable with or without optional cover. */
.hsArticlesGrid{grid-template-columns:minmax(0,1fr);max-width:920px}
.hsArticleTile{width:100%;min-width:0}
.hsArticleTile--no-image{grid-template-columns:minmax(0,1fr)}
.hsArticleTileBody h2{overflow-wrap:anywhere}
.hsArticleTileBody p{max-width:75ch}
.hsArticlesEmpty p{margin:12px 0 0}
.hsArticlesEmpty a{color:#255e94;text-decoration:underline}


/* HS061: One shared public header geometry. Do not add page-specific overrides. */
.sitePublicHeader.containerHead {
  width:100%; max-width:none; box-sizing:border-box;
  display:grid; grid-template-columns:max-content minmax(0,1fr) max-content;
  align-items:center; column-gap:18px;
  height:auto; min-height:122px;
  padding:12px clamp(20px,2.8vw,52px) 12px clamp(30px,5.7vw,110px);
}
.sitePublicHeader .logo {
  display:flex; align-items:center; justify-self:start;
  min-width:0; width:auto; height:auto; flex:none;
}
.sitePublicHeader .linkTower { margin-left:0; flex:0 0 auto; }
.sitePublicHeader .signalTower { width:clamp(46px,3.45vw,65px); height:clamp(46px,3.45vw,65px); max-width:65px; max-height:65px; flex:0 0 auto; }
.sitePublicHeader .HelicalTitle {
  margin:0 0 0 clamp(9px,1vw,18px); font-size:clamp(22px,1.65vw,30px);
  line-height:1; white-space:nowrap;
}
html body .sitePublicHeader .headerInfoNav {
  position:static; left:auto; top:auto; transform:none;
  display:flex; justify-self:stretch; align-items:center; justify-content:center; width:100%; flex-wrap:wrap; row-gap:3px;
  gap:clamp(6px,0.72vw,14px); white-space:normal; min-width:0;
}
html body .sitePublicHeader .headerInfoNav a {
  font-size:clamp(12px,0.85vw,16px); line-height:1.25; white-space:nowrap;
}
.sitePublicHeader .contantHeader {
  display:flex; align-items:center; justify-self:end; height:auto;
  min-width:0; flex:none;
}
.sitePublicHeader .headerPhone {
  font-size:clamp(18px,1.55vw,30px); margin:0 clamp(10px,0.9vw,18px) 0 0;
  white-space:nowrap;
}
.sitePublicHeader .linkToOrder { margin:0; flex:0 0 auto; }
.sitePublicHeader .shopBin { width:clamp(38px,2.8vw,52px); height:clamp(38px,2.8vw,52px); max-width:52px; max-height:52px; object-fit:contain; }
@media (max-width:1100px) {
  .sitePublicHeader.containerHead {
    display:flex; justify-content:space-between; align-items:center;
    height:auto; min-height:100px;
    padding:9px clamp(14px,3vw,28px);
  }
  html body .sitePublicHeader .headerInfoNav { display:none; }
  .sitePublicHeader .signalTower { width:46px; height:46px; max-width:46px; max-height:46px; flex-basis:46px; }
  .sitePublicHeader .HelicalTitle { font-size:clamp(18px,3vw,26px); margin-left:10px; }
  .sitePublicHeader .headerPhone { font-size:clamp(13px,2vw,21px); margin-right:12px; }
  .sitePublicHeader .shopBin { width:40px; height:40px; max-width:40px; max-height:40px; }
}
@media (max-width:570px) {
  .sitePublicHeader.containerHead {
    display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto;
    min-height:109px; row-gap:1px; padding:9px 14px;
  }
  .sitePublicHeader .logo { grid-column:1; grid-row:1; }
  .sitePublicHeader .contantHeader { grid-column:2; grid-row:1 / span 2; }
  .sitePublicHeader .signalTower { width:39px; height:39px; max-width:39px; max-height:39px; flex-basis:39px; }
  .sitePublicHeader .HelicalTitle { font-size:clamp(16px,4.4vw,22px); margin-left:7px; }
  .sitePublicHeader .headerPhone { font-size:12px; margin-right:7px; }
  .sitePublicHeader .shopBin { width:32px; height:32px; max-width:32px; max-height:32px; }
}
@media (max-width:390px) {
  .sitePublicHeader .headerPhone {font-size:11px; margin-right:5px;}
  .sitePublicHeader .HelicalTitle {font-size:16px;}
}

/* Captions for technical images inside knowledge-base articles. */
.hsArticleContent figure{margin:24px auto 26px;max-width:100%;text-align:center}
.hsArticleContent figure img{max-width:100%;height:auto;display:block;margin:0 auto 8px;border-radius:10px}
.hsArticleContent figcaption{font-size:14px;line-height:1.45;color:#687280;text-align:center}

/* Optional product link inside an image caption in a knowledge-base article. */
.hsArticleContent figcaption a{color:#225c91;text-decoration:underline;text-underline-offset:2px}
.hsArticleContent figcaption a:hover,.hsArticleContent figcaption a:focus-visible{color:#153d6b}
