:root {
    --eb-forest-950: #0b281b;
    --eb-forest-900: #103924;
    --eb-forest-800: #174b2e;
    --eb-lime-500: #9cbd38;
    --eb-lime-400: #b5d957;
    --eb-white: #ffffff;
    --eb-topbar-height: 44px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    margin: 0;
    overflow-x: hidden;
}

body {
    background: #f7f9f5;
    color: var(--eb-forest-950);
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.eb-topbar {
    position: relative;
    z-index: 1030;
    width: 100%;
    min-height: var(--eb-topbar-height);
    color: var(--eb-white);
    background: linear-gradient(110deg, var(--eb-forest-950) 0%, var(--eb-forest-900) 58%, var(--eb-forest-800) 100%);
    border-bottom: 1px solid rgb(181 217 87 / 32%);
    box-shadow: 0 3px 12px rgb(4 27 17 / 14%);
}

.eb-topbar__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(100% - 32px, 1320px);
    min-height: var(--eb-topbar-height);
    margin-inline: auto;
    gap: 20px;
}

.eb-topbar__contact,
.eb-topbar__actions,
.eb-topbar__socials {
    display: flex;
    align-items: center;
}

.eb-topbar__contact {
    gap: 22px;
    min-width: 0;
}

.eb-topbar__actions {
    gap: 12px;
    flex: 0 0 auto;
}

.eb-topbar__socials {
    gap: 3px;
}

.eb-topbar__contact-link,
.eb-topbar__social-link,
.eb-topbar__quote {
    color: var(--eb-white);
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.eb-topbar__contact-link {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 8px;
    font-size: 0.8125rem;
    line-height: 1;
    white-space: nowrap;
}

.eb-topbar__contact-link i {
    color: var(--eb-lime-400);
    font-size: 0.875rem;
}

.eb-topbar__follow-label {
    font-size: 0.75rem;
    color: rgb(255 255 255 / 76%);
    white-space: nowrap;
}

.eb-topbar__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: rgb(255 255 255 / 88%);
    font-size: 0.875rem;
}

.eb-topbar__quote {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 6px 14px;
    gap: 7px;
    border: 1px solid var(--eb-lime-500);
    border-radius: 999px;
    background: var(--eb-lime-500);
    color: var(--eb-forest-950);
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

.eb-topbar__quote i {
    font-size: 0.7rem;
}

.eb-topbar__dealer-label--compact {
    display: none;
}

.eb-topbar a:focus-visible {
    outline: 2px solid var(--eb-lime-400);
    outline-offset: 2px;
}

@media (hover: hover) {
    .eb-topbar__contact-link:hover {
        color: var(--eb-lime-400);
    }

    .eb-topbar__social-link:hover {
        color: var(--eb-forest-950);
        background: var(--eb-lime-400);
        transform: translateY(-1px);
    }

    .eb-topbar__quote:hover {
        color: var(--eb-white);
        background: transparent;
        border-color: var(--eb-lime-400);
    }
}

@media (max-width: 991.98px) {
    .eb-topbar__container {
        width: min(100% - 24px, 960px);
        gap: 12px;
    }

    .eb-topbar__contact {
        gap: 14px;
    }

    .eb-topbar__follow-label {
        display: none;
    }
}

@media (max-width: 767.98px) {
    :root {
        --eb-topbar-height: 40px;
    }

    .eb-topbar__container {
        width: calc(100% - 16px);
        gap: 6px;
    }

    .eb-topbar__contact,
    .eb-topbar__actions {
        gap: 4px;
    }

    .eb-topbar__contact-text {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .eb-topbar__contact-link,
    .eb-topbar__social-link {
        justify-content: center;
        width: 30px;
        height: 30px;
    }

    .eb-topbar__contact-link i {
        font-size: 0.9375rem;
    }

    .eb-topbar__quote {
        min-height: 30px;
        padding-inline: 10px;
    }
}

@media (max-width: 439.98px) {
    .eb-topbar__quote {
        width: auto;
        padding-inline: 8px;
        border-radius: 999px;
    }

    .eb-topbar__dealer-label--full {
        display: none;
    }

    .eb-topbar__dealer-label--compact {
        display: inline;
    }

    .eb-topbar__socials {
        gap: 0;
    }
}

@media (max-width: 359.98px) {
    .eb-topbar__container {
        width: calc(100% - 8px);
    }

    .eb-topbar__contact-link,
    .eb-topbar__social-link {
        width: 27px;
        height: 27px;
        min-height: 27px;
    }

    .eb-topbar__quote {
        min-height: 27px;
        padding-inline: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .eb-topbar *,
    .eb-topbar *::before,
    .eb-topbar *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Header and primary navigation */
.eb-header {
    position: sticky;
    top: 0;
    z-index: 1020;
    width: 100%;
    background: var(--eb-white);
    border-bottom: 1px solid rgb(16 57 36 / 10%);
    transition: box-shadow 180ms ease, border-color 180ms ease;
}

@media (min-width: 992px) {
    .eb-header,
    .eb-header__container,
    .eb-nav,
    .eb-nav__list {
        overflow: visible;
    }
}

.eb-header.is-scrolled {
    border-bottom-color: transparent;
    box-shadow: 0 8px 24px rgb(11 40 27 / 12%);
}

.eb-header__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(100% - 32px, 1320px);
    min-height: 76px;
    margin-inline: auto;
    gap: 28px;
}

.eb-header__brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 10px;
    color: var(--eb-forest-950);
    text-decoration: none;
}

.eb-header__logo {
    display: block;
    width: auto;
    max-width: 190px;
    height: 56px;
    object-fit: contain;
}

.eb-header__brand-mark {
    display: inline-grid;
    place-items: center;
    width: 50px;
    height: 42px;
    border-radius: 8px 16px 8px 16px;
    background: var(--eb-forest-900);
    color: var(--eb-lime-400);
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.eb-header__brand-name {
    font-size: 1rem;
    font-weight: 750;
    letter-spacing: 0.01em;
}

.eb-header__toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: var(--eb-forest-900);
    background: #f2f6ee;
    border: 1px solid rgb(16 57 36 / 10%);
    border-radius: 10px;
    font-size: 1.35rem;
    cursor: pointer;
}

.eb-nav__list,
.eb-nav__submenu {
    padding: 0;
    margin: 0;
    list-style: none;
}

.eb-nav__list {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.5vw, 25px);
}

.eb-nav__item {
    position: relative;
}

.eb-nav__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 76px;
    padding: 0;
    gap: 6px;
    color: #25372d;
    background: transparent;
    border: 0;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: color 180ms ease;
}

.eb-nav__link::after {
    position: absolute;
    right: 0;
    bottom: 17px;
    left: 0;
    height: 2px;
    background: var(--eb-lime-500);
    content: "";
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 180ms ease;
}

.eb-nav__dropdown-toggle i {
    font-size: 0.65rem;
    transition: transform 180ms ease;
}

.eb-nav__item.is-active > .eb-nav__link,
.eb-nav__link:hover,
.eb-nav__link:focus-visible,
.eb-nav__item.is-open > .eb-nav__link {
    color: var(--eb-forest-800);
}

.eb-nav__item.is-active > .eb-nav__link::after,
.eb-nav__link:hover::after,
.eb-nav__link:focus-visible::after {
    transform: scaleX(1);
}

