/*
 * J&V Homepage Unified Redesign 1.0.0
 * Scoped exclusively to body.home.jvhur-active and exact J&V components.
 */

body.home.jvhur-active {
    --jvhur-bg: var(--color-bg-blue, #101a2f);
    --jvhur-card: var(--color-block-blue, #0b1529);
    --jvhur-card-soft: rgba(19, 39, 72, .72);
    --jvhur-gold: var(--color-yellow, #ffd45a);
    --jvhur-text: rgba(249, 251, 255, .96);
    --jvhur-muted: rgba(220, 228, 242, .62);
    --jvhur-line: rgba(210, 225, 250, .15);
    --jvhur-line-strong: rgba(221, 234, 255, .24);
    --jvhur-line-gold: rgba(255, 212, 90, .38);
    --jvhur-radius: 24px;
    --jvhur-shadow: 0 20px 54px rgba(2, 10, 26, .20);
    --jvhur-shadow-hover: 0 28px 76px rgba(2, 10, 26, .34);
}

body.home.jvhur-active .jvhur-section {
    box-sizing: border-box;
    position: relative;
    isolation: isolate;
    width: 100%;
    margin-block: clamp(78px, 8vw, 118px);
}

body.home.jvhur-active .jvhur-section::before {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    width: min(42vw, 560px);
    aspect-ratio: 1;
    border-radius: 50%;
    filter: blur(110px);
    opacity: 0;
    transition: opacity .35s ease;
}

body.home.jvhur-active.jvmr-production-v413 .jvhur-section {
    background: transparent !important;
}

body.home.jvhur-soft-glow-on .jvhur-section::before {
    opacity: .055;
}

body.home.jvhur-soft-glow-on .jvhur-services::before,
body.home.jvhur-soft-glow-on .jvhur-quiz::before {
    right: -18vw;
    top: 8%;
    background: #5c8bc6;
}

body.home.jvhur-soft-glow-on .jvhur-team::before,
body.home.jvhur-soft-glow-on .jvhur-about::before {
    left: -20vw;
    top: 12%;
    background: var(--jvhur-gold);
    opacity: .032;
}

body.home.jvhur-active .jvhur-layout,
body.home.jvhur-active .tm-services .tm-spec-columns-wrap,
body.home.jvhur-active .tm-team-block--redesign .tm-spec-columns-wrap,
body.home.jvhur-active .tm-team-block .tm-spec-columns-wrap,
body.home.jvhur-active .tm-quiz-block .tm-spec-columns-wrap,
body.home.jvhur-active .jv-about-company__layout {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 132px minmax(0, 1fr) !important;
    column-gap: 28px !important;
    align-items: start !important;
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding: 0 !important;
}

body.home.jvhur-active .jvhur-main-column,
body.home.jvhur-active .tm-services .tm-spec-subcolumn,
body.home.jvhur-active .tm-team-block--redesign .tm-spec-subcolumn,
body.home.jvhur-active .tm-team-block .tm-spec-subcolumn,
body.home.jvhur-active .tm-quiz-block .tm-spec-subcolumn,
body.home.jvhur-active .jv-about-company__content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

body.home.jvhur-active .jvhur-side-label,
body.home.jvhur-active .tm-services .tm-spec-column,
body.home.jvhur-active .tm-team-block--redesign .tm-spec-column,
body.home.jvhur-active .tm-team-block .tm-spec-column,
body.home.jvhur-active .tm-quiz-block .tm-spec-column,
body.home.jvhur-active .jv-about-company__label {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    padding-top: 7px !important;
    color: var(--jvhur-muted) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

body.home.jvhur-active .jvhur-services .tm-h1,
body.home.jvhur-active .jvhur-team .tm-h1,
body.home.jvhur-active .jvhur-quiz .tm-h1,
body.home.jvhur-active .jv-about-company__title,
body.home.jvhur-active .jvhur-benefits__head h2 {
    max-width: 760px !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    color: var(--jvhur-text) !important;
    font-family: "Unbounded", sans-serif !important;
    font-size: clamp(34px, 3.15vw, 48px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
}

body.home.jvhur-active .jvhur-services .opacity05,
body.home.jvhur-active .jvhur-team .opacity05,
body.home.jvhur-active .jvhur-quiz .opacity05,
body.home.jvhur-active .jv-about-company__intro-text,
body.home.jvhur-active .jv-about-company__closing {
    color: var(--jvhur-muted) !important;
}

/* Shared card system */
body.home.jvhur-active .jvhur-card {
    box-sizing: border-box !important;
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    border: 1px solid var(--jvhur-line) !important;
    border-radius: var(--jvhur-radius) !important;
    background:
        linear-gradient(150deg, rgba(255,255,255,.032), transparent 44%),
        linear-gradient(145deg, rgba(11,23,44,.96), rgba(13,29,55,.88)) !important;
    box-shadow: var(--jvhur-shadow) !important;
}

body.home.jvhur-active .jvhur-interactive-card {
    transition: transform .28s cubic-bezier(.2,.75,.25,1), border-color .28s ease, box-shadow .28s ease, background-color .28s ease !important;
}

body.home.jvhur-active .jvhur-glow-layer {
    position: absolute;
    inset: 0;
    z-index: 6;
    display: block;
    pointer-events: none;
    border-radius: inherit;
    opacity: 0;
    background: radial-gradient(430px circle at var(--jvhur-x, 50%) var(--jvhur-y, 50%), rgba(255,212,90,.16), transparent 62%);
    transition: opacity .24s ease;
}

@media (hover: hover) and (pointer: fine) {
    body.home.jvhur-active .jvhur-interactive-card:hover,
    body.home.jvhur-active .jvhur-interactive-card:focus-within {
        transform: translateY(-5px);
        border-color: var(--jvhur-line-gold) !important;
        box-shadow: var(--jvhur-shadow-hover) !important;
    }

    body.home.jvhur-soft-glow-on .jvhur-interactive-card:hover > .jvhur-glow-layer,
    body.home.jvhur-soft-glow-on .jvhur-interactive-card:focus-within > .jvhur-glow-layer {
        opacity: 1;
    }
}

/* SERVICES */
body.home.jvhur-services-on .jvhur-services .swiper-wrapper {
    gap: 18px !important;
}

body.home.jvhur-services-on .jvhur-services .tm-services-card,
body.home.jvhur-services-on .jvhur-services .tm-catalog-block-card {
    min-height: 360px;
    padding: clamp(24px, 2.2vw, 34px) !important;
}

body.home.jvhur-services-on .jvhur-services .tm-services-card h2,
body.home.jvhur-services-on .jvhur-services .tm-services-card h3,
body.home.jvhur-services-on .jvhur-services .tm-catalog-block-card h2,
body.home.jvhur-services-on .jvhur-services .tm-catalog-block-card h3 {
    max-width: 12ch;
    color: var(--jvhur-text) !important;
    font-size: clamp(27px, 2vw, 36px) !important;
    line-height: 1.05 !important;
    text-wrap: balance;
}

body.home.jvhur-services-on .jvhur-services .tm-services-card p,
body.home.jvhur-services-on .jvhur-services .tm-catalog-block-card p {
    max-width: 34ch;
    color: var(--jvhur-muted) !important;
    line-height: 1.45 !important;
}

/* TEAM */
body.home.jvhur-team-on .jvhur-team .tm-team-redesign__media {
    border-radius: 26px !important;
    background: linear-gradient(155deg, rgba(255,255,255,.025), rgba(9,20,39,.60)) !important;
}

body.home.jvhur-team-on .jvhur-team .tm-team-redesign__media img {
    display: block;
    width: 100%;
    height: auto;
    filter: saturate(.92) contrast(1.04);
    transition: transform .5s cubic-bezier(.2,.75,.25,1), filter .35s ease;
}

@media (hover: hover) and (pointer: fine) {
    body.home.jvhur-team-on .jvhur-team .tm-team-redesign__media:hover img {
        transform: scale(1.018);
        filter: saturate(1) contrast(1.06);
    }
}

body.home.jvhur-team-on .jvhur-team .tm-small-box-content-inner {
    padding: clamp(24px, 2.4vw, 36px) !important;
}

body.home.jvhur-team-on .jvhur-team ul {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

body.home.jvhur-team-on .jvhur-team li {
    color: rgba(233,239,249,.76);
    line-height: 1.4;
}

/* CASES — progress only, without the two round arrows. */
body.home.jvhur-cases-on .jvcr-showcase--home .jvcr-slider__nav {
    display: none !important;
}

body.home.jvhur-cases-on .jvcr-showcase--home .jvcr-slider__controls {
    display: block !important;
    margin-top: 26px !important;
}

body.home.jvhur-cases-on .jvcr-showcase--home .jvcr-slider__progress {
    width: 100% !important;
    height: 4px !important;
}

body.home.jvhur-cases-on .jvcr-showcase--home .jvcr-card {
    background:
        linear-gradient(150deg, rgba(255,255,255,.028), transparent 44%),
        linear-gradient(145deg, #091427, #0d1a31) !important;
}

/* QUIZ */
body.home.jvhur-quiz-on .jvhur-quiz .tm-quiz-block__inner {
    box-sizing: border-box !important;
    padding: clamp(24px, 3vw, 44px) !important;
    border: 1px solid var(--jvhur-line) !important;
    border-radius: 30px !important;
    background:
        radial-gradient(90% 120% at 100% 0%, rgba(84,137,205,.11), transparent 54%),
        linear-gradient(145deg, rgba(255,255,255,.022), rgba(8,18,36,.26)) !important;
    box-shadow: var(--jvhur-shadow) !important;
}

body.home.jvhur-quiz-on .jvhur-quiz .tm-quiz-form {
    padding: clamp(20px, 2.4vw, 34px) !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, rgba(14,33,63,.90), rgba(9,22,43,.92)) !important;
}

body.home.jvhur-quiz-on .jvhur-quiz .tm-quiz-form__button,
body.home.jvhur-quiz-on .jvhur-quiz .jv-nmq-option,
body.home.jvhur-quiz-on .jvhur-quiz .wpcf7-list-item > label {
    min-height: 66px;
    border-color: var(--jvhur-line) !important;
    background: rgba(255,255,255,.015) !important;
    box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
    body.home.jvhur-quiz-on .jvhur-quiz .tm-quiz-form__button:hover,
    body.home.jvhur-quiz-on .jvhur-quiz .jv-nmq-option:hover,
    body.home.jvhur-quiz-on .jvhur-quiz .wpcf7-list-item > label:hover {
        border-color: var(--jvhur-line-gold) !important;
        background: rgba(255,212,90,.055) !important;
    }
}

/* ABOUT COMPANY */
body.home.jvhur-about-on .jv-about-company__box {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    padding: clamp(22px, 2.8vw, 40px) !important;
    border-radius: 30px !important;
}

body.home.jvhur-about-on .jv-about-company__intro,
body.home.jvhur-about-on .jv-about-company__closing {
    grid-column: 1 / -1;
}

body.home.jvhur-about-on .jv-about-company__intro {
    padding: 0 0 clamp(12px, 2vw, 24px) !important;
    border-bottom: 1px solid var(--jvhur-line);
    background: transparent !important;
    box-shadow: none !important;
}

body.home.jvhur-about-on .jv-about-company__section {
    padding: clamp(22px, 2.2vw, 30px) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.025), rgba(6,16,32,.25)) !important;
    box-shadow: none !important;
}

body.home.jvhur-about-on .jv-about-company__subtitle {
    margin: 0 0 20px !important;
    color: var(--jvhur-text) !important;
    font-size: clamp(22px, 1.8vw, 30px) !important;
    line-height: 1.15 !important;
}

body.home.jvhur-about-on .jv-about-company__list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.home.jvhur-about-on .jv-about-company__list li {
    position: relative;
    padding-left: 25px;
    color: rgba(229,236,247,.76);
    line-height: 1.42;
}

body.home.jvhur-about-on .jv-about-company__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--jvhur-gold);
    box-shadow: 0 0 0 5px rgba(255,212,90,.08);
}

body.home.jvhur-about-on .jv-about-company__closing {
    margin-top: 4px !important;
    padding: 22px 4px 0;
    border-top: 1px solid var(--jvhur-line);
}

/* QUICK BENEFITS */
body.home.jvhur-benefits-on .jvhur-benefits {
    margin-top: clamp(58px, 6vw, 88px);
    margin-bottom: clamp(72px, 7vw, 104px);
}

body.home.jvhur-benefits-on .jvhur-benefits__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

body.home.jvhur-benefits-on .jvhur-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

body.home.jvhur-benefits-on .jvhur-benefit-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 218px;
    padding: 24px;
}

body.home.jvhur-benefits-on .jvhur-benefit-card__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 58px;
    height: 42px;
    padding-inline: 12px;
    border: 1px solid var(--jvhur-line-gold);
    border-radius: 999px;
    color: var(--jvhur-gold);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .02em;
}

