/*
 * J&V Modern Redesign 4.15.0 — production consolidation layer.
 * Loaded after the theme, Additional CSS and the two stable redesign layers.
 * Purpose: one button system, one sticky-header system and one continuous canvas.
 */

body.jvmr-production-v413 {
    --jvmr-prod-bg: #101a2f;
    --jvmr-prod-bg-2: #132646;
    --jvmr-prod-card: #0b1529;
    --jvmr-prod-gold: var(--color-yellow, #ffd45a);
    --jvmr-prod-line: rgba(255,255,255,.15);
    --jvmr-prod-line-hover: rgba(255,212,90,.54);
    --jvmr-prod-header: rgba(8,19,39,.74);
    --jvmr-prod-arrow: 46px;
    --jvmr-prod-button-gap: 14px;
}

html:has(body.jvmr-production-v413),
body.jvmr-production-v413 {
    background: var(--jvmr-prod-bg) !important;
}

/* =========================================================
   1. ONE CONTINUOUS PAGE CANVAS — no rectangular colour cuts
   ========================================================= */
body.jvmr-production-v413 {
    position: relative !important;
    isolation: isolate !important;
    min-height: 100% !important;
}

body.jvmr-production-v413 .jvmr-continuous-atmosphere {
    z-index: 0 !important;
    min-height: 100vh !important;
    overflow: hidden !important;
    background-color: var(--jvmr-prod-bg) !important;
    background-image:
        radial-gradient(
            560px 500px at var(--jvmr-global-x, 76vw) var(--jvmr-global-y, 22vh),
            rgba(74,132,211,.14) 0%,
            rgba(74,132,211,.055) 38%,
            transparent 74%
        ),
        radial-gradient(78rem 52rem at 10% 8%, rgba(255,212,90,.07), transparent 72%),
        radial-gradient(90rem 68rem at 94% 35%, rgba(59,111,191,.13), transparent 75%),
        radial-gradient(92rem 72rem at 6% 72%, rgba(43,88,170,.105), transparent 77%),
        linear-gradient(
            180deg,
            #101a2f 0%,
            #101c34 12%,
            #11213d 30%,
            #132746 51%,
            #12243f 72%,
            #111d35 90%,
            #101a2f 100%
        ) !important;
}

body.jvmr-production-v413 .jvmr-continuous-atmosphere::before {
    opacity: .085 !important;
    filter: blur(110px) !important;
}

body.jvmr-production-v413 .tm-page {
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
    min-height: 100vh !important;
    background: transparent !important;
    overflow-x: clip !important;
}

/* Only outer section shells become transparent. Real cards/forms keep surfaces. */
body.jvmr-production-v413 .tm-page_gr,
body.jvmr-production-v413 .tm-bg-gradient,
body.jvmr-production-v413 .tm-main,
body.jvmr-production-v413 .tm-main.tm-home,
body.jvmr-production-v413 .tm-main.tm-category,
body.jvmr-production-v413 .tm-category,
body.jvmr-production-v413 .tm-catalog,
body.jvmr-production-v413 .tm-catalog-block,
body.jvmr-production-v413 .tm-catalog-block__other,
body.jvmr-production-v413 .tm-services,
body.jvmr-production-v413 .tm-cases-block,
body.jvmr-production-v413 .tm-news-block,
body.jvmr-production-v413 .tm-reviews-block,
body.jvmr-production-v413 .tm-quiz-block,
body.jvmr-production-v413 .tm-consult-block,
body.jvmr-production-v413 .tm-form-block,
body.jvmr-production-v413 .tm-team-block,
body.jvmr-production-v413 .tm-team-block--redesign,
body.jvmr-production-v413 .tm-mobilization-archive,
body.jvmr-production-v413 .tm-military-archive,
body.jvmr-production-v413 .jv-about-company,
body.jvmr-production-v413 .jvmr-page,
body.jvmr-production-v413 .jvmr-page-quiz,
body.jvmr-production-v413 .jvmr-seamless-surface,
body.jvmr-production-v413 .jvmr-flat-bg {
    background-color: transparent !important;
    background-image: none !important;
}

/* The old JS bridge is intentionally disabled. The hero fade is pure CSS. */
body.jvmr-production-v413 #jvmr-hero-bridge {
    display: none !important;
}

body.jvmr-production-v413.home .tm-banner {
    isolation: isolate !important;
    overflow: hidden !important;
}

body.jvmr-production-v413.home .tm-banner::after {
    z-index: 1 !important;
    background: linear-gradient(
        to bottom,
        rgba(16,26,47,0) 0%,
        rgba(16,26,47,.12) 48%,
        rgba(16,26,47,.48) 72%,
        rgba(16,26,47,.84) 90%,
        var(--jvmr-prod-bg) 100%
    ) !important;
}

body.jvmr-production-v413.home .tm-banner > .tm-centered-content,
body.jvmr-production-v413.home .tm-main.tm-home > .tm-centered-content {
    position: relative !important;
    z-index: 2 !important;
    background: transparent !important;
}

body.jvmr-production-v413 .tm-footer {
    position: relative !important;
    z-index: 2 !important;
    min-height: 0 !important;
    background: linear-gradient(180deg, transparent 0%, rgba(5,13,28,.20) 100%) !important;
}

/* =========================================================
   2. HEADER — transparent at top, blurred and always above content on scroll
   ========================================================= */
body.jvmr-production-v413 .tm-header {
    z-index: 2147482000 !important;
    isolation: isolate !important;
    transform: translateZ(0) !important;
    border: 0 !important;
    border-bottom: 1px solid transparent !important;
    box-shadow: none !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition:
        background-color .24s ease,
        border-color .24s ease,
        box-shadow .24s ease,
        backdrop-filter .24s ease !important;
}

body.jvmr-production-v413 .tm-header.tm-header_active,
body.jvmr-production-v413 .tm-header.jvmr-header-scrolled {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2147482000 !important;
    background: var(--jvmr-prod-header) !important;
    border-bottom-color: rgba(255,255,255,.075) !important;
    box-shadow: 0 12px 34px rgba(2,9,22,.24) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
}

body.jvmr-production-v413 .tm-header > .tm-centered-content,
body.jvmr-production-v413 .tm-header .tm-toogle-navigation,
body.jvmr-production-v413 .tm-primary-navigation,
body.jvmr-production-v413 .tm-primary-menu-container,
body.jvmr-production-v413 .tm-menu-wrapper {
    position: relative !important;
    z-index: 2 !important;
}

