:root {
    --jc-green: #0f3d2e;
    --jc-green-2: #092b21;
    --jc-red: #b3261e;
    --jc-gold: #c9a24a;
    --jc-ink: #1f2933;
    --jc-muted: #4f5b66;
    --jc-soft: #f7f5f0;
    --jc-line: #e5e0d6;
    --jc-white: #ffffff;
    --jc-shadow: 0 20px 60px rgba(31, 41, 51, 0.12);
}

/* Private Thank You redesign preview v0.3.68 ------------------------------- */
body.jc-thank-you-preview-page #primary {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    max-width: none !important;
    width: 100% !important;
}
body.jc-thank-you-preview-page #content > .ast-container {
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}
body.jc-thank-you-preview-page article.ast-article-single {
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}
body.jc-thank-you-preview-page article.ast-article-single > .entry-header,
body.jc-thank-you-preview-page article.ast-article-single > div > .entry-header {
    display: none !important;
}
body.jc-thank-you-preview-page .entry-content {
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}
html body.jc-thank-you-preview-page #page .jc-thanks-preview {
    --thanks-green: #0f3d2e;
    --thanks-green-dark: #092b21;
    --thanks-red: #a62c24;
    --thanks-ink: #171a18;
    --thanks-muted: #555d58;
    --thanks-cream: #f7f2e9;
    --thanks-warm: #f1ece3;
    --thanks-line: #ddd6ca;
    background: #fff !important;
    color: var(--thanks-ink) !important;
    overflow: hidden !important;
}
html body #page .jc-thanks-preview *,
html body #page .jc-thanks-preview *::before,
html body #page .jc-thanks-preview *::after { box-sizing: border-box !important; }
html body #page .jc-thanks-preview :where(h1,h2,h3,p,li,span,strong,a) { color: inherit !important; }
html body #page .jc-thanks-wrap {
    margin: 0 auto !important;
    max-width: 1160px !important;
    width: min(1160px, calc(100% - 48px)) !important;
}
html body #page .jc-thanks-hero {
    background: var(--thanks-cream) !important;
    padding: 168px 0 90px !important;
}
html body #page .jc-thanks-hero-grid {
    align-items: center !important;
    display: grid !important;
    gap: 76px !important;
    grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr) !important;
}
html body #page .jc-thanks-status {
    align-items: center !important;
    color: var(--thanks-red) !important;
    display: inline-flex !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    gap: 10px !important;
    letter-spacing: .12em !important;
    margin: 0 0 22px !important;
}
html body #page .jc-thanks-status > span {
    align-items: center !important;
    background: var(--thanks-red) !important;
    border-radius: 50% !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 15px !important;
    height: 30px !important;
    justify-content: center !important;
    letter-spacing: 0 !important;
    width: 30px !important;
}
html body #page .jc-thanks-copy h1 {
    color: var(--thanks-green) !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: clamp(44px,4.4vw,60px) !important;
    font-weight: 800 !important;
    letter-spacing: -.045em !important;
    line-height: 1.04 !important;
    margin: 0 0 26px !important;
}
html body #page .jc-thanks-lead {
    color: #303633 !important;
    font-size: 18px !important;
    line-height: 1.75 !important;
    margin: 0 0 30px !important;
}
html body #page .jc-thanks-reference {
    border-left: 4px solid var(--thanks-red) !important;
    display: grid !important;
    gap: 4px !important;
    padding: 4px 0 4px 18px !important;
}
html body #page .jc-thanks-reference strong { color: var(--thanks-green) !important; font-size: 16px !important; }
html body #page .jc-thanks-reference span { color: var(--thanks-muted) !important; font-size: 15px !important; line-height: 1.6 !important; }
html body #page .jc-thanks-summary {
    background: var(--thanks-green) !important;
    border-radius: 3px !important;
    box-shadow: 0 24px 64px rgba(15,61,46,.18) !important;
    color: #fff !important;
    padding: 44px !important;
}
html body #page .jc-thanks-summary > span,
html body #page .jc-thanks-heading > span,
html body #page .jc-thanks-note-grid > div:first-child > span {
    color: var(--thanks-red) !important;
    display: block !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    margin: 0 0 14px !important;
}
html body #page .jc-thanks-summary > span { color: #efb4ae !important; }
html body #page .jc-thanks-summary h2 {
    color: #fff !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 30px !important;
    line-height: 1.18 !important;
    margin: 0 0 24px !important;
}
html body #page .jc-thanks-summary ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
html body #page .jc-thanks-summary li {
    border-top: 1px solid rgba(255,255,255,.18) !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    padding: 14px 0 14px 25px !important;
    position: relative !important;
}
html body #page .jc-thanks-summary li::before { color: #efb4ae !important; content: "✓" !important; left: 0 !important; position: absolute !important; }
html body #page .jc-thanks-next { padding: 96px 0 !important; }
html body #page .jc-thanks-heading { margin: 0 auto 46px !important; max-width: 760px !important; text-align: center !important; }
html body #page .jc-thanks-heading h2,
html body #page .jc-thanks-note h2,
html body #page .jc-thanks-actions h2 {
    color: var(--thanks-green) !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: clamp(32px,4vw,48px) !important;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
    line-height: 1.12 !important;
    margin: 0 0 18px !important;
}
html body #page .jc-thanks-heading p,
html body #page .jc-thanks-note p,
html body #page .jc-thanks-actions p { color: var(--thanks-muted) !important; font-size: 17px !important; line-height: 1.7 !important; margin: 0 !important; }
html body #page .jc-thanks-steps {
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
html body #page .jc-thanks-steps article {
    border: 1px solid var(--thanks-line) !important;
    border-top: 4px solid var(--thanks-green) !important;
    padding: 30px !important;
}
html body #page .jc-thanks-steps article > span { color: var(--thanks-red) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 13px !important; font-weight: 800 !important; }
html body #page .jc-thanks-steps h3 { color: var(--thanks-green) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 22px !important; margin: 16px 0 10px !important; }
html body #page .jc-thanks-steps p { color: var(--thanks-muted) !important; font-size: 15px !important; line-height: 1.65 !important; margin: 0 !important; }
html body #page .jc-thanks-note { background: var(--thanks-warm) !important; padding: 84px 0 !important; }
html body #page .jc-thanks-note-grid { align-items: center !important; display: grid !important; gap: 70px !important; grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr) !important; }
html body #page .jc-thanks-contact-card { background: #fff !important; border: 1px solid var(--thanks-line) !important; padding: 34px !important; }
html body #page .jc-thanks-contact-card strong { color: var(--thanks-green) !important; display: block !important; font-family: Poppins,Arial,sans-serif !important; font-size: 21px !important; margin-bottom: 10px !important; }
html body #page .jc-thanks-contact-card p { font-size: 15px !important; margin-bottom: 18px !important; }
html body #page .jc-thanks-contact-card a { color: var(--thanks-red) !important; font-size: 16px !important; font-weight: 800 !important; }
html body #page .jc-thanks-actions { background: var(--thanks-green-dark) !important; color: #fff !important; padding: 78px 0 !important; text-align: center !important; }
html body #page .jc-thanks-actions .jc-thanks-wrap { max-width: 820px !important; }
html body #page .jc-thanks-actions h2,
html body #page .jc-thanks-actions p { color: #fff !important; }
html body #page .jc-thanks-actions p { margin: 0 auto 30px !important; max-width: 720px !important; }
html body #page .jc-thanks-actions > .jc-thanks-wrap > div { display: flex !important; flex-wrap: wrap !important; gap: 14px !important; justify-content: center !important; }
html body #page .jc-thanks-button {
    border: 2px solid #fff !important;
    display: inline-flex !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    justify-content: center !important;
    letter-spacing: .02em !important;
    min-width: 210px !important;
    padding: 15px 24px !important;
    text-decoration: none !important;
}
html body #page .jc-thanks-button.primary { background: var(--thanks-red) !important; border-color: var(--thanks-red) !important; color: #fff !important; }
html body #page .jc-thanks-button.secondary { background: transparent !important; color: #fff !important; }

@media (max-width: 900px) {
    html body #page .jc-thanks-hero { padding: 130px 0 72px !important; }
    html body #page .jc-thanks-hero-grid,
    html body #page .jc-thanks-note-grid { gap: 42px !important; grid-template-columns: 1fr !important; }
    html body #page .jc-thanks-steps { grid-template-columns: 1fr !important; }
}
@media (max-width: 600px) {
    html body #page .jc-thanks-wrap { width: min(100% - 30px,1160px) !important; }
    html body #page .jc-thanks-hero { padding: 116px 0 60px !important; }
    html body #page .jc-thanks-copy h1 { font-size: 39px !important; }
    html body #page .jc-thanks-lead { font-size: 16px !important; }
    html body #page .jc-thanks-summary { padding: 28px 24px !important; }
    html body #page .jc-thanks-summary h2 { font-size: 25px !important; }
    html body #page .jc-thanks-next,
    html body #page .jc-thanks-note,
    html body #page .jc-thanks-actions { padding: 62px 0 !important; }
    html body #page .jc-thanks-heading { margin-bottom: 32px !important; }
    html body #page .jc-thanks-heading h2,
    html body #page .jc-thanks-note h2,
    html body #page .jc-thanks-actions h2 { font-size: 31px !important; }
    html body #page .jc-thanks-steps article,
    html body #page .jc-thanks-contact-card { padding: 25px 22px !important; }
    html body #page .jc-thanks-button { min-width: 100% !important; }
}

/* Buyer-first homepage v2.70 ---------------------------------------------- */
body.jc-home-v2-template #primary {
    margin: 0 !important;
    width: 100% !important;
}
body.jc-home-v2-template article.ast-article-single {
    padding: 0 !important;
}
body.jc-home-v2-template article.ast-article-single > .entry-header,
body.jc-home-v2-template article.ast-article-single > div > .entry-header {
    display: none !important;
}
body.jc-home-v2-template .entry-content { margin: 0 !important; }
html body.jc-home-v2-template #page .jc-home-v2 {
    --home-green: #0f3d2e;
    --home-green-dark: #092b21;
    --home-green-mid: #174f3d;
    --home-red: #a62c24;
    --home-red-dark: #7f211b;
    --home-ink: #171a18;
    --home-muted: #555d58;
    --home-cream: #f7f2e9;
    --home-warm: #f0ebe2;
    --home-line: #ddd6ca;
    background: #fff !important;
    color: var(--home-ink) !important;
    overflow: hidden !important;
}
html body #page .jc-home-v2 *,
html body #page .jc-home-v2 *::before,
html body #page .jc-home-v2 *::after { box-sizing: border-box !important; }
html body #page .jc-home-v2 :where(h1,h2,h3,p,li,strong,span,small,summary,figcaption,a,b) { color: inherit !important; }
html body #page .jc-home-wrap {
    margin: 0 auto !important;
    max-width: 1180px !important;
    width: min(1180px, calc(100% - 48px)) !important;
}
html body #page .jc-home-kicker {
    color: var(--home-red) !important;
    display: block !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
    line-height: 1.45 !important;
    margin: 0 0 17px !important;
    text-transform: uppercase !important;
}
html body #page .jc-home-kicker.light { color: #efb4ae !important; }
html body #page .jc-home-hero {
    background: var(--home-cream) !important;
    border-bottom: 1px solid var(--home-line) !important;
    padding: 180px 0 84px !important;
}
html body.jc-home-v2-template #page .jc-home-hero::before,
html body.jc-home-v2-template #page .jc-home-hero::after {
    background: none !important;
    content: none !important;
    display: none !important;
}
html body #page .jc-home-hero-grid {
    align-items: center !important;
    display: grid !important;
    gap: 70px !important;
    grid-template-columns: minmax(0,.98fr) minmax(520px,1.02fr) !important;
}
html body #page .jc-home-hero-copy h1 {
    color: var(--home-green) !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: clamp(46px,4.5vw,58px) !important;
    font-weight: 800 !important;
    letter-spacing: -.048em !important;
    line-height: 1.01 !important;
    margin: 0 0 27px !important;
}
html body #page .jc-home-lead {
    color: #303633 !important;
    font-size: 18px !important;
    line-height: 1.72 !important;
    margin: 0 0 30px !important;
    max-width: 650px !important;
}
html body #page .jc-home-hero-actions,
html body #page .jc-home-final-actions,
html body #page .jc-home-factory-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}
html body #page .jc-home-button {
    align-items: center !important;
    border: 2px solid var(--home-green) !important;
    display: inline-flex !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    min-height: 54px !important;
    min-width: 210px !important;
    padding: 15px 24px !important;
    text-decoration: none !important;
    transition: background-color .2s ease,border-color .2s ease,color .2s ease !important;
}
html body #page .jc-home-button.primary { background: var(--home-green) !important; color: #fff !important; }
html body #page .jc-home-button.secondary { background: transparent !important; color: var(--home-green) !important; }
html body #page .jc-home-button.red { background: var(--home-red) !important; border-color: var(--home-red) !important; color: #fff !important; }
html body #page .jc-home-button.outline { background: transparent !important; border-color: #fff !important; color: #fff !important; }
html body #page .jc-home-button.primary:hover,
html body #page .jc-home-button.secondary:hover { background: var(--home-red) !important; border-color: var(--home-red) !important; color: #fff !important; }
html body #page .jc-home-button.red:hover { background: #fff !important; border-color: #fff !important; color: var(--home-green) !important; }
html body #page .jc-home-button.outline:hover { background: #fff !important; color: var(--home-green) !important; }
html body #page .jc-home-hero-note {
    border-left: 4px solid var(--home-red) !important;
    display: grid !important;
    gap: 4px !important;
    margin-top: 28px !important;
    padding: 3px 0 3px 17px !important;
}
html body #page .jc-home-hero-note strong { color: var(--home-green) !important; font-size: 15px !important; }
html body #page .jc-home-hero-note span { color: var(--home-muted) !important; font-size: 14px !important; line-height: 1.55 !important; }
html body #page .jc-home-hero-media {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 1fr 1fr !important;
    position: relative !important;
}
html body #page .jc-home-hero-media figure { margin: 0 !important; overflow: hidden !important; position: relative !important; }
html body #page .jc-home-hero-media img { display: block !important; height: 100% !important; object-fit: cover !important; width: 100% !important; }
html body #page .jc-home-hero-main { grid-column: 1 / -1 !important; height: 352px !important; }
html body #page .jc-home-hero-small { height: 210px !important; }
html body #page .jc-home-hero-main figcaption,
html body #page .jc-home-hero-small figcaption {
    background: linear-gradient(180deg,transparent,rgba(9,43,33,.92)) !important;
    bottom: 0 !important;
    color: #fff !important;
    left: 0 !important;
    padding: 46px 22px 18px !important;
    position: absolute !important;
    right: 0 !important;
}
html body #page .jc-home-hero-main figcaption { display: grid !important; gap: 2px !important; }
html body #page .jc-home-hero-main figcaption strong { color: #fff !important; font-family: Poppins,Arial,sans-serif !important; font-size: 18px !important; }
html body #page .jc-home-hero-main figcaption span,
html body #page .jc-home-hero-small figcaption { color: #fff !important; font-size: 13px !important; line-height: 1.45 !important; }
html body #page .jc-home-hero-small figcaption { font-family: Poppins,Arial,sans-serif !important; font-weight: 700 !important; }

html body #page .jc-home-proof { background: var(--home-green) !important; }
html body #page .jc-home-proof-grid { display: grid !important; grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
html body #page .jc-home-proof-grid > div {
    border-left: 1px solid rgba(255,255,255,.16) !important;
    display: grid !important;
    gap: 4px !important;
    min-height: 106px !important;
    padding: 25px 18px !important;
}
html body #page .jc-home-proof-grid > div:last-child { border-right: 1px solid rgba(255,255,255,.16) !important; }
html body #page .jc-home-proof-grid strong { color: #fff !important; font-family: Poppins,Arial,sans-serif !important; font-size: 19px !important; }
html body #page .jc-home-proof-grid span { color: rgba(255,255,255,.76) !important; font-size: 12px !important; line-height: 1.45 !important; }

html body #page .jc-home-section { padding: 96px 0 !important; }
html body #page .jc-home-heading { margin-bottom: 48px !important; }
html body #page .jc-home-heading.split { align-items: end !important; display: grid !important; gap: 70px !important; grid-template-columns: 1fr .86fr !important; }
html body #page .jc-home-heading.centered { margin-left: auto !important; margin-right: auto !important; max-width: 790px !important; text-align: center !important; }
html body #page .jc-home-heading h2,
html body #page .jc-home-factory-copy h2,
html body #page .jc-home-market-copy h2,
html body #page .jc-home-faq-intro h2,
html body #page .jc-home-final h2 {
    color: var(--home-green) !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: clamp(34px,4vw,50px) !important;
    font-weight: 800 !important;
    letter-spacing: -.038em !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}
html body #page .jc-home-heading > p,
html body #page .jc-home-heading.centered p {
    color: var(--home-muted) !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    margin: 18px 0 0 !important;
}
html body #page .jc-home-heading.split > p { margin: 0 !important; }
html body #page .jc-home-buyer-grid { border: 1px solid var(--home-line) !important; display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
html body #page .jc-home-buyer-grid > a {
    background: #fff !important;
    border-right: 1px solid var(--home-line) !important;
    color: var(--home-ink) !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 315px !important;
    padding: 30px 26px !important;
    text-decoration: none !important;
    transition: background-color .2s ease,color .2s ease !important;
}
html body #page .jc-home-buyer-grid > a:last-child { border-right: 0 !important; }
html body #page .jc-home-buyer-grid > a > span { color: var(--home-red) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .1em !important; }
html body #page .jc-home-buyer-grid h3 { color: var(--home-green) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 23px !important; line-height: 1.22 !important; margin: 29px 0 14px !important; }
html body #page .jc-home-buyer-grid p { color: var(--home-muted) !important; font-size: 14px !important; line-height: 1.65 !important; margin: 0 0 24px !important; }
html body #page .jc-home-buyer-grid strong { color: var(--home-green) !important; font-size: 13px !important; margin-top: auto !important; }
html body #page .jc-home-buyer-grid > a:hover { background: var(--home-green) !important; color: #fff !important; }
html body #page .jc-home-buyer-grid > a:hover :where(span,h3,p,strong) { color: #fff !important; }
html body #page .jc-home-center-link { margin-top: 28px !important; text-align: center !important; }
html body #page .jc-home-center-link a { color: var(--home-red) !important; font-size: 14px !important; font-weight: 800 !important; }

