/* ============================================================
 * INSVISION homepage-only final layout layer
 * ------------------------------------------------------------
 * Loaded by front-page.php only. Keep homepage-specific CMS ID
 * fixes here so non-home pages do not carry these rules.
 * ============================================================ */

/* Stats block visibility override.
   home.min.css sets .e_loop-38{visibility:hidden;opacity:0} expecting a scroll
   trigger that is not wired up in this theme. Force visible so numbers render. */
#c_static_1142-1755741278825 .e_loop-38 {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Homepage hero nav contrast.
   The generated header uses white nav text + white logo before scroll, which
   relies on every hero frame being dark enough. Make the home default state
   use the same readable contrast system as the scrolled header. */
body.home #c_navigation_126_P_1582-17606661880800{
    background:rgba(255,255,255,.82) !important;
    border-bottom-color:rgba(210,220,233,.85) !important;
    box-shadow:0 10px 30px rgba(18,39,78,.08) !important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}
body.home #c_navigation_126_P_1582-17606661880800 .e_navigationA-35 .p_level1Item a{
    color:#263445 !important;
    text-shadow:none !important;
}
body.home #c_navigation_126_P_1582-17606661880800 .e_navigationA-35 .p_level1Item:hover .p_menu1Item a,
body.home #c_navigation_126_P_1582-17606661880800 .e_navigationA-35 .p_level1Item.cur .p_menu1Item a{
    color:#0057a0 !important;
}
body.home #c_navigation_126_P_1582-17606661880800 .e_image-16 img:first-child{
    display:none !important;
}
body.home #c_navigation_126_P_1582-17606661880800 .e_image-16 img:nth-child(2){
    display:block !important;
}

/* Homepage industry media stage.
   home.min.css mixes percentage widths, 50/50 flex overrides and height:100%
   media sizing. Normalize the desktop block into a stable two-column component
   so poster and video share one intentional stage. */