body.jvmr-production-v413 .tm-primary-navigation,
body.jvmr-production-v413 .tm-primary-menu-container {
    z-index: 2147482100 !important;
}

/* =========================================================
   3. ONE BUTTON SYSTEM — theme-native circle, deterministic label
   ========================================================= */
body.jvmr-production-v413 .jvmr-ui-button {
    --jvmr-btn-arrow: 46px;
    --jvmr-btn-gap: 12px;

    box-sizing: border-box !important;
    position: relative !important;
    isolation: isolate !important;
    display: inline-grid !important;
    grid-template-columns: minmax(0, 1fr) var(--jvmr-btn-arrow) !important;
    align-items: center !important;
    justify-content: stretch !important;
    column-gap: var(--jvmr-btn-gap) !important;

    width: max-content !important;
    min-width: 220px !important;
    max-width: 100% !important;
    min-height: 58px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 6px 6px 6px 22px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background-clip: padding-box !important;
    white-space: normal !important;
    text-overflow: clip !important;
    transform: none !important;
}

/* The label is deliberately a <b>, not a <span>. The theme styles every
   span inside .tm-content-btn as an arrow circle; using a separate element
   prevents the second circle at the source. */
body.jvmr-production-v413 .jvmr-ui-button > .jvmr-ui-label {
    box-sizing: border-box !important;
    position: relative !important;
    inset: auto !important;
    z-index: 3 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: stretch !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    color: inherit !important;
    font: inherit !important;
    font-weight: inherit !important;
    line-height: 1.08 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    transform: none !important;
}

body.jvmr-production-v413 .jvmr-ui-button.jvmr-ui-button--wrap {
    min-height: 68px !important;
}

body.jvmr-production-v413 .jvmr-ui-button.jvmr-ui-button--wrap > .jvmr-ui-label {
    max-width: 13ch !important;
    white-space: normal !important;
}

/* Exactly one theme-native arrow circle. */
body.jvmr-production-v413 .jvmr-ui-button > .jvmr-ui-arrow {
    box-sizing: border-box !important;
    position: relative !important;
    inset: auto !important;
    z-index: 4 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;

    width: var(--jvmr-btn-arrow) !important;
    min-width: var(--jvmr-btn-arrow) !important;
    max-width: var(--jvmr-btn-arrow) !important;
    height: var(--jvmr-btn-arrow) !important;
    min-height: var(--jvmr-btn-arrow) !important;
    max-height: var(--jvmr-btn-arrow) !important;

    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    flex: 0 0 var(--jvmr-btn-arrow) !important;
    transform: none !important;
    line-height: 1 !important;
    font-size: 0 !important;
}

body.jvmr-production-v413 .jvmr-ui-button::after,
body.jvmr-production-v413 .jvmr-ui-button > .jvmr-ui-label::before,
body.jvmr-production-v413 .jvmr-ui-button > .jvmr-ui-label::after,
body.jvmr-production-v413 .jvmr-ui-button > .jvmr-ui-arrow::before {
    content: none !important;
    display: none !important;
}

body.jvmr-production-v413 .jvmr-ui-button > .jvmr-ui-arrow::after {
    content: "→" !important;
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transform: none !important;
}

/* Floating CTA does not sit inside .tm-content-btn, so it gets the same
   neutral circle explicitly. */
body.jvmr-production-v413 #jvmr-floating-cta .jvmr-ui-arrow {
    background: rgba(255,255,255,.92) !important;
    color: #071226 !important;
}

body.jvmr-production-v413 .jvmr-ui-button > .jvmr-button-metal-layer {
    display: none !important;
}

/* Metallic sweep: CSS-only, available from the very first hover. */
body.jvmr-production-v413.jvmr-button-shine-on .jvmr-ui-button::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
    top: -80% !important;
    bottom: -80% !important;
    left: -38% !important;
    width: 18% !important;
    border: 0 !important;
    border-radius: 999px !important;
    pointer-events: none !important;
    opacity: .92 !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(180,195,218,.08) 20%,
        rgba(255,255,255,.96) 50%,
        rgba(180,199,225,.10) 80%,
        transparent 100%
    ) !important;
    mix-blend-mode: screen !important;
    transform: translateX(-360%) skewX(-18deg) !important;
    animation: none !important;
}

body.jvmr-production-v413.jvmr-button-shine-on .jvmr-ui-button:hover::before,
body.jvmr-production-v413.jvmr-button-shine-on .jvmr-ui-button:focus-visible::before {
    animation: jvmrProdMetalSweep .72s cubic-bezier(.2,.72,.2,1) 1 both !important;
}

@keyframes jvmrProdMetalSweep {
    from { transform: translateX(-360%) skewX(-18deg); }
    to   { transform: translateX(1450%) skewX(-18deg); }
}

/* Widths follow the already-correct “БІЛЬШЕ ВІДГУКІВ” implementation. */
body.jvmr-production-v413 .tm-content-btn_small > .jvmr-ui-button {
    min-width: 220px !important;
}
body.jvmr-production-v413 .tm-content-btn_middle > .jvmr-ui-button,
body.jvmr-production-v413 .tm-banner__btn > .jvmr-ui-button,
body.jvmr-production-v413 .jvmr-case-more-button.jvmr-ui-button,
body.jvmr-production-v413 .jvmr-services-more.jvmr-ui-button {
    min-width: 270px !important;
}
body.jvmr-production-v413 .tm-content-btn_big > .jvmr-ui-button {
    min-width: 300px !important;
}
body.jvmr-production-v413 .tm-content-btn_full-width > .jvmr-ui-button,
body.jvmr-production-v413 #jvmr-floating-cta .jvmr-ui-button {
    width: 100% !important;
    min-width: 0 !important;
}

body.jvmr-production-v413 .tm-blog-card__read > .jvmr-ui-button,
body.jvmr-production-v413 .tm-cases-card .tm-content-btn > .jvmr-ui-button,
body.jvmr-production-v413 .tm-home-article-card .tm-content-btn > .jvmr-ui-button,
body.jvmr-production-v413 .tm-article-card .tm-content-btn > .jvmr-ui-button {
    width: min(100%, 244px) !important;
    min-width: min(100%, 220px) !important;
    max-width: 100% !important;
}

/* =========================================================
   4. GOLD CARD GLOW — clipped to rounded corners, never over photos
   ========================================================= */
body.jvmr-production-v413 .jvmr-prod-card {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
}