html body #page .jc-home-products { background: var(--home-warm) !important; }
html body #page .jc-home-product-mosaic { display: grid !important; gap: 18px !important; grid-template-columns: repeat(12,minmax(0,1fr)) !important; }
html body #page .jc-home-product-card,
html body #page .jc-home-config-card { background: #fff !important; border: 1px solid var(--home-line) !important; color: var(--home-ink) !important; overflow: hidden !important; text-decoration: none !important; }
html body #page .jc-home-product-card { display: flex !important; flex-direction: column !important; height: 100% !important; padding-bottom: 28px !important; }
html body #page .jc-home-product-card.traditional { grid-column: span 6 !important; }
html body #page .jc-home-product-card.luxury { grid-column: span 6 !important; }
html body #page .jc-home-product-card.party { grid-column: span 5 !important; }
html body #page .jc-home-config-card { grid-column: span 7 !important; padding: 38px !important; }
html body #page .jc-home-product-card img { aspect-ratio: 16/9 !important; display: block !important; object-fit: cover !important; width: 100% !important; }
html body #page .jc-home-product-card > :where(span,h3,p,strong) { display: block !important; margin-left: 28px !important; margin-right: 28px !important; }
html body #page .jc-home-product-card > span,
html body #page .jc-home-config-card > span,
html body #page .jc-home-confidential-card > span { color: var(--home-red) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .11em !important; margin-top: 25px !important; }
html body #page .jc-home-product-card h3,
html body #page .jc-home-config-card h3,
html body #page .jc-home-confidential-card h3 { color: var(--home-green) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 25px !important; line-height: 1.2 !important; margin-bottom: 12px !important; margin-top: 10px !important; }
html body #page .jc-home-product-card p,
html body #page .jc-home-confidential-card p { color: var(--home-muted) !important; font-size: 14px !important; line-height: 1.65 !important; margin-bottom: 20px !important; }
html body #page .jc-home-product-card strong { color: var(--home-red) !important; font-size: 13px !important; margin-top: auto !important; padding-top: 4px !important; }
html body #page .jc-home-config-card > span { margin-top: 0 !important; }
html body #page .jc-home-config-card h3 { font-size: 32px !important; margin: 13px 0 29px !important; max-width: 560px !important; }
html body #page .jc-home-config-links { border-top: 1px solid var(--home-line) !important; }
html body #page .jc-home-config-links a { align-items: center !important; border-bottom: 1px solid var(--home-line) !important; color: var(--home-green) !important; display: flex !important; font-size: 15px !important; font-weight: 700 !important; justify-content: space-between !important; padding: 15px 2px !important; text-decoration: none !important; }
html body #page .jc-home-config-links a:hover { color: var(--home-red) !important; }

html body #page .jc-home-factory { background: var(--home-green-dark) !important; color: #fff !important; padding: 100px 0 !important; }
html body #page .jc-home-factory-grid { align-items: center !important; display: grid !important; gap: 76px !important; grid-template-columns: minmax(0,1.04fr) minmax(0,.96fr) !important; }
html body #page .jc-home-factory-media { background: #071f18 !important; border: 1px solid rgba(255,255,255,.16) !important; margin: 0 !important; overflow: hidden !important; }
html body #page .jc-home-factory-video { aspect-ratio: 16/9 !important; background: #071f18 !important; display: block !important; height: auto !important; object-fit: cover !important; width: 100% !important; }
html body #page .jc-home-factory-media figcaption { background: #071f18 !important; color: rgba(255,255,255,.78) !important; font-size: 12px !important; line-height: 1.5 !important; padding: 13px 16px !important; }
html body #page .jc-home-video-card { align-self: end !important; color: #fff !important; display: block !important; height: 265px !important; text-decoration: none !important; }
html body #page .jc-home-video-card::after { background: rgba(9,43,33,.35) !important; content: "" !important; inset: 0 !important; position: absolute !important; }
html body #page .jc-home-video-card .play { align-items: center !important; background: var(--home-red) !important; border-radius: 50% !important; color: #fff !important; display: flex !important; font-size: 17px !important; height: 58px !important; justify-content: center !important; left: 50% !important; padding-left: 4px !important; position: absolute !important; top: 50% !important; transform: translate(-50%,-50%) !important; width: 58px !important; z-index: 2 !important; }
html body #page .jc-home-video-card .label { bottom: 14px !important; color: #fff !important; font-family: Poppins,Arial,sans-serif !important; font-size: 12px !important; font-weight: 700 !important; left: 15px !important; position: absolute !important; z-index: 2 !important; }
html body #page .jc-home-factory-copy h2 { color: #fff !important; margin-bottom: 23px !important; }
html body #page .jc-home-factory-copy > p { color: rgba(255,255,255,.78) !important; font-size: 16px !important; line-height: 1.72 !important; margin: 0 0 30px !important; }
html body #page .jc-home-factory-checks { border-top: 1px solid rgba(255,255,255,.16) !important; }
html body #page .jc-home-factory-checks > div { border-bottom: 1px solid rgba(255,255,255,.16) !important; display: grid !important; gap: 9px !important; grid-template-columns: 142px 1fr !important; padding: 14px 0 !important; }
html body #page .jc-home-factory-checks strong { color: #fff !important; font-size: 14px !important; }
html body #page .jc-home-factory-checks span { color: rgba(255,255,255,.7) !important; font-size: 13px !important; line-height: 1.5 !important; }
html body #page .jc-home-factory-actions { margin-top: 30px !important; }
html body #page .jc-home-text-link {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    min-height: 48px !important;
    padding: 12px 18px !important;
    text-decoration: none !important;
    transition: background-color .2s ease,border-color .2s ease,color .2s ease !important;
}
html body #page .jc-home-factory .jc-home-text-link:hover,
html body #page .jc-home-factory .jc-home-text-link:focus-visible {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--home-green-dark) !important;
}

html body #page .jc-home-process-grid { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; }
html body #page .jc-home-process-grid article { border-left: 1px solid var(--home-line) !important; padding: 10px 24px 0 !important; position: relative !important; }
html body #page .jc-home-process-grid article:last-child { border-right: 1px solid var(--home-line) !important; }
html body #page .jc-home-process-grid article > span { align-items: center !important; background: var(--home-red) !important; border-radius: 50% !important; color: #fff !important; display: flex !important; font-family: Poppins,Arial,sans-serif !important; font-size: 12px !important; font-weight: 800 !important; height: 40px !important; justify-content: center !important; margin-bottom: 22px !important; width: 40px !important; }
html body #page .jc-home-process-grid h3 { color: var(--home-green) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 20px !important; line-height: 1.25 !important; margin: 0 0 10px !important; }
html body #page .jc-home-process-grid p { color: var(--home-muted) !important; font-size: 13px !important; line-height: 1.6 !important; margin: 0 !important; }

html body #page .jc-home-order-route { background: var(--home-cream) !important; }
html body #page .jc-home-route-grid { display: grid !important; gap: 18px !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
html body #page .jc-home-route-grid article { background: #fff !important; border: 1px solid var(--home-line) !important; border-top: 4px solid var(--home-green) !important; padding: 31px 28px !important; }
html body #page .jc-home-route-grid article > span { color: var(--home-red) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .1em !important; }
html body #page .jc-home-route-grid h3 { color: var(--home-green) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 23px !important; margin: 17px 0 12px !important; }
html body #page .jc-home-route-grid p { color: var(--home-muted) !important; font-size: 14px !important; line-height: 1.67 !important; margin: 0 !important; }
html body #page .jc-home-route-note { align-items: center !important; background: var(--home-green) !important; color: #fff !important; display: grid !important; gap: 18px !important; grid-template-columns: auto 1fr auto !important; margin-top: 18px !important; padding: 22px 26px !important; }
html body #page .jc-home-route-note strong { color: #fff !important; font-size: 14px !important; }
html body #page .jc-home-route-note span { color: rgba(255,255,255,.72) !important; font-size: 13px !important; line-height: 1.5 !important; }
html body #page .jc-home-route-note a { color: #fff !important; font-size: 13px !important; font-weight: 800 !important; }

html body #page .jc-home-market-grid { align-items: stretch !important; display: grid !important; gap: 72px !important; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr) !important; }
html body #page .jc-home-market-copy > p { color: var(--home-muted) !important; font-size: 16px !important; line-height: 1.72 !important; margin: 23px 0 28px !important; }
html body #page .jc-home-market-list { border-top: 1px solid var(--home-line) !important; }
html body #page .jc-home-market-list > div { border-bottom: 1px solid var(--home-line) !important; display: grid !important; gap: 20px !important; grid-template-columns: 145px 1fr !important; padding: 15px 0 !important; }
html body #page .jc-home-market-list strong { color: var(--home-green) !important; font-size: 14px !important; }
html body #page .jc-home-market-list span { color: var(--home-muted) !important; font-size: 13px !important; line-height: 1.5 !important; }
html body #page .jc-home-confidential-card { background: var(--home-warm) !important; border: 1px solid var(--home-line) !important; padding: 42px !important; }
html body #page .jc-home-confidential-card > span { display: block !important; margin-top: 0 !important; }
html body #page .jc-home-confidential-card h3 { font-size: 29px !important; margin: 15px 0 18px !important; }
html body #page .jc-home-confidential-card p { font-size: 15px !important; margin-bottom: 25px !important; }
html body #page .jc-home-confidential-card a { color: var(--home-red) !important; font-size: 13px !important; font-weight: 800 !important; }

html body #page .jc-home-faq { background: var(--home-warm) !important; }
html body #page .jc-home-faq-grid { display: grid !important; gap: 86px !important; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr) !important; }
html body #page .jc-home-faq-intro { align-self: start !important; position: sticky !important; top: 30px !important; }
html body #page .jc-home-faq-intro h2 { font-size: 39px !important; }
html body #page .jc-home-faq-intro p { color: var(--home-muted) !important; font-size: 15px !important; line-height: 1.72 !important; margin: 22px 0 25px !important; }
html body #page .jc-home-faq-intro a { color: var(--home-red) !important; font-size: 13px !important; font-weight: 800 !important; }
html body #page .jc-home-faq-list {
    border-top: 1px solid var(--home-line) !important;
    display: block !important;
    gap: 0 !important;
    grid-template-columns: none !important;
}
html body #page .jc-home-faq-list details {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--home-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
html body #page .jc-home-faq-list summary { color: var(--home-green) !important; cursor: pointer !important; font-family: Poppins,Arial,sans-serif !important; font-size: 17px !important; font-weight: 700 !important; list-style: none !important; padding: 21px 42px 21px 0 !important; position: relative !important; }
html body #page .jc-home-faq-list summary::-webkit-details-marker { display: none !important; }
html body #page .jc-home-faq-list summary::after { color: var(--home-red) !important; content: "+" !important; font-size: 24px !important; font-weight: 400 !important; position: absolute !important; right: 4px !important; top: 15px !important; }
html body #page .jc-home-faq-list details[open] summary::after { content: "−" !important; }
html body #page .jc-home-faq-list p { color: var(--home-muted) !important; font-size: 14px !important; line-height: 1.72 !important; margin: -4px 50px 21px 0 !important; }

html body #page .jc-home-final { background: var(--home-green-dark) !important; color: #fff !important; padding: 88px 0 !important; text-align: center !important; }
html body #page .jc-home-final .jc-home-wrap { max-width: 860px !important; }
html body #page .jc-home-final h2 { color: #fff !important; }
html body #page .jc-home-final p { color: rgba(255,255,255,.77) !important; font-size: 17px !important; line-height: 1.72 !important; margin: 22px auto 31px !important; max-width: 760px !important; }
html body #page .jc-home-final-actions { justify-content: center !important; }

@media (max-width: 1050px) {
    html body #page .jc-home-hero-grid { gap: 44px !important; grid-template-columns: minmax(0,.9fr) minmax(440px,1.1fr) !important; }
    html body #page .jc-home-proof-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
    html body #page .jc-home-proof-grid > div:nth-child(3) { border-right: 1px solid rgba(255,255,255,.16) !important; }
    html body #page .jc-home-buyer-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-home-buyer-grid > a { border-bottom: 1px solid var(--home-line) !important; }
    html body #page .jc-home-buyer-grid > a:nth-child(2) { border-right: 0 !important; }
    html body #page .jc-home-buyer-grid > a:nth-child(n+3) { border-bottom: 0 !important; }
    html body #page .jc-home-process-grid { gap: 0 !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; row-gap: 36px !important; }
    html body #page .jc-home-factory-grid { gap: 50px !important; }
}

@media (max-width: 900px) {
    html body #page .jc-home-hero { padding: 142px 0 70px !important; }
    html body #page .jc-home-hero-grid,
    html body #page .jc-home-heading.split,
    html body #page .jc-home-factory-grid,
    html body #page .jc-home-market-grid,
    html body #page .jc-home-faq-grid { grid-template-columns: 1fr !important; }
    html body #page .jc-home-heading.split { align-items: start !important; gap: 23px !important; }
    html body #page .jc-home-heading.split > p { margin: 0 !important; }
    html body #page .jc-home-factory-copy { grid-row: 1 !important; }
    html body #page .jc-home-factory-media { grid-row: 2 !important; }
    html body #page .jc-home-faq-grid { gap: 45px !important; }
    html body #page .jc-home-faq-intro { position: static !important; }
    html body #page .jc-home-route-note { align-items: start !important; grid-template-columns: 1fr !important; }
}

@media (max-width: 700px) {
    html body #page .jc-home-wrap { width: min(100% - 30px,1180px) !important; }
    html body #page .jc-home-section { padding: 68px 0 !important; }
    html body #page .jc-home-hero { padding: 128px 0 62px !important; }
    html body #page .jc-home-hero-copy h1 { font-size: 41px !important; }
    html body #page .jc-home-lead { font-size: 16px !important; }
    html body #page .jc-home-button { min-width: 100% !important; }
    html body #page .jc-home-hero-media { gap: 9px !important; }
    html body #page .jc-home-hero-main { height: 245px !important; }
    html body #page .jc-home-hero-small { height: 145px !important; }
    html body #page .jc-home-hero-main figcaption span { display: none !important; }
    html body #page .jc-home-proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-home-proof-grid > div { border-bottom: 1px solid rgba(255,255,255,.16) !important; min-height: 100px !important; padding: 22px 15px !important; }
    html body #page .jc-home-proof-grid > div:nth-child(even) { border-right: 1px solid rgba(255,255,255,.16) !important; }
    html body #page .jc-home-heading { margin-bottom: 34px !important; }
    html body #page .jc-home-heading h2,
    html body #page .jc-home-factory-copy h2,
    html body #page .jc-home-market-copy h2,
    html body #page .jc-home-faq-intro h2,
    html body #page .jc-home-final h2 { font-size: 32px !important; }
    html body #page .jc-home-heading > p { font-size: 15px !important; }
    html body #page .jc-home-buyer-grid { grid-template-columns: 1fr !important; }
    html body #page .jc-home-buyer-grid > a { border-bottom: 1px solid var(--home-line) !important; border-right: 0 !important; min-height: 260px !important; }
    html body #page .jc-home-buyer-grid > a:nth-child(n+3) { border-bottom: 1px solid var(--home-line) !important; }
    html body #page .jc-home-buyer-grid > a:last-child { border-bottom: 0 !important; }
    html body #page .jc-home-product-card.traditional,
    html body #page .jc-home-product-card.luxury,
    html body #page .jc-home-product-card.party,
    html body #page .jc-home-config-card { grid-column: 1 / -1 !important; }
    html body #page .jc-home-config-card { padding: 30px 24px !important; }
    html body #page .jc-home-config-card h3 { font-size: 27px !important; }
    html body #page .jc-home-factory { padding: 70px 0 !important; }
    html body #page .jc-home-factory-media { grid-template-columns: 1fr !important; }
    html body #page .jc-home-factory-main { grid-row: auto !important; }
    html body #page .jc-home-factory-main img { min-height: 280px !important; }
    html body #page .jc-home-video-card { height: 220px !important; }
    html body #page .jc-home-factory-checks > div { gap: 5px !important; grid-template-columns: 1fr !important; }
    html body #page .jc-home-process-grid,
    html body #page .jc-home-route-grid { grid-template-columns: 1fr !important; }
    html body #page .jc-home-process-grid article { border-bottom: 1px solid var(--home-line) !important; border-left: 0 !important; border-right: 0 !important; padding: 21px 0 !important; }
    html body #page .jc-home-process-grid article > span { margin-bottom: 15px !important; }
    html body #page .jc-home-market-list > div { gap: 7px !important; grid-template-columns: 1fr !important; }
    html body #page .jc-home-confidential-card { padding: 30px 24px !important; }
    html body #page .jc-home-faq-list summary { font-size: 15px !important; padding-right: 35px !important; }
    html body #page .jc-home-faq-list p { margin-right: 25px !important; }
    html body #page .jc-home-final { padding: 70px 0 !important; }
}

/* Homepage full-photo identity and shorter buyer journey v0.3.78 */
html body #page .jc-home-hero {
    align-items: center !important;
    background-color: var(--home-green-dark) !important;
    background-image: var(--jc-home-hero-image) !important;
    background-position: center 48% !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    border-bottom: 0 !important;
    display: flex !important;
    min-height: 720px !important;
    overflow: hidden !important;
    padding: 188px 0 92px !important;
    position: relative !important;
}
html body.jc-home-v2-template #page .jc-home-hero::before {
    background: linear-gradient(90deg,rgba(5,27,20,.80) 0%,rgba(7,35,27,.70) 42%,rgba(7,35,27,.38) 72%,rgba(7,35,27,.28) 100%) !important;
    content: "" !important;
    display: block !important;
    inset: 0 !important;
    position: absolute !important;
    z-index: 0 !important;
}
html body.jc-home-v2-template #page .jc-home-hero::after {
    background: linear-gradient(180deg,rgba(4,22,17,.30),transparent 28%,transparent 75%,rgba(4,22,17,.22)) !important;
    content: "" !important;
    display: block !important;
    inset: 0 !important;
    position: absolute !important;
    z-index: 0 !important;
}
html body #page .jc-home-hero-grid {
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
}
html body #page .jc-home-hero-copy { max-width: 760px !important; }
html body #page .jc-home-hero-copy h1 {
    color: #fff !important;
    font-size: clamp(48px,5.25vw,70px) !important;
    line-height: 1.01 !important;
    max-width: 750px !important;
    text-shadow: 0 2px 22px rgba(0,0,0,.22) !important;
}
html body #page .jc-home-hero .jc-home-kicker { color: #f4c2bc !important; }
html body #page .jc-home-hero .jc-home-lead {
    color: rgba(255,255,255,.90) !important;
    font-size: 18px !important;
    max-width: 700px !important;
    text-shadow: 0 1px 12px rgba(0,0,0,.18) !important;
}
html body #page .jc-home-hero .jc-home-button.primary {
    background: var(--home-red) !important;
    border-color: var(--home-red) !important;
    color: #fff !important;
}
html body #page .jc-home-hero .jc-home-button.secondary {
    background: rgba(8,35,27,.18) !important;
    border-color: rgba(255,255,255,.82) !important;
    color: #fff !important;
}
html body #page .jc-home-hero .jc-home-button.primary:hover,
html body #page .jc-home-hero .jc-home-button.secondary:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--home-green) !important;
}
html body #page .jc-home-hero-note {
    border-left-color: #efb4ae !important;
    max-width: 680px !important;
}
html body #page .jc-home-hero-note strong { color: #fff !important; }
html body #page .jc-home-hero-note span { color: rgba(255,255,255,.78) !important; }
html body #page .jc-home-proof { background: var(--home-green) !important; }
html body #page .jc-home-proof-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
html body #page .jc-home-proof-grid > div { min-height: 96px !important; padding: 22px 24px !important; }
html body #page .jc-home-proof-grid > div:nth-child(3) { border-right: 0 !important; }

