/* Local behavior overrides; the original page's styles live under assets/. */
html { scroll-behavior: smooth; }
#gridHeader #module377 { display: none !important; }
.jz_col_102 #row122 > .jz_web_row__content > .jz_web_col[_index="2"] { display: none !important; }
.jz_col_102 #row122 { padding-left: 5% !important; padding-right: 5% !important; }
.jz_col_102 #row122 > .jz_web_row__content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) max-content;
  column-gap: clamp(48px, 6vw, 120px);
  align-items: start;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
.jz_col_102 #row122 > .jz_web_row__content > .jz_web_col { width: auto !important; min-width: 0; }
.jz_col_102 #row122 .jz_module_style_7 { width: 72px !important; margin: 0 auto !important; }
.jz_col_102 #row122 .jz_module_style_6 { width: 100% !important; margin: 24px 0 0 !important; }
.jz_col_102 #module311 .fk-editor { white-space: nowrap; }
@media (max-width: 760px) {
  .jz_col_102 #row122 > .jz_web_row__content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
  .jz_col_102 #row122 .jz_web_col[_index="3"] { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .jz_col_102 #row122 > .jz_web_row__content { grid-template-columns: minmax(0, 1fr); }
  .jz_col_102 #module311 .fk-editor { white-space: normal; overflow-wrap: anywhere; }
}
.jz_nav_item[_colid="103"],
.jz_nav_item[_colid="104"],
.jz_nav_item[_colid="103"] + .nav_item_septal,
.jz_nav_item[_colid="104"] + .nav_item_septal { display: none !important; }
.animateModule, .jz_hidden_content_Animate { opacity: 1 !important; }
.jz_nav_item:hover > .sub_nav_list,
.jz_nav_item:focus-within > .sub_nav_list { display: block !important; }
.jz_nav_item:hover .sub_nav_list { visibility: visible; opacity: 1; }
.banner_pic_item_wrap { transition: opacity 600ms ease; }
.banner_pic_item_wrap.local-slide { display: block !important; opacity: 0; visibility: hidden; pointer-events: none; }
.banner_pic_item_wrap.local-slide.is-current { opacity: 1; visibility: visible; pointer-events: auto; }
.pic_arrow_btn { cursor: pointer; }
.local-banner-dots { position: absolute; bottom: 18px; left: 0; right: 0; z-index: 20; display: flex; justify-content: center; gap: 10px; }
.local-banner-dot { width: 10px; height: 10px; padding: 0; border: 1px solid white; border-radius: 50%; background: transparent; cursor: pointer; }
.local-banner-dot[aria-current="true"] { background: white; }
.site_search_input { pointer-events: auto !important; }
.site_search_btn_wrap { cursor: pointer; }
.local-search-message { position: absolute; top: 100%; right: 0; margin-top: 8px; padding: 8px 12px; background: white; border: 1px solid #eee; color: #333; font-size: 14px; z-index: 100; white-space: nowrap; }
.local-search-hit { outline: 2px solid #b38d54; outline-offset: 6px; }
:focus-visible { outline: 2px solid #b38d54; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .banner_pic_item_wrap { transition: none; }
}

/* Responsive layout for the three locally maintained pages. */
@media (max-width: 900px) {
  html { -webkit-text-size-adjust: 100%; }
  body, #jzRoot, #jz_web, #jzWebContainer { min-width: 0 !important; width: 100% !important; }
  .jz_web_row { box-sizing: border-box; min-width: 0 !important; }
  .jz_web_row__content, .jz_web_col, .web_col_content { min-width: 0 !important; }
  #gridHeader #row3 { padding: 20px 20px 0 !important; }
  #gridHeader #row3 > .jz_web_row__content { display: flex !important; flex-direction: column; }
  #gridHeader #row3 .jz_web_col { width: 100% !important; }
  #gridHeader #row3 .jz_web_col[_index="2"] { display: none !important; }
  #gridHeader .jz_website_title_wrap, #gridHeader .jz_nav_wrap { width: 100% !important; margin: 0 !important; }
  #gridHeader .title_h1, #gridHeader .title_h1 * { font-size: clamp(20px, 5.5vw, 28px) !important; line-height: 1.5 !important; text-align: center !important; }
  #gridHeader .title_h1 br { display: none; }
  #gridHeader .jz_nav_content, #gridHeader .jz_nav_list { width: 100% !important; height: auto !important; }
  #gridHeader .jz_nav_list { display: flex !important; justify-content: center; padding: 12px 0 0 !important; }
  #gridHeader .jz_nav_item { flex: 1; min-width: 0 !important; height: 48px !important; line-height: 48px !important; margin: 0 !important; }
  #gridHeader .nav_item_text { display: block; font-size: 15px !important; padding: 0 !important; }
  #gridHeader .nav_item_septal, #gridHeader .sub_nav_list, #gridHeader .nav_icon_direction, #gridHeader .jz_nav_menu { display: none !important; }
  .jz_module_row { padding: 36px 22px !important; }
  .jz_module_row > .jz_web_row__content { display: flex !important; flex-direction: column; gap: 26px; }
  .jz_module_row > .jz_web_row__content > .jz_web_col { width: 100% !important; flex: none !important; }
  .jz_module_row .jz_module { width: 100% !important; max-width: 100%; margin: 0 0 20px !important; align-self: auto !important; }
  .jz_module_row .jz_module:last-child { margin-bottom: 0 !important; }
  .jz_module_row .jz_module_style_6 .fk-editor, .jz_module_row .jz_module_style_6 .fk-editor * { font-size: 15px !important; line-height: 1.9 !important; }
  .jz_module_row .jz_module_style_6 .fk-editor { overflow-wrap: break-word; }
  #module338 .fk-editor *, #module343 .fk-editor *, #module345 .fk-editor *, #module349 .fk-editor *, #module353 .fk-editor *, #module370 .fk-editor *, #module316 .fk-editor *, #module326 .fk-editor *, #module303 .fk-editor * { font-size: 23px !important; line-height: 1.6 !important; }
  #row105 .jz_web_col[_index="1"] { max-width: 480px; margin: 0 auto; }
  #module339 { display: none !important; }
  #row107 { padding: 0 !important; }
  #row193, #row192 { padding-top: 12px !important; }
  #row193 .jz_web_col, #row192 .jz_web_col { padding: 0 !important; }
  #row192 .jz_web_col[_index="1"] { order: -1; }
  #row193 .jz_web_col[_index="1"], #row192 .jz_web_col[_index="0"] { padding: 20px !important; box-sizing: border-box; }
  #module347, #module352 { max-width: 150px; }
  #module347 .module_content, #module352 .module_content { height: 44px !important; }
  #row195 > .jz_web_row__content, #row177 > .jz_web_row__content { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
  #row195 .jz_module_style_7, #row177 .jz_module_style_7 { width: 72px !important; margin: 0 auto 16px !important; }
  #row175 .jz_web_col[_index="1"] { order: -1; }
  #row175 .jz_module_style_7 { max-width: 440px; margin: 0 auto !important; }
  #row179 { background-image: none !important; background-color: #f8f7f4 !important; }
  #row179 .jz_web_row__content { background: none !important; }
  .jz_col_102 #row122 { padding: 12px 22px 48px !important; }
  .jz_col_102 #row122 > .jz_web_row__content { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .jz_col_102 #row122 .jz_module_style_7 { width: 56px !important; margin: 0 auto !important; }
  .jz_col_102 #row122 .jz_module_style_6 { margin: 14px 0 0 !important; }
  .jz_col_102 #module311 .fk-editor { white-space: normal; overflow-wrap: break-word; }
  #row4 { padding: 24px 18px !important; }
  #row4 .jz_project { width: 100% !important; margin: 0 !important; }
  #row4, #row4 * { line-height: 1.8 !important; }
  #row4 .fk-editor, #row4 .fk-editor * { font-size: 12px !important; }
  .local-banner-dots { bottom: 10px; gap: 8px; }
  .local-banner-dot { width: 8px; height: 8px; }
  .pic_arrow_btn { transform: scale(.65); }
}

/* Public ICP registration, shared by all website pages. */
.site-icp { margin: 8px 0 0; text-align: center; font-size: 14px; line-height: 1.8; }
.site-icp a { color: #ccc; text-decoration: none; }
.site-icp a:hover, .site-icp a:focus-visible { color: #fff; text-decoration: underline; }
