/* ============================================================
   Hilti-style Frontend Theme
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; -webkit-font-smoothing: antialiased; }
body {
    margin: 0; padding: 0;
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1rem; line-height: 1.5; color: #524f53; background: #fff;
}

/* Absolute final desktop header scroll motion restore. */
@media (min-width: 1024px) {
    body main {
        padding-top: 132px !important;
        transition: padding-top .32s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .site-header {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        background: #fff !important;
        transition: box-shadow .32s ease !important;
    }

    body .meta-nav {
        display: block !important;
        height: 55px !important;
        max-height: 55px !important;
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        overflow: hidden !important;
        transition: max-height .34s cubic-bezier(.2,.8,.2,1), opacity .24s ease, transform .34s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .header-strip,
    body .header-strip-inner {
        height: 77px !important;
        transition: height .34s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease !important;
    }

    body .site-header.header-condensed {
        box-shadow: 0 8px 22px rgba(0,0,0,0.12) !important;
    }

    body .site-header.header-condensed .meta-nav {
        max-height: 0 !important;
        opacity: 0 !important;
        transform: translate3d(0, -16px, 0) !important;
        pointer-events: none !important;
    }

    body .site-header.header-condensed .header-strip,
    body .site-header.header-condensed .header-strip-inner {
        height: 72px !important;
    }

    body .site-header.header-condensed .header-nav > li > a,
    body .site-header.header-condensed .header-nav .nav-trigger {
        padding-top: 24px !important;
        padding-bottom: 23px !important;
    }
}

/* Mobile brand value scroll animation: text first, image/card follows. */
@media (max-width: 767.98px) {
    body .hilti-brand-head,
    body .hilti-brand-card {
        opacity: 0 !important;
        transform: translate3d(0, 34px, 0) !important;
        transition:
            opacity .62s ease,
            transform .72s cubic-bezier(.2,.8,.2,1) !important;
        will-change: opacity, transform !important;
    }

    body .hilti-brand-card .hilti-brand-image {
        transform: scale(1.045) translate3d(0, 18px, 0) !important;
        transition: transform .86s cubic-bezier(.2,.8,.2,1) .08s !important;
        will-change: transform !important;
    }

    body .hilti-brand-card .hilti-brand-body em,
    body .hilti-brand-card .hilti-brand-body strong,
    body .hilti-brand-card .hilti-brand-body small,
    body .hilti-brand-card .hilti-brand-body b {
        opacity: 0 !important;
        transform: translate3d(0, 14px, 0) !important;
        transition:
            opacity .52s ease,
            transform .62s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .hilti-brand-head.is-visible,
    body .hilti-brand-card.is-visible {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
    }

    body .hilti-brand-card.is-visible .hilti-brand-image {
        transform: scale(1) translate3d(0, 0, 0) !important;
    }

    body .hilti-brand-card.is-visible .hilti-brand-body em {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        transition-delay: .08s !important;
    }

    body .hilti-brand-card.is-visible .hilti-brand-body strong {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        transition-delay: .14s !important;
    }

    body .hilti-brand-card.is-visible .hilti-brand-body small {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        transition-delay: .2s !important;
    }

    body .hilti-brand-card.is-visible .hilti-brand-body b {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        transition-delay: .26s !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .hilti-brand-head,
    body .hilti-brand-card,
    body .hilti-brand-card .hilti-brand-image,
    body .hilti-brand-card .hilti-brand-body em,
    body .hilti-brand-card .hilti-brand-body strong,
    body .hilti-brand-card .hilti-brand-body small,
    body .hilti-brand-card .hilti-brand-body b {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

.mobile-hilti-hero-exact {
    display: none;
}

@media (max-width: 767.98px) {
    body .mobile-hilti-hero-exact {
        display: block !important;
        background: #fff !important;
    }

    body .mobile-hilti-hero-image {
        height: 252px !important;
        background-size: cover !important;
        background-position: center !important;
    }

    body .mobile-hilti-hero-body {
        display: grid !important;
        gap: 18px !important;
        min-height: 302px !important;
        padding: 28px 28px 44px !important;
        background: #fff !important;
    }

    body .mobile-hilti-hero-body em {
        color: #d2051e !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }

    body .mobile-hilti-hero-body h1 {
        margin: 0 !important;
        color: #4e4c50 !important;
        font-size: 31px !important;
        font-weight: 900 !important;
        line-height: 1.16 !important;
    }

    body .mobile-hilti-hero-body p {
        margin: 0 !important;
        color: #56534f !important;
        font-size: 20px !important;
        font-weight: 900 !important;
        line-height: 1.35 !important;
    }

    body .mobile-hilti-hero-body a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 44px !important;
        background: #d2051e !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        text-align: center !important;
    }

    body .hilti-card-hero .hilti-hero-primary {
        display: none !important;
    }
}

/* Absolute primary mobile hero lock. */
@media (max-width: 767.98px) {
    body .hilti-card-hero .hilti-hero-primary {
        display: grid !important;
        grid-template-rows: 252px auto !important;
        margin: 0 !important;
        border-bottom: 0 !important;
        background: #fff !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-image,
    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-shade {
        position: static !important;
        grid-row: 1 !important;
        grid-column: 1 !important;
        height: 252px !important;
        width: 100% !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text {
        position: static !important;
        grid-row: 2 !important;
        grid-column: 1 !important;
        display: grid !important;
        min-height: 302px !important;
        padding: 28px 28px 44px !important;
        gap: 18px !important;
        align-content: start !important;
        background: #fff !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text em {
        display: block !important;
        color: #d2051e !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text strong {
        display: block !important;
        color: #4e4c50 !important;
        font-size: 31px !important;
        font-weight: 900 !important;
        line-height: 1.16 !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text small {
        display: block !important;
        color: #56534f !important;
        font-size: 20px !important;
        font-weight: 900 !important;
        line-height: 1.35 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text b {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 44px !important;
        margin: 8px 0 0 !important;
        padding: 0 14px !important;
        background: #d2051e !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        line-height: 44px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text b::before {
        content: none !important;
        display: none !important;
    }
}

/* Absolute final desktop header scroll motion restore. */
@media (min-width: 1024px) {
    body main {
        padding-top: 132px !important;
        transition: padding-top .32s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .site-header {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        background: #fff !important;
        transition: box-shadow .32s ease !important;
    }

    body .meta-nav {
        display: block !important;
        height: 55px !important;
        max-height: 55px !important;
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        overflow: hidden !important;
        transition: max-height .34s cubic-bezier(.2,.8,.2,1), opacity .24s ease, transform .34s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .header-strip,
    body .header-strip-inner {
        height: 77px !important;
        transition: height .34s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease !important;
    }

    body .site-header.header-condensed {
        box-shadow: 0 8px 22px rgba(0,0,0,0.12) !important;
    }

    body .site-header.header-condensed .meta-nav {
        max-height: 0 !important;
        opacity: 0 !important;
        transform: translate3d(0, -16px, 0) !important;
        pointer-events: none !important;
    }

    body .site-header.header-condensed .header-strip,
    body .site-header.header-condensed .header-strip-inner {
        height: 72px !important;
    }

    body .site-header.header-condensed .header-nav > li > a,
    body .site-header.header-condensed .header-nav .nav-trigger {
        padding-top: 24px !important;
        padding-bottom: 23px !important;
    }
}

/* Final brand-value motion: visible by default, animated where supported. */
@media (max-width: 767.98px) {
    body .hilti-brand-head,
    body .hilti-brand-card,
    body .hilti-brand-card .hilti-brand-body em,
    body .hilti-brand-card .hilti-brand-body strong,
    body .hilti-brand-card .hilti-brand-body small,
    body .hilti-brand-card .hilti-brand-body b {
        opacity: 1 !important;
        transform: none !important;
    }

    body .hilti-brand-card .hilti-brand-image {
        transform: none !important;
    }

    @supports (animation-timeline: view()) {
        body .hilti-brand-head {
            animation: ytBrandRise .78s cubic-bezier(.2,.8,.2,1) both !important;
            animation-timeline: view() !important;
            animation-range: entry 8% cover 34% !important;
        }

        body .hilti-brand-card {
            animation: ytBrandRise .82s cubic-bezier(.2,.8,.2,1) both !important;
            animation-timeline: view() !important;
            animation-range: entry 10% cover 38% !important;
        }

        body .hilti-brand-card .hilti-brand-image {
            animation: ytBrandImageIn .92s cubic-bezier(.2,.8,.2,1) both !important;
            animation-timeline: view() !important;
            animation-range: entry 10% cover 44% !important;
        }

        body .hilti-brand-card .hilti-brand-body em,
        body .hilti-brand-card .hilti-brand-body strong,
        body .hilti-brand-card .hilti-brand-body small,
        body .hilti-brand-card .hilti-brand-body b {
            animation: ytBrandTextIn .72s cubic-bezier(.2,.8,.2,1) both !important;
            animation-timeline: view() !important;
            animation-range: entry 18% cover 44% !important;
        }
    }
}

@keyframes ytBrandRise {
    from { opacity: 0; transform: translate3d(0, 34px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes ytBrandImageIn {
    from { opacity: .72; transform: scale(1.045) translate3d(0, 18px, 0); }
    to { opacity: 1; transform: scale(1) translate3d(0, 0, 0); }
}

@keyframes ytBrandTextIn {
    from { opacity: 0; transform: translate3d(0, 14px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Last guard for brand-value mobile motion. */
@media (max-width: 767.98px) {
    body .hilti-brand-head,
    body .hilti-brand-card {
        opacity: 0 !important;
        transform: translate3d(0, 34px, 0) !important;
        transition: opacity .62s ease, transform .72s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .hilti-brand-card .hilti-brand-image {
        transform: scale(1.045) translate3d(0, 18px, 0) !important;
        transition: transform .86s cubic-bezier(.2,.8,.2,1) .08s !important;
    }

    body .hilti-brand-card .hilti-brand-body em,
    body .hilti-brand-card .hilti-brand-body strong,
    body .hilti-brand-card .hilti-brand-body small,
    body .hilti-brand-card .hilti-brand-body b {
        opacity: 0 !important;
        transform: translate3d(0, 14px, 0) !important;
        transition: opacity .52s ease, transform .62s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .hilti-brand-head.is-visible,
    body .hilti-brand-card.is-visible,
    body .hilti-brand-card.is-visible .hilti-brand-body em,
    body .hilti-brand-card.is-visible .hilti-brand-body strong,
    body .hilti-brand-card.is-visible .hilti-brand-body small,
    body .hilti-brand-card.is-visible .hilti-brand-body b {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
    }

    body .hilti-brand-card.is-visible .hilti-brand-image {
        transform: scale(1) translate3d(0, 0, 0) !important;
    }

    body .hilti-brand-card.is-visible .hilti-brand-body em { transition-delay: .08s !important; }
    body .hilti-brand-card.is-visible .hilti-brand-body strong { transition-delay: .14s !important; }
    body .hilti-brand-card.is-visible .hilti-brand-body small { transition-delay: .2s !important; }
    body .hilti-brand-card.is-visible .hilti-brand-body b { transition-delay: .26s !important; }
}

/* Absolute last guard: brand value must never render blank in screenshots. */
@media (max-width: 767.98px) {
    body .hilti-brand-head,
    body .hilti-brand-card,
    body .hilti-brand-card .hilti-brand-image,
    body .hilti-brand-card .hilti-brand-body em,
    body .hilti-brand-card .hilti-brand-body strong,
    body .hilti-brand-card .hilti-brand-body small,
    body .hilti-brand-card .hilti-brand-body b {
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
    }

    body .hilti-brand-card {
        transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease !important;
    }

    body .hilti-brand-card:active {
        transform: translate3d(0, -2px, 0) !important;
    }
}

/* Final desktop header scroll motion restore. */
@media (min-width: 1024px) {
    body main {
        padding-top: 132px !important;
        transition: padding-top .32s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .site-header {
        background: #fff !important;
        transform: translate3d(0, 0, 0) !important;
        transition: box-shadow .32s ease, transform .32s cubic-bezier(.2,.8,.2,1) !important;
        will-change: box-shadow, transform !important;
    }

    body .meta-nav {
        display: block !important;
        height: 55px !important;
        max-height: 55px !important;
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        transition:
            max-height .34s cubic-bezier(.2,.8,.2,1),
            opacity .24s ease,
            transform .34s cubic-bezier(.2,.8,.2,1) !important;
        will-change: max-height, opacity, transform !important;
    }

    body .header-strip {
        height: 77px !important;
        background: #fff !important;
        transition: height .34s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease !important;
    }

    body .header-strip-inner {
        height: 77px !important;
        transition: height .34s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .header-nav > li > a,
    body .header-nav .nav-trigger {
        transition: padding .34s cubic-bezier(.2,.8,.2,1), color .2s ease !important;
    }

    body .site-header.header-condensed {
        box-shadow: 0 8px 22px rgba(0,0,0,0.12) !important;
    }

    body .site-header.header-condensed .meta-nav {
        max-height: 0 !important;
        opacity: 0 !important;
        transform: translate3d(0, -16px, 0) !important;
        pointer-events: none !important;
    }

    body .site-header.header-condensed .header-strip,
    body .site-header.header-condensed .header-strip-inner {
        height: 72px !important;
    }

    body .site-header.header-condensed .header-nav > li > a,
    body .site-header.header-condensed .header-nav .nav-trigger {
        padding-top: 24px !important;
        padding-bottom: 23px !important;
    }
}

/* Last mobile homepage guard. */
@media (max-width: 767.98px) {
    body .mobile-hilti-hero-exact {
        display: block !important;
    }

    body .mobile-hilti-hero-image {
        height: 254px !important;
    }

    body .hilti-card-hero .hilti-hero-primary {
        display: none !important;
    }

    body .hilti-card-hero {
        padding-top: 0 !important;
    }
}

/* Final lock: Hilti product catalog category page */
body .yt-catalog-container {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body .yt-catalog-container::before,
body .yt-catalog-container::after,
body .yt-catalog-layout::before,
body .yt-catalog-layout::after,
body .yt-catalog-grid::before,
body .yt-catalog-grid::after {
    content: none !important;
    display: none !important;
}

body .yt-catalog-breadcrumb {
    padding: 22px 0 0 !important;
    background: #fff !important;
}

body .yt-catalog-breadcrumb .yt-catalog-container {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #696969 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body .yt-catalog-breadcrumb a,
body .yt-catalog-breadcrumb strong {
    color: #696969 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

body .yt-catalog-breadcrumb span {
    color: #d2051e !important;
}

body .yt-catalog-titlebar {
    padding: 4px 0 18px !important;
    background: #fff !important;
    border-bottom: 1px solid #deded9 !important;
}

body .yt-catalog-titlebar .yt-catalog-container {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

body .yt-catalog-titlebar h1 {
    margin: 0 !important;
    color: #d2051e !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

body .yt-catalog-titlebar a {
    color: #292929 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body .yt-catalog-titlebar a::before {
    content: ">" !important;
    margin-right: 8px !important;
    color: #d2051e !important;
    font-weight: 900 !important;
}

body .yt-catalog-page {
    padding: 20px 0 18px !important;
    background: #fff !important;
}

body .yt-catalog-layout {
    display: grid !important;
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 24px !important;
}

body .yt-catalog-quick {
    min-width: 0 !important;
}

body .yt-catalog-quick h2,
body .yt-catalog-main > h2 {
    margin: 0 0 10px !important;
    color: #202126 !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

body .yt-catalog-quick-box {
    padding: 18px 0 20px !important;
    border-top: 1px solid #deded9 !important;
    border-bottom: 1px solid #deded9 !important;
}

body .yt-catalog-quick-box strong,
body .yt-catalog-quick-box a,
body .yt-catalog-quick-box button {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
}

body .yt-catalog-quick-box strong {
    position: relative !important;
    margin-bottom: 16px !important;
    padding-right: 20px !important;
    color: #202126 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

body .yt-catalog-quick-box strong::after {
    content: "^" !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    color: #d2051e !important;
}

body .yt-catalog-quick-box a {
    padding: 6px 0 !important;
    color: #575757 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body .yt-catalog-quick-box a.active,
body .yt-catalog-quick-box a:hover {
    color: #d2051e !important;
}

body .yt-catalog-quick-box button {
    margin-top: 16px !important;
    padding: 10px 0 0 !important;
    color: #444 !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

body .yt-catalog-quick-box button::before {
    content: "⌄" !important;
    margin-right: 9px !important;
    color: #d2051e !important;
}

body .yt-catalog-main {
    min-width: 0 !important;
}

body .yt-catalog-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

body .yt-catalog-card {
    min-width: 0 !important;
    min-height: 338px !important;
    background: #fff !important;
    border: 1px solid #ededeb !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.11) !important;
}

body .yt-catalog-card-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 180px !important;
    padding: 20px 34px 0 !important;
    background: #fff !important;
}

body .yt-catalog-card-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

body .yt-catalog-card-body {
    padding: 18px 22px 24px !important;
}

body .yt-catalog-card-body h3 {
    margin: 0 0 10px !important;
    color: #33333a !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

body .yt-catalog-card-body h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

body .yt-catalog-card-body ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body .yt-catalog-card-body li {
    margin: 0 0 6px !important;
    padding: 0 !important;
}

body .yt-catalog-card-body li a {
    display: inline-block !important;
    color: #555 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body .yt-catalog-card-body li a::before {
    content: ">" !important;
    margin-right: 8px !important;
    color: #d2051e !important;
    font-weight: 900 !important;
}

body .yt-catalog-back {
    padding: 12px 0 !important;
    background: #fff !important;
    border-top: 4px solid #d2051e !important;
}

body .yt-catalog-back a {
    color: #6b6862 !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

body .yt-catalog-back a::before {
    content: "<" !important;
    margin-right: 8px !important;
    color: #d2051e !important;
    font-weight: 900 !important;
}

body:has(.yt-catalog-page) .floating-contact {
    display: none !important;
}

@media (max-width: 1199.98px) {
    body .yt-catalog-container {
        width: calc(100% - 40px) !important;
    }

    body .yt-catalog-layout {
        grid-template-columns: 260px minmax(0, 1fr) !important;
    }

    body .yt-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    body .yt-catalog-container {
        width: calc(100% - 32px) !important;
    }

    body .yt-catalog-titlebar .yt-catalog-container {
        align-items: flex-start !important;
    }

    body .yt-catalog-titlebar h1 {
        font-size: 30px !important;
    }

    body .yt-catalog-layout {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body .yt-catalog-quick-box {
        max-height: 230px !important;
        overflow-y: auto !important;
    }

    body .yt-catalog-grid {
        grid-template-columns: 1fr !important;
    }

    body .yt-catalog-card {
        min-height: 0 !important;
    }

    body .yt-catalog-card-image {
        height: 165px !important;
    }
}

/* Final lock: Hilti-like product listing page */
body .yt-product-container {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body .yt-product-container::before,
body .yt-product-container::after,
body .yt-product-category-grid::before,
body .yt-product-category-grid::after,
body .yt-product-grid::before,
body .yt-product-grid::after,
body .yt-product-layout::before,
body .yt-product-layout::after {
    content: none !important;
    display: none !important;
}

body .yt-product-breadcrumb {
    padding: 28px 0 0 !important;
    background: #fff !important;
}

body .yt-product-breadcrumb .yt-product-container {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #696969 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body .yt-product-breadcrumb a,
body .yt-product-breadcrumb strong {
    color: #696969 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

body .yt-product-breadcrumb span {
    color: #d2051e !important;
}

body .yt-product-hero {
    padding: 20px 0 48px !important;
    background: #fff !important;
}

body .yt-product-hero h1 {
    max-width: 900px !important;
    margin: 0 0 22px !important;
    color: #d2051e !important;
    font-size: 50px !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

body .yt-product-hero p {
    max-width: 760px !important;
    margin: 0 !important;
    color: #4c4c4c !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

body .yt-product-category-band {
    padding: 0 0 42px !important;
    background: #fff !important;
}

body .yt-product-category-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    border-top: 1px solid #deded9 !important;
    border-left: 1px solid #deded9 !important;
}

body .yt-product-category-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 150px !important;
    padding: 22px 24px !important;
    color: #1a1a1a !important;
    background: #fff !important;
    border-right: 1px solid #deded9 !important;
    border-bottom: 1px solid #deded9 !important;
    text-decoration: none !important;
}

body .yt-product-category-card.active {
    padding-top: 18px !important;
    border-top: 4px solid #d2051e !important;
    background: #f7f7f5 !important;
}

body .yt-product-category-card span {
    margin-bottom: 10px !important;
    color: #d2051e !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

body .yt-product-category-card strong {
    margin-bottom: 8px !important;
    color: #1f1f1f !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

body .yt-product-category-card em {
    display: -webkit-box !important;
    overflow: hidden !important;
    color: #6b6862 !important;
    font-size: 13px !important;
    font-style: normal !important;
    line-height: 1.55 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body .yt-product-list-section {
    padding: 0 0 74px !important;
    background: #f7f7f5 !important;
}

body .yt-product-layout {
    display: grid !important;
    grid-template-columns: 285px minmax(0, 1fr) !important;
    gap: 28px !important;
}

body .yt-product-search,
body .yt-product-filter-group,
body .yt-product-filter-cta {
    margin-bottom: 16px !important;
    padding: 22px !important;
    background: #fff !important;
    border: 1px solid #deded9 !important;
}

body .yt-product-search label,
body .yt-product-filter-group h2,
body .yt-product-filter-cta strong {
    display: block !important;
    margin: 0 0 14px !important;
    color: #1a1a1a !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

body .yt-product-search div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
}

body .yt-product-search input {
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 12px !important;
    border: 1px solid #cfcfca !important;
    border-right: 0 !important;
    outline: none !important;
}

body .yt-product-search button {
    height: 44px !important;
    padding: 0 15px !important;
    color: #fff !important;
    background: #d2051e !important;
    border: 1px solid #d2051e !important;
    font-weight: 900 !important;
}

body .yt-product-filter-group a,
body .yt-product-filter-group strong {
    display: block !important;
}

body .yt-product-filter-group strong {
    margin: 18px 0 4px !important;
    color: #202126 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

body .yt-product-filter-group a {
    padding: 12px 0 !important;
    color: #4f4f4f !important;
    border-top: 1px solid #ededeb !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body .yt-product-filter-group a.active,
body .yt-product-filter-group a:hover {
    color: #d2051e !important;
}

body .yt-product-filter-cta {
    border-top: 4px solid #d2051e !important;
}

body .yt-product-filter-cta p {
    margin: 0 0 14px !important;
    color: #6b6862 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

body .yt-product-filter-cta a {
    color: #d2051e !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body .yt-product-toolbar {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-bottom: 18px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #deded9 !important;
}

body .yt-product-toolbar strong {
    color: #202126 !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

body .yt-product-toolbar span {
    color: #6b6862 !important;
    font-size: 13px !important;
}

body .yt-product-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body .yt-product-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    background: #fff !important;
    border: 1px solid #e1e1de !important;
}

body .yt-product-card-image {
    display: block !important;
    height: 245px !important;
    overflow: hidden !important;
    background: #f1f1ef !important;
}

body .yt-product-card-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body .yt-product-card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 210px !important;
    padding: 20px 22px 22px !important;
}

body .yt-product-card-body span {
    margin-bottom: 10px !important;
    color: #d2051e !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

body .yt-product-card-body h2 {
    margin: 0 0 10px !important;
    color: #202126 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

body .yt-product-card-body h2 a {
    color: inherit !important;
    text-decoration: none !important;
}

body .yt-product-card-body p {
    display: -webkit-box !important;
    min-height: 44px !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #55545a !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body .yt-product-card-links {
    display: flex !important;
    gap: 22px !important;
    margin-top: auto !important;
    padding-top: 24px !important;
}

body .yt-product-card-links a {
    color: #202126 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body .yt-product-card-links a::before {
    content: ">" !important;
    margin-right: 8px !important;
    color: #d2051e !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

@media (max-width: 1199.98px) {
    body .yt-product-container {
        width: calc(100% - 40px) !important;
    }

    body .yt-product-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body .yt-product-layout {
        grid-template-columns: 240px minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    body .yt-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    body .yt-product-container {
        width: calc(100% - 32px) !important;
    }

    body .yt-product-breadcrumb {
        padding-top: 18px !important;
    }

    body .yt-product-hero {
        padding: 16px 0 30px !important;
    }

    body .yt-product-hero h1 {
        font-size: 38px !important;
    }

    body .yt-product-category-band {
        padding-bottom: 28px !important;
    }

    body .yt-product-category-grid {
        display: flex !important;
        gap: 10px !important;
        overflow-x: auto !important;
        border: 0 !important;
        padding-bottom: 8px !important;
    }

    body .yt-product-category-card {
        flex: 0 0 78% !important;
        min-height: 132px !important;
        border: 1px solid #deded9 !important;
    }

    body .yt-product-list-section {
        padding-bottom: 44px !important;
    }

    body .yt-product-layout {
        grid-template-columns: 1fr !important;
    }

    body .yt-product-filter-group,
    body .yt-product-filter-cta {
        display: none !important;
    }

    body .yt-product-search {
        padding: 16px !important;
    }

    body .yt-product-toolbar {
        display: grid !important;
        gap: 6px !important;
    }

    body .yt-product-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    body .yt-product-card-image {
        height: 210px !important;
    }

    body .yt-product-card-body {
        min-height: 178px !important;
        padding: 18px 18px 20px !important;
    }
}

/* Final lock for homepage first screen. Keep this at the end so older card rules cannot override the Hilti reference layout. */
body .hilti-card-hero {
    padding: 28px 0 0 !important;
    background: #f7f7f5 !important;
}

body .hilti-card-hero .hilti-card-hero-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 2.05fr) minmax(360px, 1fr) !important;
    grid-template-rows: 330px 330px !important;
    gap: 10px !important;
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    min-height: 670px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .hilti-card-hero .hilti-hero-card {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    color: #fff !important;
    background: #242329 !important;
    text-decoration: none !important;
}

body .hilti-card-hero .hilti-hero-primary {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
}

body .hilti-card-hero .hilti-hero-secondary-top {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

body .hilti-card-hero .hilti-hero-secondary-bottom {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

body .hilti-card-hero .hilti-card-hero-grid::before,
body .hilti-card-hero .hilti-card-hero-grid::after,
body .hilti-feature-grid::before,
body .hilti-feature-grid::after,
body .hilti-brand-grid::before,
body .hilti-brand-grid::after {
    content: none !important;
    display: none !important;
}

body .hilti-card-hero .hilti-hero-card::before {
    content: none !important;
}

body .hilti-card-hero .hilti-hero-card-image,
body .hilti-card-hero .hilti-hero-card-shade {
    position: absolute !important;
    inset: 0 !important;
}

body .hilti-card-hero .hilti-hero-card-image {
    background-position: center !important;
    background-size: cover !important;
}

body .hilti-card-hero .hilti-hero-card-shade {
    background: linear-gradient(90deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.34) 48%, rgba(0,0,0,0.08) 100%) !important;
}

body .hilti-card-hero .hilti-hero-card-text {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    color: #fff !important;
}

body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text {
    justify-content: center !important;
    width: 45% !important;
    min-width: 440px !important;
    padding: 0 0 0 30px !important;
}

body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text {
    justify-content: flex-start !important;
    width: 88% !important;
    min-width: 0 !important;
    padding: 26px !important;
}

body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text strong {
    font-size: 44px !important;
    line-height: 1.08 !important;
}

body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text strong {
    font-size: 24px !important;
    line-height: 1.18 !important;
}

body .hilti-card-hero .hilti-hero-card-text em {
    margin-bottom: 14px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

body .hilti-card-hero .hilti-hero-card-text small {
    margin-top: 15px !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text small {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

body .hilti-card-hero .hilti-hero-card-text b {
    width: fit-content !important;
    margin-top: 22px !important;
    padding-bottom: 4px !important;
    color: #fff !important;
    font-size: 15px !important;
    border-bottom: 2px solid #fff !important;
}

body .hilti-card-hero + .yd-home-service-cards {
    margin-top: 0 !important;
    padding-top: 16px !important;
}

/* Hilti-like company profile page */
body .yt-about-profile-container {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body .yt-about-profile-container::before,
body .yt-about-profile-container::after,
body .yt-about-profile-grid::before,
body .yt-about-profile-grid::after {
    content: none !important;
    display: none !important;
}

body .yt-about-profile-breadcrumb {
    padding: 28px 0 0 !important;
    background: #fff !important;
}

body .yt-about-profile-breadcrumb .yt-about-profile-container {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 18px !important;
    color: #696969 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body .yt-about-profile-breadcrumb a,
body .yt-about-profile-breadcrumb strong {
    color: #696969 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

body .yt-about-profile-breadcrumb a:hover {
    color: #d2051e !important;
}

body .yt-about-profile-breadcrumb span {
    color: #d2051e !important;
}

body .yt-about-profile-main {
    padding: 20px 0 66px !important;
    background: #fff !important;
}

body .yt-about-profile-main h1 {
    margin: 0 0 66px !important;
    color: #d2051e !important;
    font-size: 50px !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

body .yt-about-profile-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

body .yt-about-profile-card {
    min-width: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.18) !important;
}

body .yt-about-profile-media {
    display: block !important;
    height: 293px !important;
    overflow: hidden !important;
    background: #e9e9e6 !important;
}

body .yt-about-profile-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body .yt-about-profile-body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 150px !important;
    padding: 19px 18px 17px !important;
}

body .yt-about-profile-body h2 {
    margin: 0 0 9px !important;
    color: #d2051e !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
}

body .yt-about-profile-body p {
    display: -webkit-box !important;
    min-height: 42px !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #4e4e4e !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body .yt-about-profile-link {
    width: fit-content !important;
    margin-top: auto !important;
    padding-top: 28px !important;
    color: #292929 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

body .yt-about-profile-link span {
    color: #d2051e !important;
    font-weight: 900 !important;
}

body .yt-about-profile-link:hover {
    color: #d2051e !important;
}

body .yt-about-profile-redband {
    display: grid !important;
    grid-template-columns: 33% minmax(0, 1fr) !important;
    min-height: 230px !important;
    background: #d2051e !important;
}

body .yt-about-profile-redbrand {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 230px !important;
    overflow: hidden !important;
    padding: 0 72px !important;
    color: #fff !important;
    background:
        linear-gradient(120deg, rgba(255,255,255,0.14) 0 14%, transparent 14% 27%, rgba(255,255,255,0.09) 27% 38%, transparent 38%),
        linear-gradient(135deg, #b80016 0%, #d2051e 46%, #ef3345 100%) !important;
}

body .yt-about-profile-redbrand b {
    display: block !important;
    width: fit-content !important;
    margin-bottom: 34px !important;
    padding: 2px 9px !important;
    color: #d2051e !important;
    background: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

body .yt-about-profile-redbrand strong {
    display: block !important;
    color: #fff !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

body .yt-about-profile-redlinks {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 44px !important;
    align-content: start !important;
    max-width: 980px !important;
    padding: 57px 52px 38px !important;
    color: #fff !important;
}

body .yt-about-profile-redlinks h3 {
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
}

body .yt-about-profile-redlinks a {
    display: block !important;
    width: fit-content !important;
    margin-top: 16px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body .yt-about-profile-redlinks a:hover {
    text-decoration: underline !important;
}

body:has(.yt-about-profile-main) .floating-contact {
    display: none !important;
}

body:has(.yt-about-profile-main) .footer-top {
    min-height: 230px !important;
    padding: 0 !important;
    background: #d2051e !important;
}

body:has(.yt-about-profile-main) .footer-top::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 33% !important;
    background:
        linear-gradient(120deg, rgba(255,255,255,0.14) 0 14%, transparent 14% 27%, rgba(255,255,255,0.09) 27% 38%, transparent 38%),
        linear-gradient(135deg, #b80016 0%, #d2051e 46%, #ef3345 100%) !important;
}

body:has(.yt-about-profile-main) .footer-top::after {
    content: none !important;
}

body:has(.yt-about-profile-main) .footer-hilti-inner {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: 33% minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 230px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.yt-about-profile-main) .footer-brand-row {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 230px !important;
    padding: 0 72px !important;
}

body:has(.yt-about-profile-main) .footer-brand {
    width: fit-content !important;
    margin: 0 0 34px !important;
    padding: 2px 9px !important;
    color: #d2051e !important;
    background: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

body:has(.yt-about-profile-main) .footer-tagline {
    max-width: 420px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

body:has(.yt-about-profile-main) .footer-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 44px !important;
    align-content: start !important;
    max-width: 980px !important;
    margin: 0 !important;
    padding: 57px 52px 38px !important;
}

body:has(.yt-about-profile-main) .footer-column-title {
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
}

body:has(.yt-about-profile-main) .footer-column ul {
    display: grid !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.yt-about-profile-main) .footer-column a,
body:has(.yt-about-profile-main) .footer-column span {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body:has(.yt-about-profile-main) .footer-bottom {
    min-height: 48px !important;
    padding: 0 !important;
    background: #fff !important;
}

body:has(.yt-about-profile-main) .footer-bottom-inner {
    justify-content: flex-start !important;
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    min-height: 48px !important;
    padding: 0 !important;
}

body:has(.yt-about-profile-main) .footer-bottom p,
body:has(.yt-about-profile-main) .footer-bottom a {
    color: #676767 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

@media (max-width: 1199.98px) {
    body .hilti-card-hero .hilti-card-hero-grid {
        width: calc(100% - 40px) !important;
        grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr) !important;
        grid-template-rows: 300px 300px !important;
        min-height: 610px !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text {
        min-width: 360px !important;
    }

    body .yt-about-profile-container {
        width: calc(100% - 40px) !important;
    }

    body .yt-about-profile-media {
        height: 220px !important;
    }

    body .yt-about-profile-redband {
        grid-template-columns: 1fr !important;
    }

    body .yt-about-profile-redbrand {
        min-height: 180px !important;
        padding: 34px 40px !important;
    }

    body .yt-about-profile-redlinks {
        max-width: none !important;
        padding: 36px 40px !important;
    }

    body:has(.yt-about-profile-main) .footer-hilti-inner {
        grid-template-columns: 1fr !important;
    }

    body:has(.yt-about-profile-main) .footer-brand-row {
        min-height: 180px !important;
        padding: 34px 40px !important;
    }

    body:has(.yt-about-profile-main) .footer-grid {
        max-width: none !important;
        padding: 36px 40px !important;
    }

    body:has(.yt-about-profile-main) .footer-bottom-inner {
        width: calc(100% - 40px) !important;
    }
}

@media (max-width: 767.98px) {
    body .hilti-card-hero {
        padding-top: 0 !important;
    }

    body .hilti-card-hero .hilti-card-hero-grid {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 420px 220px 220px !important;
        gap: 8px !important;
        min-height: 0 !important;
    }

    body .hilti-card-hero .hilti-hero-primary,
    body .hilti-card-hero .hilti-hero-secondary-top,
    body .hilti-card-hero .hilti-hero-secondary-bottom {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text,
    body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text {
        justify-content: flex-end !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 24px 20px !important;
    }

body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text strong {
        font-size: 31px !important;
    }
}

/* Keep solution pages at the end of the cascade. Older homepage/listing rules above are intentionally broad. */
body:has(.yt-eng-breadcrumb) main {
    padding-top: 132px !important;
    background: #fff !important;
}

body:has(.yt-eng-breadcrumb) main > :not(.yt-eng-breadcrumb):not(.yt-eng-hero):not(.yt-eng-card-section):not(.yt-eng-bottom-cta) {
    display: none !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb,
body:has(.yt-eng-breadcrumb) .yt-eng-hero,
body:has(.yt-eng-breadcrumb) .yt-eng-card-section,
body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta {
    background: #fff !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb .container,
body:has(.yt-eng-breadcrumb) .yt-eng-hero-grid,
body:has(.yt-eng-breadcrumb) .yt-eng-card-grid,
body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta .container {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb .container::before,
body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb .container::after,
body:has(.yt-eng-breadcrumb) .yt-eng-hero-grid::before,
body:has(.yt-eng-breadcrumb) .yt-eng-hero-grid::after,
body:has(.yt-eng-breadcrumb) .yt-eng-card-grid::before,
body:has(.yt-eng-breadcrumb) .yt-eng-card-grid::after,
body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta .container::before,
body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta .container::after {
    content: none !important;
    display: none !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb {
    padding: 26px 0 0 !important;
    border-top: 1px solid #e6e6e1 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb .container {
    color: #7d7565 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb a {
    color: #7d7565 !important;
    text-decoration: none !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb span {
    margin: 0 7px !important;
    color: #c2bfb8 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb strong {
    color: #4f4d50 !important;
    font-weight: 600 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero {
    padding: 34px 0 92px !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero-grid {
    display: grid !important;
    grid-template-columns: 40% 60% !important;
    align-items: center !important;
    min-height: 620px !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero-copy {
    position: relative !important;
    z-index: 3 !important;
    max-width: 650px !important;
    padding-right: 44px !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero-copy h1 {
    margin: 0 0 4px !important;
    color: #d2051e !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero-copy h2 {
    margin: 0 0 14px !important;
    color: #33333a !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero-copy p {
    max-width: 625px !important;
    margin: 0 0 24px !important;
    color: #4f4d50 !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero-copy a,
body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 245px !important;
    min-height: 35px !important;
    padding: 0 24px !important;
    border: 2px solid #d2051e !important;
    color: #d2051e !important;
    background: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero-media {
    position: relative !important;
    min-height: 620px !important;
    overflow: hidden !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero-media::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    z-index: 2 !important;
    width: 50% !important;
    background: linear-gradient(112deg, #fff 0 38%, rgba(255,255,255,0.88) 38% 57%, rgba(255,255,255,0) 57% 100%) !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-hero-media img {
    display: block !important;
    width: 100% !important;
    height: 620px !important;
    object-fit: cover !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-card-section {
    padding: 0 0 92px !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-card-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 96px !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-service-card {
    min-width: 0 !important;
    margin: 0 !important;
    background: #fff !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-service-media {
    display: block !important;
    overflow: hidden !important;
    margin-bottom: 28px !important;
    color: inherit !important;
    text-decoration: none !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-service-media img {
    display: block !important;
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-service-body {
    padding: 0 16px 0 0 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-service-body p {
    margin: 0 0 22px !important;
    color: #4f4d50 !important;
    font-size: 14px !important;
    line-height: 1.68 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-service-links {
    display: grid !important;
    gap: 13px !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-service-links a {
    display: inline-flex !important;
    width: fit-content !important;
    color: #33333a !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-service-links a::after {
    content: " >" !important;
    padding-left: 4px !important;
    color: #d2051e !important;
    font-weight: 900 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta {
    padding: 30px 0 170px !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta h2 {
    margin: 0 0 6px !important;
    color: #d2051e !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta p {
    max-width: 620px !important;
    margin: 0 0 18px !important;
    color: #33333a !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 900 !important;
}

body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta a {
    min-width: 245px !important;
    color: #fff !important;
    background: #d2051e !important;
}

@media (max-width: 1199.98px) {
    body:has(.yt-eng-breadcrumb) main {
        padding-top: 112px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb .container,
    body:has(.yt-eng-breadcrumb) .yt-eng-hero-grid,
    body:has(.yt-eng-breadcrumb) .yt-eng-card-grid,
    body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta .container {
        width: calc(100% - 40px) !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-grid {
        grid-template-columns: 42% 58% !important;
        min-height: 500px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-media,
    body:has(.yt-eng-breadcrumb) .yt-eng-hero-media img {
        min-height: 500px !important;
        height: 500px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-service-media img {
        height: 245px !important;
    }
}

@media (max-width: 767.98px) {
    body:has(.yt-eng-breadcrumb) main {
        padding-top: 64px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb .container,
    body:has(.yt-eng-breadcrumb) .yt-eng-hero-grid,
    body:has(.yt-eng-breadcrumb) .yt-eng-card-grid,
    body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta .container {
        width: 100% !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-breadcrumb {
        padding-top: 18px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero {
        padding: 24px 0 42px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-grid {
        display: flex !important;
        flex-direction: column-reverse !important;
        min-height: 0 !important;
        gap: 22px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-copy {
        max-width: none !important;
        padding-right: 0 !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-copy h1 {
        font-size: 26px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-copy h2 {
        font-size: 17px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-copy a,
    body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta a {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-media {
        width: 100% !important;
        min-height: 0 !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-media::before {
        width: 44% !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-hero-media img {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-card-section {
        padding-bottom: 42px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-card-grid {
        grid-template-columns: 1fr !important;
        row-gap: 34px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-service-media {
        margin-bottom: 16px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-service-media img {
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-service-body {
        padding-right: 0 !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta {
        padding: 12px 0 56px !important;
    }

    body:has(.yt-eng-breadcrumb) .yt-eng-bottom-cta h2 {
        font-size: 19px !important;
    }
}

/* Engineering solution benchmark page: follows the Hilti engineering page structure. */
body .yt-eng-breadcrumb,
body .yt-eng-hero,
body .yt-eng-card-section,
body .yt-eng-bottom-cta {
    background: #fff !important;
}

body .yt-eng-breadcrumb .container,
body .yt-eng-hero-grid,
body .yt-eng-card-grid,
body .yt-eng-bottom-cta .container {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body .yt-eng-breadcrumb .container::before,
body .yt-eng-breadcrumb .container::after,
body .yt-eng-hero-grid::before,
body .yt-eng-hero-grid::after,
body .yt-eng-card-grid::before,
body .yt-eng-card-grid::after,
body .yt-eng-bottom-cta .container::before,
body .yt-eng-bottom-cta .container::after {
    content: none !important;
    display: none !important;
}

body .yt-eng-breadcrumb {
    padding: 26px 0 0 !important;
    border-top: 1px solid #e6e6e1 !important;
}

body .yt-eng-breadcrumb .container {
    color: #7d7565 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

body .yt-eng-breadcrumb a {
    color: #7d7565 !important;
    text-decoration: none !important;
}

body .yt-eng-breadcrumb span {
    margin: 0 7px !important;
    color: #c2bfb8 !important;
}

body .yt-eng-breadcrumb strong {
    color: #4f4d50 !important;
    font-weight: 600 !important;
}

body .yt-eng-hero {
    padding: 34px 0 92px !important;
}

body .yt-eng-hero-grid {
    display: grid !important;
    grid-template-columns: 40% 60% !important;
    align-items: center !important;
    min-height: 620px !important;
}

body .yt-eng-hero-copy {
    position: relative !important;
    z-index: 3 !important;
    max-width: 650px !important;
    padding-right: 44px !important;
}

body .yt-eng-hero-copy h1 {
    margin: 0 0 4px !important;
    color: #d2051e !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

body .yt-eng-hero-copy h2 {
    margin: 0 0 14px !important;
    color: #33333a !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
}

body .yt-eng-hero-copy p {
    max-width: 625px !important;
    margin: 0 0 24px !important;
    color: #4f4d50 !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
}

body .yt-eng-hero-copy a,
body .yt-eng-bottom-cta a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 245px !important;
    min-height: 35px !important;
    padding: 0 24px !important;
    border: 2px solid #d2051e !important;
    color: #d2051e !important;
    background: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body .yt-eng-hero-media {
    position: relative !important;
    min-height: 620px !important;
    overflow: hidden !important;
}

body .yt-eng-hero-media::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    z-index: 2 !important;
    width: 50% !important;
    background: linear-gradient(112deg, #fff 0 38%, rgba(255,255,255,0.88) 38% 57%, rgba(255,255,255,0) 57% 100%) !important;
}

body .yt-eng-hero-media img {
    display: block !important;
    width: 100% !important;
    height: 620px !important;
    object-fit: cover !important;
}

body .yt-eng-card-section {
    padding: 0 0 92px !important;
}

body .yt-eng-card-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 96px !important;
}

body .yt-eng-service-card {
    min-width: 0 !important;
    margin: 0 !important;
    background: #fff !important;
}

body .yt-eng-service-media {
    display: block !important;
    overflow: hidden !important;
    margin-bottom: 28px !important;
    color: inherit !important;
    text-decoration: none !important;
}

body .yt-eng-service-media img {
    display: block !important;
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
}

body .yt-eng-service-body {
    padding: 0 16px 0 0 !important;
}

body .yt-eng-service-body p {
    margin: 0 0 22px !important;
    color: #4f4d50 !important;
    font-size: 14px !important;
    line-height: 1.68 !important;
}

body .yt-eng-service-links {
    display: grid !important;
    gap: 13px !important;
}

body .yt-eng-service-links a {
    display: inline-flex !important;
    width: fit-content !important;
    color: #33333a !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
}

body .yt-eng-service-links a::after {
    content: " >" !important;
    padding-left: 4px !important;
    color: #d2051e !important;
    font-weight: 900 !important;
}

body .yt-eng-bottom-cta {
    padding: 30px 0 170px !important;
}

body .yt-eng-bottom-cta h2 {
    margin: 0 0 6px !important;
    color: #d2051e !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

body .yt-eng-bottom-cta p {
    max-width: 620px !important;
    margin: 0 0 18px !important;
    color: #33333a !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 900 !important;
}

body .yt-eng-bottom-cta a {
    min-width: 245px !important;
    border-color: #d2051e !important;
    color: #fff !important;
    background: #d2051e !important;
}

@media (max-width: 1199.98px) {
    body .yt-eng-breadcrumb .container,
    body .yt-eng-hero-grid,
    body .yt-eng-card-grid,
    body .yt-eng-bottom-cta .container {
        width: calc(100% - 40px) !important;
    }

    body .yt-eng-hero-grid {
        grid-template-columns: 42% 58% !important;
        min-height: 500px !important;
    }

    body .yt-eng-hero-media,
    body .yt-eng-hero-media img {
        min-height: 500px !important;
        height: 500px !important;
    }

    body .yt-eng-service-media img {
        height: 245px !important;
    }
}

@media (max-width: 767.98px) {
    body main {
        padding-top: 64px !important;
    }

    body .yt-eng-breadcrumb .container,
    body .yt-eng-hero-grid,
    body .yt-eng-card-grid,
    body .yt-eng-bottom-cta .container {
        width: 100% !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    body .yt-eng-breadcrumb {
        padding-top: 18px !important;
    }

    body .yt-eng-hero {
        padding: 24px 0 42px !important;
    }

    body .yt-eng-hero-grid {
        display: flex !important;
        flex-direction: column-reverse !important;
        min-height: 0 !important;
        gap: 22px !important;
    }

    body .yt-eng-hero-copy {
        max-width: none !important;
        padding-right: 0 !important;
    }

    body .yt-eng-hero-copy h1 {
        font-size: 26px !important;
    }

    body .yt-eng-hero-copy h2 {
        font-size: 17px !important;
    }

    body .yt-eng-hero-copy a,
    body .yt-eng-bottom-cta a {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;
    }

    body .yt-eng-hero-media {
        width: 100% !important;
        min-height: 0 !important;
    }

    body .yt-eng-hero-media::before {
        width: 44% !important;
    }

    body .yt-eng-hero-media img {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
    }

    body .yt-eng-card-section {
        padding-bottom: 42px !important;
    }

    body .yt-eng-card-grid {
        grid-template-columns: 1fr !important;
        row-gap: 34px !important;
    }

    body .yt-eng-service-media {
        margin-bottom: 16px !important;
    }

    body .yt-eng-service-media img {
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
    }

    body .yt-eng-service-body {
        padding-right: 0 !important;
    }

    body .yt-eng-bottom-cta {
        padding: 12px 0 56px !important;
    }

    body .yt-eng-bottom-cta h2 {
        font-size: 19px !important;
    }
}

/* Hilti reference homepage sequence: three image cards, large promo, three cards, red brand value band. */
body .hilti-feature-strip {
    padding: 66px 0 0 !important;
    background: #fff !important;
}

body .hilti-feature-strip-bottom {
    padding-top: 64px !important;
    padding-bottom: 72px !important;
}

body .hilti-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .hilti-feature-card {
    display: block !important;
    min-width: 0 !important;
    color: #33333a !important;
    background: #fff !important;
    text-decoration: none !important;
}

body .hilti-feature-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    background-position: center !important;
    background-size: cover !important;
    background-color: #e8e8e4 !important;
}

body .hilti-feature-body {
    display: grid !important;
    gap: 12px !important;
    min-height: 166px !important;
    padding: 26px 14px 0 !important;
}

body .hilti-feature-body strong {
    color: #33333a !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.22 !important;
}

body .hilti-feature-body small {
    display: -webkit-box !important;
    overflow: hidden !important;
    color: #524f53 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

body .hilti-feature-body b {
    align-self: end !important;
    color: #33333a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

body .hilti-feature-body b::before,
body .hilti-brand-card b::before {
    content: "›" !important;
    display: inline-block !important;
    margin-right: 9px !important;
    color: #d2051e !important;
    font-size: 24px !important;
    line-height: 0 !important;
    vertical-align: -2px !important;
}

body .hilti-promo-band {
    padding: 52px 0 0 !important;
    background: #fff !important;
}

body .hilti-promo-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 560px !important;
    overflow: hidden !important;
    color: #fff !important;
    background: #242329 !important;
    text-decoration: none !important;
}

body .hilti-promo-image,
body .hilti-promo-shade {
    position: absolute !important;
    inset: 0 !important;
}

body .hilti-promo-image {
    background-position: center !important;
    background-size: cover !important;
}

body .hilti-promo-shade {
    background: linear-gradient(90deg, rgba(0,0,0,0.62), rgba(0,0,0,0.12) 58%, rgba(0,0,0,0)) !important;
}

body .hilti-promo-text {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    height: 100% !important;
    margin: 0 auto !important;
    color: #fff !important;
}

body .hilti-promo-text strong {
    max-width: 560px !important;
    color: #fff !important;
    font-size: 48px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
}

body .hilti-promo-text small {
    max-width: 520px !important;
    margin-top: 16px !important;
    color: rgba(255,255,255,0.92) !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
}

body .hilti-promo-text b {
    width: fit-content !important;
    margin-top: 24px !important;
    padding: 13px 44px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    background: #d2051e !important;
}

body .hilti-brand-value {
    position: relative !important;
    padding: 72px 0 96px !important;
    background: linear-gradient(180deg, #d2051e 0 47%, #fff 47% 100%) !important;
}

body .hilti-brand-head {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto 28px !important;
    color: #fff !important;
}

body .hilti-brand-head span {
    display: block !important;
    margin-bottom: 8px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

body .hilti-brand-head h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 50px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
}

body .hilti-brand-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto !important;
}

body .hilti-brand-card {
    display: block !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12) !important;
}

body .hilti-brand-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    background-position: center !important;
    background-size: cover !important;
}

body .hilti-brand-body {
    display: grid !important;
    gap: 10px !important;
    min-height: 176px !important;
    padding: 22px 24px 24px !important;
    text-align: center !important;
}

body .hilti-brand-body em {
    color: #d2051e !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 800 !important;
}

body .hilti-brand-body strong {
    color: #33333a !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

body .hilti-brand-body small {
    display: none !important;
}

body .hilti-brand-body b {
    align-self: end !important;
    color: #33333a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

@media (max-width: 1199.98px) {
    body .hilti-feature-grid,
    body .hilti-promo-text,
    body .hilti-brand-head,
    body .hilti-brand-grid {
        width: calc(100% - 40px) !important;
    }

    body .hilti-promo-card {
        height: 460px !important;
    }
}

@media (max-width: 767.98px) {
    body .hilti-feature-strip {
        padding-top: 30px !important;
    }

    body .hilti-feature-grid,
    body .hilti-brand-grid {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        padding: 0 16px !important;
    }

    body .hilti-feature-body {
        min-height: 0 !important;
        padding: 18px 0 0 !important;
    }

    body .hilti-feature-body strong {
        font-size: 21px !important;
    }

    body .hilti-promo-card {
        height: 420px !important;
    }

    body .hilti-promo-text {
        justify-content: flex-end !important;
        width: 100% !important;
        padding: 0 20px 34px !important;
    }

    body .hilti-promo-text strong {
        font-size: 32px !important;
    }

    body .hilti-brand-value {
        padding: 48px 0 64px !important;
        background: linear-gradient(180deg, #d2051e 0 220px, #fff 220px 100%) !important;
    }

    body .hilti-brand-head {
        width: 100% !important;
        padding: 0 16px !important;
    }

    body .hilti-brand-head h2 {
        font-size: 38px !important;
    }
}

/* Hilti reference header lock. */
body .site-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 1000 !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.12) !important;
}

body main {
    padding-top: 132px !important;
}

body .meta-nav {
    display: block !important;
    height: 55px !important;
    max-height: 55px !important;
    overflow: hidden !important;
    background:
        linear-gradient(115deg, rgba(255,255,255,0.18) 0 7%, transparent 7% 14%, rgba(120,0,10,0.24) 14% 28%, transparent 28% 38%, rgba(255,255,255,0.16) 38% 45%, transparent 45%) left top / 42% 100% no-repeat,
        #d2051e !important;
}

body .site-header.header-condensed .meta-nav {
    max-height: 55px !important;
    opacity: 1 !important;
}

body .meta-nav-inner {
    justify-content: flex-end !important;
    height: 55px !important;
    gap: 28px !important;
}

body .meta-nav-left {
    flex: 1 1 auto !important;
}

body .meta-nav-left span {
    opacity: 0.18 !important;
    font-size: 22px !important;
    letter-spacing: 0.06em !important;
}

body .meta-nav-right {
    gap: 28px !important;
}

body .meta-nav a,
body .meta-nav-search label {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

body .meta-nav-search {
    flex-basis: 260px !important;
    width: 260px !important;
    min-width: 260px !important;
    padding-bottom: 7px !important;
    border-bottom-color: rgba(255,255,255,0.9) !important;
}

body .header-strip-inner {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    height: 77px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 46px !important;
}

body .header-logo a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 141px !important;
    min-width: 141px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    color: #fff !important;
    background: #d2051e !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

body .header-logo small {
    display: none !important;
}

body .desktop-nav {
    flex: 1 1 auto !important;
    display: block !important;
}

body .header-nav {
    display: flex !important;
    list-style: none !important;
    gap: 38px !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    align-items: center !important;
}

body .header-nav > li {
    list-style: none !important;
}

body .header-nav > li > a,
body .header-nav .nav-trigger {
    padding: 29px 0 26px !important;
    color: #524f53 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    border-bottom: 0 !important;
}

body .header-nav > li > a:hover,
body .header-nav .nav-trigger:hover,
body .header-nav > li.open > .nav-trigger,
body .header-nav > li.active > a,
body .header-nav > li.active > .nav-trigger {
    color: #33333a !important;
    border-bottom: 0 !important;
}

body .header-actions {
    display: flex !important;
}

body .desktop-meta-toggle {
    width: 44px !important;
    height: 44px !important;
}

body .mobile-menu-toggle {
    display: none !important;
}

body .mega-menu {
    top: 100% !important;
    border-top: 1px solid #ededeb !important;
}

body .mega-menu-inner {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    min-height: 260px !important;
    padding: 30px 0 38px !important;
}

@media (max-width: 1199.98px) {
    body main {
        padding-top: 112px !important;
    }

    body .header-strip-inner {
        width: calc(100% - 40px) !important;
        gap: 24px !important;
    }

    body .header-nav {
        gap: 24px !important;
    }
}

@media (max-width: 1023.98px) {
    body main {
        padding-top: 64px !important;
    }

    body .meta-nav {
        display: none !important;
    }

    body .header-strip-inner {
        width: 100% !important;
        height: 64px !important;
        padding: 0 16px !important;
    }

    body .desktop-nav,
    body .header-actions {
        display: none !important;
    }

    body .mobile-menu-toggle {
        display: flex !important;
    }

    body .header-logo a {
        width: 112px !important;
        min-width: 112px !important;
        height: 34px !important;
        font-size: 19px !important;
    }
}

/* Brand value and footer: match Hilti red band + simple red footer. */
body .hilti-brand-value {
    padding: 92px 0 138px !important;
    background: linear-gradient(180deg, #d2051e 0 56%, #fff 56% 100%) !important;
}

body .hilti-brand-head {
    margin-bottom: 30px !important;
}

body .hilti-brand-head h2 {
    font-size: 58px !important;
    line-height: 1 !important;
}

body .hilti-brand-grid {
    gap: 8px !important;
}

body .hilti-brand-card {
    box-shadow: 0 16px 30px rgba(0,0,0,0.1) !important;
}

body .hilti-brand-image {
    aspect-ratio: 16 / 9 !important;
}

body .hilti-brand-body {
    min-height: 200px !important;
    padding: 28px 24px 30px !important;
    background: #fff !important;
}

body .site-footer {
    color: #fff !important;
    background: #d2051e !important;
}

body .footer-top {
    position: relative !important;
    overflow: hidden !important;
    padding: 62px 0 74px !important;
    color: #fff !important;
    background:
        linear-gradient(112deg, rgba(120,0,14,0.28) 0 16%, transparent 16% 30%, rgba(120,0,14,0.18) 30% 38%, transparent 38%) left top / 42% 100% no-repeat,
        #d2051e !important;
}

body .footer-top::before {
    content: none !important;
}

body .footer-hilti-inner {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .footer-quick-row {
    display: none !important;
}

body .footer-brand-row {
    display: grid !important;
    grid-template-columns: 320px 1fr !important;
    gap: 120px !important;
    align-items: start !important;
    margin: 0 0 42px !important;
    padding: 0 !important;
    border: 0 !important;
}

body .footer-brand {
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
}

body .footer-tagline {
    grid-column: 1 !important;
    margin-top: 22px !important;
    color: #fff !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
}

body .footer-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
    gap: 90px !important;
    max-width: 900px !important;
    margin-left: 430px !important;
}

body .footer-column-title {
    margin: 0 0 22px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

body .footer-column ul {
    display: grid !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body .footer-column a,
body .footer-column span {
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body .footer-bottom {
    padding: 20px 0 !important;
    color: #6f6b66 !important;
    background: #fff !important;
}

body .footer-bottom-inner {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .footer-bottom p,
body .footer-bottom a {
    color: #6f6b66 !important;
    font-size: 12px !important;
}

@media (max-width: 1199.98px) {
    body .footer-hilti-inner,
    body .footer-bottom-inner {
        width: calc(100% - 40px) !important;
    }

    body .footer-grid {
        margin-left: 0 !important;
        max-width: none !important;
        gap: 48px !important;
    }
}

@media (max-width: 767.98px) {
    body .hilti-brand-value {
        padding: 48px 0 64px !important;
        background: linear-gradient(180deg, #d2051e 0 210px, #fff 210px 100%) !important;
    }

    body .hilti-brand-head h2 {
        font-size: 38px !important;
    }

    body .footer-top {
        padding: 38px 0 44px !important;
    }

    body .footer-hilti-inner,
    body .footer-bottom-inner {
        width: 100% !important;
        padding: 0 20px !important;
    }

    body .footer-brand-row {
        display: block !important;
        margin-bottom: 30px !important;
    }

    body .footer-tagline {
        margin-top: 14px !important;
        font-size: 28px !important;
    }

    body .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        margin-left: 0 !important;
    }
}

/* Hilti-style solution single pages. */
body .yt-solution-breadcrumb {
    padding: 24px 0 0 !important;
    background: #fff !important;
}

body .yt-solution-breadcrumb .container {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #77736f !important;
    font-size: 12px !important;
}

body .yt-solution-breadcrumb .container::before,
body .yt-solution-breadcrumb .container::after,
body .yt-solution-hero-grid::before,
body .yt-solution-hero-grid::after,
body .yt-solution-ability .container::before,
body .yt-solution-ability .container::after,
body .yt-solution-ability-grid::before,
body .yt-solution-ability-grid::after,
body .yt-solution-story .container::before,
body .yt-solution-story .container::after,
body .yt-solution-material .container::before,
body .yt-solution-material .container::after,
body .yt-solution-product-grid::before,
body .yt-solution-product-grid::after,
body .yt-solution-cta .container::before,
body .yt-solution-cta .container::after {
    content: none !important;
    display: none !important;
}

body .yt-solution-breadcrumb a {
    color: #77736f !important;
}

body .yt-solution-breadcrumb span {
    margin: 0 7px !important;
    color: #b8b5b0 !important;
}

body .yt-solution-breadcrumb strong {
    color: #524f53 !important;
    font-weight: 500 !important;
}

body .yt-solution-hero {
    padding: 34px 0 84px !important;
    background: #fff !important;
}

body .yt-solution-hero-grid {
    display: grid !important;
    grid-template-columns: 40% 60% !important;
    align-items: center !important;
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    min-height: 520px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .yt-solution-hero-copy {
    max-width: 520px !important;
    padding-right: 34px !important;
}

body .yt-solution-hero-copy span {
    display: block !important;
    margin-bottom: 16px !important;
    color: #d2051e !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}

body .yt-solution-hero-copy h1 {
    margin: 0 0 14px !important;
    color: #d2051e !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

body .yt-solution-hero-copy p {
    margin: 0 0 24px !important;
    color: #524f53 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

body .yt-solution-hero-copy a,
body .yt-solution-cta a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 184px !important;
    min-height: 44px !important;
    padding: 0 24px !important;
    color: #fff !important;
    background: #d2051e !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body .yt-solution-hero-media {
    position: relative !important;
    min-height: 520px !important;
    overflow: hidden !important;
}

body .yt-solution-hero-media::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 24% !important;
    z-index: 2 !important;
    background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,0.82) 48%, rgba(255,255,255,0) 100%) !important;
}

body .yt-solution-hero-media img {
    display: block !important;
    width: 100% !important;
    height: 520px !important;
    object-fit: cover !important;
}

body .yt-solution-ability {
    padding: 0 0 84px !important;
    background: #fff !important;
}

body .yt-solution-ability .container,
body .yt-solution-story .container,
body .yt-solution-material .container,
body .yt-solution-cta .container {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .yt-solution-ability h2 {
    margin: 0 0 56px !important;
    color: #d2051e !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

body .yt-solution-ability-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 72px !important;
}

body .yt-solution-ability article {
    display: grid !important;
    gap: 16px !important;
}

body .yt-solution-ability i {
    display: block !important;
    width: 86px !important;
    height: 86px !important;
    background: #5a575b !important;
    clip-path: polygon(50% 0, 94% 25%, 94% 75%, 50% 100%, 6% 75%, 6% 25%) !important;
}

body .yt-solution-ability strong {
    color: #524f53 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

body .yt-solution-ability p {
    color: #66625f !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

body .yt-solution-story {
    padding: 0 0 62px !important;
    background: #fff !important;
}

body .yt-solution-story-row {
    display: grid !important;
    grid-template-columns: 58% 42% !important;
    align-items: center !important;
    gap: 56px !important;
    margin-bottom: 76px !important;
}

body .yt-solution-story-row.is-reverse {
    grid-template-columns: 42% 58% !important;
}

body .yt-solution-story-row.is-reverse .yt-solution-story-media {
    order: 2 !important;
}

body .yt-solution-story-media img {
    display: block !important;
    width: 100% !important;
    height: 430px !important;
    object-fit: cover !important;
}

body .yt-solution-story-copy {
    max-width: 560px !important;
}

body .yt-solution-story-copy h2 {
    margin: 0 0 8px !important;
    color: #d2051e !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.22 !important;
}

body .yt-solution-story-copy h3 {
    margin: 0 0 18px !important;
    color: #33333a !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

body .site-header .header-nav > li:nth-child(2) > .mega-menu {
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    padding: 0 !important;
    border-top: 1px solid #eeeeeb !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.08) !important;
}

body .site-header .mega-solutions-panel {
    display: grid !important;
    grid-template-columns: 340px 1fr !important;
    gap: 96px !important;
    width: calc(100% - 160px) !important;
    max-width: 1700px !important;
    min-height: 296px !important;
    margin: 0 auto !important;
    padding: 34px 0 44px !important;
    background: #fff !important;
}

body .site-header .mega-solutions-panel::before,
body .site-header .mega-solutions-panel::after,
body .site-header .mega-solutions-left::before,
body .site-header .mega-solutions-left::after,
body .site-header .mega-solutions-right::before,
body .site-header .mega-solutions-right::after {
    content: none !important;
    display: none !important;
}

body .site-header .mega-solutions-left,
body .site-header .mega-solutions-right {
    display: grid !important;
    align-content: start !important;
    gap: 29px !important;
    min-width: 0 !important;
}

body .site-header .mega-solutions-left strong {
    color: #33333a !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
}

body .site-header .mega-solutions-left a,
body .site-header .mega-solutions-right a {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    color: #5c5a5e !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    white-space: normal !important;
}

body .site-header .mega-solutions-right {
    grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
    column-gap: 120px !important;
    row-gap: 29px !important;
}

body .site-header .mega-solutions-left a:hover,
body .site-header .mega-solutions-right a:hover {
    color: #d2051e !important;
}

body .site-header .header-nav > li:nth-child(2).open > .nav-trigger::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -1px !important;
    width: 0 !important;
    height: 0 !important;
    transform: translateX(-50%) !important;
    border-right: 8px solid transparent !important;
    border-bottom: 8px solid #fff !important;
    border-left: 8px solid transparent !important;
}

body .yt-solution-story-copy p {
    margin: 0 0 22px !important;
    color: #524f53 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

body .yt-solution-story-copy a {
    color: #33333a !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body .yt-solution-story-copy a::after {
    content: " ›" !important;
    color: #d2051e !important;
    font-size: 20px !important;
}

body .yt-solution-material {
    padding: 72px 0 !important;
    background: #f7f7f5 !important;
}

body .yt-solution-material .container {
    display: grid !important;
    grid-template-columns: 31% 1fr !important;
    gap: 54px !important;
}

body .yt-solution-material-copy span {
    color: #d2051e !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

body .yt-solution-material-copy h2 {
    margin: 14px 0 !important;
    color: #33333a !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
}

body .yt-solution-material-copy p {
    color: #524f53 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

body .yt-solution-product-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body .yt-solution-product-grid a {
    display: grid !important;
    gap: 12px !important;
    color: #33333a !important;
    background: #fff !important;
    padding-bottom: 20px !important;
    text-decoration: none !important;
}

body .yt-solution-product-grid img {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
}

body .yt-solution-product-grid strong,
body .yt-solution-product-grid span {
    padding: 0 18px !important;
}

body .yt-solution-product-grid strong {
    color: #33333a !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}

body .yt-solution-product-grid span {
    color: #66625f !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

body .yt-solution-cta {
    padding: 70px 0 82px !important;
    background: #fff !important;
}

body .yt-solution-cta h2 {
    margin: 0 0 12px !important;
    color: #d2051e !important;
    font-size: 28px !important;
    font-weight: 900 !important;
}

body .yt-solution-cta p {
    max-width: 760px !important;
    margin: 0 0 24px !important;
    color: #524f53 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

@media (max-width: 1199.98px) {
    body .yt-solution-breadcrumb .container,
    body .yt-solution-hero-grid,
    body .yt-solution-ability .container,
    body .yt-solution-story .container,
    body .yt-solution-material .container,
    body .yt-solution-cta .container {
        width: calc(100% - 40px) !important;
    }
}

@media (max-width: 767.98px) {
    body .yt-solution-breadcrumb .container,
    body .yt-solution-hero-grid,
    body .yt-solution-ability .container,
    body .yt-solution-story .container,
    body .yt-solution-material .container,
    body .yt-solution-cta .container {
        width: 100% !important;
        padding: 0 16px !important;
    }

    body .yt-solution-hero {
        padding: 24px 0 44px !important;
    }

    body .yt-solution-hero-grid,
    body .yt-solution-story-row,
    body .yt-solution-story-row.is-reverse,
    body .yt-solution-material .container {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        min-height: 0 !important;
    }

    body .yt-solution-story-row.is-reverse .yt-solution-story-media {
        order: 0 !important;
    }

    body .yt-solution-hero-media,
    body .yt-solution-hero-media img,
    body .yt-solution-story-media img {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
    }

    body .yt-solution-hero-copy h1 {
        font-size: 28px !important;
    }

    body .yt-solution-ability-grid,
    body .yt-solution-product-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}

/* Homepage Hilti reference hero hardening: one large card on the left, two stacked cards on the right. */
body .hilti-card-hero {
    padding: 22px 0 0 !important;
    background: #f7f7f5 !important;
}

body .hilti-card-hero .hilti-card-hero-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 2.05fr) minmax(360px, 1fr) !important;
    grid-template-rows: 330px 330px !important;
    gap: 10px !important;
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    min-height: 670px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .hilti-card-hero .hilti-hero-card {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    color: #fff !important;
    background: #242329 !important;
    text-decoration: none !important;
}

body .hilti-card-hero .hilti-hero-primary {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
}

body .hilti-card-hero .hilti-hero-secondary-top {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

body .hilti-card-hero .hilti-hero-secondary-bottom {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

body .hilti-card-hero .hilti-hero-card::before {
    content: none !important;
}

body .hilti-card-hero .hilti-hero-card-image,
body .hilti-card-hero .hilti-hero-card-shade {
    position: absolute !important;
    inset: 0 !important;
}

body .hilti-card-hero .hilti-hero-card-image {
    background-position: center !important;
    background-size: cover !important;
}

body .hilti-card-hero .hilti-hero-card-shade {
    background: linear-gradient(90deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.34) 48%, rgba(0,0,0,0.08) 100%) !important;
}

body .hilti-card-hero .hilti-hero-card-text {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    color: #fff !important;
}

body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text {
    justify-content: center !important;
    width: 45% !important;
    min-width: 440px !important;
    padding: 0 0 0 30px !important;
}

body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text {
    justify-content: flex-start !important;
    width: 88% !important;
    min-width: 0 !important;
    padding: 26px !important;
}

body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text strong {
    font-size: 44px !important;
    line-height: 1.08 !important;
}

body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text strong {
    font-size: 24px !important;
    line-height: 1.18 !important;
}

body .hilti-card-hero .hilti-hero-card-text em {
    margin-bottom: 14px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

body .hilti-card-hero .hilti-hero-card-text small {
    margin-top: 15px !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text small {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

body .hilti-card-hero .hilti-hero-card-text b {
    width: fit-content !important;
    margin-top: 22px !important;
    padding-bottom: 4px !important;
    color: #fff !important;
    font-size: 15px !important;
    border-bottom: 2px solid #fff !important;
}

body .hilti-card-hero + .yd-home-service-cards {
    margin-top: 0 !important;
    padding-top: 16px !important;
}

@media (max-width: 1199.98px) {
    body .hilti-card-hero .hilti-card-hero-grid {
        width: calc(100% - 40px) !important;
        grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr) !important;
        grid-template-rows: 300px 300px !important;
        min-height: 610px !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text {
        min-width: 360px !important;
    }
}

@media (max-width: 767.98px) {
    body .hilti-card-hero {
        padding-top: 0 !important;
    }

    body .hilti-card-hero .hilti-card-hero-grid {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 420px 220px 220px !important;
        gap: 8px !important;
        min-height: 0 !important;
    }

    body .hilti-card-hero .hilti-hero-primary,
    body .hilti-card-hero .hilti-hero-secondary-top,
    body .hilti-card-hero .hilti-hero-secondary-bottom {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text,
    body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text {
        justify-content: flex-end !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 24px 20px !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text strong {
        font-size: 31px !important;
    }

    body .yt-about-profile-container {
        width: calc(100% - 32px) !important;
    }

    body .yt-about-profile-breadcrumb {
        padding-top: 18px !important;
    }

    body .yt-about-profile-breadcrumb .yt-about-profile-container {
        flex-wrap: wrap !important;
    }

    body .yt-about-profile-main {
        padding: 16px 0 34px !important;
    }

    body .yt-about-profile-main h1 {
        margin-bottom: 30px !important;
        font-size: 38px !important;
    }

    body .yt-about-profile-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    body .yt-about-profile-media {
        height: 208px !important;
    }

    body .yt-about-profile-body {
        min-height: 138px !important;
    }

    body .yt-about-profile-redbrand {
        min-height: 160px !important;
        padding: 28px 22px !important;
    }

    body .yt-about-profile-redbrand b {
        margin-bottom: 22px !important;
    }

    body .yt-about-profile-redbrand strong {
        font-size: 27px !important;
    }

    body .yt-about-profile-redlinks {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 28px 22px 34px !important;
    }

    body .yt-about-profile-redlinks h3 {
        margin-bottom: 12px !important;
    }

    body .yt-about-profile-redlinks a {
        margin-top: 10px !important;
    }

    body:has(.yt-about-profile-main) .footer-brand-row {
        min-height: 160px !important;
        padding: 28px 22px !important;
    }

    body:has(.yt-about-profile-main) .footer-brand {
        margin-bottom: 22px !important;
    }

    body:has(.yt-about-profile-main) .footer-tagline {
        font-size: 27px !important;
    }

    body:has(.yt-about-profile-main) .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 28px 22px 34px !important;
    }

    body:has(.yt-about-profile-main) .footer-column-title {
        margin-bottom: 12px !important;
    }

    body:has(.yt-about-profile-main) .footer-column ul {
        gap: 10px !important;
    }

    body:has(.yt-about-profile-main) .footer-bottom-inner {
        width: calc(100% - 32px) !important;
    }
}

/* Final visual polish: Hilti-like red texture band, value cards and footer. */
body .hilti-brand-value {
    position: relative !important;
    overflow: hidden !important;
    padding: 108px 0 118px !important;
    background:
        linear-gradient(180deg, #d9001b 0 64%, #f7f7f5 64% 100%) !important;
}

body .hilti-brand-value::before,
body .footer-top::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 34% !important;
    height: 64% !important;
    pointer-events: none !important;
    background:
        linear-gradient(112deg, rgba(112,0,15,0.54) 0 21%, transparent 21% 100%),
        linear-gradient(112deg, transparent 0 24%, rgba(184,0,22,0.42) 24% 39%, transparent 39% 100%),
        linear-gradient(112deg, transparent 0 42%, rgba(105,0,16,0.22) 42% 54%, transparent 54% 100%) !important;
}

body .hilti-brand-value::after {
    content: "" !important;
    position: absolute !important;
    right: -5% !important;
    top: 0 !important;
    width: 38% !important;
    height: 64% !important;
    pointer-events: none !important;
    background: linear-gradient(108deg, transparent 0 52%, rgba(164,0,20,0.24) 52% 72%, transparent 72% 100%) !important;
}

body .hilti-brand-grid::before,
body .hilti-brand-grid::after,
body .footer-hilti-inner::before,
body .footer-hilti-inner::after,
body .footer-grid::before,
body .footer-grid::after {
    content: none !important;
    display: none !important;
}

body .hilti-brand-value > .container {
    position: relative !important;
    z-index: 1 !important;
    width: calc(100% - 204px) !important;
    max-width: 1696px !important;
    padding: 0 !important;
}

body .hilti-brand-head {
    margin: 0 0 30px !important;
    color: #fff !important;
}

body .hilti-brand-head span {
    display: block !important;
    margin: 0 0 18px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

body .hilti-brand-head h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 58px !important;
    line-height: 1.03 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body .hilti-brand-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: drop-shadow(0 18px 22px rgba(0,0,0,0.07)) !important;
}

body .hilti-brand-card {
    position: relative !important;
    min-height: 434px !important;
    overflow: visible !important;
    background: #fff !important;
    box-shadow: none !important;
}

body .hilti-brand-image {
    display: block !important;
    height: 235px !important;
    min-height: 235px !important;
    background-position: center !important;
    background-size: cover !important;
}

body .hilti-brand-body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 199px !important;
    padding: 27px 30px 28px !important;
    text-align: left !important;
    background: #fff !important;
}

body .hilti-brand-body em {
    display: block !important;
    margin: 0 0 12px !important;
    color: #d2051e !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}

body .hilti-brand-body strong {
    display: block !important;
    margin: 0 0 12px !important;
    color: #202126 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body .hilti-brand-body small {
    display: -webkit-box !important;
    min-height: 42px !important;
    overflow: hidden !important;
    color: #55545a !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.62 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body .hilti-brand-body b {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: fit-content !important;
    margin: auto 0 0 !important;
    padding-top: 24px !important;
    color: #202126 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

body .hilti-brand-body b::before {
    content: ">" !important;
    display: inline-block !important;
    color: #d2051e !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body .site-footer {
    position: relative !important;
    color: #fff !important;
    background: #d9001b !important;
}

body .footer-top {
    position: relative !important;
    overflow: hidden !important;
    min-height: 230px !important;
    padding: 42px 0 38px !important;
    background: #d9001b !important;
}

body .footer-top::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    width: 36% !important;
    background:
        linear-gradient(112deg, rgba(120,0,15,0.54) 0 24%, transparent 24% 100%),
        linear-gradient(112deg, transparent 0 25%, rgba(178,0,21,0.48) 25% 47%, transparent 47% 100%),
        linear-gradient(112deg, transparent 0 49%, rgba(106,0,14,0.3) 49% 66%, transparent 66% 100%) !important;
}

body .footer-hilti-inner {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(360px, 35%) minmax(0, 65%) !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: calc(100% - 200px) !important;
    max-width: 1698px !important;
    min-height: 150px !important;
    padding: 0 !important;
}

body .footer-brand-row {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    margin: 0 !important;
    min-height: 150px !important;
    align-self: stretch !important;
}

body .footer-brand {
    margin: 0 !important;
    color: #fff !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body .footer-tagline {
    max-width: 440px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 34px !important;
    line-height: 1.14 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body .footer-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 82px !important;
    margin: 0 !important;
    align-self: start !important;
    padding-top: 8px !important;
    padding-left: 24px !important;
}

body .footer-column-title {
    margin: 0 0 28px !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
}

body .footer-column ul {
    display: grid !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body .footer-column a,
body .footer-column span {
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}

body .footer-bottom {
    min-height: 48px !important;
    padding: 0 !important;
    color: #676767 !important;
    background: #fff !important;
}

body .footer-bottom-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 200px) !important;
    max-width: 1698px !important;
    min-height: 48px !important;
    padding: 0 !important;
}

body .footer-bottom p,
body .footer-bottom a {
    margin: 0 !important;
    color: #676767 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

@media (max-width: 1199.98px) {
    body .hilti-brand-value > .container,
    body .footer-hilti-inner,
    body .footer-bottom-inner {
        width: calc(100% - 40px) !important;
    }

    body .hilti-brand-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .footer-hilti-inner {
        grid-template-columns: 1fr !important;
        gap: 44px !important;
    }

    body .footer-brand {
        margin-bottom: 54px !important;
    }
}

@media (max-width: 767.98px) {
    body .hilti-brand-value {
        padding: 58px 0 64px !important;
        background: linear-gradient(180deg, #d9001b 0 34%, #f7f7f5 34% 100%) !important;
    }

    body .hilti-brand-value > .container,
    body .footer-hilti-inner,
    body .footer-bottom-inner {
        width: 100% !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    body .hilti-brand-head {
        margin-bottom: 24px !important;
    }

    body .hilti-brand-head h2 {
        font-size: 38px !important;
    }

    body .hilti-brand-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    body .hilti-brand-card {
        min-height: 0 !important;
    }

    body .hilti-brand-image {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
    }

    body .hilti-brand-body {
        min-height: 155px !important;
        padding: 22px 24px 28px !important;
    }

    body .footer-top {
        min-height: 0 !important;
        padding: 44px 0 48px !important;
    }

    body .footer-hilti-inner {
        min-height: 0 !important;
        gap: 34px !important;
    }

    body .footer-brand {
        margin-bottom: 34px !important;
        font-size: 20px !important;
    }

    body .footer-tagline {
        font-size: 30px !important;
    }

    body .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    body .footer-column {
        padding: 0 !important;
        background: transparent !important;
    }

    body .footer-column-title {
        margin-bottom: 14px !important;
    }

    body .footer-column ul {
        gap: 12px !important;
    }
}

/* Final homepage hero override: match Hilti one-large + two-small card layout */
body .hilti-card-hero {
    padding: 1rem 0 0;
    background: #f7f7f5;
}
body .hilti-card-hero .hilti-card-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(22rem, 1fr);
    grid-template-rows: repeat(2, minmax(14rem, 1fr));
    gap: 0.75rem;
    min-height: 38rem;
}
body .hilti-card-hero .hilti-hero-card.primary-card {
    grid-row: 1 / span 2;
}
body .hilti-card-hero .hilti-hero-card.secondary-card {
    display: block;
    min-height: 18.625rem;
    padding: 0;
}
body .hilti-card-hero .hilti-hero-card.secondary-card::before {
    content: none;
}
body .hilti-card-hero .hilti-hero-card-text,
body .hilti-card-hero .hilti-hero-card.secondary-card .hilti-hero-card-text {
    position: relative;
    z-index: 2;
    display: flex;
}
body .hilti-card-hero + .yd-home-service-cards {
    margin-top: 0;
    padding-top: 0.9rem;
}

@media (max-width: 991.98px) {
    body .hilti-card-hero .hilti-card-hero-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        min-height: 0;
    }
    body .hilti-card-hero .hilti-hero-card.primary-card {
        grid-row: auto;
        min-height: 28rem;
    }
}

@media (max-width: 767.98px) {
    body .hilti-card-hero {
        padding-top: 0;
    }
    body .hilti-card-hero .hilti-card-hero-grid {
        gap: 0.5rem;
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }
    body .hilti-card-hero .hilti-hero-card.primary-card,
    body .hilti-card-hero .hilti-hero-card.secondary-card {
        min-height: 18rem;
    }
}

/* 2026-05-25 full Hilti-style redesign overrides */
.hilti-card-hero {
    padding: 1rem 0 0;
    background: #f7f7f5;
}
.hilti-card-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(22rem, 1fr);
    grid-template-rows: repeat(2, minmax(14rem, 1fr));
    gap: 0.75rem;
    min-height: 38rem;
}
.hilti-hero-card {
    position: relative;
    display: block;
    overflow: hidden;
    color: #fff;
    background: #242329;
    text-decoration: none;
}
.hilti-hero-card:hover,
.hilti-hero-card:focus {
    color: #fff;
    text-decoration: none;
}
.hilti-hero-card.primary-card {
    grid-row: 1 / span 2;
}
.hilti-hero-card.secondary-card {
    min-height: 18.625rem;
}
.hilti-hero-card-image,
.hilti-hero-card-shade {
    position: absolute;
    inset: 0;
}
.hilti-hero-card-image {
    background-size: cover;
    background-position: center;
    transform: scale(1.001);
    transition: transform 0.28s ease;
}
.hilti-hero-card:hover .hilti-hero-card-image {
    transform: scale(1.035);
}
.hilti-hero-card-shade {
    background:
        linear-gradient(90deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.44) 48%, rgba(0,0,0,0.12) 100%),
        linear-gradient(0deg, rgba(0,0,0,0.42), rgba(0,0,0,0));
}
.hilti-hero-card.secondary-card .hilti-hero-card-shade {
    background: linear-gradient(90deg, rgba(0,0,0,0.82), rgba(0,0,0,0.28));
}
.hilti-hero-card-text {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(39rem, 72%);
    height: 100%;
    padding: 3rem;
}
.hilti-hero-card.secondary-card .hilti-hero-card-text {
    width: 86%;
    padding: 2rem;
}
.hilti-hero-card-text em {
    margin-bottom: 0.75rem;
    color: #fff;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
}
.hilti-hero-card-text strong {
    color: #fff;
    font-size: 2.9rem;
    line-height: 1.06;
    font-weight: 900;
}
.hilti-hero-card.secondary-card strong {
    font-size: 1.55rem;
    line-height: 1.18;
}
.hilti-hero-card-text small {
    margin-top: 1rem;
    color: rgba(255,255,255,0.88);
    font-size: 1rem;
    line-height: 1.6;
}
.hilti-hero-card.secondary-card small {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.9rem;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.hilti-hero-card-text b {
    width: fit-content;
    margin-top: 1.5rem;
    padding-bottom: 0.25rem;
    color: #fff;
    font-size: 0.95rem;
    border-bottom: 0.125rem solid #fff;
}
.hilti-card-hero + .yd-home-service-cards {
    margin-top: 0;
    padding-top: 0.9rem;
}

.header-consult-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0 1.2rem;
    color: #fff;
    font-weight: 800;
    background: #d2051e;
    border: 0.0625rem solid #d2051e;
}
.header-consult-link:hover,
.header-consult-link:focus {
    color: #fff;
    background: #ad0017;
    border-color: #ad0017;
    text-decoration: none;
}
.mobile-nav-brand strong,
.mobile-nav-brand span {
    display: block;
}
.mobile-nav-brand span {
    color: #d2051e;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0;
}
.mobile-nav-search {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0;
    margin: 1rem 0;
    border: 0.0625rem solid #deded9;
}
.mobile-nav-search input {
    min-width: 0;
    height: 2.8rem;
    padding: 0 0.85rem;
    border: 0;
    outline: none;
}
.mobile-nav-search button {
    height: 2.8rem;
    padding: 0 0.95rem;
    color: #fff;
    font-weight: 800;
    background: #d2051e;
    border: 0;
}
.yd-home-service-cards {
    position: relative;
    z-index: 4;
    margin-top: -3.25rem;
    padding-bottom: 2.2rem;
}
.yd-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}
.yd-service-card {
    display: grid;
    min-height: 12rem;
    padding: 1.35rem;
    color: #242329;
    background: #fff;
    border: 0.0625rem solid #e4e4e1;
    box-shadow: 0 0.55rem 1.4rem rgba(0,0,0,0.08);
    text-decoration: none;
}
.yd-service-card span {
    color: #d2051e;
    font-size: 0.78rem;
    font-weight: 900;
}
.yd-service-card strong {
    align-self: center;
    color: inherit;
    font-size: 1.35rem;
    line-height: 1.22;
}
.yd-service-card em {
    align-self: end;
    color: #d2051e;
    font-style: normal;
    font-weight: 900;
}
.yd-service-card.is-red {
    color: #fff;
    background: #d2051e;
    border-color: #d2051e;
}
.yd-service-card.is-red span,
.yd-service-card.is-red em {
    color: #fff;
}
.yd-service-card:hover {
    color: #242329;
    transform: translateY(-0.125rem);
    text-decoration: none;
}
.yd-service-card.is-red:hover {
    color: #fff;
    background: #ad0017;
}
.yd-brand-value-section {
    background: #f7f7f5;
}
.yd-brand-value-section .yd-advantage-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
    .hilti-card-hero-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        min-height: 0;
    }
    .hilti-hero-card.primary-card {
        grid-row: auto;
        min-height: 28rem;
    }
    .hilti-hero-card.secondary-card {
        min-height: 15rem;
    }
    .hilti-hero-card-text {
        width: 82%;
        padding: 2rem;
    }
    .hilti-hero-card-text strong {
        font-size: 2.2rem;
    }
    .header-consult-link {
        display: none;
    }
    .yd-home-service-cards {
        margin-top: 0;
        padding-top: 1rem;
    }
    .yd-service-grid,
    .yd-brand-value-section .yd-advantage-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .hilti-card-hero {
        padding-top: 0;
    }
    .hilti-card-hero-grid {
        gap: 0.5rem;
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }
    .hilti-hero-card.primary-card,
    .hilti-hero-card.secondary-card {
        min-height: 18rem;
    }
    .hilti-hero-card-text,
    .hilti-hero-card.secondary-card .hilti-hero-card-text {
        width: 100%;
        padding: 1.35rem;
    }
    .hilti-hero-card-text strong,
    .hilti-hero-card.secondary-card strong {
        font-size: 1.55rem;
        line-height: 1.16;
    }
    .hilti-hero-card-text small {
        font-size: 0.9rem;
        line-height: 1.45;
    }
    .yd-home-service-cards {
        padding-bottom: 1.4rem;
    }
    .yd-service-grid,
    .yd-brand-value-section .yd-advantage-grid {
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }
    .yd-service-card {
        min-height: 8.5rem;
        padding: 1rem;
    }
    .yd-service-card strong {
        font-size: 1.12rem;
    }
}

/* Homepage core products: 4-column vertical cards */
@media (min-width: 768px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-auto-rows: auto;
        gap: 1rem;
    }
    .yd-product-section .yd-product-card {
        display: flex;
        flex-direction: column;
        grid-template-columns: none;
        grid-template-rows: auto 1fr;
        min-height: auto;
        border-top: 0.0625rem solid #e4e4e1;
    }
    .yd-product-section .yd-product-card .yd-card-image {
        width: 100%;
        height: auto;
        min-height: 12rem;
        aspect-ratio: 1.55 / 1;
    }
    .yd-product-section .yd-product-card .yd-card-body {
        min-height: auto;
        padding: 1.25rem;
        gap: 0.6rem;
    }
    .yd-product-section .yd-product-card strong {
        font-size: 1.08rem;
        line-height: 1.25;
    }
    .yd-product-section .yd-product-card em {
        font-size: 0.9rem;
        line-height: 1.55;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

@media (max-width: 767.98px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: 1fr;
    }
    .yd-product-section .yd-product-card,
    .yd-product-section .yd-product-card:first-child,
    .yd-product-section .yd-product-card:not(:first-child) {
        grid-template-columns: 1fr;
        grid-row: auto;
        min-height: auto;
    }
    .yd-product-section .yd-product-card:first-child .yd-card-body::before {
        content: none;
        display: none;
    }
}

/* Homepage benchmark cases: brand-value inspired equal cards */
.yd-case-section {
    position: relative;
    overflow: hidden;
    padding: 0 0 5.4rem;
    background: #fff;
}
.yd-case-section::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 24rem;
    background:
        linear-gradient(90deg, rgba(112,0,12,0.13) 0%, rgba(210,5,30,0.06) 27%, rgba(210,5,30,0) 45%),
        linear-gradient(90deg, #b50016 0%, #cf001c 42%, #d2051e 100%);
}
.yd-case-section::after {
    content: "";
    position: absolute;
    left: -2rem;
    top: 0;
    width: 52%;
    height: 24rem;
    background:
        linear-gradient(115deg, rgba(255,255,255,0.14) 0 8%, transparent 8% 15%, rgba(120,0,10,0.2) 15% 31%, transparent 31% 39%, rgba(255,255,255,0.16) 39% 44%, transparent 44%),
        linear-gradient(105deg, rgba(90,0,10,0.25), rgba(255,255,255,0.045));
    clip-path: polygon(0 0, 90% 0, 74% 100%, 0 100%);
    pointer-events: none;
}
.yd-case-section .container {
    position: relative;
    z-index: 1;
}
.yd-case-section .yd-section-head {
    max-width: 62rem;
    padding-top: 5rem;
    margin-bottom: 2.4rem;
}
.yd-case-section .yd-section-head span,
.yd-case-section .yd-section-head h2 {
    color: #fff;
}
.yd-case-section .yd-section-head p {
    color: rgba(255,255,255,0.82);
    max-width: 52rem;
}
.yd-case-section .yd-case-grid,
.yd-case-section .yd-case-card:first-child,
.yd-case-section .yd-case-card:not(:first-child) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.yd-case-section .yd-case-grid {
    display: grid;
    gap: 0.85rem;
    align-items: stretch;
    margin-top: 0;
}
.yd-case-section .yd-case-card,
.yd-case-section .yd-case-card:first-child,
.yd-case-section .yd-case-card:not(:first-child) {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-row: auto;
    min-height: 28rem;
    overflow: visible;
    background: #fff;
    border: 0.0625rem solid #e4e4e1;
    box-shadow: 0 0.55rem 1.4rem rgba(0,0,0,0.08);
}
.yd-case-section .yd-case-card .yd-card-image,
.yd-case-section .yd-case-card:first-child .yd-card-image,
.yd-case-section .yd-case-card:not(:first-child) .yd-card-image {
    position: static;
    display: block;
    width: 100%;
    height: 16rem;
    min-height: 16rem;
    aspect-ratio: auto;
    background-size: cover;
    background-position: center;
}
.yd-case-section .yd-case-card:first-child .yd-card-image::after {
    content: none;
}
.yd-case-section .yd-case-card .yd-card-body,
.yd-case-section .yd-case-card:first-child .yd-card-body,
.yd-case-section .yd-case-card:not(:first-child) .yd-card-body {
    position: static;
    z-index: auto;
    align-self: auto;
    display: grid;
    gap: 0.7rem;
    min-height: auto;
    margin-top: 0;
    padding: 1.45rem;
}
.yd-case-section .yd-case-card .yd-card-body em,
.yd-case-section .yd-case-card:first-child .yd-card-body em {
    color: #d2051e;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
}
.yd-case-section .yd-case-card .yd-card-body strong,
.yd-case-section .yd-case-card:first-child .yd-card-body strong {
    color: #242329;
    font-size: 1.32rem;
    line-height: 1.25;
}
.yd-case-section .yd-case-card .yd-card-body p,
.yd-case-section .yd-case-card:first-child .yd-card-body p {
    color: #615e64;
    line-height: 1.6;
}

@media (max-width: 1199.98px) {
    .yd-case-section .yd-case-grid,
    .yd-case-section .yd-case-card:first-child,
    .yd-case-section .yd-case-card:not(:first-child) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .yd-case-section {
        padding-bottom: 3.5rem;
    }
    .yd-case-section::before,
    .yd-case-section::after {
        height: 18rem;
    }
    .yd-case-section .yd-section-head {
        padding-top: 3.5rem;
    }
    .yd-case-section .yd-case-grid,
    .yd-case-section .yd-case-card:first-child,
    .yd-case-section .yd-case-card:not(:first-child) {
        grid-template-columns: 1fr;
    }
    .yd-case-section .yd-case-card,
    .yd-case-section .yd-case-card:first-child,
    .yd-case-section .yd-case-card:not(:first-child) {
        min-height: auto;
    }
}

/* Homepage products: 4-column vertical cards (desktop) */
@media (min-width: 1200px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1rem;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }
}

@media (max-width: 767.98px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: 1fr;
    }
}

/* Final homepage product image fit: keep original ratio */
.yd-product-section .yd-product-card .yd-card-image,
.yd-product-section .yd-product-card:first-child .yd-card-image,
.yd-product-section .yd-product-card:not(:first-child) .yd-card-image {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #f2f2ef;
}

/* Final solution listing page polish */
.solution-list-hero {
    min-height: 20rem;
    display: flex;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(26,26,26,0.94), rgba(26,26,26,0.76) 52%, rgba(26,26,26,0.48)),
        linear-gradient(115deg, rgba(210,5,30,0.42) 0 16%, transparent 16% 100%),
        #242329;
}
.solution-list-hero::after {
    width: 32rem;
    height: 16rem;
    background: rgba(210,5,30,0.24);
}
.solution-list-hero span {
    color: #fff;
}
.solution-list-hero h1 {
    max-width: 52rem;
    font-size: clamp(2.25rem, 3.1vw, 3.25rem);
}
.solution-list-hero p {
    max-width: 58rem;
    margin-bottom: 0;
    font-size: 1.05rem;
    line-height: 1.8;
}

.solution-entry-section {
    background: #fff;
    border-bottom: 0.0625rem solid #deded9;
}
.solution-entry-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding-top: 0;
    padding-bottom: 0;
}
.solution-entry-grid .service-entry-card {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    min-height: 12.5rem;
    padding: 1.6rem 1.75rem;
    border-right: 0;
    border-left: 0.0625rem solid #deded9;
    border-bottom: 0.0625rem solid #deded9;
}
.solution-entry-grid .service-entry-card:nth-child(3n) {
    border-right: 0.0625rem solid #deded9;
}
.solution-entry-grid .service-entry-card span {
    grid-column: 1;
    grid-row: 1 / span 2;
}
.solution-entry-grid .service-entry-card strong,
.solution-entry-grid .service-entry-card em {
    grid-column: 2;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
}
.solution-entry-grid .service-entry-card strong {
    align-self: end;
    color: #151515;
    font-size: 1.18rem;
    line-height: 1.32;
}
.solution-entry-grid .service-entry-card em {
    align-self: start;
    color: #5f5b60;
    font-size: 0.96rem;
    line-height: 1.7;
}

.solution-list-section {
    background: #f7f7f5;
    padding: 3.5rem 0 4.5rem;
}
.solution-list-section .service-layout {
    grid-template-columns: minmax(15rem, 17rem) minmax(0, 1fr);
    gap: 2rem;
}
.solution-list-section .service-sidebar {
    background: #fff;
    border-top: 0.25rem solid #d2051e;
}
.solution-list-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.solution-list-grid .solution-tile {
    position: relative;
    min-height: 15.5rem;
    padding: 1.6rem 1.7rem 1.8rem;
    overflow: hidden;
    background: #fff;
    border: 0.0625rem solid #e1e1de;
}
.solution-list-grid .solution-tile::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0.24rem;
    background: #d2051e;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.18s ease;
}
.solution-list-grid .solution-tile:hover {
    background: #fff;
    box-shadow: 0 0.55rem 1.3rem rgba(0,0,0,0.08);
}
.solution-list-grid .solution-tile:hover::before {
    transform: scaleY(1);
}
.solution-list-grid .solution-tile span {
    color: #8a858b;
    font-size: 0.82rem;
    font-weight: 800;
}
.solution-list-grid .solution-tile strong {
    color: #151515;
    font-size: 1.45rem;
    line-height: 1.28;
}
.solution-list-grid .solution-tile p {
    color: #5f5b60;
    line-height: 1.75;
}
.solution-related-section .compact-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1199.98px) {
    .solution-entry-grid,
    .solution-list-grid,
    .solution-related-section .compact-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .solution-entry-grid .service-entry-card:nth-child(3n) {
        border-right: 0;
    }
    .solution-entry-grid .service-entry-card:nth-child(2n) {
        border-right: 0.0625rem solid #deded9;
    }
}

@media (max-width: 767.98px) {
    .solution-list-hero {
        min-height: 18rem;
    }
    .solution-entry-grid,
    .solution-list-grid,
    .solution-related-section .compact-card-grid {
        grid-template-columns: 1fr;
    }
    .solution-entry-grid .service-entry-card,
    .solution-entry-grid .service-entry-card:nth-child(2n),
    .solution-entry-grid .service-entry-card:nth-child(3n) {
        border-right: 0.0625rem solid #deded9;
    }
    .solution-entry-grid .service-entry-card {
        min-height: auto;
    }
}

/* Final footer separation: keep the CTA and footer as two readable sections */
.yd-footer-cta {
    position: relative;
    overflow: hidden;
    padding: 4.8rem 0;
    color: #1a1a1a;
    background:
        linear-gradient(115deg, rgba(210,5,30,0.08) 0 12%, transparent 12% 100%),
        linear-gradient(180deg, #fff 0%, #f7f7f5 100%);
    border-top: 0.0625rem solid #e5e5e2;
    border-bottom: 0.0625rem solid #d8d8d4;
}
.yd-footer-cta::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0.42rem;
    height: 100%;
    background: #d2051e;
    clip-path: none;
}
.yd-footer-cta::after {
    content: "";
    position: absolute;
    right: -8rem;
    top: -5rem;
    width: 34rem;
    height: 18rem;
    background: rgba(210,5,30,0.06);
    transform: skewX(-24deg);
    pointer-events: none;
}
.yd-footer-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
}
.yd-footer-cta span {
    color: #d2051e;
}
.yd-footer-cta h2 {
    max-width: 52rem;
    color: #1a1a1a;
    font-size: 2.45rem;
    line-height: 1.16;
    margin: 0.5rem 0 0.8rem;
}
.yd-footer-cta p {
    max-width: 50rem;
    color: #615e64;
    line-height: 1.75;
}
.yd-footer-cta .btn-light {
    min-width: 12rem;
    background: #d2051e;
    border-color: #d2051e;
    color: #fff;
}
.yd-footer-cta .btn-light:hover {
    background: #ab0115;
    border-color: #ab0115;
    color: #fff;
}

.footer-top {
    background:
        linear-gradient(115deg, rgba(210,5,30,0.16) 0 9%, transparent 9% 18%, rgba(255,255,255,0.035) 18% 28%, transparent 28%),
        linear-gradient(180deg, #242329 0%, #17171a 100%);
    padding: 3.6rem 0 4rem;
}
.footer-quick-row {
    grid-template-columns: minmax(16rem, 0.46fr) minmax(20rem, 1fr) auto;
    padding: 1.35rem 1.45rem;
    margin-bottom: 2.4rem;
    background: rgba(255,255,255,0.055);
    border: 0.0625rem solid rgba(255,255,255,0.18);
}
.footer-quick-row span {
    color: rgba(255,255,255,0.72);
}
.footer-quick-row strong {
    color: #fff;
}
.footer-search-form input {
    background: #fff;
    color: #1a1a1a;
}
.footer-search-form button {
    background: #d2051e;
    border-color: #d2051e;
    color: #fff;
}
.footer-search-form button:hover {
    background: #ab0115;
    border-color: #ab0115;
    color: #fff;
}
.footer-quick-row > a {
    background: transparent;
    border-color: rgba(255,255,255,0.75);
    color: #fff;
}
.footer-quick-row > a:hover {
    background: #fff;
    border-color: #fff;
    color: #d2051e;
}
.footer-brand-row {
    border-bottom-color: rgba(255,255,255,0.16);
}
.footer-bottom {
    background: #101013;
    color: rgba(255,255,255,0.58);
}
.footer-bottom a {
    color: rgba(255,255,255,0.68);
}

@media (max-width: 1023.98px) {
    .yd-footer-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .yd-footer-cta {
        padding: 3.2rem 0;
    }
    .yd-footer-cta h2 {
        font-size: 1.8rem;
    }
    .footer-quick-row {
        grid-template-columns: 1fr;
    }
    .footer-search-form {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    .footer-search-form button,
    .footer-quick-row > a {
        width: 100%;
    }
}

/* Final public content/detail page polish */
.article-section,
.page-section,
.product-detail-content {
    background: #fff;
}

.detail-grid,
.page-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 20rem);
    gap: 2.5rem;
    align-items: start;
}

.detail-main,
.page-main,
.article-main,
.service-main {
    min-width: 0;
}

.detail-main > h2,
.page-main > h2 {
    position: relative;
    margin: 2.75rem 0 1.25rem;
    padding-top: 0.2rem;
    color: #1a1a1a;
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1.25;
}

.detail-main > h2:first-child,
.page-main > h2:first-child {
    margin-top: 0;
}

.detail-main > h2::before,
.page-main > h2::before {
    content: "";
    display: block;
    width: 3rem;
    height: 0.22rem;
    margin-bottom: 0.85rem;
    background: #d2051e;
}

.detail-muted {
    margin: 0 0 1.8rem;
    padding: 1.2rem 1.35rem;
    color: #4f4c50;
    line-height: 1.85;
    background: #f7f7f5;
    border-left: 0.25rem solid #d2051e;
}

.content-body {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    color: #33333a;
    font-size: 1rem;
    line-height: 1.9;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.content-body > *:first-child { margin-top: 0; }
.content-body > *:last-child { margin-bottom: 0; }

.content-body p {
    margin: 0 0 1.15rem;
}

.content-body h1,
.content-body h2,
.content-body h3,
.content-body h4 {
    color: #1a1a1a;
    line-height: 1.28;
    margin: 2rem 0 0.85rem;
}

.content-body h1 { font-size: 2rem; }
.content-body h2 { font-size: 1.65rem; }
.content-body h3 { font-size: 1.35rem; }
.content-body h4 { font-size: 1.15rem; }

.content-body ul,
.content-body ol {
    margin: 0 0 1.35rem;
    padding-left: 1.35rem;
}

.content-body li {
    margin: 0.35rem 0;
    line-height: 1.8;
}

.content-body a {
    color: #d2051e;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.18rem;
}

.content-body blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
    color: #4f4c50;
    background: #f7f7f5;
    border-left: 0.25rem solid #d2051e;
}

.content-body img {
    display: block;
    max-width: 100%;
    height: auto !important;
    margin: 1.35rem auto;
    background: #f2f2ef;
    border: 0.0625rem solid #e1e1de;
    object-fit: contain;
}

.content-body table {
    width: 100%;
    min-width: 38rem;
    margin: 1.5rem 0;
    border-collapse: collapse;
    background: #fff;
    border: 0.0625rem solid #d8d8d4;
}

.content-body th,
.content-body td {
    padding: 0.9rem 1rem;
    border: 0.0625rem solid #d8d8d4;
    color: #33333a;
    line-height: 1.65;
    vertical-align: top;
}

.content-body th {
    width: 30%;
    color: #1a1a1a;
    background: #f7f7f5;
    font-weight: 900;
}

.content-body iframe,
.content-body video {
    max-width: 100%;
}

.material-entry.content-body,
.content-body .material-entry {
    gap: 1.25rem;
}

.detail-tabbar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 2.2rem;
    padding-bottom: 1rem;
    border-bottom: 0.0625rem solid #d8d8d4;
}

.detail-tabbar a,
.detail-tabbar a:last-child {
    display: inline-flex;
    align-items: center;
    min-height: 2.9rem;
    padding: 0.75rem 1rem;
    color: #3c3a3d;
    font-weight: 900;
    line-height: 1.2;
    background: #fff;
    border: 0.0625rem solid #d8d8d4;
}

.detail-tabbar a.active {
    color: #1a1a1a;
    background: #f7f7f5;
    border-top: 0.25rem solid #d2051e;
    padding-top: 0.5625rem;
}

.detail-tabbar a:hover {
    color: #d2051e;
    background: #fff;
    border-color: #d2051e;
}

.detail-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
}

.detail-check-list li {
    position: relative;
    min-height: 4.5rem;
    padding: 1rem 1.1rem 1rem 2.9rem;
    color: #3c3a3d;
    line-height: 1.7;
    background: #f7f7f5;
    border: 0.0625rem solid #e1e1de;
}

.detail-check-list li::before {
    content: "";
    position: absolute;
    left: 1.1rem;
    top: 1.22rem;
    width: 0.78rem;
    height: 0.42rem;
    border-left: 0.16rem solid #d2051e;
    border-bottom: 0.16rem solid #d2051e;
    transform: rotate(-45deg);
}

.detail-step-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 0 2rem;
}

.detail-step-grid article {
    min-width: 0;
    min-height: 9rem;
    padding: 1.35rem;
    background: #fff;
    border: 0.0625rem solid #e1e1de;
}

.detail-step-grid article strong {
    display: block;
    margin-bottom: 0.65rem;
    color: #1a1a1a;
    font-size: 1.1rem;
    line-height: 1.35;
}

.detail-step-grid article p {
    margin: 0;
    color: #5f5b60;
    line-height: 1.7;
}

.case-stage-gallery {
    margin: 0 0 2.25rem;
}

.case-stage-head {
    display: grid;
    gap: 0.35rem;
    margin: 0 0 0.9rem;
}

.case-stage-head h3 {
    margin: 0;
    color: #1a1a1a;
    font-size: 1.25rem;
    line-height: 1.35;
}

.case-stage-head p {
    margin: 0;
    color: #5f5b60;
    line-height: 1.7;
}

.detail-param-table {
    width: 100%;
    margin: 0 0 2rem;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
    border: 0.0625rem solid #d8d8d4;
}

.detail-param-table th,
.detail-param-table td {
    padding: 1rem 1.15rem;
    border-bottom: 0.0625rem solid #d8d8d4;
    color: #33333a;
    line-height: 1.65;
    vertical-align: top;
}

.detail-param-table th {
    width: 32%;
    color: #1a1a1a;
    background: #f7f7f5;
    font-weight: 900;
}

.detail-param-table tr:last-child th,
.detail-param-table tr:last-child td {
    border-bottom: 0;
}

.detail-main .compact-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 2rem;
}

.detail-main .compact-card {
    min-height: 8.5rem;
    padding: 1.25rem;
}

.detail-main .compact-card strong {
    font-size: 1.05rem;
}

.detail-side {
    position: sticky;
    top: 6.5rem;
    min-width: 0;
    background: #f7f7f5;
    border: 0.0625rem solid #e1e1de;
    padding: 1.35rem;
}

.detail-side h3 {
    margin: 0 0 1rem;
    color: #1a1a1a;
    font-size: 1.25rem;
    line-height: 1.3;
}

.detail-side ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.detail-side li {
    padding: 0.8rem 0;
    border-bottom: 0.0625rem solid #e1e1de;
    color: #524f53;
    line-height: 1.55;
}

.detail-side li:first-child {
    border-top: 0.0625rem solid #e1e1de;
}

.detail-side .btn {
    width: 100%;
    margin-top: 1.35rem;
}

.product-detail-hero {
    background: #f7f7f5;
}



.product-detail-gallery {
    min-width: 0;
    min-height: clamp(23rem, 38vw, 31rem);
    background: #f2f2ef;
}

.product-detail-gallery .carousel,
.product-detail-gallery .carousel-inner,
.product-detail-gallery .item {
    width: 100%;
    height: 100%;
}

.product-detail-gallery img,
.product-detail-gallery .item img {
    width: 100%;
    height: clamp(23rem, 38vw, 31rem);
    padding: 0.75rem;
    object-fit: contain;
    background: #f2f2ef;
}

.product-detail-summary {
    min-width: 0;
}

.product-detail-summary h1 {
    font-size: clamp(2rem, 3vw, 2.8rem);
    overflow-wrap: anywhere;
}

.product-detail-meta span {
    line-height: 1.55;
}

.article-cover,
.case-detail-cover {
    display: block;
    width: 100%;
    margin-bottom: 2rem;
    overflow: hidden;
    background: #ededeb;
    border: 0.0625rem solid #e1e1de;
}

.article-cover {
    height: clamp(18rem, 38vw, 32rem);
    object-fit: cover;
}

.case-detail-cover {
    aspect-ratio: 21 / 9;
    max-height: 34rem;
}

.case-detail-cover img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
}

.article-nav a {
    min-width: 0;
    line-height: 1.55;
    overflow-wrap: anywhere;
    border: 0.0625rem solid #e1e1de;
}

.download-list {
    min-width: 0;
}

.download-row {
    grid-template-columns: 3rem minmax(10rem, 0.32fr) minmax(0, 1fr) auto;
    min-width: 0;
}

.download-row strong,
.download-row em {
    min-width: 0;
    overflow-wrap: anywhere;
}

.service-entry-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-entry-card {
    min-width: 0;
}

.service-sidebar {
    position: sticky;
    top: 6.5rem;
}

.service-intro,
.contact-form,
.contact-methods article,
.contact-map-card {
    box-shadow: none;
}

.contact-methods article,
.contact-form,
.contact-map-card {
    min-width: 0;
}

.contact-methods a,
.contact-methods p,
.contact-map-card p {
    overflow-wrap: anywhere;
}

@media (max-width: 1199.98px) {
    .detail-grid,
    .page-detail-layout,
    .product-detail-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .detail-side,
    .service-sidebar {
        position: static;
    }

    .service-entry-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1023.98px) {
    body .page-detail-layout {
        display: block;
    }

    body .page-main {
        width: 100%;
    }

    body .page-side-nav {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    .article-section,
    .page-section,
    .product-detail-content,
    .hilti-service-section,
    .contact-section {
        padding: 2.5rem 0 3.25rem;
    }

    .detail-main > h2,
    .page-main > h2 {
        margin-top: 2rem;
        font-size: 1.45rem;
    }

    .detail-tabbar {
        display: grid;
        grid-template-columns: 1fr;
    }

    .detail-tabbar a,
    .detail-tabbar a:last-child {
        width: 100%;
        border-right: 0.0625rem solid #d8d8d4;
    }

    .detail-check-list,
    .detail-step-grid,
    .detail-main .compact-card-grid,
    .contact-extra-grid,
    .service-entry-grid {
        grid-template-columns: 1fr;
    }

    .detail-check-list li {
        min-height: 0;
    }

    .detail-param-table {
        table-layout: auto;
    }

    .detail-param-table th,
    .detail-param-table td {
        display: block;
        width: 100%;
    }

    .detail-param-table th {
        border-bottom: 0;
    }

    .product-detail-gallery,
    .product-detail-gallery img,
    .product-detail-gallery .item img {
        min-height: 18rem;
        height: 18rem;
    }

    .article-cover {
        height: 18rem;
    }

    .download-row {
        grid-template-columns: 3rem minmax(0, 1fr);
    }

    .download-row strong,
    .download-row em,
    .download-row b {
        grid-column: 2;
    }

    .content-body table {
        min-width: 32rem;
    }
}

/* Customer material rich content */
.material-entry {
    display: grid;
    gap: 1.35rem;
}
.material-entry h3 {
    margin: 1rem 0 0.35rem;
    color: #1f1f1f;
    font-size: 1.35rem;
    line-height: 1.3;
}
.material-entry p {
    margin: 0;
    color: #3c3a3d;
    line-height: 1.86;
}
.material-entry ul {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding-left: 1.15rem;
}
.material-entry li {
    color: #3c3a3d;
    line-height: 1.75;
}
.material-download {
    display: flex;
    align-items: center;
    min-height: 3.5rem;
    padding: 0.9rem 1.1rem;
    background: #f7f7f5;
    border-left: 0.28rem solid #d2051e;
    border-top: 0.0625rem solid #e1e1de;
    border-right: 0.0625rem solid #e1e1de;
    border-bottom: 0.0625rem solid #e1e1de;
}
.material-download a {
    color: #1f1f1f;
    font-weight: 900;
}
.material-download a:hover {
    color: #d2051e;
}
.material-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin: 0 0 0.4rem;
}
.material-gallery figure {
    margin: 0;
    background: #f2f2ef;
    border: 0.0625rem solid #e1e1de;
}
.material-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    padding: 0.5rem;
}
.material-gallery figcaption {
    padding: 0.65rem 0.8rem;
    color: #6b6862;
    font-size: 0.82rem;
    line-height: 1.35;
    border-top: 0.0625rem solid #e1e1de;
}
.material-structured {
    gap: 1.05rem;
}

@media (max-width: 767.98px) {
    .material-gallery {
        grid-template-columns: 1fr;
    }
    .material-entry h3 {
        font-size: 1.18rem;
    }
}

/* Homepage core products final override: four image cards */
.yd-product-section .yd-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}
.yd-product-section .yd-product-card,
.yd-product-section .yd-product-card:first-child,
.yd-product-section .yd-product-card:not(:first-child) {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-row: auto;
    min-height: 100%;
    background: #fff;
    border: 0.0625rem solid #e4e4e1;
}
.yd-product-section .yd-product-card .yd-card-image,
.yd-product-section .yd-product-card:first-child .yd-card-image,
.yd-product-section .yd-product-card:not(:first-child) .yd-card-image {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1.45 / 1;
    background-size: cover;
    background-position: center;
}
.yd-product-section .yd-product-card .yd-card-body,
.yd-product-section .yd-product-card:first-child .yd-card-body,
.yd-product-section .yd-product-card:not(:first-child) .yd-card-body {
    min-height: 11.5rem;
    padding: 1.35rem;
}
.yd-product-section .yd-product-card:first-child .yd-card-body::before {
    content: none;
    display: none;
}
.yd-product-section .yd-product-card strong,
.yd-product-section .yd-product-card:first-child strong,
.yd-product-section .yd-product-card:not(:first-child) strong {
    font-size: 1.24rem;
    line-height: 1.28;
}

@media (max-width: 1199.98px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: 1fr;
    }
    .yd-product-section .yd-product-card .yd-card-body,
    .yd-product-section .yd-product-card:first-child .yd-card-body,
    .yd-product-section .yd-product-card:not(:first-child) .yd-card-body {
        min-height: auto;
    }
}

/* Homepage benchmark cases final override: brand-value inspired equal cards */
.yd-case-section {
    position: relative;
    overflow: hidden;
    padding: 0 0 5.4rem;
    background: #fff;
}
.yd-case-section::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 24rem;
    background:
        linear-gradient(90deg, rgba(112,0,12,0.13) 0%, rgba(210,5,30,0.06) 27%, rgba(210,5,30,0) 45%),
        linear-gradient(90deg, #b50016 0%, #cf001c 42%, #d2051e 100%);
}
.yd-case-section::after {
    content: "";
    position: absolute;
    left: -2rem;
    top: 0;
    width: 52%;
    height: 24rem;
    background:
        linear-gradient(115deg, rgba(255,255,255,0.14) 0 8%, transparent 8% 15%, rgba(120,0,10,0.2) 15% 31%, transparent 31% 39%, rgba(255,255,255,0.16) 39% 44%, transparent 44%),
        linear-gradient(105deg, rgba(90,0,10,0.25), rgba(255,255,255,0.045));
    clip-path: polygon(0 0, 90% 0, 74% 100%, 0 100%);
    pointer-events: none;
}
.yd-case-section .container {
    position: relative;
    z-index: 1;
}
.yd-case-section .yd-section-head {
    max-width: 62rem;
    padding-top: 5rem;
    margin-bottom: 2.4rem;
}
.yd-case-section .yd-section-head span,
.yd-case-section .yd-section-head h2 {
    color: #fff;
}
.yd-case-section .yd-section-head p {
    color: rgba(255,255,255,0.82);
    max-width: 52rem;
}
.yd-case-section .yd-case-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    align-items: stretch;
    margin-top: 0;
}
.yd-case-section .yd-case-card,
.yd-case-section .yd-case-card:first-child,
.yd-case-section .yd-case-card:not(:first-child) {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-row: auto;
    min-height: 28rem;
    overflow: visible;
    background: #fff;
    border: 0.0625rem solid #e4e4e1;
    box-shadow: 0 0.55rem 1.4rem rgba(0,0,0,0.08);
}
.yd-case-section .yd-case-card .yd-card-image,
.yd-case-section .yd-case-card:first-child .yd-card-image,
.yd-case-section .yd-case-card:not(:first-child) .yd-card-image {
    position: static;
    display: block;
    width: 100%;
    height: 16rem;
    min-height: 16rem;
    aspect-ratio: auto;
    background-size: cover;
    background-position: center;
}
.yd-case-section .yd-case-card:first-child .yd-card-image::after {
    content: none;
}
.yd-case-section .yd-case-card .yd-card-body,
.yd-case-section .yd-case-card:first-child .yd-card-body,
.yd-case-section .yd-case-card:not(:first-child) .yd-card-body {
    position: static;
    z-index: auto;
    align-self: auto;
    display: grid;
    gap: 0.7rem;
    min-height: auto;
    margin-top: 0;
    padding: 1.45rem;
}
.yd-case-section .yd-case-card .yd-card-body em,
.yd-case-section .yd-case-card:first-child .yd-card-body em {
    color: #d2051e;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
}
.yd-case-section .yd-case-card .yd-card-body strong,
.yd-case-section .yd-case-card:first-child .yd-card-body strong {
    color: #242329;
    font-size: 1.32rem;
    line-height: 1.25;
}
.yd-case-section .yd-case-card .yd-card-body p,
.yd-case-section .yd-case-card:first-child .yd-card-body p {
    color: #615e64;
    line-height: 1.6;
}

@media (max-width: 1199.98px) {
    .yd-case-section .yd-case-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .yd-case-section {
        padding-bottom: 3.5rem;
    }
    .yd-case-section::before,
    .yd-case-section::after {
        height: 18rem;
    }
    .yd-case-section .yd-section-head {
        padding-top: 3.5rem;
    }
    .yd-case-section .yd-case-grid {
        grid-template-columns: 1fr;
    }
    .yd-case-section .yd-case-card,
    .yd-case-section .yd-case-card:first-child,
    .yd-case-section .yd-case-card:not(:first-child) {
        min-height: auto;
    }
}

/* Homepage core products: vertical cards */
@media (min-width: 768px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-auto-rows: auto;
        gap: 1rem;
    }
    .yd-product-section .yd-product-card {
        display: flex;
        flex-direction: column;
        grid-template-columns: none;
        grid-template-rows: auto 1fr;
        min-height: auto;
        border-top: 0.0625rem solid #e4e4e1;
    }
    .yd-product-section .yd-product-card .yd-card-image {
        width: 100%;
        height: auto;
        min-height: 12rem;
        aspect-ratio: 1.55 / 1;
    }
    .yd-product-section .yd-product-card .yd-card-body {
        min-height: auto;
        padding: 1.25rem;
        gap: 0.6rem;
    }
    .yd-product-section .yd-product-card strong {
        font-size: 1.08rem;
        line-height: 1.25;
    }
    .yd-product-section .yd-product-card em {
        font-size: 0.9rem;
        line-height: 1.55;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

@media (max-width: 767.98px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: 1fr;
    }
    .yd-product-section .yd-product-card,
    .yd-product-section .yd-product-card:first-child,
    .yd-product-section .yd-product-card:not(:first-child) {
        grid-template-columns: 1fr;
        grid-row: auto;
        min-height: auto;
    }
    .yd-product-section .yd-product-card:first-child .yd-card-body::before {
        content: none;
        display: none;
    }
}
a { color: #d2051e; text-decoration: none; transition: color 0.2s; }
a:hover { color: #ab0115; }
img { max-width: 100%; height: auto; display: block; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 700; color: #1a1a1a; }
p { margin: 0; }

.container { width: 100%; max-width: 120rem; margin: 0 auto; padding: 0 1.5rem; }
@media (min-width: 1024px) { .container { padding: 0 2.5rem; } }

/* Buttons */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
    padding: 0.75rem 1.5rem; font-size: 0.9375rem; font-weight: 500; line-height: 1.25;
    text-align: center; white-space: nowrap; cursor: pointer;
    border: 0.0625rem solid transparent; transition: all 0.25s;
}
.btn-primary { background: #d2051e; border-color: #d2051e; color: #fff; }
.btn-primary:hover { background: #ab0115; border-color: #ab0115; }
.btn-secondary { background: transparent; border-color: #fff; color: #fff; }
.btn-secondary:hover { background: #fff; color: #1a1a1a; }
.btn-ghost { background: transparent; border-color: #d2051e; color: #d2051e; }
.btn-ghost:hover { background: #d2051e; color: #fff; }
.btn-text { background: none; border: none; color: #d2051e; padding: 0; font-weight: 500; }
.btn-text:hover { color: #ab0115; text-decoration: underline; }
.btn-light { background: #fff; border-color: #fff; color: #1a1a1a; }
.btn-light:hover { background: #f1f1f1; border-color: #f1f1f1; color: #1a1a1a; }
.btn-outline-light { background: transparent; border-color: rgba(255,255,255,0.8); color: #fff; }
.btn-outline-light:hover { background: #fff; border-color: #fff; color: #1a1a1a; }
.btn-light-solid { background: #fff; border-color: #fff; color: #d2051e; }
.btn-light-solid:hover { background: #f1f1f1; color: #ab0115; }

/* ============================================================
   Header
   ============================================================ */
.site-header {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 0.0625rem 0 rgba(0,0,0,0.06);
}
main { padding-top: 4rem; }
@media (min-width: 1024px) { main { padding-top: 8.25rem; } }
.smartbar-top { display: none; }

/* Meta Nav */
.meta-nav {
    display: none;
    position: relative;
    overflow: hidden;
    max-height: 3.75rem;
    background:
        linear-gradient(90deg, rgba(112,0,12,0.1) 0%, rgba(210,5,30,0.05) 27%, rgba(210,5,30,0) 45%),
        linear-gradient(90deg, #b50016 0%, #cf001c 42%, #d2051e 100%);
    font-size: 0.8125rem;
    transition: max-height 0.28s ease, opacity 0.22s ease, transform 0.28s ease;
}
.meta-nav::before {
    content: "";
    position: absolute;
    left: -2rem;
    top: 0;
    width: 44%;
    height: 100%;
    background:
        linear-gradient(115deg, rgba(255,255,255,0.16) 0 9%, transparent 9% 15%, rgba(120,0,10,0.24) 15% 30%, transparent 30% 38%, rgba(255,255,255,0.18) 38% 43%, transparent 43%),
        linear-gradient(105deg, rgba(90,0,10,0.28), rgba(255,255,255,0.05));
    clip-path: polygon(0 0, 88% 0, 72% 100%, 0 100%);
}
.meta-nav::after {
    content: "";
    position: absolute;
    left: 8rem;
    top: -1.5rem;
    width: 5rem;
    height: 8rem;
    background: rgba(255,255,255,0.16);
    transform: skewX(-24deg);
    filter: blur(0.5px);
}
@media (min-width: 1024px) { .meta-nav { display: block; } }
.site-header.header-condensed .meta-nav {
    max-height: 0;
    opacity: 0;
    transform: none;
}
.site-header.header-condensed .header-strip {
    box-shadow: 0 0.35rem 1.1rem rgba(0,0,0,0.08);
}
.meta-nav-inner {
    position: relative; z-index: 1;
    display: flex; align-items: center; justify-content: flex-end; gap: 2rem;
    height: 3.75rem;
}
.meta-nav-left,
.meta-nav-right {
    display: flex; align-items: center; gap: 1.5rem;
}
.meta-nav-left { flex: 1 1 auto; min-width: 0; margin-right: auto; color: rgba(255,255,255,0.9); overflow: hidden; }
.meta-nav-left span {
    display: inline-block; opacity: 0.16;
    color: #fff; font-size: 1.25rem; font-weight: 800; letter-spacing: 0.16em; white-space: nowrap;
}
.meta-nav-right {
    flex: 0 0 auto;
    margin-left: auto;
    gap: 1.75rem;
    min-width: 0;
}
.meta-nav a {
    display: inline-flex; align-items: center; gap: 0.375rem;
    color: #fff; font-size: 0.9375rem; font-weight: 700; white-space: nowrap;
}
.meta-nav a:hover { color: rgba(255,255,255,0.8); }
.meta-icon {
    display: inline-block; width: 0.8rem; height: 0.8rem; position: relative;
}
.meta-icon-doc::before,
.meta-icon-sample::before,
.meta-icon-contact::before {
    content: ""; position: absolute; inset: 0.08rem; border: 0.12rem solid currentColor;
}
.meta-icon-doc::after {
    content: ""; position: absolute; right: 0.02rem; top: 0.02rem; width: 0.34rem; height: 0.34rem;
    border-left: 0.12rem solid currentColor; transform: rotate(45deg);
}
.meta-icon-sample::before { border-radius: 50%; }
.meta-icon-sample::after {
    content: ""; position: absolute; left: 50%; bottom: -0.02rem; width: 0.52rem; height: 0.12rem; background: currentColor; transform: translateX(-50%);
}
.meta-icon-contact::before { border-radius: 0.08rem; }
.meta-icon-contact::after {
    content: ""; position: absolute; left: 0.18rem; bottom: -0.06rem; width: 0.26rem; height: 0.26rem;
    border-left: 0.12rem solid currentColor; border-bottom: 0.12rem solid currentColor; transform: skewX(-18deg);
}
.meta-nav-search {
    display: flex; align-items: center; gap: 0.5rem;
    flex: 0 0 18rem;
    width: 18rem;
    min-width: 18rem;
    border-bottom: 0.0625rem solid rgba(255,255,255,0.82);
    padding: 0 0 0.42rem;
}
.meta-nav-search label {
    flex: 0 0 auto;
    color: #fff; font-size: 0.9375rem; font-weight: 800; line-height: 1;
    white-space: nowrap;
}
.meta-nav-search input {
    flex: 1 1 auto;
    background: transparent; border: none; outline: none;
    color: #fff; font-size: 0.9375rem; width: 100%; min-width: 0;
}
.meta-nav-search input::placeholder { color: rgba(255,255,255,0.7); }
.meta-nav-search button {
    flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.25rem; height: 1.25rem;
    padding: 0; background: transparent; border: 0; color: #fff; cursor: pointer;
}
.meta-nav-search svg { color: #fff; }

/* Header Strip */
.header-strip { background: #fff; }
.header-strip-inner {
    display: flex; align-items: center; gap: 2rem;
    height: 4rem;
}
@media (min-width: 1024px) { .header-strip-inner { height: 4.5rem; } }

.header-logo a {
    display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center;
    background: #d2051e; color: #fff;
    font-size: 1.125rem; font-weight: 700; letter-spacing: 0.05em;
    padding: 0.375rem 0.75rem;
    white-space: nowrap;
    min-width: 7rem; min-height: 3rem;
}
.header-logo small { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.18em; opacity: 0.88; }
@media (min-width: 1024px) { .header-logo a { font-size: 1.375rem; padding: 0.5rem 1rem; } }

/* Search removed from primary nav */

/* Desktop Nav */
.header-nav { display: none; }
@media (min-width: 1024px) {
    .desktop-nav { flex: 1; min-width: 0; }
    .header-nav { display: flex; align-items: center; gap: 1.75rem; margin-left: 1rem; flex: 1; }
    .header-nav > li > a,
    .header-nav .nav-trigger {
        display: block; padding: 1.35rem 0 1.25rem;
        background: transparent; border: 0; cursor: pointer;
        font-size: 1rem; font-weight: 700; color: #4c4a4f;
        border-bottom: 0.1875rem solid transparent;
        transition: border-color 0.2s, color 0.2s;
        white-space: nowrap;
    }
    .header-nav > li > a:hover,
    .header-nav .nav-trigger:hover,
    .header-nav > li.open > .nav-trigger,
    .header-nav > li.active > a,
    .header-nav > li.active > .nav-trigger {
        color: #d2051e; border-bottom-color: #d2051e;
    }
    .header-nav > li { position: static; }
    .header-nav .nav-trigger span { display: none; }
}

.mega-menu {
    position: absolute; left: 0; right: 0; top: 100%;
    display: none;
    background: #fff;
    border-top: 0.0625rem solid #ededeb;
    box-shadow: 0 0.35rem 1.2rem rgba(0,0,0,0.12);
    z-index: 1002;
    overflow: hidden;
}
.header-nav > li.open > .mega-menu { display: block; }
.mega-menu-inner {
    width: 100%;
    max-width: none;
    min-height: 18rem;
    margin: 0 auto;
    padding: 1.45rem 3.8rem 2.25rem;
    display: grid;
    grid-template-columns: 26rem minmax(28rem, 1fr);
    gap: 1.75rem;
    align-items: start;
}
.mega-menu-title strong {
    display: block;
    color: #33333a;
    font-size: 0.98rem;
    line-height: 1.45;
    margin-bottom: 1.55rem;
    font-weight: 800;
}
.mega-menu-title p,
.mega-menu-title a { display: none; }
.mega-menu-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(13rem, 18rem));
    gap: 0 3.75rem;
    align-items: start;
}
.mega-link-group h4 {
    color: #33333a;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.55;
    margin: 0 0 1.05rem;
    padding: 0;
    border: 0;
}
.mega-menu-links.is-wide {
    grid-template-columns: 1fr;
}
.mega-link-group.is-horizontal {
    grid-column: auto;
    display: grid;
    grid-template-columns: repeat(5, minmax(7rem, 1fr));
    gap: 0.5rem 2rem;
    align-items: center;
}
.mega-link-group.is-horizontal a {
    min-height: 2.5rem;
    padding: 0.5rem 0;
    white-space: nowrap;
}
.mega-menu-links a {
    display: flex;
    align-items: center;
    min-height: 3.45rem;
    padding: 0;
    color: #57545a;
    border: 0;
    font-weight: 500;
    line-height: 1.45;
}
.mega-menu-links a:hover { color: #d2051e; }
.mega-product-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(11rem, 1fr));
    gap: 1.35rem 3.25rem;
    max-width: 86rem;
}
.mega-product-item {
    display: grid;
    grid-template-columns: 4.3rem minmax(0, 1fr);
    align-items: center;
    gap: 1.15rem;
    min-height: 5rem;
    color: #524f53;
    font-weight: 500;
}
.mega-product-item:hover {
    color: #d2051e;
}
.mega-product-thumb {
    width: 4.3rem;
    height: 4.3rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #fff;
}
.mega-product-thumb-empty {
    background:
        linear-gradient(135deg, rgba(240,240,238,0.95), rgba(215,215,211,0.95)),
        repeating-linear-gradient(45deg, rgba(210,5,30,0.18) 0 1px, transparent 1px 12px);
}
.mega-product-item strong {
    color: inherit;
    font-size: 1rem;
    line-height: 1.45;
    font-weight: 500;
}

/* Mobile Toggle */
.mobile-menu-toggle {
    display: flex; flex-direction: column; gap: 5px;
    padding: 0.5rem; cursor: pointer; background: none; border: none;
}
.mobile-menu-toggle span { display: block; width: 24px; height: 2px; background: #524f53; }
@media (min-width: 1024px) { .mobile-menu-toggle { display: none; } }

.header-actions { display: none; align-items: center; gap: 0.75rem; margin-left: auto; }
.desktop-meta-toggle {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    width: 3rem;
    height: 3rem;
    padding: 0;
    background: #fff;
    border: 0;
    color: #524f53;
    cursor: pointer;
}
.desktop-meta-toggle span {
    display: block;
    width: 1.1rem;
    height: 0.15rem;
    background: currentColor;
    transition: transform 0.2s, opacity 0.2s;
}
.desktop-meta-toggle:hover { color: #d2051e; }
.desktop-meta-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(0.4rem) rotate(45deg); }
.desktop-meta-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.desktop-meta-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-0.4rem) rotate(-45deg); }
@media (min-width: 1024px) { .header-actions { display: flex; } }

/* Mobile Nav */
.mobile-nav-overlay { display: none; position: fixed; inset: 0; z-index: 999; background: rgba(0,0,0,0.5); }
.mobile-nav-overlay.active { display: block; }
.mobile-nav-panel {
    position: fixed; top: 0; right: 0; bottom: 0; width: 80%; max-width: 320px;
    background: #fff; z-index: 1001; transform: translateX(100%); transition: transform 0.3s;
    overflow-y: auto; padding: 1.5rem;
}
.mobile-nav-panel.active { transform: translateX(0); }
.mobile-nav-close { position: absolute; top: 1rem; right: 1rem; background: none; border: none; font-size: 1.5rem; cursor: pointer; }
.mobile-nav-brand { font-size: 1.25rem; font-weight: 700; color: #1a1a1a; padding-right: 2rem; margin-bottom: 1rem; }
.mobile-nav-list li { border-bottom: 0.0625rem solid #f0f0f0; }
.mobile-nav-list a { display: block; padding: 1rem 0; font-size: 1rem; font-weight: 500; color: #524f53; }
.mobile-nav-list a:hover,
.mobile-nav-list li.active > a,
.mobile-nav-list li.active > .mobile-subnav-trigger { color: #d2051e; }
.mobile-subnav-trigger {
    display: flex; align-items: center; justify-content: space-between; width: 100%;
    padding: 1rem 0; background: transparent; border: 0; color: #524f53;
    font-size: 1rem; font-weight: 500; text-align: left;
}
.mobile-subnav { display: none; padding: 0 0 0.75rem 1rem; }
.mobile-nav-list li.open .mobile-subnav { display: block; }
.mobile-subnav a { padding: 0.55rem 0; color: #6b6862; font-size: 0.9375rem; }
.mobile-nav-cta {
    display: flex; align-items: center; justify-content: center;
    margin-top: 1.5rem; height: 3rem; background: #d2051e; color: #fff; font-weight: 700;
}
.mobile-nav-cta:hover { color: #fff; background: #ab0115; }

/* ============================================================
   Hilti-inspired Home
   ============================================================ */
.hilti-mosaic-hero {
    background: #fff;
    padding: 1rem 0 0;
    border-bottom: 0;
}
.mosaic-hero-container { max-width: none; padding-left: 3.5rem; padding-right: 3.5rem; }
.mosaic-hero-grid {
    display: grid;
    grid-template-columns: 2.04fr 1fr;
    grid-template-rows: repeat(2, minmax(19.2rem, 1fr));
    gap: 0.5rem;
    min-height: 39.35rem;
}
.mosaic-tile {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    overflow: hidden;
    min-height: 13.75rem;
    background-size: cover;
    background-position: center;
    color: #fff;
}
.mosaic-tile:nth-child(2) { background-position: center 38%; }
.mosaic-tile:nth-child(3) { background-position: center 55%; }
.mosaic-tile-main {
    grid-row: 1 / span 2;
    min-height: 39.35rem;
    align-items: center;
}
.mosaic-tile-empty {
    background:
        linear-gradient(135deg, rgba(22,22,22,0.96), rgba(60,60,60,0.88)),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 18px);
}
.mosaic-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.56) 0%, rgba(0,0,0,0.28) 42%, rgba(0,0,0,0.04) 100%);
    transition: background 0.2s;
}
.mosaic-tile:not(.mosaic-tile-main) .mosaic-shade {
    background: linear-gradient(90deg, rgba(0,0,0,0.42), rgba(0,0,0,0.10));
}
.mosaic-tile:hover .mosaic-shade {
    background: linear-gradient(90deg, rgba(0,0,0,0.64) 0%, rgba(0,0,0,0.34) 52%, rgba(0,0,0,0.08) 100%);
}
.mosaic-copy {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: start;
    gap: 0.7rem;
    max-width: 39rem;
    padding: 1.4rem;
}
.mosaic-tile-main .mosaic-copy {
    padding: 3.5rem 1.75rem;
    gap: 1rem;
}
.mosaic-copy em {
    color: #fff;
    font-size: 0.86rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.25;
}
.mosaic-copy strong {
    color: #fff;
    font-size: 1.42rem;
    line-height: 1.12;
    font-weight: 900;
    text-shadow: 0 0.08rem 0.2rem rgba(0,0,0,0.26);
}
.mosaic-tile-main .mosaic-copy strong {
    font-size: 2.55rem;
    letter-spacing: 0;
}
.mosaic-copy b {
    display: inline-flex;
    align-items: center;
    min-height: 2.7rem;
    margin-top: 0.35rem;
    padding: 0 1.7rem;
    background: #d2051e;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 900;
}
.mosaic-tile:not(.mosaic-tile-main) .mosaic-copy b {
    margin-top: auto;
    padding: 0;
    min-height: auto;
    background: transparent;
    font-size: 0.9rem;
}
.mosaic-tile:not(.mosaic-tile-main) .mosaic-copy b::before {
    content: "";
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    margin-right: 0.65rem;
    border-top: 0.12rem solid currentColor;
    border-right: 0.12rem solid currentColor;
    transform: rotate(45deg);
}

.home-card-section {
    background: #fff;
    padding: 3.95rem 0 4.7rem;
}
.home-reference-container {
    max-width: none;
    padding-left: 3.5rem;
    padding-right: 3.5rem;
}
.home-reference-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}
.home-reference-card {
    display: grid;
    grid-template-rows: auto 1fr;
    color: #524f53;
    background: #fff;
    min-width: 0;
}
.home-reference-card:hover {
    color: #524f53;
}
.home-reference-image {
    display: block;
    width: 100%;
    aspect-ratio: 1.72 / 1;
    background-size: cover;
    background-position: center;
    background-color: #dededb;
}
.home-reference-image-empty {
    background:
        linear-gradient(135deg, rgba(238,238,235,0.96), rgba(211,211,207,0.95)),
        repeating-linear-gradient(45deg, rgba(210,5,30,0.16) 0 1px, transparent 1px 20px);
}
.home-reference-body {
    display: grid;
    align-content: start;
    gap: 0.8rem;
    padding: 1.35rem 1rem 0;
    min-height: 11.25rem;
}
.home-reference-card strong {
    color: #33333a;
    font-size: 1.28rem;
    line-height: 1.28;
    font-weight: 900;
}
.home-reference-card em {
    color: #56535a;
    font-size: 0.94rem;
    font-style: normal;
    line-height: 1.65;
}
.home-reference-card b,
.home-brand-card a {
    display: inline-flex;
    align-items: center;
    margin-top: 0.35rem;
    color: #626067;
    font-size: 0.92rem;
    font-weight: 800;
}
.home-reference-card b::before,
.home-brand-card a::before {
    content: "";
    display: inline-block;
    width: 0.46rem;
    height: 0.46rem;
    margin-right: 0.65rem;
    border-top: 0.12rem solid #d2051e;
    border-right: 0.12rem solid #d2051e;
    transform: rotate(45deg);
}

.home-feature-banner {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 41rem;
    background-size: cover;
    background-position: center;
    background-color: #2a2a2a;
    overflow: hidden;
}
.home-feature-empty {
    background:
        linear-gradient(135deg, rgba(39,39,39,0.9), rgba(64,64,64,0.82)),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.07) 0 1px, transparent 1px 22px);
}
.home-feature-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.44) 38%, rgba(0,0,0,0.08) 100%);
}
.home-feature-copy {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: start;
    gap: 1rem;
    max-width: 38rem;
    padding: 6.2rem 0;
    color: #fff;
}
.home-feature-copy span {
    color: #fff;
    font-size: 0.95rem;
    font-weight: 900;
}
.home-feature-copy h1 {
    color: #fff;
    font-size: 3.35rem;
    line-height: 1.12;
    font-weight: 900;
}
.home-feature-copy p {
    color: rgba(255,255,255,0.9);
    font-size: 1.12rem;
    line-height: 1.72;
    max-width: 34rem;
}
.home-feature-copy .btn {
    min-width: 11rem;
    min-height: 3rem;
    font-weight: 900;
}

.home-brand-section {
    position: relative;
    background: #fff;
    padding-bottom: 5.6rem;
}
.home-brand-band {
    position: relative;
    overflow: hidden;
    min-height: 25.6rem;
    display: flex;
    align-items: center;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(112,0,12,0.13) 0%, rgba(210,5,30,0.06) 27%, rgba(210,5,30,0) 45%),
        linear-gradient(90deg, #b50016 0%, #cf001c 42%, #d2051e 100%);
}
.home-brand-band::before {
    content: "";
    position: absolute;
    left: -2rem;
    top: 0;
    width: 52%;
    height: 100%;
    background:
        linear-gradient(115deg, rgba(255,255,255,0.14) 0 8%, transparent 8% 15%, rgba(120,0,10,0.2) 15% 31%, transparent 31% 39%, rgba(255,255,255,0.16) 39% 44%, transparent 44%),
        linear-gradient(105deg, rgba(90,0,10,0.25), rgba(255,255,255,0.045));
    clip-path: polygon(0 0, 90% 0, 74% 100%, 0 100%);
    pointer-events: none;
}
.home-brand-band::after {
    content: "";
    position: absolute;
    left: 25%;
    top: -4rem;
    width: 8rem;
    height: 26rem;
    background: rgba(255,255,255,0.12);
    transform: skewX(-24deg);
    filter: blur(0.5px);
    pointer-events: none;
}
.home-brand-band .container {
    position: relative;
    z-index: 1;
}
.home-brand-band span {
    display: block;
    margin-bottom: 0.8rem;
    color: rgba(255,255,255,0.88);
    font-weight: 800;
}
.home-brand-band h2 {
    color: #fff;
    font-size: 3.4rem;
    line-height: 1;
    font-weight: 900;
}
.home-brand-cards {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: -9.1rem;
}
.home-brand-card {
    flex: 1 1 0;
    min-width: 0;
    min-height: 28rem;
    padding: 0 1.15rem 1.65rem;
    background: #fff;
    border: 0.0625rem solid #e7e7e4;
    box-shadow: 0 0.55rem 1.4rem rgba(0,0,0,0.08);
    display: grid;
    align-content: start;
    justify-items: center;
    text-align: center;
    gap: 0.8rem;
}
.home-brand-icon {
    display: block;
    width: 100%;
    height: 18.2rem;
    margin: 0 -1.15rem 1.05rem;
    background:
        linear-gradient(rgba(0,0,0,0.26), rgba(0,0,0,0.26)),
        repeating-linear-gradient(135deg, #bfc2c5 0 1rem, #d4d6d7 1rem 2rem);
    background-size: cover;
    background-position: center;
}
.home-brand-card small {
    color: #d2051e;
    font-size: 0.82rem;
    font-weight: 800;
}
.home-brand-card strong {
    color: #33333a;
    font-size: 1.45rem;
    line-height: 1.25;
    font-weight: 900;
}
.home-brand-card em {
    color: #615e64;
    font-size: 0.95rem;
    font-style: normal;
    line-height: 1.58;
}

/* ============================================================
   Yongdao Requirement-driven Home
   ============================================================ */
.yd-home-hero {
    position: relative;
    background: #fff;
}
.yd-hero-stage {
    position: relative;
    min-height: calc(100vh - 8.25rem);
    overflow: hidden;
    background: #222;
}
.yd-hero-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}
.yd-hero-slide.active {
    opacity: 1;
    pointer-events: auto;
}
.yd-hero-empty {
    background:
        linear-gradient(135deg, rgba(28,28,28,0.96), rgba(78,78,76,0.88)),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 20px);
}
.yd-hero-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.56) 42%, rgba(0,0,0,0.12) 100%),
        linear-gradient(0deg, rgba(0,0,0,0.26), rgba(0,0,0,0));
}
.yd-hero-content {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: start;
    gap: 1.2rem;
    max-width: 120rem;
    color: #fff;
}
.yd-hero-content > span,
.yd-section-head span,
.yd-footer-cta span {
    color: #d2051e;
    font-size: 1.12rem;
    font-weight: 900;
    letter-spacing: 0;
}
.yd-hero-content > span {
    color: #fff;
}
.yd-hero-content h1 {
    max-width: 48rem;
    color: #fff;
    font-size: 3.8rem;
    line-height: 1.08;
    font-weight: 900;
}
.yd-hero-content p {
    max-width: 42rem;
    color: rgba(255,255,255,0.9);
    font-size: 1.18rem;
    line-height: 1.75;
}
.yd-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 0.6rem;
}
.yd-hero-actions .btn {
    min-width: 9.5rem;
    min-height: 3.15rem;
    font-weight: 900;
}
.yd-hero-tabs {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    margin-top: -5.25rem;
    background: rgba(255,255,255,0.96);
    box-shadow: 0 0.35rem 1.1rem rgba(0,0,0,0.08);
}
.yd-hero-tabs a {
    display: grid;
    gap: 0.35rem;
    min-height: 5.25rem;
    padding: 1.15rem 1.5rem;
    border-right: 0.0625rem solid #e5e5e2;
    color: #33333a;
    min-width: 0;
    overflow: hidden;
}
.yd-hero-tabs a.active {
    border-top: 0.25rem solid #d2051e;
    padding-top: 0.9rem;
}
.yd-hero-tabs span {
    color: #d2051e;
    font-size: 0.78rem;
    font-weight: 900;
}
.yd-hero-tabs strong {
    color: #33333a;
    font-size: 0.98rem;
    line-height: 1.35;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.yd-section {
    background: #fff;
    padding: 5rem 0;
}
.yd-section:nth-of-type(even) {
    background: inherit;
}
.yd-advantage-section,
.yd-solution-section,
.yd-qualification-section {
    background: #f7f7f5;
}
.yd-product-section,
.yd-case-section,
.yd-news-section {
    background: #fff;
}
.yd-section-head {
    max-width: 58rem;
    margin-bottom: 2.4rem;
}
.yd-section-head span {
    display: block;
    line-height: 1.25;
    margin-bottom: 0.68rem;
}
.yd-section-head h2 {
    margin-top: 0;
    color: #242329;
    font-size: 2.35rem;
    line-height: 1.18;
    font-weight: 900;
}
.yd-section-head p {
    margin-top: 1rem;
    color: #615e64;
    font-size: 1.02rem;
    line-height: 1.75;
}
.yd-head-row {
    max-width: none;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
}
.yd-more-link,
.yd-product-card b,
.yd-solution-card b {
    display: inline-flex;
    align-items: center;
    color: #57545a;
    font-weight: 900;
}
.yd-more-link::before,
.yd-product-card b::before,
.yd-solution-card b::before {
    content: "";
    width: 0.46rem;
    height: 0.46rem;
    margin-right: 0.65rem;
    border-top: 0.12rem solid #d2051e;
    border-right: 0.12rem solid #d2051e;
    transform: rotate(45deg);
}

.yd-advantage-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border-top: 0.0625rem solid #dfdfdc;
    border-left: 0.0625rem solid #dfdfdc;
}
.yd-advantage-card {
    min-height: 15rem;
    padding: 1.45rem;
    background: #fff;
    border-right: 0.0625rem solid #dfdfdc;
    border-bottom: 0.0625rem solid #dfdfdc;
    display: grid;
    align-content: start;
    gap: 0.85rem;
}
.yd-advantage-image {
    display: block;
    width: calc(100% + 2.9rem);
    height: 8.75rem;
    margin: -1.45rem -1.45rem 0.35rem;
    background-size: cover;
    background-position: center;
    background-color: #d8d8d4;
}
.yd-advantage-icon {
    position: relative;
    display: block;
    width: 3.1rem;
    height: 3.1rem;
    color: #d2051e;
}
.yd-advantage-icon::before,
.yd-advantage-icon::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
}
.yd-advantage-icon-0::before {
    left: 0.35rem;
    top: 0.35rem;
    width: 2.2rem;
    height: 2.2rem;
    border: 0.18rem solid currentColor;
    border-radius: 50%;
}
.yd-advantage-icon-0::after {
    left: 1.2rem;
    top: 0.1rem;
    width: 0.6rem;
    height: 2.75rem;
    border-top: 0.18rem solid currentColor;
    border-bottom: 0.18rem solid currentColor;
}
.yd-advantage-icon-1::before {
    left: 0.35rem;
    top: 0.55rem;
    width: 2.4rem;
    height: 1.85rem;
    border: 0.18rem solid currentColor;
}
.yd-advantage-icon-1::after {
    left: 0.8rem;
    top: 0.15rem;
    width: 1.45rem;
    height: 0.75rem;
    border-left: 0.18rem solid currentColor;
    border-top: 0.18rem solid currentColor;
    border-right: 0.18rem solid currentColor;
}
.yd-advantage-icon-2::before {
    left: 0.45rem;
    top: 0.25rem;
    width: 2.2rem;
    height: 2.55rem;
    border: 0.18rem solid currentColor;
    border-radius: 1.2rem 1.2rem 0.8rem 0.8rem;
}
.yd-advantage-icon-2::after {
    left: 1.15rem;
    top: 0.95rem;
    width: 0.8rem;
    height: 0.8rem;
    border-right: 0.18rem solid currentColor;
    border-bottom: 0.18rem solid currentColor;
    transform: rotate(45deg);
}
.yd-advantage-icon-3::before {
    left: 0.45rem;
    top: 0.35rem;
    width: 2.2rem;
    height: 2.45rem;
    border: 0.18rem solid currentColor;
}
.yd-advantage-icon-3::after {
    left: 0.95rem;
    top: 1.28rem;
    width: 1.2rem;
    height: 0.6rem;
    border-left: 0.18rem solid currentColor;
    border-bottom: 0.18rem solid currentColor;
    transform: rotate(-45deg);
}
.yd-advantage-icon-4::before {
    left: 0.35rem;
    top: 0.35rem;
    width: 2.45rem;
    height: 1.4rem;
    border: 0.18rem solid currentColor;
    transform: skewX(-16deg);
}
.yd-advantage-icon-4::after {
    left: 0.6rem;
    top: 1.85rem;
    width: 2rem;
    height: 0.18rem;
    background: currentColor;
    box-shadow: 0 0.42rem 0 currentColor;
}
.yd-advantage-icon-5::before {
    left: 0.3rem;
    top: 0.65rem;
    width: 2.5rem;
    height: 1.55rem;
    border: 0.18rem solid currentColor;
    border-radius: 0.25rem;
}
.yd-advantage-icon-5::after {
    left: 0.8rem;
    top: 2.15rem;
    width: 0.42rem;
    height: 0.42rem;
    background: currentColor;
    border-radius: 50%;
    box-shadow: 1.35rem 0 0 currentColor;
}
.yd-advantage-card strong {
    color: #242329;
    font-size: 1.2rem;
    line-height: 1.25;
}
.yd-advantage-card p {
    color: #615e64;
    line-height: 1.65;
}

.yd-product-grid,
.yd-case-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}
.yd-product-card,
.yd-case-card,
.yd-solution-card {
    display: grid;
    grid-template-rows: auto 1fr;
    background: #fff;
    color: #524f53;
    border: 0.0625rem solid #e4e4e1;
}
.yd-card-image,
.yd-solution-image {
    display: block;
    width: 100%;
    aspect-ratio: 1.55 / 1;
    background-size: cover;
    background-position: center;
    background-color: #d8d8d4;
}
.yd-card-image-empty {
    background:
        linear-gradient(135deg, rgba(238,238,235,0.96), rgba(211,211,207,0.95)),
        repeating-linear-gradient(45deg, rgba(210,5,30,0.16) 0 1px, transparent 1px 20px);
}
.yd-card-body {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    min-height: 12.5rem;
    padding: 1.35rem;
}
.yd-card-body strong,
.yd-product-card strong,
.yd-solution-card strong {
    color: #242329;
    font-size: 1.22rem;
    line-height: 1.32;
    font-weight: 900;
}
.yd-card-body em,
.yd-product-card em {
    color: #615e64;
    font-size: 0.95rem;
    font-style: normal;
    line-height: 1.62;
}

.yd-product-section .yd-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 1rem;
}
.yd-product-section .yd-product-card {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    grid-template-rows: auto 1fr;
    min-height: auto;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    border-top: 0.0625rem solid #e4e4e1;
}
.yd-product-section .yd-product-card:hover {
    transform: translateY(-0.12rem);
    box-shadow: 0 0.55rem 1.4rem rgba(0,0,0,0.08);
}
.yd-product-section .yd-product-card .yd-card-image {
    width: 100%;
    height: auto;
    min-height: 12rem;
    aspect-ratio: 1.55 / 1;
}
.yd-product-section .yd-product-card .yd-card-body {
    min-height: auto;
    padding: 1.25rem;
    gap: 0.6rem;
}
.yd-product-section .yd-product-card strong {
    font-size: 1.08rem;
    line-height: 1.25;
}
.yd-product-section .yd-product-card em {
    font-size: 0.9rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.yd-solution-section {
    background: #f7f7f5;
}
.yd-solution-section .yd-section-head h2 {
    color: #242329;
}
.yd-solution-section .yd-section-head p,
.yd-solution-section .yd-more-link {
    color: #57545a;
}
.yd-solution-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.yd-solution-card {
    min-height: 13rem;
    display: grid;
    grid-template-columns: 12rem minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    align-content: start;
    border: 0.0625rem solid #e4e4e1;
    background: #fff;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.yd-solution-card::before {
    content: "";
    grid-column: 2;
    width: 2.4rem;
    height: 0.22rem;
    margin: 1.35rem 1.35rem 0;
    background: #d2051e;
}
.yd-solution-card:hover {
    transform: translateY(-0.12rem);
    box-shadow: 0 0.55rem 1.4rem rgba(0,0,0,0.08);
}
.yd-solution-card .yd-solution-image {
    grid-row: 1 / span 4;
    width: 100%;
    height: 100%;
    min-height: 13rem;
    aspect-ratio: auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #f2f2ef;
}
.yd-solution-card strong,
.yd-solution-card p,
.yd-solution-card b {
    margin-left: 1.35rem;
    margin-right: 1.35rem;
}
.yd-solution-card strong {
    margin-top: 0.85rem;
}
.yd-solution-card p {
    color: #615e64;
    line-height: 1.65;
}
.yd-solution-card b {
    margin-bottom: 1.35rem;
    align-self: end;
}

.yd-case-section {
    background: #fff;
}
.yd-case-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
    gap: 1rem;
    align-items: stretch;
}
.yd-case-card {
    grid-template-columns: 8.25rem minmax(0, 1fr);
    grid-template-rows: auto;
    min-height: 9rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.yd-case-card:hover {
    transform: translateY(-0.12rem);
    box-shadow: 0 0.55rem 1.4rem rgba(0,0,0,0.08);
}
.yd-case-card:first-child {
    grid-row: span 3;
    grid-template-columns: 1fr;
    position: relative;
    min-height: 27rem;
    overflow: hidden;
}
.yd-case-card:first-child .yd-card-image {
    position: absolute;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
}
.yd-case-card:first-child .yd-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.68));
}
.yd-case-card:first-child .yd-card-body {
    position: relative;
    z-index: 1;
    align-self: end;
    min-height: auto;
    margin-top: 13rem;
    padding: 2rem;
}
.yd-case-card:first-child .yd-card-body em,
.yd-case-card:first-child .yd-card-body strong,
.yd-case-card:first-child .yd-card-body p {
    color: #fff;
}
.yd-case-card:first-child .yd-card-body strong {
    font-size: 1.8rem;
    line-height: 1.2;
}
.yd-case-card:not(:first-child) .yd-card-image {
    height: 100%;
    min-height: 9rem;
    aspect-ratio: auto;
}
.yd-case-card .yd-card-body {
    min-height: auto;
}
.yd-case-card p {
    color: #615e64;
}

.yd-qualification-section {
    background: #f7f7f5;
}
.yd-qualification-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}
.yd-qualification-card {
    position: relative;
    overflow: hidden;
    min-height: 16.5rem;
    padding: 1.75rem;
    background: #fff;
    border: 0.0625rem solid #e4e4e1;
    display: grid;
    align-content: start;
    gap: 1rem;
}
.yd-qualification-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0.28rem;
    height: 100%;
    background: #d2051e;
}
.yd-qualification-card::after {
    content: "";
    position: absolute;
    right: -1.4rem;
    top: -1.4rem;
    width: 6.2rem;
    height: 6.2rem;
    border: 0.0625rem solid rgba(210,5,30,0.16);
    transform: rotate(45deg);
}
.yd-qualification-card i {
    position: relative;
    display: block;
    width: 3.2rem;
    height: 3.2rem;
    color: #d2051e;
    border: 0.14rem solid currentColor;
    background: transparent;
}
.yd-qualification-card i::before,
.yd-qualification-card i::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
}
.yd-qualification-card:nth-child(1) i {
    border-radius: 50%;
}
.yd-qualification-card:nth-child(1) i::before {
    left: 0.9rem;
    top: 0.55rem;
    width: 1.1rem;
    height: 1.6rem;
    border-left: 0.14rem solid currentColor;
    border-right: 0.14rem solid currentColor;
}
.yd-qualification-card:nth-child(1) i::after {
    left: 1rem;
    top: 2.15rem;
    width: 1rem;
    height: 0.7rem;
    border-left: 0.14rem solid currentColor;
    border-right: 0.14rem solid currentColor;
}
.yd-qualification-card:nth-child(2) i::before {
    left: 0.55rem;
    top: 0.7rem;
    width: 1.8rem;
    height: 1.25rem;
    border: 0.14rem solid currentColor;
}
.yd-qualification-card:nth-child(2) i::after {
    left: 0.85rem;
    top: 1.95rem;
    width: 1.15rem;
    height: 0.55rem;
    border-left: 0.14rem solid currentColor;
    border-bottom: 0.14rem solid currentColor;
    transform: rotate(-45deg);
}
.yd-qualification-card:nth-child(3) i {
    border-radius: 0.18rem;
}
.yd-qualification-card:nth-child(3) i::before {
    left: 0.5rem;
    top: 0.65rem;
    width: 1.9rem;
    height: 0.14rem;
    background: currentColor;
    box-shadow: 0 0.55rem 0 currentColor, 0 1.1rem 0 currentColor;
}
.yd-qualification-card:nth-child(3) i::after {
    right: 0.28rem;
    bottom: 0.28rem;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    border: 0.14rem solid currentColor;
}
.yd-qualification-card:nth-child(4) i {
    border-radius: 0.18rem;
}
.yd-qualification-card:nth-child(4) i::before {
    left: 0.45rem;
    top: 0.85rem;
    width: 2rem;
    height: 0.9rem;
    border-top: 0.14rem solid currentColor;
    border-bottom: 0.14rem solid currentColor;
}
.yd-qualification-card:nth-child(4) i::after {
    left: 0.8rem;
    top: 1.6rem;
    width: 1.2rem;
    height: 0.85rem;
    border-left: 0.14rem solid currentColor;
    border-right: 0.14rem solid currentColor;
}
.yd-qualification-card strong {
    color: #242329;
    font-size: 1.32rem;
    line-height: 1.25;
    font-weight: 900;
}
.yd-qualification-card p {
    color: #615e64;
    line-height: 1.65;
}

.yd-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}
.yd-news-card {
    min-height: 15rem;
    padding: 1.6rem;
    background: #fff;
    border: 0.0625rem solid #e4e4e1;
    display: grid;
    align-content: start;
    gap: 0.85rem;
    color: #524f53;
}
.yd-news-card time {
    color: #d2051e;
    font-weight: 900;
}
.yd-news-card strong {
    color: #242329;
    font-size: 1.24rem;
    line-height: 1.35;
}
.yd-news-card p {
    color: #615e64;
    line-height: 1.65;
}

.yd-footer-cta {
    position: relative;
    overflow: hidden;
    padding: 4.2rem 0;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(112,0,12,0.13) 0%, rgba(210,5,30,0.06) 27%, rgba(210,5,30,0) 45%),
        linear-gradient(90deg, #b50016 0%, #cf001c 42%, #d2051e 100%);
}
.yd-footer-cta::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 -2rem;
    width: 48%;
    background:
        linear-gradient(115deg, rgba(255,255,255,0.14) 0 8%, transparent 8% 15%, rgba(120,0,10,0.2) 15% 31%, transparent 31% 39%, rgba(255,255,255,0.16) 39% 44%, transparent 44%),
        linear-gradient(105deg, rgba(90,0,10,0.25), rgba(255,255,255,0.045));
    clip-path: polygon(0 0, 90% 0, 74% 100%, 0 100%);
}
.yd-footer-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}
.yd-footer-cta h2 {
    color: #fff;
    font-size: 2.3rem;
    line-height: 1.18;
    margin: 0.5rem 0 0.7rem;
}
.yd-footer-cta p {
    color: rgba(255,255,255,0.88);
    line-height: 1.7;
}
.hilti-hero {
    position: relative; min-height: calc(100vh - 7rem);
    display: flex; flex-direction: column; justify-content: flex-end;
    background-size: cover; background-position: center; background-color: #2b2b2b;
    overflow: hidden;
}
.hilti-hero-empty {
    background:
        linear-gradient(135deg, rgba(26,26,26,0.96), rgba(75,75,75,0.88)),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 18px);
}
.hilti-hero-shade {
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.76) 0%, rgba(0,0,0,0.5) 45%, rgba(0,0,0,0.18) 100%);
}
.hilti-hero-inner {
    position: relative; z-index: 1; width: 100%;
    display: flex; align-items: center; min-height: 32rem; padding-top: 4rem; padding-bottom: 6rem;
}
.hilti-hero-panel { max-width: 44rem; color: #fff; }
.hero-kicker {
    display: inline-flex; margin-bottom: 1.25rem;
    color: #fff; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.12em;
}
.hilti-hero-panel h1 {
    color: #fff; font-size: 2.75rem; line-height: 1.08; margin-bottom: 1.5rem;
    max-width: 42rem;
}
.hilti-hero-panel p {
    color: rgba(255,255,255,0.88); font-size: 1.125rem; line-height: 1.75;
    margin-bottom: 2rem; max-width: 39rem;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.875rem; }
.hero-slide-strip {
    position: relative; z-index: 2; width: 100%;
    background: rgba(255,255,255,0.96); border-top: 0.0625rem solid rgba(255,255,255,0.25);
}
.hero-slide-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding-top: 0; padding-bottom: 0; }
.hero-slide-card {
    display: grid; gap: 0.25rem; padding: 1.25rem 1.5rem;
    border-right: 0.0625rem solid #e5e5e5; color: #524f53; min-height: 5.5rem;
}
.hero-slide-card:first-child { border-left: 0.0625rem solid #e5e5e5; }
.hero-slide-card.active { border-top: 0.25rem solid #d2051e; padding-top: 1rem; }
.hero-slide-card span { color: #d2051e; font-size: 0.75rem; font-weight: 700; }
.hero-slide-card strong { color: #1a1a1a; font-size: 0.9375rem; line-height: 1.35; }

.quick-entry-section { background: #fff; padding: 3.5rem 0 3.75rem; }
.quick-entry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; }
.quick-entry-card {
    display: grid;
    grid-template-rows: auto 1fr;
    align-items: start;
    background: #fff;
    color: #524f53;
    min-height: 28rem;
}
.quick-entry-card:hover { color: #524f53; }
.quick-entry-image {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    background-size: cover;
    background-position: center;
    background-color: #ededeb;
}
.quick-entry-image-empty {
    background:
        linear-gradient(135deg, rgba(242,242,240,0.95), rgba(220,220,216,0.95)),
        repeating-linear-gradient(45deg, rgba(210,5,30,0.16) 0 1px, transparent 1px 20px);
}
.quick-entry-body {
    display: grid;
    gap: 0.85rem;
    align-content: start;
    padding: 1.25rem 1rem 0;
}
.quick-entry-card strong { color: #33333a; font-size: 1.35rem; line-height: 1.28; }
.quick-entry-card em { color: #4f4b52; font-size: 0.98rem; font-style: normal; line-height: 1.65; }
.quick-entry-card b {
    display: inline-flex;
    align-items: center;
    margin-top: 0.45rem;
    color: #d2051e;
    font-size: 0.92rem;
    font-weight: 800;
}
.quick-entry-card b::before {
    content: "";
    display: inline-block;
    width: 0.48rem;
    height: 0.48rem;
    margin-right: 0.65rem;
    border-top: 0.12rem solid currentColor;
    border-right: 0.12rem solid currentColor;
    transform: rotate(45deg);
}

.advantage-section,
.product-system-section,
.solution-section,
.resource-section,
.qualification-section,
.news-section { padding: 4.5rem 0; background: #fff; }
.solution-section,
.qualification-section,
.news-section { background: #f7f7f5; }
.section-heading { margin-bottom: 2rem; max-width: 54rem; }
.section-heading span,
.case-intro span {
    display: inline-block; color: #d2051e; font-size: 0.8125rem; font-weight: 800;
    letter-spacing: 0.12em; margin-bottom: 0.75rem; text-transform: uppercase;
}
.section-heading h2,
.case-intro h2 {
    color: #1a1a1a; font-size: 2.25rem; line-height: 1.18;
}
.section-heading-row {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; max-width: none;
}
.section-more {
    flex: 0 0 auto; font-weight: 700; color: #d2051e; border-bottom: 0.125rem solid #d2051e; padding-bottom: 0.25rem;
}

.advantage-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
.advantage-item {
    min-height: 11rem;
    padding: 1.75rem;
    background: #fff;
    border: 0.0625rem solid #e1e1de;
}
.advantage-item span {
    display: block; width: 2.25rem; height: 0.25rem; background: #d2051e; margin-bottom: 1rem;
}
.advantage-item h3 { font-size: 1.25rem; margin-bottom: 0.75rem; }
.advantage-item p { color: #6b6862; line-height: 1.7; }

.category-tabs {
    display: flex; gap: 0.5rem; overflow-x: auto; padding-bottom: 1rem; margin-bottom: 1.5rem;
}
.category-tabs a {
    flex: 0 0 auto; padding: 0.75rem 1rem; color: #524f53; border: 0.0625rem solid #d8d8d4; background: #fff; font-weight: 600;
}
.category-tabs a:hover,
.category-tabs a.active { color: #fff; border-color: #d2051e; background: #d2051e; }
.product-feature-card {
    display: grid; grid-template-columns: minmax(20rem, 0.9fr) minmax(22rem, 1.1fr);
    background: #f7f7f5; border: 0.0625rem solid #e1e1de; margin-bottom: 1.5rem;
}
.product-feature-image { display: block; min-height: 24rem; background: #e8e8e4; overflow: hidden; }
.product-feature-image img { width: 100%; height: 100%; object-fit: cover; }
.product-feature-body { padding: 2.5rem; display: flex; flex-direction: column; justify-content: center; }
.product-feature-body > span {
    color: #d2051e; font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.12em; margin-bottom: 0.75rem;
}
.product-feature-body h3 { font-size: 2rem; line-height: 1.18; margin-bottom: 1rem; }
.product-feature-body h3 a { color: #1a1a1a; }
.product-feature-body h3 a:hover { color: #d2051e; }
.product-feature-body p { color: #6b6862; line-height: 1.75; margin-bottom: 1.25rem; }
.product-feature-body ul { display: grid; gap: 0.625rem; margin-bottom: 1.75rem; }
.product-feature-body li {
    color: #524f53; padding-left: 1.25rem; position: relative;
}
.product-feature-body li::before {
    content: ""; position: absolute; left: 0; top: 0.65rem; width: 0.45rem; height: 0.45rem; background: #d2051e;
}
.product-feature-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.product-system-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.product-system-card { border: 0.0625rem solid #e1e1de; background: #fff; display: flex; flex-direction: column; min-height: 100%; }
.product-system-image { display: block; aspect-ratio: 4 / 3; background: #f2f2f0; overflow: hidden; }
.product-system-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s; }
.product-system-card:hover img { transform: scale(1.04); }
.product-system-body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.product-system-body span { color: #d2051e; font-size: 0.75rem; font-weight: 800; margin-bottom: 0.5rem; }
.product-system-body h3 { font-size: 1.25rem; line-height: 1.35; margin-bottom: 0.75rem; }
.product-system-body h3 a { color: #1a1a1a; }
.product-system-body h3 a:hover { color: #d2051e; }
.product-system-body p { color: #6b6862; line-height: 1.65; flex: 1; margin-bottom: 1.25rem; }
.product-system-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.product-system-actions a { font-weight: 700; color: #d2051e; }
.listing-main .product-system-body h3 { margin-top: 0; }
.listing-main .product-system-body p { margin-bottom: 0; }

.solution-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.solution-card {
    display: flex; flex-direction: column; min-height: 18rem; padding: 1.75rem;
    color: #fff; background: #2e2e2e; position: relative; overflow: hidden;
}
.solution-card::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(210,5,30,0.86), rgba(26,26,26,0.92));
    opacity: 0.92;
}
.solution-card > * { position: relative; z-index: 1; }
.solution-card strong { color: #fff; font-size: 1.25rem; line-height: 1.35; margin-bottom: 1rem; }
.solution-card p { color: rgba(255,255,255,0.82); line-height: 1.7; flex: 1; }
.solution-card span { color: #fff; font-weight: 800; margin-top: 1.5rem; }
.solution-card:hover { color: #fff; transform: translateY(-0.25rem); }

.case-section { background: #1f1f1f; color: #fff; padding: 5rem 0; }
.case-layout { display: grid; grid-template-columns: minmax(18rem, 0.8fr) 1.2fr; gap: 4rem; align-items: start; }
.case-intro h2 { color: #fff; margin-bottom: 1.25rem; }
.case-intro p { color: rgba(255,255,255,0.75); line-height: 1.75; margin-bottom: 2rem; }
.case-list { display: grid; gap: 1rem; }
.case-card {
    background: #fff; color: #524f53; padding: 1.75rem; border-left: 0.25rem solid #d2051e;
}
.case-card span { color: #d2051e; font-size: 0.8125rem; font-weight: 800; }
.case-card h3 { font-size: 1.35rem; margin: 0.5rem 0 0.75rem; }
.case-card p { color: #6b6862; line-height: 1.65; }

.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.resource-card {
    display: block; background: #fff; border: 0.0625rem solid #e1e1de; padding: 2rem; min-height: 13rem; color: #524f53;
}
.resource-card span {
    display: block; width: 2.75rem; height: 3.25rem; border: 0.125rem solid #d2051e; margin-bottom: 1.25rem; position: relative;
}
.resource-card span::after {
    content: ""; position: absolute; right: -0.125rem; top: -0.125rem; width: 1rem; height: 1rem;
    background: linear-gradient(135deg, #fff 0 49%, #d2051e 50% 100%);
}
.resource-card h3 { font-size: 1.2rem; margin-bottom: 0.75rem; }
.resource-card p { color: #6b6862; line-height: 1.65; }
.resource-card:hover { box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.08); color: #524f53; }

.brand-value-section {
    background: #1f1f1f;
    padding: 5rem 0 0;
    color: #fff;
    overflow: hidden;
}
.brand-value-head { text-align: center; max-width: 54rem; margin: 0 auto 2.75rem; }
.brand-value-head strong {
    display: block;
    color: #fff;
    font-size: 3rem;
    line-height: 1;
    margin-bottom: 0.75rem;
}
.brand-value-head span {
    display: inline-block; color: rgba(255,255,255,0.62); font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.12em; margin-bottom: 0.75rem;
}
.brand-value-head h2 { color: #fff; font-size: 2.2rem; line-height: 1.18; }
.brand-value-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    transform: translateY(2rem);
}
.brand-value-grid article {
    background: #fff;
    color: #524f53;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}
.brand-value-media {
    height: 10.5rem; background:
        linear-gradient(135deg, rgba(210,5,30,0.86), rgba(31,31,31,0.86)),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.12) 0 1px, transparent 1px 16px);
}
.brand-value-grid article:nth-child(2) .brand-value-media {
    background: linear-gradient(135deg, rgba(31,31,31,0.88), rgba(92,117,125,0.78));
}
.brand-value-grid article:nth-child(3) .brand-value-media {
    background: linear-gradient(135deg, rgba(210,5,30,0.78), rgba(92,92,86,0.86));
}
.brand-value-grid article:nth-child(4) .brand-value-media {
    background: linear-gradient(135deg, rgba(31,31,31,0.9), rgba(210,5,30,0.7));
}
.brand-value-grid p {
    order: 1;
    color: #6b6862;
    line-height: 1.55;
    margin: 1.5rem 1.5rem 0.5rem;
    min-height: 3rem;
}
.brand-value-grid h3 {
    order: 2;
    font-size: 1.35rem;
    margin: 0 1.5rem 1rem;
}
.brand-value-grid a {
    order: 3;
    display: inline-flex;
    width: fit-content;
    margin: auto 1.5rem 1.5rem;
    color: #d2051e;
    font-weight: 800;
    border-bottom: 0.125rem solid #d2051e;
    padding-bottom: 0.2rem;
}
.brand-value-grid a:hover { color: #ab0115; }

.qualification-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 0.0625rem solid #d8d8d4;
    border-left: 0.0625rem solid #d8d8d4;
    background: #fff;
}
.qualification-list article {
    min-height: 12rem;
    padding: 1.75rem;
    border-right: 0.0625rem solid #d8d8d4;
    border-bottom: 0.0625rem solid #d8d8d4;
}
.qualification-list span {
    display: inline-block;
    color: #d2051e;
    font-size: 0.8125rem;
    font-weight: 800;
    margin-bottom: 1rem;
}
.qualification-list h3 { font-size: 1.25rem; margin-bottom: 0.75rem; }
.qualification-list p { color: #6b6862; line-height: 1.65; }

.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.news-card { background: #fff; border: 0.0625rem solid #e1e1de; }
.news-image { display: block; aspect-ratio: 16 / 10; background: #f2f2f0; overflow: hidden; }
.news-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s; }
.news-card:hover .news-image img { transform: scale(1.04); }
.news-body { padding: 1.5rem; }
.news-body time { display: block; color: #8c887f; font-size: 0.8125rem; margin-bottom: 0.75rem; }
.news-body h3 { font-size: 1.2rem; line-height: 1.4; margin-bottom: 0.75rem; }
.news-body h3 a { color: #1a1a1a; }
.news-body h3 a:hover { color: #d2051e; }
.news-body p { color: #6b6862; line-height: 1.65; margin-bottom: 1rem; }
.news-link { color: #d2051e; font-weight: 800; }

.floating-contact {
    position: fixed; right: 1rem; bottom: 1rem; z-index: 900;
    display: grid; gap: 0.5rem;
}
.floating-contact a {
    display: flex; align-items: center; justify-content: center;
    min-width: 6rem; min-height: 2.75rem; padding: 0 1rem; color: #fff; background: #d2051e;
    box-shadow: 0 0.35rem 1rem rgba(0,0,0,0.18); font-weight: 700;
}
.floating-contact a + a { background: #1f1f1f; }
@media (max-width: 767.98px) { .floating-contact { display: none; } }

/* ============================================================
   Product Listing / Detail
   ============================================================ */
.listing-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(31,31,31,0.96), rgba(31,31,31,0.88)),
        repeating-linear-gradient(135deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 18px);
    color: #fff; padding: 4rem 0;
}
.listing-hero::after,
.page-hero::after,
.article-hero::after {
    content: "";
    position: absolute;
    right: -4rem;
    top: -2rem;
    width: 24rem;
    height: 12rem;
    background: rgba(210,5,30,0.36);
    transform: skewX(-26deg);
}
.listing-hero .container,
.page-hero .container,
.article-hero .container { position: relative; z-index: 1; }
.listing-hero span,
.product-detail-summary > span {
    display: inline-block; color: #d2051e; font-size: 0.8125rem; font-weight: 800;
    letter-spacing: 0.12em; margin-bottom: 0.75rem;
}
.listing-hero h1 {
    color: #fff; font-size: 2.5rem; line-height: 1.15; margin-bottom: 1rem;
}
.listing-hero p { color: rgba(255,255,255,0.78); max-width: 48rem; margin-bottom: 1.5rem; }
.listing-search { display: flex; max-width: 48rem; gap: 1rem; }
.listing-search input {
    flex: 1; min-width: 0; height: 3rem; border: 0; padding: 0 1rem; color: #1a1a1a;
}
.listing-section { background: #f7f7f5; padding: 3rem 0 4.5rem; }
.listing-layout { display: grid; grid-template-columns: 17rem 1fr; gap: 2rem; align-items: start; }
.listing-filter {
    background: #fff; border: 0.0625rem solid #e1e1de; padding: 1.25rem;
}
.listing-filter h3 { font-size: 1.125rem; margin-bottom: 1rem; }
.listing-filter a {
    display: block; padding: 0.875rem 0; color: #524f53; border-top: 0.0625rem solid #ededeb; font-weight: 600;
}
.listing-filter a:hover,
.listing-filter a.active { color: #d2051e; }
.case-region-filter {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.25rem;
    padding-bottom: 1rem;
    border-top: 0.0625rem solid #ededeb;
}
.case-region-filter .control-relative {
    position: relative;
}
.case-region-filter .city-picker-span {
    width: 100% !important;
    border-color: #d8d5cf;
    background: #fff;
}
.case-region-filter .city-picker-dropdown {
    min-width: 20rem;
    z-index: 20;
}
.case-region-filter .btn {
    width: 100%;
    justify-content: center;
}
.case-filter-reset {
    display: inline-flex !important;
    padding: 0 !important;
    border-top: 0 !important;
    color: #7d7565 !important;
    font-size: 0.875rem;
}
.listing-toolbar {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    background: #fff; border: 0.0625rem solid #e1e1de; padding: 1rem 1.25rem; margin-bottom: 1.5rem;
}
.listing-toolbar strong { color: #1a1a1a; font-size: 1.125rem; }
.listing-toolbar span { color: #7d7565; }
.pagination-wrap { margin-top: 2rem; text-align: center; }

.catalog-overview { background: #fff; border-bottom: 0.0625rem solid #e1e1de; }
.catalog-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding-top: 0;
    padding-bottom: 0;
}
.catalog-category-card {
    display: grid;
    align-content: start;
    min-height: 9rem;
    padding: 1.5rem;
    color: #524f53;
    border-left: 0.0625rem solid #e1e1de;
    border-bottom: 0.0625rem solid #e1e1de;
    background: #fff;
}
.catalog-category-card:nth-child(4n) { border-right: 0.0625rem solid #e1e1de; }
.catalog-category-card:hover,
.catalog-category-card.active { background: #f7f7f5; color: #524f53; }
.catalog-category-card.active { border-top: 0.25rem solid #d2051e; padding-top: 1.25rem; }
.catalog-category-card span { color: #d2051e; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; margin-bottom: 0.5rem; }
.catalog-category-card strong { color: #1a1a1a; font-size: 1.125rem; margin-bottom: 0.5rem; }
.catalog-category-card em { color: #7d7565; font-style: normal; line-height: 1.5; }
.filter-contact {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 0.125rem solid #d2051e;
}
.filter-contact strong { display: block; color: #1a1a1a; margin-bottom: 0.5rem; }
.filter-contact p { color: #6b6862; line-height: 1.6; margin-bottom: 0.75rem; }
.filter-contact a {
    display: block;
    padding: 0.65rem 0;
    color: #d2051e;
    border-top: 0.0625rem solid #ededeb;
    font-weight: 700;
}
.support-band { background: #fff; padding: 4rem 0; }
.support-band-alt { background: #f7f7f5; }

/* Technical support page */
.support-page-hero {
    min-height: 22rem;
}

.support-page-tabs {
    position: sticky;
    top: 0;
    z-index: 15;
    background: #fff;
    border-bottom: 0.0625rem solid #deded9;
    box-shadow: 0 0.5rem 1.25rem rgba(0,0,0,0.04);
}

.support-page-tabs-inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.support-page-tabs a {
    min-width: 0;
    padding: 1rem 1.25rem;
    color: #524f53;
    border-left: 0.0625rem solid #ededeb;
    text-decoration: none;
}

.support-page-tabs a:last-child {
    border-right: 0.0625rem solid #ededeb;
}

.support-page-tabs strong,
.support-page-tabs span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.support-page-tabs strong {
    color: #1a1a1a;
    font-size: 1.02rem;
}

.support-page-tabs span {
    margin-top: 0.3rem;
    color: #6b6862;
    font-size: 0.85rem;
    line-height: 1.45;
}

.support-page-tabs a:hover {
    background: #f7f7f5;
    color: #d2051e;
}

.support-page-section {
    padding: 4rem 0;
    background: #fff;
}

.support-page-muted {
    background: #f7f7f5;
}

.support-page-layout {
    display: grid;
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
}

.support-page-filter {
    min-width: 0;
    padding: 1.5rem;
    background: #1f1f1f;
    color: #fff;
}

.support-page-filter h2 {
    margin: 0 0 0.75rem;
    font-size: 1.45rem;
}

.support-page-filter p {
    margin: 0 0 1.25rem;
    color: rgba(255,255,255,0.72);
    line-height: 1.7;
}

.support-page-category-list {
    display: grid;
    gap: 0.5rem;
}

.support-page-category-list a {
    display: block;
    padding: 0.75rem 0.85rem;
    color: #fff;
    background: rgba(255,255,255,0.08);
    border-left: 0.1875rem solid #d2051e;
}

.support-page-main {
    min-width: 0;
}

.support-page-head {
    max-width: 52rem;
    margin: 0 0 1.5rem;
}

.support-page-head span {
    display: block;
    margin-bottom: 0.45rem;
    color: #d2051e;
    font-weight: 800;
}

.support-page-head h2 {
    margin: 0;
    color: #1a1a1a;
    font-size: clamp(1.7rem, 2.4vw, 2.35rem);
    line-height: 1.25;
}

.support-page-head p {
    margin: 0.75rem 0 0;
    color: #6b6862;
    line-height: 1.7;
}

.support-guide-shell {
    display: grid;
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
}

.support-page-filter-light {
    background: #fff;
    color: #1a1a1a;
    border: 0.0625rem solid #deded9;
}

.support-page-filter-light p {
    color: #6b6862;
}

.support-page-filter-light .support-page-category-list a {
    color: #1a1a1a;
    background: #f7f7f5;
}

.support-download-list {
    display: grid;
    gap: 0.75rem;
}

.support-download-row {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    min-width: 0;
    padding: 1rem;
    background: #fff;
    border: 0.0625rem solid #deded9;
}

.support-file-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.2rem;
    padding: 0.4rem;
    color: #d2051e;
    font-weight: 800;
    text-align: center;
    background: #f7f7f5;
    border: 0.0625rem solid #ededeb;
    overflow-wrap: anywhere;
}

.support-download-info {
    min-width: 0;
}

.support-download-info h3 {
    margin: 0 0 0.35rem;
    color: #1a1a1a;
    font-size: 1.08rem;
    line-height: 1.35;
}

.support-download-info p {
    margin: 0;
    color: #6b6862;
    line-height: 1.6;
}

.support-download-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5rem;
    min-height: 2.5rem;
    padding: 0.55rem 1rem;
    color: #fff;
    font-weight: 800;
    background: #d2051e;
}

.support-guide-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.support-guide-card {
    min-width: 0;
    background: #fff;
    border: 0.0625rem solid #deded9;
}

.support-guide-media {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #1f1f1f;
}

.support-guide-media img,
.support-guide-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.support-guide-media span {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 800;
}

.support-guide-body {
    padding: 1.25rem;
}

.support-guide-body em {
    color: #d2051e;
    font-style: normal;
    font-weight: 800;
}

.support-guide-body h3 {
    margin: 0.45rem 0;
    color: #1a1a1a;
    font-size: 1.15rem;
    line-height: 1.35;
}

.support-guide-body p {
    margin: 0 0 0.9rem;
    color: #6b6862;
    line-height: 1.65;
}

.support-guide-body a {
    color: #d2051e;
    font-weight: 800;
}

.support-empty-state {
    padding: 2rem;
    background: #fff;
    border: 0.0625rem dashed #c8c8c2;
}

.support-empty-state strong {
    display: block;
    color: #1a1a1a;
    font-size: 1.1rem;
}

.support-empty-state p {
    margin: 0.5rem 0 0;
    color: #6b6862;
    line-height: 1.7;
}

.support-consult-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem);
    gap: 2rem;
    align-items: stretch;
}

.support-consult-action {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 2rem;
    color: #fff;
    background: #1f1f1f;
}

.support-consult-action strong {
    display: block;
    font-size: 1.35rem;
    line-height: 1.35;
}

.support-consult-action p {
    margin: 0.75rem 0 1.5rem;
    color: rgba(255,255,255,0.75);
    line-height: 1.7;
}

.support-policy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.support-policy-grid article {
    min-width: 0;
    padding: 1.5rem;
    background: #fff;
    border: 0.0625rem solid #deded9;
}

.support-policy-grid h3 {
    margin: 0 0 0.65rem;
    color: #1a1a1a;
    font-size: 1.18rem;
}

.support-policy-grid p {
    margin: 0;
    color: #6b6862;
    line-height: 1.7;
}

.support-consult-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr);
    gap: 2rem;
    align-items: start;
}

.support-consult-copy p {
    color: #5f5b60;
    line-height: 1.8;
}

.support-advisor-list {
    display: grid;
    gap: 0.8rem;
    margin-top: 1.5rem;
}

.support-advisor-list article {
    padding: 1rem;
    background: #f7f7f5;
    border-left: 0.1875rem solid #d2051e;
}

.support-advisor-list strong,
.support-advisor-list a {
    display: block;
}

.support-advisor-list a {
    margin-top: 0.25rem;
    color: #1a1a1a;
    font-weight: 800;
}

.support-consult-form {
    min-width: 0;
    padding: 1.5rem;
    background: #fff;
    border: 0.0625rem solid #deded9;
    box-shadow: 0 1rem 2rem rgba(0,0,0,0.06);
}

.support-consult-form h3 {
    margin: 0 0 1rem;
    color: #1a1a1a;
    font-size: 1.35rem;
}

.support-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    margin-bottom: 1.1rem;
}

.support-form-grid input,
.support-form-grid select,
.support-form-grid textarea {
    width: 100%;
    min-width: 0;
    padding: 0.85rem 0.9rem;
    color: #1a1a1a;
    background: #fdfdfc;
    border: 0.0625rem solid #d8d8d4;
}

.support-form-grid textarea {
    grid-column: 1 / -1;
    min-height: 8rem;
    resize: vertical;
}

.support-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.support-process-grid article,
.support-after-list article {
    min-width: 0;
    padding: 1.25rem;
    background: #fff;
    border: 0.0625rem solid #deded9;
}

.support-process-grid b {
    display: block;
    color: #d2051e;
    font-size: 1.6rem;
    line-height: 1;
}

.support-process-grid strong,
.support-after-list h3 {
    display: block;
    margin: 0.65rem 0 0.45rem;
    color: #1a1a1a;
    font-size: 1.1rem;
}

.support-process-grid p,
.support-after-list p {
    margin: 0;
    color: #6b6862;
    line-height: 1.65;
}

.support-after-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.support-after-list span {
    color: #d2051e;
    font-weight: 800;
}

.support-after-list a {
    display: inline-flex;
    margin-top: 0.9rem;
    color: #d2051e;
    font-weight: 800;
}
.compact-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
.compact-card {
    display: grid;
    gap: 0.75rem;
    min-height: 10rem;
    padding: 1.5rem;
    background: #fff;
    border: 0.0625rem solid #e1e1de;
    color: #524f53;
}
.compact-card:hover { background: #f7f7f5; color: #524f53; }
.compact-card strong { color: #1a1a1a; font-size: 1.125rem; line-height: 1.35; }
.compact-card span { color: #6b6862; line-height: 1.55; }
.news-list-grid { display: grid; gap: 1rem; }
.news-list-card {
    display: grid;
    grid-template-columns: 16rem minmax(0, 1fr);
    background: #fff;
    border: 0.0625rem solid #e1e1de;
}
.news-list-image { min-height: 12rem; background: #ededeb; overflow: hidden; }
.news-list-image img { width: 100%; height: 100%; object-fit: cover; }
.news-list-body { padding: 1.5rem; }
.news-list-body time,
.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    color: #7d7565;
    font-size: 0.875rem;
    margin-bottom: 0.85rem;
}
.news-list-body h2 { font-size: 1.35rem; line-height: 1.35; margin-bottom: 0.75rem; }
.news-list-body h2 a { color: #1a1a1a; }
.news-list-body h2 a:hover { color: #d2051e; }
.news-list-body p { color: #6b6862; line-height: 1.65; margin-bottom: 1rem; }
.text-link { color: #d2051e; font-weight: 800; border-bottom: 0.125rem solid #d2051e; padding-bottom: 0.2rem; }

.product-detail-hero { background: #f7f7f5; padding: 3rem 0; }
.product-detail-layout {
    display: grid;
    grid-template-columns: minmax(20rem, 0.95fr) minmax(20rem, 1.05fr);
    grid-template-areas: "gallery summary";
    gap: 3rem;
    align-items: center;
}
.product-detail-gallery { grid-area: gallery; }
.product-detail-summary { grid-area: summary; }
.product-detail-gallery {
    background: #fff; border: 0.0625rem solid #e1e1de; min-height: 28rem; display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.product-detail-gallery img,
.product-detail-gallery .item img { width: 100%; height: 28rem; object-fit: cover; }
.product-detail-summary h1 { font-size: 2.5rem; line-height: 1.15; margin-bottom: 1rem; }
.product-detail-summary p { color: #6b6862; line-height: 1.75; margin-bottom: 1.25rem; }
.product-subtitle { font-size: 1.125rem; color: #1f1f1f !important; font-weight: 700; }
.product-detail-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin: 1.75rem 0; }
.product-detail-meta { display: flex; gap: 1.5rem; flex-wrap: wrap; color: #7d7565; font-size: 0.875rem; }
.product-detail-content { padding: 3rem 0 5rem; background: #fff; }
.detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18rem;
    grid-template-areas: "main side";
    gap: 3rem;
    align-items: start;
}
.detail-main { grid-area: main; }
.detail-side { grid-area: side; }
.detail-main h2,
.detail-side h3 { font-size: 1.5rem; margin-bottom: 1.25rem; }
.content-body { color: #333; line-height: 1.85; }
.detail-side {
    background: #f7f7f5; border: 0.0625rem solid #e1e1de; padding: 1.5rem;
}
.detail-side li { padding: 0.625rem 0; border-bottom: 0.0625rem solid #e1e1de; color: #524f53; }
.detail-side li a { color: #524f53; font-weight: 700; }
.detail-side li a:hover { color: #d2051e; }
.detail-side .btn { margin-top: 1.5rem; width: 100%; }
.detail-tabbar {
    position: sticky;
    z-index: 50;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 2rem;
    border-bottom: 0.0625rem solid #d8d8d4;
    background: #fff;
}
.detail-tabbar a {
    display: block;
    padding: 1rem 1.25rem;
    color: #524f53;
    font-weight: 800;
    border-top: 0.0625rem solid #d8d8d4;
    border-left: 0.0625rem solid #d8d8d4;
    background: #fff;
}
.detail-tabbar a:last-child { border-right: 0.0625rem solid #d8d8d4; }
.detail-tabbar a.active,
.detail-tabbar a:hover { color: #fff; background: #d2051e; border-color: #d2051e; }
.article-hero,
.page-hero {
    position: relative;
    overflow: hidden;
    background: #1f1f1f;
    color: #fff;
    padding: 4rem 0;
}
.article-hero h1,
.page-hero h1 {
    color: #fff;
    font-size: 2.5rem;
    line-height: 1.18;
    max-width: 58rem;
    margin-bottom: 1rem;
}
.article-hero p,
.page-hero p { color: rgba(255,255,255,0.78); max-width: 52rem; line-height: 1.75; }
.page-hero span,
.breadcrumb-link {
    display: inline-block;
    color: #d2051e;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin-bottom: 0.75rem;
}
.breadcrumb-link:hover { color: #fff; }
.article-section,
.page-section { background: #fff; padding: 3rem 0 5rem; }
.article-cover {
    width: 100%;
    max-height: 30rem;
    object-fit: cover;
    margin-bottom: 2rem;
    border: 0.0625rem solid #e1e1de;
}
.article-video {
    margin-bottom: 2rem;
    background: #1f1f1f;
    border: 0.0625rem solid #d8d8d4;
}
.article-video video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 34rem;
    object-fit: contain;
    background: #1f1f1f;
}
.article-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 0.0625rem solid #e1e1de;
}
.article-nav a {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    background: #f7f7f5;
    color: #1a1a1a;
    font-weight: 700;
}
.article-nav span { color: #d2051e; font-size: 0.8125rem; }

.hilti-subhero { padding-top: 4.5rem; padding-bottom: 4.5rem; }
.service-entry-section { background: #fff; border-bottom: 0.0625rem solid #deded9; }
.service-entry-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 0;
    padding-bottom: 0;
}
.service-entry-card {
    display: grid;
    grid-template-columns: 3rem 1fr;
    column-gap: 1rem;
    row-gap: 0.25rem;
    align-items: start;
    min-height: 9.5rem;
    padding: 1.75rem;
    border-left: 0.0625rem solid #deded9;
    color: #524f53;
    background: #fff;
}
.service-entry-card:last-child { border-right: 0.0625rem solid #deded9; }
.service-entry-card:hover { background: #f7f7f5; color: #524f53; }
.service-entry-card span,
.download-icon,
.contact-icon {
    width: 2.75rem;
    height: 2.75rem;
    background: #d2051e;
    position: relative;
    display: block;
}
.service-entry-card span::after,
.download-icon::after,
.contact-icon::after {
    content: "";
    position: absolute;
    inset: 0.7rem;
    border-top: 0.16rem solid #fff;
    border-right: 0.16rem solid #fff;
    transform: rotate(45deg) translate(-0.08rem, 0.16rem);
}
.service-entry-card strong { color: #1a1a1a; font-size: 1.2rem; }
.service-entry-card em { color: #6b6862; font-style: normal; line-height: 1.55; }
.hilti-service-section { background: #f7f7f5; padding: 3rem 0 4.5rem; }
.service-layout {
    display: grid;
    grid-template-columns: 17rem minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
}
.service-sidebar {
    background: #fff;
    border: 0.0625rem solid #e1e1de;
    padding: 1.25rem;
}
.service-sidebar h3 { font-size: 1.125rem; margin-bottom: 1rem; }
.service-sidebar a {
    display: block;
    padding: 0.875rem 0;
    border-top: 0.0625rem solid #ededeb;
    color: #524f53;
    font-weight: 700;
}
.service-sidebar a:hover { color: #d2051e; }
.service-sidebar-cta { color: #d2051e !important; }
.service-main { min-width: 0; }
.service-intro {
    background: #fff;
    border: 0.0625rem solid #e1e1de;
    padding: 2rem;
    margin-bottom: 1.5rem;
}
.solution-tile-grid,
.case-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.solution-tile {
    display: grid;
    gap: 0.75rem;
    min-height: 15rem;
    padding: 1.75rem;
    background: #fff;
    border: 0.0625rem solid #e1e1de;
    color: #524f53;
}
.solution-tile:hover { background: #fdfdfc; color: #524f53; }
.solution-tile span { color: #d2051e; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; }
.solution-tile strong { color: #1a1a1a; font-size: 1.35rem; line-height: 1.25; }
.solution-tile p { color: #6b6862; line-height: 1.65; }
.case-card {
    background: #fff;
    border: 0.0625rem solid #e1e1de;
    display: flex;
    flex-direction: column;
}
.case-card-media { aspect-ratio: 16 / 10; overflow: hidden; background: #ededeb; }
.case-card-media img { width: 100%; height: 100%; object-fit: cover; }
.case-card-body { padding: 1.5rem; display: grid; gap: 0.75rem; }
.case-card-body span { color: #7d7565; font-size: 0.875rem; }
.case-card-body h2 { font-size: 1.25rem; line-height: 1.35; }
.case-card-body h2 a { color: #1a1a1a; }
.case-card-body h2 a:hover { color: #d2051e; }
.case-card-body p { color: #6b6862; line-height: 1.6; }
.download-list { display: grid; gap: 0.75rem; }
.download-row {
    display: grid;
    grid-template-columns: 3rem minmax(12rem, 0.34fr) minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-height: 5.25rem;
    padding: 1rem 1.25rem;
    background: #fff;
    border: 0.0625rem solid #e1e1de;
    color: #524f53;
}
.download-row:hover { background: #fdfdfc; color: #524f53; }
.download-row strong { color: #1a1a1a; font-size: 1.05rem; }
.download-row em { color: #6b6862; font-style: normal; }
.download-row b { color: #d2051e; font-weight: 800; }

/* Actual downloadable files */
.download-real { border-left: 0.25rem solid #d2051e; }
.download-real .download-pdf { background: #1a1a1a; }
.download-real .download-pdf::before {
    content: "PDF";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}
.download-real .download-pdf::after { display: none; }
.download-real:hover { background: #fff5f5; }

/* Process body from backend textarea */
.process-body { margin: 0 0 2rem; }
.process-body p {
    margin: 0 0 0.75rem;
    padding-left: 1.5rem;
    position: relative;
    line-height: 1.7;
    color: #5f5b60;
}
.process-body p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 0.5rem;
    height: 0.5rem;
    background: #d2051e;
    border-radius: 50%;
}
.contact-section { background: #f7f7f5; padding: 3rem 0; }
.contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
    gap: 1.5rem;
    align-items: stretch;
}
.contact-methods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-content: start;
}
.contact-methods article {
    display: grid;
    grid-template-columns: 2.8rem minmax(0, 1fr);
    gap: 0.35rem 0.9rem;
    align-items: center;
    background: #fff;
    border: 0.0625rem solid #e1e1de;
    padding: 1.15rem;
    min-height: 7.25rem;
}
.contact-methods .contact-icon { grid-row: 1 / span 2; }
.contact-methods strong { color: #1a1a1a; font-size: 1.1rem; }
.contact-methods a,
.contact-methods p { color: #524f53; line-height: 1.6; }
.contact-form {
    background: #fff;
    border: 0.0625rem solid #e1e1de;
    padding: 2rem;
    min-height: 100%;
}
.contact-form h2 { font-size: 1.75rem; margin-bottom: 1.5rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.25rem; }
.form-grid input,
.form-grid select,
.form-grid textarea {
    width: 100%;
    min-height: 3rem;
    border: 0.0625rem solid #cbc8c1;
    padding: 0.75rem 1rem;
    outline: none;
    background: #fff;
    color: #33333a;
}
.form-grid textarea { grid-column: 1 / -1; min-height: 8rem; resize: vertical; }
.contact-address { grid-column: 1 / -1; min-height: 7rem; }
.contact-extra-section {
    background: #fff;
    padding: 2.75rem 0 4rem;
}
.contact-extra-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: stretch;
}
.contact-map-card {
    border: 0.0625rem solid #deded9;
    background: #fff;
    padding: 2rem;
    display: grid;
    gap: 1rem;
    align-content: start;
    min-height: 15rem;
}
.contact-map-card span {
    color: #d2051e;
    font-size: 0.8125rem;
    font-weight: 900;
}
.contact-map-card h2 {
    font-size: 1.6rem;
}
.contact-map-card p {
    color: #6b6862;
    line-height: 1.7;
}
.case-detail-cover {
    margin-bottom: 2rem;
    background: #ededeb;
}
.case-detail-cover img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center;
}
.search-results { display: grid; gap: 1.25rem; }
.search-page-section { background: #f7f7f5; }
.search-page-section .listing-toolbar {
    background: #fff;
    border: 0.0625rem solid #e1e1de;
}
.search-result-section {
    padding: 1.5rem;
    background: #fff;
    border: 0.0625rem solid #e1e1de;
}
.search-result-section h2 {
    position: relative;
    margin: 0 0 1rem;
    padding-left: 0.85rem;
    color: #1a1a1a;
    font-size: 1.35rem;
    line-height: 1.25;
}
.search-result-section h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.18rem;
    bottom: 0.18rem;
    width: 0.25rem;
    background: #d2051e;
}
.search-empty {
    margin: 0;
    padding: 1rem;
    color: #6b6862;
    background: #f7f7f5;
    border: 0.0625rem dashed #d8d8d4;
}
.search-page-section .compact-card-grid:empty {
    display: none;
}

/* ============================================================
   Hero Section
   ============================================================ */
.hero-section { background: #f5f5f5; }
.hero-grid {
    display: grid; grid-template-columns: 1fr;
}
@media (min-width: 768px) {
    .hero-grid { grid-template-columns: 1fr 1fr; min-height: 32rem; }
}
@media (min-width: 1024px) {
    .hero-grid { grid-template-columns: 1fr 1fr; min-height: 40rem; }
}

.hero-text {
    display: flex; flex-direction: column; justify-content: center;
    padding: 3rem 1.5rem; background: #f5f5f5;
}
@media (min-width: 1024px) { .hero-text { padding: 5rem 3rem; } }

.hero-overline {
    font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em;
    color: #d2051e; text-transform: uppercase; margin-bottom: 1rem;
}
.hero-title {
    font-size: 2.25rem; font-weight: 700; line-height: 1.1;
    color: #1a1a1a; margin-bottom: 1.25rem;
}
@media (min-width: 1024px) { .hero-title { font-size: 3.5rem; } }
.hero-desc {
    font-size: 1.125rem; line-height: 1.6; color: #7d7565;
    margin-bottom: 2rem; max-width: 32rem;
}
.hero-image-wrap {
    position: relative; overflow: hidden; min-height: 20rem;
}
.hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; }

/* ============================================================
   Secondary Cards
   ============================================================ */
.secondary-section { background: #fff; padding: 1.5rem 0; }
.secondary-grid {
    display: grid; grid-template-columns: 1fr; gap: 1.5rem;
}
@media (min-width: 768px) { .secondary-grid { grid-template-columns: 1fr 1fr; } }

.secondary-card {
    position: relative; overflow: hidden;
    min-height: 18rem; display: flex; flex-direction: column; justify-content: flex-end;
    padding: 2rem; background-size: cover; background-position: center;
}
.secondary-card::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
}
.secondary-card > * { position: relative; z-index: 1; }
.secondary-card .card-title { font-size: 1.5rem; font-weight: 700; color: #fff; margin-bottom: 0.5rem; }
.secondary-card .card-desc { font-size: 1rem; color: rgba(255,255,255,0.85); margin-bottom: 1.25rem; }

/* ============================================================
   Service Cards
   ============================================================ */
.service-section { background: #fff; padding: 3rem 0; }
.service-grid {
    display: grid; grid-template-columns: 1fr; gap: 1.5rem;
}
@media (min-width: 768px) { .service-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .service-grid { grid-template-columns: repeat(3, 1fr); } }

.service-card {
    background: #fff; border: 0.0625rem solid #e5e5e5; padding: 2.5rem;
    transition: box-shadow 0.3s;
}
.service-card:hover { box-shadow: 0 0.25rem 1rem rgba(0,0,0,0.08); }
.service-card-title { font-size: 1.25rem; font-weight: 700; color: #1a1a1a; margin-bottom: 0.75rem; }
.service-card-desc { font-size: 1rem; color: #7d7565; line-height: 1.6; margin-bottom: 1.5rem; }

/* ============================================================
   Product Feature
   ============================================================ */
.feature-section { background: #f8f8f7; }
.feature-grid {
    display: grid; grid-template-columns: 1fr;
}
@media (min-width: 768px) { .feature-grid { grid-template-columns: 1fr 1fr; } }

.feature-text {
    display: flex; flex-direction: column; justify-content: center;
    padding: 3rem 1.5rem; order: 2;
}
@media (min-width: 768px) { .feature-text { order: 1; padding: 4rem 3rem; } }

.feature-text .section-label {
    font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em;
    color: #d2051e; text-transform: uppercase; margin-bottom: 1rem;
}
.feature-text .section-title {
    font-size: 2rem; font-weight: 700; line-height: 1.15; margin-bottom: 1.25rem; color: #1a1a1a;
}
@media (min-width: 1024px) { .feature-text .section-title { font-size: 2.75rem; } }
.feature-text .section-desc {
    font-size: 1.0625rem; color: #7d7565; line-height: 1.6; margin-bottom: 1.5rem;
}
.feature-image { position: relative; overflow: hidden; min-height: 22rem; order: 1; }
@media (min-width: 768px) { .feature-image { order: 2; } }
.feature-image img { width: 100%; height: 100%; object-fit: cover; }

/* ============================================================
   Product Grid
   ============================================================ */
.product-section { background: #fff; padding: 3rem 0; }
.product-grid {
    display: grid; grid-template-columns: 1fr; gap: 1.5rem;
}
@media (min-width: 768px) { .product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .product-grid { grid-template-columns: repeat(3, 1fr); } }

.product-card {
    background: #fff; border: 0.0625rem solid #e5e5e5;
    display: flex; flex-direction: column;
    transition: box-shadow 0.3s, transform 0.3s;
}
.product-card:hover { box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.1); transform: translateY(-4px); }
.product-card-image { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: #f8f8f7; }
.product-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.product-card:hover .product-card-image img { transform: scale(1.05); }
.product-card-body { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.product-card-title { font-size: 1.125rem; font-weight: 700; color: #1a1a1a; margin-bottom: 0.5rem; line-height: 1.3; }
.product-card-title a { color: inherit; }
.product-card-title a:hover { color: #d2051e; }
.product-card-desc { font-size: 0.9375rem; color: #7d7565; line-height: 1.5; margin-bottom: 1rem; flex: 1; }
.product-card-footer { margin-top: auto; }

/* Section Header */
.section-header {
    display: flex; align-items: flex-end; justify-content: space-between;
    margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 0.0625rem solid #e5e5e5;
}
.section-header-title { font-size: 1.75rem; font-weight: 700; color: #1a1a1a; }
.section-header-link { font-size: 0.9375rem; font-weight: 500; color: #d2051e; }
.section-header-link:hover { color: #ab0115; }

/* ============================================================
   Brand Values (with overlap effect)
   ============================================================ */
.brand-section { background: #1a1a1a; color: #fff; padding: 4rem 0 0; position: relative; }
.brand-header { text-align: center; margin-bottom: 3rem; }
.brand-header .brand-label {
    font-size: 0.875rem; font-weight: 700; letter-spacing: 0.1em;
    color: rgba(255,255,255,0.6); text-transform: uppercase; margin-bottom: 0.5rem;
}
.brand-header .brand-title { font-size: 2.5rem; font-weight: 700; color: #fff; }
@media (min-width: 1024px) { .brand-header .brand-title { font-size: 3rem; } }

.brand-grid {
    display: grid; grid-template-columns: 1fr; gap: 1.5rem;
    margin-top: -2rem; padding-bottom: 4rem;
}
@media (min-width: 768px) { .brand-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .brand-grid { grid-template-columns: repeat(4, 1fr); } }

.brand-card {
    background: #fff; padding: 0;
    transition: transform 0.3s;
}
.brand-card:hover { transform: translateY(-4px); }
.brand-card-image { width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: #f8f8f7; }
.brand-card-image img { width: 100%; height: 100%; object-fit: cover; }
.brand-card-body { padding: 1.5rem; }
.brand-card-title { font-size: 1.125rem; font-weight: 700; color: #1a1a1a; margin-bottom: 0.5rem; }
.brand-card-desc { font-size: 0.9375rem; color: #7d7565; line-height: 1.5; margin-bottom: 1rem; }
.brand-card-link { font-size: 0.9375rem; font-weight: 500; color: #d2051e; }
.brand-card-link:hover { color: #ab0115; }

/* ============================================================
   Smartbar
   ============================================================ */
.smartbar-section {
    background: #f2f2f0;
    border-top: 0.0625rem solid #deded9;
    border-bottom: 0.0625rem solid #deded9;
    padding: 1.25rem 0;
}
.smartbar-inner {
    display: grid;
    grid-template-columns: minmax(16rem, 0.42fr) 1fr;
    align-items: center;
    gap: 1.5rem;
}
.smartbar-inner span { display: block; color: #d2051e; font-size: 0.8125rem; font-weight: 800; margin-bottom: 0.25rem; }
.smartbar-inner strong { display: block; color: #1a1a1a; font-size: 1.25rem; line-height: 1.3; }
.smartbar-form { display: flex; align-items: center; gap: 0; min-width: 0; }
.smartbar-label { font-size: 0.9375rem; font-weight: 500; color: #524f53; white-space: nowrap; }
.smartbar-input {
    flex: 1; min-height: 3rem; padding: 0.75rem 1rem; font-size: 0.9375rem;
    border: 0.0625rem solid #cbc8c1; border-right: 0; outline: none; transition: border-color 0.2s;
    min-width: 0;
}
.smartbar-input:focus { border-color: #d2051e; }

/* ============================================================
   Footer
   ============================================================ */
.site-footer { color: #fff; }
.footer-top {
    background:
        linear-gradient(115deg, rgba(255,255,255,0.08) 0 8%, transparent 8% 16%, rgba(0,0,0,0.1) 16% 28%, transparent 28%),
        linear-gradient(180deg, #bd051c 0%, #d2051e 50%, #ab0115 100%);
    padding: 4rem 0;
}
.footer-quick-row {
    display: grid;
    grid-template-columns: minmax(16rem, 0.5fr) minmax(20rem, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.5rem;
    margin-bottom: 2.25rem;
    background: rgba(0,0,0,0.18);
    border: 0.0625rem solid rgba(255,255,255,0.24);
}
.footer-quick-row span {
    display: block;
    color: rgba(255,255,255,0.78);
    font-size: 0.8125rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
}
.footer-quick-row strong {
    display: block;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.25;
}
.footer-search-form {
    display: flex;
    min-width: 0;
}
.footer-search-form input {
    flex: 1;
    min-width: 0;
    height: 3rem;
    border: 0;
    padding: 0 1rem;
    color: #1a1a1a;
}
.footer-search-form button,
.footer-quick-row > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0 1.25rem;
    border: 0.0625rem solid #fff;
    background: #fff;
    color: #d2051e;
    font-weight: 800;
    white-space: nowrap;
}
.footer-quick-row > a {
    background: transparent;
    color: #fff;
}
.footer-search-form button:hover { background: #f2f2f0; }
.footer-quick-row > a:hover { background: #fff; color: #d2051e; text-decoration: none; }
.footer-brand-row {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem;
    padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 0.0625rem solid rgba(255,255,255,0.25);
}
.footer-brand { color: #fff; font-size: 2rem; font-weight: 800; letter-spacing: 0.04em; }
.footer-tagline { color: rgba(255,255,255,0.82); font-size: 1rem; }
.footer-brand-row::after { content: none; }
.footer-grid {
    display: grid; grid-template-columns: 1fr; gap: 2.5rem;
}
@media (min-width: 768px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .footer-grid { grid-template-columns: repeat(4, 1fr); } }

.footer-column-title {
    font-size: 1rem; font-weight: 700; color: #fff;
    margin-bottom: 1.25rem; text-transform: uppercase; letter-spacing: 0.04em;
}
.footer-column li { margin-bottom: 0.75rem; }
.footer-column a, .footer-column span { font-size: 0.9375rem; color: rgba(255,255,255,0.9); line-height: 1.5; }
.footer-column a:hover { color: #fff; text-decoration: underline; }

.footer-bottom {
    background: #1a1a1a; padding: 1.5rem 0;
    font-size: 0.8125rem; color: #7d7565;
}
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.footer-bottom a { color: #7d7565; }
.footer-bottom a:hover { color: #fff; }

/* ============================================================
   Utilities
   ============================================================ */
.text-center { text-align: center; }

@media (max-width: 1199.98px) {
    .header-nav { gap: 1rem; }
    .header-nav > li > a { font-size: 0.9375rem; }
    .mosaic-hero-grid { grid-template-columns: 1.55fr 1fr; min-height: 32rem; }
    .mosaic-tile-main { min-height: 32rem; }
    .mosaic-tile-main .mosaic-copy strong { font-size: 2.35rem; }
    .home-reference-container { padding-left: 2rem; padding-right: 2rem; }
    .home-brand-cards { flex-wrap: wrap; }
    .home-brand-card { flex: 1 1 calc(50% - 0.75rem); }
    .hilti-hero-panel h1 { font-size: 2.35rem; }
    .solution-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-quick-row { grid-template-columns: 1fr; }
    .yd-advantage-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .yd-product-grid,
    .yd-solution-grid,
    .yd-qualification-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .yd-solution-grid,
    .yd-case-grid { grid-template-columns: 1fr; }
    .yd-solution-card,
    .yd-case-card { grid-template-columns: 10rem minmax(0, 1fr); }
    .yd-case-card:first-child { grid-row: auto; grid-template-columns: 1fr; }
    .yd-product-section .yd-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .yd-product-section .yd-product-card { display: flex; flex-direction: column; grid-template-columns: none; }
}

@media (max-width: 1023.98px) {
    .mosaic-hero-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        min-height: 0;
    }
    .mosaic-tile,
    .mosaic-tile-main {
        grid-row: auto;
        min-height: 18rem;
    }
    .mosaic-tile-main { min-height: 24rem; }
    .home-reference-grid { grid-template-columns: 1fr; gap: 2rem; }
    .home-reference-image { aspect-ratio: 2.15 / 1; }
    .home-reference-body { min-height: auto; padding-left: 0; padding-right: 0; }
    .home-feature-banner { min-height: 30rem; }
    .home-feature-copy h1 { font-size: 2.35rem; }
    .hilti-hero { min-height: auto; }
    .hilti-hero-inner { min-height: 30rem; padding-top: 3rem; padding-bottom: 3rem; }
    .hero-slide-grid { grid-template-columns: repeat(2, 1fr); }
    .quick-entry-grid,
    .advantage-grid,
    .product-system-grid,
    .catalog-category-grid,
    .compact-card-grid,
    .service-entry-grid,
    .solution-tile-grid,
    .case-card-grid,
    .resource-grid,
    .qualification-list,
    .news-grid,
    .brand-value-grid { grid-template-columns: repeat(2, 1fr); }
    .case-layout,
    .product-feature-card,
    .news-list-card,
    .service-layout,
    .contact-layout,
    .support-page-layout,
    .support-guide-shell,
    .support-consult-panel,
    .support-consult-layout,
    .listing-layout,
    .product-detail-layout,
    .detail-grid { grid-template-columns: 1fr; grid-template-areas: "main" "side"; gap: 2rem; }
    .support-page-tabs-inner {
        grid-template-columns: repeat(4, minmax(13rem, 1fr));
        overflow-x: auto;
    }
    .support-guide-grid,
    .support-process-grid,
    .support-after-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .section-heading-row { align-items: flex-start; flex-direction: column; }
    .yd-hero-stage { min-height: 34rem; }
    .yd-hero-content h1 { font-size: 2.6rem; }
    .yd-hero-tabs { grid-template-columns: 1fr; margin-top: 0; }
    .yd-head-row,
    .yd-footer-cta-inner { align-items: flex-start; flex-direction: column; }
    .yd-case-grid,
    .yd-news-grid { grid-template-columns: 1fr; }
    .yd-solution-card { grid-template-columns: 11rem minmax(0, 1fr); }
    .contact-layout {
        grid-template-columns: 1fr;
    }
    .contact-methods {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .container { padding: 0 1rem; }
    .btn { width: 100%; white-space: normal; }
    .hilti-mosaic-hero { padding-top: 0.5rem; }
    .mosaic-hero-container { padding-left: 0.5rem; padding-right: 0.5rem; }
    .mosaic-hero-grid { gap: 0.5rem; }
    .mosaic-tile,
    .mosaic-tile-main { min-height: 16rem; }
    .mosaic-tile-main .mosaic-copy { padding: 2rem 1.25rem; }
    .mosaic-copy { padding: 1.25rem; }
    .mosaic-copy strong,
    .mosaic-tile-main .mosaic-copy strong { font-size: 1.85rem; }
    .home-card-section { padding: 3rem 0; }
    .home-reference-container { padding-left: 1rem; padding-right: 1rem; }
    .home-reference-grid { gap: 1.8rem; }
    .home-reference-image { aspect-ratio: 1.45 / 1; }
    .home-reference-card strong { font-size: 1.18rem; }
    .home-feature-banner { min-height: 27rem; }
    .home-feature-copy { padding: 3.5rem 0; }
    .home-feature-copy h1 { font-size: 2rem; }
    .home-feature-copy p { font-size: 1rem; }
    .home-brand-section { padding-bottom: 3rem; }
    .home-brand-band { min-height: 13rem; }
    .home-brand-band h2 { font-size: 2.45rem; }
    .home-brand-cards { flex-direction: column; margin-top: -2rem; }
    .home-brand-card { flex-basis: auto; }
    .hilti-hero-inner { min-height: 28rem; padding-top: 2rem; padding-bottom: 2rem; }
    .hilti-hero-panel h1 { font-size: 2rem; }
    .hilti-hero-panel p { font-size: 1rem; }
    .hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
    .hero-slide-grid,
    .quick-entry-grid,
    .advantage-grid,
    .product-system-grid,
    .solution-grid,
    .resource-grid,
    .news-grid,
    .brand-value-grid,
    .catalog-category-grid,
    .compact-card-grid,
    .service-entry-grid,
    .solution-tile-grid,
    .case-card-grid,
    .news-list-card,
    .qualification-list { grid-template-columns: 1fr; }
    .download-row { grid-template-columns: 3rem minmax(0, 1fr); }
    .download-row em,
    .download-row b { grid-column: 2; }
    .form-grid { grid-template-columns: 1fr; }
    .support-page-section { padding: 3rem 0; }
    .support-page-tabs {
        position: static;
    }
    .support-page-tabs-inner {
        display: flex;
        overflow-x: auto;
        padding-left: 1rem;
        padding-right: 1rem;
        scroll-snap-type: x proximity;
    }
    .support-page-tabs a {
        flex: 0 0 14rem;
        scroll-snap-align: start;
    }
    .support-download-row {
        grid-template-columns: 4.5rem minmax(0, 1fr);
        align-items: start;
    }
    .support-download-action {
        grid-column: 2;
        width: 100%;
    }
    .support-guide-grid,
    .support-process-grid,
    .support-after-list,
    .support-form-grid {
        grid-template-columns: 1fr;
    }
    .support-consult-form {
        padding: 1.15rem;
    }
    .contact-section {
        padding: 2rem 0 2.5rem;
    }
    .contact-methods {
        grid-template-columns: 1fr;
    }
    .contact-methods article,
    .contact-address {
        min-height: 0;
    }
    .contact-form,
    .contact-map-card {
        padding: 1.25rem;
    }
    .contact-extra-section {
        padding: 2rem 0 3rem;
    }
    .contact-extra-grid { grid-template-columns: 1fr; }
    .hero-slide-card:first-child { border-left: none; }
    .section-heading h2,
    .case-intro h2 { font-size: 1.75rem; }
    .advantage-section,
    .product-system-section,
    .solution-section,
    .resource-section,
    .qualification-section,
    .brand-value-section,
    .news-section,
    .case-section { padding: 3rem 0; }
    .quick-entry-card { min-height: auto; }
    .solution-card { min-height: 14rem; }
    .smartbar-inner { grid-template-columns: 1fr; }
    .smartbar-form { flex-direction: column; align-items: stretch; }
    .smartbar-input { border-right: 0.0625rem solid #cbc8c1; }
    .listing-search,
    .product-detail-actions { flex-direction: column; align-items: stretch; }
    .listing-hero h1,
    .product-detail-summary h1,
    .article-hero h1,
    .page-hero h1 { font-size: 2rem; }
    .article-nav { grid-template-columns: 1fr; }
    .case-detail-cover {
        aspect-ratio: 4 / 3;
        max-height: none;
    }
    .detail-tabbar a { flex: 1 1 100%; border-right: 0.0625rem solid #d8d8d4; }
    .product-detail-gallery,
    .product-detail-gallery img,
    .product-detail-gallery .item img { min-height: 18rem; height: 18rem; }
    .footer-brand-row,
    .footer-bottom-inner { flex-direction: column; align-items: flex-start; }
    .yd-section { padding: 3.2rem 0; }
    .yd-home-hero {
        background: #fff;
    }
    .yd-hero-stage {
        min-height: 0;
        height: auto;
        aspect-ratio: 16 / 9;
        background: #111;
    }
    .yd-hero-slide {
        align-items: stretch;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
    .yd-hero-shade,
    .yd-hero-content {
        display: none;
    }
    .yd-hero-tabs {
        display: flex;
        grid-template-columns: none;
        grid-auto-flow: initial;
        grid-auto-columns: initial;
        margin-top: 0;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        box-shadow: 0 0.25rem 0.9rem rgba(0,0,0,0.08);
        -webkit-overflow-scrolling: touch;
    }
    .yd-hero-tabs a {
        flex: 0 0 33.333%;
        min-width: 7.2rem;
        min-height: 4.9rem;
        padding: 0.9rem 0.75rem;
        scroll-snap-align: start;
    }
    .yd-hero-tabs a.active {
        padding-top: 0.65rem;
    }
    .yd-hero-tabs strong {
        display: -webkit-box;
        min-height: 2.5rem;
        overflow: hidden;
        white-space: normal;
        text-overflow: clip;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        font-size: 0.9rem;
        line-height: 1.35;
    }
    .yd-section-head h2,
    .yd-footer-cta h2 { font-size: 1.8rem; }
    .yd-advantage-grid,
    .yd-product-grid,
    .yd-solution-grid,
    .yd-qualification-grid,
    .yd-news-grid { grid-template-columns: 1fr; }
    .yd-product-section .yd-product-grid,
    .yd-case-grid { grid-template-columns: 1fr; }
    .yd-product-section .yd-product-card,
    .yd-product-section .yd-product-card:not(:first-child),
    .yd-solution-card,
    .yd-case-card,
    .yd-case-card:not(:first-child) {
        grid-template-columns: 1fr;
    }
    .yd-solution-card .yd-solution-image,
    .yd-product-section .yd-product-card:not(:first-child) .yd-card-image,
    .yd-case-card:not(:first-child) .yd-card-image {
        min-height: 13rem;
    }
    .yd-solution-card::before { grid-column: 1; }
    .yd-advantage-card,
    .yd-qualification-card,
    .yd-news-card { min-height: auto; }
    .yd-card-body { min-height: auto; }
    .site-footer {
        background: #202126;
    }
    .footer-top {
        padding: 0;
        background: #f4f4f1;
        color: #202126;
    }
    .footer-top > .container {
        display: flex;
        flex-direction: column;
        gap: 0;
        width: 100%;
        padding: 0;
    }
    .footer-brand-row {
        order: 0;
        gap: 0.6rem;
        padding: 1.25rem 1.25rem 1rem;
        margin-bottom: 0;
        background: #d2051e;
        border-bottom: 0;
    }
    .footer-brand {
        color: #fff;
        font-size: 1.35rem;
        letter-spacing: 0;
    }
    .footer-tagline {
        color: #fff;
        font-size: 1.65rem;
        font-weight: 900;
        line-height: 1.25;
    }
    .footer-grid {
        order: 1;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        background: #fff;
        border-top: 0.0625rem solid #deded9;
    }
    .footer-column {
        min-width: 0;
        padding: 0;
        background: #fff;
        border: 0;
        border-bottom: 0.0625rem solid #deded9;
    }
    .footer-column:last-child {
        order: 0;
        grid-column: 1 / -1;
        background: #fff;
        border-color: #deded9;
    }
    .footer-column-title {
        position: relative;
        margin: 0;
        padding: 1rem 3rem 0.9rem 1.25rem;
        color: #202126;
        font-size: 0.98rem;
        letter-spacing: 0;
    }
    .footer-column-title::after {
        content: "+";
        position: absolute;
        right: 1.25rem;
        top: 50%;
        transform: translateY(-50%);
        color: #d2051e;
        font-size: 1.25rem;
        font-weight: 700;
    }
    .footer-column ul {
        display: grid;
        gap: 0;
        padding: 0 1.25rem 1rem;
    }
    .footer-column li {
        margin-bottom: 0;
    }
    .footer-column a,
    .footer-column span {
        display: block;
        padding: 0.32rem 0;
        color: #524f53;
        font-size: 0.92rem;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }
    .footer-column:last-child ul {
        grid-template-columns: 1fr;
    }
    .footer-quick-row {
        order: 2;
        grid-template-columns: 1fr;
        gap: 0.8rem;
        padding: 1rem;
        margin-bottom: 0;
        background: rgba(255,255,255,0.045);
        border-color: rgba(255,255,255,0.12);
    }
    .footer-quick-row strong {
        font-size: 1rem;
    }
    .footer-search-form {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.6rem;
    }
    .footer-search-form input,
    .footer-search-form button,
    .footer-quick-row > a {
        width: 100%;
    }
    .footer-bottom {
        padding: 1rem 1.25rem;
        background: #202126;
    }
    .footer-bottom-inner {
        width: 100%;
        padding: 0;
        gap: 0.45rem;
        color: rgba(255,255,255,0.7);
    }
    .footer-bottom p,
    .footer-bottom a {
        color: rgba(255,255,255,0.72);
        font-size: 0.78rem;
    }
}

/* Homepage core products: vertical cards */
@media (min-width: 768px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-auto-rows: auto;
        gap: 1rem;
    }
    .yd-product-section .yd-product-card {
        display: flex;
        flex-direction: column;
        grid-template-columns: none;
        grid-template-rows: auto 1fr;
        min-height: auto;
        border-top: 0.0625rem solid #e4e4e1;
    }
    .yd-product-section .yd-product-card .yd-card-image {
        width: 100%;
        height: auto;
        min-height: 12rem;
        aspect-ratio: 1.55 / 1;
    }
    .yd-product-section .yd-product-card .yd-card-body {
        min-height: auto;
        padding: 1.25rem;
        gap: 0.6rem;
    }
    .yd-product-section .yd-product-card strong {
        font-size: 1.08rem;
        line-height: 1.25;
    }
    .yd-product-section .yd-product-card em {
        font-size: 0.9rem;
        line-height: 1.55;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

@media (max-width: 767.98px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: 1fr;
    }
    .yd-product-section .yd-product-card,
    .yd-product-section .yd-product-card:first-child,
    .yd-product-section .yd-product-card:not(:first-child) {
        grid-template-columns: 1fr;
        grid-row: auto;
        min-height: auto;
    }
    .yd-product-section .yd-product-card:first-child .yd-card-body::before {
        content: none;
        display: none;
    }
}

/* Homepage benchmark cases final override: brand-value inspired equal cards */
.yd-case-section {
    position: relative;
    overflow: hidden;
    padding: 0 0 5.4rem;
    background: #fff;
}
.yd-case-section::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 24rem;
    background:
        linear-gradient(90deg, rgba(112,0,12,0.13) 0%, rgba(210,5,30,0.06) 27%, rgba(210,5,30,0) 45%),
        linear-gradient(90deg, #b50016 0%, #cf001c 42%, #d2051e 100%);
}
.yd-case-section::after {
    content: "";
    position: absolute;
    left: -2rem;
    top: 0;
    width: 52%;
    height: 24rem;
    background:
        linear-gradient(115deg, rgba(255,255,255,0.14) 0 8%, transparent 8% 15%, rgba(120,0,10,0.2) 15% 31%, transparent 31% 39%, rgba(255,255,255,0.16) 39% 44%, transparent 44%),
        linear-gradient(105deg, rgba(90,0,10,0.25), rgba(255,255,255,0.045));
    clip-path: polygon(0 0, 90% 0, 74% 100%, 0 100%);
    pointer-events: none;
}
.yd-case-section .container {
    position: relative;
    z-index: 1;
}
.yd-case-section .yd-section-head {
    max-width: 62rem;
    padding-top: 5rem;
    margin-bottom: 2.4rem;
}
.yd-case-section .yd-section-head span,
.yd-case-section .yd-section-head h2 {
    color: #fff;
}
.yd-case-section .yd-section-head p {
    color: rgba(255,255,255,0.82);
    max-width: 52rem;
}
.yd-case-section .yd-case-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    align-items: stretch;
    margin-top: 0;
}
.yd-case-section .yd-case-card,
.yd-case-section .yd-case-card:first-child,
.yd-case-section .yd-case-card:not(:first-child) {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-row: auto;
    min-height: 28rem;
    overflow: visible;
    background: #fff;
    border: 0.0625rem solid #e4e4e1;
    box-shadow: 0 0.55rem 1.4rem rgba(0,0,0,0.08);
}
.yd-case-section .yd-case-card .yd-card-image,
.yd-case-section .yd-case-card:first-child .yd-card-image,
.yd-case-section .yd-case-card:not(:first-child) .yd-card-image {
    position: static;
    display: block;
    width: 100%;
    height: 16rem;
    min-height: 16rem;
    aspect-ratio: auto;
    background-size: cover;
    background-position: center;
}
.yd-case-section .yd-case-card:first-child .yd-card-image::after {
    content: none;
}
.yd-case-section .yd-case-card .yd-card-body,
.yd-case-section .yd-case-card:first-child .yd-card-body,
.yd-case-section .yd-case-card:not(:first-child) .yd-card-body {
    position: static;
    z-index: auto;
    align-self: auto;
    display: grid;
    gap: 0.7rem;
    min-height: auto;
    margin-top: 0;
    padding: 1.45rem;
}
.yd-case-section .yd-case-card .yd-card-body em,
.yd-case-section .yd-case-card:first-child .yd-card-body em {
    color: #d2051e;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
}
.yd-case-section .yd-case-card .yd-card-body strong,
.yd-case-section .yd-case-card:first-child .yd-card-body strong {
    color: #242329;
    font-size: 1.32rem;
    line-height: 1.25;
}
.yd-case-section .yd-case-card .yd-card-body p,
.yd-case-section .yd-case-card:first-child .yd-card-body p {
    color: #615e64;
    line-height: 1.6;
}

@media (max-width: 1199.98px) {
    .yd-case-section .yd-case-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .yd-case-section {
        padding-bottom: 3.5rem;
    }
    .yd-case-section::before,
    .yd-case-section::after {
        height: 18rem;
    }
    .yd-case-section .yd-section-head {
        padding-top: 3.5rem;
    }
    .yd-case-section .yd-case-grid {
        grid-template-columns: 1fr;
    }
    .yd-case-section .yd-case-card,
    .yd-case-section .yd-case-card:first-child,
    .yd-case-section .yd-case-card:not(:first-child) {
        min-height: auto;
    }
}
/* Homepage products: 4-column vertical cards */
@media (min-width: 1200px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1rem;
    }
    .yd-product-section .yd-product-card {
        display: flex;
        flex-direction: column;
        grid-template-columns: none;
        grid-template-rows: auto 1fr;
        min-height: auto;
    }
    .yd-product-section .yd-product-card .yd-card-image {
        width: 100%;
        height: auto;
        min-height: 12rem;
        aspect-ratio: 1.55 / 1;
    }
    .yd-product-section .yd-product-card .yd-card-body {
        min-height: auto;
        padding: 1.25rem;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .yd-product-section .yd-product-grid {
        grid-template-columns: 1fr;
    }
}

/* Final homepage product image fit: keep original ratio */
.yd-product-section .yd-product-card .yd-card-image,
.yd-product-section .yd-product-card:first-child .yd-card-image,
.yd-product-section .yd-product-card:not(:first-child) .yd-card-image {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #f2f2ef;
}

/* Final support page layout guard */
body .support-page-hero {
    min-height: 20rem;
}

body .site-header .mega-menu {
    z-index: 1200;
}

body .site-header .mega-menu,
body .site-header .mega-menu-inner {
    background: #fff;
}

body .site-header .header-nav > li:first-child > .mega-menu .mega-menu-inner {
    width: calc(100% - 56px);
    max-width: none;
    min-height: 19.25rem;
    margin: 0 auto;
    padding: 2.25rem 2.5rem 1.7rem;
    display: block;
    box-shadow: 0 0.25rem 1.25rem rgba(0,0,0,0.08);
}

body .mega-product-panel {
    display: block;
}

body .mega-product-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 17.25rem);
    column-gap: 5.4rem;
    row-gap: 1.6rem;
    width: max-content;
    max-width: 100%;
    align-items: start;
}

body .mega-product-category-item {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    align-items: center;
    gap: 1.05rem;
    min-height: 4rem;
    color: #524f53;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

body .mega-product-category-item:hover {
    color: #d2051e;
}

body .mega-product-category-item .mega-product-thumb {
    width: 4rem;
    height: 4rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: transparent;
}

body .mega-product-category-item .mega-product-thumb-empty {
    display: none;
}

body .mega-product-category-item .mega-product-thumb-empty + strong {
    grid-column: 1 / -1;
    padding-left: 0;
}

body .mega-product-view-all {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 2rem;
    color: #524f53;
    font-size: 0.88rem;
    font-weight: 500;
    text-decoration: none;
}

body .mega-product-view-all i {
    position: relative;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 50%;
    background: #d2051e;
}

body .mega-product-view-all i::before {
    content: "";
    position: absolute;
    left: 0.28rem;
    top: 0.26rem;
    width: 0.28rem;
    height: 0.28rem;
    border-top: 0.09rem solid #fff;
    border-right: 0.09rem solid #fff;
    transform: rotate(45deg);
}

body .mega-product-empty-title,
body .mega-product-fallback-list {
    display: none;
}

@media (max-width: 1199.98px) {
    body .mega-product-category-grid {
        grid-template-columns: repeat(3, 16rem);
        column-gap: 2.5rem;
    }
}

body .product-detail-hilti {
    padding: 3rem 0 3.25rem;
    background: #f4f4f1;
    border-bottom: 1px solid #deded9;
}

body .product-detail-hilti .product-detail-layout {
    display: grid;
    grid-template-columns: minmax(22rem, 47%) minmax(0, 1fr);
    gap: 3.25rem;
    align-items: stretch;
}

body .product-detail-hilti .product-detail-gallery {
    background: #fff;
    border: 1px solid #deded9;
    display: flex;
    align-items: center;
    justify-content: center;
}

body .product-detail-hilti .product-detail-gallery img,
body .product-detail-hilti .product-detail-gallery .item img {
    height: 31rem;
    padding: 2.5rem;
    object-fit: contain;
    background: #fff;
}

body .product-detail-hilti .product-detail-summary {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 31rem;
}

body .product-detail-hilti .product-detail-summary > span {
    margin-bottom: 0.85rem;
    color: #d2051e;
    font-size: 0.88rem;
    font-weight: 800;
}

body .product-detail-hilti .product-detail-summary h1 {
    max-width: 44rem;
    margin: 0 0 1.1rem;
    color: #202126;
    font-size: 2.25rem;
    font-weight: 900;
    line-height: 1.18;
}

body .product-detail-hilti .product-subtitle {
    color: #202126;
    font-weight: 800;
}

body .product-detail-hilti-content {
    padding: 2.75rem 0 5rem;
    background: #fff;
}

body .product-detail-block {
    padding: 0 0 2.5rem;
    border-bottom: 1px solid #ededeb;
    scroll-margin-top: 10rem;
}

body .product-detail-block + .product-detail-block {
    padding-top: 2.35rem;
}

body .product-detail-block h2 {
    margin: 0 0 1.25rem;
    color: #202126;
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1.25;
}

body .product-detail-side {
    position: sticky;
    top: 9rem;
    align-self: start;
}

body .product-detail-side .btn {
    width: 100%;
    margin-top: 0.85rem;
}

@media (max-width: 991.98px) {
    body .product-detail-hilti .product-detail-layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    body .product-detail-hilti .product-detail-summary {
        min-height: 0;
    }

    body .product-detail-side {
        position: static;
    }
}

body .support-page-tabs {
    position: sticky;
    top: 4.5rem;
    z-index: 40;
    background: #fff;
    isolation: isolate;
}

body .support-page-section {
    position: relative;
    z-index: 1;
    scroll-margin-top: 9.5rem;
}

body .support-page-tabs-inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body .support-page-layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(17rem, 21rem) minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
    z-index: 1;
}

body .support-page-main {
    position: relative;
    min-width: 0;
    z-index: 1;
}

body .support-consult-layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr);
    gap: 2rem;
    align-items: start;
    z-index: 1;
}

body .support-consult-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem);
    gap: 2rem;
    align-items: stretch;
    z-index: 1;
}

body .support-guide-shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(17rem, 21rem) minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
    z-index: 1;
}

body .support-page-tabs-inner,
body .support-page-layout,
body .support-guide-shell,
body .support-consult-panel,
body .support-consult-layout,
body .support-download-row,
body .support-guide-card,
body .support-process-grid article,
body .support-after-list article {
    min-width: 0;
}

body .support-page-tabs a,
body .support-page-category-list a,
body .support-download-info h3,
body .support-guide-body h3,
body .support-after-list h3 {
    overflow-wrap: anywhere;
}

body .support-page-filter,
body .support-page-category-list,
body .support-page-category-list a {
    position: relative;
    z-index: 1;
}

body .support-page-tabs-inner::before,
body .support-page-tabs-inner::after,
body .support-page-layout::before,
body .support-page-layout::after,
body .support-guide-shell::before,
body .support-guide-shell::after,
body .support-consult-panel::before,
body .support-consult-panel::after,
body .support-consult-layout::before,
body .support-consult-layout::after {
    content: none;
    display: none;
}

body .support-download-row {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr) 5.5rem;
    align-items: center;
}

body .support-file-badge {
    width: 5rem;
    min-height: 3rem;
}

body .support-download-info p,
body .support-guide-body p,
body .support-after-list p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body .support-download-action {
    align-self: center;
    white-space: nowrap;
}

body .support-guide-grid:empty,
body .support-after-list:empty {
    display: none;
}

body .support-guide-media img,
body .support-guide-media video {
    object-fit: cover;
}

body .support-guide-media {
    background:
        linear-gradient(135deg, rgba(255,255,255,0.92), rgba(239,239,236,0.88)),
        repeating-linear-gradient(135deg, rgba(210,5,30,0.08) 0 0.0625rem, transparent 0.0625rem 0.75rem);
}

body .support-guide-placeholder {
    position: relative;
    display: grid;
    place-items: center;
    gap: 0.55rem;
    width: 100%;
    height: 100%;
    min-height: 13rem;
    padding: 1.5rem;
    color: #1f1f1f;
    text-align: center;
}

body .support-guide-placeholder::before {
    content: "";
    width: 3.5rem;
    height: 3.5rem;
    border: 0.18rem solid #d2051e;
    border-radius: 50%;
    background:
        linear-gradient(90deg, transparent 0 38%, #d2051e 38% 62%, transparent 62% 100%),
        linear-gradient(0deg, transparent 0 38%, #d2051e 38% 62%, transparent 62% 100%);
    opacity: 0.95;
}

body .support-guide-placeholder::after {
    content: "";
    position: absolute;
    inset: auto 1.5rem 1.25rem;
    height: 0.25rem;
    background: linear-gradient(90deg, #d2051e 0 5rem, #1f1f1f 5rem 100%);
}

body .support-guide-placeholder b {
    display: block;
    color: #d2051e;
    font-size: 1.2rem;
    line-height: 1.35;
}

body .support-guide-placeholder span {
    color: #66635f;
    font-size: 0.95rem;
    font-weight: 700;
}

/* About page */
body .about-hero {
    position: relative;
    min-height: 34rem;
    display: flex;
    align-items: center;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(18,18,18,0.94), rgba(18,18,18,0.72) 52%, rgba(18,18,18,0.5)),
        linear-gradient(115deg, rgba(210,5,30,0.28) 0 18%, transparent 18% 100%),
        #242329;
    background-size: cover;
    background-position: center;
}

body .about-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(21rem, 30rem);
    gap: 3rem;
    align-items: end;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

body .about-hero-copy span,
body .about-section-head span,
body .about-cta span {
    display: block;
    margin-bottom: 0.65rem;
    color: #d2051e;
    font-weight: 900;
}

body .about-hero-copy h1 {
    max-width: 58rem;
    margin: 0;
    color: #fff;
    font-size: clamp(2.6rem, 5vw, 4.8rem);
    line-height: 1.05;
}

body .about-hero-copy p {
    max-width: 48rem;
    margin: 1.2rem 0 0;
    color: rgba(255,255,255,0.82);
    font-size: 1.08rem;
    line-height: 1.8;
}

body .about-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 2rem;
}

body .about-hero-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 0.0625rem solid rgba(255,255,255,0.22);
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(0.25rem);
}

body .about-hero-panel article {
    min-height: 7rem;
    padding: 1.25rem;
    border-right: 0.0625rem solid rgba(255,255,255,0.18);
    border-bottom: 0.0625rem solid rgba(255,255,255,0.18);
}

body .about-hero-panel article:nth-child(2n) {
    border-right: 0;
}

body .about-hero-panel article:nth-last-child(-n+2) {
    border-bottom: 0;
}

body .about-hero-panel strong,
body .about-hero-panel span {
    display: block;
}

body .about-hero-panel strong {
    color: #fff;
    font-size: 1.25rem;
    line-height: 1.3;
}

body .about-hero-panel span {
    margin-top: 0.55rem;
    color: rgba(255,255,255,0.72);
}

body .about-tabs {
    position: sticky;
    top: 4.5rem;
    z-index: 40;
    background: #fff;
    border-bottom: 0.0625rem solid #deded9;
    box-shadow: 0 0.45rem 1rem rgba(0,0,0,0.04);
}

body .about-tabs-inner {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

body .about-tabs-inner::before,
body .about-tabs-inner::after {
    content: none;
    display: none;
}

body .about-tabs a {
    min-width: 0;
    padding: 1rem 1.1rem;
    color: #514f53;
    text-decoration: none;
    border-left: 0.0625rem solid #ededeb;
}

body .about-tabs a:last-child {
    border-right: 0.0625rem solid #ededeb;
}

body .about-tabs strong,
body .about-tabs span {
    display: block;
    overflow-wrap: anywhere;
}

body .about-tabs strong {
    color: #1a1a1a;
    font-size: 1rem;
}

body .about-tabs span {
    margin-top: 0.35rem;
    color: #6b6862;
    font-size: 0.82rem;
    line-height: 1.45;
}

body .about-tabs a:hover {
    background: #f7f7f5;
    color: #d2051e;
}

body .about-section {
    position: relative;
    padding: 4.5rem 0;
    background: #fff;
    scroll-margin-top: 9.5rem;
}

body .about-section-muted,
body .about-news-section {
    background: #f7f7f5;
}

body .about-section-head {
    max-width: 58rem;
    margin-bottom: 1.8rem;
}

body .about-section-head h2 {
    margin: 0;
    color: #111;
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    line-height: 1.16;
}

body .about-head-row {
    max-width: none;
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: end;
}

body .about-head-row > a {
    color: #d2051e;
    font-weight: 900;
}

body .about-profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr) minmax(18rem, 24rem);
    gap: 2rem;
    align-items: start;
}

body .about-profile-grid::before,
body .about-profile-grid::after,
body .about-factory-grid::before,
body .about-factory-grid::after,
body .about-culture-grid::before,
body .about-culture-grid::after,
body .about-cta-inner::before,
body .about-cta-inner::after {
    content: none;
    display: none;
}

body .about-profile-main,
body .about-position-card,
body .about-feature-card,
body .about-honor-card,
body .about-news-card {
    min-width: 0;
}

body .about-content {
    padding: 1.5rem;
    background: #fff;
    border: 0.0625rem solid #deded9;
}

body .about-content > :first-child { margin-top: 0; }
body .about-content > :last-child { margin-bottom: 0; }
body .about-content p {
    color: #262626;
    line-height: 1.85;
}

body .about-position-card {
    padding: 1.5rem;
    color: #fff;
    background: #1f1f1f;
    border-left: 0.25rem solid #d2051e;
}

body .about-position-card b,
body .about-position-card strong,
body .about-position-card p {
    display: block;
}

body .about-position-card b {
    color: #d2051e;
}

body .about-position-card strong {
    margin: 0.8rem 0;
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.3;
}

body .about-position-card p {
    margin: 0;
    color: rgba(255,255,255,0.75);
    line-height: 1.8;
}

body .about-feature-grid,
body .about-honor-grid,
body .about-news-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

body .about-module-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(28rem, 1.05fr);
    gap: 2rem;
    align-items: stretch;
}

body .about-module-gallery,
body .about-honor-gallery {
    min-width: 0;
}

body .about-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    height: 100%;
}

body .about-gallery-grid span {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ededeb;
    border: 0.0625rem solid #deded9;
}

body .about-gallery-grid img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body .about-module-gallery .about-gallery-grid span:first-child {
    grid-column: span 2;
    grid-row: span 2;
}

body .about-gallery-grid.count-1 {
    grid-template-columns: 1fr;
}

body .about-gallery-grid.count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body .about-honor-gallery .about-gallery-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body .about-honor-gallery .about-gallery-grid span:first-child {
    grid-column: auto;
    grid-row: auto;
}

body .about-feature-card,
body .about-honor-card {
    position: relative;
    min-height: 12rem;
    padding: 1.4rem;
    background: #fff;
    border: 0.0625rem solid #deded9;
}

body .about-feature-card span {
    display: block;
    width: 2.8rem;
    height: 0.28rem;
    margin-bottom: 1.2rem;
    background: #d2051e;
}

body .about-feature-card strong,
body .about-honor-card strong,
body .about-culture-grid article strong {
    display: block;
    color: #1a1a1a;
    font-size: 1.16rem;
    line-height: 1.35;
}

body .about-feature-card p,
body .about-honor-card p {
    margin: 0.8rem 0 0;
    color: #5f5b60;
    line-height: 1.75;
}

body .about-image-placeholder {
    display: grid;
    place-items: center;
    gap: 0.5rem;
    width: 100%;
    height: 100%;
    text-align: center;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.86), rgba(235,235,232,0.92)),
        repeating-linear-gradient(135deg, rgba(210,5,30,0.08) 0 0.0625rem, transparent 0.0625rem 0.75rem);
}

body .about-image-placeholder strong {
    color: #d2051e;
    font-size: 1.35rem;
}

body .about-image-placeholder span {
    color: #5f5b60;
}

body .about-process-list {
    display: grid;
    gap: 0.85rem;
}

body .about-process-list article {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.1rem;
    background: #f7f7f5;
    border: 0.0625rem solid #deded9;
}

body .about-process-list b {
    color: #d2051e;
    font-size: 1.35rem;
}

body .about-process-list strong,
body .about-process-list p {
    grid-column: 2;
}

body .about-process-list strong {
    color: #1a1a1a;
}

body .about-process-list p {
    margin: 0.3rem 0 0;
    color: #5f5b60;
    line-height: 1.7;
}

body .about-honor-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body .about-honor-card.is-linked {
    border-top: 0.22rem solid #d2051e;
}

body .about-honor-card a {
    display: inline-flex;
    margin-top: 1rem;
    color: #d2051e;
    font-weight: 900;
}

body .about-culture-grid {
    grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
}

body .about-culture-grid .about-section-head {
    margin: 0;
}

body .about-culture-content {
    min-width: 0;
}

body .about-culture-grid article {
    min-height: 12rem;
    padding: 1.35rem;
    background: #f7f7f5;
    border: 0.0625rem solid #deded9;
}

body .about-culture-grid article b {
    display: block;
    margin-bottom: 1rem;
    color: #d2051e;
}

body .about-news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body .about-news-card {
    display: grid;
    gap: 0.8rem;
    padding: 1.2rem;
    color: #1a1a1a;
    background: #fff;
    border: 0.0625rem solid #deded9;
}

body .about-news-card span {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #ededeb;
}

body .about-news-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body .about-news-card p {
    margin: 0;
    color: #5f5b60;
    line-height: 1.65;
}

body .about-cta {
    padding: 3rem 0;
    color: #fff;
    background: #1f1f1f;
}

body .about-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

body .about-cta h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

@media (max-width: 1199.98px) {
    body .about-hero-inner,
    body .about-profile-grid,
    body .about-module-grid,
    body .about-culture-grid {
        grid-template-columns: 1fr;
    }

    body .about-feature-grid,
    body .about-honor-grid,
    body .about-honor-gallery .about-gallery-grid,
    body .about-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body .about-module-gallery .about-gallery-grid span:first-child {
        grid-column: auto;
        grid-row: auto;
    }

    body .about-tabs {
        top: 4rem;
    }
}

@media (max-width: 767.98px) {
    body .about-hero {
        min-height: auto;
    }

    body .about-hero-inner {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    body .about-hero-panel,
    body .about-feature-grid,
    body .about-honor-grid,
    body .about-gallery-grid,
    body .about-honor-gallery .about-gallery-grid,
    body .about-news-grid {
        grid-template-columns: 1fr;
    }

    body .about-tabs {
        position: static;
    }

    body .about-tabs-inner {
        display: flex;
        overflow-x: auto;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    body .about-tabs a {
        flex: 0 0 13.5rem;
    }

    body .about-section {
        padding: 3rem 0;
        scroll-margin-top: 5rem;
    }

    body .about-head-row,
    body .about-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    body .about-hero-actions,
    body .about-hero-actions .btn,
    body .about-cta .btn {
        width: 100%;
    }
}

@media (max-width: 1199.98px) {
    body .support-page-tabs {
        top: 4rem;
    }

    body .support-page-section {
        scroll-margin-top: 9rem;
    }
}

@media (max-width: 767.98px) {
    body .support-page-tabs {
        display: none;
    }

    body .support-page-tabs-inner {
        display: flex;
        gap: 0;
        overflow-x: auto;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    body .support-page-tabs a {
        flex: 0 0 13.5rem;
    }

    body .support-page-layout,
    body .support-guide-shell,
    body .support-consult-panel,
    body .support-consult-layout {
        grid-template-columns: 1fr;
    }

    body .support-policy-grid,
    body .support-process-grid {
        grid-template-columns: 1fr;
    }

    body #after-sales .support-page-head {
        margin-bottom: 1rem;
    }

    body #after-sales .support-page-head span {
        margin-bottom: 0.35rem;
        font-size: 0.9rem;
    }

    body #after-sales .support-page-head h2 {
        font-size: 1.55rem;
        line-height: 1.22;
    }

    body #after-sales .support-page-head p {
        margin-top: 0.6rem;
        font-size: 0.95rem;
        line-height: 1.65;
    }

    body #after-sales .support-process-grid {
        gap: 0.75rem;
        margin-bottom: 1rem;
    }

    body #after-sales .support-process-grid article,
    body #after-sales .support-policy-grid article {
        padding: 1rem;
        border-left: 0.1875rem solid #d2051e;
        background: #fff;
    }

    body #after-sales .support-process-grid article {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: 0.75rem;
        row-gap: 0.35rem;
        align-items: baseline;
    }

    body #after-sales .support-process-grid b {
        font-size: 1.25rem;
    }

    body #after-sales .support-process-grid strong {
        margin: 0;
        font-size: 1rem;
    }

    body #after-sales .support-process-grid p {
        grid-column: 1 / -1;
        font-size: 0.94rem;
        line-height: 1.65;
    }

    body #after-sales .support-policy-grid {
        gap: 0.75rem;
    }

    body #after-sales .support-policy-grid h3 {
        margin-bottom: 0.45rem;
        font-size: 1.05rem;
    }

    body #after-sales .support-policy-grid p {
        font-size: 0.94rem;
        line-height: 1.65;
    }

    body .support-download-row {
        grid-template-columns: 4.25rem minmax(0, 1fr);
        gap: 0.85rem;
    }

    body .support-file-badge {
        width: 4.25rem;
    }

    body .support-download-action {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* Mobile detail pages: product, article, cases and common anchored sections */
@media (max-width: 767.98px) {
    body .product-detail-hero {
        padding: 1.5rem 0 2rem;
        background: #fff;
    }

    body .product-detail-layout {
        display: grid;
        grid-template-areas:
            "summary"
            "gallery";
        grid-template-columns: 1fr;
        gap: 1.15rem;
        align-items: start;
    }

    body .product-detail-summary {
        grid-area: summary;
        display: grid;
        gap: 0.8rem;
    }

    body .product-detail-summary > span {
        color: #d2051e;
        font-size: 0.82rem;
        font-weight: 900;
    }

    body .product-detail-summary h1 {
        margin: 0;
        font-size: 1.85rem;
        line-height: 1.14;
        max-height: none;
        overflow: visible;
    }

    body .product-detail-summary p {
        margin: 0;
        color: #514f53;
        line-height: 1.65;
    }

    body .product-detail-summary > p:not(.product-subtitle) {
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }

    body .product-subtitle {
        color: #1a1a1a;
        font-size: 1rem;
        font-weight: 900;
    }

    body .product-detail-gallery {
        grid-area: gallery;
        min-height: 0;
        margin-top: 0.35rem;
        background: #f4f4f1;
        border: 0.0625rem solid #deded9;
    }

    body .product-detail-gallery .carousel,
    body .product-detail-gallery .carousel-inner,
    body .product-detail-gallery .item {
        height: auto;
    }

    body .product-detail-gallery img,
    body .product-detail-gallery .item img {
        display: block;
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        padding: 0;
        object-fit: contain;
        background: #f4f4f1;
    }

    body .product-detail-gallery .carousel-control {
        width: 14%;
        background: transparent;
        opacity: 0.85;
    }

    body .product-detail-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
        margin-top: 0.2rem;
    }

    body .product-detail-actions .btn {
        min-height: 2.9rem;
    }

    body .product-detail-meta {
        display: grid;
        gap: 0.35rem;
        color: #7d7565;
        font-size: 0.88rem;
    }

    body .product-detail-content,
    body .article-section,
    body .page-section {
        padding: 2rem 0 2.75rem;
    }

    body .detail-grid {
        gap: 1.5rem;
    }

    body .detail-tabbar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin: 0 0 1.6rem;
        padding: 0;
        overflow: hidden;
        border-bottom: 0.0625rem solid #deded9;
        background: #fff;
    }

    body .detail-tabbar a,
    body .detail-tabbar a:last-child {
        flex: none;
        width: auto;
        min-width: 0;
        min-height: 2.75rem;
        justify-content: center;
        padding: 0.7rem 0.9rem;
        border: 0.0625rem solid #d8d8d4;
        border-right: 0;
        border-bottom: 0;
        white-space: nowrap;
    }

    body .detail-tabbar a:nth-child(2n),
    body .detail-tabbar a:last-child {
        border-right: 0.0625rem solid #d8d8d4;
    }

    body .detail-tabbar a:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    body .detail-tabbar a.active {
        border-top-width: 0.0625rem;
        background: #d2051e;
        color: #fff;
        padding-top: 0.7rem;
    }

    body .product-detail-content .detail-tabbar {
        display: none;
    }

    body .product-detail-content {
        padding-top: 0.25rem;
    }

    body .detail-main > h2,
    body .page-main > h2 {
        margin: 1.75rem 0 0.9rem;
        font-size: 1.45rem;
        line-height: 1.25;
    }

    body .product-detail-content .detail-main > h2:first-of-type {
        margin-top: 0;
    }

    body .content-body,
    body .detail-muted,
    body .process-body {
        font-size: 0.98rem;
        line-height: 1.75;
    }

    body .detail-check-list,
    body .detail-step-grid,
    body .detail-main .compact-card-grid {
        gap: 0.75rem;
    }

    body .detail-check-list li,
    body .detail-step-grid article,
    body .detail-main .compact-card {
        padding: 1rem;
        min-height: 0;
    }

    body .detail-check-list li {
        padding-left: 2.65rem;
    }

    body .detail-param-table,
    body .detail-param-table tbody,
    body .detail-param-table tr,
    body .detail-param-table th,
    body .detail-param-table td {
        display: block;
        width: 100%;
    }

    body .detail-param-table {
        border: 0;
        background: transparent;
    }

    body .detail-param-table tr {
        margin-bottom: 0.75rem;
        overflow: hidden;
        border: 0.0625rem solid #deded9;
        background: #fff;
    }

    body .detail-param-table th,
    body .detail-param-table td {
        padding: 0.9rem 1rem;
        border-bottom: 0;
        line-height: 1.6;
        overflow-wrap: anywhere;
    }

    body .detail-param-table th {
        background: #f7f7f5;
        font-size: 0.95rem;
    }

    body .download-row {
        grid-template-columns: 3.25rem minmax(0, 1fr);
        gap: 0.75rem;
        padding: 1rem;
    }

    body .download-row strong,
    body .download-row em,
    body .download-row b {
        grid-column: 2;
    }

    body .download-row b {
        justify-self: stretch;
        text-align: center;
    }

    body .detail-side {
        padding: 1rem;
        background: #fff;
    }

    body .detail-side .btn {
        margin-top: 0.9rem;
    }

    body .support-band {
        padding: 2.25rem 0;
    }

    body .support-band .section-heading-row {
        gap: 0.85rem;
        margin-bottom: 1.1rem;
    }

    body .support-band .section-heading h2 {
        font-size: 1.65rem;
    }

    body .section-more {
        display: inline-flex;
        width: auto;
        min-height: 2.5rem;
        align-items: center;
    }

    body .compact-card {
        min-height: 0;
        padding: 1.1rem;
    }

    body .compact-card strong {
        font-size: 1.08rem;
        line-height: 1.35;
    }
}

/* Mobile simplification pass: prioritize clarity over desktop density. */
@media (max-width: 767.98px) {
    body .floating-contact,
    body .detail-side,
    body .service-sidebar,
    body .filter-contact,
    body .listing-hero::after,
    body .page-hero::after,
    body .article-hero::after,
    body .yd-footer-cta::before,
    body .yd-footer-cta::after {
        display: none !important;
    }

    body .listing-hero,
    body .article-hero,
    body .page-hero {
        padding: 2.25rem 0;
    }

    body .listing-hero span,
    body .article-hero span,
    body .page-hero span {
        margin-bottom: 0.55rem;
        letter-spacing: 0;
    }

    body .listing-hero h1,
    body .article-hero h1,
    body .page-hero h1 {
        margin-bottom: 0.75rem;
        font-size: 1.8rem;
        line-height: 1.15;
    }

    body .listing-hero p,
    body .article-hero p,
    body .page-hero p,
    body .yd-section-head p,
    body .section-heading p {
        display: -webkit-box;
        margin-bottom: 1rem;
        overflow: hidden;
        line-height: 1.65;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    body .listing-search {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
        max-width: none;
    }

    body .listing-search input,
    body .listing-search button {
        width: 100%;
    }

    body .search-page-hero {
        padding: 1.65rem 0 1.9rem;
    }

    body .search-page-hero h1 {
        max-width: 19rem;
        font-size: 1.65rem;
        line-height: 1.18;
    }

    body .search-page-hero .listing-search {
        gap: 0.7rem;
    }

    body .search-page-hero .listing-search input,
    body .search-page-hero .listing-search .btn {
        height: 2.9rem;
    }

    body .search-page-section {
        padding: 1.4rem 0 2.25rem;
    }

    body .search-results {
        gap: 0.85rem;
    }

    body .search-page-section .listing-toolbar {
        display: grid;
        gap: 0.25rem;
        padding: 0.9rem 1rem;
    }

    body .search-page-section .listing-toolbar strong {
        font-size: 1.05rem;
    }

    body .search-page-section .listing-toolbar span {
        color: #6b6862;
        font-size: 0.9rem;
    }

    body .search-result-section {
        padding: 1rem;
    }

    body .search-result-section h2 {
        margin-bottom: 0.75rem;
        font-size: 1.15rem;
    }

    body .search-result-section .compact-card-grid {
        gap: 0.65rem;
    }

    body .search-result-section .compact-card {
        padding: 0.9rem;
    }

    body .search-empty {
        padding: 0.85rem;
        font-size: 0.92rem;
    }

    body .listing-section {
        padding: 1.5rem 0 2.75rem;
    }

    body .listing-layout {
        gap: 1rem;
    }

    body .listing-filter {
        display: flex;
        gap: 0.5rem;
        margin: 0 -1rem 0.75rem;
        padding: 0 1rem 0.75rem;
        overflow-x: auto;
        background: transparent;
        border: 0;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    body .listing-filter h3 {
        display: none;
    }

    body .listing-filter > a {
        flex: 0 0 auto;
        min-height: 2.6rem;
        padding: 0.65rem 0.9rem;
        color: #33333a;
        background: #fff;
        border: 0.0625rem solid #deded9;
        scroll-snap-align: start;
        white-space: nowrap;
    }

    body .listing-filter > a.active {
        color: #fff;
        background: #d2051e;
        border-color: #d2051e;
    }

    body .product-listing-section .listing-filter {
        display: none;
    }

    body .case-region-filter {
        flex: 0 0 17rem;
        padding: 0.75rem;
        background: #fff;
        border: 0.0625rem solid #deded9;
    }

    body .listing-toolbar {
        margin-bottom: 1rem;
        padding: 0;
        border-bottom: 0;
    }

    body .listing-toolbar span {
        display: none;
    }

    body .product-system-grid,
    body .case-card-grid,
    body .news-list-grid {
        gap: 1rem;
    }

    body .product-system-card,
    body .case-card,
    body .news-list-card {
        border: 0.0625rem solid #deded9;
        background: #fff;
    }

    body .product-system-image,
    body .case-card-media,
    body .news-list-image {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    body .product-system-image img,
    body .case-card-media img,
    body .news-list-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body .product-system-body,
    body .case-card-body,
    body .news-list-body {
        padding: 1rem;
    }

    body .product-system-body h3,
    body .case-card-body h2,
    body .news-list-body h2 {
        margin-bottom: 0.55rem;
        font-size: 1.18rem;
        line-height: 1.3;
    }

    body .product-system-body p,
    body .case-card-body p,
    body .news-list-body p {
        display: -webkit-box;
        overflow: hidden;
        line-height: 1.6;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    body .yd-footer-cta {
        padding: 2.2rem 0;
        background: #f7f7f5;
        color: #1a1a1a;
    }

    body .yd-footer-cta span {
        margin-bottom: 0.45rem;
    }

    body .yd-footer-cta h2 {
        font-size: 1.55rem;
        line-height: 1.2;
    }

    body .yd-footer-cta p {
        display: none;
    }

    body .yd-footer-cta .btn {
        width: 100%;
    }

    body .support-page-section,
    body .about-section,
    body .contact-section,
    body .support-band {
        padding-top: 2.4rem;
        padding-bottom: 2.6rem;
    }

    body .support-page-filter,
    body .support-page-filter-light,
    body .about-feature-card,
    body .about-honor-card,
    body .contact-form,
    body .contact-methods article,
    body .contact-map-card {
        padding: 1rem;
    }

    body .support-page-category-list,
    body .about-tabs-inner {
        margin-left: -1rem;
        margin-right: -1rem;
    }

    body .support-page-section .support-page-filter,
    body .support-page-section .support-page-filter-light {
        display: none !important;
    }

    body .pagination-wrap {
        margin-top: 1.25rem;
        overflow-x: auto;
    }
}

/* Final lock for homepage first screen. Keep this at the end so older card rules cannot override the Hilti reference layout. */
body .hilti-card-hero {
    padding: 22px 0 0 !important;
    background: #f7f7f5 !important;
}

body .hilti-card-hero .hilti-card-hero-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 2.05fr) minmax(360px, 1fr) !important;
    grid-template-rows: 330px 330px !important;
    gap: 10px !important;
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    min-height: 670px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .hilti-card-hero .hilti-hero-card {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    color: #fff !important;
    background: #242329 !important;
    text-decoration: none !important;
}

body .hilti-card-hero .hilti-hero-primary {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
}

body .hilti-card-hero .hilti-hero-secondary-top {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

body .hilti-card-hero .hilti-hero-secondary-bottom {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

body .hilti-card-hero .hilti-hero-card::before {
    content: none !important;
}

body .hilti-card-hero .hilti-hero-card-image,
body .hilti-card-hero .hilti-hero-card-shade {
    position: absolute !important;
    inset: 0 !important;
}

body .hilti-card-hero .hilti-hero-card-image {
    background-position: center !important;
    background-size: cover !important;
}

body .hilti-card-hero .hilti-hero-card-shade {
    background: linear-gradient(90deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.34) 48%, rgba(0,0,0,0.08) 100%) !important;
}

body .hilti-card-hero .hilti-hero-card-text {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    color: #fff !important;
}

body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text {
    justify-content: center !important;
    width: 45% !important;
    min-width: 440px !important;
    padding: 0 0 0 30px !important;
}

body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text {
    justify-content: flex-start !important;
    width: 88% !important;
    min-width: 0 !important;
    padding: 26px !important;
}

body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text strong {
    font-size: 44px !important;
    line-height: 1.08 !important;
}

body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text strong {
    font-size: 24px !important;
    line-height: 1.18 !important;
}

body .hilti-card-hero .hilti-hero-card-text em {
    margin-bottom: 14px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

body .hilti-card-hero .hilti-hero-card-text small {
    margin-top: 15px !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text small {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

body .hilti-card-hero .hilti-hero-card-text b {
    width: fit-content !important;
    margin-top: 22px !important;
    padding-bottom: 4px !important;
    color: #fff !important;
    font-size: 15px !important;
    border-bottom: 2px solid #fff !important;
}

body .hilti-card-hero + .yd-home-service-cards {
    margin-top: 0 !important;
    padding-top: 16px !important;
}

@media (max-width: 1199.98px) {
    body .hilti-card-hero .hilti-card-hero-grid {
        width: calc(100% - 40px) !important;
        grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr) !important;
        grid-template-rows: 300px 300px !important;
        min-height: 610px !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text {
        min-width: 360px !important;
    }
}

@media (max-width: 767.98px) {
    body .hilti-card-hero {
        padding-top: 0 !important;
    }

    body .hilti-card-hero .hilti-card-hero-grid {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 420px 220px 220px !important;
        gap: 8px !important;
        min-height: 0 !important;
    }

    body .hilti-card-hero .hilti-hero-primary,
    body .hilti-card-hero .hilti-hero-secondary-top,
    body .hilti-card-hero .hilti-hero-secondary-bottom {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text,
    body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text {
        justify-content: flex-end !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 24px 20px !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text strong {
        font-size: 31px !important;
    }
}

/* Final product mega menu lock */
body .site-header .header-nav > li:first-child > .mega-menu .mega-menu-inner {
    min-height: 264px !important;
    padding: 28px 42px 28px !important;
}

body .site-header .mega-product-category-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 260px) !important;
    gap: 22px 72px !important;
    width: max-content !important;
    max-width: 100% !important;
}

body .site-header .mega-product-category-item {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    min-height: 58px !important;
    gap: 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

body .site-header .mega-product-category-item .mega-product-thumb {
    width: 58px !important;
    height: 58px !important;
    background-color: transparent !important;
    background-size: contain !important;
}

body .site-header .mega-product-view-all {
    margin-top: 24px !important;
}

/* Final support page fix: remove Bootstrap clearfix pseudo-elements from CSS grid and use a cleaner Hilti-style service page. */
body .yt-wide-container::before,
body .yt-wide-container::after,
body .yt-support-layout::before,
body .yt-support-layout::after,
body .yt-document-list::before,
body .yt-document-list::after,
body .yt-guide-grid::before,
body .yt-guide-grid::after,
body .yt-process-grid::before,
body .yt-process-grid::after {
    content: none !important;
    display: none !important;
}

body .yt-support-hero {
    min-height: 190px !important;
    display: flex !important;
    align-items: center !important;
    color: #202126 !important;
    background: #f4f4f1 !important;
    border-bottom: 1px solid #deded9 !important;
}

body .yt-support-hero-copy {
    max-width: 840px !important;
}

body .yt-support-hero-copy h1 {
    margin: 0 0 14px !important;
    color: #202126 !important;
    font-size: 34px !important;
    line-height: 1.12 !important;
}

body .yt-support-hero-copy p {
    max-width: 760px !important;
    color: #524f53 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

body .yt-support-search {
    padding: 16px 0 !important;
    background: #f7f7f5 !important;
    border-bottom: 1px solid #deded9 !important;
}

body .yt-support-search-box {
    max-width: 820px !important;
}

body .yt-support-layout {
    display: grid !important;
    grid-template-columns: 320px minmax(0, 1fr) !important;
    gap: 42px !important;
    align-items: start !important;
}

body .yt-support-side,
body .yt-support-main {
    min-width: 0 !important;
}

body .yt-support-main {
    display: block !important;
}

body .yt-support-section {
    margin: 0 0 26px !important;
    padding: 0 0 28px !important;
}

body .yt-support-section.yt-support-muted {
    padding: 30px !important;
}

body .yt-document-row {
    grid-template-columns: 64px minmax(0, 1fr) 104px !important;
    gap: 16px !important;
    padding: 14px 16px !important;
}

body .yt-document-icon {
    height: 58px !important;
    font-size: 13px !important;
}

body .yt-document-body h3 {
    font-size: 17px !important;
}

body .yt-document-download {
    min-height: 40px !important;
}

@media (max-width: 991.98px) {
    body .yt-support-layout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    body .yt-support-side {
        position: static !important;
    }
}

/* Hilti-style support and about pages */
body .yt-wide-container {
    width: calc(100% - 120px) !important;
    max-width: 1785px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .yt-support-hero {
    min-height: 360px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(0,0,0,0.76), rgba(0,0,0,0.2)),
        url('/assets/img/hilti-default-banner.jpg');
    background-color: #333;
    background-size: cover;
    background-position: center;
    color: #fff;
}

body .yt-support-hero-copy {
    max-width: 760px;
}

body .yt-support-hero-copy span,
body .yt-section-head span,
body .yt-consult-panel span,
body .yt-about-hero-copy span {
    display: block;
    color: #d2051e;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 12px;
}

body .yt-support-hero-copy h1,
body .yt-about-hero-copy h1 {
    margin: 0 0 16px;
    color: inherit;
    font-size: 44px;
    font-weight: 900;
    line-height: 1.12;
}

body .yt-support-hero-copy p,
body .yt-about-hero-copy p {
    margin: 0;
    color: rgba(255,255,255,0.9);
    font-size: 17px;
    line-height: 1.75;
}

body .yt-support-search {
    padding: 24px 0;
    background: #f4f4f1;
    border-bottom: 1px solid #deded9;
}

body .yt-support-search-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    max-width: 920px;
    border: 1px solid #cfcfca;
    background: #fff;
}

body .yt-support-search-box input {
    height: 54px;
    padding: 0 18px;
    border: 0;
    outline: none;
}

body .yt-support-search-box button {
    border: 0;
    background: #d2051e;
    color: #fff;
    font-weight: 900;
}

body .yt-support-page,
body .yt-about-page {
    padding: 42px 0 70px;
    background: #fff;
}

body .yt-support-layout,
body .yt-about-layout {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 36px;
    align-items: start;
}

body .yt-support-side,
body .yt-about-side {
    position: sticky;
    top: 112px;
    border-top: 1px solid #deded9;
    border-bottom: 1px solid #deded9;
    padding: 18px 0 22px;
}

body .yt-support-side h2,
body .yt-about-side h2 {
    margin: 0 0 14px;
    color: #202126;
    font-size: 22px;
    font-weight: 900;
}

body .yt-support-side > a,
body .yt-about-side > a,
body .yt-support-filter a {
    display: block;
    padding: 7px 0;
    color: #524f53;
    font-size: 15px;
}

body .yt-support-side > a.active,
body .yt-support-side > a:hover,
body .yt-about-side > a.active,
body .yt-about-side > a:hover,
body .yt-support-filter a:hover {
    color: #d2051e;
}

body .yt-support-filter {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #deded9;
}

body .yt-support-filter strong {
    display: block;
    margin-bottom: 8px;
    color: #202126;
}

body .yt-support-section,
body .yt-about-section {
    padding: 0 0 42px;
    margin-bottom: 38px;
    border-bottom: 1px solid #ededeb;
}

body .yt-support-muted {
    padding: 34px;
    background: #f7f7f5;
    border: 0;
}

body .yt-section-head {
    max-width: 850px;
    margin-bottom: 22px;
}

body .yt-section-head h2,
body .yt-about-section h2,
body .yt-consult-panel h2 {
    margin: 0 0 12px;
    color: #202126;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.2;
}

body .yt-section-head p {
    margin: 0;
    color: #6b6862;
    line-height: 1.75;
}

body .yt-document-list {
    display: grid;
    gap: 10px;
}

body .yt-document-row {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) 116px;
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid #deded9;
    background: #fff;
}

body .yt-document-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 66px;
    border: 2px solid #d2051e;
    color: #d2051e;
    font-weight: 900;
}

body .yt-document-body h3 {
    margin: 0 0 6px;
    color: #202126;
    font-size: 18px;
    font-weight: 900;
}

body .yt-document-body p {
    margin: 0 0 6px;
    color: #555;
    line-height: 1.55;
}

body .yt-document-body span {
    color: #7d7565;
    font-size: 13px;
}

body .yt-document-download {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    color: #fff;
    background: #d2051e;
    font-weight: 900;
}

body .yt-guide-grid,
body .yt-about-card-grid,
body .yt-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body .yt-guide-card,
body .yt-about-info-card,
body .yt-process-grid article {
    background: #fff;
    border: 1px solid #deded9;
}

body .yt-guide-media {
    display: block;
    height: 180px;
    background: #f2f2ef;
}

body .yt-guide-media img,
body .yt-about-info-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body .yt-guide-body {
    padding: 18px;
}

body .yt-guide-body span {
    color: #d2051e;
    font-size: 13px;
    font-weight: 800;
}

body .yt-guide-body h3 {
    margin: 8px 0;
    font-size: 19px;
    line-height: 1.3;
}

body .yt-guide-body h3 a {
    color: #202126;
}

body .yt-guide-body p {
    color: #6b6862;
    line-height: 1.6;
}

body .yt-text-link {
    color: #d2051e;
    font-weight: 900;
}

body .yt-consult-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    padding: 34px;
    background: #202126;
    color: #fff;
}

body .yt-consult-panel h2,
body .yt-consult-panel p {
    color: #fff;
}

body .yt-process-grid article {
    padding: 22px;
}

body .yt-process-grid b {
    color: #d2051e;
    font-size: 24px;
}

body .yt-process-grid strong {
    display: block;
    margin: 12px 0 8px;
    color: #202126;
    font-size: 18px;
}

body .yt-process-grid p {
    color: #6b6862;
    line-height: 1.65;
}

body .yt-empty-state {
    padding: 28px;
    background: #f7f7f5;
    border: 1px solid #deded9;
}

body .yt-about-breadcrumb {
    padding: 20px 0;
    background: #fff;
}

body .yt-about-breadcrumb .yt-wide-container {
    display: flex;
    gap: 8px;
    color: #696969;
    font-size: 13px;
}

body .yt-about-breadcrumb a,
body .yt-about-breadcrumb strong {
    color: #696969;
    font-weight: 400;
}

body .yt-about-breadcrumb span {
    color: #d2051e;
}

body .yt-about-hero {
    background: #f4f4f1;
    padding: 0 0 42px;
}

body .yt-about-hero .yt-wide-container {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
    gap: 36px;
    align-items: center;
}

body .yt-about-hero-media {
    height: 430px;
    background: #ddd;
}

body .yt-about-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body .yt-about-hero-copy {
    color: #202126;
}

body .yt-about-hero-copy p {
    color: #524f53;
}

body .yt-about-main .content-body {
    color: #524f53;
    font-size: 16px;
    line-height: 1.85;
}

body .yt-about-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body .yt-about-gallery img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border: 1px solid #deded9;
}

body .yt-about-more {
    padding: 52px 0 72px;
    background: #f7f7f5;
}

body .yt-about-info-card {
    display: block;
    color: #524f53;
}

body .yt-about-info-card img {
    height: 190px;
    display: block;
}

body .yt-about-info-card strong,
body .yt-about-info-card p,
body .yt-about-info-card em {
    display: block;
    margin-right: 18px;
    margin-left: 18px;
}

body .yt-about-info-card strong {
    margin-top: 18px;
    color: #202126;
    font-size: 20px;
    font-weight: 900;
}

body .yt-about-info-card p {
    min-height: 62px;
    color: #6b6862;
    line-height: 1.55;
}

body .yt-about-info-card em {
    margin-bottom: 20px;
    color: #d2051e;
    font-style: normal;
    font-weight: 900;
}

@media (max-width: 991.98px) {
    body .yt-wide-container {
        width: calc(100% - 40px) !important;
    }

    body .yt-support-layout,
    body .yt-about-layout,
    body .yt-about-hero .yt-wide-container {
        grid-template-columns: 1fr;
    }

    body .yt-support-side,
    body .yt-about-side {
        position: static;
    }

    body .yt-guide-grid,
    body .yt-about-card-grid,
    body .yt-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    body .yt-wide-container {
        width: calc(100% - 32px) !important;
    }

    body .yt-support-hero {
        min-height: 300px;
    }

    body .yt-support-hero-copy h1,
    body .yt-about-hero-copy h1 {
        font-size: 32px;
    }

    body .yt-support-search-box,
    body .yt-document-row,
    body .yt-consult-panel {
        grid-template-columns: 1fr;
    }

    body .yt-guide-grid,
    body .yt-about-card-grid,
    body .yt-process-grid,
    body .yt-about-gallery {
        grid-template-columns: 1fr;
    }

    body .yt-about-hero-media {
        height: 260px;
    }
}

/* Product index should list products directly, not category cards. */
body .yt-direct-product-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body .yt-direct-product-card {
    min-height: 0 !important;
    border: 1px solid #ededeb !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

body .yt-direct-product-card .yt-product-card-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 190px !important;
    padding: 22px 28px 0 !important;
    background: #fff !important;
}

body .yt-direct-product-card .yt-product-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

body .yt-direct-product-card .yt-product-card-body {
    padding: 20px 24px 24px !important;
}

body .yt-direct-product-card .yt-product-card-body span {
    display: block !important;
    margin-bottom: 8px !important;
    color: #d2051e !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

body .yt-direct-product-card .yt-product-card-body h2 {
    margin: 0 0 10px !important;
    color: #202126 !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    line-height: 1.28 !important;
}

body .yt-direct-product-card .yt-product-card-body p {
    display: -webkit-box !important;
    min-height: 42px !important;
    margin: 0 0 14px !important;
    overflow: hidden !important;
    color: #555 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

body .yt-product-empty {
    grid-column: 1 / -1;
    padding: 32px;
    background: #f7f7f5;
    border: 1px solid #ededeb;
    color: #6b6862;
}

/* Final mobile footer lock */
@media (max-width: 767.98px) {
    body .site-footer,
    body .footer-top,
    body .footer-bottom {
        background-image: none !important;
    }

    body .site-footer {
        background: #202126 !important;
        color: #202126 !important;
    }

    body .footer-top {
        padding: 0 !important;
        background: #fff !important;
    }

    body .footer-top > .container,
    body .footer-hilti-inner,
    body .footer-grid,
    body .footer-bottom-inner {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .footer-hilti-inner::before,
    body .footer-hilti-inner::after,
    body .footer-grid::before,
    body .footer-grid::after,
    body .footer-bottom-inner::before,
    body .footer-bottom-inner::after {
        content: none !important;
        display: none !important;
    }

    body .footer-brand-row {
        display: grid !important;
        gap: 4px !important;
        padding: 24px 20px 22px !important;
        margin: 0 !important;
        background: #d2051e !important;
        border: 0 !important;
    }

    body .footer-brand {
        margin: 0 !important;
        color: #fff !important;
        font-size: 20px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
    }

    body .footer-tagline {
        margin: 0 !important;
        color: #fff !important;
        font-size: 24px !important;
        font-weight: 900 !important;
        line-height: 1.25 !important;
    }

    body .footer-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        background: #fff !important;
    }

    body .footer-column,
    body .footer-column:last-child {
        display: block !important;
        order: initial !important;
        grid-column: auto !important;
        padding: 0 !important;
        background: #fff !important;
        border: 0 !important;
        border-bottom: 1px solid #deded9 !important;
    }

    body .footer-column-title {
        display: block !important;
        margin: 0 !important;
        padding: 16px 20px 6px !important;
        color: #202126 !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 1.35 !important;
    }

    body .footer-column-title::after {
        content: none !important;
        display: none !important;
    }

    body .footer-column ul {
        display: grid !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 20px 16px !important;
        list-style: none !important;
    }

    body .footer-column li {
        margin: 0 !important;
        padding: 0 !important;
    }

    body .footer-column a,
    body .footer-column span {
        display: block !important;
        padding: 5px 0 !important;
        color: #524f53 !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        text-decoration: none !important;
    }

    body .footer-bottom {
        padding: 14px 20px !important;
        background: #202126 !important;
    }

    body .footer-bottom-inner {
        display: grid !important;
        gap: 6px !important;
    }

    body .footer-bottom p,
    body .footer-bottom a {
        margin: 0 !important;
        color: rgba(255,255,255,0.72) !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
    }
}

@media (max-width: 1199.98px) {
    body .yt-direct-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    body .yt-direct-product-grid {
        grid-template-columns: 1fr !important;
    }

    body .yt-direct-product-card .yt-product-card-image {
        height: 170px !important;
    }
}

/* Hilti-style product detail page shell */
body .yt-pdp-container {
    max-width: 1300px;
}

body .yt-pdp-container::before,
body .yt-pdp-container::after,
body .yt-pdp-buybox-grid::before,
body .yt-pdp-buybox-grid::after,
body .yt-pdp-related-grid::before,
body .yt-pdp-related-grid::after,
body .yt-pdp-red-actions .yt-pdp-container::before,
body .yt-pdp-red-actions .yt-pdp-container::after {
    content: none !important;
    display: none !important;
}

body .yt-pdp-breadcrumb {
    background: #fff;
    border-bottom: 1px solid #deded9;
}

body .yt-pdp-breadcrumb .yt-pdp-container {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    color: #6b6862;
    font-size: 12px;
}

body .yt-pdp-breadcrumb a {
    color: #6b6862;
}

body .yt-pdp-breadcrumb strong {
    color: #202126;
    font-weight: 800;
}

body .yt-pdp-head {
    background: #fff;
}

body .yt-pdp-head .yt-pdp-container {
    padding-top: 16px;
    padding-bottom: 16px;
}

body .yt-pdp-head span {
    display: block;
    margin-bottom: 4px;
    color: #d2051e;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

body .yt-pdp-head h1 {
    margin: 0 0 7px;
    color: #202126;
    font-size: 25px;
    font-weight: 900;
    line-height: 1.22;
}

body .yt-pdp-head p {
    max-width: 760px;
    margin: 0;
    color: #56534f;
    font-size: 14px;
    line-height: 1.55;
}

body .yt-pdp-tabs {
    position: sticky;
    top: 70px;
    z-index: 45;
    background: #fff;
    border-top: 1px solid #ededeb;
    border-bottom: 1px solid #deded9;
}

body .yt-pdp-tabs .yt-pdp-container {
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 48px;
}

body .yt-pdp-tabs a {
    display: inline-flex;
    align-items: center;
    height: 48px;
    padding: 0 28px;
    border-bottom: 3px solid transparent;
    color: #202126;
    font-size: 13px;
    font-weight: 800;
}

body .yt-pdp-tabs a.active,
body .yt-pdp-tabs a:hover {
    border-bottom-color: #d2051e;
    color: #d2051e;
    text-decoration: none;
}

body .yt-pdp-buybox {
    padding: 28px 0 52px;
    background: #fff;
}

body .yt-pdp-buybox-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 520px;
    gap: 48px;
    align-items: start;
}

body .yt-pdp-media {
    min-width: 0;
}

body .yt-pdp-main-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 360px;
    background: #fff;
}

body .yt-pdp-main-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body .yt-pdp-thumbs {
    display: flex;
    gap: 10px;
    margin: 18px 0 16px;
    overflow-x: auto;
}

body .yt-pdp-thumbs button {
    width: 78px;
    height: 58px;
    padding: 2px;
    background: #fff;
    border: 1px solid #deded9;
}

body .yt-pdp-thumbs button.active {
    border: 2px solid #d2051e;
}

body .yt-pdp-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body .yt-pdp-bullets {
    margin: 0;
    padding-left: 17px;
    color: #56534f;
    font-size: 13px;
    line-height: 1.65;
}

body .yt-pdp-more {
    display: inline-flex;
    margin-top: 13px;
    color: #d2051e;
    font-size: 13px;
    font-weight: 900;
}

body .yt-pdp-config {
    padding-top: 3px;
}

body .yt-pdp-config h2 {
    margin: 0 0 20px;
    color: #202126;
    font-size: 22px;
    font-weight: 900;
}

body .yt-pdp-config-row {
    display: flex;
    justify-content: space-between;
    padding: 0 0 13px;
    color: #56534f;
    font-size: 14px;
}

body .yt-pdp-kit {
    padding: 18px 20px;
    border: 1px solid #d8d8d4;
    background: #fff;
}

body .yt-pdp-kit h3 {
    margin: 0 0 8px;
    color: #56534f;
    font-size: 13px;
    font-weight: 800;
}

body .yt-pdp-kit strong {
    display: block;
    margin-bottom: 8px;
    color: #202126;
    font-size: 15px;
    font-weight: 900;
}

body .yt-pdp-kit ul {
    margin: 0;
    padding-left: 18px;
    color: #56534f;
    font-size: 13px;
    line-height: 1.55;
}

body .yt-pdp-qty {
    display: grid;
    grid-template-columns: 1fr 150px auto;
    gap: 10px;
    align-items: center;
    margin-top: 18px;
    color: #56534f;
    font-size: 13px;
    font-weight: 800;
}

body .yt-pdp-qty input {
    height: 42px;
    padding: 0 12px;
    border: 1px solid #c9c9c4;
}

body .yt-pdp-note {
    margin-top: 16px;
    padding: 15px 18px;
    background: #f7f7f5;
    border: 1px solid #e3e3df;
}

body .yt-pdp-note strong {
    display: block;
    margin-bottom: 5px;
    color: #202126;
    font-size: 14px;
}

body .yt-pdp-note p {
    margin: 0;
    color: #56534f;
    font-size: 13px;
    line-height: 1.5;
}

body .yt-pdp-price {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 20px;
}

body .yt-pdp-price span {
    color: #56534f;
    font-size: 13px;
}

body .yt-pdp-price strong {
    color: #202126;
    font-size: 24px;
    font-weight: 900;
}

body .yt-pdp-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    margin-top: 14px;
    background: #d2051e;
    color: #fff !important;
    font-size: 14px;
    font-weight: 900;
}

body .yt-pdp-primary:hover {
    background: #b50018;
    text-decoration: none;
}

body .yt-pdp-secondary-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

body .yt-pdp-secondary-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border: 1px solid #d2051e;
    color: #d2051e;
    font-size: 13px;
    font-weight: 900;
}

body .yt-pdp-section {
    padding: 58px 0;
    background: #fff;
}

body .yt-pdp-section h2 {
    margin: 0 0 30px;
    color: #4e4c50;
    font-size: 52px;
    font-weight: 900;
    line-height: 1.05;
}

body .yt-pdp-technical table {
    width: 100%;
    border-collapse: collapse;
    color: #56534f;
    font-size: 13px;
}

body .yt-pdp-technical th,
body .yt-pdp-technical td {
    width: 50%;
    padding: 16px 14px;
    border-top: 1px solid #deded9;
    text-align: left;
    vertical-align: top;
}

body .yt-pdp-technical th {
    color: #202126;
    font-weight: 900;
}

body .yt-pdp-documents {
    border-top: 3px solid #d2051e;
}

body .yt-pdp-doc-tabs,
body .yt-pdp-chip-row {
    display: flex;
    gap: 12px;
    margin-bottom: 22px;
}

body .yt-pdp-doc-tabs button,
body .yt-pdp-chip-row button {
    min-width: 120px;
    height: 36px;
    padding: 0 22px;
    border: 1px solid #deded9;
    border-radius: 18px;
    background: #fff;
    color: #202126;
    font-size: 13px;
    font-weight: 800;
}

body .yt-pdp-doc-tabs button.active,
body .yt-pdp-chip-row button.active {
    border-color: #4b1531;
    background: #4b1531;
    color: #fff;
}

body .yt-pdp-doc-list a {
    display: grid;
    grid-template-columns: 72px 1fr 48px;
    align-items: center;
    min-height: 46px;
    border-top: 1px solid #deded9;
    color: #202126;
    font-size: 13px;
}

body .yt-pdp-doc-list a:last-child {
    border-bottom: 1px solid #deded9;
}

body .yt-pdp-doc-list span {
    color: #56534f;
    font-weight: 900;
}

body .yt-pdp-doc-list em {
    justify-self: end;
    width: 26px;
    height: 26px;
    overflow: hidden;
    border: 1px solid #d2051e;
    color: transparent;
    position: relative;
}

body .yt-pdp-doc-list em::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 6px;
    width: 8px;
    height: 11px;
    border-left: 2px solid #d2051e;
    border-bottom: 2px solid #d2051e;
    transform: rotate(-45deg);
}

body .yt-pdp-features {
    background:
        linear-gradient(110deg, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0.92) 48%, rgba(255,255,255,0.55) 100%),
        repeating-linear-gradient(116deg, #f2f2ef 0, #f2f2ef 7px, #ededeb 8px, #ededeb 10px);
}

body .yt-pdp-feature-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 82px;
}

body .yt-pdp-feature-grid h3 {
    margin: 0 0 14px;
    color: #4e4c50;
    font-size: 28px;
    font-weight: 900;
}

body .yt-pdp-feature-grid ul {
    margin: 0;
    padding-left: 18px;
    color: #202126;
    font-size: 14px;
    line-height: 1.75;
}

body .yt-pdp-richtext {
    margin-top: 32px;
    color: #56534f;
    font-size: 14px;
    line-height: 1.75;
}

body .yt-pdp-related {
    background:
        linear-gradient(to bottom, #fff 0, #fff 62%, #d2051e 62%, #d2051e 100%);
}

body .yt-pdp-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

body .yt-pdp-related-card {
    display: grid;
    grid-template-rows: auto 150px auto 1fr;
    min-height: 330px;
    padding: 20px;
    background: #fff;
    border-top: 5px solid #d2051e;
    color: #202126;
}

body .yt-pdp-related-card:hover {
    color: #202126;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(0,0,0,0.16);
}

body .yt-pdp-related-card span {
    color: #d2051e;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

body .yt-pdp-related-card img {
    width: 100%;
    height: 150px;
    object-fit: contain;
    margin: 8px 0 12px;
}

body .yt-pdp-related-card strong {
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
}

body .yt-pdp-related-card em {
    color: #56534f;
    font-size: 13px;
    font-style: normal;
    line-height: 1.5;
}

body .yt-pdp-red-actions {
    padding: 70px 0 74px;
    background:
        linear-gradient(112deg, rgba(210,5,30,0.95), rgba(210,5,30,0.95)),
        repeating-linear-gradient(122deg, rgba(255,255,255,0.2) 0, rgba(255,255,255,0.2) 10px, transparent 11px, transparent 72px);
}

body .yt-pdp-red-actions .yt-pdp-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
}

body .yt-pdp-red-actions article {
    color: #fff;
}

body .yt-pdp-red-actions span {
    display: block;
    width: 54px;
    height: 54px;
    margin-bottom: 22px;
    border-radius: 50%;
    background: #fff;
}

body .yt-pdp-red-actions h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 34px;
    font-weight: 900;
}

body .yt-pdp-red-actions p {
    min-height: 44px;
    margin: 0 0 24px;
    color: rgba(255,255,255,0.88);
    font-size: 14px;
    line-height: 1.6;
}

body .yt-pdp-red-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    border: 1px solid rgba(255,255,255,0.85);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

@media (max-width: 991.98px) {
    body .yt-pdp-tabs {
        top: 56px;
        overflow-x: auto;
    }

    body .yt-pdp-tabs .yt-pdp-container {
        width: max-content;
        min-width: 100%;
        padding: 0;
    }

    body .yt-pdp-tabs a {
        padding: 0 18px;
    }

    body .yt-pdp-buybox {
        padding-top: 18px;
    }

    body .yt-pdp-buybox-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    body .yt-pdp-main-image {
        height: 245px;
    }

    body .yt-pdp-config {
        padding: 0;
    }

    body .yt-pdp-section {
        padding: 42px 0;
    }

    body .yt-pdp-section h2 {
        font-size: 34px;
    }

    body .yt-pdp-feature-grid,
    body .yt-pdp-red-actions .yt-pdp-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    body .yt-pdp-related {
        background:
            linear-gradient(to bottom, #fff 0, #fff 168px, #d2051e 168px, #d2051e 100%);
    }

    body .yt-pdp-related .yt-pdp-container {
        padding-left: 8px;
        padding-right: 8px;
    }

    body .yt-pdp-related-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    body .mobile-header-actions {
        display: flex !important;
    }
}

@media (min-width: 768px) {
    body .mobile-header-actions {
        display: none !important;
    }
}

/* Final mobile first-screen lock: match Hilti mobile header and hero rhythm. */
@media (max-width: 767.98px) {
    body .site-header {
        background: #d2051e !important;
        box-shadow: none !important;
    }

    body .header-strip {
        height: 58px !important;
        background:
            linear-gradient(115deg, rgba(255,255,255,0.16) 0 9%, transparent 9% 18%, rgba(120,0,10,0.22) 18% 32%, transparent 32%),
            #d2051e !important;
        border-bottom: 0 !important;
    }

    body .header-strip-inner {
        display: grid !important;
        grid-template-columns: 42px auto 1fr !important;
        align-items: center !important;
        gap: 12px !important;
        min-height: 58px !important;
        padding: 0 18px !important;
    }

    body .mobile-menu-toggle {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 32px !important;
        height: 32px !important;
        padding: 5px !important;
        justify-self: start !important;
    }

    body .mobile-menu-toggle span {
        width: 24px !important;
        height: 3px !important;
        margin: 4px 0 !important;
        background: #fff !important;
        border-radius: 0 !important;
    }

    body .header-logo {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
    }

    body .header-logo a {
        width: 94px !important;
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 8px !important;
        background: #fff !important;
        color: #d2051e !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .header-logo span {
        color: #d2051e !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 28px !important;
    }

    body .mobile-header-actions {
        grid-column: 3 !important;
        grid-row: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 22px !important;
    }

    body .mobile-header-icon {
        position: relative !important;
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        color: #fff !important;
    }

    body .mobile-header-user::before {
        content: "" !important;
        position: absolute !important;
        left: 8px !important;
        top: 3px !important;
        width: 8px !important;
        height: 8px !important;
        border-radius: 50% !important;
        background: #fff !important;
    }

    body .mobile-header-user::after {
        content: "" !important;
        position: absolute !important;
        left: 4px !important;
        bottom: 3px !important;
        width: 16px !important;
        height: 10px !important;
        border-radius: 10px 10px 2px 2px !important;
        background: #fff !important;
    }

    body .mobile-header-docs::before {
        content: "" !important;
        position: absolute !important;
        left: 5px !important;
        top: 5px !important;
        width: 13px !important;
        height: 12px !important;
        border-left: 3px solid #fff !important;
        border-bottom: 3px solid #fff !important;
    }

    body .mobile-header-docs::after {
        content: "" !important;
        position: absolute !important;
        left: 10px !important;
        top: 2px !important;
        width: 9px !important;
        height: 13px !important;
        border-right: 3px solid #fff !important;
        border-bottom: 3px solid #fff !important;
    }

    body .mobile-header-search::before {
        content: "" !important;
        position: absolute !important;
        left: 3px !important;
        top: 3px !important;
        width: 13px !important;
        height: 13px !important;
        border: 3px solid #fff !important;
        border-radius: 50% !important;
    }

    body .mobile-header-search::after {
        content: "" !important;
        position: absolute !important;
        right: 2px !important;
        bottom: 3px !important;
        width: 10px !important;
        height: 3px !important;
        background: #fff !important;
        transform: rotate(-45deg) !important;
        transform-origin: center !important;
    }

    body .header-actions,
    body .desktop-nav {
        display: none !important;
    }

    body .hilti-card-hero .hilti-card-hero-grid {
        padding: 0 !important;
        background: #fff !important;
    }

    body .hilti-card-hero .hilti-hero-card:first-child {
        grid-template-rows: 252px auto !important;
        border-bottom: 0 !important;
    }

    body .hilti-card-hero .hilti-hero-card:first-child .hilti-hero-card-image,
    body .hilti-card-hero .hilti-hero-card:first-child .hilti-hero-card-shade {
        height: 252px !important;
    }

    body .hilti-card-hero .hilti-hero-card:first-child .hilti-hero-card-text {
        min-height: 302px !important;
        padding: 28px 28px 44px !important;
        gap: 18px !important;
        align-content: start !important;
    }

    body .hilti-card-hero .hilti-hero-card:first-child .hilti-hero-card-text em {
        color: #d2051e !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }

    body .hilti-card-hero .hilti-hero-card:first-child .hilti-hero-card-text strong {
        color: #4e4c50 !important;
        font-size: 31px !important;
        font-weight: 900 !important;
        line-height: 1.16 !important;
    }

    body .hilti-card-hero .hilti-hero-card:first-child .hilti-hero-card-text small {
        color: #56534f !important;
        font-size: 20px !important;
        font-weight: 900 !important;
        line-height: 1.35 !important;
    }

    body .hilti-card-hero .hilti-hero-card:first-child .hilti-hero-card-text b {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 44px !important;
        margin-top: 8px !important;
        padding: 0 16px !important;
        background: #d2051e !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        text-align: center !important;
    }

    body .hilti-card-hero .hilti-hero-card:first-child .hilti-hero-card-text b::before {
        content: none !important;
        display: none !important;
    }

    body .hilti-card-hero .hilti-hero-card:not(:first-child) {
        grid-template-rows: 220px auto !important;
        margin: 0 14px !important;
        border-bottom: 8px solid #f2f2ef !important;
    }

    body .hilti-card-hero .hilti-hero-card:not(:first-child) .hilti-hero-card-image,
    body .hilti-card-hero .hilti-hero-card:not(:first-child) .hilti-hero-card-shade {
        height: 220px !important;
    }
}

@media (max-width: 767.98px) {
    body .yt-pdp-breadcrumb .yt-pdp-container {
        min-height: 34px;
        overflow: hidden;
        white-space: nowrap;
    }

    body .yt-pdp-head .yt-pdp-container {
        padding-top: 11px;
        padding-bottom: 10px;
    }

    body .yt-pdp-head h1 {
        font-size: 18px;
    }

    body .yt-pdp-head p {
        font-size: 12px;
    }

    body .yt-pdp-tabs a {
        height: 42px;
        font-size: 12px;
    }

    body .yt-pdp-thumbs button {
        width: 60px;
        height: 45px;
    }

    body .yt-pdp-bullets {
        font-size: 12px;
    }

    body .yt-pdp-config h2 {
        font-size: 18px;
    }

    body .yt-pdp-kit {
        padding: 14px;
    }

    body .yt-pdp-qty {
        grid-template-columns: 1fr 105px auto;
    }

    body .yt-pdp-price strong {
        font-size: 20px;
    }

    body .yt-pdp-secondary-actions {
        grid-template-columns: 1fr;
    }

    body .yt-pdp-section h2 {
        margin-bottom: 20px;
        font-size: 30px;
    }

    body .yt-pdp-technical th,
    body .yt-pdp-technical td {
        display: block;
        width: 100%;
        padding: 10px 0;
    }

    body .yt-pdp-technical td {
        padding-top: 0;
        border-top: 0;
    }

    body .yt-pdp-doc-tabs,
    body .yt-pdp-chip-row {
        overflow-x: auto;
    }

    body .yt-pdp-doc-list a {
        grid-template-columns: 42px 1fr 34px;
        gap: 8px;
    }

    body .yt-pdp-feature-grid {
        gap: 22px;
    }

    body .yt-pdp-feature-grid h3 {
        font-size: 20px;
    }

    body .yt-pdp-related-card {
        grid-template-rows: auto 135px auto 1fr;
        min-height: 285px;
        padding: 16px;
    }

    body .yt-pdp-red-actions {
        padding: 42px 0;
    }

    body .yt-pdp-red-actions h2 {
        font-size: 24px;
    }
}

/* Mobile home parity pass: Hilti-like card feed and menu motion. */
@media (max-width: 767.98px) {
    body {
        background: #fff !important;
    }

    body .site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 900 !important;
        box-shadow: 0 1px 0 rgba(0,0,0,0.08) !important;
    }

    body .smartbar-top,
    body .meta-nav {
        display: none !important;
    }

    body .header-strip {
        height: 44px !important;
        background: #fff !important;
        border-bottom: 1px solid #deded9 !important;
    }

    body .header-strip-inner {
        min-height: 44px !important;
        padding: 0 16px !important;
    }

    body .header-logo a {
        width: 74px !important;
        min-height: 24px !important;
        padding: 3px 7px !important;
        background: #d2051e !important;
        color: #fff !important;
    }

    body .header-logo span {
        font-size: 13px !important;
        line-height: 1.1 !important;
    }

    body .header-logo small {
        display: none !important;
    }

    body .mobile-menu-toggle {
        width: 32px !important;
        height: 32px !important;
        padding: 7px !important;
        background: transparent !important;
        border: 0 !important;
    }

    body .mobile-menu-toggle span {
        display: block !important;
        width: 18px !important;
        height: 2px !important;
        margin: 3px auto !important;
        background: #56534f !important;
        transition: transform .24s ease, opacity .24s ease !important;
    }

    body.mobile-nav-open .mobile-menu-toggle span:nth-child(1) {
        transform: translateY(5px) rotate(45deg) !important;
    }

    body.mobile-nav-open .mobile-menu-toggle span:nth-child(2) {
        opacity: 0 !important;
    }

    body.mobile-nav-open .mobile-menu-toggle span:nth-child(3) {
        transform: translateY(-5px) rotate(-45deg) !important;
    }

    body .mobile-nav-overlay {
        display: block !important;
        background: rgba(32,33,38,0) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity .28s ease, background .28s ease !important;
    }

    body .mobile-nav-overlay.active {
        background: rgba(32,33,38,0.48) !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body .mobile-nav-panel {
        display: flex !important;
        flex-direction: column !important;
        width: min(88vw, 344px) !important;
        max-width: none !important;
        padding: 18px 20px 24px !important;
        background: #fff !important;
        box-shadow: -18px 0 34px rgba(0,0,0,0.22) !important;
        transform: translateX(105%) !important;
        transition: transform .34s cubic-bezier(.2,.8,.2,1) !important;
    }

    body .mobile-nav-panel.active {
        transform: translateX(0) !important;
    }

    body .mobile-nav-close {
        top: 14px !important;
        right: 16px !important;
        color: #202126 !important;
        font-size: 26px !important;
        line-height: 1 !important;
    }

    body .mobile-nav-brand {
        display: inline-flex !important;
        align-items: center !important;
        width: max-content !important;
        margin: 2px 0 18px !important;
        padding: 6px 10px !important;
        background: #d2051e !important;
        color: #fff !important;
    }

    body .mobile-nav-brand strong {
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
    }

    body .mobile-nav-brand span {
        display: none !important;
    }

    body .mobile-nav-search {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 74px !important;
        gap: 0 !important;
        margin: 0 0 12px !important;
        border: 1px solid #deded9 !important;
    }

    body .mobile-nav-search input {
        height: 42px !important;
        padding: 0 12px !important;
        border: 0 !important;
        background: #f7f7f5 !important;
        font-size: 13px !important;
    }

    body .mobile-nav-search button {
        height: 42px !important;
        border: 0 !important;
        background: #d2051e !important;
        color: #fff !important;
        font-weight: 900 !important;
    }

    body .mobile-nav-list {
        margin: 0 !important;
        padding: 0 !important;
    }

    body .mobile-nav-list li {
        border-bottom: 1px solid #deded9 !important;
    }

    body .mobile-nav-list a,
    body .mobile-subnav-trigger {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        color: #202126 !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        text-align: left !important;
    }

    body .mobile-subnav {
        display: grid !important;
        grid-template-rows: 0fr !important;
        overflow: hidden !important;
        padding: 0 !important;
        transition: grid-template-rows .28s ease, padding .28s ease !important;
    }

    body .mobile-nav-list li.open .mobile-subnav {
        grid-template-rows: 1fr !important;
        padding-bottom: 10px !important;
    }

    body .mobile-subnav > * {
        min-height: 0 !important;
    }

    body .mobile-subnav a {
        min-height: 32px !important;
        padding-left: 12px !important;
        color: #56534f !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }

    body .mobile-nav-cta {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 44px !important;
        margin-top: 18px !important;
        background: #d2051e !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
    }

    body .hilti-card-hero {
        padding: 0 !important;
        background: #fff !important;
    }

    body .hilti-card-hero .hilti-card-hero-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    body .hilti-card-hero .hilti-hero-card,
    body .hilti-card-hero .hilti-hero-primary,
    body .hilti-card-hero .hilti-hero-secondary-top,
    body .hilti-card-hero .hilti-hero-secondary-bottom {
        display: grid !important;
        grid-template-rows: 168px auto !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        background: #fff !important;
        border: 0 !important;
        border-bottom: 10px solid #f2f2ef !important;
        overflow: hidden !important;
        transform: translateY(0) !important;
        opacity: 1 !important;
        transition: transform .46s cubic-bezier(.2,.8,.2,1), opacity .46s ease, box-shadow .28s ease !important;
    }

    body .hilti-card-hero .hilti-hero-card.is-visible,
    body .hilti-feature-card.is-visible,
    body .hilti-promo-card.is-visible,
    body .hilti-brand-card.is-visible,
    body .yt-pdp-related-card.is-visible,
    body .yt-pdp-red-actions article.is-visible {
        transform: translateY(0) !important;
        opacity: 1 !important;
    }

    body .hilti-card-hero .hilti-hero-card-image,
    body .hilti-card-hero .hilti-hero-card-shade {
        position: static !important;
        grid-row: 1 !important;
        grid-column: 1 !important;
        width: 100% !important;
        height: 168px !important;
    }

    body .hilti-card-hero .hilti-hero-card-image {
        background-size: cover !important;
        background-position: center !important;
        transform: none !important;
    }

    body .hilti-card-hero .hilti-hero-card-shade {
        background: linear-gradient(to bottom, rgba(0,0,0,0.08), rgba(0,0,0,0.22)) !important;
    }

    body .hilti-card-hero .hilti-hero-card-text,
    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text,
    body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text {
        position: static !important;
        display: grid !important;
        gap: 6px !important;
        padding: 16px 18px 18px !important;
        background: #fff !important;
        color: #202126 !important;
        transform: none !important;
    }

    body .hilti-card-hero .hilti-hero-card-text em {
        color: #d2051e !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        line-height: 1.35 !important;
    }

    body .hilti-card-hero .hilti-hero-card-text strong,
    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text strong,
    body .hilti-card-hero .hilti-hero-secondary .hilti-hero-card-text strong {
        color: #202126 !important;
        font-size: 21px !important;
        font-weight: 900 !important;
        line-height: 1.22 !important;
    }

    body .hilti-card-hero .hilti-hero-card-text small {
        display: block !important;
        color: #56534f !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    body .hilti-card-hero .hilti-hero-card-text b,
    body .hilti-feature-body b,
    body .hilti-promo-text b,
    body .hilti-brand-body b {
        display: inline-flex !important;
        align-items: center !important;
        width: max-content !important;
        margin-top: 5px !important;
        color: #d2051e !important;
        font-size: 13px !important;
        font-weight: 900 !important;
    }

    body .hilti-card-hero .hilti-hero-card-text b::before,
    body .hilti-feature-body b::before,
    body .hilti-promo-text b::before,
    body .hilti-brand-body b::before {
        content: "";
        width: 0;
        height: 0;
        margin-right: 7px;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 6px solid #d2051e;
    }

    body .hilti-feature-strip,
    body .hilti-feature-strip-bottom {
        padding: 0 !important;
        background: #f2f2ef !important;
    }

    body .hilti-feature-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 0 0 10px !important;
    }

    body .hilti-feature-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        background: #fff !important;
        color: #202126 !important;
        transform: translateY(0) !important;
        opacity: 1 !important;
        transition: transform .46s cubic-bezier(.2,.8,.2,1), opacity .46s ease !important;
    }

    body .hilti-feature-image {
        width: 100% !important;
        height: 168px !important;
        min-height: 0 !important;
        background-size: cover !important;
        background-position: center !important;
    }

    body .hilti-feature-body {
        padding: 16px 18px 18px !important;
        background: #fff !important;
    }

    body .hilti-feature-body strong {
        color: #202126 !important;
        font-size: 19px !important;
        line-height: 1.28 !important;
    }

    body .hilti-feature-body small {
        margin-top: 7px !important;
        color: #56534f !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    body .hilti-promo-band {
        padding: 10px 0 !important;
        background: #f2f2ef !important;
    }

    body .hilti-promo-card {
        display: grid !important;
        grid-template-rows: 198px auto !important;
        min-height: 0 !important;
        background: #fff !important;
        overflow: hidden !important;
        transform: translateY(0) !important;
        opacity: 1 !important;
        transition: transform .46s cubic-bezier(.2,.8,.2,1), opacity .46s ease !important;
    }

    body .hilti-promo-image,
    body .hilti-promo-shade {
        position: static !important;
        grid-row: 1 !important;
        grid-column: 1 !important;
        height: 198px !important;
    }

    body .hilti-promo-text {
        position: static !important;
        display: grid !important;
        gap: 7px !important;
        padding: 18px !important;
        background: #fff !important;
        color: #202126 !important;
    }

    body .hilti-promo-text strong {
        color: #202126 !important;
        font-size: 22px !important;
        line-height: 1.2 !important;
    }

    body .hilti-promo-text small {
        color: #56534f !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    body .hilti-brand-value {
        position: relative !important;
        overflow: visible !important;
        padding: 0 0 10px !important;
        background: #fff !important;
    }

    body .hilti-brand-value::before,
    body .hilti-brand-value::after {
        content: none !important;
        display: none !important;
    }

    body .hilti-brand-head {
        padding: 18px 0 12px !important;
    }

    body .hilti-brand-head span {
        color: #d2051e !important;
        font-size: 11px !important;
        font-weight: 900 !important;
    }

    body .hilti-brand-head h2 {
        margin: 4px 0 0 !important;
        color: #202126 !important;
        font-size: 26px !important;
        line-height: 1.2 !important;
    }

    body .hilti-brand-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    body .hilti-brand-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        background: #fff !important;
        border: 1px solid #ededeb !important;
        box-shadow: none !important;
        transform: translateY(0) !important;
        opacity: 1 !important;
        transition: transform .46s cubic-bezier(.2,.8,.2,1), opacity .46s ease !important;
    }

    body .hilti-brand-image {
        height: 150px !important;
        min-height: 0 !important;
        background-size: cover !important;
        background-position: center !important;
    }

    body .hilti-brand-body {
        padding: 16px 18px 18px !important;
    }

    body .hilti-brand-body em {
        color: #d2051e !important;
        font-size: 11px !important;
        font-weight: 900 !important;
    }

    body .hilti-brand-body strong {
        color: #202126 !important;
        font-size: 18px !important;
        line-height: 1.3 !important;
    }

    body .hilti-brand-body small {
        color: #56534f !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .hilti-hero-card,
    body .hilti-feature-card,
    body .hilti-promo-card,
    body .hilti-brand-card,
    body .yt-pdp-related-card,
    body .yt-pdp-red-actions article,
    body .mobile-nav-panel,
    body .mobile-nav-overlay {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* Mobile footer refinement: closer to the Hilti mobile hierarchy. */
@media (max-width: 767.98px) {
    body .site-footer {
        margin-top: 0 !important;
        background: #202126 !important;
        border-top: 1px solid #deded9 !important;
    }

    body .footer-top {
        background: #fff !important;
    }

    body .footer-brand-row {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 14px !important;
        row-gap: 0 !important;
        padding: 18px 20px !important;
        background: #f7f7f5 !important;
        border-top: 5px solid #d2051e !important;
        border-bottom: 1px solid #deded9 !important;
    }

    body .footer-brand-row::before,
    body .footer-brand-row::after {
        content: none !important;
        display: none !important;
    }

    body .footer-brand {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 70px !important;
        max-width: 112px !important;
        min-height: 34px !important;
        padding: 7px 10px !important;
        background: #d2051e !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        text-align: center !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    body .footer-tagline {
        color: #202126 !important;
        font-size: 18px !important;
        font-weight: 900 !important;
        line-height: 1.28 !important;
    }

    body .footer-grid {
        background: #fff !important;
        border-top: 0 !important;
    }

    body .footer-column,
    body .footer-column:last-child {
        padding: 0 !important;
        background: #fff !important;
        border-bottom: 1px solid #deded9 !important;
        box-shadow: none !important;
    }

    body .footer-column-title {
        position: relative !important;
        margin: 0 !important;
        padding: 17px 44px 9px 20px !important;
        color: #202126 !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 1.35 !important;
        cursor: pointer !important;
    }

    body .footer-column-title::after {
        content: "+" !important;
        display: block !important;
        position: absolute !important;
        top: 14px !important;
        right: 20px !important;
        color: #d2051e !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
    }

    body .footer-column.is-open .footer-column-title::after {
        content: "-" !important;
    }

    body .footer-column ul {
        display: none !important;
        padding: 0 20px 16px !important;
    }

    body .footer-column.is-open ul {
        display: grid !important;
        gap: 0 !important;
    }

    body .footer-column a,
    body .footer-column span {
        padding: 4px 0 !important;
        color: #56534f !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    body .footer-bottom {
        padding: 15px 20px 18px !important;
        background: #202126 !important;
        border-top: 0 !important;
    }

    body .footer-bottom-inner {
        gap: 7px !important;
    }

    body .footer-bottom p,
    body .footer-bottom a {
        color: rgba(255,255,255,0.7) !important;
        font-size: 11px !important;
        line-height: 1.55 !important;
    }
}

/* Absolute final mobile header/hero lock. Keep after all legacy mobile rules. */
@media (max-width: 767.98px) {
    body .site-header,
    body .header-strip {
        height: 58px !important;
        min-height: 58px !important;
        background:
            linear-gradient(115deg, rgba(255,255,255,0.16) 0 9%, transparent 9% 18%, rgba(120,0,10,0.22) 18% 32%, transparent 32%),
            #d2051e !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .header-strip-inner {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 34px 94px minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 58px !important;
        padding: 0 18px !important;
    }

    body .mobile-menu-toggle {
        display: block !important;
        position: static !important;
        grid-column: 1 !important;
        width: 30px !important;
        height: 30px !important;
        padding: 4px 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body .mobile-menu-toggle span {
        display: block !important;
        width: 24px !important;
        height: 3px !important;
        margin: 4px 0 !important;
        background: #fff !important;
    }

    body .header-logo {
        display: block !important;
        grid-column: 2 !important;
        position: static !important;
        margin: 0 !important;
    }

    body .header-logo a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 94px !important;
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 !important;
        background: transparent !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    body .header-logo span {
        display: block !important;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 28px !important;
    }

    body .header-logo small {
        display: none !important;
    }

    body .mobile-header-actions {
        display: flex !important;
        grid-column: 3 !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 20px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body .mobile-header-icon {
        display: block !important;
        position: relative !important;
        width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
    }

    body .mobile-header-user::before {
        content: "" !important;
        position: absolute !important;
        left: 8px !important;
        top: 3px !important;
        width: 8px !important;
        height: 8px !important;
        border-radius: 50% !important;
        background: #fff !important;
    }

    body .mobile-header-user::after {
        content: "" !important;
        position: absolute !important;
        left: 4px !important;
        bottom: 3px !important;
        width: 16px !important;
        height: 10px !important;
        border-radius: 10px 10px 2px 2px !important;
        background: #fff !important;
    }

    body .mobile-header-docs::before {
        content: "" !important;
        position: absolute !important;
        left: 5px !important;
        top: 5px !important;
        width: 13px !important;
        height: 12px !important;
        border-left: 3px solid #fff !important;
        border-bottom: 3px solid #fff !important;
    }

    body .mobile-header-docs::after {
        content: "" !important;
        position: absolute !important;
        left: 10px !important;
        top: 2px !important;
        width: 9px !important;
        height: 13px !important;
        border-right: 3px solid #fff !important;
        border-bottom: 3px solid #fff !important;
    }

    body .mobile-header-search::before {
        content: "" !important;
        position: absolute !important;
        left: 3px !important;
        top: 3px !important;
        width: 13px !important;
        height: 13px !important;
        border: 3px solid #fff !important;
        border-radius: 50% !important;
    }

    body .mobile-header-search::after {
        content: "" !important;
        position: absolute !important;
        right: 2px !important;
        bottom: 3px !important;
        width: 10px !important;
        height: 3px !important;
        background: #fff !important;
        transform: rotate(45deg) !important;
    }

    body .hilti-card-hero .hilti-hero-primary {
        grid-template-rows: 252px auto !important;
        margin: 0 !important;
        border-bottom: 0 !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-image,
    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-shade {
        height: 252px !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text {
        min-height: 302px !important;
        padding: 28px 28px 44px !important;
        gap: 18px !important;
        align-content: start !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text strong {
        color: #4e4c50 !important;
        font-size: 31px !important;
        line-height: 1.16 !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text small {
        display: block !important;
        color: #56534f !important;
        font-size: 20px !important;
        font-weight: 900 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text b {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 44px !important;
        margin: 8px 0 0 !important;
        padding: 0 14px !important;
        background: #d2051e !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        line-height: 44px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body .hilti-card-hero .hilti-hero-primary .hilti-hero-card-text b::before {
        content: none !important;
        display: none !important;
    }
}

/* Product detail related products: keep cards separate from the red CTA band. */
body .yt-pdp-related {
    position: relative !important;
    z-index: 1 !important;
    padding: 88px 0 86px !important;
    background: #fff !important;
    overflow: visible !important;
}

body .yt-pdp-related .yt-pdp-container {
    width: min(100% - 120px, 1180px) !important;
    max-width: 1180px !important;
}

body .yt-pdp-related h2 {
    margin: 0 0 26px !important;
    color: #4e4c50 !important;
    font-size: 58px !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
}

body .yt-pdp-related .yt-pdp-chip-row {
    margin-bottom: 34px !important;
}

body .yt-pdp-related-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
}

body .yt-pdp-related-card {
    display: grid !important;
    grid-template-rows: auto 210px auto 1fr !important;
    min-height: 0 !important;
    padding: 0 32px 32px !important;
    background: #fff !important;
    border-top: 5px solid #d2051e !important;
    box-shadow: none !important;
    color: #202126 !important;
    text-decoration: none !important;
    overflow: hidden !important;
}

body .yt-pdp-related-card span {
    display: block !important;
    min-height: 34px !important;
    padding-top: 22px !important;
    color: #d2051e !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}

body .yt-pdp-related-card img {
    display: block !important;
    width: 100% !important;
    height: 210px !important;
    margin: 0 0 18px !important;
    background: #f5f5f2 !important;
    object-fit: cover !important;
    object-position: center !important;
}

body .yt-pdp-related-card strong {
    display: block !important;
    margin: 0 0 12px !important;
    color: #111 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.28 !important;
}

body .yt-pdp-related-card em {
    display: -webkit-box !important;
    color: #4f4c50 !important;
    font-size: 15px !important;
    font-style: normal !important;
    line-height: 1.68 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 6 !important;
}

body .yt-pdp-red-actions {
    position: relative !important;
    z-index: 0 !important;
    margin-top: 0 !important;
}

@media (max-width: 991.98px) {
    body .yt-pdp-related {
        padding: 52px 0 48px !important;
    }

    body .yt-pdp-related .yt-pdp-container {
        width: 100% !important;
        max-width: none !important;
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    body .yt-pdp-related h2 {
        font-size: 34px !important;
    }

    body .yt-pdp-related-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    body .yt-pdp-related-card {
        grid-template-rows: auto 190px auto 1fr !important;
        padding: 0 18px 22px !important;
    }

    body .yt-pdp-related-card img {
        height: 190px !important;
    }

    body .yt-pdp-related-card strong {
        font-size: 18px !important;
    }

    body .yt-pdp-related-card em {
        font-size: 14px !important;
        -webkit-line-clamp: 5 !important;
    }
}

/* Mobile fixed bottom navigation: home, products, back. */
body .mobile-bottom-tabs {
    display: none;
}

/* Mobile brand mark polish. */
@media (max-width: 767.98px) {
    body .header-strip-inner {
        grid-template-columns: 34px 112px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    body .header-logo a {
        position: relative !important;
        width: 112px !important;
        height: 38px !important;
        min-height: 38px !important;
        overflow: hidden !important;
        border-radius: 20px !important;
        background:
            linear-gradient(135deg, rgba(255,255,255,0.14), rgba(255,255,255,0) 54%),
            rgba(150, 0, 18, 0.34) !important;
        box-shadow:
            inset 0 0 0 1px rgba(255,255,255,0.18),
            inset 0 -8px 18px rgba(105,0,13,0.16) !important;
    }

    body .header-logo a::before {
        content: "" !important;
        position: absolute !important;
        right: 13px !important;
        top: 8px !important;
        width: 34px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background: rgba(255,255,255,0.46) !important;
        transform: rotate(-13deg) !important;
    }

    body .header-logo span {
        position: relative !important;
        z-index: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        text-shadow: 0 1px 1px rgba(88,0,10,0.45) !important;
    }
}

@media (max-width: 767.98px) {
    body {
        padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important;
    }

    body .floating-contact {
        display: none !important;
    }

    body .mobile-bottom-tabs {
        position: fixed !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 2100 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        min-height: calc(58px + env(safe-area-inset-bottom)) !important;
        padding: 0 0 env(safe-area-inset-bottom) !important;
        background: #fff !important;
        border-top: 1px solid #deded9 !important;
        box-shadow: 0 -10px 28px rgba(0,0,0,0.12) !important;
    }

    body .mobile-bottom-tab {
        position: relative !important;
        display: grid !important;
        grid-template-rows: 24px 18px !important;
        align-content: center !important;
        justify-items: center !important;
        gap: 3px !important;
        min-width: 0 !important;
        min-height: 58px !important;
        padding: 7px 4px 6px !important;
        border: 0 !important;
        border-right: 1px solid #ededeb !important;
        background: #fff !important;
        color: #202126 !important;
        font: inherit !important;
        text-align: center !important;
        text-decoration: none !important;
        cursor: pointer !important;
        appearance: none !important;
    }

    body .mobile-bottom-tab:last-child {
        border-right: 0 !important;
    }

    body .mobile-bottom-tab:active {
        background: #f7f7f5 !important;
        color: #d2051e !important;
    }

    body .mobile-bottom-tab strong {
        display: block !important;
        color: inherit !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 18px !important;
    }

    body .mobile-bottom-icon {
        position: relative !important;
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        color: currentColor !important;
    }

    body .mobile-bottom-home .mobile-bottom-icon::before {
        content: "" !important;
        position: absolute !important;
        left: 3px !important;
        top: 8px !important;
        width: 18px !important;
        height: 13px !important;
        border: 3px solid currentColor !important;
        border-top: 0 !important;
    }

    body .mobile-bottom-home .mobile-bottom-icon::after {
        content: "" !important;
        position: absolute !important;
        left: 5px !important;
        top: 2px !important;
        width: 14px !important;
        height: 14px !important;
        border-top: 3px solid currentColor !important;
        border-left: 3px solid currentColor !important;
        transform: rotate(45deg) !important;
    }

    body .mobile-bottom-products .mobile-bottom-icon::before {
        content: "" !important;
        position: absolute !important;
        left: 3px !important;
        top: 3px !important;
        width: 8px !important;
        height: 8px !important;
        background: currentColor !important;
        box-shadow: 10px 0 0 currentColor, 0 10px 0 currentColor, 10px 10px 0 currentColor !important;
    }

    body .mobile-bottom-products .mobile-bottom-icon::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        border: 0 !important;
    }

    body .mobile-bottom-back .mobile-bottom-icon::before {
        content: "" !important;
        position: absolute !important;
        left: 5px !important;
        top: 6px !important;
        width: 12px !important;
        height: 12px !important;
        border-left: 3px solid currentColor !important;
        border-bottom: 3px solid currentColor !important;
        transform: rotate(45deg) !important;
    }

    body .mobile-bottom-back .mobile-bottom-icon::after {
        content: "" !important;
        position: absolute !important;
        left: 8px !important;
        top: 11px !important;
        width: 13px !important;
        height: 3px !important;
        background: currentColor !important;
    }
}