body.home.jvhur-benefits-on .jvhur-benefit-card h3 {
    margin: 30px 0 9px;
    color: var(--jvhur-text);
    font-size: 19px;
    line-height: 1.15;
    text-transform: uppercase;
}

body.home.jvhur-benefits-on .jvhur-benefit-card p {
    margin: 0;
    color: var(--jvhur-muted);
    font-size: 13px;
    line-height: 1.45;
}

/* CTA */
body.home.jvhur-strong-cta-on .jvhur-section .jvmr-ui-button,
body.home.jvhur-strong-cta-on .jvhur-section .jvcr-button,
body.home.jvhur-strong-cta-on .jvhur-section .jvmr-button,
body.home.jvhur-strong-cta-on .jvhur-section .tm-content-btn > a,
body.home.jvhur-strong-cta-on .jvhur-section button[type="submit"],
body.home.jvhur-strong-cta-on .jvhur-section input[type="submit"] {
    box-shadow: 0 14px 34px rgba(2,10,26,.18) !important;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

@media (hover: hover) and (pointer: fine) {
    body.home.jvhur-strong-cta-on .jvhur-section .jvmr-ui-button:hover,
    body.home.jvhur-strong-cta-on .jvhur-section .jvcr-button:hover,
    body.home.jvhur-strong-cta-on .jvhur-section .jvmr-button:hover,
    body.home.jvhur-strong-cta-on .jvhur-section .tm-content-btn > a:hover,
    body.home.jvhur-strong-cta-on .jvhur-section button[type="submit"]:hover,
    body.home.jvhur-strong-cta-on .jvhur-section input[type="submit"]:hover {
        transform: translateY(-2px);
        box-shadow: 0 20px 44px rgba(2,10,26,.28) !important;
        filter: brightness(1.025);
    }
}

/* Reveal motion */
body.home.jvhur-animations-on .jvhur-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .62s ease, transform .62s cubic-bezier(.2,.75,.25,1);
    transition-delay: calc(min(var(--jvhur-order, 0), 6) * 55ms);
}