html body #page .jc-home-buyer-grid > a { min-height: 282px !important; }

html body #page .jc-home-process { background: var(--home-cream) !important; }
html body #page .jc-home-process-layout {
    align-items: stretch !important;
    display: grid !important;
    gap: 46px !important;
    grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr) !important;
}
html body #page .jc-home-process-visual {
    background: var(--home-green-dark) !important;
    margin: 0 !important;
    min-height: 570px !important;
    overflow: hidden !important;
    position: relative !important;
}
html body #page .jc-home-process-visual img {
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}
html body #page .jc-home-process-visual figcaption {
    background: linear-gradient(180deg,transparent,rgba(6,31,23,.94)) !important;
    bottom: 0 !important;
    color: #fff !important;
    display: grid !important;
    gap: 6px !important;
    left: 0 !important;
    padding: 80px 30px 26px !important;
    position: absolute !important;
    right: 0 !important;
}
html body #page .jc-home-process-visual figcaption strong { color: #fff !important; font-size: 17px !important; }
html body #page .jc-home-process-visual figcaption span { color: rgba(255,255,255,.76) !important; font-size: 13px !important; line-height: 1.55 !important; }
html body #page .jc-home-process-grid {
    border-top: 1px solid var(--home-line) !important;
    display: block !important;
}
html body #page .jc-home-process-grid article,
html body #page .jc-home-process-grid article:last-child {
    align-items: start !important;
    border: 0 !important;
    border-bottom: 1px solid var(--home-line) !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: 42px 1fr !important;
    padding: 19px 0 !important;
}
html body #page .jc-home-process-grid article > span {
    height: 38px !important;
    margin: 0 !important;
    width: 38px !important;
}
html body #page .jc-home-process-grid h3 { font-size: 19px !important; margin: 0 0 5px !important; }
html body #page .jc-home-process-grid p { font-size: 13px !important; }
html body #page .jc-home-route-strip {
    background: var(--home-green) !important;
    color: #fff !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) auto !important;
    margin-top: 22px !important;
}
html body #page .jc-home-route-strip > div {
    border-right: 1px solid rgba(255,255,255,.16) !important;
    display: grid !important;
    gap: 5px !important;
    padding: 22px 23px !important;
}
html body #page .jc-home-route-strip strong { color: #fff !important; font-size: 13px !important; }
html body #page .jc-home-route-strip span { color: rgba(255,255,255,.70) !important; font-size: 12px !important; line-height: 1.48 !important; }
html body #page .jc-home-route-strip > a {
    align-items: center !important;
    background: var(--home-red) !important;
    color: #fff !important;
    display: flex !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    justify-content: center !important;
    min-width: 185px !important;
    padding: 20px !important;
    text-decoration: none !important;
}
html body #page .jc-home-route-strip > a:hover { background: var(--home-red-dark) !important; }

@media (max-width: 1050px) {
    html body #page .jc-home-process-layout { gap: 34px !important; }
    html body #page .jc-home-route-strip { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
    html body #page .jc-home-route-strip > a { grid-column: 1 / -1 !important; min-height: 58px !important; }
}
@media (max-width: 900px) {
    html body #page .jc-home-hero { min-height: 680px !important; padding: 150px 0 78px !important; }
    html body #page .jc-home-hero-copy { max-width: 680px !important; }
    html body #page .jc-home-process-layout { grid-template-columns: 1fr !important; }
    html body #page .jc-home-process-visual { min-height: 440px !important; }
}
@media (max-width: 700px) {
    html body #page .jc-home-hero {
        background-position: 55% center !important;
        min-height: 640px !important;
        padding: 126px 0 58px !important;
    }
    html body.jc-home-v2-template #page .jc-home-hero::before {
        background: rgba(5,29,22,.70) !important;
    }
    html body #page .jc-home-hero-copy h1 { font-size: 39px !important; }
    html body #page .jc-home-hero .jc-home-kicker {
        font-size: 10px !important;
        letter-spacing: .1em !important;
        line-height: 1.5 !important;
        max-width: 100% !important;
        padding: 7px 10px !important;
        white-space: normal !important;
        width: fit-content !important;
    }
    html body #page .jc-home-hero .jc-home-lead { font-size: 15px !important; line-height: 1.65 !important; }
    html body #page .jc-home-hero-note { margin-top: 23px !important; }
    html body #page .jc-home-proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-home-proof-grid > div { min-height: 96px !important; padding: 19px 15px !important; }
    html body #page .jc-home-proof-grid > div:nth-child(3) { border-right: 0 !important; }
    html body #page .jc-home-buyer-grid > a { min-height: 220px !important; padding: 25px 23px !important; }
    html body #page .jc-home-buyer-grid h3 { margin-top: 19px !important; }
    html body #page .jc-home-process-visual { min-height: 340px !important; }
    html body #page .jc-home-process-visual figcaption { padding: 62px 22px 20px !important; }
    html body #page .jc-home-process-grid article,
    html body #page .jc-home-process-grid article:last-child { grid-template-columns: 38px 1fr !important; padding: 17px 0 !important; }
    html body #page .jc-home-route-strip { grid-template-columns: 1fr !important; }
    html body #page .jc-home-route-strip > div { border-bottom: 1px solid rgba(255,255,255,.16) !important; border-right: 0 !important; }
    html body #page .jc-home-route-strip > a { grid-column: auto !important; }
}

/* UK and Australia content consolidated into Wholesale Solutions v0.3.75 */
html body #page .jc-ws-market-section { background: #fff !important; }
html body #page .jc-ws-market-grid {
    display: grid !important;
    gap: 24px !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
html body #page .jc-ws-market-card {
    background: var(--ws-cream) !important;
    border: 1px solid var(--ws-line) !important;
    border-top: 5px solid var(--ws-green) !important;
    padding: 38px 36px !important;
    scroll-margin-top: 170px !important;
    transition: border-color .2s ease,box-shadow .2s ease !important;
}
html body #page .jc-ws-market-card:target {
    border-color: var(--ws-red) !important;
    box-shadow: 0 18px 50px rgba(155,36,29,.14) !important;
}
html body #page .jc-ws-market-card > span {
    color: var(--ws-red) !important;
    display: block !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    margin-bottom: 14px !important;
}
html body #page .jc-ws-market-card h3 {
    color: var(--ws-green) !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 29px !important;
    letter-spacing: -.025em !important;
    line-height: 1.2 !important;
    margin: 0 0 16px !important;
}
html body #page .jc-ws-market-card > p {
    color: var(--ws-muted) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 0 0 22px !important;
}
html body #page .jc-ws-market-card ul {
    border-top: 1px solid var(--ws-line) !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body #page .jc-ws-market-card li {
    border-bottom: 1px solid var(--ws-line) !important;
    color: var(--ws-ink) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    padding: 13px 0 13px 25px !important;
    position: relative !important;
}
html body #page .jc-ws-market-card li::before {
    color: var(--ws-red) !important;
    content: "✓" !important;
    font-weight: 800 !important;
    left: 1px !important;
    position: absolute !important;
}
html body #page .jc-ws-market-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 22px !important;
    margin-top: 24px !important;
}
html body #page .jc-ws-market-links a {
    color: var(--ws-red) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}
html body #page .jc-ws-market-note {
    align-items: start !important;
    background: var(--ws-green) !important;
    color: #fff !important;
    display: grid !important;
    gap: 24px !important;
    grid-template-columns: 215px 1fr !important;
    margin-top: 24px !important;
    padding: 25px 28px !important;
}
html body #page .jc-ws-market-note strong { color: #fff !important; font-size: 14px !important; }
html body #page .jc-ws-market-note span { color: rgba(255,255,255,.78) !important; font-size: 13px !important; line-height: 1.6 !important; }

@media (max-width: 760px) {
    html body #page .jc-ws-market-grid { grid-template-columns: 1fr !important; }
    html body #page .jc-ws-market-card { padding: 30px 23px !important; scroll-margin-top: 125px !important; }
    html body #page .jc-ws-market-card h3 { font-size: 25px !important; }
    html body #page .jc-ws-market-note { gap: 8px !important; grid-template-columns: 1fr !important; padding: 22px !important; }
}

/* Wholesale Solutions v0.3.38 ------------------------------------------------ */
/* Remove the theme's generic page-title card and outer article spacing. The
   code-built solution pages provide their own hero and final CTA. */
body.jc-ws-template #primary {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    width: 100% !important;
}
body.jc-ws-template article.ast-article-single {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}
body.jc-ws-template article.ast-article-single > .entry-header,
body.jc-ws-template article.ast-article-single > div > .entry-header {
    display: none !important;
}
body.jc-ws-template .entry-content {
    margin: 0 !important;
}
html body.jc-ws-template #page .jc-ws-hero {
    padding-top: 168px !important;
}

html body #page .jc-ws-page {
    --ws-green: #0f3d2e;
    --ws-green-2: #174f3d;
    --ws-red: #9b241d;
    --ws-red-dark: #761b16;
    --ws-ink: #171a18;
    --ws-muted: #555d58;
    --ws-cream: #f7f2e9;
    --ws-warm: #f2ede4;
    --ws-line: #ded8ce;
    background: #fff !important;
    color: var(--ws-ink) !important;
    overflow: hidden !important;
}
html body #page .jc-ws-page *,
html body #page .jc-ws-page *::before,
html body #page .jc-ws-page *::after { box-sizing: border-box !important; }
html body #page .jc-ws-page :where(h1,h2,h3,p,li,strong,span,small,figcaption) { color: inherit !important; }
html body #page .jc-ws-wrap {
    margin: 0 auto !important;
    max-width: 1180px !important;
    width: min(1180px, calc(100% - 48px)) !important;
}
html body #page .jc-ws-hero { background: var(--ws-cream) !important; padding: 92px 0 84px !important; }
html body #page .jc-ws-hero-grid {
    align-items: center !important;
    display: grid !important;
    gap: 70px !important;
    grid-template-columns: minmax(0,1.02fr) minmax(420px,.98fr) !important;
}
html body #page .jc-ws-kicker {
    color: var(--ws-red) !important;
    display: block !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
    line-height: 1.4 !important;
    margin: 0 0 17px !important;
    text-transform: uppercase !important;
}
html body #page .jc-ws-hero h1 {
    color: var(--ws-green) !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: clamp(46px,5vw,72px) !important;
    font-weight: 800 !important;
    letter-spacing: -.045em !important;
    line-height: 1.02 !important;
    margin: 0 0 28px !important;
}
/* Keep long buyer-route headings authoritative without allowing them to
 * dominate the complete first screen. Short four-line headings retain the
 * standard scale; only the routes measured above four lines are reduced. */