#c_effect_148-1755743551529.insv-home-industry--desktop{
    --insv-industry-gap:clamp(28px,3vw,40px);
    --insv-industry-radius:20px;
    --insv-industry-stage-border:#e7edf5;
    --insv-industry-stage-bg:linear-gradient(180deg,#ffffff 0%,#f6f9fc 100%);
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:var(--insv-industry-gap) !important;
    align-items:stretch !important;
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__list-col,
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-col{
    min-width:0;
    width:auto !important;
    max-width:none !important;
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-col{
    align-self:stretch !important;
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-shell,
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-cell{
    width:auto !important;
    height:100% !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:flex-end;
    max-width:none !important;
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage{
    width:auto !important;
    height:100% !important;
    position:relative;
    display:block !important;
    border-radius:var(--insv-industry-radius);
    max-width:none !important;
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__frame{
    position:relative !important;
    width:auto !important;
    height:100% !important;
    aspect-ratio:16 / 9 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:var(--insv-industry-radius) !important;
    background:var(--insv-industry-stage-bg);
    border:1px solid var(--insv-industry-stage-border);
    box-shadow:0 18px 48px rgba(17,42,88,.08);
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__cover{
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    display:block;
    background:var(--insv-industry-stage-bg);
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__poster,
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__poster-image,
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__video{
    width:100% !important;
    height:100% !important;
    display:block !important;
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__poster{
    position:absolute !important;
    inset:0 !important;
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__poster-image,
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__video{
    object-fit:cover !important;
    border-radius:inherit !important;
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__video{
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:transparent !important;
}
#c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__cover .playBtn{
    position:absolute;
    left:50%;
    top:50%;
    margin:0 !important;
    transform:translate(-50%,-50%);
    width:clamp(56px,5vw,80px) !important;
    height:clamp(56px,5vw,80px) !important;
    z-index:3 !important;
}
@media (max-width:1180px) and (min-width:769px){
    #c_effect_148-1755743551529.insv-home-industry--desktop{ --insv-industry-gap:32px; }
}

/* Sogou browser only: prevent the homepage industry video from escaping right. */
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop,
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .e_container-1,
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .cbox-1-0{
    max-width:100% !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
}
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__grid{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:space-between !important;
    width:calc(100% - 48px) !important;
    max-width:1320px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    gap:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__list-col{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    box-sizing:border-box !important;
}
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-col{
    flex:0 0 49% !important;
    width:49% !important;
    min-width:320px !important;
    max-width:648px !important;
    padding-left:40px !important;
    margin-left:0 !important;
    align-self:stretch !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-shell,
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-cell,
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-shell,
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-cell{
    display:block !important;
}
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__frame{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:56.25% 0 0 !important;
    aspect-ratio:auto !important;
    border-radius:20px !important;
    box-sizing:border-box !important;
}
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__cover,
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__poster,
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__poster-image,
body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__video{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
}
@supports (aspect-ratio:16 / 9){
    body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-video-stage__frame{
        aspect-ratio:16 / 9 !important;
        padding:0 !important;
    }
}
@media (max-width:1180px) and (min-width:769px){
    body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-col{
        flex-basis:46% !important;
        width:46% !important;
        min-width:300px !important;
        padding-left:32px !important;
    }
}
@media (max-width:900px) and (min-width:769px){
    body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__media-col{
        flex-basis:42% !important;
        width:42% !important;
        min-width:280px !important;
        padding-left:24px !important;
    }
}
@media (max-width:1660px) and (min-width:769px){
    body.insv-browser-sogou #c_effect_148-1755743551529.insv-home-industry--desktop .insv-home-industry__grid{
        width:calc(100% - 96px) !important;
        max-width:1320px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
}

/* Insights CTA wrapper */
/* moved to section 5 */
/* moved to section 5 */

/* === moved from theme-extra.css: home-product-cards === */
/* ============================================================
 * 6. HOMEPAGE PRODUCT CARDS  (unified shell for all 4 cards)
 *    Overrides the per-card page-builder rules on
 *    e_container-6/7/8/22 (and their cbox children)
 *    so every card has identical padding / grid / image size /
 *    text alignment, regardless of position or text length.
 * ============================================================ */

#c_static_001-1753418903463 .e_container-6,
#c_static_001-1753418903463 .e_container-7,
#c_static_001-1753418903463 .e_container-8,
#c_static_001-1753418903463 .e_container-22{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:24px !important;
    row-gap:0 !important;
    align-items:center !important;
    padding:40px 48px !important;
    min-height:320px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    border-radius:12px !important;
    box-shadow:0 2px 12px rgba(0,0,0,.04) !important;
    width:100% !important;
}

#c_static_001-1753418903463 .cbox-6-0,
#c_static_001-1753418903463 .cbox-7-0,
#c_static_001-1753418903463 .cbox-8-0,
#c_static_001-1753418903463 .cbox-22-0{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:8px !important;
    padding:0 !important;
    margin:0 !important;
    min-width:0 !important;
}

/* product name (first <p>) - blue link */
#c_static_001-1753418903463 .cbox-6-0 > p:nth-child(1),
#c_static_001-1753418903463 .cbox-7-0 > p:nth-child(1),
#c_static_001-1753418903463 .cbox-8-0 > p:nth-child(1),
#c_static_001-1753418903463 .cbox-22-0 > p:nth-child(1){
    font-size:22px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
    margin:0 !important;
    padding:0 !important;
}
#c_static_001-1753418903463 .cbox-6-0 > p:nth-child(1) a,
#c_static_001-1753418903463 .cbox-7-0 > p:nth-child(1) a,
#c_static_001-1753418903463 .cbox-8-0 > p:nth-child(1) a,
#c_static_001-1753418903463 .cbox-22-0 > p:nth-child(1) a{
    color:#1a82d8 !important;
    text-decoration:none !important;
}

/* description (second <p>) - dark, clamped to 2 lines for height parity */
#c_static_001-1753418903463 .cbox-6-0 > p:nth-child(2),
#c_static_001-1753418903463 .cbox-7-0 > p:nth-child(2),
#c_static_001-1753418903463 .cbox-8-0 > p:nth-child(2),
#c_static_001-1753418903463 .cbox-22-0 > p:nth-child(2){
    font-size:17px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
    color:#222 !important;
    margin:2px 0 6px !important;
    padding:0 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    min-height:48px !important;
}
#c_static_001-1753418903463 .cbox-6-0 > p:nth-child(2) a,
#c_static_001-1753418903463 .cbox-7-0 > p:nth-child(2) a,
#c_static_001-1753418903463 .cbox-8-0 > p:nth-child(2) a,
#c_static_001-1753418903463 .cbox-22-0 > p:nth-child(2) a{
    color:inherit !important;
    text-decoration:none !important;
}

/* slogan (third <p>) - gray small */
#c_static_001-1753418903463 .cbox-6-0 > p:nth-child(3),
#c_static_001-1753418903463 .cbox-7-0 > p:nth-child(3),
#c_static_001-1753418903463 .cbox-8-0 > p:nth-child(3),
#c_static_001-1753418903463 .cbox-22-0 > p:nth-child(3){
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.5 !important;
    color:#888 !important;
    margin:0 !important;
    padding:0 !important;
}

/* image column */
#c_static_001-1753418903463 .cbox-6-1,
#c_static_001-1753418903463 .cbox-7-1,
#c_static_001-1753418903463 .cbox-8-1,
#c_static_001-1753418903463 .cbox-22-1{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 !important;
    min-width:0 !important;
    height:100% !important;
}
#c_static_001-1753418903463 .cbox-6-1 img,
#c_static_001-1753418903463 .cbox-7-1 img,
#c_static_001-1753418903463 .cbox-8-1 img,
#c_static_001-1753418903463 .cbox-22-1 img{
    max-width:100% !important;
    max-height:240px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 auto !important;
}

/* mobile */
@media(max-width:768px){
    #c_static_001-1753418903463 .e_container-6,
    #c_static_001-1753418903463 .e_container-7,
    #c_static_001-1753418903463 .e_container-8,
    #c_static_001-1753418903463 .e_container-22{
        padding:24px 20px !important;
        min-height:220px !important;
        column-gap:16px !important;
    }
    #c_static_001-1753418903463 .cbox-6-0 > p:nth-child(1),
    #c_static_001-1753418903463 .cbox-7-0 > p:nth-child(1),
    #c_static_001-1753418903463 .cbox-8-0 > p:nth-child(1),
    #c_static_001-1753418903463 .cbox-22-0 > p:nth-child(1){
        font-size:18px !important;
    }
    #c_static_001-1753418903463 .cbox-6-0 > p:nth-child(2),
    #c_static_001-1753418903463 .cbox-7-0 > p:nth-child(2),
    #c_static_001-1753418903463 .cbox-8-0 > p:nth-child(2),
    #c_static_001-1753418903463 .cbox-22-0 > p:nth-child(2){
        font-size:14px !important;
        min-height:40px !important;
    }
    #c_static_001-1753418903463 .cbox-6-1 img,
    #c_static_001-1753418903463 .cbox-7-1 img,
    #c_static_001-1753418903463 .cbox-8-1 img,
    #c_static_001-1753418903463 .cbox-22-1 img{
        max-height:140px !important;
    }
}

