
    .jc-software-local {
        --jc-teal: #00BB94;
        --jc-black: #080a09;
        --jc-dark: #101412;
        --jc-gray: #f4f6f5;
        --jc-gray-2: #e4eae7;
        --jc-text: #242927;
        --jc-muted: #69736f;
        --jc-white: #ffffff;

        font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        color: var(--jc-text);
        background: var(--jc-white);
        line-height: 1.65;
        overflow: hidden;
    }

    .jc-software-local * {
        box-sizing: border-box;
    }

    .jc-software-local a {
        color: inherit;
    }

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

    .jc-hero {
        position: relative;
        overflow: hidden;
        padding: 118px 0 105px;
        background:
            radial-gradient(circle at 82% 20%, rgba(0,187,148,.19), transparent 29%),
            linear-gradient(135deg, #ffffff 0%, #f2f8f6 100%);
    }

    .jc-hero::before {
        content: "";
        position: absolute;
        right: -170px;
        top: -140px;
        width: 560px;
        height: 560px;
        border: 1px solid rgba(0,187,148,.23);
        border-radius: 50%;
    }

    .jc-hero::after {
        content: "";
        position: absolute;
        right: 50px;
        bottom: -190px;
        width: 340px;
        height: 340px;
        border: 1px solid rgba(0,187,148,.12);
        border-radius: 50%;
    }

    .jc-hero-inner {
        position: relative;
        z-index: 2;
    }

    .jc-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 24px;
        color: var(--jc-black);
        font-size: .78rem;
        font-weight: 850;
        letter-spacing: .14em;
        text-transform: uppercase;
    }

    .jc-eyebrow::before {
        content: "";
        width: 36px;
        height: 3px;
        background: var(--jc-teal);
    }

    .jc-hero h1 {
        max-width: 1000px;
        margin: 0 0 28px;
        color: var(--jc-black);
        font-size: clamp(2.8rem, 6vw, 5.3rem);
        font-weight: 850;
        line-height: .98;
        letter-spacing: -.055em;
    }

    .jc-hero h1 span {
        color: var(--jc-teal);
    }

    .jc-lead {
        max-width: 810px;
        margin: 0 0 38px;
        color: #4c5652;
        font-size: 1.2rem;
    }

    .jc-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }

    .jc-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
        padding: 0 22px;
        border-radius: 9px;
        text-decoration: none;
        font-weight: 760;
        transition: .2s ease;
    }

    .jc-btn-primary {
        background: var(--jc-black);
        color: #fff !important;
    }

    .jc-btn-primary:hover {
        background: var(--jc-teal);
        color: var(--jc-black) !important;
        transform: translateY(-2px);
    }

    .jc-btn-secondary {
        border: 1px solid #cfd8d4;
        background: rgba(255,255,255,.9);
        color: var(--jc-black) !important;
    }

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

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

    .jc-section-dark {
        background: var(--jc-dark);
        color: #fff;
    }

    .jc-section-head {
        max-width: 830px;
        margin-bottom: 48px;
    }

    .jc-section-head h2 {
        margin: 0 0 20px;
        color: var(--jc-black);
        font-size: clamp(2rem, 4vw, 3.35rem);
        font-weight: 820;
        line-height: 1.07;
        letter-spacing: -.04em;
    }

    .jc-section-head p {
        margin: 0;
        color: var(--jc-muted);
        font-size: 1.08rem;
    }

    .jc-section-dark .jc-section-head h2 {
        color: #fff;
    }

    .jc-section-dark .jc-section-head p {
        color: #b7c0bc;
    }

    .jc-section-dark .jc-eyebrow {
        color: #fff;
    }

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

    .jc-card {
        padding: 30px;
        border: 1px solid var(--jc-gray-2);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 14px 40px rgba(5,20,15,.035);
    }

    .jc-num {
        display: block;
        margin-bottom: 24px;
        color: var(--jc-teal);
        font-size: .78rem;
        font-weight: 900;
        letter-spacing: .11em;
    }

    .jc-card h3 {
        margin: 0 0 12px;
        color: var(--jc-black);
        font-size: 1.25rem;
        line-height: 1.25;
    }

    .jc-card p {
        margin: 0;
        color: var(--jc-muted);
    }

    .jc-card a {
        color: #008d70;
        font-weight: 750;
        text-decoration: none;
    }

    .jc-service-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1px;
        overflow: hidden;
        border: 1px solid #29322f;
        border-radius: 16px;
        background: #29322f;
    }

    .jc-service {
        padding: 30px;
        background: var(--jc-dark);
    }

    .jc-service strong {
        display: block;
        margin-bottom: 10px;
        color: var(--jc-teal);
        font-size: 1.05rem;
    }

    .jc-service p {
        margin: 0;
        color: #bac4c0;
    }

    .jc-process {
        counter-reset: step;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }

    .jc-process article {
        padding-top: 22px;
        border-top: 3px solid var(--jc-teal);
    }

    .jc-process article::before {
        counter-increment: step;
        content: "0" counter(step);
        display: block;
        margin-bottom: 18px;
        color: var(--jc-teal);
        font-weight: 900;
    }

    .jc-process h3 {
        margin: 0 0 10px;
        color: var(--jc-black);
    }

    .jc-process p {
        margin: 0;
        color: var(--jc-muted);
    }

    .jc-faq details {
        padding: 24px 0;
        border-top: 1px solid #dce4e0;
    }

    .jc-faq details:last-child {
        border-bottom: 1px solid #dce4e0;
    }

    .jc-faq summary {
        cursor: pointer;
        color: var(--jc-black);
        font-size: 1.04rem;
        font-weight: 760;
    }

    .jc-faq p {
        max-width: 880px;
        margin: 14px 0 0;
        color: var(--jc-muted);
    }

    .jc-cta {
        position: relative;
        overflow: hidden;
        padding: 64px;
        border-radius: 22px;
        background: var(--jc-teal);
        color: #06110e;
    }

    .jc-cta::after {
        content: "";
        position: absolute;
        width: 320px;
        height: 320px;
        right: -120px;
        bottom: -170px;
        border: 1px solid rgba(0,0,0,.15);
        border-radius: 50%;
    }

    .jc-cta h2 {
        position: relative;
        z-index: 2;
        max-width: 820px;
        margin: 0 0 18px;
        font-size: clamp(2rem, 4vw, 3.4rem);
        line-height: 1.04;
        letter-spacing: -.04em;
    }

    .jc-cta p {
        position: relative;
        z-index: 2;
        max-width: 760px;
        margin: 0 0 28px;
        font-size: 1.08rem;
    }

    .jc-cta .jc-btn {
        position: relative;
        z-index: 2;
    }

    @media (max-width: 850px) {
        .jc-grid-3,
        .jc-service-grid,
        .jc-process {
            grid-template-columns: 1fr;
        }

        .jc-hero {
            padding: 80px 0;
        }

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

        .jc-cta {
            padding: 40px 25px;
        }
    }