html body #page .jc-ws-page--hub .jc-ws-hero h1,
html body #page .jc-ws-page--distributor .jc-ws-hero h1,
html body #page .jc-ws-page--corporate .jc-ws-hero h1,
html body #page .jc-ws-page--private .jc-ws-hero h1 { font-size: 50px !important; line-height: 1.08 !important; }
html body #page .jc-ws-page--volume .jc-ws-hero h1 { font-size: 48px !important; line-height: 1.08 !important; }
html body #page .jc-ws-lead {
    color: #343a37 !important;
    font-size: 18px !important;
    line-height: 1.72 !important;
    margin: 0 !important;
    max-width: 720px !important;
}
html body #page .jc-ws-actions { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; margin-top: 32px !important; }
html body #page .jc-ws-button {
    align-items: center !important;
    border: 1px solid transparent !important;
    border-radius: 3px !important;
    display: inline-flex !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    justify-content: center !important;
    min-height: 50px !important;
    padding: 13px 22px !important;
    text-decoration: none !important;
    transition: background .2s ease,border-color .2s ease,color .2s ease !important;
}
html body #page .jc-ws-button.primary { background: var(--ws-red) !important; color: #fff !important; }
html body #page .jc-ws-button.primary:hover { background: var(--ws-red-dark) !important; color: #fff !important; }
html body #page .jc-ws-button.secondary { background: transparent !important; border-color: var(--ws-green) !important; color: var(--ws-green) !important; }
html body #page .jc-ws-button.secondary:hover { background: var(--ws-green) !important; color: #fff !important; }
html body #page .jc-ws-button.secondary.light { border-color: rgba(255,255,255,.65) !important; color: #fff !important; }
html body #page .jc-ws-button.secondary.light:hover { background: #fff !important; color: var(--ws-green) !important; }
@media (min-width: 681px) {
    html body #page .jc-ws-page--corporate .jc-ws-hero .jc-ws-actions {
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: minmax(0,1.55fr) minmax(180px,.85fr) !important;
        max-width: 680px !important;
    }
    html body #page .jc-ws-page--corporate .jc-ws-hero .jc-ws-actions .jc-ws-button {
        font-size: 13px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        white-space: nowrap !important;
        width: 100% !important;
    }
}
html body #page .jc-ws-media-card {
    background: #fff !important;
    border: 1px solid rgba(23,26,24,.1) !important;
    border-radius: 4px !important;
    box-shadow: 0 18px 42px rgba(25,35,29,.1) !important;
    margin: 0 !important;
    overflow: hidden !important;
}
html body #page .jc-ws-media-card img {
    aspect-ratio: 4 / 3 !important;
    display: block !important;
    object-fit: cover !important;
    width: 100% !important;
}
html body #page .jc-ws-media-card figcaption { color: #4f5652 !important; font-size: 13px !important; line-height: 1.5 !important; padding: 14px 17px 16px !important; }
html body #page .jc-ws-proof-strip { background: var(--ws-green) !important; padding: 24px 0 !important; }
html body #page .jc-ws-proof-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
html body #page .jc-ws-proof-grid > div { border-right: 1px solid rgba(255,255,255,.18) !important; padding: 8px 24px !important; }
html body #page .jc-ws-proof-grid > div:first-child { padding-left: 0 !important; }
html body #page .jc-ws-proof-grid > div:last-child { border-right: 0 !important; }
html body #page .jc-ws-proof-grid strong { color: #fff !important; display: block !important; font-family: Poppins,Arial,sans-serif !important; font-size: 17px !important; margin-bottom: 4px !important; }
html body #page .jc-ws-proof-grid span { color: rgba(255,255,255,.72) !important; display: block !important; font-size: 12px !important; line-height: 1.45 !important; }
html body #page .jc-ws-section { background: #fff !important; padding: 82px 0 88px !important; }
html body #page .jc-ws-section--warm { background: var(--ws-warm) !important; }
html body #page .jc-ws-section--compact { background: var(--ws-cream) !important; padding: 62px 0 68px !important; }
html body #page .jc-ws-heading { margin-bottom: 38px !important; max-width: 820px !important; }
html body #page .jc-ws-heading.centered { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
html body #page .jc-ws-page h2 {
    color: var(--ws-green) !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: clamp(34px,4vw,52px) !important;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
    line-height: 1.12 !important;
    margin: 0 0 20px !important;
}
html body #page .jc-ws-page h3 { color: var(--ws-green) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 20px !important; line-height: 1.3 !important; margin: 0 0 12px !important; }
html body #page .jc-ws-page p { color: var(--ws-muted) !important; font-size: 16px !important; line-height: 1.72 !important; }
html body #page .jc-ws-path-grid,
html body #page .jc-ws-range-grid,
html body #page .jc-ws-feature-grid,
html body #page .jc-ws-use-grid,
html body #page .jc-ws-detail-grid,
html body #page .jc-ws-faq-grid { display: grid !important; gap: 18px !important; }
html body #page .jc-ws-path-grid,
html body #page .jc-ws-range-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
html body #page .jc-ws-feature-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
html body #page .jc-ws-use-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
html body #page .jc-ws-detail-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
html body #page .jc-ws-faq-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
html body #page :where(.jc-ws-path-grid,.jc-ws-range-grid,.jc-ws-feature-grid,.jc-ws-use-grid) article {
    background: #fff !important;
    border: 1px solid var(--ws-line) !important;
    border-radius: 4px !important;
    min-width: 0 !important;
    padding: 30px 29px 31px !important;
}
html body #page :where(.jc-ws-detail-grid,.jc-ws-faq-grid) article {
    background: #fff !important;
    border: 1px solid var(--ws-line) !important;
    border-radius: 4px !important;
    min-width: 0 !important;
    padding: 27px 26px 29px !important;
}
html body #page .jc-ws-detail-grid article { border-top: 4px solid var(--ws-green) !important; }
html body #page .jc-ws-detail-grid article > span {
    color: var(--ws-red) !important;
    display: block !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .1em !important;
    margin-bottom: 14px !important;
}
html body #page .jc-ws-detail-grid h3,
html body #page .jc-ws-faq-grid h3 { font-size: 18px !important; margin-bottom: 10px !important; }
html body #page .jc-ws-detail-grid p,
html body #page .jc-ws-faq-grid p { font-size: 14px !important; line-height: 1.65 !important; margin: 0 !important; }
html body #page .jc-ws-faq-grid article { border-left: 4px solid var(--ws-red) !important; }
html body #page .jc-ws-trust-line + .jc-ws-faq-grid { margin-top: 18px !important; }
html body #page .jc-ws-trust-line {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid var(--ws-line) !important;
    border-radius: 4px !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    margin-top: 24px !important;
    padding: 22px 24px !important;
}
html body #page .jc-ws-trust-line > div { border-right: 1px solid var(--ws-line) !important; padding-right: 18px !important; }
html body #page .jc-ws-trust-line > div:last-child { border-right: 0 !important; padding-right: 0 !important; }
html body #page .jc-ws-trust-line strong { color: var(--ws-green) !important; display: block !important; font-size: 15px !important; margin-bottom: 5px !important; }
html body #page .jc-ws-trust-line span { color: var(--ws-muted) !important; display: block !important; font-size: 13px !important; line-height: 1.5 !important; }
html body #page :where(.jc-ws-path-grid,.jc-ws-range-grid,.jc-ws-feature-grid,.jc-ws-use-grid) article > span {
    color: var(--ws-red) !important;
    display: block !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .11em !important;
    margin-bottom: 18px !important;
}
html body #page .jc-ws-path-grid article { border-top: 4px solid var(--ws-green) !important; }
html body #page .jc-ws-path-grid article p { margin: 0 0 18px !important; }
html body #page .jc-ws-path-grid article a,
html body #page .jc-ws-text-link { color: var(--ws-red) !important; font-size: 14px !important; font-weight: 800 !important; text-decoration: none !important; }
html body #page .jc-ws-split,
html body #page .jc-ws-order-grid { align-items: center !important; display: grid !important; gap: 68px !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
html body #page .jc-ws-split.reverse > :first-child { order: 2 !important; }
html body #page .jc-ws-order-options,
html body #page .jc-ws-check-stack { display: grid !important; gap: 12px !important; }
html body #page .jc-ws-order-options > div,
html body #page .jc-ws-check-stack > div {
    background: #fff !important;
    border: 1px solid var(--ws-line) !important;
    border-left: 4px solid var(--ws-red) !important;
    padding: 18px 20px !important;
}
html body #page .jc-ws-order-options strong,
html body #page .jc-ws-check-stack strong { color: var(--ws-green) !important; display: block !important; font-size: 15px !important; margin-bottom: 4px !important; }
html body #page .jc-ws-order-options span,
html body #page .jc-ws-check-stack span { color: var(--ws-muted) !important; display: block !important; font-size: 14px !important; line-height: 1.5 !important; }
html body #page .jc-ws-timeline { counter-reset: none !important; display: grid !important; gap: 16px !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
html body #page .jc-ws-timeline li { background: #fff !important; border: 1px solid var(--ws-line) !important; border-radius: 4px !important; min-width: 0 !important; padding: 27px 23px !important; }
html body #page .jc-ws-timeline li > span { color: var(--ws-red) !important; display: block !important; font-family: Poppins,Arial,sans-serif !important; font-size: 13px !important; font-weight: 800 !important; margin-bottom: 20px !important; }
html body #page .jc-ws-timeline h3 { font-size: 18px !important; }
html body #page .jc-ws-timeline p { font-size: 14px !important; line-height: 1.55 !important; margin: 0 !important; }
html body #page .jc-ws-note { align-items: start !important; background: var(--ws-green) !important; border-radius: 4px !important; display: grid !important; gap: 16px !important; grid-template-columns: 140px minmax(0,1fr) !important; margin-top: 24px !important; padding: 22px 25px !important; }
html body #page .jc-ws-note strong { color: #fff !important; font-size: 14px !important; }
html body #page .jc-ws-note span { color: rgba(255,255,255,.8) !important; font-size: 14px !important; line-height: 1.6 !important; }
html body #page .jc-ws-data-table,
html body #page .jc-ws-comparison { border: 1px solid var(--ws-line) !important; border-radius: 4px !important; overflow: hidden !important; }
html body #page .jc-ws-data-table > div,
html body #page .jc-ws-comparison > div { align-items: start !important; background: #fff !important; border-bottom: 1px solid var(--ws-line) !important; display: grid !important; gap: 24px !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; padding: 19px 22px !important; }
html body #page .jc-ws-data-table > div:last-child,
html body #page .jc-ws-comparison > div:last-child { border-bottom: 0 !important; }
html body #page .jc-ws-data-table .head,
html body #page .jc-ws-comparison .head { background: var(--ws-green) !important; }
html body #page .jc-ws-data-table .head strong,
html body #page .jc-ws-comparison .head strong { color: #fff !important; }
html body #page .jc-ws-data-table span,
html body #page .jc-ws-comparison span,
html body #page .jc-ws-comparison strong { font-size: 14px !important; line-height: 1.55 !important; }
html body #page .jc-ws-comparison > div:not(.head) > strong { color: var(--ws-green) !important; }
html body #page .jc-ws-brief-card,
html body #page .jc-ws-confidential-card { background: var(--ws-green) !important; border-radius: 4px !important; padding: 34px 32px 36px !important; }
html body #page .jc-ws-brief-card > span,
html body #page .jc-ws-confidential-card > span { color: #efc8c4 !important; display: block !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .1em !important; margin-bottom: 15px !important; }
html body #page .jc-ws-brief-card h3,
html body #page .jc-ws-confidential-card h3 { color: #fff !important; font-size: 26px !important; }
html body #page .jc-ws-brief-card p,
html body #page .jc-ws-confidential-card p,
html body #page .jc-ws-brief-card li { color: rgba(255,255,255,.8) !important; }
html body #page .jc-ws-brief-card ul { margin: 18px 0 0 18px !important; }
html body #page .jc-ws-brief-card li { font-size: 14px !important; line-height: 1.55 !important; margin-bottom: 9px !important; }
html body #page .jc-ws-confidential-card a { color: #fff !important; font-size: 14px !important; font-weight: 800 !important; }
html body #page .jc-ws-big-date { color: #fff !important; display: block !important; font-family: Poppins,Arial,sans-serif !important; font-size: 40px !important; margin-top: 24px !important; }
html body #page .jc-ws-brief-card small { color: rgba(255,255,255,.66) !important; display: block !important; font-size: 13px !important; }
html body #page .jc-ws-system-flow { align-items: stretch !important; display: grid !important; gap: 16px !important; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr !important; }
html body #page .jc-ws-system-flow > div { background: var(--ws-cream) !important; border: 1px solid var(--ws-line) !important; border-radius: 4px !important; padding: 27px 21px !important; text-align: center !important; }
html body #page .jc-ws-system-flow span { color: var(--ws-red) !important; display: block !important; font-size: 12px !important; font-weight: 800 !important; margin-bottom: 12px !important; }
html body #page .jc-ws-system-flow strong { color: var(--ws-green) !important; display: block !important; font-size: 16px !important; }
html body #page .jc-ws-system-flow small { color: var(--ws-muted) !important; display: block !important; font-size: 12px !important; line-height: 1.45 !important; margin-top: 6px !important; }
html body #page .jc-ws-system-flow i { align-self: center !important; color: var(--ws-red) !important; font-size: 24px !important; font-style: normal !important; }
html body #page .jc-ws-brief-list { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; justify-content: center !important; }
html body #page .jc-ws-brief-list span { background: #fff !important; border: 1px solid var(--ws-line) !important; border-radius: 30px !important; color: var(--ws-green) !important; font-size: 13px !important; font-weight: 700 !important; padding: 11px 18px !important; }
html body #page .jc-ws-format-grid { display: grid !important; gap: 20px !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
html body #page .jc-ws-format-grid article { background: #fff !important; border: 1px solid var(--ws-line) !important; border-top: 5px solid var(--ws-green) !important; padding: 34px 32px !important; }
html body #page .jc-ws-format-grid article > span { color: var(--ws-red) !important; display: block !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .1em !important; margin-bottom: 16px !important; }
html body #page .jc-ws-format-grid ul { margin: 18px 0 0 19px !important; }
html body #page .jc-ws-format-grid li { color: var(--ws-muted) !important; font-size: 14px !important; line-height: 1.55 !important; margin-bottom: 9px !important; }
html body #page .jc-ws-number-list { display: grid !important; gap: 10px !important; }
html body #page .jc-ws-number-list > div { align-items: center !important; border-bottom: 1px solid var(--ws-line) !important; display: grid !important; gap: 15px !important; grid-template-columns: 44px minmax(0,1fr) !important; padding: 13px 0 !important; }
html body #page .jc-ws-number-list span { color: var(--ws-red) !important; font-size: 12px !important; font-weight: 800 !important; }
html body #page .jc-ws-number-list strong { color: var(--ws-green) !important; font-size: 15px !important; }
html body #page .jc-ws-cta { background: var(--ws-green) !important; padding: 78px 0 84px !important; text-align: center !important; }
html body #page .jc-ws-cta .jc-ws-kicker { color: #efc8c4 !important; }
html body #page .jc-ws-cta h2 { color: #fff !important; }
html body #page .jc-ws-cta p { color: rgba(255,255,255,.8) !important; margin: 0 auto 28px !important; max-width: 820px !important; }

/* The hub is a chooser; audience pages each use a visibly different hero.
   Light hero surfaces keep the overlay navigation visibly separate instead
   of merging two same-colour green blocks. */
html body #page .jc-ws-page--hub .jc-ws-hero {
    background: linear-gradient(135deg,#f8f4ed 0%,#efe5d7 100%) !important;
    border-bottom: 1px solid #ded3c5 !important;
}
html body #page .jc-ws-page--hub {
    margin-left: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw !important;
}
html body #page .jc-ws-page--hub .jc-ws-hero h1 { color: var(--ws-green) !important; }
html body #page .jc-ws-page--hub .jc-ws-hero .jc-ws-kicker { color: var(--ws-red) !important; }
html body #page .jc-ws-page--hub .jc-ws-hero .jc-ws-lead { color: #343a37 !important; }
html body #page .jc-ws-hero-choice { display: grid !important; gap: 10px !important; }
html body #page .jc-ws-hero-choice a { align-items: center !important; background: rgba(255,255,255,.78) !important; border: 1px solid #d8cec0 !important; border-left: 4px solid var(--ws-green) !important; border-radius: 4px !important; display: grid !important; gap: 14px !important; grid-template-columns: 38px minmax(0,1fr) !important; padding: 16px 18px !important; text-decoration: none !important; transition: background .2s ease,border-color .2s ease,transform .2s ease !important; }
html body #page .jc-ws-hero-choice a:hover { background: #fff !important; border-left-color: var(--ws-red) !important; transform: translateX(3px) !important; }
html body #page .jc-ws-hero-choice span { color: var(--ws-red) !important; font-size: 12px !important; font-weight: 800 !important; grid-row: 1 / 3 !important; }
html body #page .jc-ws-hero-choice strong { color: var(--ws-green) !important; font-size: 15px !important; }
html body #page .jc-ws-hero-choice small { color: var(--ws-muted) !important; font-size: 12px !important; }
html body #page .jc-ws-page--corporate .jc-ws-hero {
    background: linear-gradient(135deg,#f8f3ec 0%,#f2e8e5 100%) !important;
    border-bottom: 1px solid #dfd2cc !important;
}
html body #page .jc-ws-page--corporate .jc-ws-hero h1 { color: var(--ws-green) !important; }
html body #page .jc-ws-page--corporate .jc-ws-hero .jc-ws-kicker { color: var(--ws-red) !important; }
html body #page .jc-ws-page--corporate .jc-ws-hero .jc-ws-lead { color: #343a37 !important; }
html body #page .jc-ws-page--distributor .jc-ws-hero { background: #fff !important; border-bottom: 1px solid var(--ws-line) !important; }
html body #page .jc-ws-page--private .jc-ws-hero { background: #f6f2eb !important; }
html body #page .jc-ws-page--private .jc-ws-feature-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
html body #page .jc-ws-page--volume .jc-ws-hero { background: #eeeee9 !important; }

/* Christmas Crackers product-range hub ----------------------------------- */
html body #page .jc-pr-page {
    margin-left: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw !important;
}
html body #page .jc-pr-hero {
    background: linear-gradient(135deg,#f8f4ed 0%,#efe5d7 100%) !important;
    border-bottom: 1px solid #ded3c5 !important;
}
html body #page .jc-pr-hero-media img { aspect-ratio: 3 / 2 !important; object-position: center !important; }
html body #page .jc-pr-range-grid article { display: flex !important; flex-direction: column !important; }
html body #page .jc-pr-range-grid article p { flex: 1 1 auto !important; margin: 0 0 18px !important; }
html body #page .jc-pr-card-link,
html body #page .jc-pr-inline-link,
html body #page .jc-pr-page-map a,
html body #page .jc-pr-factory-link a {
    color: var(--ws-red) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}
html body #page .jc-pr-card-link:hover,
html body #page .jc-pr-inline-link:hover,
html body #page .jc-pr-page-map a:hover,
html body #page .jc-pr-factory-link a:hover { color: var(--ws-green) !important; text-decoration: underline !important; }
html body #page .jc-pr-inline-link { display: inline-block !important; margin-top: 8px !important; }
html body #page .jc-pr-page-map a { font-size: inherit !important; }
html body #page .jc-pr-factory-link { margin: 23px 0 0 !important; text-align: center !important; }
html body #page .jc-pr-eco-media img { object-position: center !important; }

/* Primary product hub visual system v0.3.90 */
html body #page .jc-pr-primary-hero {
    background: linear-gradient(125deg,#fbf8f2 0%,#f2eadf 62%,#ebe2d6 100%) !important;
    border-bottom: 1px solid #dbd0c2 !important;
    padding: 166px 0 54px !important;
    position: relative !important;
}
html body #page .jc-pr-hero-grid-v2 {
    align-items: center !important;
    display: grid !important;
    gap: 52px !important;
    grid-template-columns: minmax(0,.88fr) minmax(520px,1.12fr) !important;
}
html body #page .jc-pr-hero-copy-v2 { min-width: 0 !important; }
html body #page .jc-pr-primary-hero .jc-ws-kicker { color: var(--ws-red) !important; }
html body #page .jc-pr-primary-hero h1 {
    color: var(--ws-green) !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: clamp(44px,4.2vw,62px) !important;
    font-weight: 800 !important;
    letter-spacing: -.043em !important;
    line-height: 1.05 !important;
    margin: 18px 0 23px !important;
    max-width: 650px !important;
}
html body #page .jc-pr-primary-hero .jc-ws-lead {
    font-size: 17px !important;
    margin: 0 !important;
    max-width: 620px !important;
}
html body #page .jc-pr-primary-hero .jc-ws-actions { justify-content: flex-start !important; }
html body #page .jc-pr-hero-note {
    border-left: 3px solid var(--ws-red) !important;
    color: #525954 !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    margin: 24px 0 0 !important;
    max-width: 580px !important;
    padding-left: 14px !important;
}
html body #page .jc-pr-hero-note strong { color: var(--ws-green) !important; }
html body #page .jc-pr-hero-collage {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(0,1.35fr) minmax(190px,.65fr) !important;
    grid-template-rows: repeat(2,minmax(180px,1fr)) !important;
    min-height: 500px !important;
}
html body #page .jc-pr-hero-collage > a {
    border-radius: 4px !important;
    box-shadow: 0 14px 34px rgba(31,58,47,.13) !important;
    display: block !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    text-decoration: none !important;
}
html body #page .jc-pr-hero-collage > a::after {
    background: linear-gradient(180deg,transparent 45%,rgba(11,35,27,.76) 100%) !important;
    content: "" !important;
    inset: 0 !important;
    position: absolute !important;
}
html body #page .jc-pr-hero-collage .jc-pr-collage-main { grid-row: 1 / 3 !important; }
html body #page .jc-pr-hero-collage img {
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .35s ease !important;
    width: 100% !important;
}
html body #page .jc-pr-hero-collage > a:hover img { transform: scale(1.025) !important; }
html body #page .jc-pr-hero-collage span {
    bottom: 0 !important;
    display: grid !important;
    gap: 2px !important;
    left: 0 !important;
    padding: 18px 20px !important;
    position: absolute !important;
    right: 0 !important;
    z-index: 1 !important;
}
html body #page .jc-pr-hero-collage small { color: #f1c1bc !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .1em !important; }
html body #page .jc-pr-hero-collage strong { color: #fff !important; font-size: 18px !important; line-height: 1.25 !important; }
html body #page .jc-pr-hero-nav {
    display: grid !important;
    gap: 1px !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    margin-top: 38px !important;
}
html body #page .jc-pr-hero-nav a {
    align-items: center !important;
    background: rgba(255,255,255,.72) !important;
    border: 1px solid #d9cec0 !important;
    color: var(--ws-green) !important;
    display: flex !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    gap: 12px !important;
    justify-content: center !important;
    min-height: 58px !important;
    padding: 13px 15px !important;
    text-decoration: none !important;
    transition: background-color .2s ease,color .2s ease !important;
}
html body #page .jc-pr-hero-nav span { color: var(--ws-red) !important; font-size: 11px !important; font-weight: 850 !important; }
html body #page .jc-pr-hero-nav a:hover { background: var(--ws-green) !important; border-color: var(--ws-green) !important; color: #fff !important; }
html body #page .jc-pr-hero-nav a:hover span { color: #efb4ae !important; }

html body #page .jc-pr-range-grid {
    display: grid !important;
    gap: 24px !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
html body #page .jc-pr-range-grid article {
    background: #fff !important;
    border: 1px solid var(--ws-line) !important;
    border-radius: 5px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
}
html body #page .jc-pr-range-image { display: block !important; overflow: hidden !important; }
html body #page .jc-pr-range-image img {
    aspect-ratio: 16 / 10 !important;
    display: block !important;
    object-fit: cover !important;
    transition: transform .35s ease !important;
    width: 100% !important;
}
html body #page .jc-pr-range-image:hover img { transform: scale(1.025) !important; }
html body #page .jc-pr-range-grid article > div {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 27px 30px 30px !important;
}
html body #page .jc-pr-range-grid article > div > span {
    color: var(--ws-red) !important;
    display: block !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    margin-bottom: 11px !important;
}
html body #page .jc-pr-range-grid h3 { font-size: 25px !important; margin-bottom: 12px !important; }
html body #page .jc-pr-range-grid article p { flex: 1 1 auto !important; font-size: 14px !important; margin: 0 0 20px !important; }
html body #page .jc-pr-visual-note {
    color: #676d69 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    margin: 19px auto 0 !important;
    max-width: 920px !important;
    text-align: center !important;
}