/* =========================================================================
   7. HOMEPAGE PRODUCT CARDS - inter-card separation (r25y24n)
   r25y24m wiped the page-builder native card margin when it normalized
   inner containers. This section guarantees a clean 24px gap between all
   4 cards regardless of what the page builder emits, and ensures the
   grid cells do not accidentally add their own padding/margin that would
   shrink the cards.
   ========================================================================= */
#c_static_001-1753418903463 .e_container-2{
    display:grid !important;
    grid-template-columns:7fr 5fr !important;
    column-gap:24px !important;
    row-gap:0 !important;
    align-items:stretch !important;
}
/* row 2 flips the ratio (5fr 7fr) + adds vertical gap between rows */
#c_static_001-1753418903463 .e_container-3{
    display:grid !important;
    grid-template-columns:5fr 7fr !important;
    column-gap:24px !important;
    row-gap:0 !important;
    align-items:stretch !important;
    margin-top:24px !important;
}

/* keep the cells themselves neutral - no padding/margin wrapping each card */
#c_static_001-1753418903463 .cbox-2-0,
#c_static_001-1753418903463 .cbox-2-1,
#c_static_001-1753418903463 .cbox-3-0,
#c_static_001-1753418903463 .cbox-3-1{
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:stretch !important;
    width:auto !important;
}
/* ensure outer wrapper + row-of-rows container do not re-collapse spacing */
#c_static_001-1753418903463 .e_container-4,
#c_static_001-1753418903463 .cbox-4-0{
    display:block !important;
}
@media (max-width:768px){
    #c_static_001-1753418903463 .e_container-2,
    #c_static_001-1753418903463 .e_container-3{
        grid-template-columns:minmax(0,1fr) !important;
        row-gap:16px !important;
    }
    #c_static_001-1753418903463 .e_container-3{
        margin-top:16px !important;
    }
}