body.jvmr-production-v413 .jvmr-prod-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 5 !important;
    display: block !important;
    border-radius: inherit !important;
    pointer-events: none !important;
    opacity: 0 !important;
    background:
        radial-gradient(
            430px circle at var(--jvmr-x, 50%) var(--jvmr-y, 50%),
            rgba(255,212,90,.25) 0%,
            rgba(255,212,90,.10) 31%,
            transparent 68%
        ),
        linear-gradient(135deg, rgba(255,242,190,.035), transparent 46%) !important;
    transition: opacity .22s ease !important;
}

body.jvmr-production-v413 .jvmr-prod-card:hover::after,
body.jvmr-production-v413 .jvmr-prod-card:focus-within::after {
    opacity: 1 !important;
}

body.jvmr-production-v413 .jvmr-prod-card:hover,
body.jvmr-production-v413 .jvmr-prod-card:focus-within {
    border-color: var(--jvmr-prod-line-hover) !important;
    box-shadow:
        0 24px 66px rgba(2,10,26,.34),
        0 0 0 1px rgba(255,212,90,.07),
        0 0 40px rgba(255,212,90,.11) !important;
}

body.jvmr-production-v413 .jvmr-prod-card.jvmr-prod-media-hover::after {
    opacity: 0 !important;
}

body.jvmr-production-v413 .jvmr-prod-card.jvmr-prod-media-hover:hover,
body.jvmr-production-v413 .jvmr-prod-card.jvmr-prod-media-hover:focus-within {
    border-color: var(--jvmr-prod-line) !important;
    box-shadow: var(--jvmr-shadow, 0 18px 50px rgba(2,10,26,.22)) !important;
}

/* Decorative layers never intercept links. */
body.jvmr-production-v413 .jvmr-prod-card::before,
body.jvmr-production-v413 .jvmr-prod-card::after,
body.jvmr-production-v413 .jvmr-service-metal-layer,
body.jvmr-production-v413 .jvmr-card-gold-layer {
    pointer-events: none !important;
}

/* =========================================================
   5. FORMS / POPUPS — smooth surfaces and safe mobile geometry
   ========================================================= */
