
    :root {
        --jc-teal: #00b894;
        --jc-teal-dark: #008d73;
        --jc-teal-soft: #e6f7f4;
        --jc-teal-50: #f4fbf9;

        --jc-black: #111111;
        --jc-text: #171a1f;
        --jc-muted: #5b5d63;
        --jc-soft-muted: #858a91;
        --jc-line: #e9ecef;
        --jc-white: #ffffff;
        --jc-soft: #f7f9fa;

        --jc-shadow:
            0 18px 60px rgba(17, 17, 17, 0.08);

        --jc-shadow-sm:
            0 8px 24px rgba(17, 17, 17, 0.06);

        --jc-max: 1180px;
    }

    * {
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        margin: 0;
        background: var(--jc-white);
        color: var(--jc-text);
        font-family:
            Inter,
            ui-sans-serif,
            system-ui,
            -apple-system,
            BlinkMacSystemFont,
            "Segoe UI",
            sans-serif;
        line-height: 1.55;
        -webkit-font-smoothing: antialiased;
    }

    a {
        color: inherit;
        text-decoration: none;
    }

    button,
    input,
    select,
    textarea {
        font: inherit;
    }

    .jc-contact-page {
        position: relative;
        min-height: 100vh;
        overflow: hidden;
        background:
            radial-gradient(
                circle at 82% 17%,
                rgba(0, 184, 148, 0.11),
                transparent 22%
            ),
            linear-gradient(
                180deg,
                #ffffff 0%,
                #fbfcfc 100%
            );
    }

    .jc-container {
        position: relative;
        z-index: 2;
        width: min(
            var(--jc-max),
            calc(100% - 40px)
        );
        margin: auto;
    }

    /*
    DECORACIÓN
    */

    .jc-dot-field {
        position: absolute;
        z-index: 0;
        width: 150px;
        height: 150px;
        background-image:
            radial-gradient(
                var(--jc-teal) 1.3px,
                transparent 1.3px
            );
        background-size: 14px 14px;
        opacity: 0.18;
        pointer-events: none;
    }

    .jc-dot-field.top-left {
        top: 55px;
        left: 25px;
    }

    .jc-contact-orb {
        position: absolute;
        z-index: 0;
        top: 90px;
        right: -230px;
        width: 500px;
        height: 500px;
        border: 1px solid rgba(0, 184, 148, 0.16);
        border-radius:
            44% 56% 50% 50%
            / 52% 42% 58% 48%;
        transform: rotate(-18deg);
        pointer-events: none;
    }

    /*
    HEADER / BREADCRUMB
    */

    .jc-top {
        padding-top: 56px;
    }

    .jc-breadcrumb {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        color: var(--jc-soft-muted);
        font-size: 12px;
        font-weight: 650;
    }

    .jc-breadcrumb a:hover {
        color: var(--jc-teal-dark);
    }

    .jc-breadcrumb span {
        color: #b8bcc1;
    }

    /*
    MAIN
    */

    .jc-contact-main {
        padding: 72px 0 105px;
    }

    .jc-contact-grid {
        display: grid;
        grid-template-columns:
            minmax(0, 0.92fr)
            minmax(420px, 0.82fr);
        gap: 85px;
        align-items: start;
    }

    /*
    INTRO
    */

    .jc-kicker {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        margin-bottom: 21px;
        color: var(--jc-teal-dark);
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .jc-kicker::before {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--jc-teal);
        content: "";
    }

    .jc-title {
        max-width: 690px;
        margin: 0;
        font-size: clamp(50px, 6.5vw, 82px);
        font-weight: 720;
        letter-spacing: -0.065em;
        line-height: 0.96;
    }

    .jc-accent {
        color: var(--jc-teal-dark);
    }

    .jc-lead {
        max-width: 660px;
        margin: 27px 0 0;
        color: var(--jc-muted);
        font-size: clamp(18px, 2vw, 21px);
        line-height: 1.68;
    }

    .jc-simple-copy {
        max-width: 620px;
        margin: 23px 0 0;
        color: var(--jc-muted);
        font-size: 15px;
        line-height: 1.7;
    }

    /*
    WHATSAPP
    */

    .jc-contact-options {
        display: grid;
        gap: 12px;
        margin-top: 38px;
        max-width: 600px;
    }

    .jc-whatsapp {
        position: relative;
        display: grid;
        grid-template-columns:
            48px
            minmax(0, 1fr)
            auto;
        align-items: center;
        gap: 16px;
        min-height: 84px;
        padding: 16px 20px;
        border: 1px solid rgba(0, 184, 148, 0.3);
        border-radius: 18px;
        background: var(--jc-teal);
        color: var(--jc-white);
        box-shadow:
            0 15px 35px rgba(0, 184, 148, 0.22);
        transition:
            transform 180ms ease,
            box-shadow 180ms ease,
            background 180ms ease;
    }

    .jc-whatsapp:hover {
        transform: translateY(-3px);
        background: var(--jc-teal-dark);
        box-shadow:
            0 20px 45px rgba(0, 141, 115, 0.25);
    }

    .jc-whatsapp-icon {
        display: grid;
        width: 48px;
        height: 48px;
        place-items: center;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.16);
    }

    .jc-whatsapp-icon svg {
        width: 24px;
        height: 24px;
        fill: currentColor;
    }

    .jc-whatsapp-copy strong {
        display: block;
        margin-bottom: 3px;
        font-size: 16px;
    }

    .jc-whatsapp-copy span {
        display: block;
        color: rgba(255, 255, 255, 0.82);
        font-size: 12px;
        line-height: 1.45;
    }

    .jc-whatsapp-arrow {
        font-size: 21px;
    }

    /*
    EMAIL / TEL
    */

    .jc-secondary-options {
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .jc-contact-option {
        padding: 18px 19px;
        border: 1px solid var(--jc-line);
        border-radius: 15px;
        background: rgba(255, 255, 255, 0.88);
        transition:
            transform 180ms ease,
            border-color 180ms ease,
            box-shadow 180ms ease;
    }

    .jc-contact-option:hover {
        transform: translateY(-2px);
        border-color: rgba(0, 184, 148, 0.35);
        box-shadow: var(--jc-shadow-sm);
    }

    .jc-contact-option small {
        display: block;
        margin-bottom: 5px;
        color: var(--jc-soft-muted);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .jc-contact-option strong {
        display: block;
        font-size: 14px;
        line-height: 1.35;
    }

    /*
    TRUST
    */

    .jc-proof {
        display: flex;
        flex-wrap: wrap;
        gap: 15px 24px;
        margin-top: 31px;
        color: var(--jc-muted);
        font-size: 12px;
    }

    .jc-proof span {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .jc-proof span::before {
        display: grid;
        width: 19px;
        height: 19px;
        flex: 0 0 19px;
        place-items: center;
        border-radius: 50%;
        background: var(--jc-teal-soft);
        color: var(--jc-teal-dark);
        content: "✓";
        font-size: 10px;
        font-weight: 800;
    }

    /*
    FORM
    */

    .jc-form-card {
        position: relative;
        padding: 34px;
        border: 1px solid var(--jc-line);
        border-radius: 28px;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: var(--jc-shadow);
        backdrop-filter: blur(14px);
    }

    .jc-form-top {
        margin-bottom: 26px;
    }

    .jc-form-label {
        display: inline-flex;
        margin-bottom: 12px;
        color: var(--jc-teal-dark);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .jc-form-title {
        margin: 0;
        font-size: 28px;
        font-weight: 700;
        letter-spacing: -0.04em;
        line-height: 1.08;
    }

    .jc-form-intro {
        margin: 12px 0 0;
        color: var(--jc-muted);
        font-size: 14px;
        line-height: 1.62;
    }

    .jc-form-grid {
        display: grid;
        gap: 16px;
    }

    .jc-field {
        display: grid;
        gap: 7px;
    }

    .jc-field label {
        color: var(--jc-text);
        font-size: 12px;
        font-weight: 700;
    }

    .jc-field label span {
        color: var(--jc-soft-muted);
        font-weight: 500;
    }

    .jc-control {
        width: 100%;
        height: 50px;
        padding: 0 14px;
        border: 1px solid #dfe3e7;
        border-radius: 11px;
        outline: none;
        background: var(--jc-white);
        color: var(--jc-text);
        transition:
            border-color 180ms ease,
            box-shadow 180ms ease;
    }

    .jc-control::placeholder {
        color: #a3a7ac;
    }

    .jc-control:focus {
        border-color: var(--jc-teal);
        box-shadow:
            0 0 0 4px rgba(0, 184, 148, 0.11);
    }

    textarea.jc-control {
        min-height: 145px;
        padding-top: 13px;
        line-height: 1.55;
        resize: vertical;
    }

    /*
    QUICK SUBJECTS
    */

    .jc-interest {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .jc-interest label {
        position: relative;
        cursor: pointer;
    }

    .jc-interest input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .jc-interest span {
        display: inline-flex;
        min-height: 36px;
        align-items: center;
        padding: 0 12px;
        border: 1px solid var(--jc-line);
        border-radius: 999px;
        background: var(--jc-white);
        color: var(--jc-muted);
        font-size: 12px;
        font-weight: 650;
        transition:
            border-color 180ms ease,
            background 180ms ease,
            color 180ms ease;
    }

    .jc-interest input:checked + span {
        border-color: rgba(0, 184, 148, 0.45);
        background: var(--jc-teal-soft);
        color: var(--jc-teal-dark);
    }

    /*
    BUTTON
    */

    .jc-submit {
        width: 100%;
        min-height: 52px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        margin-top: 5px;
        padding: 0 20px;
        border: 0;
        border-radius: 11px;
        background: var(--jc-black);
        color: var(--jc-white);
        cursor: pointer;
        font-size: 14px;
        font-weight: 760;
        box-shadow:
            0 12px 28px rgba(17, 17, 17, 0.15);
        transition:
            transform 180ms ease,
            background 180ms ease,
            box-shadow 180ms ease;
    }

    .jc-submit:hover {
        transform: translateY(-2px);
        background: var(--jc-teal-dark);
        box-shadow:
            0 15px 35px rgba(0, 141, 115, 0.2);
    }

    .jc-form-note {
        margin: 12px 0 0;
        color: var(--jc-soft-muted);
        font-size: 10px;
        line-height: 1.55;
        text-align: center;
    }

    /*
    FINAL MICRO CTA
    */

    .jc-bottom-note {
        padding: 0 0 80px;
    }

    .jc-bottom-note-inner {
        display: flex;
        justify-content: space-between;
        gap: 30px;
        padding-top: 30px;
        border-top: 1px solid var(--jc-line);
    }

    .jc-bottom-note p {
        max-width: 620px;
        margin: 0;
        color: var(--jc-muted);
        font-size: 13px;
        line-height: 1.7;
    }

    .jc-bottom-note strong {
        color: var(--jc-text);
    }

    /*
    RESPONSIVE
    */

    @media (max-width: 960px) {
        .jc-contact-grid {
            grid-template-columns: 1fr;
        }

        .jc-form-card {
            max-width: 680px;
        }
    }

    @media (max-width: 640px) {
        .jc-container {
            width: calc(100% - 24px);
        }

        .jc-top {
            padding-top: 32px;
        }

        .jc-contact-main {
            padding: 48px 0 75px;
        }

        .jc-title {
            font-size: clamp(45px, 14vw, 62px);
        }

        .jc-secondary-options {
            grid-template-columns: 1fr;
        }

        .jc-whatsapp {
            grid-template-columns:
                42px
                minmax(0, 1fr)
                auto;
            padding: 14px 16px;
        }

        .jc-whatsapp-icon {
            width: 42px;
            height: 42px;
        }

        .jc-form-card {
            padding: 25px 20px;
            border-radius: 22px;
        }

        .jc-bottom-note-inner {
            display: block;
        }
    }