/* =========================================================================
   8. HOMEPAGE PRODUCT CARDS - bento row-height differentiation (r25y24o)
   Row 1 (AlphaScan + AlphaVista) keeps 320px baseline;
   Row 2 (V-Track + AlphaAutoScan-400) grows to 360px - bigger industrial
   products earn more vertical weight for the bento feel.
   ========================================================================= */
#c_static_001-1753418903463 .e_container-6,
#c_static_001-1753418903463 .e_container-7{
    min-height:320px !important;
}
#c_static_001-1753418903463 .e_container-8,
#c_static_001-1753418903463 .e_container-22{
    min-height:360px !important;
}
@media (max-width:768px){
    #c_static_001-1753418903463 .e_container-6,
    #c_static_001-1753418903463 .e_container-7,
    #c_static_001-1753418903463 .e_container-8,
    #c_static_001-1753418903463 .e_container-22{
        min-height:260px !important;
    }
}

/* =========================================================================
   9. HOMEPAGE PRODUCT CARDS - compact + clickable + single-line (r25y24p)
   Overrides Sections 6/7/8 to:
     - shrink padding 40->20, min-height 320/360->220/260
     - widen text column 1:1 -> 1.5:1, smaller font for narrow cards
     - single-line desc/slogan via nowrap + ellipsis
     - whole card clickable via ::after overlay on existing <a>
     - hover lift 3px for affordance
   ========================================================================= */

/* compact padding + wider text column + relative anchor for ::after overlay */
#c_static_001-1753418903463 .e_container-6,
#c_static_001-1753418903463 .e_container-7,
#c_static_001-1753418903463 .e_container-8,
#c_static_001-1753418903463 .e_container-22{
    padding:20px 28px !important;
    grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) !important;
    position:relative !important;
    cursor:pointer !important;
    transition:transform .25s ease, box-shadow .25s ease !important;
}

/* tighter min-heights (override Section 8) */
#c_static_001-1753418903463 .e_container-6,
#c_static_001-1753418903463 .e_container-7{
    min-height:220px !important;
}
#c_static_001-1753418903463 .e_container-8,
#c_static_001-1753418903463 .e_container-22{
    min-height:260px !important;
}

/* smaller product image */
#c_static_001-1753418903463 .cbox-6-1 img,
#c_static_001-1753418903463 .cbox-7-1 img,
#c_static_001-1753418903463 .cbox-8-1 img,
#c_static_001-1753418903463 .cbox-22-1 img{
    max-height:170px !important;
}