body.jvmr-production-v413 .tm-form-block__form,
body.jvmr-production-v413 .tm-content-form,
body.jvmr-production-v413 .tm-quiz-form {
    background:
        radial-gradient(85% 110% at 18% 0%, rgba(77,129,201,.075), transparent 62%),
        linear-gradient(145deg, rgba(255,255,255,.025), rgba(7,18,37,.055)) !important;
    border-color: rgba(255,212,90,.28) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

body.jvmr-production-v413 .tm-content-form input:not([type="submit"]),
body.jvmr-production-v413 .tm-content-form textarea,
body.jvmr-production-v413 .tm-form-block__form input:not([type="submit"]),
body.jvmr-production-v413 .tm-form-block__form textarea,
body.jvmr-production-v413 .form-popup-content input:not([type="submit"]),
body.jvmr-production-v413 .form-popup-content textarea {
    background:
        linear-gradient(110deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
    background-color: rgba(14,32,61,.72) !important;
    border-color: rgba(255,212,90,.48) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

body.jvmr-production-v413 .tm-form-block__form input[type="submit"],
body.jvmr-production-v413 .tm-form-block__form button[type="submit"],
body.jvmr-production-v413 .tm-content-form input[type="submit"],
body.jvmr-production-v413 .tm-content-form button[type="submit"] {
    opacity: 1 !important;
    visibility: visible !important;
    background: #fff !important;
    color: #0b111e !important;
    border-radius: 999px !important;
}

body.jvmr-production-v413 .mfp-wrap,
body.jvmr-production-v413 .pum-overlay {
    z-index: 2147483000 !important;
}

body.jvmr-production-v413 .form-popup-content,
body.jvmr-production-v413 .pum-container {
    box-sizing: border-box !important;
    position: relative !important;
    overflow: auto !important;
    background:
        radial-gradient(100% 100% at 100% 0%, rgba(71,124,198,.12), transparent 56%),
        #0b1427 !important;
    border: 1px solid rgba(255,212,90,.55) !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.46) !important;
}

body.jvmr-production-v413 .mfp-close,
body.jvmr-production-v413 .pum-close {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 20 !important;
    margin: 0 !important;
    transform: none !important;
}

/* About-company paragraph rhythm restored. */
body.jvmr-production-v413 .jv-about-company__closing {
    margin-top: 30px !important;
}
body.jvmr-production-v413 .jv-about-company__closing p + p,
body.jvmr-production-v413 .jv-about-company__intro-text p + p {
    margin-top: 18px !important;
}

/* Footer service links and mobile divider spacing. */
body.jvmr-production-v413 .tm-footer #tm-footer-menu-list.tm-menu-footer-wrapper_inline {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 28px !important;
    margin-left: 0 !important;
}
body.jvmr-production-v413 .tm-footer #tm-footer-menu-list.tm-menu-footer-wrapper_inline > li {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}
body.jvmr-production-v413 .tm-footer__title {
    border-bottom-color: rgba(255,255,255,.07) !important;
}
body.jvmr-production-v413 .tm-footer__line-2 {
    padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
}

/* =========================================================
   6. MOBILE / TABLET
   ========================================================= */
@media (max-width: 1180px) {
    body.jvmr-production-v413 .tm-header__menu-wrapper,
    body.jvmr-production-v413 .tm-toogle-navigation > label,
    body.jvmr-production-v413 .tm-primary-navigation {
        z-index: 2147482200 !important;
    }
}

@media (max-width: 767px) {
    html:has(body.jvmr-production-v413),
    body.jvmr-production-v413,
    body.jvmr-production-v413 .tm-page {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    body.jvmr-production-v413 .jvmr-ui-button {
        --jvmr-btn-arrow: 50px;
        --jvmr-btn-gap: 12px;
        width: min(100%, 340px) !important;
        min-width: min(100%, 260px) !important;
        min-height: 66px !important;
        padding: 8px 8px 8px 20px !important;
        font-size: clamp(13px, 4vw, 16px) !important;
    }

    body.jvmr-production-v413 .jvmr-ui-button > .jvmr-ui-label {
        line-height: 1.08 !important;
    }

    body.jvmr-production-v413 .jvmr-ui-button.jvmr-ui-button--wrap {
        min-height: 76px !important;
    }

    body.jvmr-production-v413 .jvmr-ui-button.jvmr-ui-button--wrap > .jvmr-ui-label {
        max-width: 11.5ch !important;
    }

    body.jvmr-production-v413 .tm-content-btn_small > .jvmr-ui-button,
    body.jvmr-production-v413 .tm-content-btn_middle > .jvmr-ui-button,
    body.jvmr-production-v413 .tm-content-btn_big > .jvmr-ui-button,
    body.jvmr-production-v413 .tm-banner__btn > .jvmr-ui-button,
    body.jvmr-production-v413 .jvmr-case-more-button.jvmr-ui-button,
    body.jvmr-production-v413 .jvmr-services-more.jvmr-ui-button {
        min-width: min(100%, 280px) !important;
    }

    body.jvmr-production-v413 .tm-blog-card__read > .jvmr-ui-button,
    body.jvmr-production-v413 .tm-cases-card .tm-content-btn > .jvmr-ui-button,
    body.jvmr-production-v413 .tm-home-article-card .tm-content-btn > .jvmr-ui-button,
    body.jvmr-production-v413 .tm-article-card .tm-content-btn > .jvmr-ui-button {
        width: min(100%, 268px) !important;
        min-width: min(100%, 220px) !important;
    }

    body.jvmr-production-v413 .tm-services .swiper-wrapper,
    body.jvmr-production-v413 .tm-catalog-block .swiper-wrapper {
        align-items: stretch !important;
    }
    body.jvmr-production-v413 .tm-services .swiper-slide,
    body.jvmr-production-v413 .tm-catalog-block .swiper-slide {
        display: flex !important;
        height: auto !important;
    }
    body.jvmr-production-v413 .tm-services .tm-catalog-block-card,
    body.jvmr-production-v413 .tm-catalog-block .tm-catalog-block-card {
        width: 100% !important;
        height: 100% !important;
    }

    body.jvmr-production-v413 .mfp-container {
        box-sizing: border-box !important;
        padding: 12px !important;
    }
    body.jvmr-production-v413 .mfp-content,
    body.jvmr-production-v413 .form-popup,
    body.jvmr-production-v413 .form-popup-content,
    body.jvmr-production-v413 .pum-container {
        box-sizing: border-box !important;
        width: min(100%, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        margin: 0 auto !important;
    }
    body.jvmr-production-v413 .form-popup-content,
    body.jvmr-production-v413 .pum-container {
        max-height: min(88dvh, 820px) !important;
        padding: 70px 20px 28px !important;
        border-radius: 34px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
    body.jvmr-production-v413 .mfp-close,
    body.jvmr-production-v413 .pum-close {
        top: 10px !important;
        right: 10px !important;
        width: 54px !important;
        height: 54px !important;
        border-radius: 50% !important;
    }
    body.jvmr-production-v413 .form-popup-content__title,
    body.jvmr-production-v413 .popup-title {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 8px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: clamp(28px, 8.2vw, 40px) !important;
        line-height: 1.06 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.jvmr-production-v413 .tm-footer #tm-footer-menu-list.tm-menu-footer-wrapper_inline {
        grid-template-columns: 1fr !important;
    }
    body.jvmr-production-v413 .tm-footer__line-social {
        margin-bottom: 30px !important;
        padding-bottom: 0 !important;
    }
    body.jvmr-production-v413 .tm-footer__bottom {
        margin-top: 26px !important;
        padding-bottom: max(22px, env(safe-area-inset-bottom)) !important;
    }
    body.jvmr-production-v413 .tm-footer,
    body.jvmr-production-v413 .tm-footer__line-1,
    body.jvmr-production-v413 .tm-footer__line-2 {
        min-height: 0 !important;
        height: auto !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.jvmr-production-v413.jvmr-button-shine-on .jvmr-ui-button::before,
    body.jvmr-production-v413 .jvmr-ui-button::before {
        display: none !important;
        animation: none !important;
    }
    body.jvmr-production-v413 .jvmr-prod-card,
    body.jvmr-production-v413 .jvmr-prod-card::after {
        transition: none !important;
    }
}

/* =========================================================
   7. v4.14 — SERVICE-CARD HOVER + ALWAYS-ON METALLIC BUTTONS
   ========================================================= */

/* Service cards already have a clear native white/dark hover state. Remove
   both production and legacy yellow cursor halos so no square glow can show
   outside or behind the rounded card. Other cards keep the gold interaction. */
body.jvmr-production-v413 .tm-services-card.jvmr-prod-card::after,
body.jvmr-production-v413 .tm-catalog-block-card.jvmr-prod-card::after,
body.jvmr-production-v413 .tm-services-card.jvmr-safe-glow-card::after,
body.jvmr-production-v413 .tm-catalog-block-card.jvmr-safe-glow-card::after,
body.jvmr-production-v413 .tm-services-card::after,
body.jvmr-production-v413 .tm-catalog-block-card::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

body.jvmr-production-v413 .tm-services-card.jvmr-prod-card:hover,
body.jvmr-production-v413 .tm-services-card.jvmr-prod-card:focus-within,
body.jvmr-production-v413 .tm-catalog-block-card.jvmr-prod-card:hover,
body.jvmr-production-v413 .tm-catalog-block-card.jvmr-prod-card:focus-within,
body.jvmr-production-v413 .tm-services-card.jvmr-safe-glow-card:hover,
body.jvmr-production-v413 .tm-services-card.jvmr-safe-glow-card:focus-within,
body.jvmr-production-v413 .tm-catalog-block-card.jvmr-safe-glow-card:hover,
body.jvmr-production-v413 .tm-catalog-block-card.jvmr-safe-glow-card:focus-within {
    border-color: rgba(255,255,255,.22) !important;
    box-shadow:
        0 22px 54px rgba(2,10,26,.28),
        inset 0 1px 0 rgba(255,255,255,.035) !important;
}

/* Always restore the premium metallic sweep on the normalized CTA system.
   It no longer depends on the legacy option/class, so it is available on the
   home page and service pages from the first hover. The dark flanks keep the
   effect visible on white buttons; the bright centre works on dark/gold ones. */
body.jvmr-production-v413.jvmr-button-shine-on .jvmr-ui-button::before,
body.jvmr-production-v413 .jvmr-ui-button::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
    top: -95% !important;
    bottom: -95% !important;
    left: -42% !important;
    width: 24% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    pointer-events: none !important;
    opacity: .92 !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(7,20,40,.05) 18%,
        rgba(7,20,40,.20) 35%,
        rgba(255,255,255,.96) 50%,
        rgba(7,20,40,.17) 65%,
        rgba(255,255,255,.08) 82%,
        transparent 100%
    ) !important;
    mix-blend-mode: normal !important;
    transform: translateX(-380%) skewX(-18deg) !important;
    animation: none !important;
    will-change: transform !important;
}

body.jvmr-production-v413.jvmr-button-shine-on .jvmr-ui-button:hover::before,
body.jvmr-production-v413.jvmr-button-shine-on .jvmr-ui-button:focus-visible::before,
body.jvmr-production-v413 .jvmr-ui-button:hover::before,
body.jvmr-production-v413 .jvmr-ui-button:focus-visible::before {
    animation: jvmrProdMetalSweep414 .78s cubic-bezier(.18,.72,.2,1) 1 both !important;
}

@keyframes jvmrProdMetalSweep414 {
    from { transform: translateX(-380%) skewX(-18deg); }
    to   { transform: translateX(1450%) skewX(-18deg); }
}

@media (prefers-reduced-motion: reduce) {
    body.jvmr-production-v413.jvmr-button-shine-on .jvmr-ui-button::before,
    body.jvmr-production-v413 .jvmr-ui-button::before {
        display: none !important;
        animation: none !important;
    }
}

/* A thin clipped metallic pass replaces the removed service-card halo. */
body.jvmr-production-v413 .jvmr-prod-service-card > .jvmr-service-card-sweep {
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 8 !important;
    top: -90% !important;
    bottom: -90% !important;
    left: -34% !important;
    width: 15% !important;
    display: block !important;
    pointer-events: none !important;
    opacity: .68 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255,255,255,.08) 22%,
        rgba(255,255,255,.72) 50%,
        rgba(255,255,255,.10) 78%,
        transparent 100%
    ) !important;
    transform: translateX(-420%) skewX(-16deg) !important;
    animation: none !important;
    will-change: transform !important;
}

body.jvmr-production-v413 .jvmr-prod-service-card:hover > .jvmr-service-card-sweep,
body.jvmr-production-v413 .jvmr-prod-service-card:focus-within > .jvmr-service-card-sweep {
    animation: jvmrServiceCardMetalSweep414 .72s cubic-bezier(.18,.72,.2,1) 1 both !important;
}

@keyframes jvmrServiceCardMetalSweep414 {
    from { transform: translateX(-420%) skewX(-16deg); }
    to   { transform: translateX(1650%) skewX(-16deg); }
}

@media (prefers-reduced-motion: reduce) {
    body.jvmr-production-v413 .jvmr-prod-service-card > .jvmr-service-card-sweep {
        display: none !important;
        animation: none !important;
    }
}

/* =========================================================
   8. v4.15 — HOME SERVICE GLOW + MOBILE CONTAINMENT RECOVERY
   ========================================================= */

/* Desktop only: the two service-direction cards on the home page use the
   same rounded, cursor-following gold light as the review cards. The v4.14
   service-card reset remains in place everywhere else. */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
    body.jvmr-production-v413.home .tm-catalog-block-card.jvmr-prod-card,
    body.jvmr-production-v413.home .tm-services-card.jvmr-prod-card {
        position: relative !important;
        isolation: isolate !important;
        overflow: hidden !important;
        border-radius: 24px !important;
    }

    body.jvmr-production-v413.home .tm-catalog-block-card.jvmr-prod-card::after,
    body.jvmr-production-v413.home .tm-catalog-block-card.jvmr-safe-glow-card::after,
    body.jvmr-production-v413.home .tm-services-card.jvmr-prod-card::after,
    body.jvmr-production-v413.home .tm-services-card.jvmr-safe-glow-card::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 5 !important;
        border: 0 !important;
        border-radius: inherit !important;
        pointer-events: none !important;
        opacity: 0 !important;
        background:
            radial-gradient(
                430px circle at var(--jvmr-x, 50%) var(--jvmr-y, 50%),
                rgba(255,212,90,.25) 0%,
                rgba(255,212,90,.10) 31%,
                transparent 68%
            ),
            linear-gradient(135deg, rgba(255,242,190,.035), transparent 46%) !important;
        box-shadow: none !important;
        transition: opacity .22s ease !important;
    }

    body.jvmr-production-v413.home .tm-catalog-block-card.jvmr-prod-card:hover::after,
    body.jvmr-production-v413.home .tm-catalog-block-card.jvmr-prod-card:focus-within::after,
    body.jvmr-production-v413.home .tm-catalog-block-card.jvmr-safe-glow-card:hover::after,
    body.jvmr-production-v413.home .tm-catalog-block-card.jvmr-safe-glow-card:focus-within::after,
    body.jvmr-production-v413.home .tm-services-card.jvmr-prod-card:hover::after,
    body.jvmr-production-v413.home .tm-services-card.jvmr-prod-card:focus-within::after,
    body.jvmr-production-v413.home .tm-services-card.jvmr-safe-glow-card:hover::after,
    body.jvmr-production-v413.home .tm-services-card.jvmr-safe-glow-card:focus-within::after {
        opacity: 1 !important;
    }

    body.jvmr-production-v413.home .tm-catalog-block-card.jvmr-prod-card:hover,
    body.jvmr-production-v413.home .tm-catalog-block-card.jvmr-prod-card:focus-within,
    body.jvmr-production-v413.home .tm-services-card.jvmr-prod-card:hover,
    body.jvmr-production-v413.home .tm-services-card.jvmr-prod-card:focus-within {
        border-color: rgba(255,212,90,.46) !important;
        box-shadow:
            0 26px 70px rgba(2,10,26,.36),
            0 0 0 1px rgba(255,212,90,.085),
            0 0 44px rgba(255,212,90,.13),
            inset 0 1px 0 rgba(255,248,214,.06) !important;
    }
}

