/* KUBOPREFAB global mobile density system — 2026-09-18 */
body.home .kh-img-hero {
  background-color: #0d2230;
  background-image: url("https://www.kuboprefab.com/wp-content/uploads/2026/06/kuboprefab-modular-container-building-factory-production-line.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.kubo-header-v2 .kubo-mobile-logo {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  body:not(.elementor-editor-active) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-parent {
    min-height: 0;
  }

  body:not(.elementor-editor-active) .elementor:not(.elementor-location-header):not(.elementor-location-footer) h1,
  body:not(.elementor-editor-active) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-heading-title.elementor-size-xxl {
    font-size: clamp(32px, 9.2vw, 44px);
    line-height: 1.08;
  }

  body:not(.elementor-editor-active) .elementor:not(.elementor-location-header):not(.elementor-location-footer) h2 {
    font-size: clamp(25px, 7.1vw, 34px);
    line-height: 1.14;
  }

  body:not(.elementor-editor-active) .elementor:not(.elementor-location-header):not(.elementor-location-footer) h3 {
    line-height: 1.25;
  }

  body:not(.elementor-editor-active) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-button {
    width: auto;
    max-width: 100%;
  }

  body:not(.elementor-editor-active) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-button {
    min-height: 44px;
    width: auto;
    max-width: 100%;
    padding: 11px 18px;
  }

  body:not(.elementor-editor-active) .elementor:not(.elementor-location-header):not(.elementor-location-footer) img {
    max-width: 100%;
    height: auto;
  }

  .kubo-v2-table-wrap,
  .kubo-v2-table-scroll,
  .kubo-table-wrap,
  .kwh-table-wrap,
  .kbp-spec-table,
  .kbp-scope-table,
  .kubo-blog-content .wp-block-table,
  .kubo-blog-content .kubo-app003-table {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .kubo-v2-table,
  .kubo-table,
  .kwh-table,
  .spec-table,
  .kubo-blog-content table {
    width: max-content;
    min-width: 640px;
    max-width: none;
  }

  /* Homepage */
  .page-id-15 .kh-section {
    padding-block: 48px;
  }

  .page-id-15 .kh-inner {
    width: min(100% - 36px, 1180px);
  }

  .page-id-15 .kh-proof-section {
    margin-top: 0;
    padding-inline: 0;
  }

  .page-id-15 .kh-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid #d8e1e7;
    border-top: 4px solid #f4b400;
    border-radius: 14px;
    background: #fbfcfd;
    box-shadow: 0 14px 32px rgba(13, 34, 48, .08);
  }

  .page-id-15 .kh-proof-grid > * {
    min-width: 0;
    min-height: 108px;
    grid-column: span 2;
    padding: 18px 10px 16px;
    align-items: center;
    justify-content: center;
    border: 0;
    text-align: center;
    background: transparent;
  }

  .page-id-15 .kh-proof-grid > :nth-child(-n + 3) {
    border-bottom: 1px solid #d8e1e7;
  }

  .page-id-15 .kh-proof-grid > :nth-child(1),
  .page-id-15 .kh-proof-grid > :nth-child(2),
  .page-id-15 .kh-proof-grid > :nth-child(4) {
    border-right: 1px solid #d8e1e7;
  }

  .page-id-15 .kh-proof-grid > :nth-child(4) {
    grid-column: 2 / span 2;
  }

  .page-id-15 .kh-proof-grid > :nth-child(5) {
    grid-column: 4 / span 2;
  }

  .page-id-15 .kh-proof-strong,
  .page-id-15 .kh-proof-copy {
    width: 100%;
    text-align: center;
  }

  .page-id-15 .kh-proof-strong {
    margin-bottom: 7px;
  }

  .page-id-15 .kh-proof-strong::after {
    width: 24px;
    height: 2px;
    display: block;
    margin: 7px auto 0;
    border-radius: 999px;
    background: #f4b400;
    content: "";
  }

  .page-id-15 .kh-proof-strong .elementor-heading-title {
    color: #0d2230;
    font-size: 14px !important;
    font-weight: 750;
    line-height: 1.2;
  }

  .page-id-15 .kh-proof-copy,
  .page-id-15 .kh-proof-copy p {
    margin: 0;
    color: #61717e;
    font-size: 11px;
    line-height: 1.38;
  }

  .page-id-15 .kh-capability-grid,
  .page-id-15 .kh-qc-grid,
  .page-id-15 .kh-process-grid,
  .page-id-15 .kh-why-grid,
  .page-id-15 .kh-eng-points,
  .page-id-15 .kh-solution-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .page-id-15 .kh-process-card,
  .page-id-15 .kh-why-card {
    min-height: 0;
    padding: 18px 16px;
  }

  .page-id-15 .kh-process-card p,
  .page-id-15 .kh-why-card p {
    font-size: 13px;
    line-height: 1.55;
  }

  .page-id-15 .kh-process-card h3,
  .page-id-15 .kh-why-card h3 {
    font-size: 16px !important;
    line-height: 1.28;
  }

  .page-id-15 .kh-solution-list-item,
  .page-id-15 .kh-solution-list-item p {
    font-size: 12px;
    line-height: 1.45;
  }

  .page-id-15 .kh-sector-grid,
  .page-id-15 .kh-system-grid,
  .page-id-15 .kh-product-list,
  .page-id-15 .kh-projects-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding: 0 0 12px;
    -webkit-overflow-scrolling: touch;
  }

  .page-id-15 .kh-sector-card,
  .page-id-15 .kh-system-card,
  .page-id-15 .kh-product-row,
  .page-id-15 .kh-projects-grid > * {
    scroll-snap-align: start;
  }

  .page-id-15 .kh-product-row {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    padding-block: 14px;
  }

  .page-id-15 .kh-product-visual {
    min-height: 190px;
  }

  .page-id-15 .kh-factory-grid,
  .page-id-15 .kh-engineering-grid,
  .page-id-15 .kh-quality-grid {
    gap: 32px;
  }

  .page-id-15 .kh-camp-map-copy,
  .page-id-15 .kh-solution-copy,
  .page-id-15 .kh-product-cta,
  .page-id-15 .kh-final-cta-copy,
  .page-id-15 .kh-cta-panel {
    padding: 24px 20px;
  }

  /* Categories hub */
  .page-id-32 .kubo-v2-section {
    padding-block: 48px;
  }

  .page-id-32 .kcr-hero-grid {
    gap: 28px;
  }

  .page-id-32 .kcr-constraint-list,
  .page-id-32 .kubo-v2-product-grid,
  .page-id-32 .kubo-v2-decision-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
  }

  .page-id-32 .kcr-constraint-row,
  .page-id-32 .kubo-v2-card {
    scroll-snap-align: start;
  }

  .page-id-32 .kcr-constraint-row {
    padding: 18px;
  }

  .page-id-32 .kcr-capability-grid,
  .page-id-32 .kcr-routing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .page-id-32 .kcr-capability-grid,
  .page-id-32 .kcr-routing-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
  }

  .page-id-32 .kcr-capability-grid > *,
  .page-id-32 .kcr-routing-grid > * {
    min-width: 0;
    scroll-snap-align: start;
  }

  .page-id-32 .kcr-system-row {
    gap: 18px;
    padding: 18px;
  }

  .page-id-32 .kcr-system-media img {
    max-height: 230px;
    object-fit: cover;
  }

  /* Six category pages */
  .kubo-category-page .kubo-section {
    padding-block: 48px;
  }

  .kubo-category-page .kubo-container {
    padding-inline: 18px;
  }

  .kubo-category-page .kubo-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 8px;
    row-gap: 12px;
  }

  .kubo-category-page .kubo-metric {
    min-width: 0;
    padding: 14px 10px;
  }

  .kubo-category-page .kubo-scenario-grid,
  .kubo-category-page .kubo-project-grid {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
  }

  .kubo-category-page .kubo-scenario-card,
  .kubo-category-page .kubo-project-card {
    width: auto;
    min-width: 0;
    flex: 0 0 min(84vw, 320px);
    scroll-snap-align: start;
  }

  .kubo-category-page .kubo-config-grid,
  .kubo-category-page .kubo-layout-grid,
  .kubo-category-page .kubo-climate-grid,
  .kubo-category-page .kubo-process,
  .kubo-category-page .kubo-rfq-grid,
  .kubo-category-page .kubo-evidence-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .kubo-category-page .kubo-config-body,
  .kubo-category-page .kubo-layout-item,
  .kubo-category-page .kubo-climate-card,
  .kubo-category-page .kubo-step,
  .kubo-category-page .kubo-rfq-item,
  .kubo-category-page .kubo-project-card,
  .kubo-category-page .kubo-scope-col,
  .kubo-category-page .kubo-qc-panel {
    padding: 18px 16px;
  }

  .kubo-category-page .kubo-hero-copy {
    padding: 36px 20px 24px;
  }

  .kubo-category-page .kubo-hero-media img,
  .kubo-category-page .kubo-img-slot img,
  .kubo-category-page .kubo-real-image img {
    max-height: 250px;
    object-fit: cover;
  }

  /* Product Hub and all 24 product pages */
  .post-type-archive-yt_product .kbp-product-section,
  .single-yt_product .kbp-product-section {
    padding-block: 48px;
  }

  .post-type-archive-yt_product .kbp-product-quick-nav,
  .single-yt_product .kbp-product-quick-nav {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .single-yt_product .kbp-fit-grid,
  .single-yt_product .kbp-gallery-grid,
  .single-yt_product .kbp-grid--3,
  .single-yt_product .kbp-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .single-yt_product .kbp-product-hero__metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .single-yt_product .kbp-fit-card,
  .single-yt_product .kbp-related-card,
  .single-yt_product .kbp-key-spec,
  .single-yt_product .kbp-decision-card {
    padding: 18px 16px;
  }

  .single-yt_product .kbp-gallery-image img,
  .single-yt_product .kbp-related-card img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .single-yt_product .kbp-rfq-grid,
  .single-yt_product .kbp-product-hero__grid {
    gap: 28px;
  }

  /* Solutions Hub and all Solution pages */
  body.page-id-33 .elementor-33 .kbr-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.page-id-33 .elementor-33 .kbr-card,
  body.page-id-33 .elementor-33 .kubo-solutions-hub__renewable-decision-note {
    min-height: 0;
    padding: 18px 16px;
  }

  body.page-id-33 .elementor-33 .kubo-mobile-capability-grid h3 {
    font-size: 15px !important;
    line-height: 1.3;
  }

  body.page-id-33 .elementor-33 .kbr-card .elementor-button {
    padding-inline: 12px;
    font-size: 12px;
    white-space: normal;
    text-align: center;
  }

  body.page-id-33 .elementor-33 .kbr-card .elementor-button-content-wrapper {
    min-width: 0;
  }

  body.page-id-33 .elementor-33 .kbr-grid,
  body.page-id-33 .elementor-33 .kubo-mobile-capability-grid,
  body.page-id-33 .elementor-33 .kubo-mobile-resource-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
  }

  body.page-id-33 .elementor-33 .kbr-grid > *,
  body.page-id-33 .elementor-33 .kubo-mobile-capability-grid > *,
  body.page-id-33 .elementor-33 .kubo-mobile-resource-grid > * {
    min-width: 0;
    scroll-snap-align: start;
  }

  body.page-id-33 .elementor-33 .kubo-mobile-metrics-grid,
  body.page-id-33 .elementor-33 .kubo-mobile-process-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.page-id-33 .elementor-33 .kubo-mobile-metrics-grid > * {
    min-width: 0;
    padding: 14px 10px;
  }

  body.page-id-33 .elementor-33 .kubo-mobile-metrics-grid > * > .elementor-widget:last-child .elementor-heading-title {
    font-size: 9.2px !important;
    line-height: 1.3;
  }

  body.page-id-33 .elementor-33 .kubo-mobile-solution-card-grid,
  body.page-id-33 .elementor-33 .kubo-mobile-case-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    grid-auto-rows: auto;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
  }

  body.page-id-33 .elementor-33 .kubo-mobile-solution-card-grid > *,
  body.page-id-33 .elementor-33 .kubo-mobile-case-grid > * {
    height: auto;
    min-width: 0;
    scroll-snap-align: start;
  }

  body.page-id-33 .elementor-33 > .e-con.e-parent {
    padding-block: 48px;
  }

  .single-solution .kwh-inner {
    padding-block: 44px;
    gap: 20px;
  }

  .single-solution .kwh-grid,
  .single-solution .kubo-decision-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
  }

  .single-solution .kwh-card,
  .single-solution .kubo-decision-card {
    min-height: 0;
    padding: 18px 16px;
    scroll-snap-align: start;
  }

  .single-solution .kwh-row {
    gap: 28px;
  }

  .single-solution .kwh-media-col img,
  .single-solution .kmc-media-col img {
    max-height: 280px;
    object-fit: cover;
  }

  /* News, case studies, About, Resources and utility templates */
  .single-post .kubo-blog-hero,
  .single-post .kubo-blog-main,
  .single-post .kubo-blog-related,
  .single-post .kubo-blog-bottom-cta {
    padding-block: 44px;
  }

  .single-post .kubo-mentioned-products-grid,
  .single-post .kubo-blog-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .single-post .kubo-mentioned-products-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
  }

  .single-post .kubo-mentioned-product-card {
    scroll-snap-align: start;
  }

  .single-post .kubo-mentioned-product-body,
  .single-post .kubo-blog-related-card-body {
    padding: 16px 14px;
  }

  .single-post .kubo-mentioned-product-image,
  .single-post .kubo-blog-related-card-img {
    aspect-ratio: 4 / 3;
    height: auto;
    object-fit: cover;
  }

  .page-id-3771 .kfv-section,
  .page-id-3771 .kfv-hero {
    padding-block: 48px;
  }

  .page-id-3771 .kfv-facts,
  .page-id-3771 .kfv-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .page-id-3771 .kfv-facts {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-id-3771 .kfv-checks {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-id-3771 .kfv-fact,
  .page-id-3771 .kfv-check,
  .page-id-3771 .kfv-address-card,
  .page-id-3771 .kfv-cta-panel {
    padding: 18px 16px;
  }

  .page-id-3771 .kfv-fact .elementor-heading-title {
    font-size: 18px !important;
  }

  .page-id-2272 .elementor-icon-box-title {
    font-size: 14px !important;
    line-height: 1.3;
  }

  .kubo-category-page .kubo-btn .elementor-button {
    padding-inline: 12px;
    font-size: 12px;
    white-space: normal;
    text-align: center;
  }

  .page-id-38 .elementor-38 > .e-con.e-parent,
  .page-id-2272 .elementor-2272 > .e-con.e-parent,
  .page-id-3773 .elementor-3773 > .e-con.e-parent,
  .page-id-34 .elementor-34 > .e-con.e-parent,
  .page-id-258 .elementor-258 > .e-con.e-parent,
  .page-id-42 .elementor-42 > .e-con.e-parent {
    min-height: 0;
  }

  .page-id-38 .elementor-38 > .e-con.e-parent,
  .page-id-2272 .elementor-2272 > .e-con.e-parent,
  .page-id-3773 .elementor-3773 > .e-con.e-parent {
    padding-block: 48px;
  }

  body.page-id-38 .kubo-about-page .ka-section {
    padding-block: 48px;
  }

  body.page-id-38 .kubo-about-page .ka-project-grid,
  body.page-id-38 .kubo-about-page .ka-factory-cards,
  body.page-id-38 .kubo-about-page .ka-solution-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    grid-auto-rows: auto;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
  }

  body.page-id-38 .kubo-about-page .ka-project-grid > *,
  body.page-id-38 .kubo-about-page .ka-factory-cards > *,
  body.page-id-38 .kubo-about-page .ka-solution-grid > * {
    height: auto;
    min-width: 0;
    scroll-snap-align: start;
  }

  body.page-id-38 .kubo-about-page .ka-process,
  body.page-id-38 .kubo-about-page .ka-systems,
  body.page-id-38 .kubo-about-page .ka-process-media,
  body.page-id-38 .kubo-about-page .ka-qc-gates,
  body.page-id-38 .kubo-about-page .ka-engineering__flow,
  body.page-id-38 .kubo-about-page .ka-doc-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.page-id-38 .kubo-about-page .ka-process__step,
  body.page-id-38 .kubo-about-page .ka-system,
  body.page-id-38 .kubo-about-page .ka-qc-gate,
  body.page-id-38 .kubo-about-page .ka-engineering__step,
  body.page-id-38 .kubo-about-page .ka-doc-panel__row,
  body.page-id-38 .kubo-about-page .ka-factory-card,
  body.page-id-38 .kubo-about-page .ka-solution-card {
    min-width: 0;
    padding: 18px 16px;
  }

  body.page-id-38 .kubo-about-page .ka-engineering__flow,
  body.page-id-38 .kubo-about-page .ka-doc-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  body.page-id-38 .kubo-about-page .ka-engineering__step {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
  }

  body.page-id-38 .kubo-about-page .ka-engineering__step > * {
    min-width: 0;
  }

  body.page-id-38 .kubo-about-page .ka-checks .elementor-icon-list-item {
    min-width: 0;
    display: block;
    padding-left: 34px;
  }

  body.page-id-38 .kubo-about-page .ka-checks .elementor-icon-list-icon {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
  }

  body.page-id-38 .kubo-about-page .ka-checks .elementor-icon-list-text {
    min-width: 0;
    display: block;
    color: #142c3b;
    overflow-wrap: normal;
    word-break: normal;
  }

  body.page-id-38 .kubo-about-page .ka-systems {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
  }

  body.page-id-38 .kubo-about-page .ka-system {
    min-width: 0;
    min-height: 230px;
    padding: 22px 20px 58px;
    scroll-snap-align: start;
  }

  body.page-id-38 .kubo-about-page .ka-system::after {
    left: 20px;
    right: auto;
    bottom: 20px;
  }

  body.page-id-38 .kubo-about-page .ka-project__stats,
  body.page-id-38 .kubo-about-page .ka-proofbar__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.page-id-38 .kubo-about-page .ka-project__stats > * {
    min-width: 0;
    display: block;
    padding-top: 12px;
  }

  body.page-id-38 .kubo-about-page .ka-project__stats > * > .elementor-widget {
    padding-top: 0;
    border-top: 0;
  }

  body.page-id-38 .kubo-about-page .ka-project__stats > * > .elementor-widget + .elementor-widget {
    margin-top: 6px;
  }

  body.page-id-38 .kubo-about-page .ka-project__stats > :last-child {
    grid-column: 1 / -1;
    width: calc(50% - 5px);
  }

  body.page-id-38 .kubo-about-page .ka-project__stats strong,
  body.page-id-38 .kubo-about-page .ka-project__stats span {
    width: 100%;
    display: block;
    overflow-wrap: normal;
    word-break: normal;
  }

  body.page-id-38 .kubo-about-page .ka-project__stats strong {
    font-size: 19px;
  }

  body.page-id-38 .kubo-about-page .ka-qc-gate::before {
    position: static;
    margin-bottom: 14px;
  }

  body.page-id-38 .kubo-about-page .ka-qc-gate h3 {
    margin-top: 0;
  }

  .search-results .site-main,
  .error404 .site-main,
  .page-id-630 .elementor-630,
  .page-id-2612 .elementor-2612,
  .page-id-2898 .elementor-2898 {
    padding-block: 40px;
  }

  .search-results .post-content,
  .search-results .ast-blog-featured-section,
  .search-results .post-thumb {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .search-results .ast-blog-featured-section img,
  .search-results .post-thumb img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .single-case-study .cs__faq-q::after {
    box-sizing: border-box;
  }

  .single-case-study .cs__faq-q {
    max-width: 100%;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .single-solution form.elementor-form {
    max-width: 100%;
    overflow-x: clip;
  }

  body.page-id-2896 .kubo-emergency-page .spec-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body.page-id-2896 .kubo-emergency-page .spec-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 22px 18px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.page-id-2896 .kubo-emergency-page .spec-panel > * {
    max-width: 100%;
  }

  body.page-id-2896 .kubo-emergency-page .spec-table {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    display: block;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.page-id-2896 .kubo-emergency-page .spec-table > tbody {
    width: 100%;
    min-width: 640px;
    display: table;
  }

  body.page-id-2324 .kubo-ad-page .kubo-section {
    padding-block: 48px;
  }

  body.page-id-2324 .kubo-ad-page .kubo-stats,
  body.page-id-2324 .kubo-ad-page .kubo-grid-4,
  body.page-id-2324 .kubo-ad-page .kubo-matrix {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.page-id-2324 .kubo-ad-page .kubo-path {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.page-id-2324 .kubo-ad-page .kubo-grid-3 {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 320px);
    grid-template-columns: none;
    grid-auto-rows: auto;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
  }

  body.page-id-2324 .kubo-ad-page .kubo-grid-3 > * {
    height: auto;
    min-width: 0;
    scroll-snap-align: start;
  }

  body.page-id-2324 .kubo-ad-page .kubo-card-body,
  body.page-id-2324 .kubo-ad-page .kubo-stat,
  body.page-id-2324 .kubo-ad-page .kubo-step,
  body.page-id-2324 .kubo-ad-page .kubo-matrix-card {
    padding: 18px 16px;
  }

  body.page-id-2324 .kubo-ad-page .kubo-stat h3,
  body.page-id-2324 .kubo-ad-page .kubo-stat .elementor-heading-title {
    font-size: 16px;
    line-height: 1.2;
  }

  body.page-id-32 .elementor-32 .elementor-button {
    padding-inline: 12px;
    font-size: 12px;
    white-space: normal;
    text-align: center;
  }

  body.page-id-32 .elementor-32 .elementor-button-content-wrapper {
    min-width: 0;
  }

  body.page-id-2324 .kubo-ad-page .kubo-image-block img,
  body.page-id-2324 .kubo-ad-page .kubo-card img {
    max-height: 240px;
    object-fit: cover;
  }

  .stickyContacts {
    right: max(10px, env(safe-area-inset-right));
    bottom: max(74px, calc(env(safe-area-inset-bottom) + 62px));
    transform: scale(.9);
    transform-origin: right bottom;
  }

  #gt_float_wrapper {
    right: max(10px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    max-width: calc(100vw - 20px);
  }
}

@media (max-width: 1080px) {
  /* Keep every first-level navigation row in the drawer's normal flow. */
  .kubo-header-v2 .kubo-clean-nav__list {
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100svh;
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .kubo-header-v2 .kubo-clean-nav__list > .kubo-clean-nav__item {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    max-height: none;
    display: block;
    visibility: visible;
    opacity: 1;
    clip-path: none;
    overflow: visible;
  }

  .kubo-header-v2 .kubo-clean-nav__list > .kubo-clean-nav__item > a {
    min-height: 51px;
  }

  .kubo-header-v2 .kubo-clean-nav__mobile-panel {
    position: static;
    width: 100%;
    max-height: none;
    overflow: visible;
    clip-path: none;
  }

  html.kubo-nav-locked body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: #fff;
  }

  html.kubo-nav-locked body #content,
  html.kubo-nav-locked body footer,
  html.kubo-nav-locked body .elementor-location-footer {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  /* Floating utilities must stay below the overlay while the drawer is open. */
  html.kubo-nav-locked .cky-btn-revisit-wrapper,
  html.kubo-nav-locked .cky-consent-container,
  html.kubo-nav-locked .stickyContacts,
  html.kubo-nav-locked #gt_float_wrapper,
  html.kubo-nav-locked [class*="whatsapp" i][style*="position: fixed"],
  html.kubo-nav-locked [class*="floating" i][style*="position: fixed"] {
    z-index: 9980 !important;
    pointer-events: none !important;
  }

  html.kubo-nav-locked .kubo-header-v2 > .elementor-element-40a3528,
  html.kubo-nav-locked .kubo-header-v2 .elementor-element-6ce36ab6 {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  header.elementor-location-header.kubo-header-v2 > .kubo-canton-announcement-container {
    position: relative;
    z-index: 1;
  }

  header.elementor-location-header.kubo-header-v2 > .elementor-element-4b173c99 {
    position: relative;
    z-index: 10020;
  }

  .kubo-header-v2 .kubo-mobile-logo {
    position: fixed;
    top: max(14px, env(safe-area-inset-top));
    left: calc(100vw - min(92vw, 430px) + 22px);
    z-index: 10060;
    width: 76px;
    min-height: 48px;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease;
  }

  .kubo-header-v2 .kubo-mobile-logo img {
    width: 76px;
    height: auto;
    max-height: 52px;
    display: block;
    object-fit: contain;
  }

  .kubo-header-v2 .kubo-clean-nav.is-open > .kubo-mobile-logo {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html.kubo-nav-locked body.home .kubo-canton-announcement-container {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  html.kubo-nav-locked body.home .kubo-header-v2 .kubo-clean-nav__list {
    padding-top: 76px !important;
  }

  html.kubo-nav-locked .kubo-header-v2 .kubo-clean-nav__list {
    min-height: 0;
    background: #fff;
  }

  html.kubo-nav-locked body.home .kubo-header-v2 .kubo-mobile-close {
    top: max(20px, env(safe-area-inset-top));
  }
}

@media (max-width: 1080px) and (min-width: 783px) {
  body.admin-bar .kubo-header-v2 .kubo-mobile-logo {
    top: 52px;
  }
}

@media (max-width: 782px) and (min-width: 601px) {
  body.admin-bar .kubo-header-v2 .kubo-mobile-logo {
    top: 66px;
  }
}

@media (max-width: 600px) {
  /* Keep the first-visit CookieYes notice compact without reducing consent choices. */
  .cky-consent-container {
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-width: 420px !important;
  }

  .cky-consent-container .cky-consent-bar {
    max-height: calc(100dvh - 24px);
    padding: 16px !important;
    overflow-y: auto;
    border-radius: 14px !important;
  }

  .cky-consent-container .cky-title {
    margin: 0 0 6px !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
  }

  .cky-consent-container .cky-notice-des {
    margin: 0 0 12px !important;
  }

  .cky-consent-container .cky-notice-des,
  .cky-consent-container .cky-notice-des p,
  .cky-consent-container .cky-notice-des a {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .cky-consent-container .cky-notice-btn-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
    margin: 0 !important;
  }

  .cky-consent-container .cky-btn {
    min-width: 0 !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .cky-consent-container .cky-btn-accept {
    grid-column: 1 / -1;
  }

  .cky-consent-container .cky-footer-wrapper {
    margin-top: 8px !important;
    padding-top: 0 !important;
  }

  body.home .kubo-canton-announcement__inner {
    min-height: 38px;
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .kubo-header-v2 > .elementor-element-4b173c99,
  .kubo-header-v2 > .elementor-element-4b173c99 > .e-con-inner {
    min-height: 60px;
  }

  body.admin-bar .kubo-header-v2 .kubo-mobile-logo,
  html.kubo-nav-locked body.home.admin-bar .kubo-header-v2 .kubo-mobile-close {
    top: 66px;
  }
}

@media (max-width: 370px) {
  .cky-consent-container .cky-notice-btn-wrapper {
    grid-template-columns: 1fr;
  }

  .cky-consent-container .cky-btn-accept {
    grid-column: auto;
  }

  .page-id-15 .kh-proof-grid,
  .page-id-15 .kh-process-grid,
  .page-id-15 .kh-why-grid,
  .page-id-15 .kh-eng-points,
  .page-id-15 .kh-solution-list,
  .page-id-15 .kh-qc-grid,
  .kubo-category-page .kubo-config-grid,
  .kubo-category-page .kubo-layout-grid,
  .kubo-category-page .kubo-climate-grid,
  .kubo-category-page .kubo-process,
  .kubo-category-page .kubo-rfq-grid,
  .single-yt_product .kbp-fit-grid,
  .single-yt_product .kbp-gallery-grid,
  .single-post .kubo-blog-related-grid,
  .page-id-3771 .kfv-facts,
  .page-id-3771 .kfv-checks,
  body.page-id-38 .kubo-about-page .ka-process,
  body.page-id-38 .kubo-about-page .ka-qc-gates,
  body.page-id-33 .elementor-33 .kubo-mobile-process-grid,
  body.page-id-2324 .kubo-ad-page .kubo-grid-4,
  body.page-id-2324 .kubo-ad-page .kubo-matrix,
  body.page-id-2324 .kubo-ad-page .kubo-path {
    grid-template-columns: 1fr;
  }

  header.elementor-location-header.kubo-header-v2 .elementor-element-40b43786 .elementor-icon-list-item {
    min-width: 0;
    width: 50%;
    flex: 1 1 0;
  }

  header.elementor-location-header.kubo-header-v2 .elementor-element-40b43786 .elementor-icon-list-item > a {
    min-width: 0;
    gap: 3px !important;
    padding-inline: 2px !important;
    font-size: 8.5px !important;
  }

  header.elementor-location-header.kubo-header-v2 .elementor-element-40b43786 .elementor-icon-list-icon svg {
    width: 10px !important;
    height: 10px !important;
  }

  .page-id-15 .kh-proof-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .page-id-15 .kh-proof-grid > * {
    min-height: 104px;
    grid-column: span 2;
    padding-inline: 7px;
  }

  .page-id-15 .kh-proof-grid > :nth-child(4) {
    grid-column: 2 / span 2;
  }

  .page-id-15 .kh-proof-grid > :nth-child(5) {
    grid-column: 4 / span 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kubo-category-page *,
  .single-yt_product *,
  .single-solution *,
  .page-id-15 *,
  .page-id-32 * {
    scroll-behavior: auto;
    transition-duration: .01ms;
    animation-duration: .01ms;
    animation-iteration-count: 1;
  }
}