/* hover lift */
#c_static_001-1753418903463 .e_container-6:hover,
#c_static_001-1753418903463 .e_container-7:hover,
#c_static_001-1753418903463 .e_container-8:hover,
#c_static_001-1753418903463 .e_container-22:hover{
    transform:translateY(-3px) !important;
    box-shadow:0 8px 20px rgba(0,0,0,.10) !important;
}

/* single-line desc + slogan (nowrap + ellipsis safety net) */
#c_static_001-1753418903463 .cbox-6-0 p,
#c_static_001-1753418903463 .cbox-7-0 p,
#c_static_001-1753418903463 .cbox-8-0 p,
#c_static_001-1753418903463 .cbox-22-0 p{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    -webkit-line-clamp:unset !important;
    min-height:0 !important;
}

/* desc font tuning */
#c_static_001-1753418903463 .cbox-6-0 > p:nth-child(2),
#c_static_001-1753418903463 .cbox-7-0 > p:nth-child(2),
#c_static_001-1753418903463 .cbox-8-0 > p:nth-child(2),
#c_static_001-1753418903463 .cbox-22-0 > p:nth-child(2){
    font-size:15px !important;
    margin-top:4px !important;
}

/* slogan font tuning (muted gray, smaller) */
#c_static_001-1753418903463 .cbox-6-0 > p:nth-child(3),
#c_static_001-1753418903463 .cbox-7-0 > p:nth-child(3),
#c_static_001-1753418903463 .cbox-8-0 > p:nth-child(3),
#c_static_001-1753418903463 .cbox-22-0 > p:nth-child(3){
    font-size:13px !important;
    color:#888 !important;
    margin-top:10px !important;
}

/* whole card clickable - existing <a> (wraps image) gets stretched ::after */
#c_static_001-1753418903463 .e_container-6 a,
#c_static_001-1753418903463 .e_container-7 a,
#c_static_001-1753418903463 .e_container-8 a,
#c_static_001-1753418903463 .e_container-22 a{
    position:static !important;
}
#c_static_001-1753418903463 .e_container-6 a::after,
#c_static_001-1753418903463 .e_container-7 a::after,
#c_static_001-1753418903463 .e_container-8 a::after,
#c_static_001-1753418903463 .e_container-22 a::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
}

/* mobile: single column, smaller everything */
@media (max-width:768px){
    #c_static_001-1753418903463 .e_container-6,
    #c_static_001-1753418903463 .e_container-7,
    #c_static_001-1753418903463 .e_container-8,
    #c_static_001-1753418903463 .e_container-22{
        padding:16px 20px !important;
        min-height:180px !important;
        grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) !important;
    }
    #c_static_001-1753418903463 .cbox-6-1 img,
    #c_static_001-1753418903463 .cbox-7-1 img,
    #c_static_001-1753418903463 .cbox-8-1 img,
    #c_static_001-1753418903463 .cbox-22-1 img{
        max-height:120px !important;
    }
}

/* =========================================================================
   10. HOMEPAGE PRODUCT CARDS - bigger images + one motion only (r25y24q)
     - image max-height: row 1 -> 190px, row 2 -> 230px (was 170px uniform)
     - freeze image hover: only the card moves, image stays put
   ========================================================================= */

/* row 1 images (AlphaScan, AlphaVista) */
#c_static_001-1753418903463 .cbox-6-1 img,
#c_static_001-1753418903463 .cbox-7-1 img{
    max-height:190px !important;
}
/* row 2 images (V-Track, AlphaAutoScan-400) - bigger to match taller cards */
#c_static_001-1753418903463 .cbox-8-1 img,
#c_static_001-1753418903463 .cbox-22-1 img{
    max-height:230px !important;
}