html body #page .jc-pr-config-layout {
    align-items: stretch !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: minmax(330px,.8fr) minmax(0,1.2fr) !important;
}
html body #page .jc-pr-config-visual {
    background: var(--ws-green) !important;
    margin: 0 !important;
    min-height: 620px !important;
    overflow: hidden !important;
    position: relative !important;
}
html body #page .jc-pr-config-visual img {
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}
html body #page .jc-pr-config-visual figcaption {
    background: linear-gradient(180deg,transparent,rgba(8,40,30,.94)) !important;
    bottom: 0 !important;
    color: #fff !important;
    display: grid !important;
    gap: 5px !important;
    left: 0 !important;
    padding: 76px 27px 24px !important;
    position: absolute !important;
    right: 0 !important;
}
html body #page .jc-pr-config-visual figcaption strong { color: #fff !important; font-size: 16px !important; }
html body #page .jc-pr-config-visual figcaption span { color: rgba(255,255,255,.76) !important; font-size: 12px !important; line-height: 1.55 !important; }
html body #page .jc-pr-config-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
html body #page .jc-pr-config-grid article { padding: 22px 21px 23px !important; }
html body #page .jc-pr-config-grid h3 { font-size: 17px !important; }
html body #page .jc-pr-config-grid p { font-size: 13px !important; line-height: 1.58 !important; }

@media (max-width: 1100px) {
    html body #page .jc-pr-hero-grid-v2 { gap: 34px !important; grid-template-columns: minmax(0,.92fr) minmax(440px,1.08fr) !important; }
    html body #page .jc-pr-hero-collage { min-height: 455px !important; }
}
@media (max-width: 980px) {
    html body #page .jc-pr-primary-hero { padding: 148px 0 52px !important; }
    html body #page .jc-pr-hero-grid-v2 { grid-template-columns: 1fr !important; }
    html body #page .jc-pr-primary-hero h1 { font-size: 55px !important; }
    html body #page .jc-pr-hero-copy-v2 { max-width: 760px !important; }
    html body #page .jc-pr-hero-collage { min-height: 500px !important; }
    html body #page .jc-pr-config-layout { grid-template-columns: 1fr !important; }
    html body #page .jc-pr-config-visual { min-height: 440px !important; }
}
@media (max-width: 680px) {
    html body #page .jc-pr-primary-hero { padding: 122px 0 42px !important; }
    html body #page .jc-pr-primary-hero h1 { font-size: 39px !important; }
    html body #page .jc-pr-primary-hero .jc-ws-lead { font-size: 15px !important; }
    html body #page .jc-pr-hero-collage { grid-template-columns: repeat(2,minmax(0,1fr)) !important; grid-template-rows: 280px 170px !important; min-height: 0 !important; }
    html body #page .jc-pr-hero-collage .jc-pr-collage-main { grid-column: 1 / -1 !important; grid-row: auto !important; }
    html body #page .jc-pr-hero-collage span { padding: 14px 15px !important; }
    html body #page .jc-pr-hero-collage strong { font-size: 15px !important; }
    html body #page .jc-pr-hero-nav { grid-template-columns: repeat(2,minmax(0,1fr)) !important; margin-top: 36px !important; }
    html body #page .jc-pr-hero-nav a { border-bottom: 1px solid #d4c8b9 !important; min-height: 56px !important; }
    html body #page .jc-pr-hero-nav a:nth-child(2) { border-right: 0 !important; }
    html body #page .jc-pr-hero-nav a:nth-last-child(-n+2) { border-bottom: 0 !important; }
    html body #page .jc-pr-range-grid { grid-template-columns: 1fr !important; }
    html body #page .jc-pr-range-grid article > div { padding: 23px 22px 25px !important; }
    html body #page .jc-pr-range-grid h3 { font-size: 22px !important; }
    html body #page .jc-pr-config-visual { min-height: 320px !important; }
    html body #page .jc-pr-config-grid { grid-template-columns: 1fr !important; }
}

/* Christmas Cracker product detail pages (v0.3.54) ---------------------- */
html body #page .jc-pd-page {
    margin-left: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw !important;
}
html body #page .jc-pd-hero {
    background: linear-gradient(135deg,#faf7f1 0%,#eee6da 100%) !important;
    border-bottom: 1px solid #ddd4c8 !important;
}
html body #page .jc-pd-page--luxury .jc-pd-hero { background: linear-gradient(135deg,#f8f4ec 0%,#e8ded0 100%) !important; }
html body #page .jc-pd-page--eco .jc-pd-hero { background: linear-gradient(135deg,#f7f6ef 0%,#e7eadf 100%) !important; }
html body #page .jc-pd-page--gifts .jc-pd-hero { background: linear-gradient(135deg,#faf5ef 0%,#eee1d8 100%) !important; }
html body #page .jc-pd-page--packaging .jc-pd-hero { background: linear-gradient(135deg,#f8f5ef 0%,#e6e1d8 100%) !important; }
@media (min-width: 681px) {
    html body.jc-ws-template #page .jc-pd-page--packaging .jc-pd-hero h1 {
        font-size: clamp(42px,4.2vw,60px) !important;
        line-height: 1.06 !important;
    }
}
html body #page .jc-pd-page--traditional .jc-pd-hero { background: linear-gradient(135deg,#faf7ef 0%,#ece2d3 100%) !important; }
html body #page .jc-pd-page--party .jc-pd-hero { background: linear-gradient(135deg,#faf5ef 0%,#efe1dc 100%) !important; }
html body.jc-ws-template #page .jc-pd-page--party .jc-pd-hero,
html body.jc-ws-template #page .jc-ws-page--volume .jc-ws-hero { padding-top: 206px !important; }
html body #page .jc-pd-hero-media img {
    aspect-ratio: 4 / 3 !important;
    background: #f5f0e7 !important;
    object-fit: cover !important;
    object-position: center !important;
}
html body #page .jc-pd-page--gifts .jc-pd-hero-media img { object-fit: cover !important; }
html body #page .jc-pd-media-grid,
html body #page .jc-pd-style-grid {
    display: grid !important;
    gap: 20px !important;
}
html body #page .jc-pd-media-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
html body #page .jc-pd-style-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
html body #page .jc-pd-media-grid figure {
    background: #fff !important;
    border: 1px solid var(--ws-line) !important;
    border-radius: 4px !important;
    box-shadow: 0 10px 28px rgba(31,42,35,.06) !important;
    margin: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}
html body #page .jc-pd-media-grid figure > img {
    aspect-ratio: 4 / 3 !important;
    background: #f7f2e9 !important;
    display: block !important;
    object-fit: cover !important;
    width: 100% !important;
}
html body #page .jc-pd-media-grid figcaption {
    min-height: 104px !important;
    padding: 18px 19px 20px !important;
}
html body #page .jc-pd-media-grid figcaption strong {
    color: var(--ws-green) !important;
    display: block !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 16px !important;
    margin-bottom: 6px !important;
}
html body #page .jc-pd-media-grid figcaption span {
    color: var(--ws-muted) !important;
    display: block !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}
html body #page .jc-pd-style-slot {
    align-content: end !important;
    background:
        linear-gradient(145deg,rgba(15,61,46,.025),rgba(155,36,29,.045)),
        repeating-linear-gradient(135deg,transparent 0,transparent 14px,rgba(15,61,46,.035) 14px,rgba(15,61,46,.035) 15px),
        #fff !important;
    border: 1px dashed #b9b4aa !important;
    border-radius: 4px !important;
    display: grid !important;
    min-height: 290px !important;
    padding: 28px 24px 25px !important;
}
html body #page .jc-pd-style-slot > span {
    align-items: center !important;
    background: var(--ws-green) !important;
    border-radius: 50% !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    height: 36px !important;
    justify-content: center !important;
    margin-bottom: 50px !important;
    width: 36px !important;
}
html body #page .jc-pd-style-slot h3 { font-size: 18px !important; margin-bottom: 9px !important; }
html body #page .jc-pd-style-slot p { font-size: 13px !important; line-height: 1.55 !important; margin: 0 0 10px !important; }
html body #page .jc-pd-style-slot small {
    color: var(--ws-red) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}
html body #page .jc-pd-media-grid > .jc-pd-style-slot { min-height: 0 !important; }
html body #page .jc-pd-step-list {
    display: grid !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 25px 0 0 !important;
    padding: 0 !important;
}
html body #page .jc-pd-step-list li {
    align-items: start !important;
    border-bottom: 1px solid var(--ws-line) !important;
    display: grid !important;
    gap: 17px !important;
    grid-template-columns: 42px minmax(0,1fr) !important;
    padding: 16px 0 !important;
}
html body #page .jc-pd-step-list li:last-child { border-bottom: 0 !important; }
html body #page .jc-pd-step-list li > span {
    color: var(--ws-red) !important;
    font-family: Poppins,Arial,sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    padding-top: 3px !important;
}
html body #page .jc-pd-step-list strong {
    color: var(--ws-green) !important;
    display: block !important;
    font-size: 15px !important;
    margin-bottom: 4px !important;
}
html body #page .jc-pd-step-list p { font-size: 13px !important; line-height: 1.55 !important; margin: 0 !important; }
html body #page .jc-pd-page .jc-ws-brief-card p { color: rgba(255,255,255,.8) !important; }
html body #page .jc-pd-cta { border-top: 1px solid rgba(255,255,255,.08) !important; }

@media (max-width: 980px) {
    html body.jc-ws-template #page .jc-ws-hero { padding: 132px 0 66px !important; }
    html body.jc-ws-template #page .jc-ws-page--retail .jc-ws-hero,
    html body.jc-ws-template #page .jc-ws-page--distributor .jc-ws-hero,
    html body.jc-ws-template #page .jc-ws-page--private .jc-ws-hero { padding: 82px 0 58px !important; }
    html body.jc-ws-template #page .jc-pd-page--party .jc-pd-hero { padding-top: 150px !important; }
    html body.jc-ws-template #page .jc-ws-page--volume .jc-ws-hero { padding-top: 132px !important; }
    html body #page .jc-ws-hero-grid,
    html body #page .jc-ws-split,
    html body #page .jc-ws-order-grid { gap: 42px !important; grid-template-columns: 1fr !important; }
    html body #page .jc-ws-split.reverse > :first-child { order: initial !important; }
    html body #page .jc-ws-media-card { max-width: 760px !important; }
    html body #page .jc-ws-proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-ws-proof-grid > div { border-bottom: 1px solid rgba(255,255,255,.16) !important; }
    html body #page .jc-ws-proof-grid > div:nth-child(2) { border-right: 0 !important; }
    html body #page .jc-ws-proof-grid > div:nth-last-child(-n+2) { border-bottom: 0 !important; }
    html body #page .jc-ws-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-ws-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-ws-page--private .jc-ws-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-ws-timeline { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-ws-system-flow { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-ws-system-flow i { display: none !important; }
    html body #page .jc-pd-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-pd-style-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 680px) {
    html body #page .jc-ws-wrap { width: calc(100% - 30px) !important; }
    html body.jc-ws-template #page .jc-ws-hero { padding: 112px 0 52px !important; }
    html body.jc-ws-template #page .jc-ws-page--retail .jc-ws-hero,
    html body.jc-ws-template #page .jc-ws-page--distributor .jc-ws-hero,
    html body.jc-ws-template #page .jc-ws-page--private .jc-ws-hero { padding: 62px 0 46px !important; }
    html body.jc-ws-template #page .jc-pd-page--party .jc-pd-hero { padding-top: 126px !important; }
    html body.jc-ws-template #page .jc-ws-page--volume .jc-ws-hero { padding-top: 112px !important; }
    html body #page .jc-ws-hero h1 { font-size: 36px !important; line-height: 1.1 !important; }
    html body.jc-ws-template #page .jc-ws-page .jc-ws-hero h1,
    html body.jc-ws-template #page .jc-pd-page .jc-pd-hero h1 { font-size: 36px !important; line-height: 1.1 !important; }
    html body #page .jc-ws-lead { font-size: 16px !important; }
    html body #page .jc-ws-actions { display: grid !important; grid-template-columns: 1fr !important; }
    html body #page .jc-ws-button { width: 100% !important; }
    html body #page .jc-ws-proof-grid { grid-template-columns: 1fr !important; }
    html body #page .jc-ws-proof-grid > div { border-bottom: 1px solid rgba(255,255,255,.16) !important; border-right: 0 !important; padding: 14px 0 !important; }
    html body #page .jc-ws-proof-grid > div:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16) !important; }
    html body #page .jc-ws-proof-grid > div:last-child { border-bottom: 0 !important; }
    html body #page .jc-ws-section { padding: 56px 0 60px !important; }
    html body #page .jc-ws-section--compact { padding: 48px 0 52px !important; }
    html body #page .jc-ws-page h2 { font-size: 34px !important; }
    html body #page .jc-ws-path-grid,
    html body #page .jc-ws-range-grid,
    html body #page .jc-ws-feature-grid,
    html body #page .jc-ws-use-grid,
    html body #page .jc-ws-detail-grid,
    html body #page .jc-ws-faq-grid,
    html body #page .jc-ws-timeline,
    html body #page .jc-ws-format-grid,
    html body #page .jc-ws-system-flow { grid-template-columns: 1fr !important; }
    html body #page .jc-ws-page--private .jc-ws-feature-grid { grid-template-columns: 1fr !important; }
    html body #page .jc-ws-trust-line { grid-template-columns: 1fr !important; }
    html body #page .jc-ws-trust-line > div { border-bottom: 1px solid var(--ws-line) !important; border-right: 0 !important; padding-bottom: 16px !important; padding-right: 0 !important; }
    html body #page .jc-ws-trust-line > div:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
    html body #page :where(.jc-ws-path-grid,.jc-ws-range-grid,.jc-ws-feature-grid,.jc-ws-use-grid) article { padding: 25px 21px 27px !important; }
    html body #page :where(.jc-ws-detail-grid,.jc-ws-faq-grid) article { padding: 24px 21px 26px !important; }
    html body #page .jc-ws-trust-line { padding: 20px !important; }
    html body #page .jc-ws-data-table > div,
    html body #page .jc-ws-comparison > div { gap: 9px !important; grid-template-columns: 1fr !important; padding: 17px 19px !important; }
    html body #page .jc-ws-data-table .head,
    html body #page .jc-ws-comparison .head { display: none !important; }
    html body #page .jc-ws-data-table > div,
    html body #page .jc-ws-comparison > div { border-left: 4px solid var(--ws-red) !important; }
    html body #page .jc-ws-note { grid-template-columns: 1fr !important; }
    html body #page .jc-ws-brief-card,
    html body #page .jc-ws-confidential-card { padding: 29px 24px 31px !important; }
    html body #page .jc-ws-cta { padding: 58px 0 62px !important; }
    html body #page .jc-pd-media-grid,
    html body #page .jc-pd-style-grid { grid-template-columns: 1fr !important; }
    html body #page .jc-pd-style-slot { min-height: 250px !important; }
    html body #page .jc-pd-media-grid figcaption { min-height: 0 !important; }
}

/* Canonical buyer-guide article template (v0.3.86). Featured images stay on
   listing cards only. All body-image block variants share one 1200x800 / 3:2
   presentation standard and one restrained on-page width. */
body.single-post #primary {
    margin-bottom: 64px !important;
    margin-top: 140px !important;
}
body.single-post article.ast-article-single {
    padding-top: 0 !important;
}
body.single-post article.ast-article-single > div > .entry-header {
    background: #f7f5f0 !important;
    border-left: 5px solid #b3261e !important;
    border-radius: 6px 6px 0 0 !important;
    margin: 0 !important;
    padding: 38px 42px 22px !important;
}
body.single-post article.ast-article-single > div > .entry-header .post-thumb,
body.single-post article.ast-article-single > div > .entry-header .entry-meta {
    display: none !important;
}
body.single-post article.ast-article-single > div > .entry-header .entry-title {
    color: #0f3d2e !important;
    font-family: Poppins, Arial, sans-serif !important;
    font-size: clamp(38px, 4.25vw, 54px) !important;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
    line-height: 1.12 !important;
    margin: 0 !important;
    max-width: 980px !important;
}
body.single-post .entry-content > .jc-article-meta {
    align-items: stretch !important;
    background: #f7f5f0 !important;
    border-left: 5px solid #b3261e !important;
    border-radius: 0 0 6px 6px !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin: 0 0 46px !important;
    padding: 0 42px 30px !important;
}
body.single-post .jc-article-meta-item {
    border-right: 1px solid #ded8ce !important;
    min-width: 0 !important;
    padding: 9px 24px 7px !important;
}
body.single-post .jc-article-meta-item:first-child { padding-left: 0 !important; }
body.single-post .jc-article-meta-item:last-child { border-right: 0 !important; }
body.single-post .jc-article-meta-item > span {
    color: #6a716d !important;
    display: block !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .11em !important;
    margin-bottom: 5px !important;
    text-transform: uppercase !important;
}
body.single-post .jc-article-meta-item a,
body.single-post .jc-article-meta-item strong,
body.single-post .jc-article-meta-item time {
    color: #21372f !important;
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}
body.single-post .entry-content > p:first-of-type {
    color: #35443e !important;
    font-size: 18px !important;
    line-height: 1.78 !important;
}
body.single-post article.ast-article-single .entry-content > figure.wp-block-image {
    border-radius: 6px !important;
    margin: 36px auto 44px !important;
    max-width: 680px !important;
    overflow: hidden !important;
    width: 100% !important;
}
body.single-post article.ast-article-single .entry-content > figure.wp-block-image img {
    aspect-ratio: 3 / 2 !important;
    display: block !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
}
body.single-post article.ast-article-single .entry-content > figure.wp-block-image figcaption {
    background: #f7f5f0 !important;
    color: #5b645f !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    padding: 12px 16px 14px !important;
    text-align: left !important;
}
body.single-post article.ast-article-single .entry-content > .wp-block-cover {
    aspect-ratio: 3 / 2 !important;
    border-radius: 6px !important;
    margin: 36px auto 44px !important;
    max-width: 680px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
}
body.single-post article.ast-article-single .entry-content > .wp-block-cover .wp-block-cover__image-background {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
}

/* Christmas Crackers dropdown: compact single-column buyer navigation. */
@media (min-width: 922px) {
    html body #page #masthead .jc-menu-products > .sub-menu {
        display: block !important;
        grid-template-columns: none !important;
        width: 310px !important;
    }
    html body #page #masthead .jc-menu-products > .sub-menu > .menu-item {
        display: block !important;
        min-width: 0 !important;
        width: auto !important;
    }
    html body #page #masthead .jc-menu-products > .sub-menu > .menu-item > .menu-link {
        align-items: center !important;
        display: flex !important;
        height: 46px !important;
        justify-content: flex-start !important;
        width: 100% !important;
    }
}

@media (min-width: 922px) and (max-width: 1180px) {
    html body #page #masthead .jc-menu-products > .sub-menu {
        width: 290px !important;
    }
    html body #page #masthead .jc-menu-products > .sub-menu > .menu-item > .menu-link {
        font-size: 13px !important;
        padding-left: 11px !important;
        padding-right: 11px !important;
    }
}