/* The following rules intentionally target phones only. They override the
   historic Customizer CSS that forces desktop widths, max-content wrappers
   and clipped page shells on mobile. */
@media (max-width: 767px) {
    html:has(body.jvmr-production-v413),
    body.jvmr-production-v413 {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* Keep fixed navigation outside the clipping context while ordinary page
       content remains constrained by the viewport. */
    body.jvmr-production-v413 .tm-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body.jvmr-production-v413 .tm-main,
    body.jvmr-production-v413 .tm-main.tm-home {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
    }

    body.jvmr-production-v413 .tm-centered-content {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    /* Touch browsers can leave :hover active after a tap. Remove pointer and
       metallic hover layers on phones, but keep every native border/surface. */
    body.jvmr-production-v413 .jvmr-prod-card::after,
    body.jvmr-production-v413 .jvmr-safe-glow-card::after,
    body.jvmr-production-v413 .jvmr-prod-service-card > .jvmr-service-card-sweep,
    body.jvmr-production-v413 .jvmr-service-card-sweep,
    body.jvmr-production-v413 .jvmr-service-metal-layer,
    body.jvmr-production-v413 .jvmr-card-gold-layer {
        content: none !important;
        display: none !important;
        opacity: 0 !important;
        background: none !important;
        box-shadow: none !important;
        animation: none !important;
    }

    body.jvmr-production-v413 .jvmr-prod-card:hover,
    body.jvmr-production-v413 .jvmr-prod-card:focus-within,
    body.jvmr-production-v413 .jvmr-safe-glow-card:hover,
    body.jvmr-production-v413 .jvmr-safe-glow-card:focus-within {
        border-color: rgba(255,255,255,.14) !important;
        box-shadow: none !important;
    }

    /* ---------- Mobile header / full-screen menu ---------- */
    body.jvmr-production-v413 .tm-header {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body.jvmr-production-v413 .tm-header > .tm-centered-content,
    body.jvmr-production-v413 .tm-toogle-navigation,
    body.jvmr-production-v413 .tm-header__left {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body.jvmr-production-v413 .tm-header__left {
        flex: 1 1 auto !important;
    }

    body.jvmr-production-v413 .tm-header__logo,
    body.jvmr-production-v413 .tm-header__logo > a,
    body.jvmr-production-v413 .tm-header__logo > span {
        flex: 0 0 auto !important;
        max-width: 110px !important;
    }

    /* Restore the small white “Меню” pill. It must never be stretched to the
       width of the navigation panel. */
    body.jvmr-production-v413 .tm-header__menu-wrapper {
        box-sizing: border-box !important;
        position: absolute !important;
        top: 5px !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
        height: 50px !important;
        margin: 0 !important;
        padding: 0 42px 0 20px !important;
        border: 5px solid var(--jvmr-prod-gold) !important;
        border-radius: 30px !important;
        background: #fff !important;
        color: var(--jvmr-prod-bg) !important;
        z-index: 2147482300 !important;
        overflow: hidden !important;
    }

    body.jvmr-production-v413 .tm-toogle-navigation > label {
        position: absolute !important;
        top: 4px !important;
        right: 17px !important;
        bottom: auto !important;
        left: auto !important;
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
        height: 50px !important;
        margin: 0 !important;
        z-index: 2147482400 !important;
    }

    body.jvmr-production-v413 .tm-primary-navigation {
        box-sizing: border-box !important;
        position: fixed !important;
        top: 70px !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        height: 0 !important;
        max-height: calc(100vh - 70px) !important;
        max-height: calc(100dvh - 70px) !important;
        margin: 0 !important;
        padding: 0 !important;
        visibility: hidden !important;
        overflow: hidden !important;
        background: #101a2f !important;
        z-index: 2147482200 !important;
        transform: none !important;
    }

    body.jvmr-production-v413 #main-navigation-toggle:checked ~ .tm-header__left .tm-primary-navigation {
        height: calc(100vh - 70px) !important;
        height: calc(100dvh - 70px) !important;
        min-height: calc(100vh - 70px) !important;
        min-height: calc(100dvh - 70px) !important;
        visibility: visible !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
    }

    body.jvmr-production-v413 #main-navigation-toggle:checked ~ .tm-header__left .tm-primary-navigation .tm-primary-menu-container,
    body.jvmr-production-v413 #main-navigation-toggle:checked ~ .tm-header__left .tm-primary-navigation .tm-header__mob-position {
        display: block !important;
    }

    body.jvmr-production-v413 .tm-primary-menu-container,
    body.jvmr-production-v413 .tm-header__mob-position {
        box-sizing: border-box !important;
        width: min(100%, 390px) !important;
        max-width: 390px !important;
        min-width: 0 !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    body.jvmr-production-v413 .tm-primary-menu-container {
        padding-top: 34px !important;
        padding-bottom: 12px !important;
        text-align: center !important;
    }

    body.jvmr-production-v413 .tm-menu-wrapper,
    body.jvmr-production-v413 .tm-menu-wrapper_header {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto 38px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    body.jvmr-production-v413 .tm-menu-wrapper > li,
    body.jvmr-production-v413 .tm-menu-wrapper > li > span,
    body.jvmr-production-v413 .tm-menu-wrapper > li > span > a {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    body.jvmr-production-v413 .tm-header__mob-position {
        padding-top: 4px !important;
        padding-bottom: max(36px, env(safe-area-inset-bottom)) !important;
    }

    body.jvmr-production-v413 .tm-header__mob-position .tm-contacts {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 340px !important;
        min-width: 0 !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body.jvmr-production-v413 .tm-header__mob-position .tm-contacts__block {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: 56px minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.jvmr-production-v413 .tm-header__mob-position .tm-contacts__inner,
    body.jvmr-production-v413 .tm-header__mob-position .tm-contacts__data,
    body.jvmr-production-v413 .tm-header__mob-position .tm-contacts__data a {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    body.jvmr-production-v413 .tm-header__mob-position .tm-footer__line-social {
        box-sizing: border-box !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 22px !important;
        width: 100% !important;
        max-width: 340px !important;
        margin: 34px auto 0 !important;
        padding: 0 !important;
    }

    /* ---------- Homepage sections: restore normal document flow ---------- */
    body.jvmr-production-v413.home .tm-catalog-block,
    body.jvmr-production-v413.home .tm-cases-block,
    body.jvmr-production-v413.home .tm-news-block,
    body.jvmr-production-v413.home .tm-reviews-block,
    body.jvmr-production-v413.home .jvmr-home,
    body.jvmr-production-v413.home .tm-quiz-block,
    body.jvmr-production-v413.home .tm-consult-block,
    body.jvmr-production-v413.home .tm-form-block {
        box-sizing: border-box !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        overflow: visible !important;
        contain: none !important;
    }

    body.jvmr-production-v413.home .tm-catalog-block__other,
    body.jvmr-production-v413.home .tm-single_cases__other,
    body.jvmr-production-v413.home .tm-news-block > .tm-spec-columns-wrap,
    body.jvmr-production-v413.home .tm-reviews__inner,
    body.jvmr-production-v413.home .jvmr-home-layout,
    body.jvmr-production-v413.home .tm-quiz-block__inner,
    body.jvmr-production-v413.home .tm-form-block > .tm-spec-columns-wrap {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        overflow: visible !important;
    }

    /* Companion Google reviews: keep heading/actions/cards together and remove
       the giant empty mobile spacer seen before the first card. */
    body.jvmr-production-v413.home .jvmr-home {
        overflow: visible !important;
    }

    body.jvmr-production-v413.home .jvmr-home-layout {
        display: block !important;
        padding: 48px 16px !important;
    }

    body.jvmr-production-v413.home .jvmr-side-label,
    body.jvmr-production-v413.home .jvmr-home-content,
    body.jvmr-production-v413.home .jvmr-home-head,
    body.jvmr-production-v413.home .jvmr-home-copy,
    body.jvmr-production-v413.home .jvmr-home-actions,
    body.jvmr-production-v413.home .jvmr-slider-wrap,
    body.jvmr-production-v413.home .jvmr-slider {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    body.jvmr-production-v413.home .jvmr-side-label {
        margin: 0 0 18px !important;
        padding: 0 !important;
    }

    body.jvmr-production-v413.home .jvmr-home-head {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 20px !important;
        margin-bottom: 24px !important;
    }

    body.jvmr-production-v413.home .jvmr-home-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    body.jvmr-production-v413.home .jvmr-summary,
    body.jvmr-production-v413.home .jvmr-button {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.jvmr-production-v413.home .jvmr-slider-wrap {
        position: relative !important;
        overflow: visible !important;
    }

    body.jvmr-production-v413.home .jvmr-slider {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 16px !important;
        padding: 4px 2px 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x proximity !important;
        scrollbar-width: none !important;
    }

    body.jvmr-production-v413.home .jvmr-slider::-webkit-scrollbar {
        display: none !important;
    }

    body.jvmr-production-v413.home .jvmr-review-card.is-home {
        box-sizing: border-box !important;
        flex: 0 0 min(84vw, 360px) !important;
        width: min(84vw, 360px) !important;
        min-width: min(84vw, 360px) !important;
        max-width: min(84vw, 360px) !important;
        height: auto !important;
        min-height: 194px !important;
        max-height: none !important;
        scroll-snap-align: start !important;
    }

    /* Native review block fallback, used if the companion replacement has not
       run yet. */
    body.jvmr-production-v413.home .tm-reviews-home {
        box-sizing: border-box !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    body.jvmr-production-v413.home .tm-reviews-home::-webkit-scrollbar {
        display: none !important;
    }

    body.jvmr-production-v413.home .tm-reviews-card-home,
    body.jvmr-production-v413.home .tm-reviews-card-home:nth-child(even) {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 0 0 min(84vw, 360px) !important;
        flex-direction: column !important;
        width: min(84vw, 360px) !important;
        min-width: min(84vw, 360px) !important;
        max-width: min(84vw, 360px) !important;
        height: auto !important;
        min-height: 0 !important;
    }

    /* Cases, articles and service directions: neutralize the old unconditional
       380px desktop width and all stale Swiper heights on phones. */
    body.jvmr-production-v413.home .tm-cases-block .swiper,
    body.jvmr-production-v413.home .tm-news-block .swiper,
    body.jvmr-production-v413.home .tm-services .swiper,
    body.jvmr-production-v413.home .tm-catalog-block .swiper,
    body.jvmr-production-v413.home .tm-other-cases-slider.swiper {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding-bottom: 18px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x pan-y !important;
        scrollbar-width: none !important;
    }

    body.jvmr-production-v413.home .tm-cases-block .swiper::-webkit-scrollbar,
    body.jvmr-production-v413.home .tm-news-block .swiper::-webkit-scrollbar,
    body.jvmr-production-v413.home .tm-services .swiper::-webkit-scrollbar,
    body.jvmr-production-v413.home .tm-catalog-block .swiper::-webkit-scrollbar,
    body.jvmr-production-v413.home .tm-other-cases-slider.swiper::-webkit-scrollbar {
        display: none !important;
    }

    body.jvmr-production-v413.home .tm-cases-block .swiper-wrapper,
    body.jvmr-production-v413.home .tm-news-block .swiper-wrapper,
    body.jvmr-production-v413.home .tm-services .swiper-wrapper,
    body.jvmr-production-v413.home .tm-catalog-block .swiper-wrapper,
    body.jvmr-production-v413.home .tm-other-cases-slider .swiper-wrapper {
        box-sizing: border-box !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        width: max-content !important;
        min-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        transform: none !important;
    }

    body.jvmr-production-v413.home .tm-cases-block .swiper-slide,
    body.jvmr-production-v413.home .tm-news-block .swiper-slide,
    body.jvmr-production-v413.home .tm-services .swiper-slide,
    body.jvmr-production-v413.home .tm-catalog-block .swiper-slide,
    body.jvmr-production-v413.home .tm-other-cases-slider .swiper-slide {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 0 0 min(82vw, 360px) !important;
        width: min(82vw, 360px) !important;
        min-width: min(82vw, 360px) !important;
        max-width: min(82vw, 360px) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-right: 18px !important;
    }

    body.jvmr-production-v413.home .tm-cases-block .tm-blog-card,
    body.jvmr-production-v413.home .tm-news-block .tm-blog-card,
    body.jvmr-production-v413.home .tm-home-article-card,
    body.jvmr-production-v413.home .tm-cases-card {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
    }

    body.jvmr-production-v413.home .tm-cases-block .tm-blog-card__header,
    body.jvmr-production-v413.home .tm-news-block .tm-blog-card__header,
    body.jvmr-production-v413.home .tm-home-article-card .tm-blog-card__header,
    body.jvmr-production-v413.home .tm-cases-card .tm-blog-card__header {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    /* ---------- Forms / popups: no mobile glow outside rounded edges ---------- */
    body.jvmr-production-v413 .tm-form-block {
        box-sizing: border-box !important;
        max-width: 100% !important;
        min-width: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        filter: none !important;
    }

    body.jvmr-production-v413 .tm-content-form,
    body.jvmr-production-v413 .tm-form-block__form,
    body.jvmr-production-v413 .tm-quiz-form,
    body.jvmr-production-v413 .form-popup-content,
    body.jvmr-production-v413 .pum-container {
        box-sizing: border-box !important;
        max-width: 100% !important;
        min-width: 0 !important;
        background-color: rgba(14,32,61,.96) !important;
        background-image: none !important;
        box-shadow: none !important;
        filter: none !important;
    }

    body.jvmr-production-v413 .tm-content-form,
    body.jvmr-production-v413 .tm-form-block__form,
    body.jvmr-production-v413 .tm-quiz-form,
    body.jvmr-production-v413 .form-popup-content,
    body.jvmr-production-v413 .pum-container {
        overflow: hidden !important;
    }

    body.jvmr-production-v413 .tm-form-block::before,
    body.jvmr-production-v413 .tm-form-block::after,
    body.jvmr-production-v413 .tm-form-block__form::before,
    body.jvmr-production-v413 .tm-form-block__form::after,
    body.jvmr-production-v413 .tm-content-form::before,
    body.jvmr-production-v413 .tm-content-form::after,
    body.jvmr-production-v413 .tm-quiz-form::before,
    body.jvmr-production-v413 .tm-quiz-form::after,
    body.jvmr-production-v413 .form-popup-content::before,
    body.jvmr-production-v413 .form-popup-content::after,
    body.jvmr-production-v413 .pum-container::before,
    body.jvmr-production-v413 .pum-container::after {
        content: none !important;
        display: none !important;
        background: none !important;
        box-shadow: none !important;
        filter: none !important;
    }

    body.jvmr-production-v413 .tm-content-form input:not([type="submit"]),
    body.jvmr-production-v413 .tm-content-form textarea,
    body.jvmr-production-v413 .tm-form-block__form input:not([type="submit"]),
    body.jvmr-production-v413 .tm-form-block__form textarea,
    body.jvmr-production-v413 .tm-quiz-form input:not([type="submit"]),
    body.jvmr-production-v413 .tm-quiz-form textarea,
    body.jvmr-production-v413 .form-popup-content input:not([type="submit"]),
    body.jvmr-production-v413 .form-popup-content textarea,
    body.jvmr-production-v413 .pum-container input:not([type="submit"]),
    body.jvmr-production-v413 .pum-container textarea {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        background-color: rgba(23,45,80,.92) !important;
        background-image: none !important;
        box-shadow: none !important;
        filter: none !important;
    }

    body.jvmr-production-v413 .tm-form-block__title,
    body.jvmr-production-v413 .tm-content-form__title,
    body.jvmr-production-v413 .form-popup-content__title,
    body.jvmr-production-v413 .popup-title {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: auto !important;
        margin-left: auto !important;
        font-size: clamp(28px, 8vw, 40px) !important;
        line-height: 1.05 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
}

@media (max-width: 767px) {
    body.jvmr-production-v413.jvmr-mobile-menu-open {
        overflow: hidden !important;
        overscroll-behavior: none !important;
    }
}

/* =========================================================
   9. v4.16 — TARGETED SERVICE-CARD CLIPPING + CLEAN MOBILE SUBMENUS
   Scope is intentionally limited to the Mobilization/Military archives
   and the opened mobile navigation. No other components are changed.
   ========================================================= */

/* The theme rounds the inner link, while the redesign layers are attached to
   the outer .tm-services-card. Give both layers the same clipping geometry so
   no rectangular hover/light surface can remain visible around the corners. */
body.jvmr-production-v413 .tm-mobilization-archive .tm-services-card,
body.jvmr-production-v413 .tm-military-archive .tm-services-card {
    position: relative !important;
    isolation: isolate !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background-color: transparent !important;
    background-image: none !important;
    background-clip: padding-box !important;
}

body.jvmr-production-v413 .tm-mobilization-archive .tm-services-card > a,
body.jvmr-production-v413 .tm-military-archive .tm-services-card > a {
    position: relative !important;
    z-index: 1 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background-clip: padding-box !important;
}

body.jvmr-production-v413 .tm-mobilization-archive .tm-services-card::before,
body.jvmr-production-v413 .tm-mobilization-archive .tm-services-card::after,
body.jvmr-production-v413 .tm-military-archive .tm-services-card::before,
body.jvmr-production-v413 .tm-military-archive .tm-services-card::after,
body.jvmr-production-v413 .tm-mobilization-archive .tm-services-card > .jvmr-service-card-sweep,
body.jvmr-production-v413 .tm-military-archive .tm-services-card > .jvmr-service-card-sweep {
    border-radius: 24px !important;
    clip-path: inset(0 round 24px) !important;
}

/* Phones do not need pointer-following light on these archive cards. Removing
   only their decorative layers also eliminates the darker square cells visible
   behind the rounded links in Safari, while preserving the native card border. */
@media (max-width: 767px) {
    body.jvmr-production-v413 .tm-mobilization-archive .tm-grid__width-1-3,
    body.jvmr-production-v413 .tm-military-archive .tm-grid__width-1-3,
    body.jvmr-production-v413 .tm-mobilization-archive .tm-services-card,
    body.jvmr-production-v413 .tm-military-archive .tm-services-card {
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        filter: none !important;
    }

    body.jvmr-production-v413 .tm-mobilization-archive .tm-grid__width-1-3::before,
    body.jvmr-production-v413 .tm-mobilization-archive .tm-grid__width-1-3::after,
    body.jvmr-production-v413 .tm-military-archive .tm-grid__width-1-3::before,
    body.jvmr-production-v413 .tm-military-archive .tm-grid__width-1-3::after,
    body.jvmr-production-v413 .tm-mobilization-archive .tm-services-card::before,
    body.jvmr-production-v413 .tm-mobilization-archive .tm-services-card::after,
    body.jvmr-production-v413 .tm-military-archive .tm-services-card::before,
    body.jvmr-production-v413 .tm-military-archive .tm-services-card::after,
    body.jvmr-production-v413 .tm-mobilization-archive .tm-services-card > .jvmr-service-card-sweep,
    body.jvmr-production-v413 .tm-military-archive .tm-services-card > .jvmr-service-card-sweep {
        content: none !important;
        display: none !important;
        opacity: 0 !important;
        background: none !important;
        box-shadow: none !important;
        filter: none !important;
        animation: none !important;
    }

    /* The safe header layer gives desktop dropdowns a glass panel. On mobile
       that same panel becomes a dark rectangular strip around expanded items.
       Keep the active white link, but make the submenu container itself clean. */
    body.jvmr-production-v413 .tm-primary-navigation .tm-menu-wrapper > li.menu-item-has-children,
    body.jvmr-production-v413 .tm-primary-navigation .tm-menu-wrapper > li > ul.sub-menu,
    body.jvmr-production-v413 .tm-primary-navigation .tm-menu-wrapper ul.sub-menu,
    body.jvmr-production-v413 .tm-primary-navigation .tm-menu-wrapper ul.sub-menu > li,
    body.jvmr-production-v413 .tm-primary-navigation .tm-menu-wrapper ul.sub-menu > li > span {
        background-color: transparent !important;
        background-image: none !important;
        border: 0 !important;
        box-shadow: none !important;
        filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    body.jvmr-production-v413 .tm-primary-navigation .tm-menu-wrapper ul.sub-menu > li:not(.current-menu-item) > span > a {
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        filter: none !important;
    }
}