/* freeze all img transforms inside these cards: card is the one that moves */
#c_static_001-1753418903463 .e_container-6 img,
#c_static_001-1753418903463 .e_container-7 img,
#c_static_001-1753418903463 .e_container-8 img,
#c_static_001-1753418903463 .e_container-22 img{
    transition:none !important;
    transform:none !important;
}
#c_static_001-1753418903463 .e_container-6:hover img,
#c_static_001-1753418903463 .e_container-7:hover img,
#c_static_001-1753418903463 .e_container-8:hover img,
#c_static_001-1753418903463 .e_container-22:hover img,
#c_static_001-1753418903463 .e_container-6 a:hover img,
#c_static_001-1753418903463 .e_container-7 a:hover img,
#c_static_001-1753418903463 .e_container-8 a:hover img,
#c_static_001-1753418903463 .e_container-22 a:hover img,
#c_static_001-1753418903463 .e_container-6 .p_img:hover img,
#c_static_001-1753418903463 .e_container-7 .p_img:hover img,
#c_static_001-1753418903463 .e_container-8 .p_img:hover img,
#c_static_001-1753418903463 .e_container-22 .p_img:hover img{
    transform:none !important;
    scale:1 !important;
    filter:none !important;
}

/* mobile: keep image visible but not huge */
@media (max-width:768px){
    #c_static_001-1753418903463 .cbox-6-1 img,
    #c_static_001-1753418903463 .cbox-7-1 img,
    #c_static_001-1753418903463 .cbox-8-1 img,
    #c_static_001-1753418903463 .cbox-22-1 img{
        max-height:140px !important;
    }
}

/* =========================================================================
   11. HOMEPAGE PRODUCT CARDS - softer ratio + thorough image freeze (r25y24r)
     - ratio: row 1 6fr 5fr / row 2 5fr 6fr (softer than 7/5)
     - image: freeze img + any wrapper (.p_img / [class*=e_image]) so ONLY
       the card translateY(-3px) runs on hover - nothing inside shifts.
     - 'View more products' link: center-align.
   ========================================================================= */

/* softer zigzag */
#c_static_001-1753418903463 .e_container-2{
    grid-template-columns:6fr 5fr !important;
}
#c_static_001-1753418903463 .e_container-3{
    grid-template-columns:5fr 6fr !important;
}

/* thorough image freeze: cover img + wrappers + all hover/focus combinations */
#c_static_001-1753418903463 .e_container-6 img,
#c_static_001-1753418903463 .e_container-7 img,
#c_static_001-1753418903463 .e_container-8 img,
#c_static_001-1753418903463 .e_container-22 img,
#c_static_001-1753418903463 .e_container-6 .p_img,
#c_static_001-1753418903463 .e_container-7 .p_img,
#c_static_001-1753418903463 .e_container-8 .p_img,
#c_static_001-1753418903463 .e_container-22 .p_img,
#c_static_001-1753418903463 .e_container-6 [class*="e_image"],
#c_static_001-1753418903463 .e_container-7 [class*="e_image"],
#c_static_001-1753418903463 .e_container-8 [class*="e_image"],
#c_static_001-1753418903463 .e_container-22 [class*="e_image"],
#c_static_001-1753418903463 .e_container-6 .cbox-6-1,
#c_static_001-1753418903463 .e_container-7 .cbox-7-1,
#c_static_001-1753418903463 .e_container-8 .cbox-8-1,
#c_static_001-1753418903463 .e_container-22 .cbox-22-1{
    transform:none !important;
    transition:none !important;
    animation:none !important;
    scale:1 !important;
    filter:none !important;
}
/* all hover variants that might still apply a transform to the image */
#c_static_001-1753418903463 .e_container-6:hover img,
#c_static_001-1753418903463 .e_container-7:hover img,
#c_static_001-1753418903463 .e_container-8:hover img,
#c_static_001-1753418903463 .e_container-22:hover img,
#c_static_001-1753418903463 .e_container-6 a:hover img,
#c_static_001-1753418903463 .e_container-7 a:hover img,
#c_static_001-1753418903463 .e_container-8 a:hover img,
#c_static_001-1753418903463 .e_container-22 a:hover img,
#c_static_001-1753418903463 .e_container-6 .p_img:hover img,
#c_static_001-1753418903463 .e_container-7 .p_img:hover img,
#c_static_001-1753418903463 .e_container-8 .p_img:hover img,
#c_static_001-1753418903463 .e_container-22 .p_img:hover img,
#c_static_001-1753418903463 .e_container-6 [class*="e_image"]:hover img,
#c_static_001-1753418903463 .e_container-7 [class*="e_image"]:hover img,
#c_static_001-1753418903463 .e_container-8 [class*="e_image"]:hover img,
#c_static_001-1753418903463 .e_container-22 [class*="e_image"]:hover img,
#c_static_001-1753418903463 .e_container-6:hover .p_img,
#c_static_001-1753418903463 .e_container-7:hover .p_img,
#c_static_001-1753418903463 .e_container-8:hover .p_img,
#c_static_001-1753418903463 .e_container-22:hover .p_img{
    transform:none !important;
    scale:1 !important;
    filter:none !important;
    opacity:1 !important;
}