body.home.jvhur-animations-on .jvhur-reveal.is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 980px) {
    body.home.jvhur-active .jvhur-layout,
    body.home.jvhur-active .tm-services .tm-spec-columns-wrap,
    body.home.jvhur-active .tm-team-block--redesign .tm-spec-columns-wrap,
    body.home.jvhur-active .tm-team-block .tm-spec-columns-wrap,
    body.home.jvhur-active .tm-quiz-block .tm-spec-columns-wrap,
    body.home.jvhur-active .jv-about-company__layout {
        grid-template-columns: 108px minmax(0, 1fr) !important;
        column-gap: 22px !important;
        width: min(100% - 38px, 1180px) !important;
    }

    body.home.jvhur-benefits-on .jvhur-benefits__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    body.home.jvhur-active .jvhur-section {
        margin-block: 70px;
    }

    body.home.jvhur-active .jvhur-layout,
    body.home.jvhur-active .tm-services .tm-spec-columns-wrap,
    body.home.jvhur-active .tm-team-block--redesign .tm-spec-columns-wrap,
    body.home.jvhur-active .tm-team-block .tm-spec-columns-wrap,
    body.home.jvhur-active .tm-quiz-block .tm-spec-columns-wrap,
    body.home.jvhur-active .jv-about-company__layout {
        display: block !important;
        width: calc(100% - 28px) !important;
    }

    body.home.jvhur-active .jvhur-side-label,
    body.home.jvhur-active .tm-services .tm-spec-column,
    body.home.jvhur-active .tm-team-block--redesign .tm-spec-column,
    body.home.jvhur-active .tm-team-block .tm-spec-column,
    body.home.jvhur-active .tm-quiz-block .tm-spec-column,
    body.home.jvhur-active .jv-about-company__label {
        margin-bottom: 18px !important;
        padding-top: 0 !important;
    }

    body.home.jvhur-active .jvhur-services .tm-h1,
    body.home.jvhur-active .jvhur-team .tm-h1,
    body.home.jvhur-active .jvhur-quiz .tm-h1,
    body.home.jvhur-active .jv-about-company__title,
    body.home.jvhur-active .jvhur-benefits__head h2 {
        font-size: clamp(30px, 9.2vw, 39px) !important;
        overflow-wrap: anywhere;
    }

    body.home.jvhur-services-on .jvhur-services .tm-services-card,
    body.home.jvhur-services-on .jvhur-services .tm-catalog-block-card {
        min-height: 0;
        padding: 22px !important;
    }

    body.home.jvhur-quiz-on .jvhur-quiz .tm-quiz-block__inner {
        padding: 18px !important;
        border-radius: 24px !important;
    }

    body.home.jvhur-about-on .jv-about-company__box {
        grid-template-columns: 1fr !important;
        padding: 16px !important;
        border-radius: 24px !important;
    }

    body.home.jvhur-about-on .jv-about-company__intro,
    body.home.jvhur-about-on .jv-about-company__closing {
        grid-column: auto;
    }

    body.home.jvhur-benefits-on .jvhur-benefits__grid {
        grid-template-columns: 1fr;
    }

    body.home.jvhur-benefits-on .jvhur-benefit-card {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home.jvhur-active *,
    body.home.jvhur-active *::before,
    body.home.jvhur-active *::after {
        scroll-behavior: auto !important;
    }

    body.home.jvhur-animations-on .jvhur-reveal,
    body.home.jvhur-active .jvhur-interactive-card,
    body.home.jvhur-active .jvhur-interactive-card img {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* Team text receives one deliberate surface, never nested card borders. */
body.home.jvhur-team-on .jvhur-team .jvhur-team-copy {
    box-sizing: border-box !important;
    padding: clamp(24px, 2.4vw, 36px) !important;
    border: 1px solid var(--jvhur-line) !important;
    border-radius: 26px !important;
    background: linear-gradient(145deg, rgba(255,255,255,.022), rgba(7,17,34,.18)) !important;
    box-shadow: var(--jvhur-shadow) !important;
}

/* ======================================================================
   J&V Homepage Unified Redesign 1.1.0
   Unified cards, draggable progress rails and compact section rhythm.
   ====================================================================== */

body.home.jvhur-active {
    --jvhur-card-unified:
        linear-gradient(150deg, rgba(255,255,255,.038), transparent 44%),
        linear-gradient(145deg, rgba(18,39,73,.88), rgba(12,27,52,.92));
}

/* Benefits use the exact same left grid line as every native section. */
body.home.jvhur-benefits-on .jvhur-benefits > .jvhur-layout {
    display: grid !important;
    grid-template-columns: 132px minmax(0, 1fr) !important;
    column-gap: 28px !important;
    width: min(1280px, calc(100% - 64px)) !important;
    margin-inline: auto !important;
}

body.home.jvhur-benefits-on .jvhur-benefits > .jvhur-layout > .jvhur-side-label {
    margin: 0 !important;
    padding: 7px 0 0 !important;
    text-align: left !important;
}

/* One surface language for benefits, services, cases and reviews. */
body.home.jvhur-active .jvhur-benefit-card,
body.home.jvhur-services-on .jvhur-services .tm-services-card,
body.home.jvhur-services-on .jvhur-services .tm-catalog-block-card,
body.home.jvhur-cases-on .jvhur-cases .jvcr-card,
body.home.jvhur-active .jvhur-reviews .jvmr-review-card.is-home {
    border: 1px solid var(--jvhur-line) !important;
    background: var(--jvhur-card-unified) !important;
    box-shadow: 0 18px 50px rgba(2, 10, 26, .18) !important;
}

/* Long words such as «Конфіденційність» must never be clipped. */
body.home.jvhur-benefits-on .jvhur-benefit-card {
    min-width: 0 !important;
    min-height: 236px !important;
    height: auto !important;
    overflow: visible !important;
    padding: 24px 22px !important;
}

body.home.jvhur-benefits-on .jvhur-benefit-card > div {
    min-width: 0 !important;
}

body.home.jvhur-benefits-on .jvhur-benefit-card h3 {
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: clamp(15px, 1.16vw, 19px) !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto;
}

body.home.jvhur-benefits-on .jvhur-benefit-card p {
    overflow-wrap: break-word !important;
}

/* Services: two cards form a centred pair and do not pretend to be a carousel. */
body.home.jvhur-services-on .jvhur-services.jvmr-section-ambient,
body.home.jvhur-services-on .jvhur-services {
    overflow: visible !important;
}

body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
}

body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-slide {
    flex: 0 1 min(360px, calc(50% - 10px)) !important;
    width: min(360px, calc(50% - 10px)) !important;
    max-width: 360px !important;
}

body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper,
body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-container {
    overflow: visible !important;
}

body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-scrollbar,
body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-pagination-progressbar,
body.home.jvhur-services-on .jvhur-services.jvhur-services-two .tm-slider-progress,
body.home.jvhur-services-on .jvhur-services.jvhur-services-two .tm-gallery-scrollbar,
body.home.jvhur-services-on .jvhur-services.jvhur-no-overflow .swiper-scrollbar,
body.home.jvhur-services-on .jvhur-services.jvhur-no-overflow .swiper-pagination-progressbar,
body.home.jvhur-services-on .jvhur-services.jvhur-no-overflow .tm-slider-progress,
body.home.jvhur-services-on .jvhur-services.jvhur-no-overflow .tm-gallery-scrollbar {
    display: none !important;
}

/* Cases and reviews: native horizontal swipe plus one draggable rail. */
body.home.jvhur-active .jvhur-cases .jvcr-slider__viewport,
body.home.jvhur-active .jvhur-reviews .jvmr-slider {
    cursor: grab !important;
    touch-action: pan-x pan-y pinch-zoom !important;
    overscroll-behavior-inline: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
}

body.home.jvhur-active .jvhur-cases .jvcr-slider__viewport.is-dragging,
body.home.jvhur-active .jvhur-reviews .jvmr-slider.is-dragging {
    cursor: grabbing !important;
    user-select: none !important;
    scroll-snap-type: none !important;
}

body.home.jvhur-active .jvhur-cases .jvcr-slider__viewport::-webkit-scrollbar,
body.home.jvhur-active .jvhur-reviews .jvmr-slider::-webkit-scrollbar {
    display: none !important;
}

body.home.jvhur-cases-on .jvhur-cases .jvcr-slider__controls {
    display: block !important;
    width: 100% !important;
    margin-top: 24px !important;
}

body.home.jvhur-cases-on .jvhur-cases .jvcr-slider__nav,
body.home.jvhur-active .jvhur-reviews .jvmr-nav {
    display: none !important;
}

body.home.jvhur-active .jvhur-review-controls {
    width: 100%;
    margin-top: 24px;
}

body.home.jvhur-active .jvhur-drag-scroll,
body.home.jvhur-cases-on .jvhur-cases .jvcr-slider__progress {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 5px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(222, 232, 248, .15) !important;
    cursor: pointer !important;
    touch-action: none !important;
}

body.home.jvhur-active .jvhur-drag-scroll::before,
body.home.jvhur-cases-on .jvhur-cases .jvcr-slider__progress::before {
    content: "";
    position: absolute;
    inset: -12px 0;
}

body.home.jvhur-active .jvhur-drag-scroll__thumb,
body.home.jvhur-cases-on .jvhur-cases .jvcr-slider__progress > span {
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    min-width: 12% !important;
    height: 5px !important;
    border-radius: inherit !important;
    background: #f8fbff !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.05), 0 4px 14px rgba(3,10,25,.18) !important;
    transition: width .12s ease, left .12s ease, transform .16s ease !important;
    cursor: grab !important;
}

body.home.jvhur-active .jvhur-drag-scroll.is-dragging .jvhur-drag-scroll__thumb,
body.home.jvhur-cases-on .jvhur-cases .jvcr-slider__progress.is-dragging > span {
    cursor: grabbing !important;
    transform: scaleY(1.45);
    transition: none !important;
}

body.home.jvhur-active .jvhur-no-overflow .jvhur-review-controls,
body.home.jvhur-cases-on .jvhur-cases.jvhur-no-overflow .jvcr-slider__controls,
body.home.jvhur-active .jvhur-no-overflow .jvhur-drag-scroll {
    display: none !important;
}

/* Reviews and quiz should read as one compact continuation. */
body.home.jvhur-active .jvhur-reviews {
    margin-bottom: clamp(30px, 3.4vw, 50px) !important;
}

body.home.jvhur-active .jvhur-reviews + .jvhur-quiz,
body.home.jvhur-active .jvhur-reviews ~ .jvhur-quiz {
    margin-top: clamp(30px, 3.4vw, 50px) !important;
}

/* All section header CTAs share the same gold button and one-line label. */
body.home.jvhur-strong-cta-on .jvhur-unified-cta {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-width: 190px !important;
    min-height: 56px !important;
    padding: 7px 8px 7px 24px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--jvhur-gold) !important;
    color: #07152c !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    text-align: center !important;
}

body.home.jvhur-strong-cta-on .jvhur-unified-cta > span:last-child,
body.home.jvhur-strong-cta-on .jvhur-unified-cta .jvmr-ui-arrow,
body.home.jvhur-strong-cta-on .jvhur-unified-cta .jvcr-button__icon {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #07152c !important;
}

/* Faster first-scroll reveal. */
body.home.jvhur-animations-on .jvhur-reveal {
    transform: translateY(12px);
    transition-duration: .42s !important;
    transition-delay: calc(min(var(--jvhur-order, 0), 5) * 32ms) !important;
}

@media (max-width: 980px) {
    body.home.jvhur-benefits-on .jvhur-benefits > .jvhur-layout {
        grid-template-columns: 108px minmax(0, 1fr) !important;
        column-gap: 22px !important;
        width: min(100% - 38px, 1180px) !important;
    }
}

@media (max-width: 700px) {
    body.home.jvhur-benefits-on .jvhur-benefits > .jvhur-layout {
        display: block !important;
        width: calc(100% - 28px) !important;
    }

    body.home.jvhur-benefits-on .jvhur-benefits > .jvhur-layout > .jvhur-side-label {
        margin-bottom: 18px !important;
        padding-top: 0 !important;
    }

    body.home.jvhur-benefits-on .jvhur-benefit-card {
        min-height: 0 !important;
    }

    body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-wrapper {
        justify-content: flex-start !important;
        width: max-content !important;
        min-width: 100% !important;
    }

    body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-slide {
        flex: 0 0 min(82vw, 360px) !important;
        width: min(82vw, 360px) !important;
        max-width: min(82vw, 360px) !important;
    }

    body.home.jvhur-strong-cta-on .jvhur-unified-cta {
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* ======================================================================
   J&V Homepage Unified Redesign 1.2.0
   Stable centred services, real draggable carousel rails and no reveal.
   ====================================================================== */

/* Everything is visible immediately. */
body.home.jvhur-no-reveal .jvhur-reveal,
body.home.jvhur-no-reveal [data-jvhur-reveal],
body.home.jvhur-no-reveal .jvhur-section,
body.home.jvhur-no-reveal .jvhur-card,
body.home.jvhur-no-reveal .jvhur-existing-card {
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    transition-delay: 0s !important;
}

/* Exactly two services: a real centred pair, never a fake carousel. */
body.home.jvhur-services-on .jvhur-services.jvhur-services-two .jvhur-services-items {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(280px, 360px)) !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: auto !important;
    padding: 0 !important;
    transform: none !important;
    translate: none !important;
}

body.home.jvhur-services-on .jvhur-services.jvhur-services-two .jvhur-services-item {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 360px !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
}

body.home.jvhur-services-on .jvhur-services.jvhur-services-two .jvhur-services-item > * {
    width: 100% !important;
    max-width: 100% !important;
}

body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper,
body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-container,
body.home.jvhur-services-on .jvhur-services.jvhur-services-two [class*="slider"],
body.home.jvhur-services-on .jvhur-services.jvhur-services-two [class*="carousel"] {
    overflow: visible !important;
}

body.home.jvhur-services-on .jvhur-services.jvhur-services-two [class*="scrollbar"],
body.home.jvhur-services-on .jvhur-services.jvhur-services-two [class*="progress"],
body.home.jvhur-services-on .jvhur-services.jvhur-services-two [class*="pagination"],
body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-button-prev,
body.home.jvhur-services-on .jvhur-services.jvhur-services-two .swiper-button-next,
body.home.jvhur-services-on .jvhur-services.jvhur-services-two + [class*="scroll"],
body.home.jvhur-services-on .jvhur-services.jvhur-services-two + [class*="progress"] {
    display: none !important;
}

/* Native case controls and old review arrows are fully replaced. */
body.home.jvhur-cases-on .jvhur-cases .jvcr-slider__controls,
body.home.jvhur-active .jvhur-reviews .jvmr-nav,
body.home.jvhur-active .jvhur-reviews .jvhur-review-controls,
body.home.jvhur-active .jvhur-cases .jvhur-review-controls {
    display: none !important;
}

body.home.jvhur-active .jvhur-cases .jvcr-slider__viewport,
body.home.jvhur-active .jvhur-reviews .jvmr-slider {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-inline: contain !important;
    touch-action: pan-x pan-y pinch-zoom !important;
    cursor: grab !important;
}

body.home.jvhur-active .jvhur-cases .jvcr-slider__viewport.is-jvhur-dragging,
body.home.jvhur-active .jvhur-reviews .jvmr-slider.is-jvhur-dragging {
    cursor: grabbing !important;
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
    user-select: none !important;
}

body.home.jvhur-active .jvhur-cases .jvcr-slider__viewport::-webkit-scrollbar,
body.home.jvhur-active .jvhur-reviews .jvmr-slider::-webkit-scrollbar {
    display: none !important;
}

body.home.jvhur-active .jvhur-v12-rail {
    position: relative !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 5px !important;
    margin-top: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(222, 232, 248, .16) !important;
    cursor: pointer !important;
    touch-action: none !important;
}

body.home.jvhur-active .jvhur-v12-rail[hidden],
body.home.jvhur-active .jvhur-no-overflow .jvhur-v12-rail {
    display: none !important;
}

body.home.jvhur-active .jvhur-v12-rail::before {
    content: "";
    position: absolute;
    inset: -13px 0;
}

body.home.jvhur-active .jvhur-v12-rail__thumb {
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    left: 0 !important;
    display: block !important;
    min-width: 72px !important;
    height: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: inherit !important;
    background: #f8fbff !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.05), 0 4px 14px rgba(3,10,25,.18) !important;
    cursor: grab !important;
    transform: translate3d(0,0,0);
    transition: transform .11s linear, width .16s ease !important;
}

body.home.jvhur-active .jvhur-v12-rail.is-dragging .jvhur-v12-rail__thumb {
    cursor: grabbing !important;
    transition: none !important;
    scale: 1 1.45;
}

/* Cases and reviews use identical header geometry and CTA height. */
body.home.jvhur-cases-on .jvhur-cases .jvcr-showcase__head,
body.home.jvhur-active .jvhur-reviews .jvmr-home-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 28px !important;
}

body.home.jvhur-active .jvhur-reviews .jvmr-home-actions {
    align-items: center !important;
}

body.home.jvhur-strong-cta-on .jvhur-cases .jvhur-unified-cta,
body.home.jvhur-strong-cta-on .jvhur-reviews .jvhur-unified-cta {
    min-width: 190px !important;
    min-height: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    align-self: center !important;
}

@media (max-width: 760px) {
    body.home.jvhur-services-on .jvhur-services.jvhur-services-two .jvhur-services-items {
        grid-template-columns: minmax(0, 1fr) !important;
        justify-items: center !important;
    }

    body.home.jvhur-services-on .jvhur-services.jvhur-services-two .jvhur-services-item {
        max-width: 440px !important;
    }

    body.home.jvhur-cases-on .jvhur-cases .jvcr-showcase__head,
    body.home.jvhur-active .jvhur-reviews .jvmr-home-head {
        grid-template-columns: 1fr !important;
        align-items: start !important;
        gap: 18px !important;
    }

    body.home.jvhur-active .jvhur-v12-rail {
        margin-top: 18px !important;
    }
}
