.jhs-hero,
.jhs-hero * {
    box-sizing: border-box;
}

.jhs-hero {
    position: relative;
    width: 100%;
    min-height: var(--jhs-height-desktop, 720px);
    overflow: hidden;
    isolation: isolate;
    background: #eef2e9;
    color: var(--jhs-title-color, #0c2d23);
    font-family: var(--jhs-body-font, Arial, Helvetica, sans-serif);
    direction: inherit;
}

.jhs-slides,
.jhs-slide,
.jhs-slide__media,
.jhs-slide__media picture,
.jhs-slide__media img,
.jhs-slide__overlay,
.jhs-slide__scrim {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.jhs-slide {
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--jhs-transition, 900ms) ease, visibility var(--jhs-transition, 900ms) ease, transform var(--jhs-transition, 900ms) cubic-bezier(.22,.61,.36,1);
}

.jhs-slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.jhs-slide__media {
    z-index: 0;
    overflow: hidden;
    background: #dfe8dc;
}

.jhs-slide__media picture {
    display: block;
}

.jhs-slide__media img {
    display: block;
    object-fit: cover;
    object-position: var(--jhs-pos-desktop, center center);
    transform: scale(1.001);
    will-change: transform, filter, opacity;
    transition: transform calc(var(--jhs-transition, 900ms) * 1.5) cubic-bezier(.2,.7,.2,1), filter var(--jhs-transition, 900ms) ease, opacity var(--jhs-transition, 900ms) ease;
}

.jhs-slide__overlay {
    z-index: 1;
    background: var(--jhs-overlay-color, #f6f8f2);
    opacity: var(--jhs-slide-overlay, .42);
    pointer-events: none;
}

.jhs-slide__scrim {
    z-index: 2;
    opacity: var(--jhs-scrim-opacity, .88);
    pointer-events: none;
    transition: opacity var(--jhs-transition, 900ms) ease;
}

.jhs-theme-dark .jhs-slide__scrim {
    background: linear-gradient(90deg, rgba(249,250,245,.95) 0%, rgba(249,250,245,.79) 31%, rgba(249,250,245,.25) 58%, rgba(249,250,245,0) 78%);
}

.jhs-dir-rtl .jhs-theme-dark .jhs-slide__scrim {
    background: linear-gradient(270deg, rgba(249,250,245,.95) 0%, rgba(249,250,245,.79) 31%, rgba(249,250,245,.25) 58%, rgba(249,250,245,0) 78%);
}

.jhs-theme-light .jhs-slide__scrim {
    background: linear-gradient(90deg, rgba(5,24,18,.84) 0%, rgba(5,24,18,.62) 32%, rgba(5,24,18,.2) 60%, rgba(5,24,18,0) 80%);
}

.jhs-dir-rtl .jhs-theme-light .jhs-slide__scrim {
    background: linear-gradient(270deg, rgba(5,24,18,.84) 0%, rgba(5,24,18,.62) 32%, rgba(5,24,18,.2) 60%, rgba(5,24,18,0) 80%);
}

.jhs-slide__inner {
    position: relative;
    z-index: 3;
    width: min(100%, var(--jhs-container, 1540px));
    min-height: var(--jhs-height-desktop, 720px);
    margin: 0 auto;
    padding: clamp(46px, 6vw, 92px) clamp(24px, 4.5vw, 78px);
    display: flex;
    align-items: center;
}

.jhs-content {
    width: min(100%, var(--jhs-content, 650px));
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 620ms ease 180ms, transform 700ms cubic-bezier(.2,.75,.2,1) 180ms;
}

.jhs-slide.is-active .jhs-content {
    opacity: 1;
    transform: translateY(0);
}

.jhs-align-left .jhs-content {
    margin-inline-end: auto;
    text-align: left;
}

.jhs-align-center .jhs-content {
    margin-inline: auto;
    text-align: center;
}

.jhs-align-right .jhs-content {
    margin-inline-start: auto;
    text-align: right;
}

.jhs-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    margin-bottom: 20px;
    padding: 9px 15px;
    border: 1px solid rgba(12, 93, 69, .16);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 10px 32px rgba(18, 63, 48, .08);
    color: var(--jhs-badge-color, #0e5f47);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
    backdrop-filter: blur(7px);
}

.jhs-badge > span {
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--jhs-accent-color, #d9aa3b);
    box-shadow: 0 0 0 5px rgba(217,170,59,.14);
}

.jhs-title {
    margin: 0;
    color: var(--jhs-title-color, #0c2d23);
    font-family: var(--jhs-heading-font, Georgia, serif);
    font-size: clamp(34px, 4.35vw, var(--jhs-title-size, 72px));
    font-weight: 500;
    line-height: 1.03;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.jhs-title span {
    display: block;
}

.jhs-title__highlight {
    margin-top: .15em;
    color: var(--jhs-highlight-color, #1f7a49);
}

.jhs-description {
    max-width: 600px;
    margin: 28px 0 0;
    color: var(--jhs-text-color, #33443d);
    font-size: var(--jhs-body-size, 17px);
    line-height: 1.75;
}

.jhs-align-center .jhs-description {
    margin-inline: auto;
}

.jhs-align-right .jhs-description {
    margin-inline-start: auto;
}

.jhs-extra-lines {
    display: grid;
    gap: 9px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    color: var(--jhs-text-color, #33443d);
    font-size: calc(var(--jhs-body-size, 17px) - 1px);
}

.jhs-extra-lines li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.jhs-extra-lines li > span {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    margin-top: .62em;
    border-radius: 50%;
    background: var(--jhs-accent-color, #d9aa3b);
}

.jhs-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.jhs-align-center .jhs-buttons {
    justify-content: center;
}

.jhs-align-right .jhs-buttons {
    justify-content: flex-end;
}

.jhs-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 54px;
    padding: 12px 24px;
    border: 1px solid transparent;
    border-radius: var(--jhs-button-radius, 999px);
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease, color 220ms ease, border-color 220ms ease;
}

.jhs-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 220ms ease;
}

.jhs-dir-rtl .jhs-button svg {
    transform: scaleX(-1);
}

.jhs-button:hover,
.jhs-button:focus-visible {
    transform: translateY(-2px);
}

.jhs-button:hover svg,
.jhs-button:focus-visible svg {
    transform: translateX(3px);
}

.jhs-dir-rtl .jhs-button:hover svg,
.jhs-dir-rtl .jhs-button:focus-visible svg {
    transform: scaleX(-1) translateX(3px);
}

.jhs-button--primary {
    background: var(--jhs-primary-bg, #0a6a4c);
    color: var(--jhs-primary-color, #fff);
    box-shadow: 0 14px 30px rgba(10,106,76,.2);
}

.jhs-button--primary:hover,
.jhs-button--primary:focus-visible {
    color: var(--jhs-primary-color, #fff);
    box-shadow: 0 18px 36px rgba(10,106,76,.28);
}

.jhs-button--secondary {
    border-color: rgba(13,91,69,.25);
    background: var(--jhs-secondary-bg, #fff);
    color: var(--jhs-secondary-color, #0d5b45);
    box-shadow: 0 12px 28px rgba(15,60,47,.08);
}

.jhs-button--secondary:hover,
.jhs-button--secondary:focus-visible {
    color: var(--jhs-secondary-color, #0d5b45);
    border-color: currentColor;
}

.jhs-theme-light .jhs-title,
.jhs-theme-light .jhs-description,
.jhs-theme-light .jhs-extra-lines {
    color: #fff;
}

.jhs-theme-light .jhs-title__highlight {
    color: #e7bc56;
}

.jhs-theme-light .jhs-badge {
    color: #fff;
    border-color: rgba(255,255,255,.22);
    background: rgba(5,28,21,.34);
}

.jhs-placeholder {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 35%, rgba(221,169,58,.24), transparent 25%),
        radial-gradient(circle at 67% 70%, rgba(23,119,73,.25), transparent 30%),
        linear-gradient(115deg, #f7f8f2 0%, #eef4e9 48%, #dbe9dc 100%);
}

.jhs-placeholder::before,
.jhs-placeholder::after,
.jhs-placeholder span {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(23,119,73,.18);
}

.jhs-placeholder::before {
    width: 34vw;
    height: 34vw;
    min-width: 300px;
    min-height: 300px;
    right: 3vw;
    top: 10%;
}

.jhs-placeholder::after {
    width: 20vw;
    height: 20vw;
    min-width: 180px;
    min-height: 180px;
    right: 11vw;
    top: 31%;
}

.jhs-placeholder span {
    width: 10vw;
    height: 10vw;
    min-width: 100px;
    min-height: 100px;
    right: 27vw;
    bottom: 12%;
    background: rgba(217,170,59,.09);
}

.jhs-arrows {
    position: absolute;
    z-index: 7;
    inset-inline: 22px;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
    transform: translateY(-50%);
}

.jhs-arrow {
    pointer-events: auto;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(12,75,57,.14);
    border-radius: 50%;
    background: rgba(255,255,255,.7);
    color: #0d5b45;
    box-shadow: 0 12px 30px rgba(8,47,36,.1);
    cursor: pointer;
    backdrop-filter: blur(9px);
    transition: transform 220ms ease, background 220ms ease, color 220ms ease;
}

.jhs-arrow:hover,
.jhs-arrow:focus-visible {
    transform: scale(1.05);
    background: #0d5b45;
    color: #fff;
}

.jhs-arrow svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.jhs-dir-rtl .jhs-arrow--prev svg,
.jhs-dir-rtl .jhs-arrow--next svg {
    transform: scaleX(-1);
}

.jhs-dots {
    position: absolute;
    z-index: 7;
    left: 50%;
    bottom: 25px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 11px;
    border: 1px solid rgba(13,91,69,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.62);
    box-shadow: 0 10px 28px rgba(13,72,54,.08);
    backdrop-filter: blur(8px);
    transform: translateX(-50%);
}

.jhs-dot {
    position: relative;
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(13,91,69,.28);
    cursor: pointer;
    overflow: hidden;
    transition: width 260ms ease, background 260ms ease;
}

.jhs-dot.is-active {
    width: 30px;
    background: rgba(13,91,69,.18);
}

.jhs-dot span {
    position: absolute;
    inset: 0;
    width: 0;
    border-radius: inherit;
    background: #0d5b45;
}

.jhs-hero.is-running .jhs-dot.is-active span {
    width: 100%;
    transition: width var(--jhs-dot-duration, 6500ms) linear;
}

/* Four lightweight image effects. */
.jhs-effect-fade .jhs-slide__media img {
    opacity: .55;
}

.jhs-effect-fade.is-active .jhs-slide__media img {
    opacity: 1;
}

.jhs-effect-zoom .jhs-slide__media img {
    transform: scale(1.1);
}

.jhs-effect-zoom.is-active .jhs-slide__media img {
    transform: scale(1.015);
    transition-duration: max(5s, calc(var(--jhs-transition, 900ms) * 5));
}

.jhs-effect-slide {
    transform: translateX(4%);
}

.jhs-dir-rtl .jhs-effect-slide {
    transform: translateX(-4%);
}

.jhs-effect-slide.is-active {
    transform: translateX(0);
}

.jhs-effect-blur .jhs-slide__media img {
    filter: blur(14px);
    transform: scale(1.06);
}

.jhs-effect-blur.is-active .jhs-slide__media img {
    filter: blur(0);
    transform: scale(1.015);
}

.jhs-admin-empty {
    padding: 18px 22px;
    border: 1px solid #d9aa3b;
    background: #fff9e8;
    color: #4c3a09;
    font-family: Arial, sans-serif;
}

@media (max-width: 1100px) {
    .jhs-hero {
        min-height: var(--jhs-height-tablet, 650px);
    }

    .jhs-slide__inner {
        min-height: var(--jhs-height-tablet, 650px);
        padding-inline: 58px;
    }

    .jhs-title {
        font-size: var(--jhs-title-size-tablet, 56px);
    }

    .jhs-content {
        width: min(55vw, var(--jhs-content, 650px));
    }
}

@media (max-width: 767px) {
    .jhs-hero {
        min-height: var(--jhs-height-mobile, 760px);
    }

    .jhs-slide__media img {
        object-fit: var(--jhs-mobile-fit, cover);
        object-position: var(--jhs-pos-mobile, center center);
        image-rendering: auto;
        transform: none;
        filter: none;
        will-change: opacity;
        backface-visibility: hidden;
    }

    .jhs-slide__scrim {
        opacity: var(--jhs-scrim-opacity-mobile, .94);
    }

    /* Keep the visible mobile image crisp after every transition. */
    .jhs-effect-fade.is-active .jhs-slide__media img,
    .jhs-effect-slide.is-active .jhs-slide__media img,
    .jhs-effect-blur.is-active .jhs-slide__media img {
        transform: none;
        filter: none;
        opacity: 1;
    }

    .jhs-effect-zoom .jhs-slide__media img {
        transform: scale(1.045);
    }

    .jhs-effect-zoom.is-active .jhs-slide__media img {
        transform: scale(1);
        filter: none;
        transition-duration: max(5s, calc(var(--jhs-transition, 900ms) * 5));
    }

    .jhs-effect-blur .jhs-slide__media img {
        filter: blur(5px);
        transform: scale(1.015);
    }

    .jhs-slide__inner {
        min-height: var(--jhs-height-mobile, 760px);
        align-items: flex-end;
        padding: 58px 20px 78px;
    }

    .jhs-theme-dark .jhs-slide__scrim,
    .jhs-dir-rtl .jhs-theme-dark .jhs-slide__scrim {
        background: linear-gradient(0deg, rgba(249,250,245,.98) 0%, rgba(249,250,245,.94) 40%, rgba(249,250,245,.28) 75%, rgba(249,250,245,.04) 100%);
    }

    .jhs-theme-light .jhs-slide__scrim,
    .jhs-dir-rtl .jhs-theme-light .jhs-slide__scrim {
        background: linear-gradient(0deg, rgba(5,24,18,.92) 0%, rgba(5,24,18,.78) 43%, rgba(5,24,18,.22) 78%, rgba(5,24,18,.03) 100%);
    }

    .jhs-content,
    .jhs-align-left .jhs-content,
    .jhs-align-right .jhs-content,
    .jhs-align-center .jhs-content {
        width: 100%;
        max-width: 620px;
        margin-inline: auto;
        text-align: center;
    }

    .jhs-title {
        font-size: var(--jhs-title-size-mobile, 40px);
        line-height: 1.07;
    }

    .jhs-description {
        margin-top: 20px;
        margin-inline: auto;
        font-size: var(--jhs-body-size-mobile, 15px);
        line-height: 1.7;
    }

    .jhs-badge {
        margin-bottom: 16px;
        padding: 8px 12px;
        font-size: 10px;
        letter-spacing: .055em;
    }

    .jhs-extra-lines {
        justify-items: center;
        font-size: calc(var(--jhs-body-size-mobile, 15px) - 1px);
    }

    .jhs-buttons,
    .jhs-align-left .jhs-buttons,
    .jhs-align-right .jhs-buttons,
    .jhs-align-center .jhs-buttons {
        justify-content: center;
        gap: 10px;
        margin-top: 25px;
    }

    .jhs-button {
        flex: 1 1 145px;
        max-width: 220px;
        min-height: 50px;
        padding: 11px 16px;
        font-size: 13px;
        gap: 8px;
    }

    .jhs-arrows {
        display: none;
    }

    .jhs-dots {
        bottom: 18px;
    }
}

@media (max-width: 420px) {
    .jhs-slide__inner {
        padding-inline: 16px;
    }

    .jhs-title {
        font-size: clamp(29px, 9.8vw, var(--jhs-title-size-mobile, 40px));
    }

    .jhs-button {
        min-width: 0;
        padding-inline: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .jhs-hero *,
    .jhs-hero *::before,
    .jhs-hero *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition-duration: .01ms !important;
        transition-delay: 0ms !important;
    }
}

/* Semantic secondary heading — version 1.2.0 */
.jhs-subtitle {
    max-width: 620px;
    margin: 20px 0 0;
    color: var(--jhs-title-color, #0c2d23);
    font-family: var(--jhs-heading-font, Georgia, serif);
    font-size: clamp(20px, 2vw, 31px);
    font-weight: 600;
    line-height: 1.28;
    letter-spacing: -.015em;
    text-wrap: balance;
}

.jhs-subtitle--p {
    font-family: var(--jhs-body-font, Arial, Helvetica, sans-serif);
    font-size: calc(var(--jhs-body-size, 17px) + 2px);
    font-weight: 700;
    line-height: 1.55;
}

.jhs-align-center .jhs-subtitle {
    margin-inline: auto;
}

.jhs-align-right .jhs-subtitle {
    margin-inline-start: auto;
}

.jhs-theme-light .jhs-subtitle {
    color: #ffffff;
}

@media (max-width: 767px) {
    .jhs-subtitle {
        margin-top: 15px;
        font-size: clamp(18px, 5.7vw, 25px);
    }

    .jhs-subtitle--p {
        font-size: calc(var(--jhs-body-size-mobile, 15px) + 1px);
    }
}

/* Independent responsive typography controls — version 1.3.0 */
.jhs-hero {
    font-family: var(--jhs-description-font, Arial, Helvetica, sans-serif);
}

.jhs-badge {
    color: var(--jhs-badge-color, #0e5f47);
    font-family: var(--jhs-badge-font, Arial, Helvetica, sans-serif);
    font-size: var(--jhs-badge-size-desktop, 12px);
    font-weight: var(--jhs-badge-weight, 800);
    line-height: var(--jhs-badge-line-height, 1.35);
    letter-spacing: var(--jhs-badge-letter-spacing, .08em);
    text-transform: var(--jhs-badge-transform, uppercase);
    font-style: var(--jhs-badge-style, normal);
    overflow-wrap: anywhere;
}

.jhs-title {
    color: var(--jhs-title-color, #0c2d23);
    font-family: var(--jhs-title-font, Georgia, "Times New Roman", serif);
    font-size: var(--jhs-title-size-desktop, 72px);
    font-weight: var(--jhs-title-weight, 500);
    line-height: var(--jhs-title-line-height, 1.03);
    letter-spacing: var(--jhs-title-letter-spacing, -.035em);
    text-transform: var(--jhs-title-transform, none);
    font-style: var(--jhs-title-style, normal);
    overflow-wrap: anywhere;
}

.jhs-title__main {
    color: var(--jhs-title-color, #0c2d23);
    font: inherit;
}

.jhs-title__highlight {
    color: var(--jhs-highlight-color, #1f7a49);
    font-family: var(--jhs-highlight-font, Georgia, "Times New Roman", serif);
    font-size: var(--jhs-highlight-size-desktop, 72px);
    font-weight: var(--jhs-highlight-weight, 500);
    line-height: var(--jhs-highlight-line-height, 1.03);
    letter-spacing: var(--jhs-highlight-letter-spacing, -.035em);
    text-transform: var(--jhs-highlight-transform, none);
    font-style: var(--jhs-highlight-style, normal);
}

.jhs-subtitle,
.jhs-subtitle--p {
    color: var(--jhs-subtitle-color, #0c2d23);
    font-family: var(--jhs-subtitle-font, Georgia, "Times New Roman", serif);
    font-size: var(--jhs-subtitle-size-desktop, 31px);
    font-weight: var(--jhs-subtitle-weight, 600);
    line-height: var(--jhs-subtitle-line-height, 1.28);
    letter-spacing: var(--jhs-subtitle-letter-spacing, -.015em);
    text-transform: var(--jhs-subtitle-transform, none);
    font-style: var(--jhs-subtitle-style, normal);
    overflow-wrap: anywhere;
}

.jhs-description {
    color: var(--jhs-description-color, #33443d);
    font-family: var(--jhs-description-font, Arial, Helvetica, sans-serif);
    font-size: var(--jhs-description-size-desktop, 17px);
    font-weight: var(--jhs-description-weight, 400);
    line-height: var(--jhs-description-line-height, 1.75);
    letter-spacing: var(--jhs-description-letter-spacing, 0em);
    text-transform: var(--jhs-description-transform, none);
    font-style: var(--jhs-description-style, normal);
    overflow-wrap: anywhere;
}

.jhs-extra-lines {
    color: var(--jhs-extra-color, #33443d);
    font-family: var(--jhs-extra-font, Arial, Helvetica, sans-serif);
    font-size: var(--jhs-extra-size-desktop, 16px);
    font-weight: var(--jhs-extra-weight, 500);
    line-height: var(--jhs-extra-line-height, 1.55);
    letter-spacing: var(--jhs-extra-letter-spacing, 0em);
    text-transform: var(--jhs-extra-transform, none);
    font-style: var(--jhs-extra-style, normal);
    overflow-wrap: anywhere;
}

.jhs-button--primary {
    color: var(--jhs-button-1-color, #ffffff);
    font-family: var(--jhs-button-1-font, Arial, Helvetica, sans-serif);
    font-size: var(--jhs-button-1-size-desktop, 15px);
    font-weight: var(--jhs-button-1-weight, 800);
    line-height: var(--jhs-button-1-line-height, 1);
    letter-spacing: var(--jhs-button-1-letter-spacing, 0em);
    text-transform: var(--jhs-button-1-transform, none);
    font-style: var(--jhs-button-1-style, normal);
}

.jhs-button--secondary {
    color: var(--jhs-button-2-color, #0d5b45);
    font-family: var(--jhs-button-2-font, Arial, Helvetica, sans-serif);
    font-size: var(--jhs-button-2-size-desktop, 15px);
    font-weight: var(--jhs-button-2-weight, 800);
    line-height: var(--jhs-button-2-line-height, 1);
    letter-spacing: var(--jhs-button-2-letter-spacing, 0em);
    text-transform: var(--jhs-button-2-transform, none);
    font-style: var(--jhs-button-2-style, normal);
}

.jhs-button--primary:hover,
.jhs-button--primary:focus-visible {
    color: var(--jhs-button-1-color, #ffffff);
}

.jhs-button--secondary:hover,
.jhs-button--secondary:focus-visible {
    color: var(--jhs-button-2-color, #0d5b45);
}

.jhs-theme-light .jhs-badge { color: var(--jhs-badge-color-light, #ffffff); }
.jhs-theme-light .jhs-title,
.jhs-theme-light .jhs-title__main { color: var(--jhs-title-color-light, #ffffff); }
.jhs-theme-light .jhs-title__highlight { color: var(--jhs-highlight-color-light, #e7bc56); }
.jhs-theme-light .jhs-subtitle { color: var(--jhs-subtitle-color-light, #ffffff); }
.jhs-theme-light .jhs-description { color: var(--jhs-description-color-light, #ffffff); }
.jhs-theme-light .jhs-extra-lines { color: var(--jhs-extra-color-light, #ffffff); }

@media (max-width: 1100px) {
    .jhs-badge { font-size: var(--jhs-badge-size-tablet, 11px); }
    .jhs-title { font-size: var(--jhs-title-size-tablet, 56px); }
    .jhs-title__highlight { font-size: var(--jhs-highlight-size-tablet, 56px); }
    .jhs-subtitle,
    .jhs-subtitle--p { font-size: var(--jhs-subtitle-size-tablet, 27px); }
    .jhs-description { font-size: var(--jhs-description-size-tablet, 16px); }
    .jhs-extra-lines { font-size: var(--jhs-extra-size-tablet, 15px); }
    .jhs-button--primary { font-size: var(--jhs-button-1-size-tablet, 14px); }
    .jhs-button--secondary { font-size: var(--jhs-button-2-size-tablet, 14px); }
}

@media (max-width: 767px) {
    .jhs-badge { font-size: var(--jhs-badge-size-mobile, 10px); }
    .jhs-title { font-size: var(--jhs-title-size-mobile, 40px); }
    .jhs-title__highlight { font-size: var(--jhs-highlight-size-mobile, 40px); }
    .jhs-subtitle,
    .jhs-subtitle--p { font-size: var(--jhs-subtitle-size-mobile, 23px); }
    .jhs-description { font-size: var(--jhs-description-size-mobile, 15px); }
    .jhs-extra-lines { font-size: var(--jhs-extra-size-mobile, 14px); }
    .jhs-button--primary { font-size: var(--jhs-button-1-size-mobile, 13px); }
    .jhs-button--secondary { font-size: var(--jhs-button-2-size-mobile, 13px); }
}


/* Professional mobile readability controls — version 1.4.0 */
@media (max-width: 767px) {
    .jhs-slide__overlay {
        opacity: var(--jhs-slide-overlay-mobile, 0);
    }

    .jhs-slide__media img,
    .jhs-effect-fade .jhs-slide__media img,
    .jhs-effect-fade.is-active .jhs-slide__media img,
    .jhs-effect-zoom .jhs-slide__media img,
    .jhs-effect-zoom.is-active .jhs-slide__media img,
    .jhs-effect-slide .jhs-slide__media img,
    .jhs-effect-slide.is-active .jhs-slide__media img,
    .jhs-effect-blur .jhs-slide__media img,
    .jhs-effect-blur.is-active .jhs-slide__media img {
        filter: brightness(var(--jhs-mobile-image-brightness, 1));
    }

    .jhs-slide__inner {
        isolation: isolate;
    }

    .jhs-content {
        position: relative;
        z-index: 1;
        isolation: isolate;
    }

    .jhs-content .jhs-title,
    .jhs-content .jhs-subtitle,
    .jhs-content .jhs-description,
    .jhs-content .jhs-extra-lines {
        text-shadow: 0 2px 14px rgba(0, 0, 0, var(--jhs-mobile-text-shadow, 0));
    }

    /* Vertical content placement for classic and smart overlay modes. */
    .jhs-mobile-position-top:not(.jhs-mobile-layout-split) .jhs-slide__inner {
        align-items: flex-start;
        padding-top: 44px;
        padding-bottom: 74px;
    }

    .jhs-mobile-position-center:not(.jhs-mobile-layout-split) .jhs-slide__inner {
        align-items: center;
        padding-top: 52px;
        padding-bottom: 70px;
    }

    .jhs-mobile-position-bottom:not(.jhs-mobile-layout-split) .jhs-slide__inner {
        align-items: flex-end;
        padding-top: 58px;
        padding-bottom: 78px;
    }

    /* Independent mobile alignment. */
    .jhs-mobile-align-left .jhs-content {
        text-align: left;
    }

    .jhs-mobile-align-center .jhs-content {
        text-align: center;
    }

    .jhs-mobile-align-right .jhs-content {
        text-align: right;
    }

    .jhs-mobile-align-left .jhs-description,
    .jhs-mobile-align-left .jhs-subtitle {
        margin-inline-start: 0;
        margin-inline-end: auto;
    }

    .jhs-mobile-align-center .jhs-description,
    .jhs-mobile-align-center .jhs-subtitle {
        margin-inline: auto;
    }

    .jhs-mobile-align-right .jhs-description,
    .jhs-mobile-align-right .jhs-subtitle {
        margin-inline-start: auto;
        margin-inline-end: 0;
    }

    .jhs-mobile-align-left .jhs-extra-lines {
        justify-items: start;
    }

    .jhs-mobile-align-center .jhs-extra-lines {
        justify-items: center;
    }

    .jhs-mobile-align-right .jhs-extra-lines {
        justify-items: end;
    }

    .jhs-mobile-align-left .jhs-buttons {
        justify-content: flex-start;
    }

    .jhs-mobile-align-center .jhs-buttons {
        justify-content: center;
    }

    .jhs-mobile-align-right .jhs-buttons {
        justify-content: flex-end;
    }

    /* Smart panel: keeps the full mobile image visible while isolating the copy. */
    .jhs-mobile-layout-smart .jhs-content {
        padding: var(--jhs-mobile-panel-padding, 20px);
        border-radius: var(--jhs-mobile-panel-radius, 24px);
        box-shadow: 0 16px 42px rgba(10, 54, 41, .13);
    }

    .jhs-mobile-layout-smart .jhs-content::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 0;
        border: 1px solid rgba(255, 255, 255, .42);
        border-radius: inherit;
        background: var(--jhs-mobile-panel-color, #f7f9f3);
        opacity: var(--jhs-mobile-panel-opacity, .94);
        pointer-events: none;
    }

    .jhs-mobile-layout-smart.jhs-theme-light .jhs-content::before {
        border-color: rgba(255, 255, 255, .16);
    }

    /* Split mode: image above, clean text area below. */
    .jhs-mobile-layout-split .jhs-slide__media,
    .jhs-mobile-layout-split .jhs-slide__overlay,
    .jhs-mobile-layout-split .jhs-slide__scrim {
        inset: 0 0 auto;
        height: var(--jhs-mobile-image-height, 42%);
    }

    .jhs-mobile-layout-split .jhs-slide__inner {
        display: grid;
        grid-template-rows: var(--jhs-mobile-image-height, 42%) minmax(0, 1fr);
        align-items: initial;
        padding: 0 20px 64px;
    }

    .jhs-mobile-layout-split .jhs-slide__inner::before {
        content: "";
        position: absolute;
        z-index: 0;
        inset: var(--jhs-mobile-image-height, 42%) 0 0;
        background: var(--jhs-mobile-panel-color, #f7f9f3);
        opacity: var(--jhs-mobile-panel-opacity, .94);
        pointer-events: none;
    }

    .jhs-mobile-layout-split .jhs-content {
        grid-row: 2;
        align-self: center;
        width: 100%;
        padding: max(18px, var(--jhs-mobile-panel-padding, 20px)) 0 6px;
        border-radius: 0;
        box-shadow: none;
    }

    .jhs-mobile-layout-split .jhs-content::before {
        display: none;
    }

    .jhs-mobile-layout-split .jhs-slide__media img {
        object-fit: var(--jhs-mobile-fit, cover);
        object-position: var(--jhs-pos-mobile, center center);
    }

    .jhs-mobile-layout-split .jhs-dots {
        bottom: 14px;
    }
}

@media (max-width: 420px) {
    .jhs-mobile-layout-smart .jhs-content {
        padding: min(var(--jhs-mobile-panel-padding, 20px), 18px);
    }

    .jhs-mobile-layout-split .jhs-slide__inner {
        padding-inline: 16px;
    }
}

/* Production UX, desktop layouts and responsive controls — version 1.5.0 */
.jhs-hero {
    margin-top: var(--jhs-header-offset, 0px);
    background: var(--jhs-background-color, #eef2e9);
    touch-action: pan-y pinch-zoom;
    contain: layout paint;
}

.jhs-arrow:disabled,
.jhs-arrow[aria-disabled="true"] {
    opacity: .38;
    cursor: not-allowed;
    transform: none;
}

.jhs-hero.is-dragging .jhs-slide__media {
    cursor: grabbing;
}

/* Content animation choices remain transform/opacity only for smooth rendering. */
.jhs-content-animation-fade-in .jhs-content {
    transform: none;
}

.jhs-content-animation-slide-up .jhs-content {
    transform: translateY(38px);
}

.jhs-content-animation-slide-side .jhs-content {
    transform: translateX(34px);
}

.jhs-dir-rtl .jhs-content-animation-slide-side .jhs-content {
    transform: translateX(-34px);
}

.jhs-content-animation-none .jhs-content,
.jhs-content-animation-none.is-active .jhs-content {
    opacity: 1;
    transform: none;
    transition: none;
}

.jhs-content-animation-fade-in.is-active .jhs-content,
.jhs-content-animation-slide-up.is-active .jhs-content,
.jhs-content-animation-slide-side.is-active .jhs-content {
    opacity: 1;
    transform: none;
}

/* Additional lightweight image transitions. */
.jhs-effect-crossfade .jhs-slide__media img {
    opacity: .2;
    transform: scale(1.025);
}

.jhs-effect-crossfade.is-active .jhs-slide__media img {
    opacity: 1;
    transform: scale(1.001);
}

.jhs-effect-parallax .jhs-slide__media img {
    transform: scale(1.035) translateX(1.5%);
}

.jhs-dir-rtl .jhs-effect-parallax .jhs-slide__media img {
    transform: scale(1.035) translateX(-1.5%);
}

.jhs-effect-parallax.is-active .jhs-slide__media img {
    transform: scale(1.01) translateX(0);
    transition-duration: max(4.5s, calc(var(--jhs-transition, 900ms) * 4));
}

/* Optional two-column desktop modes. The legacy background mode is untouched. */
@media (min-width: 992px) {
    .jhs-desktop-layout-image-right .jhs-slide__media,
    .jhs-desktop-layout-image-right .jhs-slide__overlay,
    .jhs-desktop-layout-image-right .jhs-slide__scrim,
    .jhs-desktop-layout-image-left .jhs-slide__media,
    .jhs-desktop-layout-image-left .jhs-slide__overlay,
    .jhs-desktop-layout-image-left .jhs-slide__scrim {
        width: var(--jhs-desktop-image-width, 50%);
    }

    .jhs-desktop-layout-image-right .jhs-slide__media,
    .jhs-desktop-layout-image-right .jhs-slide__overlay,
    .jhs-desktop-layout-image-right .jhs-slide__scrim {
        left: auto;
        right: 0;
    }

    .jhs-desktop-layout-image-left .jhs-slide__media,
    .jhs-desktop-layout-image-left .jhs-slide__overlay,
    .jhs-desktop-layout-image-left .jhs-slide__scrim {
        left: 0;
        right: auto;
    }

    .jhs-desktop-layout-image-right .jhs-slide__scrim,
    .jhs-desktop-layout-image-left .jhs-slide__scrim {
        background: linear-gradient(90deg, rgba(0,0,0,.02), rgba(0,0,0,0));
    }

    .jhs-desktop-layout-image-right .jhs-content {
        width: min(calc(100% - var(--jhs-desktop-image-width, 50%) - 36px), var(--jhs-content, 650px));
        margin-left: 0;
        margin-right: auto;
        text-align: left;
    }

    .jhs-desktop-layout-image-left .jhs-content {
        width: min(calc(100% - var(--jhs-desktop-image-width, 50%) - 36px), var(--jhs-content, 650px));
        margin-left: auto;
        margin-right: 0;
        text-align: right;
    }

    .jhs-desktop-layout-centered .jhs-content {
        margin-inline: auto;
        text-align: center;
    }

    .jhs-desktop-layout-centered .jhs-description,
    .jhs-desktop-layout-centered .jhs-subtitle {
        margin-inline: auto;
    }

    .jhs-desktop-layout-centered .jhs-buttons {
        justify-content: center;
    }
}

/* Pagination variants. */
.jhs-pagination-lines .jhs-dot {
    width: 28px;
    height: 4px;
    border-radius: 999px;
}

.jhs-pagination-lines .jhs-dot.is-active {
    width: 46px;
}

.jhs-pagination-progress .jhs-dots {
    width: min(66vw, 420px);
    gap: 5px;
}

.jhs-pagination-progress .jhs-dot,
.jhs-pagination-progress .jhs-dot.is-active {
    flex: 1 1 0;
    width: auto;
    height: 4px;
}

.jhs-pagination-numbers .jhs-dots {
    gap: 7px;
}

.jhs-pagination-numbers .jhs-dot,
.jhs-pagination-numbers .jhs-dot.is-active {
    width: 31px;
    height: 31px;
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(13,91,69,.18);
}

.jhs-pagination-numbers .jhs-dot span {
    position: static;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    background: transparent;
    color: #0d5b45;
    font-size: 12px;
    font-weight: 800;
}

.jhs-pagination-numbers .jhs-dot.is-active {
    background: #0d5b45;
}

.jhs-pagination-numbers .jhs-dot.is-active span {
    color: #fff;
}

.jhs-pagination-numbers.is-running .jhs-dot.is-active span {
    width: 100%;
    transition: none;
}

/* Accessible autoplay control. */
.jhs-play-pause {
    position: absolute;
    z-index: 8;
    right: 24px;
    bottom: 24px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(13,91,69,.14);
    border-radius: 50%;
    background: rgba(255,255,255,.76);
    color: #0d5b45;
    box-shadow: 0 10px 28px rgba(13,72,54,.08);
    cursor: pointer;
    backdrop-filter: blur(8px);
}

.jhs-play-pause__play {
    display: none;
    margin-left: 2px;
    font-size: 13px;
}

.jhs-play-pause.is-paused .jhs-play-pause__pause {
    display: none;
}

.jhs-play-pause.is-paused .jhs-play-pause__play {
    display: inline;
}

.jhs-play-pause:focus-visible,
.jhs-arrow:focus-visible,
.jhs-dot:focus-visible,
.jhs-button:focus-visible {
    outline: 3px solid var(--jhs-accent-color, #d9aa3b);
    outline-offset: 3px;
}

@media (max-width: 1100px) and (min-width: 768px) {
    .jhs-slide__inner {
        padding-inline: var(--jhs-tablet-padding-x, 58px);
    }
}

@media (max-width: 767px) {
    .jhs-slide__inner {
        padding-inline: var(--jhs-mobile-padding-x, 20px);
    }

    .jhs-mobile-position-top:not(.jhs-mobile-layout-split) .jhs-slide__inner,
    .jhs-mobile-position-center:not(.jhs-mobile-layout-split) .jhs-slide__inner,
    .jhs-mobile-position-bottom:not(.jhs-mobile-layout-split) .jhs-slide__inner {
        padding-top: var(--jhs-mobile-padding-top, 52px);
        padding-bottom: var(--jhs-mobile-padding-bottom, 78px);
    }

    .jhs-mobile-layout-split .jhs-slide__inner {
        padding-inline: var(--jhs-mobile-padding-x, 20px);
        padding-bottom: max(58px, var(--jhs-mobile-padding-bottom, 78px));
    }

    /* Desktop layout choices intentionally collapse to the dedicated mobile layout system. */
    .jhs-desktop-layout-image-right .jhs-slide__media,
    .jhs-desktop-layout-image-right .jhs-slide__overlay,
    .jhs-desktop-layout-image-right .jhs-slide__scrim,
    .jhs-desktop-layout-image-left .jhs-slide__media,
    .jhs-desktop-layout-image-left .jhs-slide__overlay,
    .jhs-desktop-layout-image-left .jhs-slide__scrim {
        width: 100%;
        left: 0;
        right: 0;
    }

    .jhs-arrows-mobile .jhs-arrows {
        display: flex;
        inset-inline: 10px;
    }

    .jhs-arrows-mobile .jhs-arrow {
        width: 42px;
        height: 42px;
    }

    .jhs-mobile-buttons-full .jhs-buttons {
        display: grid;
        grid-template-columns: 1fr;
    }

    .jhs-mobile-buttons-full .jhs-button {
        width: 100%;
        max-width: none;
    }

    .jhs-play-pause {
        right: 14px;
        bottom: 14px;
        width: 38px;
        height: 38px;
    }

    .jhs-pagination-progress .jhs-dots {
        width: min(72vw, 330px);
    }
}

@media (max-width: 479px) {
    .jhs-description {
        max-width: 38rem;
    }

    .jhs-buttons {
        width: 100%;
    }
}

@media (max-width: 359px) {
    .jhs-title {
        font-size: clamp(26px, 9vw, var(--jhs-title-size-mobile, 40px));
    }

    .jhs-subtitle,
    .jhs-subtitle--p {
        font-size: clamp(17px, 5.4vw, var(--jhs-subtitle-size-mobile, 23px));
    }

    .jhs-description {
        line-height: 1.62;
    }

    .jhs-button {
        min-height: 48px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .jhs-play-pause {
        display: none !important;
    }
}

.jhs-title--span,
.jhs-subtitle--span {
    display: block;
}


/* v1.5.1 — Juicerfo no-red navigation hardening.
   These rules intentionally use stronger specificity and !important so theme/Elementor
   global button colors cannot turn slider controls red/pink. */
.jhs-hero button.jhs-arrow {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: #0d5b45 !important;
    background-color: #0d5b45 !important;
    background-image: none !important;
    border-color: rgba(217,170,59,.58) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: currentColor !important;
}

.jhs-hero button.jhs-arrow:hover,
.jhs-hero button.jhs-arrow:focus,
.jhs-hero button.jhs-arrow:focus-visible {
    background: #d9aa3b !important;
    background-color: #d9aa3b !important;
    background-image: none !important;
    border-color: #d9aa3b !important;
    color: #0a3c2e !important;
    -webkit-text-fill-color: currentColor !important;
}

.jhs-hero button.jhs-arrow::before,
.jhs-hero button.jhs-arrow::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* Keep dots and play/pause controls in the green/gold Juicerfo palette as well. */
.jhs-hero button.jhs-dot {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: rgba(13,91,69,.28) !important;
    background-image: none !important;
}

.jhs-hero button.jhs-dot.is-active {
    background-color: rgba(13,91,69,.18) !important;
}

.jhs-hero.jhs-pagination-numbers button.jhs-dot {
    background-color: rgba(255,255,255,.68) !important;
    border-color: rgba(13,91,69,.18) !important;
}

.jhs-hero.jhs-pagination-numbers button.jhs-dot.is-active {
    background-color: #0d5b45 !important;
}

.jhs-hero button.jhs-play-pause {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: rgba(255,255,255,.92) !important;
    background-color: rgba(255,255,255,.92) !important;
    background-image: none !important;
    border-color: rgba(13,91,69,.18) !important;
    color: #0d5b45 !important;
    -webkit-text-fill-color: currentColor !important;
}

.jhs-hero button.jhs-play-pause:hover,
.jhs-hero button.jhs-play-pause:focus-visible {
    background: #d9aa3b !important;
    background-color: #d9aa3b !important;
    border-color: #d9aa3b !important;
    color: #0a3c2e !important;
}

.jhs-hero button.jhs-play-pause::before,
.jhs-hero button.jhs-play-pause::after,
.jhs-hero button.jhs-dot::before,
.jhs-hero button.jhs-dot::after {
    content: none !important;
    display: none !important;
}