/* 'View more products' link: center-align below the 4 cards */
#c_static_001-1753418903463 .insv-home-products__more,
#c_static_001-1753418903463 .home-products-more,
#c_static_001-1753418903463 a[href$="/products/"]{
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    margin-top:32px !important;
}
/* if it is wrapped in a div, center that wrapper too */
#c_static_001-1753418903463 .insv-more-wrap,
#c_static_001-1753418903463 .home-products__footer,
#c_static_001-1753418903463 .e_container-4 > p,
#c_static_001-1753418903463 .e_container-4 > div:last-child{
    text-align:center !important;
}

/* =========================================================================
   12. HOMEPAGE 'View more products' BUTTON - center via real parent (r25y24s)
     r25y24r put rules on the <a> itself, but the button's real parent is
     .cbox-4-0 > .e_container-39 > .cbox-39-0 > a.e_button-41 .
     If .e_container-39 is flex with default justify-content, margin:auto on
     the <a> won't center it. Force the parent to flex+center so the button
     always sits dead-center below the 4 cards.
   ========================================================================= */
#c_static_001-1753418903463 .e_container-39{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin-top:32px !important;
}
#c_static_001-1753418903463 .cbox-39-0{
    margin:0 auto !important;
    text-align:center !important;
}
#c_static_001-1753418903463 .e_container-39 .e_button-41,
#c_static_001-1753418903463 .cbox-39-0 .e_button-41{
    margin-left:auto !important;
    margin-right:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}
/* also make sure the outer row wrapper is not pushing it left */
#c_static_001-1753418903463 .cbox-4-0{
    text-align:center !important;
}

/* =========================================================================
   13. HOMEPAGE PRODUCT CARDS - uniform height + top breathing room (r25y24t)
     - row 2 min-height 260 -> 220 to match row 1
     - row 2 image max-height 230 -> 190 to match row 1
     - add 48px margin-top above row 1 so the section subtitle has air
     - keep the 6:5 / 5:6 WIDTH zigzag intact (that's the bento feel now)
   ========================================================================= */

/* unify row heights - both rows 220px */
#c_static_001-1753418903463 .e_container-8,
#c_static_001-1753418903463 .e_container-22{
    min-height:220px !important;
}
/* unify image heights - both rows 190px max */
#c_static_001-1753418903463 .cbox-8-1 img,
#c_static_001-1753418903463 .cbox-22-1 img{
    max-height:190px !important;
}

/* breathing room above the first card row */
#c_static_001-1753418903463 .e_container-2{
    margin-top:48px !important;
}
/* safety net: if the subtitle/heading wrapper is cbox-1-0 / e_container-1, give it bottom space */
#c_static_001-1753418903463 .cbox-1-0,
#c_static_001-1753418903463 .e_container-1{
    margin-bottom:24px !important;
}

