/* HS — navigation breadcrumbs and custom Helix request, scoped to new blocks. */
.hsCrumbs{display:flex;align-items:center;flex-wrap:wrap;column-gap:8px;row-gap:4px;font-family:var(--font-rubik),Arial,sans-serif;font-size:13px;line-height:1.5;margin:10px 0 13px;color:#68766c;max-width:100%}
.hsCrumbs a{color:#3c7356;text-decoration:none}.hsCrumbs a:hover{text-decoration:underline}.hsCrumbs [aria-current]{color:#56645a}.hsCrumbs span[aria-hidden]{color:#9da89f}
.hsProductCrumbs{max-width:1180px;width:calc(100% - 36px);margin:10px auto 1px}.hsCategoryCrumbs{margin:3px 0 9px}.hsArticleCrumbs{margin:0 0 17px}.hsArticlesCrumbs{margin:0 0 12px}
.hsProductCustomLink{display:block;border:1px solid #cce1d0;border-radius:9px;padding:12px 13px;margin:14px 0 10px;color:#227047;text-decoration:none;font-size:14px;font-weight:650;background:#f6faf6;line-height:1.5}.hsProductCustomLink:hover{background:#e6f4ea}
.hsCustomPage{max-width:970px;padding:18px 22px 55px;margin:0 auto;color:#263c2f}.hsCustomPage h1{font-size:clamp(25px,3vw,35px);line-height:1.22;margin:6px 0 12px}.hsCustomIntro{line-height:1.65;margin:0 0 21px;max-width:820px}
.hsCustomForm{background:#fff;border:1px solid #dae8de;border-radius:14px;padding:22px}.hsCustomForm h2{font-size:20px;margin:0 0 10px}.hsCustomForm h2:not(:first-child){margin-top:23px}.hsCustomHint{font-size:13px;color:#6a776d;line-height:1.55;margin:0 0 15px}.hsCustomHint a{color:#26724e}
.hsCustomGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:10px 0 14px}.hsCustomForm label{font-size:14px;font-weight:600;color:#3b4b3f;display:block}
.hsCustomForm input:not([type=checkbox]),.hsCustomForm select,.hsCustomForm textarea{box-sizing:border-box;display:block;width:100%;border:1px solid #b3c4b8;border-radius:8px;padding:10px 11px;margin-top:6px;font:400 16px var(--font-rubik),Arial,sans-serif;min-width:0;background:#fff;color:#263c2f}
.hsCustomForm textarea{resize:vertical;min-height:92px}.hsCustomFull{margin-top:10px}.hsCustomAgree{display:flex!important;align-items:flex-start;gap:10px;margin:20px 0!important;font-weight:400!important;line-height:1.55}.hsCustomAgree input{margin-top:4px;flex:none}.hsCustomSubmit{display:block;width:100%;min-height:48px;padding:12px 16px;border:0;border-radius:10px;background:#25734d;color:#fff;font:bold 16px var(--font-rubik),Arial,sans-serif;cursor:pointer}.hsCustomSubmit:disabled{opacity:.65;cursor:wait}.hsCustomSubmit:hover:not(:disabled){background:#1a5c3b}.hsCustomStatus{min-height:20px;color:#a13a26;font-size:14px}.hsCustomStatus.isSuccess{color:#216a43}.hsCustomHoneypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:660px){.hsCustomPage{padding:12px 12px 35px}.hsCustomForm{padding:16px 13px}.hsCustomGrid{grid-template-columns:minmax(0,1fr)}}

@media(min-width:1101px){.sitePublicHeader .headerInfoNav{gap:clamp(8px,0.9vw,14px)}.sitePublicHeader .headerInfoNav a{font-size:clamp(12px,1vw,15px)}}

/* HS custom form v2: align typography and colors with existing Helical.Store pages.
   Everything is scoped to the standalone request page; existing store/SEO untouched. */
.hsCustomPage{width:100%;max-width:none;min-height:68vh;box-sizing:border-box;padding:34px 24px 60px;background:linear-gradient(90deg,#e9e9e9 0,#f6f6f6);font-family:var(--font-rubik),Arial,sans-serif;color:#24203a}
.hsCustomPage,.hsCustomPage h1,.hsCustomPage h2,.hsCustomPage p,.hsCustomPage label,.hsCustomPage a,.hsCustomPage input,.hsCustomPage select,.hsCustomPage textarea,.hsCustomPage button{font-family:var(--font-rubik),Arial,sans-serif}
.hsCustomPage>.hsCrumbs,.hsCustomPage>h1,.hsCustomPage>.hsCustomIntro,.hsCustomPage>.hsCustomForm{width:min(1060px,100%);margin-left:auto;margin-right:auto;box-sizing:border-box}
.hsCustomPage>h1{font-size:clamp(27px,3vw,34px);line-height:1.18;margin-top:4px;margin-bottom:12px;font-weight:700;color:#24203a}
.hsCustomPage>.hsCustomIntro{font-size:16px;line-height:1.6;color:#55515e;margin-bottom:23px;max-width:none}
.hsCustomPage>.hsCrumbs{margin-top:0;margin-bottom:19px}
.hsCustomPage .hsCrumbs a,.hsCustomPage .hsCustomHint a{color:#285a8e}
.hsCustomPage .hsCrumbs{color:#686774}
.hsCustomForm{padding:27px 32px 32px;border:1px solid #e3e5eb;border-radius:12px;box-shadow:0 6px 22px rgba(0,0,0,.055)}
.hsCustomForm h2{font-weight:700;font-size:23px;line-height:1.25;color:#24203a;margin-bottom:9px}
.hsCustomForm h2:not(:first-child){margin-top:27px}
.hsCustomForm label{font-size:14px;font-weight:600;color:#34313d}
.hsCustomForm input:not([type=checkbox]),.hsCustomForm select,.hsCustomForm textarea{border-color:#c6cbd5;border-radius:8px;color:#24203a;font:400 16px var(--font-rubik),Arial,sans-serif;padding:11px 12px}
.hsCustomForm input:focus,.hsCustomForm select:focus,.hsCustomForm textarea:focus{outline:2px solid #849bb9;outline-offset:1px}
.hsCustomForm .hsCustomHint{color:#666473;font-size:13px}
.hsCustomForm .hsCustomEstimateNote{font-size:13px;line-height:1.5;margin:0 0 17px;color:#616779;background:#f3f5f8;border-left:3px solid #93a5bb;padding:8px 12px;border-radius:0 6px 6px 0}
.hsCustomForm .hsCustomEstimateNote.isWarning{color:#825422;background:#fff7e9;border-left-color:#d8a44e}
.hsCustomForm .hsCustomPrivacy{font-size:13px;color:#676776;line-height:1.55;margin:19px 0 13px}
.hsCustomForm .hsCustomSubmit{background:linear-gradient(0deg,#bdbec0 0,#858486 72%,#787481);color:#fff;font:600 17px var(--font-rubik),Arial,sans-serif;border-radius:8px;min-height:50px}
.hsCustomForm .hsCustomSubmit:hover:not(:disabled){background:linear-gradient(180deg,#bdbec0 0,#858486 72%,#787481)}
.hsCustomForm .hsCustomSubmit:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:660px){.hsCustomPage{padding:22px 12px 40px}.hsCustomPage>.hsCrumbs{margin-bottom:13px}.hsCustomForm{padding:20px 15px}.hsCustomForm h2{font-size:20px}}


/* HS breadcrumb alignment fix — 2026-10-17.
   Breadcrumbs use the content's LEFT edge on every page, never a separately
   centered flex item. This changes presentation only (no DOM or SEO changes). */
.hsCrumbs {
  justify-content: flex-start;
  text-align: left;
  box-sizing: border-box;
  min-width: 0;
}
/* Category container has align-items:center, which formerly centered a
   shrink-to-fit breadcrumb next to a full-width category heading. */
.categoryContainerCardMain > .hsCategoryCrumbs {
  width: 90%;
  max-width: none;
  align-self: center;
  margin-top: 3px;
  margin-right: 0;
  margin-bottom: 9px;
  margin-left: 0;
}
/* Product breadcrumb: match the product's content-side horizontal inset. */
.hsProductCrumbs {
  width: 100%;
  max-width: none;
  margin: 10px 0 1px;
  padding-left: clamp(16px, 6vw, 110px);
  padding-right: 16px;
}
/* Articles: align the breadcrumb to the article text column (not viewport). */
.hsArticlePage > .hsArticleCrumbs {
  width: min(1120px, 100%);
  max-width: 100%;
  margin: 0 auto 17px;
}
/* In other sections breadcrumbs already inherit their page/heading column:
   no layout restructuring and no changes to any URLs. */
@media (max-width: 660px) {
  .hsProductCrumbs { padding-left: 16px; padding-right: 16px; }
}


/* 2026-10-17: one stable breadcrumb row for ALL templates.
   The band is a direct sibling of the header, never nested in page-specific grids. */
.hsCrumbBand {
  box-sizing:border-box;
  width:100%;
  background:linear-gradient(90deg,#e9e9e9 0%,#f6f6f6 100%);
  padding:13px 0 11px;
}
.hsCrumbBand .hsCrumbs,
.hsCrumbBand .hsProductCrumbs,
.hsCrumbBand .hsCategoryCrumbs,
.hsCrumbBand .hsArticleCrumbs,
.hsCrumbBand .hsArticlesCrumbs {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  box-sizing:border-box;
  width:calc(100% - 48px) !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:left;
  font:400 14px/1.5 var(--font-rubik),Arial,sans-serif;
}
.hsCrumbBand .hsCrumbs a {color:#285a8e;text-decoration:none}
.hsCrumbBand .hsCrumbs a:hover {text-decoration:underline}
.hsCrumbBand .hsCrumbs [aria-current] {color:#56616a}
.hsCrumbBand + .hsArticlesPage,
.hsCrumbBand + .hsArticlePage,
.hsCrumbBand + .hsInfoPage {padding-top:13px}
.hsCrumbBand + .hsCustomPage {padding-top:12px}
.hsCrumbBand + .beamPage {padding-top:12px}
@media(max-width:660px){
  .hsCrumbBand {padding:11px 0 9px}
  .hsCrumbBand .hsCrumbs {width:calc(100% - 28px)!important;font-size:12px}
}
/* Read-only specification summary: only calculator may change this data. */
.hsCustomPage>.hsCustomIntro,
.hsCustomPage>.hsCustomForm,
.hsCustomPage>.hsCustomReality,
.hsCustomPage>h1 {width:min(1120px,100%);box-sizing:border-box;margin-left:auto;margin-right:auto}
.hsCustomPage>h1 {font-size:clamp(27px,3vw,36px)}
.hsCustomPage>.hsCustomIntro {max-width:none}
.hsCustomPage>.hsCustomReality {
  padding:15px 19px;
  background:#f5f6f8;
  border:1px solid #d8dce4;
  border-left:4px solid #657990;
  border-radius:8px;
  font-size:15px;
  line-height:1.65;
  color:#353644;
  margin-bottom:20px;
}
.hsCustomFrozen input[readonly] {
  background:#f3f4f7 !important;
  color:#343445 !important;
  border:1px solid #d4d7e0 !important;
  cursor:default;
  font-weight:600;
}
.hsCustomFrozen input[readonly]:focus {outline:none}
.hsCustomPage .hsCustomForm {width:min(1120px,100%)}
.hsCustomPage .hsCustomSubmit {background:#687b90}
.hsCustomPage .hsCustomSubmit:hover:not(:disabled){background:#536b85}
.hsCustomPage .hsCustomSubmit:disabled {background:#a8abb4}
@media(max-width:660px){
  .hsCustomPage>.hsCustomReality{padding:12px 14px;font-size:14px}
}