/* Three core Christmas Cracker routes — distinct buyer-first layouts (v0.3.54). */
html body #page .jc-core-product {
    --core-green: #0f3d2e;
    --core-green-dark: #092b21;
    --core-red: #b3261e;
    --core-ink: #202a26;
    --core-muted: #56625d;
    --core-line: #ded8ce;
    --core-warm: #f7f5f0;
    background: #fff !important;
    color: var(--core-ink) !important;
    font-family: Lato,Arial,sans-serif !important;
}
html body #page .jc-core-product :where(h1,h2,h3,p,figure,ul,ol) { margin-top: 0 !important; }
html body #page .jc-core-product :where(h1,h2,h3) { color: var(--core-green) !important; font-family: Poppins,Arial,sans-serif !important; }
html body #page .jc-core-product p { color: var(--core-muted) !important; line-height: 1.72 !important; }
html body #page .jc-core-product img { display: block !important; max-width: 100% !important; }
html body #page .jc-core-hero { border-top: 5px solid var(--core-red) !important; padding: 205px 0 76px !important; }
html body #page .jc-core-hero-grid,
html body #page .jc-core-luxury-grid,
html body #page .jc-core-design-grid { align-items: center !important; display: grid !important; gap: clamp(42px,6vw,82px) !important; grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr) !important; }
html body #page .jc-core-hero h1 { font-size: clamp(43px,4.7vw,68px) !important; letter-spacing: -.045em !important; line-height: 1.05 !important; margin-bottom: 24px !important; }
html body #page .jc-core-hero-copy > p,
html body #page .jc-core-luxury-copy > p,
html body #page .jc-core-design-copy > p { font-size: 18px !important; max-width: 690px !important; }
html body #page .jc-core-product .jc-ws-actions { align-items: center !important; display: flex !important; flex-wrap: wrap !important; gap: 18px !important; margin-top: 30px !important; }
html body #page .jc-core-product .jc-core-text-link { color: var(--core-green) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 14px !important; font-weight: 800 !important; text-decoration: underline !important; text-decoration-color: rgba(15,61,46,.32) !important; text-underline-offset: 5px !important; }
html body #page .jc-core-product .jc-core-text-link:hover { color: var(--core-red) !important; }
html body #page .jc-core-hero-figure,
html body #page .jc-core-design-hero-image,
html body #page .jc-core-luxury-hero-image { background: #fff !important; border: 1px solid var(--core-line) !important; box-shadow: 0 22px 55px rgba(25,45,38,.12) !important; margin: 0 !important; overflow: hidden !important; }
html body #page .jc-core-hero-figure img,
html body #page .jc-core-design-hero-image img,
html body #page .jc-core-luxury-hero-image img { aspect-ratio: 4 / 3 !important; height: auto !important; object-fit: cover !important; width: 100% !important; }
html body #page .jc-core-hero figcaption { background: #fff !important; color: var(--core-muted) !important; font-size: 13px !important; line-height: 1.55 !important; padding: 14px 18px 16px !important; }
html body #page .jc-core-proof { background: var(--core-green) !important; color: #fff !important; }
html body #page .jc-core-proof-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
html body #page .jc-core-proof-grid > div { border-right: 1px solid rgba(255,255,255,.18) !important; padding: 23px 24px !important; }
html body #page .jc-core-proof-grid > div:last-child { border-right: 0 !important; }
html body #page .jc-core-proof-grid strong { color: #fff !important; display: block !important; font-family: Poppins,Arial,sans-serif !important; font-size: 17px !important; }
html body #page .jc-core-proof-grid span { color: rgba(255,255,255,.75) !important; display: block !important; font-size: 12px !important; margin-top: 3px !important; }
html body #page .jc-core-section { padding: 78px 0 82px !important; }
html body #page .jc-core-section--warm { background: var(--core-warm) !important; border-bottom: 1px solid var(--core-line) !important; border-top: 1px solid var(--core-line) !important; }
html body #page .jc-core-heading { margin-bottom: 38px !important; max-width: 800px !important; }
html body #page .jc-core-heading.centered { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
html body #page .jc-core-heading h2,
html body #page .jc-core-editorial-copy h2,
html body #page .jc-core-luxury-review h2,
html body #page .jc-core-step-copy h2 { font-size: clamp(32px,3.5vw,48px) !important; letter-spacing: -.035em !important; line-height: 1.13 !important; margin-bottom: 18px !important; }

/* Traditional: commercial range-board layout. */
html body #page .jc-core-traditional-hero { background: linear-gradient(90deg,#fff 0%,#fff 57%,#f7f5f0 57%,#f7f5f0 100%) !important; }
html body #page .jc-core-tier-grid { display: grid !important; gap: 18px !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
html body #page .jc-core-tier-grid article { background: #fff !important; border: 1px solid var(--core-line) !important; border-top: 5px solid #8d9993 !important; padding: 30px 28px 32px !important; }
html body #page .jc-core-tier-grid article.featured { border-top-color: var(--core-red) !important; box-shadow: 0 17px 40px rgba(20,55,43,.1) !important; transform: translateY(-8px) !important; }
html body #page .jc-core-tier-grid article > span { color: var(--core-red) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .14em !important; }
html body #page .jc-core-tier-grid h3 { font-size: 22px !important; margin: 10px 0 12px !important; }
html body #page .jc-core-tier-grid p { font-size: 14px !important; }
html body #page .jc-core-tier-grid ul { list-style: none !important; margin: 20px 0 0 !important; padding: 0 !important; }
html body #page .jc-core-tier-grid li { border-top: 1px solid var(--core-line) !important; color: var(--core-ink) !important; font-size: 13px !important; padding: 10px 0 10px 19px !important; position: relative !important; }
html body #page .jc-core-tier-grid li:before { color: var(--core-red) !important; content: "•" !important; left: 2px !important; position: absolute !important; }
html body #page .jc-core-gift-layout { align-items: center !important; display: grid !important; gap: clamp(45px,7vw,88px) !important; grid-template-columns: minmax(0,.95fr) minmax(420px,1.05fr) !important; }
html body #page .jc-core-gift-copy h2 { font-size: clamp(34px,3.6vw,49px) !important; letter-spacing: -.035em !important; line-height: 1.12 !important; margin-bottom: 18px !important; }
html body #page .jc-core-gift-list { border-top: 1px solid var(--core-line) !important; margin-top: 25px !important; }
html body #page .jc-core-gift-list > div { display: grid !important; gap: 16px !important; grid-template-columns: 135px 1fr !important; padding: 14px 0 !important; border-bottom: 1px solid var(--core-line) !important; }
html body #page .jc-core-gift-list strong { color: var(--core-green) !important; font-size: 14px !important; }
html body #page .jc-core-gift-list span { color: var(--core-muted) !important; font-size: 13px !important; line-height: 1.55 !important; }
html body #page .jc-core-gift-visuals { display: grid !important; gap: 13px !important; grid-template-columns: 1.35fr .65fr !important; }
html body #page .jc-core-gift-visuals figure { background: #fff !important; border: 1px solid var(--core-line) !important; margin: 0 !important; overflow: hidden !important; }
html body #page .jc-core-gift-visuals .wide { grid-row: span 2 !important; }
html body #page .jc-core-gift-visuals img { height: 100% !important; min-height: 330px !important; object-fit: cover !important; width: 100% !important; }
html body #page .jc-core-gift-visuals figcaption { background: #fff !important; color: var(--core-muted) !important; font-size: 12px !important; line-height: 1.5 !important; padding: 11px 13px !important; }
html body #page .jc-core-decision-row { counter-reset: decision !important; display: grid !important; gap: 0 !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
html body #page .jc-core-decision-row article { border-left: 1px solid var(--core-line) !important; padding: 16px 25px 20px !important; }
html body #page .jc-core-decision-row article:last-child { border-right: 1px solid var(--core-line) !important; }
html body #page .jc-core-decision-row article > span { color: var(--core-red) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 12px !important; font-weight: 800 !important; }
html body #page .jc-core-decision-row h3 { font-size: 18px !important; margin: 12px 0 8px !important; }
html body #page .jc-core-decision-row p { font-size: 13px !important; margin: 0 !important; }

/* Luxury: editorial composition and premium review. */
html body #page .jc-core-luxury-hero { background: #f7f5f0 !important; padding-bottom: 90px !important; }
html body #page .jc-core-luxury-grid { grid-template-columns: minmax(0,.86fr) minmax(480px,1.14fr) !important; }
html body #page .jc-core-luxury-hero-image { border: 10px solid #fff !important; box-shadow: 24px 24px 0 rgba(179,38,30,.09),0 24px 55px rgba(15,61,46,.13) !important; }
html body #page .jc-core-luxury-hero-image figcaption { align-items: center !important; display: flex !important; gap: 12px !important; }
html body #page .jc-core-luxury-hero-image figcaption strong { color: var(--core-red) !important; font-size: 12px !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
html body #page .jc-core-luxury-hero-image figcaption span { color: var(--core-muted) !important; font-size: 12px !important; }
html body #page .jc-core-editorial-grid { align-items: center !important; display: grid !important; gap: clamp(50px,7vw,92px) !important; grid-template-columns: minmax(440px,1.05fr) minmax(0,.95fr) !important; }
html body #page .jc-core-editorial-image { margin: 0 !important; position: relative !important; }
html body #page .jc-core-editorial-image:before { background: var(--core-green) !important; content: "" !important; inset: 26px -22px -22px 28px !important; position: absolute !important; z-index: 0 !important; }
html body #page .jc-core-editorial-image img { aspect-ratio: 4 / 3 !important; object-fit: cover !important; position: relative !important; width: 100% !important; z-index: 1 !important; }
html body #page .jc-core-editorial-image figcaption { background: #fff !important; border-left: 4px solid var(--core-red) !important; color: var(--core-muted) !important; font-size: 12px !important; line-height: 1.55 !important; margin: 0 !important; padding: 12px 15px !important; position: relative !important; z-index: 2 !important; }
html body #page .jc-core-premium-list { border-top: 1px solid var(--core-line) !important; margin-top: 26px !important; }
html body #page .jc-core-premium-list article { align-items: start !important; border-bottom: 1px solid var(--core-line) !important; display: grid !important; gap: 17px !important; grid-template-columns: 38px 1fr !important; padding: 14px 0 !important; }
html body #page .jc-core-premium-list article > span { color: var(--core-red) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 12px !important; font-weight: 800 !important; padding-top: 2px !important; }
html body #page .jc-core-premium-list h3 { font-size: 16px !important; margin: 0 0 3px !important; }
html body #page .jc-core-premium-list p { font-size: 13px !important; margin: 0 !important; }
html body #page .jc-core-luxury-gallery { align-items: start !important; display: grid !important; gap: 15px !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
html body #page .jc-core-luxury-gallery figure { background: #fff !important; border: 1px solid var(--core-line) !important; display: flex !important; flex-direction: column !important; margin: 0 !important; overflow: hidden !important; }
html body #page .jc-core-luxury-gallery img { aspect-ratio: 4 / 3 !important; height: auto !important; object-fit: cover !important; width: 100% !important; }
html body #page .jc-core-luxury-gallery figcaption { align-items: center !important; background: #fff !important; color: var(--core-green) !important; display: flex !important; font-family: Poppins,Arial,sans-serif !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1.45 !important; min-height: 58px !important; padding: 13px 15px !important; }
html body #page .jc-core-gallery-note { background: #fffdf9 !important; border-left: 3px solid var(--core-red) !important; color: var(--core-muted) !important; font-size: 12px !important; line-height: 1.65 !important; margin: 16px 0 0 !important; padding: 12px 16px !important; }
html body #page .jc-core-gallery-note strong { color: var(--core-green) !important; font-family: Poppins,Arial,sans-serif !important; font-weight: 700 !important; }
html body #page .jc-core-luxury-review { align-items: start !important; display: grid !important; gap: clamp(50px,7vw,90px) !important; grid-template-columns: minmax(0,.8fr) minmax(440px,1.2fr) !important; }
html body #page .jc-core-review-grid { background: var(--core-green) !important; display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; padding: 12px !important; }
html body #page .jc-core-review-grid > div { border: 1px solid rgba(255,255,255,.16) !important; min-height: 135px !important; padding: 23px !important; }
html body #page .jc-core-review-grid strong { color: #fff !important; display: block !important; font-family: Poppins,Arial,sans-serif !important; font-size: 17px !important; margin-bottom: 7px !important; }
html body #page .jc-core-review-grid span { color: rgba(255,255,255,.75) !important; font-size: 13px !important; line-height: 1.55 !important; }

/* Design: specification-flow layout. */
html body #page .jc-core-design-hero { background: linear-gradient(135deg,#fff 0 68%,#f7f5f0 68% 100%) !important; }
html body #page .jc-core-design-hero-image { box-shadow: none !important; }
html body #page .jc-core-config-nav { background: var(--core-green) !important; }
html body #page .jc-core-config-nav .jc-ws-wrap { display: grid !important; grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
html body #page .jc-core-config-nav span { border-right: 1px solid rgba(255,255,255,.17) !important; color: #fff !important; font-family: Poppins,Arial,sans-serif !important; font-size: 12px !important; font-weight: 700 !important; padding: 18px 12px !important; text-align: center !important; }
html body #page .jc-core-config-nav span:first-child { border-left: 1px solid rgba(255,255,255,.17) !important; }
html body #page .jc-core-design-step { align-items: center !important; border-bottom: 1px solid var(--core-line) !important; display: grid !important; gap: clamp(48px,7vw,92px) !important; grid-template-columns: minmax(0,.92fr) minmax(450px,1.08fr) !important; padding: 68px 0 !important; }
html body #page .jc-core-design-step:first-child { padding-top: 0 !important; }
html body #page .jc-core-design-step:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
html body #page .jc-core-design-step.reverse > .jc-core-step-copy { order: 2 !important; }
html body #page .jc-core-design-step figure { background: var(--core-warm) !important; border: 1px solid var(--core-line) !important; margin: 0 !important; overflow: hidden !important; }
html body #page .jc-core-design-step figure img { aspect-ratio: 4 / 3 !important; object-fit: cover !important; width: 100% !important; }
html body #page .jc-core-design-step figure figcaption { background: #fff !important; color: var(--core-muted) !important; font-size: 12px !important; line-height: 1.55 !important; padding: 13px 16px !important; }
html body #page .jc-core-step-no { color: var(--core-red) !important; display: block !important; font-family: Poppins,Arial,sans-serif !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .08em !important; margin-bottom: 18px !important; }
html body #page .jc-core-step-copy ul { border-top: 1px solid var(--core-line) !important; list-style: none !important; margin: 24px 0 0 !important; padding: 0 !important; }
html body #page .jc-core-step-copy li { border-bottom: 1px solid var(--core-line) !important; color: var(--core-ink) !important; font-size: 13px !important; padding: 10px 0 10px 21px !important; position: relative !important; }
html body #page .jc-core-step-copy li:before { color: var(--core-red) !important; content: "✓" !important; font-weight: 800 !important; left: 0 !important; position: absolute !important; }
html body #page .jc-core-approval ol { display: grid !important; gap: 14px !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
html body #page .jc-core-approval li { background: #fff !important; border: 1px solid var(--core-line) !important; min-height: 220px !important; padding: 26px 23px !important; }
html body #page .jc-core-approval li > span { color: var(--core-red) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 12px !important; font-weight: 800 !important; }
html body #page .jc-core-approval h3 { font-size: 18px !important; margin: 34px 0 9px !important; }
html body #page .jc-core-approval p { font-size: 13px !important; margin: 0 !important; }

html body #page .jc-core-related { background: #fff !important; border-top: 1px solid var(--core-line) !important; padding: 23px 0 !important; }
html body #page .jc-core-related .jc-ws-wrap { align-items: center !important; display: flex !important; gap: 30px !important; justify-content: space-between !important; }
html body #page .jc-core-related .jc-ws-wrap > span { color: var(--core-muted) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .12em !important; }
html body #page .jc-core-related nav { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
html body #page .jc-core-related a { border: 1px solid var(--core-line) !important; color: var(--core-green) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 12px !important; font-weight: 700 !important; padding: 9px 13px !important; text-decoration: none !important; }
html body #page .jc-core-related a:hover { background: var(--core-green) !important; border-color: var(--core-green) !important; color: #fff !important; }

@media (max-width: 980px) {
    html body #page .jc-core-hero { padding-top: 176px !important; }
    html body #page .jc-core-hero-grid,
    html body #page .jc-core-luxury-grid,
    html body #page .jc-core-design-grid,
    html body #page .jc-core-gift-layout,
    html body #page .jc-core-editorial-grid,
    html body #page .jc-core-luxury-review,
    html body #page .jc-core-design-step { grid-template-columns: 1fr !important; }
    html body #page .jc-core-design-step.reverse > .jc-core-step-copy { order: initial !important; }
    html body #page .jc-core-tier-grid,
    html body #page .jc-core-approval ol { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-core-tier-grid article.featured { transform: none !important; }
    html body #page .jc-core-decision-row { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-core-luxury-gallery { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
    html body #page .jc-core-luxury-gallery .primary { grid-column: auto !important; }
}
@media (max-width: 680px) {
    html body #page .jc-core-hero { padding: 132px 0 48px !important; }
    html body #page .jc-core-hero h1 { font-size: 39px !important; }
    html body #page .jc-core-hero-copy > p,
    html body #page .jc-core-luxury-copy > p,
    html body #page .jc-core-design-copy > p { font-size: 16px !important; }
    html body #page .jc-core-product .jc-ws-actions { align-items: stretch !important; display: grid !important; grid-template-columns: 1fr !important; }
    html body #page .jc-core-product .jc-core-text-link { padding: 6px 0 !important; text-align: center !important; }
    html body #page .jc-core-proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body #page .jc-core-proof-grid > div { border-bottom: 1px solid rgba(255,255,255,.18) !important; padding: 17px 13px !important; }
    html body #page .jc-core-proof-grid > div:nth-child(2) { border-right: 0 !important; }
    html body #page .jc-core-proof-grid > div:nth-last-child(-n+2) { border-bottom: 0 !important; }
    html body #page .jc-core-section { padding: 54px 0 58px !important; }
    html body #page .jc-core-tier-grid,
    html body #page .jc-core-decision-row,
    html body #page .jc-core-luxury-gallery,
    html body #page .jc-core-approval ol { grid-template-columns: 1fr !important; }
    html body #page .jc-core-luxury-gallery .primary { grid-column: auto !important; }
    html body #page .jc-core-gift-list > div { grid-template-columns: 1fr !important; }
    html body #page .jc-core-gift-visuals { grid-template-columns: 1fr !important; }
    html body #page .jc-core-gift-visuals .wide { grid-row: auto !important; }
    html body #page .jc-core-gift-visuals img { min-height: 0 !important; }
    html body #page .jc-core-decision-row article,
    html body #page .jc-core-decision-row article:last-child { border-bottom: 1px solid var(--core-line) !important; border-right: 1px solid var(--core-line) !important; }
    html body #page .jc-core-editorial-image:before { inset: 14px -8px -10px 12px !important; }
    html body #page .jc-core-review-grid { grid-template-columns: 1fr !important; }
    html body #page .jc-core-config-nav .jc-ws-wrap { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
    html body #page .jc-core-config-nav span { border-bottom: 1px solid rgba(255,255,255,.17) !important; }
    html body #page .jc-core-design-step { gap: 30px !important; padding: 48px 0 !important; }
    html body #page .jc-core-related .jc-ws-wrap { align-items: stretch !important; flex-direction: column !important; gap: 15px !important; }
    html body #page .jc-core-related nav { display: grid !important; grid-template-columns: 1fr !important; }
}