@media (max-width:768px){
    #c_static_001-1753418903463 .e_container-2{
        margin-top:32px !important;
    }
    #c_static_001-1753418903463 .e_container-8,
    #c_static_001-1753418903463 .e_container-22{
        min-height:180px !important;
    }
    #c_static_001-1753418903463 .cbox-8-1 img,
    #c_static_001-1753418903463 .cbox-22-1 img{
        max-height:140px !important;
    }
}

/* === moved from theme-extra.css: home-product-heading-hotzone === */
/* === INSV HOME PRODUCT HEADING HOTZONE FIX BEGIN ===
   Keep the home product-section heading visually linked, but prevent the
   blank space across the full row from becoming a clickable /products/ area. */
#c_static_001-1753418903463 .e_h1-42 > a[href$="/products/"],
#c_static_001-1753418903463 .e_h1-42 > a[href$="/products"] {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: inherit !important;
}
/* === INSV HOME PRODUCT HEADING HOTZONE FIX END === */

/* === moved from theme-extra.css: home accessibility contrast === */
/* ============================================================
 * 11. HOMEPAGE ACCESSIBILITY CONTRAST
 * ============================================================ */
body.home #c_static_001-1753418903463 .e_text-27 {
    color: #006fae !important;
}
body.home .e_text-28 a {
    color: #4b5563 !important;
}
body.home .e_button-41.s_button3,
body.home .e_button-41.s_button3 > span {
    color: #005f9e !important;
}
body.home .home-news-top-card__date,
body.home .home-news-list__date {
    color: #5f6f85 !important;
}
body.home .home-news-top-card__excerpt-link {
    color: #4f5f72 !important;
}

body.home .e_button-11.s_button3,
body.home .e_button-11.s_button3 > span {
    background-color: #0b4d8b !important;
    border-color: #0b4d8b !important;
    color: #ffffff !important;
}

/* === moved from theme-extra.css: home secondary contrast and cls stability === */
body.home #c_static_001-17575728213000 .e_text-27 {
    color: #006fae !important;
}
body.home .e_text-46 a {
    color: #4b5563 !important;
}

/* ============================================================
 * 12. HOMEPAGE CLS STABILITY
 * Reserve stable space for the first banner and product media
 * before Swiper/lazy-image scripts hydrate.
 * ============================================================ */
body.home #c_banner_011_P_329-1753418566531,
body.home #c_banner_011_P_329-1753418566531 .swiper,
body.home #c_banner_011_P_329-1753418566531 .swiper-slide,
body.home #c_banner_011_P_329-1753418566531 .p_img,
body.home #c_banner_011_P_329-1753418566531 .p_img_mobile {
    overflow: hidden !important;
}

@media (min-width: 768px) {
    body.home #c_banner_011_P_329-1753418566531,
    body.home #c_banner_011_P_329-1753418566531 .swiper,
    body.home #c_banner_011_P_329-1753418566531 .swiper-slide,
    body.home #c_banner_011_P_329-1753418566531 .p_img {
        aspect-ratio: 16 / 5 !important;
        min-height: 320px !important;
        max-height: 600px !important;
    }
}

@media (max-width: 767px) {
    body.home #c_banner_011_P_329-1753418566531,
    body.home #c_banner_011_P_329-1753418566531 .swiper,
    body.home #c_banner_011_P_329-1753418566531 .swiper-slide,
    body.home #c_banner_011_P_329-1753418566531 .p_img_mobile {
        aspect-ratio: 80 / 37 !important;
        min-height: 180px !important;
        max-height: 360px !important;
    }
}

body.home #c_banner_011_P_329-1753418566531 .p_img img,
body.home #c_banner_011_P_329-1753418566531 .p_img_mobile img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.home #c_static_001-1753418903463 [class*="e_image"],
body.home #c_static_001-17575728213000 [class*="e_image"] {
    aspect-ratio: 480 / 515 !important;
}

body.home #c_static_001-1753418903463 [class*="e_image"] img,
body.home #c_static_001-17575728213000 [class*="e_image"] img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 480 / 515 !important;
    object-fit: contain !important;
}