.eb-nav__submenu {
    position: absolute;
    z-index: 20;
    top: calc(100% - 1px);
    right: 0;
    width: 230px;
    padding: 9px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    background: var(--eb-white);
    border: 1px solid rgb(16 57 36 / 10%);
    border-radius: 12px;
    box-shadow: 0 16px 38px rgb(11 40 27 / 16%);
    transform: translateY(7px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.eb-nav__submenu-link {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    color: #31463a;
    font-size: 0.84375rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 160ms ease, background-color 160ms ease, padding-left 160ms ease;
}

.eb-nav__submenu-link:hover,
.eb-nav__submenu-link:focus-visible {
    padding-left: 15px;
    color: var(--eb-forest-900);
    background: rgb(181 217 87 / 20%);
    outline: none;
}

.eb-nav__item--dropdown:hover > .eb-nav__submenu,
.eb-nav__item--dropdown:focus-within > .eb-nav__submenu,
.eb-nav__item--dropdown.is-open > .eb-nav__submenu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.eb-nav__item--dropdown.is-open .eb-nav__dropdown-toggle i {
    transform: rotate(180deg);
}

.eb-header a:focus-visible,
.eb-header button:focus-visible {
    outline: 2px solid var(--eb-lime-500);
    outline-offset: 3px;
}

@media (max-width: 991.98px) {
    .eb-header__container {
        position: relative;
        width: min(100% - 24px, 960px);
        min-height: 66px;
    }

    .eb-header__logo {
        max-width: 154px;
        height: 48px;
    }

    .eb-header__toggle {
        display: inline-flex;
    }

    .eb-nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        max-height: 0;
        visibility: hidden;
        overflow: hidden auto;
        opacity: 0;
        background: var(--eb-white);
        border: 1px solid rgb(16 57 36 / 10%);
        border-top: 0;
        border-radius: 0 0 14px 14px;
        box-shadow: 0 18px 32px rgb(11 40 27 / 14%);
        transition: max-height 220ms ease, opacity 180ms ease, visibility 180ms ease;
    }

    .eb-nav.is-open {
        max-height: calc(100vh - 116px);
        visibility: visible;
        opacity: 1;
    }

    .eb-nav__list {
        display: block;
        padding: 10px;
    }

    .eb-nav__link {
        justify-content: space-between;
        width: 100%;
        min-height: 46px;
        padding: 0 12px;
        border-radius: 8px;
    }

    .eb-nav__link::after {
        display: none;
    }

    .eb-nav__item.is-active > .eb-nav__link {
        color: var(--eb-forest-900);
        background: rgb(181 217 87 / 17%);
    }

    .eb-nav__submenu {
        position: static;
        z-index: auto;
        width: auto;
        max-height: 0;
        padding: 0 8px;
        visibility: hidden;
        overflow: hidden;
        opacity: 1;
        border: 0;
        border-radius: 8px;
        box-shadow: none;
        transform: none;
        transition: max-height 200ms ease, padding 200ms ease, visibility 200ms ease;
    }

    .eb-nav__item--dropdown:hover > .eb-nav__submenu,
    .eb-nav__item--dropdown:focus-within > .eb-nav__submenu {
        visibility: hidden;
    }

    .eb-nav__item--dropdown.is-open > .eb-nav__submenu {
        max-height: 330px;
        padding-block: 5px 8px;
        visibility: visible;
        pointer-events: auto;
    }

    .eb-nav__submenu-link {
        padding: 9px 12px 9px 22px;
    }
}

@media (max-width: 575.98px) {
    .eb-header__container {
        width: calc(100% - 20px);
        min-height: 62px;
    }

    .eb-header__logo {
        max-width: 138px;
        height: 44px;
    }

    .eb-header__brand-mark {
        width: 44px;
        height: 38px;
    }

    .eb-header__brand-name {
        max-width: 120px;
        font-size: 0.9rem;
    }
}

/* Homepage hero slider */
.eb-hero {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 560px;
    overflow: hidden;
    isolation: isolate;
    color: var(--eb-white);
    background: var(--eb-forest-950);
}

.eb-hero__track,
.eb-hero__slide { min-height: 560px; }

.eb-hero__slide {
    position: absolute;
    inset: 0;
    display: grid;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    background: linear-gradient(118deg, #09291a 0%, #174d2d 54%, #6b7f27 145%);
    transition: opacity 650ms ease, visibility 650ms ease;
}

.eb-hero__slide--olive { background: linear-gradient(125deg, #203d21 0%, #526c2a 56%, #9aae3f 135%); }
.eb-hero__slide--deep { background: linear-gradient(120deg, #071d14 0%, #113d28 60%, #366834 130%); }

.eb-hero__slide::before,
.eb-hero__slide::after {
    position: absolute;
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.eb-hero__slide::before {
    right: -10%;
    bottom: -55%;
    width: min(54vw, 760px);
    aspect-ratio: 1;
    border: 1px solid rgb(181 217 87 / 24%);
    box-shadow: 0 0 0 70px rgb(181 217 87 / 5%), 0 0 0 145px rgb(181 217 87 / 3%);
}

.eb-hero__slide::after {
    top: 12%;
    right: 13%;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgb(181 217 87 / 20%), transparent 68%);
}

.eb-hero__slide.is-active {
    position: relative;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.eb-hero__media,
.eb-hero__media img,
.eb-hero__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.eb-hero__media img { object-fit: cover; }

.eb-hero__overlay {
    z-index: 1;
    background: rgb(5 30 19 / 60%);
    pointer-events: none;
}

.eb-hero__slide--overlay-40 .eb-hero__overlay { background: rgb(5 30 19 / 40%); }
.eb-hero__slide--overlay-50 .eb-hero__overlay { background: rgb(5 30 19 / 50%); }
.eb-hero__slide--overlay-60 .eb-hero__overlay { background: rgb(5 30 19 / 60%); }
.eb-hero__slide--overlay-70 .eb-hero__overlay { background: rgb(5 30 19 / 70%); }
.eb-hero__slide--overlay-80 .eb-hero__overlay { background: rgb(5 30 19 / 80%); }

.eb-hero__container {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    width: min(100% - 48px, 1320px);
    min-height: 560px;
    margin-inline: auto;
    padding-block: 80px 94px;
}

.eb-hero__content { width: min(100%, 710px); }
.eb-hero__slide--align-center .eb-hero__container { justify-content: center; text-align: center; }
.eb-hero__slide--align-center .eb-hero__content { margin-inline: auto; }
.eb-hero__slide--align-right .eb-hero__container { justify-content: flex-end; text-align: right; }
.eb-hero__slide--align-right .eb-hero__content { margin-left: auto; }

.eb-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    margin: 0 0 18px;
    gap: 10px;
    color: var(--eb-lime-400);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.eb-hero__eyebrow::before { width: 34px; height: 2px; background: currentColor; content: ""; }

.eb-hero__heading {
    margin: 0;
    color: var(--eb-white);
    font-size: clamp(2.6rem, 5vw, 4.7rem);
    font-weight: 780;
    line-height: 1.04;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

.eb-hero__description {
    max-width: 650px;
    margin: 24px 0 0;
    color: rgb(255 255 255 / 82%);
    font-size: clamp(1rem, 1.4vw, 1.125rem);
    line-height: 1.7;
}

.eb-hero__slide--align-center .eb-hero__description { margin-inline: auto; }
.eb-hero__slide--align-right .eb-hero__description { margin-left: auto; }

.eb-hero__actions {
    display: flex;
    align-items: center;
    margin-top: 32px;
    gap: 12px;
}

.eb-hero__slide--align-center .eb-hero__actions { justify-content: center; }
.eb-hero__slide--align-right .eb-hero__actions { justify-content: flex-end; }

.eb-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 750;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.eb-hero__button--primary { color: var(--eb-forest-950); background: var(--eb-lime-400); border-color: var(--eb-lime-400); }
.eb-hero__button--secondary { color: var(--eb-white); background: rgb(255 255 255 / 8%); border-color: rgb(255 255 255 / 45%); }

.eb-hero__button:focus-visible,
.eb-hero__control:focus-visible,
.eb-hero__indicator:focus-visible { outline: 2px solid var(--eb-lime-400); outline-offset: 3px; }

@media (hover: hover) {
    .eb-hero__button:hover { transform: translateY(-2px); }
    .eb-hero__button--primary:hover { color: var(--eb-white); background: transparent; }
    .eb-hero__button--secondary:hover { color: var(--eb-forest-950); background: var(--eb-white); border-color: var(--eb-white); }
}

.eb-hero__control {
    position: absolute;
    z-index: 4;
    top: 50%;
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--eb-white);
    background: rgb(7 29 20 / 35%);
    border: 1px solid rgb(255 255 255 / 35%);
    border-radius: 50%;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 180ms ease, border-color 180ms ease;
}

.eb-hero__control--previous { left: max(14px, calc((100% - 1420px) / 2)); }
.eb-hero__control--next { right: max(14px, calc((100% - 1420px) / 2)); }
.eb-hero__control:hover { color: var(--eb-forest-950); background: var(--eb-lime-400); border-color: var(--eb-lime-400); }

.eb-hero__indicators {
    position: absolute;
    z-index: 4;
    bottom: 30px;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 8px;
    transform: translateX(-50%);
}

.eb-hero__indicator {
    width: 9px;
    height: 9px;
    padding: 0;
    background: rgb(255 255 255 / 50%);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: width 180ms ease, background-color 180ms ease;
}

.eb-hero__indicator.is-active { width: 28px; background: var(--eb-lime-400); }

@media (max-width: 991.98px) {
    .eb-hero,
    .eb-hero__track,
    .eb-hero__slide,
    .eb-hero__container { min-height: 530px; }
    .eb-hero__container { width: min(100% - 64px, 900px); }
    .eb-hero__control { width: 38px; height: 38px; }
}

@media (max-width: 767.98px) {
    .eb-hero,
    .eb-hero__track,
    .eb-hero__slide,
    .eb-hero__container { min-height: 510px; }
    .eb-hero__container { width: calc(100% - 36px); padding-block: 62px 84px; }
    .eb-hero__slide--align-left .eb-hero__container,
    .eb-hero__slide--align-center .eb-hero__container,
    .eb-hero__slide--align-right .eb-hero__container { justify-content: center; text-align: center; }
    .eb-hero__slide--align-left .eb-hero__content,
    .eb-hero__slide--align-center .eb-hero__content,
    .eb-hero__slide--align-right .eb-hero__content,
    .eb-hero__description { margin-inline: auto; }
    .eb-hero__heading { font-size: clamp(2.15rem, 10vw, 3.25rem); line-height: 1.08; }
    .eb-hero__description { margin-top: 20px; font-size: 0.95rem; line-height: 1.6; }
    .eb-hero__actions,
    .eb-hero__slide--align-left .eb-hero__actions,
    .eb-hero__slide--align-right .eb-hero__actions { justify-content: center; }
    .eb-hero__control { top: auto; bottom: 22px; transform: none; }
    .eb-hero__control--previous { left: 18px; }
    .eb-hero__control--next { right: 18px; }
    .eb-hero__indicators { bottom: 34px; }
}

@media (max-width: 479.98px) {
    .eb-hero__actions { flex-direction: column; width: 100%; margin-top: 26px; }
    .eb-hero__button { width: min(100%, 270px); }
}

/* Trusted brand logo slider */
.jbn-logo-slider {
    position: relative;
    z-index: 0;
    width: 100%;
    overflow: hidden;
    padding: 72px 0 76px;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9f2 100%);
}

.jbn-logo-slider__container {
    width: min(100% - 48px, 1320px);
    margin-inline: auto;
}

.jbn-logo-slider__header {
    max-width: 720px;
    margin: 0 auto 38px;
    text-align: center;
}

.jbn-logo-slider__eyebrow {
    margin: 0 0 10px;
    color: #789328;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.jbn-logo-slider__heading {
    margin: 0;
    color: var(--eb-forest-900);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.jbn-logo-slider__description {
    max-width: 650px;
    margin: 16px auto 0;
    color: #607067;
    font-size: 0.975rem;
    line-height: 1.7;
}

.jbn-logo-slider__viewport {
    --jbn-logo-gap: 18px;
    --jbn-logo-card-width: 190px;
    overflow: hidden;
    padding: 8px 2px 12px;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}

.jbn-logo-slider__viewport.is-dragging { cursor: grabbing; }

.jbn-logo-slider__track,
.jbn-logo-slider__group {
    display: flex;
    align-items: stretch;
}

.jbn-logo-slider__track {
    width: max-content;
    will-change: transform;
}

.jbn-logo-slider__group {
    gap: var(--jbn-logo-gap);
    padding-right: var(--jbn-logo-gap);
}

.jbn-logo-slider__item {
    flex: 0 0 var(--jbn-logo-card-width);
    width: var(--jbn-logo-card-width);
}

.jbn-logo-slider__card {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: var(--jbn-logo-card-background, #ffffff);
    height: 112px;
    padding: 20px 24px;
    overflow: hidden;
    color: var(--eb-forest-900);
    background: var(--eb-white);
    border: 1px solid rgb(16 57 36 / 9%);
    border-radius: 14px;
    box-shadow: 0 7px 22px rgb(11 40 27 / 6%);
    text-decoration: none;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.jbn-logo-slider__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: saturate(0.72);
    opacity: 0.82;
    transition: filter 180ms ease, opacity 180ms ease;
}
.jbn-logo-slider.is-grayscale .jbn-logo-slider__image{filter:grayscale(1);opacity:.82}.jbn-logo-slider.is-original-colour .jbn-logo-slider__image{filter:none;opacity:1}.jbn-logo-slider__name{display:block;margin-top:7px;color:var(--eb-forest-900);font-size:.75rem;font-weight:700;text-align:center}.jbn-logo-slider__card:has(.jbn-logo-slider__name){flex-direction:column}

.jbn-logo-slider__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    color: #718078;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: center;
}

.jbn-logo-slider__placeholder i {
    color: #9db14b;
    font-size: 1.25rem;
}

.jbn-logo-slider__card:focus-visible {
    outline: 2px solid var(--eb-lime-500);
    outline-offset: 3px;
}

@media (hover: hover) {
    .jbn-logo-slider__card:hover {
        border-color: rgb(156 189 56 / 45%);
        box-shadow: 0 12px 28px rgb(11 40 27 / 11%);
        transform: translateY(-3px);
    }
    .jbn-logo-slider__card:hover .jbn-logo-slider__image { filter: none; opacity: 1; }
}

.jbn-logo-slider.is-static .jbn-logo-slider__viewport { cursor: default; }
.jbn-logo-slider.is-static .jbn-logo-slider__track { width: 100%; transform: none !important; }
.jbn-logo-slider.is-static .jbn-logo-slider__group:first-child { justify-content: center; flex-wrap: wrap; width: 100%; padding-right: 0; }
.jbn-logo-slider.is-static .jbn-logo-slider__group--duplicate { display: none; }

.jbn-logo-slider__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 1199.98px) {
    .jbn-logo-slider__viewport { --jbn-logo-card-width: 180px; }
}

@media (max-width: 991.98px) {
    .jbn-logo-slider { padding-block: 62px 66px; }
    .jbn-logo-slider__container { width: min(100% - 40px, 900px); }
    .jbn-logo-slider__viewport { --jbn-logo-card-width: 220px; }
}

@media (max-width: 767.98px) {
    .jbn-logo-slider { padding-block: 52px 56px; }
    .jbn-logo-slider__container { width: calc(100% - 28px); }
    .jbn-logo-slider__header { margin-bottom: 30px; }
    .jbn-logo-slider__description { font-size: 0.9rem; }
    .jbn-logo-slider__viewport { --jbn-logo-gap: 12px; --jbn-logo-card-width: calc((100vw - 54px) / 2); }
    .jbn-logo-slider__card { height: 94px; padding: 16px 18px; border-radius: 12px; }
}

@media (max-width: 339.98px) {
    .jbn-logo-slider__viewport { --jbn-logo-card-width: calc(100vw - 52px); }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-logo-slider__track { transform: none !important; }
    .jbn-logo-slider__group--duplicate { display: none; }
    .jbn-logo-slider__group:first-child { flex-wrap: wrap; justify-content: center; width: 100%; padding-right: 0; }
    .jbn-logo-slider__track { width: 100%; }
}

/* New Launches editorial collage */
.jbn-new-launches {
    position: relative;
    z-index: 0;
    width: 100%;
    overflow: hidden;
    padding: 108px 0 112px;
    background: #fbfcf9;
}

.jbn-new-launches__container {
    position: relative;
    z-index: 1;
    width: min(100% - 48px, 1280px);
    margin-inline: auto;
}

.jbn-new-launches__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
}

.jbn-new-launches__eyebrow {
    margin: 0 0 11px;
    color: #789328;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.jbn-new-launches__heading {
    margin: 0;
    color: var(--eb-forest-900);
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1;
    letter-spacing: -0.05em;
}

.jbn-new-launches__intro {
    max-width: 700px;
    margin: 24px 0 0;
    color: #5c6b62;
    font-size: 1rem;
    line-height: 1.75;
}

.jbn-new-launches__stat {
    margin: 0;
    color: var(--eb-forest-900);
}

.jbn-new-launches__stat--top {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    padding: 0 0 8px 28px;
    border-left: 1px solid rgb(120 147 40 / 35%);
    text-align: right;
}

.jbn-new-launches__stat--top strong { font-size: 1.05rem; }
.jbn-new-launches__stat--top span { margin-top: 5px; color: #7a877f; font-size: 0.75rem; }

.jbn-new-launches__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
    margin-top: 74px;
    gap: 72px 32px;
}
.jbn-new-launches__grid--count-1 .jbn-new-launches__item{grid-column:2 / span 10;margin-top:0}.jbn-new-launches__grid--count-2 .jbn-new-launches__item:first-child{grid-column:1 / span 6;margin-top:0}.jbn-new-launches__grid--count-2 .jbn-new-launches__item:last-child{grid-column:7 / span 6;margin-top:72px}.jbn-new-launches--soft-green{background:#f3f7ed}.jbn-new-launches--white{background:#fff}

.jbn-new-launches__item {
    position: relative;
    min-width: 0;
    border-radius: 4px;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.jbn-new-launches__item--portrait { grid-column: 2 / span 4; margin-top: 72px; }
.jbn-new-launches__item--wide { grid-column: 7 / span 6; }
.jbn-new-launches__item--feature { grid-column: 1 / span 7; }
.jbn-new-launches__item--tall { grid-column: 9 / span 4; margin-top: 96px; }

.jbn-new-launches__visual {
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: hidden;
    background: #e9eddf;
    border-radius: 3px;
}

.jbn-new-launches__item--portrait .jbn-new-launches__visual { aspect-ratio: 4 / 5; }
.jbn-new-launches__item--wide .jbn-new-launches__visual { aspect-ratio: 16 / 10; }
.jbn-new-launches__item--feature .jbn-new-launches__visual { aspect-ratio: 16 / 9; }
.jbn-new-launches__item--tall .jbn-new-launches__visual { aspect-ratio: 5 / 6; }

.jbn-new-launches__visual picture,
.jbn-new-launches__image,
.jbn-new-launches__placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

.jbn-new-launches__image {
    object-fit: cover;
    transition: transform 500ms ease;
}

.jbn-new-launches__visual--contain .jbn-new-launches__image { object-fit: contain; padding: 28px; }

.jbn-new-launches__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding: 32px;
    color: rgb(16 57 36 / 58%);
    background: linear-gradient(140deg, #edf1e4 0%, #d8e2c1 52%, #b9c97c 150%);
    font-size: clamp(1.15rem, 2vw, 1.8rem);
    font-weight: 750;
    letter-spacing: -0.02em;
    text-align: center;
}

.jbn-new-launches__item--wide .jbn-new-launches__placeholder { color: rgb(255 255 255 / 78%); background: linear-gradient(135deg, #163c27 0%, #4f6930 65%, #94a943 140%); }
.jbn-new-launches__item--feature .jbn-new-launches__placeholder { color: rgb(255 255 255 / 78%); background: linear-gradient(130deg, #0c2c1d 0%, #24533a 58%, #73852f 140%); }
.jbn-new-launches__item--tall .jbn-new-launches__placeholder { background: linear-gradient(145deg, #f0ece0 0%, #d9dac9 52%, #c1cb91 135%); }

.jbn-new-launches__placeholder::before {
    position: absolute;
    width: 68%;
    aspect-ratio: 1;
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: 0.18;
    content: "";
}

.jbn-new-launches__placeholder span { position: relative; z-index: 1; }

.jbn-new-launches__content {
    position: relative;
    z-index: 3;
    max-width: 430px;
    padding: 26px 8px 0;
}

.jbn-new-launches__item--wide .jbn-new-launches__content,
.jbn-new-launches__item--feature .jbn-new-launches__content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 84px 34px 30px;
    color: var(--eb-white);
    background: linear-gradient(180deg, transparent 0%, rgb(5 30 19 / 84%) 100%);
}

.jbn-new-launches__label {
    margin: 0 0 10px;
    color: #789328;
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0.16em;
}

.jbn-new-launches__item--light .jbn-new-launches__label { color: var(--eb-lime-400); }

.jbn-new-launches__content h3 {
    margin: 0;
    color: var(--eb-forest-950);
    font-size: clamp(1.65rem, 3vw, 2.6rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.jbn-new-launches__item--light .jbn-new-launches__content h3 { color: var(--eb-white); }

.jbn-new-launches__summary {
    margin: 12px 0 0;
    color: #65736a;
    font-size: 0.88rem;
    line-height: 1.6;
}

.jbn-new-launches__item--light .jbn-new-launches__summary { color: rgb(255 255 255 / 76%); }

.jbn-new-launches__link {
    display: inline-flex;
    align-items: center;
    margin-top: 18px;
    gap: 10px;
    color: var(--eb-forest-900);
    font-size: 0.75rem;
    font-weight: 800;
    text-decoration: none;
}

.jbn-new-launches__item--light .jbn-new-launches__link { color: var(--eb-white); }
.jbn-new-launches__link i { transition: transform 180ms ease; }

.jbn-new-launches__decorative-text {
    position: absolute;
    z-index: 2;
    top: 24px;
    left: -28px;
    color: rgb(16 57 36 / 12%);
    font-size: clamp(3.5rem, 7vw, 7.5rem);
    font-weight: 900;
    letter-spacing: -0.07em;
    line-height: 0.8;
    pointer-events: none;
    transform: translateX(-50%) rotate(-90deg);
    transform-origin: right top;
    white-space: nowrap;
}

.jbn-new-launches__item--wide .jbn-new-launches__decorative-text,
.jbn-new-launches__item--feature .jbn-new-launches__decorative-text { top: -23px; right: 12px; left: auto; color: rgb(120 147 40 / 18%); transform: none; }
.jbn-new-launches__item--tall .jbn-new-launches__decorative-text { right: -24px; left: auto; transform: translateX(50%) rotate(90deg); transform-origin: left top; }

.jbn-new-launches__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 84px;
    gap: 28px;
}

.jbn-new-launches__stat--bottom {
    color: #77827b;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.jbn-new-launches__view-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 23px;
    gap: 10px;
    color: var(--eb-white);
    background: var(--eb-forest-900);
    border: 1px solid var(--eb-forest-900);
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.jbn-new-launches__link:focus-visible,
.jbn-new-launches__view-all:focus-visible { outline: 2px solid var(--eb-lime-500); outline-offset: 4px; }

.jbn-new-launches__dots {
    position: absolute;
    width: 180px;
    height: 180px;
    opacity: 0.42;
    background-image: radial-gradient(rgb(120 147 40 / 32%) 1px, transparent 1px);
    background-size: 13px 13px;
    pointer-events: none;
}

.jbn-new-launches__dots--top { top: 42px; right: 2%; }
.jbn-new-launches__dots--bottom { bottom: 60px; left: 1%; }

@media (hover: hover) {
    .jbn-new-launches__item:hover { transform: translateY(-5px); }
    .jbn-new-launches__item:hover .jbn-new-launches__visual { box-shadow: 0 20px 42px rgb(11 40 27 / 12%); }
    .jbn-new-launches__item:hover .jbn-new-launches__image { transform: scale(1.035); }
    .jbn-new-launches__link:hover i { transform: translateX(5px); }
    .jbn-new-launches__view-all:hover { color: var(--eb-forest-950); background: var(--eb-lime-400); border-color: var(--eb-lime-400); transform: translateY(-2px); }
}

@media (max-width: 1199.98px) {
    .jbn-new-launches { padding-block: 90px 94px; }
    .jbn-new-launches__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 28px; }
    .jbn-new-launches__item--portrait,
    .jbn-new-launches__item--wide,
    .jbn-new-launches__item--feature,
    .jbn-new-launches__item--tall { grid-column: auto; }
    .jbn-new-launches__item--portrait { margin-top: 55px; }
    .jbn-new-launches__item--wide { margin: 0; }
    .jbn-new-launches__item--feature { margin: 0; }
    .jbn-new-launches__item--tall { margin-top: 65px; }
    .jbn-new-launches__decorative-text { font-size: clamp(3rem, 8vw, 5.5rem); }
}

@media (max-width: 767.98px) {
    .jbn-new-launches { padding-block: 72px 78px; }
    .jbn-new-launches__container { width: calc(100% - 36px); }
    .jbn-new-launches__header { align-items: flex-start; flex-direction: column; gap: 22px; }
    .jbn-new-launches__stat--top { align-items: flex-start; padding: 0 0 0 15px; text-align: left; }
    .jbn-new-launches__grid { margin-top: 54px; gap: 46px 20px; }
    .jbn-new-launches__item--wide .jbn-new-launches__content,
    .jbn-new-launches__item--feature .jbn-new-launches__content { padding-inline: 24px; }
    .jbn-new-launches__decorative-text { top: -21px !important; right: 9px !important; left: auto !important; font-size: clamp(2.8rem, 11vw, 4.8rem); transform: none !important; }
}

@media (max-width: 575.98px) {
    .jbn-new-launches { padding-block: 62px 68px; }
    .jbn-new-launches__container { width: calc(100% - 28px); }
    .jbn-new-launches__heading { font-size: clamp(2.35rem, 12vw, 3.25rem); }
    .jbn-new-launches__intro { font-size: 0.92rem; }
    .jbn-new-launches__grid { grid-template-columns: 1fr; margin-top: 48px; gap: 54px; }
    .jbn-new-launches__grid--count-1 .jbn-new-launches__item,.jbn-new-launches__grid--count-2 .jbn-new-launches__item:first-child,.jbn-new-launches__grid--count-2 .jbn-new-launches__item:last-child{grid-column:auto;margin-top:0}
    .jbn-new-launches__item--portrait,
    .jbn-new-launches__item--wide,
    .jbn-new-launches__item--feature,
    .jbn-new-launches__item--tall { margin: 0; }
    .jbn-new-launches__item--portrait .jbn-new-launches__visual,
    .jbn-new-launches__item--wide .jbn-new-launches__visual,
    .jbn-new-launches__item--feature .jbn-new-launches__visual,
    .jbn-new-launches__item--tall .jbn-new-launches__visual { aspect-ratio: 4 / 3; }
    .jbn-new-launches__item--wide .jbn-new-launches__content,
    .jbn-new-launches__item--feature .jbn-new-launches__content { position: relative; padding: 25px 8px 0; color: inherit; background: none; }
    .jbn-new-launches__item--light .jbn-new-launches__content h3,
    .jbn-new-launches__item--light .jbn-new-launches__link { color: var(--eb-forest-950); }
    .jbn-new-launches__item--light .jbn-new-launches__label { color: #789328; }
    .jbn-new-launches__item--light .jbn-new-launches__summary { color: #65736a; }
    .jbn-new-launches__content h3 { font-size: 2rem; }
    .jbn-new-launches__decorative-text { top: -24px !important; font-size: clamp(2.7rem, 17vw, 4.2rem); }
    .jbn-new-launches__footer { align-items: stretch; flex-direction: column; margin-top: 64px; }
    .jbn-new-launches__stat--bottom { text-align: center; }
    .jbn-new-launches__view-all { align-self: center; }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-new-launches__item,
    .jbn-new-launches__image,
    .jbn-new-launches__link i,
    .jbn-new-launches__view-all { transition: none !important; }
}

/* Responsive product carousel */
.jbn-product-slider {
    position: relative;
    z-index: 0;
    width: 100%;
    overflow: hidden;
    padding: 96px 0 100px;
    background: #f4f7f0;
}

.jbn-product-slider__container {
    width: min(100% - 48px, 1320px);
    margin-inline: auto;
}

.jbn-product-slider__header {
    max-width: 700px;
    margin: 0 auto 46px;
    text-align: center;
}

.jbn-product-slider__eyebrow {
    margin: 0 0 10px;
    color: #789328;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.jbn-product-slider__heading {
    margin: 0;
    color: var(--eb-forest-900);
    font-size: clamp(2.35rem, 4.6vw, 3.8rem);
    line-height: 1.05;
    letter-spacing: -0.045em;
}

.jbn-product-slider__description {
    max-width: 620px;
    margin: 16px auto 0;
    color: #617067;
    font-size: 0.96rem;
    line-height: 1.7;
}

.jbn-product-slider__shell {
    position: relative;
}

.jbn-product-slider__viewport {
    --jps-gap: 24px;
    margin-inline: 32px;
    overflow: hidden;
    padding: 8px 2px 16px;
    outline: none;
    touch-action: pan-y;
    cursor: grab;
}

.jbn-product-slider__viewport.is-dragging { cursor: grabbing; }
.jbn-product-slider__viewport:focus-visible { outline: 2px solid var(--eb-lime-500); outline-offset: 3px; border-radius: 15px; }

.jbn-product-slider__track {
    display: flex;
    align-items: stretch;
    gap: var(--jps-gap);
    transform: translate3d(0, 0, 0);
    transition: transform 520ms cubic-bezier(0.22, 0.7, 0.25, 1);
    will-change: transform;
}

.jbn-product-slider__track.is-dragging,
.jbn-product-slider__track.is-resetting { transition: none; }

.jbn-product-card {
    display: flex;
    flex: 0 0 calc((100% - 72px) / 4);
    min-width: 0;
    min-height: 430px;
    overflow: hidden;
    flex-direction: column;
    background: var(--eb-white);
    border: 1px solid rgb(16 57 36 / 9%);
    border-radius: 16px;
    box-shadow: 0 8px 25px rgb(11 40 27 / 6%);
    transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.jbn-product-card__visual {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: linear-gradient(145deg, #fafbf8 0%, #eef2e8 100%);
    text-decoration: none;
}

.jbn-product-card__image,
.jbn-product-card__placeholder {
    width: 100%;
    height: 100%;
}

.jbn-product-card__image {
    display: block;
    padding: 24px;
    object-fit: contain;
    transition: transform 320ms ease;
}

.jbn-product-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 11px;
    padding: 25px;
    color: rgb(16 57 36 / 62%);
    font-size: 0.85rem;
    font-weight: 750;
    text-align: center;
}

.jbn-product-card__placeholder i { color: #91a83d; font-size: 2rem; }

.jbn-product-card__body {
    display: flex;
    align-items: stretch;
    flex: 1;
    flex-direction: column;
    padding: 23px 22px 22px;
}

.jbn-product-card__title {
    margin: 0;
    color: var(--eb-forest-950);
    font-size: 1.2rem;
    line-height: 1.3;
    text-align: center;
}

.jbn-product-card__title a { color: inherit; text-decoration: none; }

.jbn-product-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: auto;
    padding: 10px 17px;
    gap: 9px;
    color: var(--eb-white);
    background: var(--eb-forest-900);
    border: 1px solid var(--eb-forest-900);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.jbn-product-card__title a:focus-visible,
.jbn-product-card__button:focus-visible,
.jbn-product-slider__control:focus-visible,
.jbn-product-slider__dot:focus-visible { outline: 2px solid var(--eb-lime-500); outline-offset: 3px; }

@media (hover: hover) {
    .jbn-product-card:hover { border-color: rgb(156 189 56 / 40%); box-shadow: 0 16px 34px rgb(11 40 27 / 12%); transform: translateY(-5px); }
    .jbn-product-card:hover .jbn-product-card__image { transform: scale(1.045); }
    .jbn-product-card__button:hover { color: var(--eb-forest-950); background: var(--eb-lime-400); border-color: var(--eb-lime-400); }
}

.jbn-product-slider__control {
    position: absolute;
    z-index: 3;
    top: 50%;
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--eb-white);
    background: var(--eb-forest-900);
    border: 1px solid var(--eb-forest-900);
    border-radius: 50%;
    box-shadow: 0 8px 20px rgb(11 40 27 / 16%);
    cursor: pointer;
    transform: translateY(-50%);
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.jbn-product-slider__control--previous { left: 0; }
.jbn-product-slider__control--next { right: 0; }
.jbn-product-slider__control:hover { color: var(--eb-forest-950); background: var(--eb-lime-400); border-color: var(--eb-lime-400); }
.jbn-product-slider__control[hidden] { display: none; }

.jbn-product-slider__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 24px;
    gap: 8px;
}

.jbn-product-slider__dot {
    width: 9px;
    height: 9px;
    padding: 0;
    background: #c7cec3;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: width 180ms ease, background-color 180ms ease;
}

.jbn-product-slider__dot.is-active { width: 27px; background: var(--eb-lime-500); }
.jbn-product-slider.is-static .jbn-product-slider__track { justify-content: center; transform: none !important; }
.jbn-product-slider.is-static .jbn-product-slider__viewport { cursor: default; }
.jbn-product-slider.is-static .jbn-product-slider__pagination { display: none; }

@media (max-width: 1199.98px) {
    .jbn-product-card { flex-basis: calc((100% - 48px) / 3); }
}

@media (max-width: 991.98px) {
    .jbn-product-slider { padding-block: 82px 86px; }
    .jbn-product-slider__container { width: min(100% - 40px, 900px); }
    .jbn-product-card { flex-basis: calc((100% - 24px) / 2); min-height: 410px; }
}

@media (max-width: 575.98px) {
    .jbn-product-slider { padding-block: 68px 72px; }
    .jbn-product-slider__container { width: calc(100% - 24px); }
    .jbn-product-slider__header { margin-bottom: 34px; }
    .jbn-product-slider__description { font-size: 0.9rem; }
    .jbn-product-slider__viewport { --jps-gap: 16px; margin-inline: 30px; }
    .jbn-product-card { flex-basis: 100%; min-height: 405px; }
    .jbn-product-card__body { padding-inline: 20px; }
    .jbn-product-card__button { width: 100%; }
    .jbn-product-slider__control { width: 42px; height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-product-slider__track,
    .jbn-product-card,
    .jbn-product-card__image,
    .jbn-product-card__button { transition: none !important; }
}

/* About JBN homepage section */
.jbn-about {
    position: relative;
    z-index: 0;
    width: 100%;
    overflow: hidden;
    padding: 112px 0 124px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
}

.jbn-about__container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.94fr);
    align-items: center;
    width: min(100% - 48px, 1280px);
    margin-inline: auto;
    gap: clamp(64px, 8vw, 112px);
}

.jbn-about__media {
    position: relative;
    min-height: 650px;
    padding: 26px 72px 62px 30px;
}

.jbn-about__main-frame {
    position: relative;
    z-index: 2;
    width: min(100%, 470px);
    aspect-ratio: 5 / 6;
    overflow: hidden;
    background: #e9eee1;
    border: 8px solid var(--eb-white);
    border-radius: 4px;
    box-shadow: 0 22px 48px rgb(11 40 27 / 13%);
}

.jbn-about__support-frame {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 2px;
    width: min(54%, 310px);
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e2e8d8;
    border: 7px solid var(--eb-white);
    border-radius: 3px;
    box-shadow: 0 18px 38px rgb(11 40 27 / 16%);
}

.jbn-about__main-image,
.jbn-about__support-image,
.jbn-about__placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

.jbn-about__main-image,
.jbn-about__support-image { object-fit: cover; }

.jbn-about__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    padding: 30px;
    color: rgb(16 57 36 / 63%);
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
}

.jbn-about__placeholder--main { background: linear-gradient(145deg, #edf2e5 0%, #cfdcb9 55%, #8faa46 150%); }
.jbn-about__placeholder--support { background: linear-gradient(140deg, #f2eee2 0%, #dfe2cb 55%, #a9b86b 140%); }
.jbn-about__placeholder i { color: #809a31; font-size: 2rem; }

.jbn-about__accent {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 34px;
    width: 60%;
    height: 78%;
    background: #e8eddc;
    border-radius: 44% 4px 4px 4px;
}

.jbn-about__accent::after {
    position: absolute;
    right: -20px;
    bottom: -22px;
    width: 74%;
    height: 48%;
    border: 1px solid rgb(120 147 40 / 35%);
    border-radius: 3px;
    content: "";
}

.jbn-about__dots {
    position: absolute;
    z-index: 1;
    bottom: 44px;
    left: 0;
    width: 145px;
    height: 145px;
    opacity: 0.55;
    background-image: radial-gradient(rgb(120 147 40 / 38%) 1px, transparent 1px);
    background-size: 12px 12px;
}

.jbn-about__badge {
    position: absolute;
    z-index: 5;
    top: 58px;
    right: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 126px;
    aspect-ratio: 1;
    padding: 18px;
    color: var(--eb-white);
    background: var(--eb-forest-900);
    border: 5px solid var(--eb-white);
    border-radius: 50%;
    box-shadow: 0 12px 28px rgb(11 40 27 / 18%);
    text-align: center;
}

.jbn-about__badge strong { color: var(--eb-lime-400); font-size: 1.05rem; line-height: 1.1; }
.jbn-about__badge span { margin-top: 5px; color: rgb(255 255 255 / 78%); font-size: 0.65rem; line-height: 1.25; }

.jbn-about__content { position: relative; z-index: 2; }

.jbn-about__eyebrow {
    display: inline-flex;
    align-items: center;
    margin: 0 0 16px;
    gap: 10px;
    color: #789328;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.18em;
}

.jbn-about__eyebrow::before { width: 32px; height: 2px; background: currentColor; content: ""; }

.jbn-about__heading {
    max-width: 620px;
    margin: 0;
    color: var(--eb-forest-900);
    font-size: clamp(2.45rem, 4.4vw, 4.2rem);
    line-height: 1.06;
    letter-spacing: -0.05em;
    text-wrap: balance;
}

.jbn-about__copy { margin-top: 28px; }
.jbn-about__copy p { margin: 0; color: #5d6b63; font-size: 0.96rem; line-height: 1.78; }
.jbn-about__copy p + p { margin-top: 16px; }

.jbn-about__highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0;
    margin: 30px 0 0;
    gap: 13px;
    list-style: none;
}

.jbn-about__highlights li {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 10px;
    color: var(--eb-forest-950);
    font-size: 0.76rem;
    font-weight: 750;
    line-height: 1.35;
}

.jbn-about__highlights i { flex: 0 0 auto; color: #849d32; font-size: 1.2rem; }

.jbn-about__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-top: 34px;
    padding: 13px 22px;
    gap: 10px;
    color: var(--eb-white);
    background: var(--eb-forest-900);
    border: 1px solid var(--eb-forest-900);
    border-radius: 9px;
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.jbn-about__button:focus-visible { outline: 2px solid var(--eb-lime-500); outline-offset: 4px; }

@media (hover: hover) {
    .jbn-about__button:hover { color: var(--eb-forest-950); background: var(--eb-lime-400); border-color: var(--eb-lime-400); transform: translateY(-2px); }
}

@media (max-width: 1199.98px) {
    .jbn-about { padding-block: 96px 104px; }
    .jbn-about__container { gap: 58px; }
    .jbn-about__media { min-height: 570px; padding-right: 54px; }
    .jbn-about__badge { right: 5px; width: 112px; }
    .jbn-about__highlights { grid-template-columns: 1fr; gap: 11px; }
}

@media (max-width: 991.98px) {
    .jbn-about { padding-block: 84px 94px; }
    .jbn-about__container { grid-template-columns: 1fr; width: min(100% - 48px, 760px); gap: 64px; }
    .jbn-about__content { order: 1; }
    .jbn-about__media { order: 2; width: min(100%, 650px); min-height: 630px; margin-inline: auto; }
    .jbn-about__highlights { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
    .jbn-about { padding-block: 68px 78px; }
    .jbn-about__container { width: calc(100% - 28px); gap: 52px; }
    .jbn-about__heading { font-size: clamp(2.3rem, 11vw, 3.1rem); }
    .jbn-about__copy p { font-size: 0.92rem; line-height: 1.7; }
    .jbn-about__highlights { grid-template-columns: 1fr; margin-top: 26px; gap: 14px; }
    .jbn-about__highlights li { font-size: 0.82rem; }
    .jbn-about__button { width: 100%; }
    .jbn-about__media { min-height: 430px; padding: 14px 35px 50px 8px; }
    .jbn-about__main-frame { width: 88%; border-width: 5px; }
    .jbn-about__support-frame { right: 0; bottom: 0; width: 52%; border-width: 5px; }
    .jbn-about__accent { right: 12px; width: 62%; }
    .jbn-about__dots { bottom: 20px; width: 100px; height: 100px; }
    .jbn-about__badge { top: 28px; right: 0; width: 92px; padding: 12px; border-width: 4px; }
    .jbn-about__badge strong { font-size: 0.88rem; }
    .jbn-about__badge span { font-size: 0.56rem; }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-about__button { transition: none !important; }
}

/* Cinematic factory video */
.jbn-factory-video {
    position: relative;
    z-index: 0;
    width: 100%;
    overflow: hidden;
    padding: 104px 0 112px;
    background: #f2f6ee;
}

.jbn-factory-video__container {
    position: relative;
    z-index: 1;
    width: min(100% - 48px, 1240px);
    margin-inline: auto;
}

.jbn-factory-video__intro {
    max-width: 760px;
    margin: 0 auto 46px;
    text-align: center;
}

.jbn-factory-video__eyebrow {
    margin: 0 0 11px;
    color: #789328;
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.18em;
}

.jbn-factory-video__heading {
    margin: 0;
    color: var(--eb-forest-900);
    font-size: clamp(2.5rem, 5vw, 4.4rem);
    line-height: 1.03;
    letter-spacing: -0.05em;
}

.jbn-factory-video__description {
    max-width: 650px;
    margin: 18px auto 0;
    color: #5e6d64;
    font-size: 0.98rem;
    line-height: 1.75;
}

.jbn-factory-video__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--eb-forest-950);
    border: 1px solid rgb(16 57 36 / 14%);
    border-radius: 20px;
    box-shadow: 0 25px 58px rgb(11 40 27 / 18%);
}

.jbn-factory-video__player,
.jbn-factory-video__cover,
.jbn-factory-video__poster,
.jbn-factory-video__placeholder,
.jbn-factory-video__overlay,
.jbn-factory-video__frame iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.jbn-factory-video__player,
.jbn-factory-video__poster { object-fit: cover; }
.jbn-factory-video__frame iframe { border: 0; }
.jbn-factory-video__cover[hidden] { display: none; }

.jbn-factory-video__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 14px;
    padding: 30px;
    color: rgb(255 255 255 / 78%);
    background: linear-gradient(125deg, #09291a 0%, #24543a 57%, #788d35 150%);
    font-size: clamp(0.9rem, 2vw, 1.2rem);
    font-weight: 750;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
}

.jbn-factory-video__placeholder i { color: var(--eb-lime-400); font-size: clamp(2rem, 5vw, 3.6rem); }

.jbn-factory-video__overlay {
    z-index: 2;
    background: rgb(5 30 19 / 35%);
    pointer-events: none;
}

.jbn-factory-video__frame--overlay-20 .jbn-factory-video__overlay { background: rgb(5 30 19 / 20%); }
.jbn-factory-video__frame--overlay-30 .jbn-factory-video__overlay { background: rgb(5 30 19 / 30%); }
.jbn-factory-video__frame--overlay-35 .jbn-factory-video__overlay { background: rgb(5 30 19 / 35%); }
.jbn-factory-video__frame--overlay-40 .jbn-factory-video__overlay { background: rgb(5 30 19 / 40%); }
.jbn-factory-video__frame--overlay-50 .jbn-factory-video__overlay { background: rgb(5 30 19 / 50%); }
.jbn-factory-video__frame--overlay-60 .jbn-factory-video__overlay { background: rgb(5 30 19 / 60%); }

.jbn-factory-video__play {
    position: absolute;
    z-index: 4;
    top: 50%;
    left: 50%;
    display: inline-grid;
    place-items: center;
    width: clamp(70px, 8vw, 96px);
    aspect-ratio: 1;
    padding: 0;
    color: var(--eb-forest-950);
    background: var(--eb-lime-400);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 0 0 12px rgb(181 217 87 / 18%), 0 12px 30px rgb(4 27 17 / 26%);
    cursor: pointer;
    transform: translate(-50%, -50%);
    transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.jbn-factory-video__play::after {
    position: absolute;
    inset: -14px;
    border: 1px solid rgb(181 217 87 / 42%);
    border-radius: 50%;
    content: "";
    animation: jbn-factory-pulse 2.4s ease-out infinite;
}

.jbn-factory-video__play i { margin-left: 5px; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.jbn-factory-video__play:focus-visible { outline: 3px solid var(--eb-white); outline-offset: 5px; }

@media (hover: hover) {
    .jbn-factory-video__play:hover { color: var(--eb-white); background: var(--eb-forest-800); transform: translate(-50%, -50%) scale(1.06); }
}

.jbn-factory-video__status {
    position: absolute;
    z-index: 4;
    bottom: 28px;
    left: 50%;
    margin: 0;
    padding: 9px 15px;
    color: rgb(255 255 255 / 82%);
    background: rgb(5 30 19 / 62%);
    border: 1px solid rgb(255 255 255 / 20%);
    border-radius: 999px;
    font-size: 0.72rem;
    transform: translateX(-50%);
    white-space: nowrap;
}

.jbn-factory-video__pattern {
    position: absolute;
    top: 52px;
    right: 2%;
    width: 190px;
    height: 190px;
    opacity: 0.38;
    background-image: radial-gradient(rgb(120 147 40 / 36%) 1px, transparent 1px);
    background-size: 13px 13px;
}

@keyframes jbn-factory-pulse {
    0% { opacity: 0.8; transform: scale(0.9); }
    75%, 100% { opacity: 0; transform: scale(1.25); }
}

@media (max-width: 991.98px) {
    .jbn-factory-video { padding-block: 88px 94px; }
    .jbn-factory-video__container { width: min(100% - 40px, 900px); }
    .jbn-factory-video__frame { border-radius: 16px; }
}

@media (max-width: 575.98px) {
    .jbn-factory-video { padding-block: 68px 74px; }
    .jbn-factory-video__container { width: calc(100% - 24px); }
    .jbn-factory-video__intro { margin-bottom: 32px; }
    .jbn-factory-video__heading { font-size: clamp(2.35rem, 12vw, 3.2rem); }
    .jbn-factory-video__description { font-size: 0.9rem; line-height: 1.65; }
    .jbn-factory-video__frame { border-radius: 11px; }
    .jbn-factory-video__play { width: 64px; box-shadow: 0 0 0 8px rgb(181 217 87 / 18%), 0 9px 22px rgb(4 27 17 / 24%); }
    .jbn-factory-video__status { bottom: 14px; max-width: calc(100% - 24px); font-size: 0.65rem; white-space: normal; text-align: center; }
    .jbn-factory-video__pattern { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-factory-video__play,
    .jbn-factory-video__play::after { animation: none !important; transition: none !important; }
}

/* Latest blog articles */
.jbn-blog-section {
    position: relative;
    z-index: 0;
    width: 100%;
    overflow: hidden;
    padding: 104px 0 110px;
    background: #ffffff;
}

.jbn-blog-section__container {
    width: min(100% - 48px, 1280px);
    margin-inline: auto;
}

.jbn-blog-section__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 46px;
    gap: 40px;
}

.jbn-blog-section__intro { max-width: 730px; }

.jbn-blog-section__eyebrow {
    margin: 0 0 11px;
    color: #789328;
    font-size: 0.73rem;
    font-weight: 850;
    letter-spacing: 0.17em;
}

.jbn-blog-section__heading {
    margin: 0;
    color: var(--eb-forest-900);
    font-size: clamp(2.45rem, 4.8vw, 4rem);
    line-height: 1.04;
    letter-spacing: -0.05em;
}

.jbn-blog-section__description {
    max-width: 650px;
    margin: 17px 0 0;
    color: #5f6d65;
    font-size: 0.96rem;
    line-height: 1.7;
}

.jbn-blog-section__view-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 48px;
    padding: 12px 20px;
    gap: 9px;
    color: var(--eb-white);
    background: var(--eb-forest-900);
    border: 1px solid var(--eb-forest-900);
    border-radius: 9px;
    font-size: 0.76rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.jbn-blog-section__view-all--mobile { display: none; }

.jbn-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    gap: 28px;
}

.jbn-blog-card {
    display: flex;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    flex-direction: column;
    background: var(--eb-white);
    border: 1px solid rgb(16 57 36 / 9%);
    border-radius: 15px;
    box-shadow: 0 8px 26px rgb(11 40 27 / 6%);
    transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.jbn-blog-card__visual {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e9eee2;
    text-decoration: none;
}

.jbn-blog-card__image,
.jbn-blog-card__placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

.jbn-blog-card__image {
    object-fit: cover;
    transition: transform 400ms ease;
}

.jbn-blog-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    padding: 26px;
    color: rgb(255 255 255 / 82%);
    background: linear-gradient(135deg, #103924 0%, #43662f 62%, #91a83d 145%);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

.jbn-blog-card:nth-child(2) .jbn-blog-card__placeholder { background: linear-gradient(135deg, #1e4329 0%, #788533 72%, #c5d16e 150%); }
.jbn-blog-card:nth-child(3) .jbn-blog-card__placeholder { background: linear-gradient(135deg, #0b2b1c 0%, #31553b 62%, #84993d 145%); }
.jbn-blog-card__placeholder i { color: var(--eb-lime-400); font-size: 2rem; }

.jbn-blog-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px 24px 24px;
}

.jbn-blog-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 20px;
    gap: 12px;
}

.jbn-blog-card__category {
    color: #789328;
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.jbn-blog-card__meta time { flex: 0 0 auto; color: #849088; font-size: 0.69rem; }

.jbn-blog-card__title {
    margin: 17px 0 0;
    color: var(--eb-forest-950);
    font-size: clamp(1.3rem, 2vw, 1.65rem);
    line-height: 1.28;
    letter-spacing: -0.025em;
}

.jbn-blog-card__title a { color: inherit; text-decoration: none; transition: color 180ms ease; }

.jbn-blog-card__excerpt {
    margin: 14px 0 0;
    color: #637168;
    font-size: 0.86rem;
    line-height: 1.65;
}

.jbn-blog-card__link {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin-top: auto;
    padding-top: 22px;
    gap: 9px;
    color: var(--eb-forest-900);
    font-size: 0.74rem;
    font-weight: 850;
    text-decoration: none;
}

.jbn-blog-card__link i { transition: transform 180ms ease; }

.jbn-blog-card__title a:focus-visible,
.jbn-blog-card__link:focus-visible,
.jbn-blog-section__view-all:focus-visible { outline: 2px solid var(--eb-lime-500); outline-offset: 4px; }

@media (hover: hover) {
    .jbn-blog-card:hover { border-color: rgb(156 189 56 / 38%); box-shadow: 0 16px 38px rgb(11 40 27 / 11%); transform: translateY(-5px); }
    .jbn-blog-card:hover .jbn-blog-card__image { transform: scale(1.045); }
    .jbn-blog-card:hover .jbn-blog-card__title a { color: #617b25; }
    .jbn-blog-card__link:hover i { transform: translateX(5px); }
    .jbn-blog-section__view-all:hover { color: var(--eb-forest-950); background: var(--eb-lime-400); border-color: var(--eb-lime-400); transform: translateY(-2px); }
}

@media (max-width: 1199.98px) {
    .jbn-blog-section { padding-block: 88px 94px; }
    .jbn-blog-section__container { width: min(100% - 40px, 900px); }
    .jbn-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
}

@media (max-width: 767.98px) {
    .jbn-blog-section__header { align-items: flex-start; flex-direction: column; margin-bottom: 38px; }
    .jbn-blog-section__view-all--desktop { display: none; }
    .jbn-blog-section__view-all--mobile { display: inline-flex; width: fit-content; margin: 34px auto 0; }
}

@media (max-width: 575.98px) {
    .jbn-blog-section { padding-block: 70px 76px; }
    .jbn-blog-section__container { width: calc(100% - 28px); }
    .jbn-blog-section__heading { font-size: clamp(2.35rem, 11vw, 3.15rem); }
    .jbn-blog-section__description { font-size: 0.9rem; }
    .jbn-blog-grid { grid-template-columns: 1fr; gap: 25px; }
    .jbn-blog-card__content { padding: 23px 21px 22px; }
    .jbn-blog-card__meta { align-items: flex-start; flex-direction: column; gap: 7px; }
    .jbn-blog-card__title { margin-top: 14px; font-size: 1.45rem; }
    .jbn-blog-section__view-all--mobile { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-blog-card,
    .jbn-blog-card__image,
    .jbn-blog-card__title a,
    .jbn-blog-card__link i,
    .jbn-blog-section__view-all { transition: none !important; }
}

/* Frequently asked questions */
.jbn-faq {
    position: relative;
    z-index: 0;
    width: 100%;
    overflow: hidden;
    padding: 112px 0;
    color: #fff;
    background:
        radial-gradient(circle at 7% 18%, rgb(181 217 87 / 12%), transparent 30%),
        linear-gradient(128deg, #071f15 0%, #0b3422 58%, #123f27 100%);
}

.jbn-faq::after {
    position: absolute;
    right: -115px;
    bottom: -180px;
    width: 390px;
    aspect-ratio: 1;
    border: 1px solid rgb(181 217 87 / 12%);
    border-radius: 50%;
    box-shadow: 0 0 0 48px rgb(181 217 87 / 3.5%), 0 0 0 96px rgb(181 217 87 / 2.5%);
    content: "";
    pointer-events: none;
}

.jbn-faq__container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(480px, 1.18fr);
    gap: clamp(58px, 7vw, 108px);
    width: min(100% - 48px, 1280px);
    margin-inline: auto;
}

.jbn-faq__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 17px;
    color: var(--eb-lime-400);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.19em;
}

.jbn-faq__eyebrow::before { width: 34px; height: 2px; background: currentColor; content: ""; }
.jbn-faq__heading { max-width: 560px; margin: 0; font-size: clamp(3rem, 4.25vw, 5.15rem); line-height: 0.98; letter-spacing: -0.052em; }
.jbn-faq__description { max-width: 520px; margin: 26px 0 0; color: rgb(255 255 255 / 70%); font-size: 0.98rem; line-height: 1.75; }

.jbn-faq__visual {
    position: relative;
    min-height: 205px;
    margin-top: 38px;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 18px;
    background: #0b2d1e;
}

.jbn-faq__image { display: block; width: 100%; height: 100%; min-height: 205px; object-fit: cover; }
.jbn-faq__placeholder { display: flex; align-items: center; gap: 22px; min-height: 205px; padding: 34px; color: rgb(255 255 255 / 82%); background: linear-gradient(135deg, rgb(255 255 255 / 5%), rgb(181 217 87 / 12%)); font-size: 1.03rem; font-weight: 700; }
.jbn-faq__placeholder-mark { display: grid; flex: 0 0 auto; width: 72px; aspect-ratio: 1; place-items: center; border: 1px solid rgb(181 217 87 / 28%); border-radius: 50%; color: var(--eb-lime-400); background: rgb(3 25 16 / 42%); font-size: 1.65rem; }

.jbn-faq__view-all { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 49px; margin-top: 30px; padding: 12px 22px; border: 1px solid rgb(181 217 87 / 42%); border-radius: 999px; color: #fff; background: transparent; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.jbn-faq__view-all i { font-size: 0.95rem; transition: transform 180ms ease; }
.jbn-faq__view-all--mobile { display: none; }

.jbn-faq__list { border-top: 1px solid rgb(255 255 255 / 14%); }
.jbn-faq__item { border-bottom: 1px solid rgb(255 255 255 / 14%); transition: border-color 180ms ease; }
.jbn-faq__question-heading { margin: 0; font-size: inherit; }
.jbn-faq__question { display: grid; grid-template-columns: minmax(0, 1fr) 38px; align-items: center; gap: 22px; width: 100%; min-height: 88px; padding: 22px 0; border: 0; color: rgb(255 255 255 / 86%); background: transparent; font: inherit; font-size: clamp(1rem, 1.22vw, 1.15rem); font-weight: 700; line-height: 1.45; text-align: left; cursor: pointer; transition: color 180ms ease; }
.jbn-faq__icon { position: relative; display: block; width: 36px; aspect-ratio: 1; border: 1px solid rgb(181 217 87 / 28%); border-radius: 50%; transition: border-color 180ms ease, background-color 180ms ease, transform 220ms ease; }
.jbn-faq__icon::before, .jbn-faq__icon::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; border-radius: 2px; background: var(--eb-lime-400); content: ""; transform: translate(-50%, -50%); transition: transform 220ms ease, opacity 180ms ease; }
.jbn-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.jbn-faq__item.is-open { border-bottom-color: rgb(181 217 87 / 42%); }
.jbn-faq__item.is-open .jbn-faq__question { color: var(--eb-lime-400); }
.jbn-faq__item.is-open .jbn-faq__icon { border-color: var(--eb-lime-400); background: rgb(181 217 87 / 9%); transform: rotate(180deg); }
.jbn-faq__item.is-open .jbn-faq__icon::after { opacity: 0; transform: translate(-50%, -50%) rotate(0); }
.jbn-faq__answer { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 260ms ease, opacity 200ms ease; }
.jbn-faq__answer.is-open { max-height: 350px; opacity: 1; }
.jbn-faq__answer-inner { padding: 0 58px 27px 0; }
.jbn-faq__answer p { max-width: 680px; margin: 0; color: rgb(255 255 255 / 66%); font-size: 0.91rem; line-height: 1.75; }
.jbn-faq__question:focus-visible, .jbn-faq__view-all:focus-visible { outline: 2px solid var(--eb-lime-400); outline-offset: 5px; }

@media (hover: hover) {
    .jbn-faq__question:hover { color: var(--eb-lime-400); }
    .jbn-faq__question:hover .jbn-faq__icon { border-color: var(--eb-lime-400); }
    .jbn-faq__view-all:hover { border-color: var(--eb-lime-400); color: var(--eb-forest-950); background: var(--eb-lime-400); transform: translateY(-2px); }
    .jbn-faq__view-all:hover i { transform: translate(2px, -2px); }
}

@media (max-width: 1199.98px) {
    .jbn-faq { padding-block: 88px 94px; }
    .jbn-faq__container { grid-template-columns: 1fr; gap: 54px; width: min(100% - 40px, 760px); }
    .jbn-faq__heading { max-width: 650px; }
    .jbn-faq__description { max-width: 650px; }
    .jbn-faq__visual { max-width: 650px; }
    .jbn-faq__view-all--desktop { display: none; }
    .jbn-faq__view-all--mobile { display: inline-flex; margin-top: 34px; }
}

@media (max-width: 575.98px) {
    .jbn-faq { padding-block: 70px 76px; }
    .jbn-faq__container { width: calc(100% - 28px); gap: 42px; }
    .jbn-faq__heading { font-size: clamp(2.4rem, 11vw, 3.2rem); }
    .jbn-faq__description { margin-top: 21px; font-size: 0.9rem; }
    .jbn-faq__visual { min-height: 160px; margin-top: 30px; border-radius: 13px; }
    .jbn-faq__image { min-height: 160px; }
    .jbn-faq__placeholder { min-height: 160px; padding: 24px 20px; font-size: 0.9rem; }
    .jbn-faq__placeholder-mark { width: 58px; font-size: 1.35rem; }
    .jbn-faq__question { grid-template-columns: minmax(0, 1fr) 34px; gap: 15px; min-height: 78px; padding-block: 19px; font-size: 0.96rem; }
    .jbn-faq__icon { width: 33px; }
    .jbn-faq__answer-inner { padding: 0 4px 23px 0; }
    .jbn-faq__answer p { font-size: 0.86rem; }
    .jbn-faq__view-all--mobile { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-faq__item, .jbn-faq__question, .jbn-faq__icon, .jbn-faq__icon::before, .jbn-faq__icon::after, .jbn-faq__answer, .jbn-faq__view-all, .jbn-faq__view-all i { transition: none !important; }
}

/* Partner testimonials */
.jbn-testimonials {
    position: relative;
    z-index: 0;
    width: 100%;
    overflow: hidden;
    padding: 108px 0 112px;
    background: linear-gradient(180deg, #f8faf4 0%, #eef4e7 100%);
}

.jbn-testimonials__container { width: min(100% - 48px, 1280px); margin-inline: auto; }
.jbn-testimonials__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.68fr); align-items: end; gap: 64px; margin-bottom: 54px; }
.jbn-testimonials__eyebrow { margin: 0 0 12px; color: #789328; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.18em; }
.jbn-testimonials__heading { margin: 0; color: var(--eb-forest-900); font-size: clamp(2.7rem, 4.8vw, 4.7rem); line-height: 1; letter-spacing: -0.052em; }
.jbn-testimonials__description { max-width: 540px; margin: 0; color: #607067; font-size: 0.96rem; line-height: 1.75; }
.jbn-testimonials__slider { min-width: 0; }
.jbn-testimonials__viewport { overflow: hidden; padding: 6px 4px 22px; touch-action: pan-y; cursor: grab; }
.jbn-testimonials__viewport.is-dragging { cursor: grabbing; }
.jbn-testimonials__track { --jbn-testimonial-gap: 24px; display: flex; align-items: stretch; gap: var(--jbn-testimonial-gap); transition: transform 520ms cubic-bezier(.22,.7,.22,1); will-change: transform; }
.jbn-testimonials__track.is-resetting, .jbn-testimonials__track.is-dragging { transition: none; }

.jbn-testimonial-card { display: flex; flex: 0 0 calc((100% - (var(--jbn-testimonial-gap) * 2)) / 3); flex-direction: column; min-width: 0; min-height: 350px; padding: 34px 32px 31px; border: 1px solid rgb(16 57 36 / 9%); border-radius: 17px; color: #3f4b44; background: #fff; box-shadow: 0 10px 28px rgb(11 40 27 / 6%); transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.jbn-testimonial-card__quote { align-self: flex-start; color: #a2bd4e; font-size: 2.4rem; line-height: 1; }
.jbn-testimonial-card__rating { display: flex; gap: 4px; margin-top: 12px; color: #91a93e; font-size: 0.78rem; }
.jbn-testimonial-card__body { flex: 1 1 auto; margin: 22px 0 34px; }
.jbn-testimonial-card__body p { margin: 0; color: #4f5d55; font-size: 0.95rem; line-height: 1.78; }
.jbn-testimonial-card__person { display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 22px; border-top: 1px solid #edf1e9; }
.jbn-testimonial-card__avatar { display: grid; flex: 0 0 50px; width: 50px; aspect-ratio: 1; overflow: hidden; place-items: center; border-radius: 50%; object-fit: cover; }
.jbn-testimonial-card__avatar--initials { color: #fff; background: linear-gradient(135deg, var(--eb-forest-800), #789328); font-size: 0.82rem; font-weight: 800; letter-spacing: 0.06em; }
.jbn-testimonial-card__details { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.jbn-testimonial-card__details cite { overflow: hidden; color: var(--eb-forest-900); font-size: 0.94rem; font-style: normal; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.jbn-testimonial-card__details span { color: #64736a; font-size: 0.78rem; font-weight: 600; }
.jbn-testimonial-card__details small { color: #89948d; font-size: 0.72rem; }

.jbn-testimonials__controls { display: flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; margin-top: 24px; }
.jbn-testimonials__arrow { display: grid; flex: 0 0 46px; width: 46px; aspect-ratio: 1; place-items: center; border: 0; border-radius: 50%; color: #fff; background: var(--eb-forest-900); font-size: 1rem; cursor: pointer; transition: background-color 180ms ease, transform 180ms ease; }
.jbn-testimonials__pagination { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 72px; }
.jbn-testimonials__pagination button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #cdd6c7; cursor: pointer; transition: width 180ms ease, background-color 180ms ease; }
.jbn-testimonials__pagination button.is-active { width: 24px; background: #92ae39; }
.jbn-testimonials__arrow:focus-visible, .jbn-testimonials__pagination button:focus-visible, .jbn-testimonials__viewport:focus-visible { outline: 2px solid var(--eb-lime-500); outline-offset: 4px; }
.jbn-testimonials.is-static .jbn-testimonials__track { justify-content: center; transform: none !important; }
.jbn-testimonials.is-static .jbn-testimonials__controls { display: none; }

@media (hover: hover) {
    .jbn-testimonial-card:hover { border-color: rgb(146 174 57 / 34%); box-shadow: 0 17px 38px rgb(11 40 27 / 11%); transform: translateY(-5px); }
    .jbn-testimonials__arrow:hover { background: #829d32; transform: translateY(-2px); }
}

@media (max-width: 1199.98px) {
    .jbn-testimonials { padding-block: 90px 96px; }
    .jbn-testimonials__container { width: min(100% - 40px, 940px); }
    .jbn-testimonials__header { grid-template-columns: 1fr; gap: 22px; }
    .jbn-testimonial-card { flex-basis: calc((100% - var(--jbn-testimonial-gap)) / 2); }
}

@media (max-width: 575.98px) {
    .jbn-testimonials { padding-block: 72px 78px; }
    .jbn-testimonials__container { width: calc(100% - 28px); }
    .jbn-testimonials__header { margin-bottom: 38px; }
    .jbn-testimonials__heading { font-size: clamp(2.45rem, 11vw, 3.2rem); }
    .jbn-testimonials__description { font-size: 0.9rem; }
    .jbn-testimonials__track { --jbn-testimonial-gap: 14px; }
    .jbn-testimonial-card { flex-basis: 100%; min-height: 350px; padding: 29px 24px 26px; }
    .jbn-testimonials__controls { margin-top: 18px; }
    .jbn-testimonials__arrow { flex-basis: 44px; width: 44px; }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-testimonials__track, .jbn-testimonial-card, .jbn-testimonials__arrow, .jbn-testimonials__pagination button { transition: none !important; }
}

/* Site footer */
.jbn-footer { position: relative; z-index: 0; width: 100%; color: rgb(255 255 255 / 72%); background: var(--eb-forest-950); }
.jbn-footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 56px; width: min(100% - 48px, 1280px); margin-inline: auto; padding: 46px 52px; border-radius: 22px 22px 0 0; color: var(--eb-forest-950); background: linear-gradient(112deg, #b7d95a 0%, #92b53c 100%); }
.jbn-footer-cta__content { max-width: 820px; }
.jbn-footer-cta__eyebrow { margin: 0 0 11px; color: rgb(11 40 27 / 70%); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.18em; }
.jbn-footer-cta__heading { margin: 0; color: var(--eb-forest-950); font-size: clamp(2rem, 3.2vw, 3.25rem); line-height: 1.08; letter-spacing: -0.042em; }
.jbn-footer-cta__description { max-width: 750px; margin: 16px 0 0; color: rgb(11 40 27 / 72%); font-size: 0.92rem; line-height: 1.7; }
.jbn-footer-cta__button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 11px; min-height: 52px; padding: 13px 24px; border: 1px solid var(--eb-forest-950); border-radius: 999px; color: #fff; background: var(--eb-forest-950); font-size: 0.76rem; font-weight: 850; letter-spacing: 0.055em; text-decoration: none; text-transform: uppercase; transition: color 180ms ease, background-color 180ms ease, transform 180ms ease; }
.jbn-footer__main { padding: 82px 0 78px; }
.jbn-footer__grid { display: grid; grid-template-columns: 1.45fr 0.85fr 1fr 1.15fr; gap: clamp(38px, 5vw, 76px); width: min(100% - 48px, 1280px); margin-inline: auto; }
.jbn-footer__column { min-width: 0; }
.jbn-footer__brand { display: inline-flex; width: fit-content; max-width: 205px; margin-bottom: 24px; }
.jbn-footer__brand--regular { padding: 8px 13px; border-radius: 10px; background: rgb(255 255 255 / 94%); }
.jbn-footer__brand img { display: block; width: auto; max-width: 100%; height: 60px; object-fit: contain; }
.jbn-footer__description { max-width: 370px; margin: 0; color: rgb(255 255 255 / 65%); font-size: 0.88rem; line-height: 1.75; }
.jbn-footer__heading { position: relative; margin: 6px 0 28px; padding-bottom: 14px; color: #fff; font-size: 1rem; letter-spacing: 0.01em; }
.jbn-footer__heading::after { position: absolute; bottom: 0; left: 0; width: 34px; height: 2px; border-radius: 2px; background: var(--eb-lime-500); content: ""; }
.jbn-footer__links { display: flex; margin: 0; padding: 0; flex-direction: column; gap: 13px; list-style: none; }
.jbn-footer__links a { display: inline-flex; align-items: center; gap: 8px; color: rgb(255 255 255 / 66%); font-size: 0.84rem; line-height: 1.45; text-decoration: none; transition: color 180ms ease, transform 180ms ease; }
.jbn-footer__links i { color: var(--eb-lime-500); font-size: 0.62rem; }
.jbn-footer__social { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.jbn-footer__social a { display: grid; width: 40px; aspect-ratio: 1; place-items: center; border: 1px solid rgb(181 217 87 / 22%); border-radius: 50%; color: var(--eb-lime-400); background: rgb(255 255 255 / 4%); text-decoration: none; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.jbn-footer__contact { display: flex; margin: 0; flex-direction: column; gap: 17px; font-style: normal; }
.jbn-footer__contact > div { display: grid; grid-template-columns: 19px minmax(0, 1fr); align-items: start; gap: 11px; color: rgb(255 255 255 / 66%); font-size: 0.84rem; line-height: 1.6; }
.jbn-footer__contact i { margin-top: 3px; color: var(--eb-lime-400); font-size: 0.85rem; }
.jbn-footer__contact a { min-width: 0; overflow-wrap: anywhere; color: inherit; text-decoration: none; transition: color 180ms ease; }
.jbn-footer__contact span { display: flex; flex-direction: column; }
.jbn-footer__contact strong { margin-bottom: 3px; color: #fff; font-size: 0.76rem; }
.jbn-footer__bottom { border-top: 1px solid rgb(255 255 255 / 9%); background: #071f15; }
.jbn-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; width: min(100% - 48px, 1280px); min-height: 74px; margin-inline: auto; }
.jbn-footer__bottom p { margin: 0; color: rgb(255 255 255 / 54%); font-size: 0.76rem; }
.jbn-footer__legal { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 9px 24px; }
.jbn-footer__legal a { color: rgb(255 255 255 / 58%); font-size: 0.75rem; text-decoration: none; transition: color 180ms ease; }
.jbn-footer__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.jbn-back-to-top { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); z-index: 900; display: grid; width: 48px; aspect-ratio: 1; place-items: center; border: 1px solid rgb(255 255 255 / 25%); border-radius: 50%; color: #fff; background: #789328; box-shadow: 0 9px 24px rgb(4 27 17 / 24%); font-size: 1rem; opacity: 0; cursor: pointer; transform: translateY(12px); transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease; }
.jbn-back-to-top.is-visible { opacity: 1; transform: translateY(0); }
.jbn-back-to-top.is-over-footer { bottom: max(94px, calc(env(safe-area-inset-bottom) + 76px)); }
.jbn-back-to-top[hidden] { display: none; }
.jbn-footer a:focus-visible, .jbn-back-to-top:focus-visible { outline: 2px solid var(--eb-lime-400); outline-offset: 4px; }

@media (hover: hover) {
    .jbn-footer-cta__button:hover { color: var(--eb-forest-950); background: transparent; transform: translateY(-2px); }
    .jbn-footer__links a:hover { color: var(--eb-lime-400); transform: translateX(4px); }
    .jbn-footer__social a:hover { border-color: var(--eb-lime-400); color: var(--eb-forest-950); background: var(--eb-lime-400); transform: translateY(-2px); }
    .jbn-footer__contact a:hover, .jbn-footer__legal a:hover { color: var(--eb-lime-400); }
    .jbn-back-to-top:hover { background: var(--eb-forest-900); transform: translateY(-2px); }
}

@media (max-width: 1199.98px) {
    .jbn-footer-cta { width: min(100% - 40px, 900px); padding: 40px; }
    .jbn-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 70px; width: min(100% - 40px, 900px); }
    .jbn-footer__bottom-inner { width: min(100% - 40px, 900px); }
}

@media (max-width: 767.98px) {
    .jbn-footer-cta { align-items: flex-start; flex-direction: column; gap: 26px; }
    .jbn-footer-cta__button { min-width: 210px; }
    .jbn-footer__bottom-inner { min-height: 96px; padding-block: 22px; flex-direction: column; justify-content: center; gap: 14px; text-align: center; }
    .jbn-footer__legal { justify-content: center; }
}

@media (max-width: 575.98px) {
    .jbn-footer-cta { align-items: center; width: calc(100% - 28px); padding: 34px 24px; border-radius: 16px 16px 0 0; text-align: center; }
    .jbn-footer-cta__heading { font-size: clamp(2rem, 9.5vw, 2.65rem); }
    .jbn-footer-cta__description { font-size: 0.86rem; }
    .jbn-footer-cta__button { width: 100%; min-width: 0; }
    .jbn-footer__main { padding-block: 68px 64px; }
    .jbn-footer__grid { grid-template-columns: 1fr; gap: 48px; width: calc(100% - 36px); }
    .jbn-footer__brand { max-width: 185px; }
    .jbn-footer__brand img { height: 54px; }
    .jbn-footer__heading { margin-top: 0; }
    .jbn-footer__bottom-inner { width: calc(100% - 28px); }
    .jbn-footer__legal { gap: 9px 16px; }
    .jbn-back-to-top { right: max(14px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: 44px; }
    .jbn-back-to-top.is-over-footer { bottom: max(114px, calc(env(safe-area-inset-bottom) + 98px)); }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-footer a, .jbn-back-to-top { transition: none !important; }
}

/* Who We Are page */
.jbn-inner-hero { position: relative; z-index: 0; display: grid; min-height: 350px; overflow: hidden; place-items: center; color: #fff; background: linear-gradient(125deg, #071f15 0%, #0d3c27 65%, #315d2d 100%); }
.jbn-inner-hero__background, .jbn-inner-hero__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.jbn-inner-hero__background { object-fit: cover; }
.jbn-inner-hero__overlay { background: linear-gradient(100deg, rgb(4 28 18 / 88%), rgb(11 57 36 / 66%)); }
.jbn-inner-hero__pattern { position: absolute; right: -65px; bottom: -120px; width: 330px; aspect-ratio: 1; border: 1px solid rgb(181 217 87 / 13%); border-radius: 50%; box-shadow: 0 0 0 44px rgb(181 217 87 / 4%), 0 0 0 88px rgb(181 217 87 / 2.5%); }
.jbn-inner-hero__container { position: relative; z-index: 1; width: min(100% - 48px, 1280px); padding-block: 74px; text-align: center; }
.jbn-inner-hero__eyebrow, .jbn-about-page__eyebrow { margin: 0 0 13px; color: var(--eb-lime-400); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.19em; }
.jbn-inner-hero__heading { margin: 0; font-size: clamp(3.4rem, 6vw, 5.7rem); line-height: 0.96; letter-spacing: -0.055em; }
.jbn-inner-hero__description { max-width: 690px; margin: 19px auto 0; color: rgb(255 255 255 / 72%); font-size: 0.96rem; line-height: 1.65; }
.jbn-inner-hero__breadcrumb { margin-top: 27px; }
.jbn-inner-hero__breadcrumb ol { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.jbn-inner-hero__breadcrumb li { display: inline-flex; align-items: center; gap: 10px; color: rgb(255 255 255 / 65%); font-size: 0.75rem; }
.jbn-inner-hero__breadcrumb li:not(:last-child)::after { color: var(--eb-lime-400); content: "/"; }
.jbn-inner-hero__breadcrumb a { color: #fff; text-decoration: none; transition: color 180ms ease; }

.jbn-about-page__eyebrow { color: #789328; }
.jbn-about-intro h2, .jbn-about-story h2, .jbn-about-purpose h2, .jbn-about-why h2, .jbn-about-facility h2, .jbn-about-cta h2 { margin: 0; color: var(--eb-forest-900); font-size: clamp(2.6rem, 4.4vw, 4.3rem); line-height: 1.02; letter-spacing: -0.05em; }
.jbn-about-page__copy { display: grid; gap: 16px; margin-top: 27px; }
.jbn-about-page__copy p { margin: 0; color: #59675f; font-size: 0.95rem; line-height: 1.8; }
.jbn-about-page__button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 50px; margin-top: 31px; padding: 12px 23px; border-radius: 999px; color: #fff; background: var(--eb-forest-900); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.05em; text-decoration: none; text-transform: uppercase; transition: background-color 180ms ease, transform 180ms ease; }
.jbn-about-page__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 220px; flex-direction: column; gap: 12px; color: #7d9337; background: linear-gradient(135deg, #eef4e5, #dce9cc); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-align: center; text-transform: uppercase; }
.jbn-about-page__placeholder i { font-size: 2rem; }
.jbn-about-page__section-header { max-width: 800px; margin: 0 auto 54px; text-align: center; }
.jbn-about-page__section-header > p:last-child { max-width: 680px; margin: 20px auto 0; color: #607067; font-size: 0.95rem; line-height: 1.75; }

.jbn-about-intro { padding: 116px 0 128px; background: #fff; }
.jbn-about-intro__container { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1fr); align-items: center; gap: clamp(70px, 8vw, 126px); width: min(100% - 48px, 1240px); margin-inline: auto; }
.jbn-about-intro__media { position: relative; min-height: 590px; }
.jbn-about-intro__main { position: absolute; inset: 0 16% 7% 0; overflow: hidden; border-radius: 19px; box-shadow: 0 20px 48px rgb(11 40 27 / 13%); }
.jbn-about-intro__support { position: absolute; right: 0; bottom: 0; width: 49%; height: 36%; overflow: hidden; border: 8px solid #fff; border-radius: 15px; box-shadow: 0 14px 32px rgb(11 40 27 / 16%); }
.jbn-about-intro__main img, .jbn-about-intro__support img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jbn-about-intro__dots { position: absolute; top: -25px; right: 8px; width: 94px; height: 94px; opacity: .35; background-image: radial-gradient(#789328 1.5px, transparent 1.5px); background-size: 11px 11px; }

.jbn-about-story { padding: 108px 0 114px; background: #f4f7ef; }
.jbn-about-story__container { display: grid; grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr); align-items: center; gap: clamp(65px, 8vw, 120px); width: min(100% - 48px, 1240px); margin-inline: auto; }
.jbn-about-story__stages { position: relative; display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.jbn-about-story__stages::before { position: absolute; top: 40px; bottom: 40px; left: 29px; width: 1px; background: rgb(120 147 40 / 28%); content: ""; }
.jbn-about-story__stages li { position: relative; display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: center; gap: 20px; padding: 24px 26px 24px 0; border: 1px solid rgb(16 57 36 / 8%); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgb(11 40 27 / 5%); }
.jbn-about-story__icon { z-index: 1; display: grid; width: 58px; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: var(--eb-forest-900); font-size: 1.1rem; }
.jbn-about-story__stages h3 { margin: 0; color: var(--eb-forest-900); font-size: 1.05rem; }
.jbn-about-story__stages p { margin: 7px 0 0; color: #6c786f; font-size: 0.82rem; line-height: 1.6; }

.jbn-about-purpose { padding: 108px 0 116px; background: #fff; }
.jbn-about-purpose__container { width: min(100% - 48px, 1240px); margin-inline: auto; }
.jbn-about-purpose__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.jbn-about-purpose__card { display: flex; min-height: 300px; padding: 38px 34px; flex-direction: column; border: 1px solid rgb(120 147 40 / 16%); border-radius: 17px; background: #fff; box-shadow: 0 10px 30px rgb(11 40 27 / 6%); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.jbn-about-purpose__card > i { display: grid; width: 57px; aspect-ratio: 1; place-items: center; border-radius: 14px; color: #789328; background: #eff5e6; font-size: 1.35rem; }
.jbn-about-purpose__card h3 { margin: 31px 0 14px; color: var(--eb-forest-900); font-size: 1.35rem; }
.jbn-about-purpose__card p { margin: 0; color: #607067; font-size: 0.9rem; line-height: 1.75; }

.jbn-about-why { padding: 112px 0; color: #fff; background: linear-gradient(125deg, #071f15, #0d3c27 68%, #164d2e); }
.jbn-about-why__container { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: stretch; gap: clamp(62px, 7vw, 108px); width: min(100% - 48px, 1240px); margin-inline: auto; }
.jbn-about-why__visual { min-height: 640px; overflow: hidden; border-radius: 18px; background: rgb(255 255 255 / 5%); }
.jbn-about-why__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jbn-about-why__visual .jbn-about-page__placeholder { color: var(--eb-lime-400); background: linear-gradient(135deg, rgb(255 255 255 / 4%), rgb(181 217 87 / 10%)); }
.jbn-about-why h2 { color: #fff; }
.jbn-about-why__intro { margin: 22px 0 0; color: rgb(255 255 255 / 68%); font-size: 0.94rem; line-height: 1.75; }
.jbn-about-why__content ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; margin: 38px 0 0; padding: 0; list-style: none; }
.jbn-about-why__content li { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: start; gap: 13px; }
.jbn-about-why__content li > i { display: grid; width: 31px; aspect-ratio: 1; place-items: center; border: 1px solid rgb(181 217 87 / 38%); border-radius: 50%; color: var(--eb-lime-400); }
.jbn-about-why__content h3 { margin: 3px 0 7px; color: #fff; font-size: .95rem; }
.jbn-about-why__content li p { margin: 0; color: rgb(255 255 255 / 58%); font-size: .78rem; line-height: 1.55; }

.jbn-about-facility { padding: 110px 0 120px; background: #f7f9f4; }
.jbn-about-facility__container { width: min(100% - 48px, 1240px); margin-inline: auto; }
.jbn-about-facility__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, 245px); gap: 18px; }
.jbn-about-facility__item { min-width: 0; margin: 0; overflow: hidden; border-radius: 14px; background: #e8efdf; }
.jbn-about-facility__item--large { grid-column: span 2; grid-row: span 2; }
.jbn-about-facility__item:not(.jbn-about-facility__item--large) { grid-column: span 2; }
.jbn-about-facility__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 240ms ease; }
.jbn-about-facility__item .jbn-about-page__placeholder { min-height: 100%; }

.jbn-about-cta { padding: 90px 0; color: #fff; background: linear-gradient(120deg, #174b2e, #0b281b); }
.jbn-about-cta__container { display: flex; align-items: center; justify-content: space-between; gap: 55px; width: min(100% - 48px, 1240px); margin-inline: auto; }
.jbn-about-cta h2 { color: #fff; }
.jbn-about-cta__container > div:first-child { max-width: 740px; }
.jbn-about-cta__container > div:first-child > p:last-child { margin: 19px 0 0; color: rgb(255 255 255 / 67%); font-size: .94rem; line-height: 1.7; }
.jbn-about-cta__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 12px; }
.jbn-about-cta__button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 51px; padding: 12px 22px; border: 1px solid var(--eb-lime-400); border-radius: 999px; font-size: .73rem; font-weight: 850; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; transition: color 180ms ease, background-color 180ms ease, transform 180ms ease; }
.jbn-about-cta__button--primary { color: var(--eb-forest-950); background: var(--eb-lime-400); }
.jbn-about-cta__button--secondary { color: #fff; background: transparent; }
.jbn-about-page a:focus-visible { outline: 2px solid var(--eb-lime-400); outline-offset: 4px; }

@media (hover: hover) {
    .jbn-inner-hero__breadcrumb a:hover { color: var(--eb-lime-400); }
    .jbn-about-page__button:hover { background: #789328; transform: translateY(-2px); }
    .jbn-about-purpose__card:hover { border-color: rgb(120 147 40 / 38%); box-shadow: 0 16px 38px rgb(11 40 27 / 10%); transform: translateY(-5px); }
    .jbn-about-facility__item:hover img { transform: scale(1.035); }
    .jbn-about-cta__button:hover { transform: translateY(-2px); }
    .jbn-about-cta__button--primary:hover { color: #fff; background: transparent; }
    .jbn-about-cta__button--secondary:hover { color: var(--eb-forest-950); background: var(--eb-lime-400); }
}

@media (max-width: 1199.98px) {
    .jbn-about-intro, .jbn-about-story, .jbn-about-purpose, .jbn-about-why, .jbn-about-facility { padding-block: 92px 98px; }
    .jbn-about-intro__container, .jbn-about-story__container, .jbn-about-why__container { gap: 58px; width: min(100% - 40px, 940px); }
    .jbn-about-intro__media { min-height: 520px; }
    .jbn-about-purpose__container, .jbn-about-facility__container, .jbn-about-cta__container { width: min(100% - 40px, 940px); }
    .jbn-about-purpose__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jbn-about-purpose__card:last-child { grid-column: 1 / -1; max-width: calc(50% - 13px); justify-self: center; }
    .jbn-about-why__visual { min-height: 600px; }
    .jbn-about-why__content ul { grid-template-columns: 1fr; gap: 17px; }
}

@media (max-width: 991.98px) {
    .jbn-inner-hero { min-height: 320px; }
    .jbn-inner-hero__container { width: calc(100% - 32px); padding-block: 62px; }
    .jbn-about-intro__container, .jbn-about-story__container, .jbn-about-why__container { grid-template-columns: 1fr; }
    .jbn-about-intro__media { min-height: 500px; }
    .jbn-about-intro__content { padding-top: 8px; }
    .jbn-about-story__container { gap: 48px; }
    .jbn-about-why__visual { min-height: 480px; }
    .jbn-about-facility__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 340px repeat(2, 210px); }
    .jbn-about-facility__item--large { grid-column: 1 / -1; grid-row: auto; }
    .jbn-about-facility__item:not(.jbn-about-facility__item--large) { grid-column: auto; }
    .jbn-about-cta__container { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
    .jbn-inner-hero__heading { font-size: clamp(3rem, 15vw, 4.2rem); }
    .jbn-inner-hero__description { font-size: .87rem; }
    .jbn-about-intro h2, .jbn-about-story h2, .jbn-about-purpose h2, .jbn-about-why h2, .jbn-about-facility h2, .jbn-about-cta h2 { font-size: clamp(2.4rem, 11vw, 3.25rem); }
    .jbn-about-intro, .jbn-about-story, .jbn-about-purpose, .jbn-about-why, .jbn-about-facility { padding-block: 72px 78px; }
    .jbn-about-intro__container, .jbn-about-story__container, .jbn-about-purpose__container, .jbn-about-why__container, .jbn-about-facility__container, .jbn-about-cta__container { width: calc(100% - 28px); }
    .jbn-about-intro__media { min-height: 400px; }
    .jbn-about-intro__main { inset: 0 0 14% 0; }
    .jbn-about-intro__support { right: 14px; width: 53%; height: 35%; border-width: 6px; }
    .jbn-about-intro__dots { display: none; }
    .jbn-about-story__stages li { grid-template-columns: 50px minmax(0, 1fr); gap: 15px; padding: 20px 18px 20px 0; }
    .jbn-about-story__icon { width: 49px; }
    .jbn-about-story__stages::before { left: 24px; }
    .jbn-about-purpose__grid { grid-template-columns: 1fr; }
    .jbn-about-purpose__card, .jbn-about-purpose__card:last-child { grid-column: auto; width: 100%; max-width: none; min-height: 275px; padding: 31px 27px; }
    .jbn-about-why__visual { min-height: 360px; }
    .jbn-about-why__content ul { margin-top: 31px; }
    .jbn-about-facility__grid { grid-template-columns: 1fr; grid-template-rows: none; }
    .jbn-about-facility__item, .jbn-about-facility__item--large, .jbn-about-facility__item:not(.jbn-about-facility__item--large) { grid-column: auto; grid-row: auto; min-height: 230px; }
    .jbn-about-facility__item--large { min-height: 310px; }
    .jbn-about-cta { padding-block: 70px; }
    .jbn-about-cta__actions { width: 100%; flex-direction: column; }
    .jbn-about-cta__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .jbn-about-page *, .jbn-about-page *::before, .jbn-about-page *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Contact page */
.jbn-contact-page__eyebrow { margin: 0 0 12px; color: #789328; font-size: .72rem; font-weight: 850; letter-spacing: .19em; }
.jbn-contact-intro h2, .jbn-contact-form h2, .jbn-contact-map h2, .jbn-contact-cta h2 { margin: 0; color: var(--eb-forest-900); font-size: clamp(2.45rem, 4.3vw, 4.2rem); line-height: 1.02; letter-spacing: -.05em; }
.jbn-contact-intro { padding: 104px 0 40px; background: #fff; }
.jbn-contact-intro__container { width: min(100% - 48px, 820px); margin-inline: auto; text-align: center; }
.jbn-contact-intro__container > p:last-child { margin: 21px auto 0; color: #607067; font-size: .95rem; line-height: 1.75; }
.jbn-contact-cards { padding: 42px 0 108px; background: #fff; }
.jbn-contact-cards__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 22px; width: min(100% - 48px, 1180px); margin-inline: auto; }
.jbn-contact-card { display: flex; min-height: 230px; padding: 32px; align-items: flex-start; flex-direction: column; border: 1px solid rgb(120 147 40 / 15%); border-radius: 16px; background: #f9fbf6; box-shadow: 0 9px 25px rgb(11 40 27 / 5%); }
.jbn-contact-card > i { display: grid; width: 52px; aspect-ratio: 1; place-items: center; border-radius: 14px; color: #789328; background: #eaf2dd; font-size: 1.15rem; }
.jbn-contact-card h2 { margin-top: auto; padding-top: 28px; font-size: 1.18rem; letter-spacing: -.02em; }
.jbn-contact-card a, .jbn-contact-card p { margin: 10px 0 0; overflow-wrap: anywhere; color: #627067; font-size: .87rem; line-height: 1.6; text-decoration: none; transition: color 180ms ease; }

.jbn-contact-form { padding: 112px 0 118px; background: #f1f6eb; }
.jbn-contact-form__container { display: grid; grid-template-columns: minmax(290px, .42fr) minmax(0, .68fr); align-items: start; gap: clamp(50px, 7vw, 92px); width: min(100% - 48px, 1220px); margin-inline: auto; }
.jbn-contact-form__aside { position: sticky; top: 110px; }
.jbn-contact-form__aside > p:not(.jbn-contact-page__eyebrow) { margin: 22px 0 0; color: #607067; font-size: .93rem; line-height: 1.75; }
.jbn-contact-form__aside-details { display: grid; gap: 13px; margin-top: 31px; }
.jbn-contact-form__aside-details a { display: flex; align-items: center; gap: 12px; overflow-wrap: anywhere; color: var(--eb-forest-900); font-size: .87rem; font-weight: 700; text-decoration: none; }
.jbn-contact-form__aside-details i { color: #789328; }
.jbn-contact-form__card { padding: 43px; border: 1px solid rgb(16 57 36 / 9%); border-radius: 19px; background: #fff; box-shadow: 0 17px 44px rgb(11 40 27 / 9%); }
.jbn-contact-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 19px; }
.jbn-contact-form__field { display: flex; min-width: 0; flex-direction: column; }
.jbn-contact-form__field--full { grid-column: 1 / -1; }
.jbn-contact-form__field > label { margin-bottom: 9px; color: #2f4037; font-size: .8rem; font-weight: 750; }
.jbn-contact-form__field > label span { color: #7f9b2f; }
.jbn-contact-form input:not([type="checkbox"]), .jbn-contact-form select, .jbn-contact-form textarea { width: 100%; border: 1px solid #d9e1d5; border-radius: 9px; color: #26362d; background: #fbfcfa; font: inherit; font-size: .88rem; transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease; }
.jbn-contact-form input:not([type="checkbox"]), .jbn-contact-form select { height: 49px; padding: 0 14px; }
.jbn-contact-form textarea { min-height: 145px; padding: 13px 14px; line-height: 1.6; resize: vertical; }
.jbn-contact-form input:focus, .jbn-contact-form select:focus, .jbn-contact-form textarea:focus { outline: none; border-color: #8da638; background: #fff; box-shadow: 0 0 0 3px rgb(156 189 56 / 15%); }
.jbn-contact-form [aria-invalid="true"] { border-color: #b84d45 !important; }
.jbn-contact-form__error { margin-top: 7px; color: #a53c35; font-size: .72rem; line-height: 1.45; }
.jbn-contact-form__consent label { display: flex; align-items: flex-start; gap: 10px; margin: 0; cursor: pointer; }
.jbn-contact-form__consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: #789328; }
.jbn-contact-form__consent label span { color: #59675f; font-size: .82rem; font-weight: 600; }
.jbn-contact-form__submit { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 51px; margin-top: 29px; padding: 12px 25px; border: 0; border-radius: 999px; color: #fff; background: var(--eb-forest-900); font: inherit; font-size: .75rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; transition: background-color 180ms ease, transform 180ms ease; }
.jbn-contact-form__alert { display: flex; margin-bottom: 27px; padding: 17px 19px; flex-direction: column; gap: 5px; border-radius: 10px; font-size: .82rem; line-height: 1.5; }
.jbn-contact-form__alert--success { color: #174b2e; background: #e8f4df; border: 1px solid #b9d5a6; }
.jbn-contact-form__alert--error { color: #8d332d; background: #fff0ee; border: 1px solid #edc7c2; }
.jbn-contact-form__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.jbn-contact-map { padding: 108px 0 115px; background: #fff; }
.jbn-contact-map__container { width: min(100% - 48px, 1180px); margin-inline: auto; text-align: center; }
.jbn-contact-map__frame { width: 100%; aspect-ratio: 16 / 7; min-height: 320px; margin-top: 45px; overflow: hidden; border-radius: 17px; background: #eaf1e2; }
.jbn-contact-map__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.jbn-contact-map__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 320px; flex-direction: column; gap: 11px; color: #66745e; background: linear-gradient(135deg, #eff5e8, #dce9cc); }
.jbn-contact-map__placeholder i { color: #789328; font-size: 2.2rem; }
.jbn-contact-map__placeholder strong { color: var(--eb-forest-900); font-size: 1rem; }
.jbn-contact-map__placeholder span { font-size: .84rem; }
.jbn-contact-map__button { display: inline-flex; align-items: center; gap: 9px; min-height: 48px; margin-top: 25px; padding: 11px 21px; border-radius: 999px; color: #fff; background: var(--eb-forest-900); font-size: .74rem; font-weight: 800; text-decoration: none; }
.jbn-contact-cta { padding: 86px 0; color: #fff; background: linear-gradient(120deg, #0b281b, #174b2e); }
.jbn-contact-cta__container { display: flex; align-items: center; justify-content: space-between; gap: 50px; width: min(100% - 48px, 1180px); margin-inline: auto; }
.jbn-contact-cta h2 { max-width: 660px; color: #fff; }
.jbn-contact-cta p { max-width: 690px; margin: 18px 0 0; color: rgb(255 255 255 / 66%); font-size: .91rem; line-height: 1.7; }
.jbn-contact-cta__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 11px; }
.jbn-contact-cta__actions a { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 49px; padding: 11px 21px; border: 1px solid var(--eb-lime-400); border-radius: 999px; color: var(--eb-forest-950); background: var(--eb-lime-400); font-size: .73rem; font-weight: 850; text-decoration: none; text-transform: uppercase; }
.jbn-contact-cta__actions .jbn-contact-cta__call { color: #fff; background: transparent; }
.jbn-contact-page a:focus-visible, .jbn-contact-form button:focus-visible { outline: 2px solid var(--eb-lime-400); outline-offset: 4px; }

@media (hover: hover) { .jbn-contact-card a:hover { color: #789328; } .jbn-contact-form__submit:hover { background: #789328; transform: translateY(-2px); } }
@media (max-width: 991.98px) {
    .jbn-contact-intro { padding-top: 88px; }
    .jbn-contact-cards { padding-bottom: 92px; }
    .jbn-contact-cards__grid, .jbn-contact-form__container, .jbn-contact-map__container, .jbn-contact-cta__container { width: min(100% - 40px, 800px); }
    .jbn-contact-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jbn-contact-form { padding-block: 90px 96px; }
    .jbn-contact-form__container { grid-template-columns: 1fr; }
    .jbn-contact-form__aside { position: static; }
    .jbn-contact-cta__container { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 575.98px) {
    .jbn-contact-intro h2, .jbn-contact-form h2, .jbn-contact-map h2, .jbn-contact-cta h2 { font-size: clamp(2.35rem, 11vw, 3.15rem); }
    .jbn-contact-intro { padding-top: 72px; }
    .jbn-contact-intro__container, .jbn-contact-cards__grid, .jbn-contact-form__container, .jbn-contact-map__container, .jbn-contact-cta__container { width: calc(100% - 28px); }
    .jbn-contact-cards__grid { grid-template-columns: 1fr; }
    .jbn-contact-card { min-height: 205px; }
    .jbn-contact-form { padding-block: 72px 78px; }
    .jbn-contact-form__card { padding: 29px 20px; border-radius: 14px; }
    .jbn-contact-form__fields { grid-template-columns: 1fr; }
    .jbn-contact-form__field--full { grid-column: auto; }
    .jbn-contact-form__submit { width: 100%; }
    .jbn-contact-map { padding-block: 74px 80px; }
    .jbn-contact-map__frame { aspect-ratio: 4 / 5; min-height: 390px; }
    .jbn-contact-map__placeholder { min-height: 390px; padding: 24px; }
    .jbn-contact-cta { padding-block: 70px; }
    .jbn-contact-cta__actions { width: 100%; flex-direction: column; }
    .jbn-contact-cta__actions a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .jbn-contact-page *, .jbn-contact-page *::before, .jbn-contact-page *::after { transition: none !important; scroll-behavior: auto !important; } }

/* Our Blogs listing page */
.jbn-blogs-page__eyebrow { margin: 0 0 12px; color: #789328; font-size: .72rem; font-weight: 850; letter-spacing: .19em; }
.jbn-blogs-page__category { display: inline-flex; width: fit-content; padding: 7px 11px; border-radius: 999px; color: #647d20; background: #edf4e2; font-size: .66rem; font-weight: 850; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
.jbn-blogs-page__button { display: inline-flex; align-items: center; gap: 9px; width: fit-content; margin-top: 25px; color: var(--eb-forest-900); font-size: .76rem; font-weight: 850; text-decoration: none; text-transform: uppercase; }
.jbn-blogs-page__button i, .jbn-blogs-card__link i { transition: transform 180ms ease; }
.jbn-blogs-page__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: inherit; flex-direction: column; gap: 14px; color: #789328; background: radial-gradient(circle at 20% 10%, rgb(166 194 83 / 22%), transparent 38%), linear-gradient(135deg, #edf4e5, #dbe9cd); }
.jbn-blogs-page__placeholder i { font-size: 2.2rem; }
.jbn-blogs-page__placeholder span { color: var(--eb-forest-900); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }

.jbn-blog-featured { padding: 105px 0; background: #f4f7ef; }
.jbn-blog-featured__container { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); align-items: center; gap: clamp(42px, 6vw, 84px); width: min(100% - 48px, 1200px); margin-inline: auto; }
.jbn-blog-featured__visual { display: block; aspect-ratio: 16 / 10; min-height: 390px; overflow: hidden; border-radius: 20px; background: #dce9cd; box-shadow: 0 20px 50px rgb(11 40 27 / 10%); }
.jbn-blog-featured__visual img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.jbn-blog-featured__content { display: flex; align-items: flex-start; flex-direction: column; }
.jbn-blog-featured__content time { margin-top: 17px; color: #78837d; font-size: .75rem; font-weight: 650; }
.jbn-blog-featured__content h2 { max-width: 100%; margin: 17px 0 0; overflow-wrap: anywhere; color: var(--eb-forest-900); font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1.03; letter-spacing: -.05em; }
.jbn-blog-featured__content p { margin: 22px 0 0; color: #607067; font-size: .93rem; line-height: 1.75; }

.jbn-blog-listing { padding: 108px 0 118px; background: #fff; }
.jbn-blog-listing__container { width: min(100% - 48px, 1200px); margin-inline: auto; }
.jbn-blog-filters { display: grid; grid-template-columns: minmax(290px, .55fr) minmax(0, 1.45fr); align-items: end; gap: 35px; padding-bottom: 48px; border-bottom: 1px solid #e3e9df; }
.jbn-blog-filters__search label { display: block; margin-bottom: 9px; color: #415048; font-size: .73rem; font-weight: 800; }
.jbn-blog-filters__search > div { display: flex; }
.jbn-blog-filters__search input { min-width: 0; height: 48px; flex: 1 1 auto; padding: 0 15px; border: 1px solid #d6dfd1; border-right: 0; border-radius: 9px 0 0 9px; outline: none; color: #26362d; background: #fbfcfa; font: inherit; font-size: .84rem; }
.jbn-blog-filters__search input:focus { border-color: #8da638; box-shadow: 0 0 0 3px rgb(156 189 56 / 13%); }
.jbn-blog-filters__search button { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 16px; border: 1px solid var(--eb-forest-900); border-radius: 0 9px 9px 0; color: #fff; background: var(--eb-forest-900); font: inherit; font-size: .71rem; font-weight: 800; cursor: pointer; }
.jbn-blog-filters__categories { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.jbn-blog-filters__categories a { display: inline-flex; min-height: 37px; padding: 8px 14px; align-items: center; border: 1px solid #dbe4d6; border-radius: 999px; color: #526259; background: #fff; font-size: .69rem; font-weight: 750; text-decoration: none; transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease; }
.jbn-blog-filters__categories a.is-active { border-color: var(--eb-forest-900); color: #fff; background: var(--eb-forest-900); }
.jbn-blog-listing__header { max-width: 730px; margin: 69px auto 43px; text-align: center; }
.jbn-blog-listing__header h2 { margin: 0; color: var(--eb-forest-900); font-size: clamp(2.5rem, 4.5vw, 4.35rem); line-height: 1.02; letter-spacing: -.05em; }
.jbn-blogs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 23px; }
.jbn-blogs-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid #e1e7de; border-radius: 15px; background: #fff; box-shadow: 0 10px 28px rgb(11 40 27 / 5%); transition: transform 200ms ease, box-shadow 200ms ease; }
.jbn-blogs-card__visual { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #e4edd9; }
.jbn-blogs-card__visual img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.jbn-blogs-card__content { display: flex; min-height: 285px; padding: 25px 24px 27px; flex: 1 1 auto; align-items: flex-start; flex-direction: column; }
.jbn-blogs-card__meta { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; }
.jbn-blogs-card__meta time { flex: 0 0 auto; color: #7b867f; font-size: .68rem; font-weight: 650; }
.jbn-blogs-card h3 { max-width: 100%; margin: 20px 0 0; overflow-wrap: anywhere; color: var(--eb-forest-900); font-size: 1.28rem; line-height: 1.3; letter-spacing: -.025em; }
.jbn-blogs-card h3 a { color: inherit; text-decoration: none; }
.jbn-blogs-card p { margin: 13px 0 21px; color: #68766e; font-size: .82rem; line-height: 1.68; }
.jbn-blogs-card__link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #6f8925; font-size: .72rem; font-weight: 850; text-decoration: none; text-transform: uppercase; }
.jbn-blog-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 54px; }
.jbn-blog-pagination a, .jbn-blog-pagination > span > span { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 42px; min-height: 42px; padding: 8px 12px; border: 1px solid #dce4d7; border-radius: 8px; color: #43534a; background: #fff; font-size: .73rem; font-weight: 750; text-decoration: none; }
.jbn-blog-pagination a.is-active { border-color: var(--eb-forest-900); color: #fff; background: var(--eb-forest-900); }
.jbn-blog-pagination .is-disabled > span { color: #a1aaa4; background: #f6f8f5; }
.jbn-blog-empty { max-width: 650px; margin-inline: auto; padding: 62px 30px; border: 1px dashed #cddac6; border-radius: 16px; text-align: center; background: #f8faf6; }
.jbn-blog-empty i { color: #789328; font-size: 2.3rem; }
.jbn-blog-empty h3 { margin: 16px 0 0; color: var(--eb-forest-900); font-size: 1.5rem; }
.jbn-blog-empty p { margin: 10px 0 20px; color: #68766e; font-size: .86rem; }
.jbn-blog-empty a { color: #6f8925; font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.jbn-blog-cta { padding: 86px 0; color: #fff; background: linear-gradient(120deg, #0b281b, #174b2e); }
.jbn-blog-cta__container { display: flex; align-items: center; justify-content: space-between; gap: 50px; width: min(100% - 48px, 1180px); margin-inline: auto; }
.jbn-blog-cta h2 { max-width: 720px; margin: 0; color: #fff; font-size: clamp(2.35rem, 4vw, 4rem); line-height: 1.03; letter-spacing: -.05em; }
.jbn-blog-cta p { max-width: 690px; margin: 18px 0 0; color: rgb(255 255 255 / 68%); font-size: .9rem; line-height: 1.7; }
.jbn-blog-cta__container > div:last-child { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 11px; }
.jbn-blog-cta a { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 49px; padding: 11px 21px; border: 1px solid var(--eb-lime-400); border-radius: 999px; color: var(--eb-forest-950); background: var(--eb-lime-400); font-size: .72rem; font-weight: 850; text-decoration: none; text-transform: uppercase; }
.jbn-blog-cta a.is-secondary { color: #fff; background: transparent; }
.jbn-blogs-page a:focus-visible, .jbn-blogs-page button:focus-visible, .jbn-blogs-page input:focus-visible { outline: 2px solid var(--eb-lime-400); outline-offset: 3px; }

@media (hover: hover) {
    .jbn-blog-featured__visual:hover img, .jbn-blogs-card__visual:hover img { transform: scale(1.035); }
    .jbn-blogs-card:hover { transform: translateY(-4px); box-shadow: 0 17px 38px rgb(11 40 27 / 10%); }
    .jbn-blogs-page__button:hover i, .jbn-blogs-card__link:hover i { transform: translateX(4px); }
    .jbn-blog-filters__categories a:hover { border-color: #789328; color: #647d20; }
}
@media (max-width: 1199.98px) {
    .jbn-blog-featured__container, .jbn-blog-listing__container { width: min(100% - 40px, 980px); }
    .jbn-blogs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jbn-blog-filters { grid-template-columns: 1fr; }
    .jbn-blog-filters__categories { justify-content: flex-start; }
}
@media (max-width: 767.98px) {
    .jbn-blog-featured { padding-block: 76px; }
    .jbn-blog-featured__container { grid-template-columns: 1fr; }
    .jbn-blog-featured__visual { min-height: 0; }
    .jbn-blog-listing { padding-block: 80px 88px; }
    .jbn-blog-cta__container { width: min(100% - 40px, 700px); align-items: flex-start; flex-direction: column; }
}
@media (max-width: 575.98px) {
    .jbn-blogs-page .jbn-inner-hero__heading { max-width: 100%; overflow-wrap: anywhere; }
    .jbn-blog-featured__container, .jbn-blog-listing__container, .jbn-blog-cta__container { width: calc(100% - 28px); }
    .jbn-blog-featured { padding-block: 62px; }
    .jbn-blog-featured__content h2, .jbn-blog-listing__header h2, .jbn-blog-cta h2 { font-size: clamp(2.25rem, 11vw, 3.1rem); }
    .jbn-blog-filters__search button { padding-inline: 13px; }
    .jbn-blog-filters__search button i { display: none; }
    .jbn-blog-filters__categories { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
    .jbn-blog-filters__categories a { flex: 0 0 auto; }
    .jbn-blog-listing__header { margin-block: 55px 35px; }
    .jbn-blogs-grid { grid-template-columns: 1fr; }
    .jbn-blogs-card__content { min-height: 270px; padding-inline: 20px; }
    .jbn-blog-pagination > span:first-child a, .jbn-blog-pagination > span:first-child span, .jbn-blog-pagination > span:last-child a, .jbn-blog-pagination > span:last-child span { min-width: 42px; font-size: 0; }
    .jbn-blog-pagination i { font-size: .82rem; }
    .jbn-blog-cta { padding-block: 68px; }
    .jbn-blog-cta__container > div:last-child { width: 100%; flex-direction: column; }
    .jbn-blog-cta a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .jbn-blogs-page *, .jbn-blogs-page *::before, .jbn-blogs-page *::after { transition: none !important; scroll-behavior: auto !important; } }

/* Complete FAQ page */
.jbn-faq-page__eyebrow { margin: 0 0 12px; color: #789328; font-size: .71rem; font-weight: 850; letter-spacing: .19em; }
.jbn-faq-page__intro { padding: 100px 0 70px; background: #fff; }
.jbn-faq-page__intro-container { width: min(100% - 48px, 810px); margin-inline: auto; text-align: center; }
.jbn-faq-page__intro h2, .jbn-faq-page__results-header h2, .jbn-faq-cta h2 { margin: 0; color: var(--eb-forest-900); font-size: clamp(2.55rem, 4.5vw, 4.35rem); line-height: 1.02; letter-spacing: -.05em; }
.jbn-faq-page__intro-container > p:last-child { max-width: 720px; margin: 22px auto 0; color: #607067; font-size: .94rem; line-height: 1.75; }
.jbn-faq-page__content { padding: 45px 0 118px; background: #f5f8f1; }
.jbn-faq-page__layout { display: grid; grid-template-columns: minmax(245px, .29fr) minmax(0, .71fr); align-items: start; gap: clamp(38px, 5vw, 72px); width: min(100% - 48px, 1200px); margin-inline: auto; }
.jbn-faq-sidebar { display: grid; gap: 24px; }
.jbn-faq-filters, .jbn-faq-support { padding: 28px; border: 1px solid #dfe7da; border-radius: 15px; background: #fff; box-shadow: 0 9px 25px rgb(11 40 27 / 5%); }
.jbn-faq-filters h2, .jbn-faq-support h2 { margin: 0 0 20px; color: var(--eb-forest-900); font-size: 1.03rem; letter-spacing: -.02em; }
.jbn-faq-filters__list { display: flex; flex-direction: column; gap: 7px; }
.jbn-faq-filters__list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 43px; padding: 9px 12px; border-radius: 8px; color: #536159; font-size: .78rem; font-weight: 700; text-decoration: none; transition: color 170ms ease, background-color 170ms ease; }
.jbn-faq-filters__list a span { display: grid; min-width: 23px; min-height: 23px; padding: 3px; place-items: center; border-radius: 50%; color: #718066; background: #edf3e8; font-size: .64rem; }
.jbn-faq-filters__list a.is-active { color: #fff; background: var(--eb-forest-900); }
.jbn-faq-filters__list a.is-active span { color: var(--eb-forest-900); background: var(--eb-lime-400); }
.jbn-faq-support { color: rgb(255 255 255 / 72%); background: linear-gradient(135deg, #0b281b, #174b2e); }
.jbn-faq-support > i { display: grid; width: 48px; aspect-ratio: 1; margin-bottom: 22px; place-items: center; border-radius: 13px; color: var(--eb-lime-400); background: rgb(181 217 87 / 10%); font-size: 1.15rem; }
.jbn-faq-support h2 { margin-bottom: 11px; color: #fff; }
.jbn-faq-support p { margin: 0; font-size: .81rem; line-height: 1.68; }
.jbn-faq-support a { display: inline-flex; align-items: center; gap: 8px; margin-top: 21px; color: var(--eb-lime-400); font-size: .71rem; font-weight: 850; text-decoration: none; text-transform: uppercase; }
.jbn-faq-support .jbn-faq-support__dealer { display: flex; width: fit-content; margin-top: 13px; color: #fff; }
.jbn-faq-page__main { min-width: 0; }
.jbn-faq-search label { display: block; margin-bottom: 9px; color: #34463c; font-size: .76rem; font-weight: 800; }
.jbn-faq-search__control { display: flex; }
.jbn-faq-search input { min-width: 0; height: 52px; flex: 1; padding: 0 16px; border: 1px solid #d6dfd1; border-right: 0; border-radius: 10px 0 0 10px; outline: none; color: #26362d; background: #fff; font: inherit; font-size: .86rem; }
.jbn-faq-search input:focus { border-color: #8da638; box-shadow: 0 0 0 3px rgb(156 189 56 / 14%); }
.jbn-faq-search button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-width: 112px; height: 52px; padding: 0 18px; border: 1px solid var(--eb-forest-900); border-radius: 0 10px 10px 0; color: #fff; background: var(--eb-forest-900); font: inherit; font-size: .73rem; font-weight: 850; cursor: pointer; }
.jbn-faq-page__results-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin: 50px 0 27px; }
.jbn-faq-page__results-header h2 { font-size: clamp(2.25rem, 3.5vw, 3.35rem); }
.jbn-faq-page__count { flex: 0 0 auto; margin: 0 0 4px; color: #6a786f; font-size: .76rem; font-weight: 750; }
.jbn-faq-page__reset { display: inline-flex; align-items: center; gap: 7px; margin: -9px 0 22px; color: #6d8527; font-size: .7rem; font-weight: 800; text-decoration: none; }
.jbn-faq-accordion { display: grid; gap: 13px; }
.jbn-faq-accordion__item { overflow: hidden; border: 1px solid #dce5d7; border-radius: 12px; background: #fff; box-shadow: 0 7px 19px rgb(11 40 27 / 4%); transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; }
.jbn-faq-accordion__item.is-open { border-color: rgb(120 147 40 / 48%); background: #f8fbf4; box-shadow: 0 10px 25px rgb(11 40 27 / 7%); }
.jbn-faq-accordion h3 { margin: 0; font-size: inherit; }
.jbn-faq-accordion button { display: grid; grid-template-columns: minmax(0, 1fr) 38px; align-items: center; gap: 20px; width: 100%; min-height: 88px; padding: 19px 22px; border: 0; color: var(--eb-forest-900); background: transparent; font: inherit; font-size: 1.02rem; font-weight: 760; line-height: 1.42; text-align: left; cursor: pointer; }
.jbn-faq-accordion button small { display: block; margin-bottom: 7px; color: #789328; font-size: .61rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.jbn-faq-accordion__icon { position: relative; display: block; width: 36px; aspect-ratio: 1; border: 1px solid rgb(120 147 40 / 36%); border-radius: 50%; transition: background-color 180ms ease, transform 220ms ease; }
.jbn-faq-accordion__icon::before, .jbn-faq-accordion__icon::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; border-radius: 2px; background: #789328; content: ''; transform: translate(-50%, -50%); transition: opacity 170ms ease, transform 220ms ease; }
.jbn-faq-accordion__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.jbn-faq-accordion__item.is-open .jbn-faq-accordion__icon { background: #edf4e2; transform: rotate(180deg); }
.jbn-faq-accordion__item.is-open .jbn-faq-accordion__icon::after { opacity: 0; transform: translate(-50%, -50%) rotate(0); }
.jbn-faq-accordion__answer { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 260ms ease, opacity 190ms ease; }
.jbn-faq-accordion__answer.is-open { max-height: 340px; opacity: 1; }
.jbn-faq-accordion__answer > div { padding: 0 76px 25px 22px; }
.jbn-faq-accordion__answer p { margin: 0; color: #606e66; font-size: .87rem; line-height: 1.76; }
.jbn-faq-empty { padding: 58px 28px; border: 1px dashed #cbd9c4; border-radius: 14px; text-align: center; background: #fff; }
.jbn-faq-empty > i { color: #789328; font-size: 2rem; }
.jbn-faq-empty h3 { margin: 15px 0 0; color: var(--eb-forest-900); font-size: 1.45rem; }
.jbn-faq-empty p { margin: 10px 0 20px; color: #68766e; font-size: .84rem; }
.jbn-faq-empty a { color: #6d8527; font-size: .73rem; font-weight: 850; text-transform: uppercase; }
.jbn-faq-cta { padding: 86px 0; color: #fff; background: linear-gradient(120deg, #0b281b, #174b2e); }
.jbn-faq-cta__container { display: flex; align-items: center; justify-content: space-between; gap: 50px; width: min(100% - 48px, 1180px); margin-inline: auto; }
.jbn-faq-cta h2 { max-width: 720px; color: #fff; }
.jbn-faq-cta p { max-width: 690px; margin: 18px 0 0; color: rgb(255 255 255 / 68%); font-size: .9rem; line-height: 1.7; }
.jbn-faq-cta__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 11px; }
.jbn-faq-cta__actions a { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 49px; padding: 11px 21px; border: 1px solid var(--eb-lime-400); border-radius: 999px; color: var(--eb-forest-950); background: var(--eb-lime-400); font-size: .72rem; font-weight: 850; text-decoration: none; text-transform: uppercase; }
.jbn-faq-cta__actions a.is-secondary { color: #fff; background: transparent; }
.jbn-faq-page a:focus-visible, .jbn-faq-page button:focus-visible, .jbn-faq-page input:focus-visible { outline: 2px solid var(--eb-lime-400); outline-offset: 3px; }
@media (hover: hover) { .jbn-faq-filters__list a:hover { color: #6d8527; background: #f1f6eb; } .jbn-faq-filters__list a.is-active:hover { color: #fff; background: var(--eb-forest-900); } .jbn-faq-accordion button:hover { color: #6d8527; } }
@media (max-width: 991.98px) {
    .jbn-faq-page__intro { padding-top: 86px; }
    .jbn-faq-page__layout { grid-template-columns: 1fr; width: min(100% - 40px, 820px); }
    .jbn-faq-sidebar { order: 0; }
    .jbn-faq-filters__list { flex-direction: row; flex-wrap: wrap; }
    .jbn-faq-filters__list a { flex: 0 0 auto; border: 1px solid #e0e7dc; border-radius: 999px; }
    .jbn-faq-support { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px 19px; }
    .jbn-faq-support > i { grid-row: 1 / 3; margin: 0; }
    .jbn-faq-support h2, .jbn-faq-support p { margin: 0; }
    .jbn-faq-support > a { grid-column: 3; grid-row: 1 / 3; margin: 0; }
    .jbn-faq-support__dealer { display: none !important; }
    .jbn-faq-cta__container { width: min(100% - 40px, 820px); align-items: flex-start; flex-direction: column; }
}
@media (max-width: 575.98px) {
    .jbn-faq-page__intro h2, .jbn-faq-cta h2 { font-size: clamp(2.35rem, 11vw, 3.15rem); }
    .jbn-faq-page__intro { padding-block: 72px 54px; }
    .jbn-faq-page__intro-container, .jbn-faq-page__layout, .jbn-faq-cta__container { width: calc(100% - 28px); }
    .jbn-faq-page__content { padding-block: 32px 80px; }
    .jbn-faq-filters, .jbn-faq-support { padding: 22px 19px; }
    .jbn-faq-filters__list { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
    .jbn-faq-search__control { flex-direction: column; gap: 9px; }
    .jbn-faq-search input { border: 1px solid #d6dfd1; border-radius: 9px; }
    .jbn-faq-search button { width: 100%; border-radius: 9px; }
    .jbn-faq-page__results-header { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 42px; }
    .jbn-faq-page__count { margin: 0; }
    .jbn-faq-accordion button { grid-template-columns: minmax(0, 1fr) 34px; gap: 14px; min-height: 82px; padding: 18px 16px; font-size: .93rem; }
    .jbn-faq-accordion__icon { width: 33px; }
    .jbn-faq-accordion__answer > div { padding: 0 17px 22px; }
    .jbn-faq-support { display: block; }
    .jbn-faq-support > i { margin-bottom: 19px; }
    .jbn-faq-support p { margin-top: 10px; }
    .jbn-faq-support > a { display: inline-flex; margin-top: 19px; }
    .jbn-faq-support .jbn-faq-support__dealer { display: flex !important; }
    .jbn-faq-cta { padding-block: 68px; }
    .jbn-faq-cta__actions { width: 100%; flex-direction: column; }
    .jbn-faq-cta__actions a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .jbn-faq-page *, .jbn-faq-page *::before, .jbn-faq-page *::after { transition: none !important; scroll-behavior: auto !important; } }

/* Solid Edge Band product page */
.jbn-product-page__container { width: min(100% - 48px, 1200px); margin-inline: auto; }
.jbn-product-page__eyebrow { margin: 0 0 13px; color: #789328; font-size: .7rem; font-weight: 850; letter-spacing: .19em; }
.jbn-product-page__section-heading { max-width: 790px; margin: 0 auto 46px; text-align: center; }
.jbn-product-page__section-heading h2, .jbn-product-overview h2, .jbn-product-specifications h2, .jbn-product-page__why h2, .jbn-product-enquiry h2 { margin: 0; color: var(--eb-forest-900); font-size: clamp(2.5rem, 4.4vw, 4.25rem); line-height: 1.03; letter-spacing: -.05em; }
.jbn-product-page__section-heading > p:last-child { margin: 19px auto 0; color: #65736b; line-height: 1.72; }
.jbn-product-page__actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 29px; }
.jbn-product-page__actions a, .jbn-product-enquiry a { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 49px; padding: 11px 21px; border: 1px solid var(--eb-forest-900); border-radius: 999px; color: #fff; background: var(--eb-forest-900); font-size: .72rem; font-weight: 850; text-decoration: none; text-transform: uppercase; }
.jbn-product-page__actions a.is-secondary { color: var(--eb-forest-900); background: transparent; }
.jbn-product-page__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: inherit; flex-direction: column; gap: 14px; color: #789328; background: radial-gradient(circle at 18% 12%, rgb(181 217 87 / 22%), transparent 38%), linear-gradient(135deg, #edf4e5, #dbe9cd); }
.jbn-product-page__placeholder i { font-size: 2.3rem; }.jbn-product-page__placeholder span { color: var(--eb-forest-900); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.jbn-product-hero { padding: 78px 0 90px; background: #f6f8f2; }
.jbn-product-hero__container { display: grid; grid-template-columns: 1fr .92fr; align-items: center; gap: clamp(45px, 7vw, 95px); width: min(100% - 48px, 1240px); margin-inline: auto; }
.jbn-product-hero__breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 42px; padding: 0; list-style: none; }.jbn-product-hero__breadcrumb li { display: flex; gap: 8px; color: #7b867f; font-size: .72rem; }.jbn-product-hero__breadcrumb li:not(:last-child)::after { color: #789328; content: '/'; }.jbn-product-hero__breadcrumb a { color: var(--eb-forest-900); text-decoration: none; }
.jbn-product-hero h1 { max-width: 680px; margin: 0; color: var(--eb-forest-900); font-size: clamp(3.5rem, 6.5vw, 6.4rem); line-height: .94; letter-spacing: -.06em; }.jbn-product-hero__content > p:not(.jbn-product-page__eyebrow) { max-width: 620px; margin: 24px 0 0; color: #5e6d65; line-height: 1.75; }
.jbn-product-hero__visual { min-height: 500px; overflow: hidden; border-radius: 28px 8px 28px 8px; box-shadow: 0 22px 55px rgb(11 40 27 / 11%); }.jbn-product-hero__visual img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.jbn-product-overview { padding: 115px 0; background: #fff; }.jbn-product-overview__container { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: clamp(55px, 8vw, 105px); width: min(100% - 48px, 1180px); margin-inline: auto; }.jbn-product-overview__visual { position: relative; min-height: 520px; }.jbn-product-overview__main { height: 100%; min-height: 520px; overflow: hidden; border-radius: 20px; }.jbn-product-overview__main img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }.jbn-product-overview__detail { position: absolute; right: -25px; bottom: -25px; width: 43%; border: 8px solid #fff; border-radius: 14px; box-shadow: 0 16px 35px rgb(11 40 27 / 14%); }.jbn-product-overview__content > p:not(.jbn-product-page__eyebrow) { margin: 20px 0 0; color: #617067; line-height: 1.75; }.jbn-product-page__text-link { display: inline-flex; gap: 8px; margin-top: 26px; color: #6d8527; font-size: .73rem; font-weight: 850; text-decoration: none; text-transform: uppercase; }
.jbn-product-highlights, .jbn-product-applications, .jbn-related-products { padding: 108px 0; background: #f3f7ee; }.jbn-product-highlights__grid, .jbn-product-applications__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 21px; }.jbn-product-highlights article, .jbn-product-applications article { padding: 31px; border: 1px solid #dfe7da; border-radius: 15px; background: #fff; box-shadow: 0 9px 24px rgb(11 40 27 / 5%); }.jbn-product-highlights article > i, .jbn-product-applications article > i { display: grid; width: 49px; aspect-ratio: 1; place-items: center; border-radius: 13px; color: #789328; background: #edf4e2; font-size: 1.15rem; }.jbn-product-highlights h3, .jbn-product-applications h3 { margin: 24px 0 0; color: var(--eb-forest-900); font-size: 1.08rem; }.jbn-product-highlights p, .jbn-product-applications p { margin: 12px 0 0; color: #68766e; font-size: .82rem; line-height: 1.68; }
.jbn-product-range { scroll-margin-top: 100px; padding: 110px 0; background: #fff; }.jbn-product-range__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }.jbn-product-range__grid article { overflow: hidden; border: 1px solid #dfe6da; border-radius: 13px; background: #fff; }.jbn-product-range__grid a { color: var(--eb-forest-900); text-decoration: none; }.jbn-product-range__swatch { height: 175px; background: #ddd; }.jbn-product-range__swatch img { width: 100%; height: 100%; object-fit: cover; }.jbn-product-range__swatch--white{background:#f3f2e9}.jbn-product-range__swatch--black{background:#242724}.jbn-product-range__swatch--light-grey{background:#c6c9c2}.jbn-product-range__swatch--dark-grey{background:#565d59}.jbn-product-range__swatch--beige{background:#d5c2a3}.jbn-product-range__swatch--brown{background:#76513c}.jbn-product-range__swatch--green{background:#677d4d}.jbn-product-range__swatch--blue{background:#506c80}.jbn-product-range__grid h3 { margin: 0; padding: 18px; font-size: .92rem; }.jbn-product-range__note { display: flex; gap: 10px; margin: 28px 0 0; color: #718078; font-size: .76rem; line-height: 1.6; }
.jbn-product-specifications { padding: 106px 0; background: #eef4e8; }.jbn-product-specifications__container { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px,7vw,95px); width: min(100% - 48px,1100px); margin-inline:auto; }.jbn-product-specifications p { color:#627067;line-height:1.7}.jbn-product-specifications a,.jbn-product-page__why a { display:inline-flex;gap:8px;margin-top:20px;color:#6d8527;font-size:.72rem;font-weight:850;text-decoration:none;text-transform:uppercase}.jbn-product-specifications dl { margin:0;border-top:1px solid #cfdbc8}.jbn-product-specifications dl div { display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;padding:18px 5px;border-bottom:1px solid #cfdbc8}.jbn-product-specifications dt { color:#617067;font-size:.77rem}.jbn-product-specifications dd { margin:0;color:var(--eb-forest-900);font-size:.84rem;font-weight:750}
.jbn-product-page__why { padding:105px 0;color:#fff;background:linear-gradient(125deg,#071f15,#174b2e)}.jbn-product-page__why-container { display:grid;grid-template-columns:1fr .82fr;align-items:center;gap:70px;width:min(100% - 48px,1180px);margin:auto}.jbn-product-page__why h2{color:#fff}.jbn-product-page__why p{color:rgb(255 255 255 / 68%);line-height:1.75}.jbn-product-page__why ul{display:grid;gap:12px;margin:26px 0 0;padding:0;list-style:none}.jbn-product-page__why li{display:flex;gap:10px;color:rgb(255 255 255 / 82%);font-size:.84rem}.jbn-product-page__why li i,.jbn-product-page__why a{color:var(--eb-lime-400)}.jbn-product-page__why-visual{min-height:420px;overflow:hidden;border-radius:19px}.jbn-product-page__why-visual img{width:100%;height:100%;min-height:420px;object-fit:cover}
.jbn-product-gallery{padding:108px 0;background:#fff}.jbn-product-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:15px}.jbn-product-gallery figure{margin:0;overflow:hidden;border-radius:14px}.jbn-product-gallery figure.is-featured{grid-column:span 2;grid-row:span 2}.jbn-product-gallery img{width:100%;height:100%;object-fit:cover}
.jbn-product-enquiry{padding:82px 0;color:#fff;background:#789328}.jbn-product-enquiry__container{display:flex;align-items:center;justify-content:space-between;gap:50px;width:min(100% - 48px,1180px);margin:auto}.jbn-product-enquiry h2{color:#fff}.jbn-product-enquiry p{max-width:690px;margin:16px 0 0;color:rgb(255 255 255 / 78%)}.jbn-product-enquiry .jbn-product-page__actions{flex:0 0 auto;margin:0}.jbn-product-enquiry a{border-color:#fff;color:#789328;background:#fff}.jbn-product-enquiry a.is-secondary{color:#fff;background:transparent}
.jbn-related-products{background:#f6f8f2}.jbn-related-products__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.jbn-related-products article{overflow:hidden;border:1px solid #dfe6da;border-radius:15px;background:#fff}.jbn-related-products__visual{display:block;height:250px}.jbn-related-products__visual img{width:100%;height:100%;object-fit:cover}.jbn-related-products article>div{padding:22px}.jbn-related-products h3{margin:0 0 15px}.jbn-related-products h3 a{color:var(--eb-forest-900);text-decoration:none}.jbn-related-products article>div>a{display:inline-flex;gap:8px;color:#6d8527;font-size:.72rem;font-weight:850;text-decoration:none;text-transform:uppercase}
@media(max-width:991.98px){.jbn-product-hero__container,.jbn-product-overview__container,.jbn-product-specifications__container,.jbn-product-page__why-container{grid-template-columns:1fr}.jbn-product-hero__visual{min-height:400px}.jbn-product-overview__visual{order:-1}.jbn-product-highlights__grid,.jbn-product-applications__grid,.jbn-related-products__grid{grid-template-columns:repeat(2,1fr)}.jbn-product-range__grid{grid-template-columns:repeat(3,1fr)}.jbn-product-enquiry__container{align-items:flex-start;flex-direction:column}.jbn-product-enquiry .jbn-product-page__actions{margin-top:0}}
@media(max-width:575.98px){.jbn-product-page__container,.jbn-product-hero__container,.jbn-product-overview__container,.jbn-product-specifications__container,.jbn-product-page__why-container,.jbn-product-enquiry__container{width:calc(100% - 28px)}.jbn-product-hero{padding-block:54px 68px}.jbn-product-hero h1{font-size:clamp(3.1rem,15vw,4.5rem)}.jbn-product-hero__visual{min-height:315px}.jbn-product-hero__visual img{min-height:315px}.jbn-product-page__actions{flex-direction:column}.jbn-product-page__actions a{width:100%}.jbn-product-overview,.jbn-product-highlights,.jbn-product-range,.jbn-product-specifications,.jbn-product-applications,.jbn-product-page__why,.jbn-related-products{padding-block:76px}.jbn-product-overview__visual,.jbn-product-overview__main,.jbn-product-overview__main img{min-height:350px}.jbn-product-highlights__grid,.jbn-product-applications__grid,.jbn-related-products__grid{grid-template-columns:1fr}.jbn-product-range__grid{grid-template-columns:repeat(2,1fr)}.jbn-product-range__swatch{height:130px}.jbn-product-specifications dl div{grid-template-columns:1fr;gap:7px}.jbn-product-page__why-visual{min-height:300px}.jbn-product-gallery__grid{grid-template-columns:1fr;grid-auto-rows:260px}.jbn-product-gallery figure.is-featured{grid-column:auto;grid-row:auto}.jbn-product-enquiry .jbn-product-page__actions{width:100%}}
@media(prefers-reduced-motion:reduce){.jbn-product-page *{transition:none!important;scroll-behavior:auto!important}}

/* Scalable Solid Edge Band shade slider */
.jbn-shade-card[hidden]{display:none}
.jbn-shade-card{flex-direction:column}.jbn-shade-card__preview{width:100%;height:240px;aspect-ratio:auto;flex:0 0 auto}.jbn-shade-card__preview img{display:block;width:100%;height:100%;object-fit:cover}.jbn-shade-card__content{display:flex;min-height:180px;padding:21px 19px;flex:1;align-items:flex-start;flex-direction:column;background:#fff}.jbn-shade-card__content .jbn-shade-card__name{margin:0;color:var(--eb-forest-900);font-size:1.05rem}.jbn-shade-card__content .jbn-shade-card__code{margin:9px 0 18px;color:#74806f;font-size:.65rem;letter-spacing:.04em;text-transform:none}.jbn-shade-card__order{width:100%;min-height:43px;margin-top:auto;border:0;border-radius:999px;color:#fff;background:var(--eb-forest-900);font:inherit;font-size:.7rem;font-weight:850;text-transform:uppercase;cursor:pointer;transition:background-color 180ms ease,transform 180ms ease}.jbn-shade-card__order:focus-visible{outline:2px solid var(--eb-lime-400);outline-offset:3px}body.is-shade-modal-open{overflow:hidden}.jbn-shade-modal{position:fixed;inset:0;z-index:1500;display:grid;padding:24px;place-items:center;opacity:0;transition:opacity 180ms ease}.jbn-shade-modal[hidden]{display:none}.jbn-shade-modal.is-open{opacity:1}.jbn-shade-modal__backdrop{position:absolute;inset:0;background:rgb(3 20 13 / 78%);backdrop-filter:blur(4px)}.jbn-shade-modal__dialog{position:relative;display:grid;grid-template-columns:.42fr .58fr;width:min(960px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgb(0 0 0 / 35%);outline:none}.jbn-shade-modal__close{position:absolute;z-index:2;top:16px;right:16px;display:grid;width:42px;aspect-ratio:1;place-items:center;border:1px solid #dce5d7;border-radius:50%;color:var(--eb-forest-900);background:#fff;cursor:pointer}.jbn-shade-modal__product{padding:36px;color:#fff;background:var(--eb-forest-900)}.jbn-shade-modal__image{height:300px;margin-bottom:27px;overflow:hidden;border-radius:14px;background:var(--shade-colour,#eef3e9)}.jbn-shade-modal__image img{width:100%;height:100%;object-fit:cover}.jbn-shade-modal__product>p{margin:0 0 8px;color:var(--eb-lime-400);font-size:.66rem;font-weight:850;letter-spacing:.14em}.jbn-shade-modal__product h2{margin:0;color:#fff;font-size:1.55rem}.jbn-shade-modal__product>span{display:block;margin-top:8px;color:rgb(255 255 255 / 67%);font-size:.76rem}.jbn-shade-modal__form{padding:42px 38px}.jbn-shade-modal__form>h2{margin:0;padding-right:38px;color:var(--eb-forest-900);font-size:clamp(2rem,3.4vw,3rem);line-height:1.05;letter-spacing:-.045em}.jbn-shade-modal__form>p{margin:13px 0 20px;color:#69766f;font-size:.82rem}.jbn-shade-modal__status{min-height:20px;margin-bottom:12px;font-size:.75rem}.jbn-shade-modal__status.is-success{padding:11px;border-radius:7px;color:#194b2e;background:#e9f4e2}.jbn-shade-modal__status.is-error{padding:11px;border-radius:7px;color:#8d332d;background:#fff0ee}.jbn-shade-modal__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.jbn-shade-modal__fields label{display:flex;min-width:0;color:#394940;flex-direction:column;gap:7px;font-size:.72rem;font-weight:750}.jbn-shade-modal__fields label>span{color:#789328}.jbn-shade-modal__fields .is-full{grid-column:1/-1}.jbn-shade-modal__fields input:not([type=checkbox]),.jbn-shade-modal__fields textarea{width:100%;border:1px solid #d8e0d4;border-radius:8px;color:#26362d;background:#fbfcfa;font:inherit;font-size:.82rem}.jbn-shade-modal__fields input:not([type=checkbox]){height:44px;padding:0 12px}.jbn-shade-modal__fields textarea{padding:11px 12px;resize:vertical}.jbn-shade-modal__consent{display:flex!important;align-items:flex-start;flex-direction:row!important;gap:9px!important}.jbn-shade-modal__consent input{width:17px;height:17px;accent-color:#789328}.jbn-shade-modal__consent span{color:#5e6d65!important;font-weight:600}.jbn-shade-modal__submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;margin-top:20px;padding:11px 20px;border:0;border-radius:999px;color:#fff;background:var(--eb-forest-900);font:inherit;font-size:.7rem;font-weight:850;text-transform:uppercase;cursor:pointer}.jbn-shade-modal__submit:disabled{opacity:.6}.jbn-shade-modal__honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(hover:hover){.jbn-shade-card__order:hover,.jbn-shade-modal__submit:hover{background:#789328}.jbn-shade-card:hover .jbn-shade-card__order{transform:translateY(-1px)}}@media(max-width:767.98px){.jbn-shade-modal{padding:14px}.jbn-shade-modal__dialog{grid-template-columns:1fr;max-height:calc(100vh - 28px)}.jbn-shade-modal__product{padding:25px}.jbn-shade-modal__image{height:240px}.jbn-shade-modal__form{padding:31px 22px}.jbn-shade-modal__fields{grid-template-columns:1fr}.jbn-shade-modal__fields .is-full{grid-column:auto}}@media(max-width:575.98px){.jbn-shade-card__preview{height:260px}.jbn-shade-card__content{min-height:175px}}@media(prefers-reduced-motion:reduce){.jbn-shade-modal{transition:none}}
.jbn-shade-range__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:44px}.jbn-shade-range__heading .jbn-product-page__section-heading{margin:0;text-align:left}.jbn-shade-slider__controls{display:flex;flex:0 0 auto;gap:9px}.jbn-shade-slider__controls button{display:grid;width:48px;aspect-ratio:1;place-items:center;border:0;border-radius:50%;color:#fff;background:var(--eb-forest-900);cursor:pointer;transition:background-color 180ms ease,opacity 180ms ease}.jbn-shade-slider__controls button:disabled{opacity:.3;cursor:not-allowed}.jbn-shade-slider{overflow:hidden;touch-action:pan-y}.jbn-shade-slider__track{display:flex;gap:22px;transition:transform 360ms cubic-bezier(.22,.7,.25,1);will-change:transform}.jbn-shade-slider__track.is-resetting,.jbn-shade-slider__track.is-dragging{transition:none}.jbn-shade-card{display:flex;min-width:0;flex:0 0 calc((100% - 88px)/5);overflow:hidden;border:1px solid #dfe6da;border-radius:15px;background:#fff;box-shadow:0 9px 25px rgb(11 40 27 / 5%);transition:transform 190ms ease,box-shadow 190ms ease}.jbn-shade-card>a{display:flex;width:100%;color:inherit;flex-direction:column;text-decoration:none}.jbn-shade-card__preview{position:relative;aspect-ratio:1.25;overflow:hidden;background:var(--shade-colour,#e7eddf)}.jbn-shade-card__preview img{width:100%;height:100%;object-fit:cover;transition:transform 350ms ease}.jbn-shade-card__body{display:flex;min-height:105px;padding:17px 18px;align-items:flex-end;justify-content:space-between;gap:12px}.jbn-shade-card__body>div{min-width:0}.jbn-shade-card__body>i{flex:0 0 auto;color:#789328;transition:transform 180ms ease}.jbn-shade-card__code,.jbn-shade-card__family{margin:0;color:#7b867f;font-size:.61rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.jbn-shade-card__name{margin:5px 0;color:var(--eb-forest-900);font-size:1rem;line-height:1.25;transition:color 180ms ease}.jbn-shade-slider__footer{display:flex;align-items:center;gap:22px;margin-top:30px}.jbn-shade-slider__progress{height:3px;flex:1;overflow:hidden;border-radius:3px;background:#dce5d6}.jbn-shade-slider__progress span{display:block;width:100%;height:100%;background:#789328;transform:scaleX(0);transform-origin:left;transition:transform 240ms ease}.jbn-shade-slider__footer p{margin:0;color:#65736b;font-size:.72rem;font-weight:800;letter-spacing:.08em}.jbn-shade-range.is-static .jbn-shade-slider__controls,.jbn-shade-range.is-static .jbn-shade-slider__footer{display:none}.jbn-shade-filter{display:flex;gap:8px;margin:-18px 0 27px;overflow-x:auto;padding-bottom:5px}.jbn-shade-filter button{flex:0 0 auto;padding:8px 13px;border:1px solid #dbe4d6;border-radius:999px;color:#59675f;background:#fff;font:inherit;font-size:.68rem;font-weight:750}.jbn-shade-filter button.is-active{color:#fff;background:var(--eb-forest-900)}.jbn-shade-slider:focus-visible,.jbn-shade-slider__controls button:focus-visible,.jbn-shade-card a:focus-visible{outline:2px solid var(--eb-lime-400);outline-offset:3px}@media(hover:hover){.jbn-shade-slider__controls button:not(:disabled):hover{background:#789328}.jbn-shade-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgb(11 40 27 / 10%)}.jbn-shade-card:hover img{transform:scale(1.035)}.jbn-shade-card:hover .jbn-shade-card__name{color:#789328}.jbn-shade-card:hover .jbn-shade-card__body>i{transform:translate(2px,-2px)}}
@media(max-width:1439.98px){.jbn-shade-slider__track{gap:20px}.jbn-shade-card{flex-basis:calc((100% - 60px)/4)}}@media(max-width:1199.98px){.jbn-shade-card{flex-basis:calc((100% - 40px)/3)}}@media(max-width:991.98px){.jbn-shade-slider__track{gap:18px}.jbn-shade-card{flex-basis:calc((100% - 18px)/2)}}@media(max-width:575.98px){.jbn-shade-range__heading{align-items:flex-start;flex-direction:column}.jbn-shade-range__heading .jbn-product-page__section-heading{text-align:center}.jbn-shade-slider__controls{order:2;width:100%;justify-content:flex-end}.jbn-shade-slider__controls button{width:46px}.jbn-shade-slider__track{gap:14px}.jbn-shade-card{flex-basis:100%}.jbn-shade-card__preview{aspect-ratio:1.35}.jbn-shade-card__body{min-height:98px}.jbn-shade-filter{margin-top:-10px}}@media(prefers-reduced-motion:reduce){.jbn-shade-slider__track,.jbn-shade-card,.jbn-shade-card img,.jbn-shade-slider__progress span{transition:none!important}}