@media (max-width: 680px) {
    body.single-post #primary {
        margin-bottom: 36px !important;
        margin-top: 28px !important;
    }
    body.single-post article.ast-article-single > div > .entry-header {
        padding: 28px 22px 18px !important;
    }
    body.single-post article.ast-article-single > div > .entry-header .entry-title {
        font-size: 30px !important;
        line-height: 1.18 !important;
    }
    body.single-post .entry-content > .jc-article-meta {
        grid-template-columns: 1fr !important;
        margin-bottom: 34px !important;
        padding: 0 22px 22px !important;
    }
    body.single-post .jc-article-meta-item,
    body.single-post .jc-article-meta-item:first-child {
        border-bottom: 1px solid #ded8ce !important;
        border-right: 0 !important;
        padding: 12px 0 !important;
    }
    body.single-post .jc-article-meta-item:last-child { border-bottom: 0 !important; }
    body.single-post article.ast-article-single .entry-content > figure.wp-block-image,
    body.single-post article.ast-article-single .entry-content > .wp-block-cover {
        margin: 28px auto 34px !important;
    }
}

/* === JC UNIFIED B2B UI — STAGING 2026-08-10 === */
:root {
    --jc-navy: #0f3d2e;
    --jc-navy-2: #092b21;
    --jc-blue: #0f3d2e;
    --jc-orange: #b3261e;
    --jc-orange-dark: #8f1e18;
    --jc-text: #1f2933;
    --jc-muted: #4f5b66;
    --jc-border: #e5e0d6;
    --jc-surface: #f7f5f0;
    --jc-warm: #f4eee4;
    --jc-shadow: 0 12px 34px rgba(40, 75, 63, 0.1);
}

html { scroll-behavior: smooth; }
body { color: var(--jc-text); background: #fff; font-family: Lato, Arial, sans-serif; line-height: 1.65; }
body :where(h1,h2,h3,h4,h5,h6) { color: var(--jc-navy); font-family: Poppins, Arial, sans-serif; letter-spacing: -0.018em; line-height: 1.2; }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }

/* Clear B2B navigation */
.elementor-location-header,.site-header,.ast-primary-header-bar { background: #fff !important; border-bottom: 1px solid var(--jc-border); box-shadow: 0 4px 18px rgba(16,42,67,.06); }
.elementor-location-header { position: relative; z-index: 50; }
.elementor-location-header .elementor-nav-menu--main .elementor-item,.main-header-menu>.menu-item>a { color: var(--jc-navy) !important; font-family: Poppins,Arial,sans-serif; font-size: 14px; font-weight: 600; }
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,.main-header-menu>.menu-item>a:hover { color: var(--jc-orange) !important; }
.elementor-location-header .sub-menu,.main-header-menu .sub-menu { border: 1px solid var(--jc-border) !important; border-radius: 8px; box-shadow: var(--jc-shadow) !important; padding: 8px !important; }
.elementor-location-header .sub-menu a,.main-header-menu .sub-menu a { border-radius: 5px; color: var(--jc-text) !important; font-size: 14px !important; padding: 10px 14px !important; }
.elementor-location-header .sub-menu a:hover,.main-header-menu .sub-menu a:hover { background: var(--jc-surface) !important; color: var(--jc-orange) !important; }

/* Consistent page hierarchy */
.ast-container,.jc-wrap,.elementor-section.elementor-section-boxed>.elementor-container { max-width: 1200px; }
.site-content { min-height: 60vh; }
.jc-landing,.jc-site { background: #fff; color: var(--jc-text); }
.jc-landing .jc-wrap,.jc-site .jc-wrap { margin-inline: auto; width: min(1180px,calc(100% - 40px)); }
.jc-landing .jc-section,.jc-site .jc-section { padding: 72px 0; }
.jc-landing .jc-section-alt,.jc-site .jc-section-alt { background: var(--jc-surface); }
.jc-landing .jc-section-dark,.jc-site .jc-section-dark { background: var(--jc-navy); color: #fff; }
.jc-landing .jc-section-dark :where(h2,h3,p,li),.jc-site .jc-section-dark :where(h2,h3,p,li) { color: #fff; }
.jc-landing .jc-kicker,.jc-site .jc-kicker { color: var(--jc-orange); font-family: Poppins,Arial,sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.jc-landing h1,.jc-site h1 { font-size: clamp(38px,5vw,64px); max-width: 900px; }
.jc-landing h2,.jc-site h2 { font-size: clamp(28px,3.2vw,42px); margin-bottom: 22px; }
.jc-landing .jc-lead,.jc-site .jc-lead { color: var(--jc-muted); font-size: 19px; max-width: 820px; }

/* Factory-style hero */
.jc-landing .jc-hero,.jc-site .jc-hero { background: linear-gradient(112deg,var(--jc-navy) 0%,var(--jc-navy-2) 72%,#21516a 100%); overflow: hidden; padding: 76px 0 82px; position: relative; }
.jc-landing .jc-hero:after,.jc-site .jc-hero:after { background: linear-gradient(90deg,transparent 0 70%,rgba(255,255,255,.045) 70% 71%,transparent 71% 78%,rgba(255,255,255,.035) 78% 79%,transparent 79%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.jc-landing .jc-hero .jc-wrap,.jc-site .jc-hero .jc-wrap { position: relative; z-index: 1; }
.jc-landing .jc-hero :where(h1,p),.jc-site .jc-hero :where(h1,p) { color: #fff; }
.jc-landing .jc-badge,.jc-site .jc-badge { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.24); border-radius: 4px; color: #fff; display: inline-flex; font-family: Poppins,Arial,sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em; padding: 8px 12px; text-transform: uppercase; }

/* Buttons and links */
.jc-btn,.wp-block-button__link,.elementor-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wpforms-submit { border-radius: 5px !important; font-family: Poppins,Arial,sans-serif !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.2 !important; padding: 14px 22px !important; text-decoration: none !important; }
.jc-btn-primary,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.wpforms-submit { background: var(--jc-orange) !important; border: 1px solid var(--jc-orange) !important; color: #fff !important; }
.jc-btn-primary:hover,.wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.wpforms-submit:hover { background: var(--jc-orange-dark) !important; border-color: var(--jc-orange-dark) !important; color: #fff !important; transform: translateY(-1px); }
.jc-btn-secondary { background: transparent !important; border: 1px solid rgba(255,255,255,.55) !important; color: #fff !important; }
.jc-btn-secondary:hover { background: #fff !important; border-color: #fff !important; color: var(--jc-navy) !important; }
.jc-link { color: var(--jc-blue) !important; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.jc-link:hover { color: var(--jc-orange) !important; }

/* Proof, cards and process blocks */
.jc-proof { background: #fff; border-bottom: 1px solid var(--jc-border); }
.jc-proof-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.jc-proof-item { border-right: 1px solid var(--jc-border); padding: 24px 20px; }
.jc-proof-item:last-child { border-right: 0; }
.jc-proof-item strong { color: var(--jc-navy); font-family: Poppins,Arial,sans-serif; font-size: 20px; }
.jc-proof-item span { color: var(--jc-muted); font-size: 13px; }
.jc-card,.jc-callout,.woocommerce ul.products li.product { background: #fff; border: 1px solid var(--jc-border); border-radius: 8px; box-shadow: 0 7px 24px rgba(16,42,67,.06); overflow: hidden; }
.jc-card { padding: 28px; }
.jc-card,.woocommerce ul.products li.product { transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.jc-card:hover,.woocommerce ul.products li.product:hover { border-color: #b8c8d3; box-shadow: var(--jc-shadow); transform: translateY(-2px); }
.jc-icon { background: var(--jc-warm); border-radius: 4px; color: var(--jc-orange); font-family: Poppins,Arial,sans-serif; font-weight: 700; height: 42px; line-height: 42px; text-align: center; width: 42px; }
.jc-callout { border-left: 5px solid var(--jc-orange); padding: 28px; }
.jc-step { background: rgba(255,255,255,.07); border-radius: 4px; border-top: 3px solid var(--jc-orange); padding: 24px; }
.jc-checklist { display: grid; gap: 12px; list-style: none; padding-left: 0; }
.jc-checklist li { padding-left: 30px; position: relative; }
.jc-checklist li:before { color: var(--jc-orange); content: "✓"; font-weight: 700; left: 0; position: absolute; }
.jc-media-grid img,.jc-gallery-grid img,.woocommerce ul.products li.product img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.jc-media-grid figure { background: #fff; border: 1px solid var(--jc-border); border-radius: 8px; overflow: hidden; }
.jc-media-grid figcaption { color: var(--jc-muted); font-size: 13px; padding: 12px 14px; }

/* Product catalogue as a B2B sample library */
.woocommerce .woocommerce-breadcrumb { color: var(--jc-muted); font-size: 13px; margin: 22px 0; }
.woocommerce .woocommerce-breadcrumb a { color: var(--jc-blue); }
.woocommerce ul.products { display: grid !important; gap: 24px !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.woocommerce ul.products:before,.woocommerce ul.products:after { display: none !important; }
.woocommerce ul.products li.product { margin: 0 !important; padding: 0 0 22px !important; width: auto !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--jc-navy); font-size: 17px !important; line-height: 1.35; padding: 16px 20px 8px !important; }
.woocommerce ul.products li.product .price { color: var(--jc-muted) !important; font-size: 13px !important; padding: 0 20px; }
.woocommerce ul.products li.product .button { margin: 12px 20px 0 !important; }
.single-product .product_title { font-size: clamp(30px,4vw,46px); }
.single-product .summary { background: var(--jc-surface); border: 1px solid var(--jc-border); border-radius: 8px; padding: 30px; }
.single-product .price { color: var(--jc-muted) !important; font-size: 15px !important; }
.woocommerce-tabs { margin-top: 50px; }

/* Enquiry forms */
.wpforms-container { background: var(--jc-surface); border: 1px solid var(--jc-border); border-radius: 8px; padding: 28px !important; }
.wpforms-container label { color: var(--jc-navy) !important; font-family: Poppins,Arial,sans-serif !important; font-size: 13px !important; font-weight: 600 !important; }
.wpforms-container input,.wpforms-container select,.wpforms-container textarea,input[type=text],input[type=email],input[type=tel],select,textarea { background: #fff !important; border: 1px solid #bfcbd4 !important; border-radius: 4px !important; box-shadow: none !important; color: var(--jc-text) !important; padding: 11px 12px !important; }
.wpforms-container input:focus,.wpforms-container select:focus,.wpforms-container textarea:focus { border-color: var(--jc-blue) !important; box-shadow: 0 0 0 3px rgba(36,91,120,.12) !important; }

/* CTA and footer */
.jc-cta { background: var(--jc-warm); border-top: 1px solid #e3d8c9; padding: 66px 20px; text-align: center; }
.jc-cta h2 { color: var(--jc-navy); margin-inline: auto; max-width: 850px; }
.jc-cta p { color: var(--jc-muted); margin: 0 auto 24px; max-width: 760px; }
.elementor-location-footer,.site-footer { background: var(--jc-navy) !important; color: #dce6ec; }
.elementor-location-footer :where(h2,h3,h4),.site-footer :where(h2,h3,h4) { color: #fff !important; }
.elementor-location-footer :where(p,li,a),.site-footer :where(p,li,a) { color: #dce6ec !important; }
.elementor-location-footer a:hover,.site-footer a:hover { color: #fff !important; }

:where(a,button,input,select,textarea):focus-visible { outline: 3px solid rgba(215,101,45,.42) !important; outline-offset: 2px; }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
@media (max-width:920px) {
    .jc-proof-grid { grid-template-columns: repeat(2,1fr); }
    .jc-proof-item:nth-child(2) { border-right: 0; }
    .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .jc-landing .jc-section,.jc-site .jc-section { padding: 56px 0; }
}
@media (max-width:640px) {
    .jc-landing .jc-wrap,.jc-site .jc-wrap { width: min(100% - 28px,1180px); }
    .jc-landing .jc-hero,.jc-site .jc-hero { padding: 54px 0 60px; }
    .jc-landing h1,.jc-site h1 { font-size: 36px; }
    .jc-proof-grid { grid-template-columns: 1fr 1fr; }
    .jc-proof-item { padding: 18px 14px; }
    .woocommerce ul.products { grid-template-columns: 1fr !important; }
    .jc-card { padding: 22px; }
    .jc-btn,.elementor-button,.wpforms-submit { text-align: center; width: 100%; }
}
/* === END JC UNIFIED B2B UI === */

.jc-site,
.jc-site * {
    box-sizing: border-box;
}

.jc-site {
    color: var(--jc-ink);
    font-family: Inter, Arial, sans-serif;
    background: var(--jc-white);
    overflow: hidden;
}

.jc-site a {
    color: inherit;
}

.jc-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.jc-section {
    padding: 88px 0;
}

.jc-muted {
    background: var(--jc-soft);
}

.jc-deep {
    background:
        radial-gradient(circle at top left, rgba(201, 162, 74, 0.18), transparent 34%),
        linear-gradient(135deg, #0f3d2e, #092b21);
    color: var(--jc-white);
}

.jc-eyebrow {
    color: var(--jc-red);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 14px;
    text-transform: uppercase;
}

.jc-deep .jc-eyebrow,
.jc-final-cta .jc-eyebrow,
.jc-section-head-light .jc-eyebrow {
    color: #f1d27a;
}

.jc-site h1,
.jc-site h2,
.jc-site h3 {
    color: inherit;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: 0;
    margin: 0;
}

.jc-site h1 {
    font-size: clamp(42px, 5.2vw, 66px);
}

.jc-site h2 {
    font-size: clamp(32px, 3.4vw, 46px);
}

.jc-site h3 {
    font-size: 22px;
}

.jc-site p {
    color: var(--jc-muted);
    font-size: 17px;
    line-height: 1.68;
    margin: 0;
}

.jc-deep p,
.jc-final-cta p,
.jc-section-head-light p {
    color: rgba(255, 255, 255, 0.78);
}

.jc-section-head {
    max-width: 760px;
    margin: 0 auto 44px;
    text-align: center;
}

.jc-section-head p:not(.jc-eyebrow) {
    margin-top: 18px;
}

.jc-btn {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 15px;
    font-weight: 800;
    justify-content: center;
    min-height: 48px;
    padding: 14px 22px;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
    white-space: nowrap;
}

.jc-btn:hover {
    transform: translateY(-2px);
}

.jc-btn-primary {
    background: var(--jc-red);
    box-shadow: 0 14px 30px rgba(179, 38, 30, 0.22);
    color: var(--jc-white);
}

.jc-btn-secondary {
    background: var(--jc-white);
    border: 1px solid var(--jc-line);
    color: var(--jc-green);
}

.jc-btn-light {
    background: var(--jc-white);
    color: var(--jc-red);
}

.jc-btn-ghost {
    border: 1px solid rgba(255, 255, 255, 0.46);
    color: var(--jc-white);
}

.jc-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.jc-button-row-center {
    justify-content: center;
}

.jc-center-action {
    margin-top: 38px;
    text-align: center;
}

.jc-hero {
    background:
        linear-gradient(120deg, rgba(247, 245, 240, 0.98), rgba(255, 255, 255, 0.9)),
        radial-gradient(circle at 90% 10%, rgba(201, 162, 74, 0.28), transparent 30%);
    padding: 76px 0 72px;
}

.jc-hero-grid {
    align-items: center;
    display: grid;
    gap: 52px;
    grid-template-columns: minmax(0, 1.03fr) minmax(360px, 0.97fr);
}

.jc-hero-lead {
    color: var(--jc-ink);
    font-size: 21px;
    font-weight: 650;
    line-height: 1.48;
    margin-top: 22px;
}

.jc-hero-sub {
    margin-top: 16px;
}

.jc-check-list {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.jc-check-list li {
    align-items: flex-start;
    color: var(--jc-ink);
    display: flex;
    font-weight: 700;
    gap: 10px;
    line-height: 1.4;
}

.jc-check-list li::before {
    background: var(--jc-green);
    border-radius: 999px;
    color: var(--jc-white);
    content: "✓";
    flex: 0 0 auto;
    font-size: 12px;
    height: 20px;
    line-height: 20px;
    margin-top: 1px;
    text-align: center;
    width: 20px;
}

.jc-hero-media {
    min-height: 530px;
    position: relative;
}

.jc-hero-card {
    background: #efe7d7;
    border: 12px solid var(--jc-white);
    border-radius: 28px;
    box-shadow: var(--jc-shadow);
    height: 470px;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 28px;
    width: min(100%, 480px);
}

.jc-hero-card img,
.jc-split-media img,
.jc-gallery-card img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.jc-production-badge {
    background: var(--jc-green);
    border: 6px solid var(--jc-white);
    border-radius: 20px;
    bottom: 42px;
    box-shadow: var(--jc-shadow);
    color: var(--jc-white);
    left: 0;
    padding: 18px 20px;
    position: absolute;
    width: 205px;
}

.jc-production-number {
    display: block;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
}

.jc-production-text {
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 8px;
}

.jc-mini-card {
    background: var(--jc-white);
    border: 1px solid var(--jc-line);
    border-radius: 18px;
    box-shadow: var(--jc-shadow);
    max-width: 250px;
    padding: 16px 18px;
    position: absolute;
    right: 36px;
    top: 0;
}

.jc-mini-card span {
    color: var(--jc-red);
    display: block;
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.jc-mini-card strong {
    display: block;
    font-size: 15px;
    line-height: 1.35;
    margin-top: 6px;
}

.jc-trust-strip {
    background: var(--jc-green);
    color: var(--jc-white);
    padding: 18px 0;
}

.jc-trust-items {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    justify-content: center;
}

.jc-trust-items span {
    font-size: 14px;
    font-weight: 800;
}

.jc-card-grid {
    display: grid;
    gap: 22px;
}

.jc-card-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.jc-card {
    background: var(--jc-white);
    border: 1px solid var(--jc-line);
    border-radius: 18px;
    box-shadow: 0 12px 36px rgba(31, 41, 51, 0.07);
    padding: 28px;
}

.jc-path-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.jc-card-tag {
    align-self: flex-start;
    background: rgba(179, 38, 30, 0.08);
    border-radius: 999px;
    color: var(--jc-red);
    font-size: 12px;
    font-weight: 850;
    margin-bottom: 18px;
    padding: 7px 10px;
    text-transform: uppercase;
}

.jc-card p {
    font-size: 15.5px;
    margin-top: 14px;
}

.jc-card ul {
    color: var(--jc-muted);
    display: grid;
    font-size: 14.5px;
    gap: 8px;
    margin: 18px 0 24px;
    padding-left: 18px;
}

.jc-card a:not(.jc-btn) {
    color: var(--jc-red);
    font-weight: 850;
    margin-top: auto;
    text-decoration: none;
}

.jc-feature-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jc-feature {
    background: var(--jc-white);
    border: 1px solid var(--jc-line);
    border-radius: 18px;
    padding: 24px;
}

.jc-feature-icon {
    align-items: center;
    background: var(--jc-green);
    border-radius: 14px;
    color: var(--jc-white);
    display: inline-flex;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    margin-bottom: 18px;
    width: 42px;
}

.jc-feature p {
    font-size: 15.5px;
    margin-top: 12px;
}

.jc-split {
    align-items: center;
    display: grid;
    gap: 52px;
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
}

.jc-split-media {
    background: #efe7d7;
    border-radius: 24px;
    box-shadow: var(--jc-shadow);
    height: 520px;
    overflow: hidden;
}

.jc-split-copy p:not(.jc-eyebrow) {
    margin-top: 20px;
}

.jc-stat-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 28px 0;
}

.jc-stat-grid div {
    background: var(--jc-soft);
    border: 1px solid var(--jc-line);
    border-radius: 16px;
    padding: 18px;
}

.jc-stat-grid strong {
    color: var(--jc-green);
    display: block;
    font-size: 24px;
    font-weight: 900;
}

.jc-stat-grid span {
    color: var(--jc-muted);
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 6px;
}

.jc-gallery-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jc-gallery-card {
    background: var(--jc-white);
    border: 1px solid var(--jc-line);
    border-radius: 20px;
    box-shadow: 0 12px 36px rgba(31, 41, 51, 0.08);
    overflow: hidden;
}

.jc-gallery-card img {
    background: #eee5d4;
    height: 245px;
}

.jc-gallery-card div {
    padding: 22px;
}

.jc-gallery-card span {
    color: var(--jc-red);
    display: block;
    font-size: 12px;
    font-weight: 850;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.jc-gallery-card p {
    font-size: 15.5px;
    margin-top: 10px;
}

.jc-shipping-grid {
    align-items: center;
    display: grid;
    gap: 44px;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.jc-shipping-grid p:not(.jc-eyebrow) {
    margin-top: 18px;
}

.jc-table-card {
    background: var(--jc-white);
    border: 1px solid var(--jc-line);
    border-radius: 20px;
    box-shadow: var(--jc-shadow);
    overflow: hidden;
}

.jc-table-row {
    display: grid;
    gap: 16px;
    grid-template-columns: 0.85fr 1fr 1.2fr;
}

.jc-table-row span {
    border-bottom: 1px solid var(--jc-line);
    color: var(--jc-muted);
    font-size: 14.5px;
    line-height: 1.4;
    padding: 18px;
}

.jc-table-row:last-child span {
    border-bottom: 0;
}

.jc-table-head {
    background: var(--jc-green);
}

.jc-table-head span {
    color: var(--jc-white);
    font-weight: 850;
}

.jc-option-card {
    background: var(--jc-white);
    border-radius: 18px;
    color: var(--jc-ink);
    min-height: 210px;
    padding: 24px;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.jc-option-card:hover {
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
    transform: translateY(-4px);
}

.jc-option-card p {
    font-size: 15.5px;
    margin-top: 12px;
}

.jc-benefit-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jc-benefit-grid div {
    background: var(--jc-soft);
    border: 1px solid var(--jc-line);
    border-radius: 18px;
    padding: 22px;
}

.jc-benefit-grid strong {
    display: block;
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 8px;
}

.jc-benefit-grid span {
    color: var(--jc-muted);
    display: block;
    font-size: 15.5px;
    line-height: 1.55;
}

.jc-faq-wrap {
    max-width: 920px;
}

.jc-faq-list {
    display: grid;
    gap: 12px;
}

.jc-faq-list details {
    background: var(--jc-white);
    border: 1px solid var(--jc-line);
    border-radius: 14px;
    padding: 0;
}

.jc-faq-list summary {
    color: var(--jc-ink);
    cursor: pointer;
    font-size: 17px;
    font-weight: 850;
    list-style: none;
    padding: 20px 22px;
}

.jc-faq-list summary::-webkit-details-marker {
    display: none;
}

.jc-faq-list summary::after {
    color: var(--jc-red);
    content: "+";
    float: right;
    font-size: 22px;
    line-height: 1;
}

.jc-faq-list details[open] summary::after {
    content: "–";
}

.jc-faq-list details p {
    border-top: 1px solid var(--jc-line);
    font-size: 15.5px;
    padding: 0 22px 20px;
}

.jc-final-cta {
    background:
        linear-gradient(135deg, rgba(179, 38, 30, 0.96), rgba(15, 61, 46, 0.95)),
        radial-gradient(circle at top right, rgba(201, 162, 74, 0.36), transparent 34%);
    color: var(--jc-white);
    padding: 88px 0;
    text-align: center;
}

.jc-final-cta p:not(.jc-eyebrow) {
    margin: 18px auto 0;
    max-width: 760px;
}

@media (max-width: 1024px) {
    .jc-hero-grid,
    .jc-split,
    .jc-shipping-grid {
        grid-template-columns: 1fr;
    }

    .jc-hero-media {
        min-height: 500px;
    }

    .jc-card-grid-3,
    .jc-feature-grid,
    .jc-gallery-grid,
    .jc-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .jc-card-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .jc-container {
        width: min(100% - 28px, 1180px);
    }

    .jc-section {
        padding: 62px 0;
    }

    .jc-site h1 {
        font-size: 38px;
    }

    .jc-site h2 {
        font-size: 30px;
    }

    .jc-hero {
        padding: 48px 0 56px;
    }

    .jc-hero-lead {
        font-size: 18px;
    }

    .jc-button-row,
    .jc-button-row-center {
        align-items: stretch;
        flex-direction: column;
    }

    .jc-btn {
        width: 100%;
    }

    .jc-hero-media {
        min-height: auto;
        padding-bottom: 0;
    }

    .jc-hero-card {
        height: 360px;
        position: relative;
        top: auto;
        width: 100%;
    }

    .jc-production-badge,
    .jc-mini-card {
        margin-top: 14px;
        max-width: none;
        position: static;
        width: 100%;
    }

    .jc-card-grid-3,
    .jc-card-grid-4,
    .jc-feature-grid,
    .jc-gallery-grid,
    .jc-benefit-grid,
    .jc-stat-grid {
        grid-template-columns: 1fr;
    }

    .jc-split-media {
        height: 360px;
    }

    .jc-table-card {
        overflow-x: auto;
    }

    .jc-table-row {
        min-width: 660px;
    }

    .jc-trust-items {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* === JC UNIFIED B2B UI FINAL OVERRIDES === */
body { color: var(--jc-text); background: #fff; font-family: Lato,Arial,sans-serif; }
body :where(h1,h2,h3,h4,h5,h6) { color: var(--jc-navy); font-family: Poppins,Arial,sans-serif; }
.elementor-location-header,.site-header,.ast-primary-header-bar { background:#fff!important; border-bottom:1px solid var(--jc-border)!important; box-shadow:0 4px 18px rgba(16,42,67,.06)!important; }
.elementor-location-header .elementor-nav-menu--main .elementor-item,.main-header-menu>.menu-item>a { color:var(--jc-navy)!important; font-weight:600!important; }
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,.main-header-menu>.menu-item>a:hover { color:var(--jc-orange)!important; }
.jc-landing .jc-hero,.jc-site .jc-hero { background:linear-gradient(112deg,var(--jc-navy) 0%,var(--jc-navy-2) 72%,#21516a 100%)!important; padding:76px 0 82px!important; }
.jc-landing .jc-hero :where(h1,p),.jc-site .jc-hero :where(h1,p) { color:#fff!important; }
.jc-landing .jc-section,.jc-site .jc-section { padding:72px 0!important; }
.jc-landing .jc-section-alt,.jc-site .jc-section-alt { background:var(--jc-surface)!important; }
.jc-landing .jc-section-dark,.jc-site .jc-section-dark { background:var(--jc-navy)!important; }
.jc-btn-primary,.woocommerce a.button,.woocommerce button.button,.wpforms-submit { background:var(--jc-orange)!important; border-color:var(--jc-orange)!important; color:#fff!important; }
.jc-btn-primary:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.wpforms-submit:hover { background:var(--jc-orange-dark)!important; border-color:var(--jc-orange-dark)!important; }
.jc-card,.jc-callout,.woocommerce ul.products li.product { border:1px solid var(--jc-border)!important; border-radius:8px!important; box-shadow:0 7px 24px rgba(16,42,67,.06)!important; }
.jc-card:hover,.woocommerce ul.products li.product:hover { box-shadow:var(--jc-shadow)!important; transform:translateY(-2px); }
.jc-kicker { color:var(--jc-orange)!important; }
.jc-icon { background:var(--jc-warm)!important; color:var(--jc-orange)!important; }
.jc-callout { border-left:5px solid var(--jc-orange)!important; }
.jc-cta { background:var(--jc-warm)!important; border-top:1px solid #e3d8c9!important; }
.woocommerce ul.products { display:grid!important; gap:24px!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; }
.woocommerce ul.products:before,.woocommerce ul.products:after { display:none!important; }
.woocommerce ul.products li.product { margin:0!important; padding-bottom:22px!important; width:auto!important; }
.woocommerce ul.products li.product img { aspect-ratio:4/3; object-fit:cover; width:100%; }
.wpforms-container { background:var(--jc-surface)!important; border:1px solid var(--jc-border)!important; border-radius:8px!important; padding:28px!important; }
.elementor-location-footer,.site-footer { background:var(--jc-navy)!important; color:#dce6ec!important; }
@media(max-width:920px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.woocommerce ul.products{grid-template-columns:1fr!important}.jc-landing .jc-hero,.jc-site .jc-hero{padding:54px 0 60px!important}}
/* === END JC UNIFIED B2B UI FINAL OVERRIDES === */

/* Do not present Elementor placeholders as project evidence. */
.page-id-6550 img[src*="elementor/assets/images/placeholder.png"] { display: none !important; }
.page-id-6550 .elementor-widget-image:has(img[src*="elementor/assets/images/placeholder.png"]) { min-height: 0 !important; margin: 0 !important; }

/* === JC CONSISTENT OVERLAY HEADER — 2026-08-13 === */
@media (min-width: 922px) {
    body.ast-theme-transparent-header .site-header,
    body .site-header,
    body .ast-primary-header-bar,
    body .ast-desktop .ast-primary-header-bar {
        background: rgba(40, 75, 63, .76) !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .site-header {
        left: 0 !important;
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        width: 100% !important;
        z-index: 999 !important;
    }

    body.admin-bar .site-header { top: 32px !important; }

    body .ast-primary-header-bar,
    body .ast-builder-grid-row-container,
    body .site-primary-header-wrap {
        min-height: 96px !important;
    }

    body .site-primary-header-wrap {
        max-width: 1500px !important;
        padding-left: 28px !important;
        padding-right: 28px !important;
        width: 100% !important;
    }

    body .ast-builder-grid-row {
        align-items: center !important;
        display: grid !important;
        grid-template-columns: minmax(190px, 250px) minmax(0, 1fr) !important;
        min-height: 96px !important;
        width: 100% !important;
    }

    body .site-header-primary-section-left,
    body .site-header-primary-section-right,
    body .ast-builder-menu,
    body .main-navigation,
    body .main-header-menu {
        min-width: 0 !important;
    }

    body .site-header-primary-section-right {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        white-space: nowrap !important;
    }

    body .main-navigation > ul,
    body .main-header-menu {
        align-items: center !important;
        display: flex !important;
        flex-flow: row nowrap !important;
        justify-content: flex-end !important;
        white-space: nowrap !important;
    }

    body .main-header-menu > .menu-item {
        flex: 0 0 auto !important;
    }

    body .main-header-menu > .menu-item > .menu-link,
    body .main-header-menu > .menu-item > a {
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 96px !important;
        padding: 0 15px !important;
    }

    body .main-header-menu > .menu-item > .menu-link:hover,
    body .main-header-menu > .current-menu-item > .menu-link,
    body .main-header-menu > .current-menu-ancestor > .menu-link {
        color: #f1ad72 !important;
    }

    body .main-header-menu .ast-menu-toggle,
    body .main-header-menu .dropdown-menu-toggle {
        color: currentColor !important;
    }

    body .main-header-menu .sub-menu {
        background: rgba(29, 58, 49, .97) !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        border-radius: 5px !important;
        box-shadow: 0 14px 34px rgba(0,0,0,.28) !important;
        padding: 8px !important;
    }

    body .main-header-menu .sub-menu .menu-link {
        color: #f4f5f6 !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
        padding: 11px 14px !important;
        white-space: nowrap !important;
    }

    body .main-header-menu .sub-menu .menu-link:hover {
        background: rgba(255,255,255,.08) !important;
        color: #f1ad72 !important;
    }

    body .site-logo-img img,
    body .custom-logo-link img {
        height: auto !important;
        max-height: 78px !important;
        max-width: 230px !important;
        width: auto !important;
    }

    /* Keep the first banner directly behind the shared header. */
    body .site-content,
    body #content {
        padding-top: 0 !important;
    }
}

@media (min-width: 922px) and (max-width: 1180px) {
    body .ast-builder-grid-row {
        grid-template-columns: minmax(160px, 205px) minmax(0, 1fr) !important;
    }
    body .main-header-menu > .menu-item > .menu-link,
    body .main-header-menu > .menu-item > a {
        font-size: 13px !important;
        padding: 0 9px !important;
    }
    body .site-logo-img img,
    body .custom-logo-link img { max-width: 190px !important; }
}

@media (max-width: 921px) {
    body .site-header,
    body .ast-primary-header-bar {
        background: rgba(40, 75, 63, .96) !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    body .main-header-menu .menu-link,
    body .ast-mobile-menu-trigger-minimal { color: #fff !important; }
    body .ast-mobile-popup-drawer .ast-mobile-popup-inner {
        background: #0f3d2e !important;
    }
    body .ast-mobile-popup-drawer .menu-link,
    body .ast-mobile-popup-drawer .ast-menu-toggle,
    body .ast-mobile-popup-drawer .dropdown-menu-toggle,
    body .ast-mobile-popup-drawer .ast-mobile-svg {
        color: #fff !important;
        fill: #fff !important;
    }
    body .ast-mobile-popup-drawer .sub-menu {
        background: #123f32 !important;
    }
    body .ast-mobile-popup-drawer .menu-link:hover,
    body .ast-mobile-popup-drawer .menu-link:focus,
    body .ast-mobile-popup-drawer .current-menu-item > .menu-link,
    body .ast-mobile-popup-drawer .current-menu-ancestor > .menu-link {
        background: rgba(255,255,255,.08) !important;
        color: #f1d27a !important;
    }
}
/* === END JC CONSISTENT OVERLAY HEADER === */

/* === JC ARTICLE RELATED CARD ALIGNMENT — v0.3.86 === */
/* Related-post source images use several native ratios. The buyer-guide
   system standard is 1200x800 (3:2), so crop every card into that frame. */
body.single-post .ast-related-posts-wrapper {
    align-items: stretch !important;
}
body.single-post .ast-related-posts-wrapper > .ast-related-post,
body.single-post .ast-related-posts-wrapper .ast-related-posts-inner-section,
body.single-post .ast-related-posts-wrapper .ast-related-post-content {
    height: 100% !important;
}
body.single-post .ast-related-posts-wrapper .ast-related-post-content {
    display: flex !important;
    flex-direction: column !important;
}
body.single-post .ast-related-posts-wrapper .ast-related-post-featured-section,
body.single-post .ast-related-posts-wrapper .post-thumb,
body.single-post .ast-related-posts-wrapper .post-thumb > a {
    aspect-ratio: 3 / 2 !important;
    display: block !important;
    height: auto !important;
    overflow: hidden !important;
    width: 100% !important;
}
body.single-post .ast-related-posts-wrapper .post-thumb img {
    aspect-ratio: auto !important;
    display: block !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
}
body.single-post .ast-related-posts-wrapper .related-entry-header {
    flex: 1 1 auto !important;
}

/* === END JC ARTICLE RELATED CARD ALIGNMENT === */

/* === JC FINAL MOBILE HEADING FIT — v0.4.02 === */
/* These overrides intentionally live last. Several product-detail templates
   define their own large hero type later in the main stylesheet. */
@media (max-width: 680px) {
    html body.jc-ws-template #page .jc-ws-page--hub .jc-ws-hero h1 {
        font-size: 32px !important;
        line-height: 1.12 !important;
    }
    html body.jc-ws-template #page .jc-pd-page .jc-pd-hero h1 {
        font-size: 36px !important;
        line-height: 1.1 !important;
    }
    body.single-post article.ast-article-single > div > .entry-header .entry-title {
        font-size: 28px !important;
        line-height: 1.18 !important;
    }
}
/* === END JC FINAL MOBILE HEADING FIT === */

/* The retired Buyer Guides button is also removed in JavaScript after
   Elementor initializes. Hide it from the first paint so it cannot flash. */
body.page-id-17 .elementor-widget-button:has(a.elementor-button[href*="/blog/"]) {
    display: none !important;
}
