@supports selector(:has(*)) {
        body:has(.onbv7-shell) {
            overflow: hidden;
            height: 100vh;
            height: 100dvh;
        }
    }
    .onbv7 {
        --onb-bg: linear-gradient(145deg, #e8f4fc 0%, #f4fbf8 42%, #eef8f4 100%);
        --onb-panel: #ffffff;
        --onb-aside: linear-gradient(180deg, #f6fbff 0%, #ffffff 55%, #f3fbf7 100%);
        --onb-border: rgba(186, 230, 253, 0.85);
        --onb-teal: #0d9488;
        --onb-emerald: #059669;
        --onb-text: #0f172a;
        --onb-muted: #64748b;
        font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
    }
    .onbv7-shell {
        background: var(--onb-bg);
    }
    .onbv7-panel {
        background: var(--onb-panel);
        border: 1px solid var(--onb-border);
        border-radius: 1.75rem;
        box-shadow: 0 24px 60px -28px rgba(14, 116, 144, 0.18), 0 0 0 1px rgba(255, 255, 255, 0.85) inset;
    }
    .onbv7-aside {
        background: var(--onb-aside);
        border: 1px solid var(--onb-border);
        border-radius: 1.75rem;
        box-shadow: 0 20px 50px -24px rgba(14, 116, 144, 0.14);
    }
    .onbv7-pill {
        border: 1px solid rgba(186, 230, 253, 0.95);
        background: rgba(255, 255, 255, 0.92);
        border-radius: 9999px;
        padding: 0.4rem 0.85rem;
        font-size: 0.68rem;
        font-weight: 700;
        color: #0369a1;
    }
    .onbv7-headline {
        font-weight: 800;
        font-style: italic;
        letter-spacing: -0.02em;
        color: var(--onb-text);
        line-height: 1.2;
    }
    .onbv7-icon-box {
        width: 3.25rem;
        height: 3.25rem;
        border-radius: 1rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(145deg, #e0f2fe, #ffffff 45%, #d1fae5);
        box-shadow: 0 10px 28px -12px rgba(14, 116, 144, 0.35), 0 0 0 2px #fff;
    }
    @media (min-width: 1024px) {
        .onbv7-icon-box { width: 3.5rem; height: 3.5rem; border-radius: 1.1rem; }
    }
    .onbv7-title {
        font-size: 1.2rem;
        font-weight: 800;
        color: #1e293b;
        letter-spacing: -0.02em;
        line-height: 1.25;
    }
    @media (min-width: 1024px) {
        .onbv7-title { font-size: 1.35rem; }
    }
    .onbv7-sub {
        font-size: 0.8rem;
        line-height: 1.45;
        color: var(--onb-muted);
    }
    @media (min-width: 1024px) {
        .onbv7-sub { font-size: 0.875rem; }
    }
    .onbv7-btn-primary {
        background: linear-gradient(90deg, #059669, #0d9488);
        color: #fff;
        font-weight: 800;
        border-radius: 1rem;
        box-shadow: 0 12px 32px -8px rgba(5, 150, 105, 0.45);
        transition: filter 0.15s, transform 0.1s;
    }
    .onbv7-btn-primary:hover { filter: brightness(1.05); }
    .onbv7-btn-primary:active { transform: scale(0.98); }
  .onb-payment-submit-island.is-busy #onbBtnSubmit {
    pointer-events: none;
    cursor: wait;
    opacity: 0.85;
  }
  .onb-payment-blocker:not(.hidden) {
    pointer-events: auto !important;
  }
  #onboarding-wizard-root[data-payment-busy] .onb-payment-submit-island {
    user-select: none;
  }
    .onbv7-btn-secondary {
        background: #fff;
        border: 2px solid #a7f3d0;
        color: #047857;
        font-weight: 700;
        border-radius: 1rem;
    }
    .onbv7-btn-ghost {
        background: #fff;
        border: 2px solid #bae6fd;
        color: #334155;
        font-weight: 700;
        border-radius: 1rem;
    }
    .onbv7-social {
        background: linear-gradient(90deg, #ecfdf5, #ffffff 50%, #f0f9ff);
        border: 1px solid #a7f3d0;
        border-radius: 1rem;
    }
    .onbv7-med-card {
        border: 2px solid #e2e8f0;
        border-radius: 1rem;
        background: #fff;
        transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
    }
    .onbv7-med-card:hover { border-color: #6ee7b7; }
    .onbv7-med-card.is-selected {
        border-color: #10b981;
        background: linear-gradient(180deg, #ecfdf5, #f0fdf4);
        box-shadow: 0 8px 24px -10px rgba(16, 185, 129, 0.35);
    }
    .onbv7-time-card {
        border: 2px solid #e0f2fe;
        border-radius: 1rem;
        background: #fff;
    }
    .onbv7-time-card.is-selected {
        border-color: #34d399;
        background: linear-gradient(135deg, #ecfdf5, #f0f9ff);
        box-shadow: 0 6px 20px -8px rgba(52, 211, 153, 0.35);
    }
    .onbv7-field {
        border: 2px solid #f1f5f9;
        border-radius: 0.85rem;
        background: #fff;
    }
    .onbv7-field:focus-within {
        border-color: #34d399;
        box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.12);
    }
    .onbv7-health-card {
        border: 2px solid #e0f2fe;
        border-radius: 1rem;
        background: #fff;
        min-height: 5.5rem;
    }
    .onbv7-health-card.is-selected {
        border-color: #34d399;
        background: linear-gradient(145deg, #ecfdf5, #f8fafc);
    }
    .onbv7-meta-card {
        border-radius: 0.85rem;
        border: 1px solid transparent;
        padding: 0.65rem 0.75rem;
    }
    .onbv7-scroll-area {
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    @media (min-width: 1024px) {
        .onbv7-scroll-area--desktop-fit {
            overflow-y: auto;
            max-height: 100%;
        }
    }
    .onbv7-scroll-area--account {
        padding-bottom: max(0.5rem, env(safe-area-inset-bottom, 0px));
    }
    .onbv7-account-card .onbv7-account-nav > div {
        max-width: none;
    }
    @media (max-width: 380px) {
        .onbv7-account-row-2 {
            grid-template-columns: 1fr;
        }
        .onbv7-account-hint-mobile {
            margin-top: 0;
        }
    }
    @media (min-width: 1024px) {
        .onbv7-account-card {
            padding: 1.35rem 1.5rem 1.5rem;
        }
        .onbv7-account-passwords {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .onbv7-account-nav > div {
            gap: 0.85rem;
        }
        .onbv7-account-nav .onbv7-btn-primary,
        .onbv7-account-nav .onbv7-btn-ghost {
            min-height: 52px;
            font-size: 0.9rem;
        }
    }
    .onbv7-dense .onbv7-sub { font-size: 0.75rem; }
    .onbv7-dense .onbv7-title { font-size: 1.1rem; }
    .onbv7-step-dot {
        width: 2rem;
        height: 2rem;
        border-radius: 9999px;
        font-size: 0.7rem;
        font-weight: 800;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }
    .onbv7-step-dot--idle {
        border: 1px solid #cbd5e1;
        background: #fff;
        color: #94a3b8;
    }
    .onbv7-step-dot--done {
        background: #10b981;
        color: #fff;
    }
    .onbv7-step-dot--active {
        background: linear-gradient(135deg, #0ea5e9, #10b981);
        color: #fff;
        box-shadow: 0 4px 12px -2px rgba(16, 185, 129, 0.45);
    }
:root {
        --jv5-space-1: 4px;
        --jv5-space-2: 8px;
        --jv5-space-3: 12px;
        --jv5-space-4: 16px;
        --jv5-space-5: 20px;
        --jv5-space-6: 24px;
        --jv5-radius-sm: 10px;
        --jv5-radius-md: 14px;
        --jv5-radius-lg: 18px;
        --jv5-radius-xl: 22px;
        --jv5-type-xs: clamp(0.68rem, 0.64rem + 0.2vw, 0.72rem);
        --jv5-type-sm: clamp(0.78rem, 0.74rem + 0.25vw, 0.84rem);
        --jv5-type-base: clamp(0.88rem, 0.84rem + 0.3vw, 0.94rem);
        --jv5-type-lg: clamp(1.02rem, 0.96rem + 0.45vw, 1.12rem);
        --jv5-type-xl: clamp(1.22rem, 1.1rem + 0.7vw, 1.42rem);
        --jv5-type-2xl: clamp(1.42rem, 1.28rem + 0.9vw, 1.72rem);
        --jv5-emerald: #059669;
        --jv5-teal: #0d9488;
        --jv5-sky: #0284c7;
        --jv5-violet: #7c3aed;
        --jv5-slate: #0f172a;
        --jv5-muted: #64748b;
        --jv5-surface: rgba(255, 255, 255, 0.92);
        --jv5-border: rgba(16, 185, 129, 0.18);
        --jv5-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
    }
.jv5-scene {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        gap: var(--jv5-space-3);
    }

    .jv5-scene__top {
        display: flex;
        align-items: flex-start;
        gap: var(--jv5-space-3);
        flex-shrink: 0;
    }

    .jv5-scene__main {
        flex: 1 1 auto;
        min-height: 0;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .jv5-scene__foot {
        flex-shrink: 0;
        padding-top: var(--jv5-space-2);
    }

    .jv5-headline {
        font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
        font-size: var(--jv5-type-2xl);
        font-weight: 800;
        line-height: 1.15;
        color: var(--jv5-slate);
        letter-spacing: -0.02em;
    }

    .jv5-sub {
        margin-top: var(--jv5-space-2);
        font-size: var(--jv5-type-sm);
        line-height: 1.45;
        color: var(--jv5-muted);
    }

    .jg-scene--welcome .jv5-sub--portal {
        width: 100%;
        max-width: none;
        text-wrap: pretty;
    }

    .jv5-chip-row {
        display: flex;
        flex-wrap: wrap;
        gap: var(--jv5-space-2);
    }

    .jv5-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 12px;
        border-radius: 999px;
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        color: #065f46;
    }

    .jv5-chip.is-on {
        border-color: rgba(5, 150, 105, 0.45);
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.14), rgba(45, 212, 191, 0.1));
        box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.12);
    }

    .jv5-stat {
        display: flex;
        flex-direction: column;
        gap: 2px;
        padding: var(--jv5-space-3);
        border-radius: var(--jv5-radius-md);
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
    }

    .jv5-stat__value {
        font-size: var(--jv5-type-lg);
        font-weight: 800;
        color: var(--jv5-emerald);
        font-variant-numeric: tabular-nums;
    }

    .jv5-stat__label {
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        color: var(--jv5-muted);
        text-transform: uppercase;
        letter-spacing: 0.06em;
    }

    .jv5-match-grid {
        display: grid;
        gap: var(--jv5-space-3);
    }

    .jv5-match-card {
        padding: var(--jv5-space-4);
        border-radius: var(--jv5-radius-lg);
        border: 1px solid var(--jv5-border);
        background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(236, 253, 245, 0.7));
        box-shadow: var(--jv5-shadow);
    }

    .jv5-match-card__title {
        font-size: var(--jv5-type-base);
        font-weight: 800;
        color: var(--jv5-slate);
    }

    .jv5-match-card__body {
        margin-top: 6px;
        font-size: var(--jv5-type-sm);
        color: var(--jv5-muted);
        line-height: 1.45;
    }

    .jv5-stage-grid {
        display: grid;
        gap: var(--jv5-space-2);
    }

    .jv5-stage-card {
        display: flex;
        align-items: center;
        gap: var(--jv5-space-3);
        width: 100%;
        text-align: left;
        padding: var(--jv5-space-3);
        border-radius: var(--jv5-radius-md);
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
        transition: border-color 0.15s, box-shadow 0.15s;
    }

    .jv5-stage-card .jg-stage-card__orb {
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 0.75rem;
        color: var(--jg-stage-accent, #10b981);
        background: linear-gradient(
            145deg,
            var(--jg-stage-accent-soft, #ecfdf5) 0%,
            var(--jg-stage-accent-mid, #d1fae5) 100%
        );
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.95),
            0 4px 14px -8px var(--jg-stage-glow, rgba(16, 185, 129, 0.28));
    }

    .jv5-stage-card .jg-icon {
        stroke-width: 2;
    }

    .jv5-stage-card.is-on {
        border-color: rgba(5, 150, 105, 0.5);
        box-shadow: 0 8px 24px rgba(16, 185, 129, 0.12);
    }

    .jv5-stage-card__label {
        display: block;
        font-size: var(--jv5-type-sm);
        font-weight: 800;
        color: var(--jv5-slate);
    }

    .jv5-stage-card__sub {
        display: block;
        margin-top: 2px;
        font-size: var(--jv5-type-xs);
        color: var(--jv5-muted);
    }

    .jv5-section-label {
        font-size: var(--jv5-type-xs);
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #047857;
        margin-bottom: var(--jv5-space-2);
    }

    .jv5-proof-line {
        font-size: var(--jv5-type-xs);
        color: var(--jv5-muted);
        text-align: center;
    }

    .jv5-proof-line strong {
        color: var(--jv5-emerald);
    }

    .jv5-vivi__name {
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #0d9488;
    }

    .jv5-vivi__line {
        margin-top: 4px;
        font-size: var(--jv5-type-sm);
        font-weight: 700;
        line-height: 1.4;
        color: #334155;
    }

    .jv5-portal-specialist {
        margin-top: var(--jv5-space-3);
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .jv5-portal-specialist__device {
        --jg-specialist-phone-h: min(24lvh, 172px);
        width: min(calc(var(--jg-specialist-phone-h) * 9 / 16), 58vw, 154px);
    }

    .jv5-portal-specialist__stage .jg-specialist-phone-glow {
        width: min(82%, 210px);
        height: min(62%, 210px);
    }

    .jv5-portal-specialist__meta {
        margin-top: var(--jv5-space-2);
    }

    .jv5-portal-specialist__specialty {
        margin: 0;
        font-size: 9px;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: #7c3aed;
    }

    .jv5-portal-specialist__name {
        margin: 4px 0 0;
        font-size: var(--jv5-type-sm);
        font-weight: 800;
        color: var(--jv5-slate);
    }

    .jv5-portal-specialist__name a {
        color: inherit;
        text-decoration: underline;
        text-decoration-color: rgba(124, 58, 237, 0.35);
        text-underline-offset: 2px;
    }

    .jv5-portal-specialist__crm {
        margin: 2px 0 0;
        font-size: var(--jv5-type-xs);
        font-weight: 600;
        color: var(--jv5-muted);
    }

    .jv5-portal-specialist__disclaimer {
        margin: var(--jv5-space-2) 0 0;
        max-width: 18rem;
        font-size: 10px;
        line-height: 1.4;
        color: var(--jv5-muted);
    }

    .jv5-feature-list {
        display: flex;
        flex-direction: column;
        gap: var(--jv5-space-2);
        margin-top: var(--jv5-space-4);
        list-style: none;
        padding: 0;
    }

    .jv5-feature-list--after-video {
        margin-top: var(--jv5-space-3);
    }

    .jv5-feature {
        display: flex;
        align-items: flex-start;
        gap: var(--jv5-space-3);
        padding: var(--jv5-space-3);
        border-radius: var(--jv5-radius-md);
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
    }

    .jv5-feature__orb {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border-radius: 999px;
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.16), rgba(45, 212, 191, 0.12));
        color: #047857;
        flex-shrink: 0;
    }

    .jv5-feature__lead {
        display: block;
        font-size: var(--jv5-type-sm);
        font-weight: 800;
        color: var(--jv5-slate);
    }

    .jv5-feature__detail {
        display: block;
        margin-top: 2px;
        font-size: var(--jv5-type-xs);
        color: var(--jv5-muted);
        line-height: 1.35;
    }

    .jv5-block-label {
        display: flex;
        align-items: center;
        gap: 6px;
        margin: var(--jv5-space-4) 0 var(--jv5-space-2);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: #047857;
    }

    .jv5-block-label:first-child {
        margin-top: 0;
    }

    .jv5-block-label__dot {
        width: 6px;
        height: 6px;
        border-radius: 999px;
        background: #10b981;
    }

    .jv5-wizard {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        gap: var(--jv5-space-3);
    }


    .jv5-wizard-head {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: var(--jv5-space-2);
    }

    .jv5-wizard-head .jv5-headline {
        margin-top: var(--jv5-space-1);
    }

    .jv5-wizard-head .jv5-sub {
        margin-top: 0;
    }

    .jv5-therapy-scroll,
    .jv5-bio-scroll {
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        padding-right: 2px;
        padding-bottom: var(--jv5-space-2);
    }

    .jv5-therapy-foot,
    .jv5-bio-foot {
        flex-shrink: 0;
        padding-top: var(--jv5-space-2);
        position: relative;
        z-index: 4;
        isolation: isolate;
    }

    .jv5-therapy-hint {
        display: flex;
        align-items: flex-start;
        gap: 6px;
        margin: 0 0 var(--jv5-space-3);
        padding: var(--jv5-space-2) var(--jv5-space-3);
        border-radius: var(--jv5-radius-sm);
        border: 1px solid rgba(14, 165, 233, 0.28);
        background: rgba(240, 249, 255, 0.92);
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        line-height: 1.45;
        color: #0369a1;
    }

    .jv5-therapy-foot .jg-btn {
        min-height: 2.75rem;
        box-shadow: 0 10px 28px rgba(13, 148, 136, 0.28);
    }

    .jv5-therapy-foot-hint {
        margin: 0 0 var(--jv5-space-2);
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        text-align: center;
        color: var(--jv5-muted);
    }

    .jv5-cta--waiting {
        opacity: 0.45;
        cursor: not-allowed;
    }

    .jv5-section-label--time {
        margin-top: var(--jv5-space-4);
        color: #047857;
    }

    .jv5-med-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--jv5-space-2);
        margin-bottom: var(--jv5-space-3);
    }

    .jv5-med-card {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 5.5rem;
        padding: var(--jv5-space-3) var(--jv5-space-2);
        border-radius: var(--jv5-radius-md);
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
        transition: border-color 0.15s, box-shadow 0.15s, transform 0.12s;
    }

    .jv5-med-card:active {
        transform: scale(0.98);
    }

    .jv5-med-card.is-on {
        border-color: rgba(5, 150, 105, 0.55);
        box-shadow: 0 10px 28px rgba(16, 185, 129, 0.14);
        background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.85));
    }

    .jv5-med-card__check {
        position: absolute;
        top: 6px;
        right: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.1rem;
        height: 1.1rem;
        border-radius: 999px;
        background: #10b981;
        color: #fff;
    }

    .jv5-med-orb {
        width: 2rem;
        height: 2rem;
        border-radius: 999px;
        box-shadow: inset 0 -4px 10px rgba(15, 23, 42, 0.12);
    }

    .jv5-med-orb--sky { background: radial-gradient(circle at 30% 28%, #7dd3fc, #0284c7); }
    .jv5-med-orb--orange { background: radial-gradient(circle at 30% 28%, #fdba74, #ea580c); }
    .jv5-med-orb--amber { background: radial-gradient(circle at 30% 28%, #fde047, #ca8a04); }
    .jv5-med-orb--teal { background: radial-gradient(circle at 30% 28%, #5eead4, #0d9488); }

    .jv5-med-card__name {
        font-size: var(--jv5-type-xs);
        font-weight: 800;
        color: var(--jv5-slate);
        text-align: center;
        line-height: 1.2;
    }

    .jv5-therapy-alt {
        margin-top: var(--jv5-space-2);
        padding-top: var(--jv5-space-2);
        border-top: 1px solid rgba(16, 185, 129, 0.1);
    }

    .jv5-therapy-alt__btn {
        display: flex;
        align-items: center;
        gap: var(--jv5-space-3);
        width: 100%;
        text-align: left;
        padding: var(--jv5-space-3);
        border-radius: var(--jv5-radius-md);
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
        transition: border-color 0.15s, box-shadow 0.15s;
    }

    .jv5-therapy-alt__btn.is-on {
        border-color: rgba(5, 150, 105, 0.5);
        box-shadow: 0 8px 20px rgba(16, 185, 129, 0.1);
    }

    .jv5-therapy-alt__icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border-radius: 999px;
        background: rgba(16, 185, 129, 0.12);
        color: #047857;
        flex-shrink: 0;
    }

    .jv5-therapy-alt__title {
        display: block;
        font-size: var(--jv5-type-sm);
        font-weight: 800;
        color: var(--jv5-slate);
    }

    .jv5-therapy-alt__sub {
        display: block;
        margin-top: 2px;
        font-size: var(--jv5-type-xs);
        color: var(--jv5-muted);
    }

    .jv5-therapy-link {
        display: block;
        width: 100%;
        margin-top: var(--jv5-space-2);
        padding: var(--jv5-space-2) 0;
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        color: #0d9488;
        text-align: center;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .jv5-therapy-proof {
        margin-top: var(--jv5-space-2);
        padding: var(--jv5-space-1) 0 var(--jv5-space-2);
        font-size: 0.65rem;
    }

    .jv5-therapy-proof__sep {
        margin: 0 4px;
        opacity: 0.45;
    }

    .jv5-time-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--jv5-space-2);
        margin-bottom: var(--jv5-space-2);
    }

    .jv5-time-chip {
        padding: 11px 12px;
        border-radius: var(--jv5-radius-md);
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
        font-size: var(--jv5-type-xs);
        font-weight: 800;
        color: var(--jv5-slate);
        text-align: center;
        line-height: 1.25;
        transition: border-color 0.15s, background 0.15s;
    }

    .jv5-time-chip.is-on {
        border-color: rgba(5, 150, 105, 0.5);
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(45, 212, 191, 0.08));
        color: #047857;
    }

    .jv5-therapy-error {
        margin-top: var(--jv5-space-2);
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        color: #e11d48;
        text-align: center;
    }

    .jv5-therapy-panel {
        padding: var(--jv5-space-4);
        border-radius: var(--jv5-radius-lg);
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
    }

    .jv5-therapy-panel__title {
        font-size: var(--jv5-type-base);
        font-weight: 800;
        color: var(--jv5-slate);
    }

    .jv5-bio-panel {
        padding: var(--jv5-space-3);
        border-radius: var(--jv5-radius-lg);
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
        box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
    }

    .jv5-bio-panel .jv5-bio-slider-stack {
        border: none;
        box-shadow: none;
        background: transparent;
        border-radius: 0;
    }

    .jv5-bio-age-block {
        margin-top: var(--jv5-space-3);
    }

    .jv5-bio-age-block .jg-bio-field {
        border-radius: var(--jv5-radius-lg);
        border: 1px solid var(--jv5-border);
        background: var(--jv5-surface);
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
        padding: var(--jv5-space-3);
    }

    .jv5-bio-foot {
        display: flex;
        flex-direction: column;
        gap: var(--jv5-space-2);
    }

    .jv5-bio-foot .jg-btn {
        min-height: 2.75rem;
        box-shadow: 0 10px 28px rgba(13, 148, 136, 0.28);
    }

    .jv5-bio-foot-hint {
        margin: 0;
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        text-align: center;
        color: var(--jv5-muted);
    }

    .jv5-bio-privacy {
        margin: 0;
        font-size: var(--jv5-type-xs);
        font-weight: 600;
        text-align: center;
        color: var(--jv5-muted);
        opacity: 0.85;
    }

    .jv5-bio-error,
    .jv5-bio-warning,
    .jv5-bio-nudge {
        margin: var(--jv5-space-2) 0 0;
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        text-align: center;
    }

    .jv5-bio-error {
        color: #dc2626;
    }

    .jv5-bio-warning {
        color: #b45309;
    }

    .jv5-bio-nudge {
        color: var(--jv5-muted);
    }

    .jv5-bio-daily-protocol {
        margin-top: var(--jv5-space-3);
        display: flex;
        flex-direction: column;
        gap: var(--jv5-space-2);
        opacity: 0;
        transform: translateY(8px);
        transition: opacity 0.24s ease, transform 0.24s ease;
    }

    .jv5-bio-daily-protocol--visible {
        opacity: 1;
        transform: translateY(0);
    }

    .jv5-bio-daily-protocol__kicker {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin: 0;
        font-size: var(--jv5-type-xs);
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #047857;
    }

    .jv5-bio-preview {
        margin-top: 0;
        padding: var(--jv5-space-3);
        border-radius: var(--jv5-radius-md);
        border: 1px solid rgba(16, 185, 129, 0.22);
        background: linear-gradient(160deg, rgba(255, 255, 255, 0.94), rgba(236, 253, 245, 0.88));
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
        opacity: 0;
        transform: translateY(4px);
        transition: opacity 0.2s ease, transform 0.2s ease;
    }

    .jv5-bio-preview--visible {
        opacity: 1;
        transform: translateY(0);
    }

    .jv5-bio-preview__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--jv5-space-2);
    }

    .jv5-bio-preview__stat {
        padding: var(--jv5-space-2);
        border-radius: var(--jv5-radius-sm);
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(148, 163, 184, 0.2);
    }

    .jv5-bio-preview__label {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        color: var(--jv5-muted);
    }

    .jv5-bio-preview__value {
        display: block;
        margin-top: 4px;
        font-size: 1.125rem;
        font-weight: 900;
        line-height: 1.2;
        color: #0f766e;
        font-variant-numeric: tabular-nums;
    }

    .jv5-bio-preview__delta {
        margin: var(--jv5-space-2) 0 0;
        font-size: var(--jv5-type-xs);
        font-weight: 800;
        text-align: center;
        color: #0369a1;
    }

    .jv5-bio-healthy-weight {
        margin-top: 0;
        border-radius: calc(var(--jv5-radius-md) + 2px);
        padding: 1px;
        background: linear-gradient(135deg, rgba(167, 139, 250, 0.55), rgba(13, 148, 136, 0.35), rgba(124, 58, 237, 0.45));
        box-shadow:
            0 14px 34px rgba(91, 33, 182, 0.1),
            0 4px 14px rgba(15, 23, 42, 0.04);
    }

    .jv5-bio-healthy-weight__inner {
        border-radius: var(--jv5-radius-md);
        padding: var(--jv5-space-3);
        background:
            radial-gradient(120% 80% at 100% 0%, rgba(237, 233, 254, 0.9), transparent 55%),
            linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
    }

    .jv5-bio-healthy-weight__head {
        display: flex;
        align-items: center;
        gap: var(--jv5-space-3);
    }

    .jv5-bio-healthy-weight__orb {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        flex-shrink: 0;
        border-radius: 0.85rem;
        color: #6d28d9;
        background: linear-gradient(145deg, rgba(237, 233, 254, 0.95), rgba(224, 231, 255, 0.9));
        border: 1px solid rgba(124, 58, 237, 0.16);
        box-shadow: 0 6px 16px rgba(91, 33, 182, 0.12);
    }

    .jv5-bio-healthy-weight__intro {
        min-width: 0;
    }

    .jv5-bio-healthy-weight__eyebrow {
        margin: 0;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: #7c3aed;
    }

    .jv5-bio-healthy-weight__height {
        margin: 2px 0 0;
        font-size: var(--jv5-type-sm);
        font-weight: 800;
        color: #312e81;
        font-variant-numeric: tabular-nums;
    }

    .jv5-bio-healthy-weight__range {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: var(--jv5-space-2);
        margin-top: var(--jv5-space-3);
        padding: var(--jv5-space-3);
        border-radius: var(--jv5-radius-sm);
        border: 1px solid rgba(148, 163, 184, 0.18);
        background: rgba(255, 255, 255, 0.72);
    }

    .jv5-bio-healthy-weight__bound {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        text-align: center;
    }

    .jv5-bio-healthy-weight__bound-label {
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #94a3b8;
    }

    .jv5-bio-healthy-weight__bound-value {
        font-size: clamp(1.05rem, 4.5vw, 1.2rem);
        font-weight: 900;
        line-height: 1.1;
        color: #5b21b6;
        font-variant-numeric: tabular-nums;
    }

    .jv5-bio-healthy-weight__sep {
        width: 1px;
        height: 2rem;
        background: linear-gradient(180deg, transparent, rgba(148, 163, 184, 0.45), transparent);
    }

    .jv5-bio-healthy-weight__imc {
        margin: var(--jv5-space-2) 0 0;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-align: center;
        color: #64748b;
    }

    .jv5-bio-healthy-weight__goal {
        margin: var(--jv5-space-2) 0 0;
        padding: 0.55rem 0.7rem;
        border-radius: 0.75rem;
        font-size: 10px;
        font-weight: 700;
        line-height: 1.45;
        text-align: center;
        color: #475569;
        background: rgba(248, 250, 252, 0.95);
        border: 1px solid rgba(148, 163, 184, 0.2);
    }

    .jv5-bio-healthy-weight__goal--in {
        color: #047857;
        background: rgba(236, 253, 245, 0.92);
        border-color: rgba(16, 185, 129, 0.28);
    }

    .jv5-bio-healthy-weight__goal--below,
    .jv5-bio-healthy-weight__goal--above {
        color: #92400e;
        background: rgba(255, 251, 235, 0.95);
        border-color: rgba(245, 158, 11, 0.28);
    }

    .jv5-cta--waiting:disabled {
        pointer-events: none;
    }

    .jv5-context-proof {
        margin: 0;
        font-size: var(--jv5-type-xs);
        font-weight: 700;
        line-height: 1.45;
        text-align: center;
        color: #0369a1;
    }

    .jv5-context-proof--health {
        margin: 0 0 var(--jv5-space-2);
        text-align: left;
    }

    .jv5-celebration-mission {
        padding: var(--jv5-space-3);
        border-radius: var(--jv5-radius-md);
        border: 1px solid rgba(14, 165, 233, 0.22);
        background: rgba(240, 249, 255, 0.88);
    }

    .jv5-celebration-mission__title {
        margin: 0;
        font-size: var(--jv5-type-xs);
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #0369a1;
    }

    .jv5-celebration-mission__hint {
        margin: 0.35rem 0 0;
        font-size: var(--jv5-type-xs);
        font-weight: 600;
        line-height: 1.4;
        color: var(--jv5-muted);
    }

    .jv5-celebration-foot {
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
    }

    .jv5-celebration-secondary-cta {
        display: block;
        text-align: center;
        font-size: var(--jv5-type-xs);
        font-weight: 800;
        color: #047857;
        text-decoration: none;
    }

    .jv5-celebration-secondary-cta:hover {
        text-decoration: underline;
    }
@media (max-width: 1023px) {
        .jv5-scene__main {
            overscroll-behavior: contain;
        }

        .jv5-stage-grid {
            grid-template-columns: 1fr;
        }

        .jv5-chip-row {
            justify-content: flex-start;
        }

        .jv5-match-grid {
            grid-template-columns: 1fr;
        }

        /* Terapia: 3 linhas — cabeçalho · scroll · Continuar fixo */
        .jg-root--patient-journey .jg-scene--wizard-med .jv5-wizard--therapy.jg-wizard-med-scene {
            display: grid !important;
            grid-template-rows: auto minmax(0, 1fr) auto !important;
            height: 100%;
            min-height: 0;
            overflow: hidden;
            gap: var(--jv5-space-2);
            align-content: stretch;
        }

        .jg-root--patient-journey .jv5-wizard--therapy > .jv5-wizard-head {
            grid-row: 1;
            overflow: visible;
            min-height: 0;
            justify-content: flex-start !important;
        }

        .jg-root--patient-journey .jv5-wizard--therapy > .jv5-therapy-scroll {
            grid-row: 2;
            min-height: 0;
            max-height: 100%;
            overflow-x: hidden;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            justify-content: flex-start !important;
            align-self: stretch;
        }

        .jg-root--patient-journey .jv5-wizard--therapy > .jv5-therapy-foot {
            grid-row: 3;
            flex-shrink: 0;
            overflow: visible;
            padding-top: var(--jv5-space-2);
            padding-bottom: max(4px, env(safe-area-inset-bottom));
            background: linear-gradient(180deg, rgba(240, 253, 250, 0) 0%, rgba(240, 253, 250, 0.96) 24%, rgba(240, 253, 250, 1) 100%);
            border-top: 1px solid rgba(16, 185, 129, 0.1);
        }

        /* Anula regra legada que escondia o rodapé dentro do wizard */
        .jg-root--patient-journey .jv5-wizard--therapy > .jv5-therapy-scroll,
        .jg-root--patient-journey .jv5-wizard--therapy > .jv5-therapy-foot {
            display: block !important;
            flex: unset !important;
        }

        /* Corpo: 3 linhas — cabeçalho · scroll · Continuar fixo */
        .jg-root--patient-journey .jg-scene--wizard-med .jv5-wizard--body.jg-wizard-med-scene {
            display: grid !important;
            grid-template-rows: auto minmax(0, 1fr) auto !important;
            height: 100%;
            min-height: 0;
            overflow: hidden;
            gap: var(--jv5-space-2);
            align-content: stretch;
        }

        .jg-root--patient-journey .jv5-wizard--body > .jv5-wizard-head {
            grid-row: 1;
            overflow: visible;
            min-height: 0;
            justify-content: flex-start !important;
        }

        .jg-root--patient-journey .jv5-wizard--body > .jv5-bio-scroll {
            grid-row: 2;
            min-height: 0;
            max-height: 100%;
            overflow-x: hidden;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            justify-content: flex-start !important;
            align-self: stretch;
        }

        .jg-root--patient-journey .jv5-wizard--body > .jv5-bio-foot {
            grid-row: 3;
            flex-shrink: 0;
            overflow: visible;
            padding-top: var(--jv5-space-2);
            padding-bottom: max(4px, env(safe-area-inset-bottom));
            background: linear-gradient(180deg, rgba(240, 253, 250, 0) 0%, rgba(240, 253, 250, 0.96) 24%, rgba(240, 253, 250, 1) 100%);
            border-top: 1px solid rgba(16, 185, 129, 0.1);
        }

        .jg-root--patient-journey .jv5-wizard--body > .jv5-bio-scroll,
        .jg-root--patient-journey .jv5-wizard--body > .jv5-bio-foot {
            display: block !important;
            flex: unset !important;
        }
    }
@media (min-width: 1024px) {
        .jv5-stage-grid {
            grid-template-columns: 1fr;
        }

        .jv5-match-grid {
            grid-template-columns: 1fr 1fr;
        }

        .jv5-headline {
            font-size: clamp(1.32rem, 1.2rem + 0.5vw, 1.55rem);
        }
    }
@supports selector(:has(*)) {
        @media (max-width: 1023px) {
            /* Shell fullscreen só na home — páginas guest (blog, diretório) rolam no documento */
            body:has(#patient-journey-root.jg-root--home-journey) {
                overflow: hidden;
                height: 100lvh;
                background: #ecfdf5 !important;
                color: #0f172a !important;
            }
        }
    }

    .jg-root {
        --jg-emerald: #059669;
        --jg-teal: #0d9488;
        --jg-copilot-name: #0f766e;
        --jg-sky: #0284c7;
        --jg-mint: #6ee7b7;
        --jg-blush: #fce7f3;
        --jg-cream: #f0fdfa;
        --jg-ink: #0f172a;
        --jg-muted: #64748b;
        --jg-soft: #475569;
        --jg-page-x: clamp(1rem, 4.5vw, 1.375rem);
        --jg-safe-top: env(safe-area-inset-top, 0px);
        --jg-safe-bottom: env(safe-area-inset-bottom, 0px);
        --jg-top-pad: max(1.125rem, calc(var(--jg-safe-top) + 0.875rem));
        --jg-gap-header-progress: clamp(1rem, 3vh, 1.25rem);
        --jg-gap-progress-scene: clamp(1rem, 2.8vh, 1.375rem);
        --jg-gap-scene-inner: clamp(0.875rem, 2.5vh, 1.125rem);
        --jg-gap-scene-blocks: clamp(1.125rem, 3.5vh, 1.5rem);
        --jg-bottom-pad: max(1.25rem, calc(var(--jg-safe-bottom) + 0.5rem));
        font-family: 'Nunito', 'Plus Jakarta Sans', ui-rounded, system-ui, sans-serif;
        color: var(--jg-ink);
    }

    .jg-top-chrome {
        position: relative;
        z-index: 30;
        flex-shrink: 0;
        padding: var(--jg-top-pad) var(--jg-page-x) 0;
    }

    .jg-header-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.625rem;
    }

    .jg-header-slot {
        flex: 0 0 auto;
        min-width: 4.75rem;
    }
    .jg-header-slot--end {
        display: flex;
        justify-content: flex-end;
    }

    .jg-progress-section {
        padding-top: var(--jg-gap-header-progress);
        padding-bottom: var(--jg-gap-progress-scene);
    }

    .jg-scene-shell {
        position: relative;
        z-index: 20;
        display: flex;
        min-height: 0;
        flex: 1;
        flex-direction: column;
        padding: 0 var(--jg-page-x) var(--jg-bottom-pad);
        container-type: size;
        container-name: jg-scene;
    }

    /* Wellness sky-mint canvas */
    .jg-bg {
        background:
            radial-gradient(ellipse 90% 60% at 50% -10%, rgba(125, 211, 252, 0.45), transparent 55%),
            radial-gradient(ellipse 55% 45% at 100% 20%, rgba(110, 231, 183, 0.35), transparent 50%),
            radial-gradient(ellipse 50% 40% at 0% 70%, rgba(167, 243, 208, 0.4), transparent 45%),
            radial-gradient(ellipse 40% 30% at 80% 90%, rgba(254, 205, 211, 0.25), transparent 40%),
            linear-gradient(168deg, #e0f2fe 0%, #ecfdf5 38%, #f0fdfa 72%, #f8fafc 100%);
    }

    /* Floating orbs — high-tech life */
    .jg-orbs { pointer-events: none; position: absolute; inset: 0; overflow: hidden; }
    .jg-orb {
        position: absolute;
        border-radius: 9999px;
        filter: blur(40px);
        opacity: 0.55;
        animation: jg-orb-float 14s ease-in-out infinite;
    }
    .jg-orb--1 { width: 220px; height: 220px; top: -4%; left: -8%; background: rgba(56, 189, 248, 0.35); animation-delay: 0s; }
    .jg-orb--2 { width: 180px; height: 180px; top: 35%; right: -12%; background: rgba(16, 185, 129, 0.3); animation-delay: -4s; }
    .jg-orb--3 { width: 140px; height: 140px; bottom: 8%; left: 10%; background: rgba(244, 114, 182, 0.18); animation-delay: -8s; }
    @keyframes jg-orb-float {
        0%, 100% { transform: translate(0, 0) scale(1); }
        33% { transform: translate(12px, 18px) scale(1.06); }
        66% { transform: translate(-8px, 10px) scale(0.96); }
    }

    .jg-grid {
        background-image:
            radial-gradient(circle at center, rgba(14, 165, 233, 0.07) 1px, transparent 1px);
        background-size: 22px 22px;
        mask-image: radial-gradient(ellipse 85% 75% at 50% 35%, black 20%, transparent 75%);
        opacity: 0.7;
    }

    .jg-headline {
        font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif;
        font-weight: 800;
        letter-spacing: -0.035em;
        line-height: 1.12;
        color: var(--jg-ink);
    }
    .jg-headline-accent {
        background: linear-gradient(120deg, #0369a1 0%, #059669 55%, #0d9488 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }

    .jg-sub {
        color: var(--jg-soft);
        line-height: 1.6;
        font-weight: 600;
    }

    .jg-glass {
        background: rgba(255, 255, 255, 0.72);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        border: 1px solid rgba(255, 255, 255, 0.85);
        border-radius: 1.5rem;
        box-shadow:
            0 4px 24px -6px rgba(14, 165, 233, 0.12),
            0 12px 40px -12px rgba(5, 150, 105, 0.1),
            inset 0 1px 0 rgba(255, 255, 255, 0.95);
    }

    .jg-card-elevated {
        background: #fff;
        border-radius: 1.5rem;
        border: 1px solid rgba(186, 230, 253, 0.6);
        box-shadow:
            0 8px 32px -10px rgba(14, 116, 144, 0.15),
            0 2px 8px -2px rgba(5, 150, 105, 0.08);
    }

    /* Heloísa avatar */
    .jg-heloisa-avatar {
        position: relative;
        width: 3.5rem;
        height: 3.5rem;
        border-radius: 1.15rem;
        overflow: hidden;
        background: linear-gradient(145deg, #e0f2fe, #ecfdf5);
        border: 2px solid rgba(255, 255, 255, 0.95);
        box-shadow:
            0 0 0 1px rgba(110, 231, 183, 0.55),
            0 8px 22px -8px rgba(14, 116, 144, 0.16);
        flex-shrink: 0;
    }
    .jg-heloisa-photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 12%;
        display: block;
    }

    .jg-heloisa-bubble {
        background: linear-gradient(135deg, #fff 0%, #f0fdfa 100%);
        border: 1px solid rgba(167, 243, 208, 0.5);
        border-radius: 1.15rem 1.15rem 1.15rem 0.35rem;
        padding: 0.85rem 1rem;
        box-shadow: 0 6px 20px -8px rgba(5, 150, 105, 0.2);
    }

    /* CTA shimmer */
    .jg-btn {
        position: relative;
        display: inline-flex;
        min-height: 3.35rem;
        width: 100%;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        border-radius: 1.2rem;
        font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif;
        font-weight: 800;
        font-size: 1.15625rem;
        color: #fff;
        background: linear-gradient(105deg, #0284c7 0%, #059669 48%, #0d9488 100%);
        box-shadow:
            0 10px 32px -8px rgba(5, 150, 105, 0.55),
            inset 0 1px 0 rgba(255, 255, 255, 0.3);
        overflow: hidden;
        transition: transform 0.15s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.15s;
    }
    .jg-btn::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.22) 50%, transparent 70%);
        transform: translateX(-120%);
        animation: jg-shimmer 3.5s ease-in-out infinite;
    }
    @keyframes jg-shimmer {
        0%, 70%, 100% { transform: translateX(-120%); }
        85% { transform: translateX(120%); }
    }
    .jg-btn:active { transform: scale(0.98); }
    .jg-btn:hover { box-shadow: 0 14px 40px -8px rgba(5, 150, 105, 0.65); }
    .jg-btn--nav-busy,
    .jg-btn[aria-busy="true"] {
        opacity: 0.88;
        cursor: wait;
        pointer-events: none;
    }

    .jg-btn-ghost {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        min-height: 2.65rem;
        padding: 0 1rem;
        border-radius: 9999px;
        font-size: 0.8125rem;
        font-weight: 700;
        color: var(--jg-muted);
        border: 1px solid rgba(148, 163, 184, 0.35);
        background: rgba(255, 255, 255, 0.72);
        backdrop-filter: blur(8px);
    }
    .jg-btn-ghost__icon {
        width: 0.9rem;
        height: 0.9rem;
        opacity: 0.88;
    }

    .jg-option {
        display: flex;
        width: 100%;
        align-items: center;
        gap: 0.85rem;
        min-height: 4.25rem;
        padding: 0.9rem 1rem;
        text-align: left;
        border-radius: 1.2rem;
        border: 2px solid rgba(186, 230, 253, 0.55);
        background: rgba(255, 255, 255, 0.82);
        box-shadow: 0 4px 16px -6px rgba(14, 116, 144, 0.1);
        transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
    }
    .jg-option:hover {
        border-color: rgba(16, 185, 129, 0.55);
        box-shadow: 0 8px 24px -8px rgba(16, 185, 129, 0.25);
        transform: translateY(-1px);
    }
    .jg-option:active { transform: scale(0.98); }

    .jg-option-icon {
        width: 2.85rem;
        height: 2.85rem;
        border-radius: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #059669;
        background: linear-gradient(145deg, #ecfdf5, #e0f2fe);
        flex-shrink: 0;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
    }

    .jg-chip {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        min-height: 5.25rem;
        padding: 0.65rem 0.4rem;
        border-radius: 1.15rem;
        border: 2px solid rgba(186, 230, 253, 0.5);
        background: rgba(255, 255, 255, 0.78);
        color: var(--jg-ink);
        transition: all 0.18s cubic-bezier(0.22, 1, 0.36, 1);
        box-shadow: 0 2px 10px -4px rgba(14, 116, 144, 0.08);
    }
    .jg-chip:hover { border-color: rgba(16, 185, 129, 0.4); transform: translateY(-1px); }
    .jg-chip.is-on {
        border-color: #10b981;
        background: linear-gradient(145deg, #ecfdf5, #f0fdfa);
        box-shadow: 0 8px 24px -6px rgba(16, 185, 129, 0.35);
        transform: scale(1.02);
    }
    .jg-chip-icon { color: #059669; }

    .jg-progress-wrap { display: flex; flex-direction: column; gap: 0.5rem; }
    .jg-progress-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--jg-muted);
    }
    .jg-progress-status {
        min-width: 0;
        font-size: 0.75rem;
        line-height: 1.2;
    }
    .jg-progress-percent {
        flex-shrink: 0;
        font-size: 0.9375rem;
        letter-spacing: 0.04em;
        line-height: 1;
        color: #059669;
    }
    .jg-progress-track {
        height: 6px;
        border-radius: 9999px;
        background: rgba(255, 255, 255, 0.75);
        border: 1px solid rgba(186, 230, 253, 0.4);
        overflow: hidden;
    }
    .jg-progress-fill {
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, #38bdf8, #10b981, #6ee7b7);
        box-shadow: 0 0 14px rgba(16, 185, 129, 0.45);
        transition: width 0.85s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .jg-scene {
        animation: jg-scene-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    @keyframes jg-scene-in {
        from { opacity: 0; transform: translateY(16px); filter: blur(4px); }
        to { opacity: 1; transform: translateY(0); filter: blur(0); }
    }

    .jg-scene-grid {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
        gap: var(--jg-gap-scene-inner);
        min-height: 100%;
        height: 100%;
    }
    .jg-scene-grid--welcome {
        grid-template-rows: minmax(0, 1fr) auto;
        gap: var(--jg-gap-scene-blocks);
    }
    .jg-scene-body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        gap: var(--jg-gap-scene-inner);
    }
    .jg-scene-body--top {
        justify-content: flex-start;
        padding-top: 0.25rem;
    }
    .jg-scene-foot {
        flex-shrink: 0;
        padding-top: var(--jg-gap-scene-inner);
    }
    .jg-scene-body--welcome {
        gap: var(--jg-gap-scene-blocks);
    }

    .jg-scene--interstitial,
    .jg-scene--celebration {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }
    .jg-scene--interstitial > .jg-scene-grid,
    .jg-scene--celebration > .jg-scene-grid {
        flex: 1;
        min-height: 0;
        height: 100%;
    }
    .jg-scene--celebration > .jg-scene-grid--welcome {
        grid-template-rows: minmax(0, 1fr) auto;
    }

    /* Heloísa + conteúdo: distribui na altura sem mexer no header */
    .jg-scene-layout {
        display: flex;
        flex-direction: column;
        height: 100%;
        min-height: 100%;
    }
    .jg-scene-layout__intro {
        flex-shrink: 0;
    }
    .jg-scene-layout__main {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 0;
        gap: clamp(0.65rem, 2vh, 0.85rem);
        margin-top: var(--jg-gap-scene-blocks);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-scene-layout__footer {
        flex-shrink: 0;
        margin-top: var(--jg-gap-scene-blocks);
        padding-top: var(--jg-gap-scene-inner);
    }

    .jg-pillar-dot {
        width: 7px; height: 7px;
        border-radius: 9999px;
        background: rgba(148, 163, 184, 0.45);
        transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .jg-pillar-dot.is-on {
        width: 1.75rem;
        background: linear-gradient(90deg, #38bdf8, #10b981);
        box-shadow: 0 0 12px rgba(16, 185, 129, 0.5);
    }

    .jg-feature-row {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 0.75rem 0;
    }
    .jg-feature-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 0.75rem;
        background: linear-gradient(145deg, #ecfdf5, #e0f2fe);
        color: #059669;
        flex-shrink: 0;
    }
    .jg-feature-text {
        font-size: 0.8125rem;
        font-weight: 700;
        line-height: 1.45;
        color: var(--jg-soft);
        padding-top: 0.15rem;
    }

    .jg-trust-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.38rem;
        font-size: clamp(0.6875rem, 2.25vw, 0.75rem);
        font-weight: 800;
        letter-spacing: 0.09em;
        text-transform: uppercase;
        color: #047857;
        border: 1px solid rgba(110, 231, 183, 0.6);
        background: rgba(236, 253, 245, 0.9);
        border-radius: 9999px;
        padding: 0.42rem 0.78rem;
    }
    .jg-trust-pill svg {
        width: 0.8125rem;
        height: 0.8125rem;
        flex-shrink: 0;
    }

    .jg-logo-hero {
        justify-content: center;
    }

    .jg-brand-lockup {
        display: inline-flex;
        align-items: center;
        gap: 0.54rem;
        max-width: 100%;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .jg-brand-lockup:hover {
        opacity: 0.9;
    }

    .jg-brand-lockup:active {
        transform: scale(0.97);
    }

    .jg-brand-lockup:focus-visible {
        outline: none;
        border-radius: 0.75rem;
        box-shadow: 0 0 0 2px rgba(45, 212, 191, 0.4);
    }

    .jg-brand-bubble {
        display: flex;
        align-items: center;
        justify-content: center;
        width: clamp(2.05rem, 6.75vw, 2.25rem);
        height: clamp(2.05rem, 6.75vw, 2.25rem);
        flex-shrink: 0;
        color: #0d9488;
    }

    .jg-brand-bubble__mark {
        display: block;
        width: 100%;
        height: 100%;
    }

    .jg-brand-word {
        font-family: 'Plus Jakarta Sans', 'Nunito', ui-rounded, system-ui, sans-serif;
        font-size: clamp(1.4rem, 6vw, 1.55rem);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1;
        color: #134e4a;
    }

    .jg-journey-brand {
        font-size: clamp(1.05rem, 5.5vw, 1.35rem);
    }

    .jg-pillar-card {
        text-align: center;
        padding: clamp(1.25rem, 4vh, 2rem) clamp(1rem, 3vw, 1.5rem);
    }
    .jg-pillar-icon-wrap {
        width: 4.5rem;
        height: 4.5rem;
        margin: 0 auto;
        border-radius: 1.35rem;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(145deg, #e0f2fe, #ecfdf5);
        color: #059669;
        box-shadow: 0 12px 32px -10px rgba(16, 185, 129, 0.3);
        animation: jg-icon-pop 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    @keyframes jg-icon-pop {
        from { transform: scale(0.85); opacity: 0; }
        to { transform: scale(1); opacity: 1; }
    }

    .jg-quote {
        margin-top: 1rem;
        padding: 0.75rem 1rem;
        border-radius: 1rem;
        background: linear-gradient(135deg, #ecfdf5, #f0f9ff);
        border-left: 3px solid #10b981;
        font-size: 0.8125rem;
        font-weight: 600;
        font-style: italic;
        color: #047857;
        text-align: left;
    }

    .jg-interstitial-ring {
        width: 5rem;
        height: 5rem;
        margin: 0 auto;
        position: relative;
    }
    .jg-interstitial-ring svg {
        animation: jg-ring-spin 2s linear infinite;
    }
    @keyframes jg-ring-spin {
        to { transform: rotate(360deg); }
    }

    .jg-stat-card {
        border-radius: 1rem;
        padding: 0.75rem;
        text-align: center;
        background: linear-gradient(145deg, rgba(240,249,255,0.9), rgba(236,253,245,0.9));
        border: 1px solid rgba(186, 230, 253, 0.5);
    }

    .jg-celebrate-confetti {
        position: absolute;
        inset: 0;
        pointer-events: none;
        overflow: hidden;
    }
    .jg-confetti-dot {
        position: absolute;
        width: 8px;
        height: 8px;
        border-radius: 9999px;
        animation: jg-confetti-fall 3s ease-in-out infinite;
    }
    @keyframes jg-confetti-fall {
        0% { transform: translateY(-10px) rotate(0deg); opacity: 0; }
        15% { opacity: 1; }
        100% { transform: translateY(80px) rotate(180deg); opacity: 0; }
    }

    .jg-root .onbv7-step-head { display: none !important; }

    .jg-wizard-zone {
        border-radius: 1.35rem;
        background: #fff;
        border: 1px solid rgba(186, 230, 253, 0.55);
        box-shadow: 0 8px 28px -10px rgba(14, 116, 144, 0.12);
        padding: 0.75rem;
        max-height: min(50vh, 400px);
        overflow-y: auto;
    }

    .jg-kicker {
        font-size: 0.6875rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #0d9488;
    }

    @media (min-width: 640px) {
        .jg-root { --jg-max: 28rem; }
    }
    @media (min-height: 700px) {
        .jg-scene-grid { gap: 1.25rem; }
    }

    /* Mirror: convencimento high-tech */
    .jg-scene--mirror {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }
    .jg-mirror-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        gap: clamp(0.35rem, 1.2vh, 0.65rem);
    }
    .jg-mirror-heloisa {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex-shrink: 0;
        animation: jg-mirror-fade-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .jg-mirror-heloisa-text {
        font-size: 0.8125rem;
        font-weight: 700;
        line-height: 1.35;
        color: var(--jg-soft);
    }
    .jg-mirror-heloisa-text strong {
        color: var(--jg-copilot-name);
        font-weight: 800;
    }
    .jg-mirror-main {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 0;
        overflow: hidden;
        margin-top: var(--jg-gap-scene-inner);
        margin-bottom: var(--jg-gap-scene-inner);
    }
    .jg-mirror-hero {
        position: relative;
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        border-radius: 1.5rem;
        padding: 2px;
        overflow: hidden;
        animation: jg-mirror-fade-up 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
    }
    .jg-mirror-hero::before {
        content: '';
        position: absolute;
        inset: -120%;
        background: conic-gradient(from 0deg, transparent 0 25%, #38bdf8 35%, #10b981 50%, #6ee7b7 65%, transparent 75%);
        animation: jg-mirror-spin 5s linear infinite;
    }
    @keyframes jg-mirror-spin {
        to { transform: rotate(360deg); }
    }
    .jg-mirror-hero-inner {
        position: relative;
        flex: 1;
        min-height: 0;
        border-radius: calc(1.5rem - 2px);
        background: linear-gradient(155deg, rgba(255,255,255,0.97) 0%, rgba(240,253,250,0.98) 100%);
        padding: clamp(1.15rem, 3.5vh, 1.5rem);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-mirror-hero-inner::after {
        content: '';
        position: absolute;
        top: -40%;
        right: -20%;
        width: 55%;
        height: 55%;
        border-radius: 9999px;
        background: radial-gradient(circle, rgba(56,189,248,0.12), transparent 70%);
        pointer-events: none;
        animation: jg-mirror-glow 4s ease-in-out infinite;
    }
    @keyframes jg-mirror-glow {
        0%, 100% { opacity: 0.6; transform: scale(1); }
        50% { opacity: 1; transform: scale(1.08); }
    }
    .jg-mirror-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        font-size: 0.625rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #0d9488;
        animation: jg-mirror-fade-up 0.5s ease both 0.15s;
    }
    .jg-mirror-eyebrow-dot {
        width: 6px;
        height: 6px;
        border-radius: 9999px;
        background: #10b981;
        box-shadow: 0 0 10px rgba(16,185,129,0.8);
        animation: jg-mirror-pulse-dot 2s ease-in-out infinite;
    }
    @keyframes jg-mirror-pulse-dot {
        0%, 100% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.35); opacity: 0.65; }
    }
    .jg-mirror-headline {
        position: relative;
        z-index: 1;
        margin-top: 0.75rem;
        font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif;
        font-size: clamp(1.35rem, 4.8vw, 1.65rem);
        font-weight: 800;
        line-height: 1.15;
        letter-spacing: -0.03em;
        color: var(--jg-ink);
        animation: jg-mirror-fade-up 0.55s ease both 0.22s;
    }
    .jg-mirror-pains {
        position: relative;
        z-index: 1;
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
        margin-top: 1rem;
    }
    .jg-mirror-pain {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.4rem 0.65rem;
        border-radius: 9999px;
        font-size: 0.6875rem;
        font-weight: 800;
        color: #047857;
        background: rgba(236, 253, 245, 0.95);
        border: 1px solid rgba(110, 231, 183, 0.45);
        animation: jg-mirror-pain-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .jg-mirror-pain:nth-child(1) { animation-delay: 0.35s; }
    .jg-mirror-pain:nth-child(2) { animation-delay: 0.48s; }
    .jg-mirror-pain:nth-child(3) { animation-delay: 0.61s; }
    @keyframes jg-mirror-pain-in {
        from { opacity: 0; transform: translateY(8px) scale(0.92); }
        to { opacity: 1; transform: translateY(0) scale(1); }
    }
    .jg-mirror-body {
        position: relative;
        z-index: 1;
        margin-top: 1rem;
        font-size: 0.875rem;
        font-weight: 600;
        line-height: 1.55;
        color: var(--jg-soft);
        animation: jg-mirror-fade-up 0.5s ease both 0.55s;
    }
    .jg-mirror-stat {
        display: flex;
        align-items: center;
        gap: 0.85rem;
        flex-shrink: 0;
        margin-top: var(--jg-gap-scene-inner);
        padding: 0.85rem 1rem;
        border-radius: 1.15rem;
        background: rgba(255,255,255,0.78);
        border: 1px solid rgba(186, 230, 253, 0.55);
        box-shadow: 0 8px 28px -12px rgba(14, 116, 144, 0.15);
        animation: jg-mirror-fade-up 0.55s ease both 0.65s;
    }
    .jg-mirror-stat-value {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-size: 1.5rem;
        font-weight: 900;
        line-height: 1;
        background: linear-gradient(120deg, #0284c7, #059669);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }
    .jg-mirror-stat-label {
        font-size: 0.6875rem;
        font-weight: 700;
        line-height: 1.35;
        color: var(--jg-muted);
    }
    .jg-mirror-foot {
        flex-shrink: 0;
        animation: jg-mirror-fade-up 0.5s ease both 0.75s;
    }
    @keyframes jg-mirror-fade-up {
        from { opacity: 0; transform: translateY(14px); }
        to { opacity: 1; transform: translateY(0); }
    }

    .jg-scene--pillars {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }

    /* Welcome: o que é o Glipi */
    .jg-scene--welcome {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }
    .jg-welcome-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        gap: clamp(0.45rem, 1.4vh, 0.75rem);
    }
    .jg-welcome-top {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        flex-shrink: 0;
        animation: jg-welcome-fade-up 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    @keyframes jg-welcome-fade-up {
        from { opacity: 0; transform: translateY(10px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .jg-welcome-heloisa-text {
        margin: 0;
        font-size: 0.9375rem;
        font-weight: 700;
        line-height: 1.42;
        color: var(--jg-soft);
    }
    .jg-welcome-heloisa-text strong {
        color: var(--jg-copilot-name);
        font-weight: 800;
    }
    .jg-welcome-main {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        animation: jg-welcome-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.05s both;
    }
    .jg-welcome-hero {
        position: relative;
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        border-radius: 1.4rem;
        padding: 2px;
        overflow: hidden;
    }
    .jg-welcome-hero::before {
        content: '';
        position: absolute;
        inset: -120%;
        background: conic-gradient(from 180deg, transparent 0 20%, #38bdf8 30%, #34d399 44%, #6ee7b7 56%, #a78bfa 64%, transparent 76%);
        animation: jg-mirror-spin 9s linear infinite;
    }
    .jg-welcome-hero-inner {
        position: relative;
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: clamp(0.45rem, 1.4vh, 0.75rem);
        border-radius: calc(1.4rem - 2px);
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.99) 0%, rgba(236, 253, 245, 0.97) 52%, rgba(224, 242, 254, 0.96) 100%);
        padding: clamp(0.75rem, 2vh, 1rem) clamp(0.7rem, 2vw, 0.85rem);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
    }
    .jg-welcome-kicker {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        flex-shrink: 0;
        padding: 0.3rem 0.7rem;
        border-radius: 9999px;
        border: 1px solid rgba(16, 185, 129, 0.28);
        background: linear-gradient(135deg, rgba(236, 253, 245, 0.95), rgba(255, 255, 255, 0.92));
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #047857;
        box-shadow: 0 4px 14px -8px rgba(5, 150, 105, 0.35);
    }
    .jg-welcome-headline {
        margin: 0;
        font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif;
        font-size: clamp(1.15rem, 4.8vw, 1.35rem);
        font-weight: 900;
        line-height: 1.2;
        letter-spacing: -0.03em;
        background: linear-gradient(125deg, #0c4a6e 0%, #047857 52%, #0d9488 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }
    .jg-welcome-sub {
        margin: 0;
        max-width: 19rem;
        font-size: clamp(0.8125rem, 2.75vw, 0.875rem);
        font-weight: 600;
        line-height: 1.55;
        color: var(--jg-soft);
    }
    .jg-welcome-features {
        flex: 0 1 auto;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: clamp(0.35rem, 1.2vh, 0.5rem);
        text-align: left;
    }
    .jg-welcome-feature {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        flex: 0 0 auto;
        padding: 0.6rem 0.7rem;
        border-radius: 0.9rem;
        border: 1px solid rgba(226, 232, 240, 0.9);
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(240, 253, 250, 0.55) 100%);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.95) inset,
            0 4px 14px -10px rgba(15, 23, 42, 0.1);
        animation: jg-welcome-feature-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
        animation-delay: calc(0.1s + (var(--jg-welcome-i, 0) * 0.06s));
    }
    @keyframes jg-welcome-feature-in {
        from { opacity: 0; transform: translateY(8px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .jg-welcome-feature__orb {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        flex-shrink: 0;
        border-radius: 0.65rem;
        color: var(--jg-teal);
        background: linear-gradient(145deg, #ecfdf5 0%, #e0f2fe 100%);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    }
    .jg-welcome-feature__icon {
        width: 1.1rem;
        height: 1.1rem;
        stroke-width: 2.15;
    }
    .jg-welcome-feature__copy {
        display: flex;
        flex: 1;
        flex-direction: column;
        justify-content: center;
        gap: 0.12rem;
        min-width: 0;
    }
    .jg-welcome-feature__lead {
        font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif;
        font-size: 0.6875rem;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: -0.02em;
        color: var(--jg-ink);
    }
    .jg-welcome-feature__detail {
        font-family: 'Nunito', 'Plus Jakarta Sans', sans-serif;
        font-size: 0.625rem;
        font-weight: 600;
        line-height: 1.4;
        color: var(--jg-muted);
        text-wrap: pretty;
    }

    /* Jornada phone — escala tipográfica mobile (todas as cenas) */
    @media (max-width: 1023px) {
        .jg-root {
            --jg-fit-scale: 1;
            --jg-vh-ref: 860;
            --jg-vh-ratio: clamp(0.82, calc(100lvh / (var(--jg-vh-ref) * 1px)), 1);
            --jg-gap-header-progress: clamp(0.5rem, calc(0.35rem + 0.9rem * var(--jg-vh-ratio) + 0.25lvh), 1.25rem);
            --jg-gap-progress-scene: clamp(0.5rem, calc(0.3rem + 0.85rem * var(--jg-vh-ratio) + 0.2lvh), 1.375rem);
            --jg-gap-scene-inner: clamp(0.4rem, calc(0.25rem + 0.75rem * var(--jg-vh-ratio) + 0.15lvh), 1.125rem);
            --jg-gap-scene-blocks: clamp(0.65rem, calc(0.4rem + 1rem * var(--jg-vh-ratio) + 0.2lvh), 1.5rem);
            --jg-top-pad: max(0.75rem, calc(var(--jg-safe-top) + 0.5rem * var(--jg-vh-ratio) + 0.25rem));
            --jg-bottom-pad: max(0.875rem, calc(var(--jg-safe-bottom) + 0.3rem));
        }

        .jg-desktop-phone {
            --jg-m-heloisa: clamp(0.75rem, calc(0.78125rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.1vw), 0.84375rem);
            --jg-m-kicker: clamp(0.5rem, calc(0.53125rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.08vw), 0.59375rem);
            --jg-m-headline: clamp(1.05rem, calc(1.2rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.2vw), 1.375rem);
            --jg-m-prompt: clamp(0.8125rem, calc(0.875rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.12vw), 0.9375rem);
            --jg-m-sub: clamp(0.6875rem, calc(0.75rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.1vw), 0.8125rem);
            --jg-m-body: clamp(0.6875rem, calc(0.75rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.1vw), 0.8125rem);
            --jg-m-lead: clamp(0.75rem, calc(0.84375rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.12vw), 0.90625rem);
            --jg-m-detail: clamp(0.6875rem, calc(0.75rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.08vw), 0.8125rem);
            --jg-m-caption: clamp(0.5625rem, calc(0.625rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.06vw), 0.6875rem);
            --jg-m-micro: clamp(0.5rem, calc(0.53125rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.05vw), 0.59375rem);
            --jg-m-btn: clamp(1rem, calc(1.125rem * var(--jg-vh-ratio) * var(--jg-fit-scale, 1) + 0.15vw), 1.21875rem);
        }

        .jg-desktop-phone [class*="heloisa-text"]:not(.jg-mirror-heloisa-text):not(.jg-welcome-heloisa-text):not(.jg-pillar-heloisa-text):not(.jg-match-heloisa-text) {
            font-size: var(--jg-m-heloisa);
            line-height: 1.4;
        }

        .jg-desktop-phone [class*="-kicker"]:not(.jg-welcome-kicker):not(.jg-stage-kicker):not(.jg-concerns-kicker):not(.jg-commit-kicker):not(.jg-wizard-med-kicker):not(.jg-specialist-kicker-pill),
        .jg-desktop-phone [class*="-eyebrow"]:not(.jg-mirror-eyebrow),
        .jg-desktop-phone [class*="-step-label"],
        .jg-desktop-phone [class*="-hero-label"],
        .jg-desktop-phone [class*="-free-pill"],
        .jg-desktop-phone [class*="-kicker-pill"]:not(.jg-specialist-kicker-pill),
        .jg-desktop-phone .jg-med-block-label {
            font-size: var(--jg-m-kicker);
        }

        .jg-desktop-phone .jg-headline,
        .jg-desktop-phone [class*="-headline"],
        .jg-desktop-phone [class*="-title"]:not([class*="accent"]):not(.jg-time-title):not(.jg-health-title):not(.jg-health-monitor-title):not(.jg-meta-protocol-title):not(.jg-med-not-started-title),
        .jg-desktop-phone .jg-mirror-headline,
        .jg-desktop-phone .jg-pillar-title,
        .jg-desktop-phone .jg-match-title,
        .jg-desktop-phone .jg-specialist-title {
            font-size: var(--jg-m-headline);
            line-height: 1.22;
        }

        .jg-desktop-phone [class*="-prompt"]:not(.jg-stage-prompt):not(.jg-concerns-prompt):not(.jg-commit-prompt):not(.jg-wizard-med-prompt) {
            font-size: var(--jg-m-prompt);
            line-height: 1.28;
        }

        .jg-desktop-phone .jg-sub,
        .jg-desktop-phone [class*="-sub"]:not([class*="submit"]):not([class*="__sub"]):not(.jg-welcome-sub):not(.jg-stage-sub):not(.jg-concerns-sub):not(.jg-commit-sub):not(.jg-specialist-sub):not(.jg-wizard-med-sub) {
            font-size: var(--jg-m-sub);
            line-height: 1.48;
        }

        .jg-desktop-phone .jg-quote {
            font-size: var(--jg-m-body);
            line-height: 1.48;
        }

        .jg-desktop-phone [class*="__lead"],
        .jg-desktop-phone .jg-concern-label,
        .jg-desktop-phone [class*="-highlight"],
        .jg-desktop-phone .jg-med-tile-name {
            font-size: var(--jg-m-lead);
        }

        .jg-desktop-phone [class*="__detail"],
        .jg-desktop-phone .jg-med-tile-sub {
            font-size: var(--jg-m-detail);
            line-height: 1.38;
        }

        .jg-desktop-phone [class*="-disclaimer"]:not(.jg-welcome-disclaimer),
        .jg-desktop-phone [class*="-trust"]:not(.jg-welcome-trust):not(.jg-stage-trust),
        .jg-desktop-phone [class*="-counter-text"],
        .jg-desktop-phone [class*="-stat-label"]:not(.jg-mirror-stat-label):not(.jg-commit-stat-label),
        .jg-desktop-phone .jg-pillar-step-count,
        .jg-desktop-phone .jg-match-step-count {
            font-size: var(--jg-m-caption);
        }

        .jg-desktop-phone [class*="-nav-label"] {
            font-size: var(--jg-m-micro);
        }

        /* Barra de progresso — status + % (todas as cenas, mobile) */
        .jg-desktop-phone .jg-progress-status {
            font-size: clamp(0.71875rem, 2.55vw, 0.78125rem);
            letter-spacing: 0.08em;
        }

        .jg-desktop-phone .jg-progress-percent {
            font-size: clamp(0.84375rem, 3.05vw, 0.90625rem);
            letter-spacing: 0.03em;
        }

        /* Medicação — hierarquia mobile */
        .jg-desktop-phone .jg-med-alt-item {
            font-size: clamp(0.9375rem, 3.55vw, 1rem);
            min-height: 2.8rem;
            padding: 0.56rem 0.65rem;
            line-height: 1.32;
            font-weight: 700;
        }

        .jg-desktop-phone .jg-med-block--not-started {
            gap: clamp(0.58rem, 1.5vh, 0.72rem);
            padding-top: clamp(0.52rem, 1.35vh, 0.65rem);
        }

        .jg-desktop-phone .jg-med-not-started-title {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            font-weight: 800;
            line-height: 1.32;
            color: #0f172a;
        }

        .jg-desktop-phone .jg-med-not-started-sub {
            font-size: clamp(0.875rem, 3.15vw, 0.9375rem);
            line-height: 1.4;
            color: #64748b;
        }

        .jg-desktop-phone .jg-med-not-started-btn {
            padding: 0.66rem 0.72rem;
            gap: 0.54rem;
            border-width: 1.5px;
            box-shadow: 0 3px 14px -8px rgba(16, 185, 129, 0.22);
        }

        .jg-desktop-phone .jg-med-not-started-icon {
            width: 2.2rem;
            height: 2.2rem;
            border-radius: 0.65rem;
        }

        .jg-desktop-phone .jg-med-not-started-icon svg {
            width: 0.9rem;
            height: 0.9rem;
        }

        .jg-desktop-phone .jg-med-not-started-chevron {
            width: 1rem;
            height: 1rem;
        }

        .jg-desktop-phone .jg-med-uncertain-link {
            font-size: clamp(0.9375rem, 3.35vw, 1rem);
            line-height: 1.42;
            margin-top: clamp(0.42rem, 1.2vh, 0.58rem);
            padding: clamp(0.48rem, 1.25vh, 0.58rem) 0.25rem 0;
            color: #475569;
        }

        /* Rodapé — métricas de prova social */
        .jg-desktop-phone .jg-med-proof-bar {
            gap: 0.55rem;
            padding: 0.48rem 0.75rem;
        }

        .jg-desktop-phone .jg-med-proof-item {
            font-size: clamp(0.6875rem, 2.45vw, 0.75rem);
            gap: 0.28rem;
        }

        .jg-desktop-phone .jg-med-proof-item svg {
            width: 0.875rem;
            height: 0.875rem;
        }

        .jg-desktop-phone .jg-med-proof-sep {
            height: 0.9rem;
        }

        /* Wizard medicação — step 1 (mobile, paridade concerns/commit) */
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-med-prompt {
            font-size: clamp(1.0625rem, 3.95vw, 1.15625rem);
            line-height: 1.34;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-med-prompt .jg-wizard-med-sub {
            font-size: 0.9em;
            font-weight: 600;
            color: #64748b;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-scene {
            margin-top: clamp(0.2rem, 0.55vh, 0.32rem);
            gap: clamp(0.25rem, 0.65vh, 0.38rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-panel-inner {
            gap: clamp(0.28rem, 0.75vh, 0.42rem);
            padding: clamp(0.4rem, 1.05vh, 0.55rem);
            overflow-y: hidden;
            justify-content: center;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-block-head {
            justify-content: center;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-not-started-btn {
            position: relative;
            justify-content: center;
            text-align: center;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-not-started-icon {
            position: absolute;
            left: 0.66rem;
            top: 50%;
            transform: translateY(-50%);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-not-started-chevron {
            position: absolute;
            right: 0.66rem;
            top: 50%;
            transform: translateY(-50%);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-not-started-copy {
            flex: 0 1 auto;
            align-items: center;
            text-align: center;
            padding: 0 2.35rem;
            max-width: 100%;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-block--not-started {
            align-items: center;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-uncertain-link {
            text-align: center;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-block-label {
            font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
            letter-spacing: 0.085em;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-block {
            gap: clamp(0.26rem, 0.7vh, 0.36rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-block--featured .jg-med-block-head {
            margin-bottom: clamp(0.42rem, 1.2vh, 0.6rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-block--alt {
            margin-top: clamp(0.4rem, 1.1vh, 0.55rem);
            padding-top: clamp(0.65rem, 1.75vh, 0.85rem);
            padding-bottom: clamp(0.65rem, 1.75vh, 0.85rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-block--alt .jg-med-block-head {
            margin-bottom: clamp(0.38rem, 1.05vh, 0.52rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-block--not-started {
            gap: clamp(0.42rem, 1.1vh, 0.55rem);
            padding-top: clamp(0.38rem, 1vh, 0.5rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-grid {
            gap: clamp(0.26rem, 0.7vh, 0.36rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-tile {
            min-height: clamp(3.5rem, 9.5vh, 4.1rem);
            padding: 0.38rem 0.28rem 0.34rem;
            gap: clamp(0.18rem, 0.5vh, 0.28rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-tile-name {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.18;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-orb {
            width: clamp(1.2rem, 3.5vh, 1.45rem);
            height: clamp(1.2rem, 3.5vh, 1.45rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-proof-bar {
            gap: 0.5rem;
            padding: 0.44rem 0.68rem;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-proof-item {
            font-size: clamp(0.78125rem, 2.85vw, 0.84375rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-med-proof-item svg {
            width: 0.9375rem;
            height: 0.9375rem;
        }

        /* Tempo de jornada — fase na jornada */
        .jg-desktop-phone .jg-time-title,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-time-scene .jg-time-title {
            font-size: clamp(0.9375rem, 3.55vw, 1.03125rem);
            line-height: 1.32;
        }

        .jg-desktop-phone .jg-time-desc {
            font-size: clamp(0.75rem, 2.8vw, 0.8125rem);
            line-height: 1.44;
            color: #475569;
        }

        .jg-desktop-phone .jg-time-stat {
            font-size: clamp(0.6875rem, 2.5vw, 0.75rem);
        }

        .jg-desktop-phone .jg-time-card {
            padding: 0.65rem 0.7rem;
        }

        /* Minha saúde — step 4 (mobile, paridade medicação/tempo) */
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-scene {
            margin-top: clamp(0.2rem, 0.55vh, 0.32rem);
            gap: clamp(0.25rem, 0.65vh, 0.38rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-panel-inner {
            gap: clamp(0.28rem, 0.75vh, 0.42rem);
            padding: clamp(0.4rem, 1.05vh, 0.55rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-med-block-head {
            margin-bottom: clamp(0.42rem, 1.2vh, 0.6rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-grid {
            gap: clamp(0.26rem, 0.7vh, 0.36rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-tile {
            min-height: clamp(4.85rem, 13.5vh, 5.5rem);
            padding: 0.42rem 0.38rem 0.38rem;
            gap: clamp(0.18rem, 0.5vh, 0.26rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-orb {
            width: clamp(1.85rem, 5vh, 2rem);
            height: clamp(1.85rem, 5vh, 2rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-emoji {
            font-size: clamp(0.9375rem, 3.2vw, 1rem);
        }

        .jg-desktop-phone .jg-health-title,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-title {
            font-size: clamp(0.875rem, 3.25vw, 0.9375rem);
            line-height: 1.22;
        }

        .jg-desktop-phone .jg-health-desc,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-desc {
            font-size: clamp(0.75rem, 2.8vw, 0.8125rem);
            line-height: 1.34;
        }

        .jg-desktop-phone .jg-health-monitor-all {
            padding: 0.58rem 0.65rem;
        }

        .jg-desktop-phone .jg-health-monitor-title,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-monitor-title {
            font-size: clamp(0.875rem, 3.15vw, 0.9375rem);
            line-height: 1.28;
        }

        .jg-desktop-phone .jg-health-monitor-sub,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-monitor-sub {
            font-size: clamp(0.75rem, 2.75vw, 0.8125rem);
            line-height: 1.32;
        }

        .jg-desktop-phone .jg-health-monitor-badge {
            font-size: clamp(0.5625rem, 2vw, 0.625rem);
            padding: 0.24rem 0.48rem;
        }

        .jg-desktop-phone .jg-health-counter-text {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
            line-height: 1.3;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-foot {
            gap: clamp(0.28rem, 0.75vh, 0.38rem);
        }

        /* Plano diário — step 5 (mobile, paridade medicação/saúde) */
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-scene {
            margin-top: clamp(0.2rem, 0.55vh, 0.32rem);
            gap: clamp(0.25rem, 0.65vh, 0.38rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-panel-inner {
            gap: clamp(0.28rem, 0.75vh, 0.42rem);
            padding: clamp(0.4rem, 1.05vh, 0.55rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-med-block-head {
            margin-bottom: clamp(0.42rem, 1.2vh, 0.6rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-grid {
            grid-template-columns: minmax(0, 1fr);
            gap: clamp(0.28rem, 0.75vh, 0.38rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-card {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr);
            grid-template-rows: auto auto auto;
            align-items: start;
            column-gap: 0.52rem;
            row-gap: 0.08rem;
            min-height: auto;
            padding: clamp(0.48rem, 1.25vh, 0.58rem) clamp(0.55rem, 2vw, 0.65rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-orb {
            grid-row: 1 / -1;
            grid-column: 1;
            align-self: center;
            width: clamp(1.85rem, 5vh, 2rem);
            height: clamp(1.85rem, 5vh, 2rem);
            margin-bottom: 0;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-label {
            grid-column: 2;
            grid-row: 1;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-value {
            grid-column: 2;
            grid-row: 2;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-desc {
            grid-column: 2;
            grid-row: 3;
        }

        .jg-desktop-phone .jg-meta-label,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-label {
            font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
            letter-spacing: 0.065em;
        }

        .jg-desktop-phone .jg-meta-value,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-value {
            font-size: clamp(1.125rem, 4.1vw, 1.28125rem);
            line-height: 1.12;
        }

        .jg-desktop-phone .jg-meta-desc,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-desc {
            display: block;
            overflow: visible;
            -webkit-line-clamp: unset;
            font-size: clamp(0.8125rem, 3.05vw, 0.875rem);
            line-height: 1.36;
            color: #475569;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-emoji {
            font-size: clamp(0.9375rem, 3.2vw, 1rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-protocol {
            padding: clamp(0.42rem, 1.1vh, 0.52rem) clamp(0.48rem, 1.8vw, 0.58rem);
        }

        .jg-desktop-phone .jg-meta-protocol-title,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-protocol-title {
            font-size: clamp(0.8125rem, 3.05vw, 0.875rem);
            line-height: 1.28;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-protocol-pills {
            gap: 0.22rem;
            margin-top: 0.28rem;
        }

        .jg-desktop-phone .jg-meta-protocol-pill,
        .jg-desktop-phone .jg-meta-evade-chip {
            font-size: clamp(0.75rem, 2.75vw, 0.8125rem);
            padding: 0.22rem 0.46rem;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-evade {
            padding: clamp(0.38rem, 1vh, 0.48rem) clamp(0.45rem, 1.8vw, 0.55rem);
        }

        .jg-desktop-phone .jg-meta-evade-title,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-evade-title {
            font-size: clamp(0.8125rem, 3.05vw, 0.875rem);
            line-height: 1.3;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-evade-chips {
            gap: 0.22rem;
            margin-top: 0.24rem;
        }

        .jg-desktop-phone .jg-meta-disclaimer,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-disclaimer {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
            line-height: 1.38;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-foot {
            gap: clamp(0.28rem, 0.75vh, 0.38rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-med-proof-bar {
            gap: 0.5rem;
            padding: 0.44rem 0.68rem;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-med-proof-item {
            font-size: clamp(0.78125rem, 2.85vw, 0.84375rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-med-proof-item svg {
            width: 0.9375rem;
            height: 0.9375rem;
        }

        /* Wizard conta — step 6 (mobile, paridade plano diário) */
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-wizard-med-top {
            margin-bottom: clamp(0.1rem, 0.3vh, 0.16rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-wizard-med-prompt {
            font-size: clamp(1.0625rem, 3.95vw, 1.15625rem);
            line-height: 1.34;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-scene {
            margin-top: clamp(0.2rem, 0.55vh, 0.32rem);
            gap: clamp(0.25rem, 0.65vh, 0.38rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-stack {
            gap: clamp(0.32rem, 0.85vh, 0.42rem);
            padding: clamp(0.4rem, 1.05vh, 0.55rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-duo {
            gap: clamp(0.26rem, 0.7vh, 0.36rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card {
            gap: 0.22rem;
            padding: clamp(0.48rem, 1.25vh, 0.58rem) clamp(0.52rem, 1.9vw, 0.6rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card--compact {
            padding: clamp(0.44rem, 1.15vh, 0.52rem) clamp(0.48rem, 1.8vw, 0.55rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card-head {
            gap: 0.42rem;
            margin-bottom: clamp(0.14rem, 0.4vh, 0.2rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-orb {
            width: clamp(1.75rem, 4.8vh, 1.9rem);
            height: clamp(1.75rem, 4.8vh, 1.9rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-emoji {
            font-size: clamp(0.875rem, 3vw, 0.9375rem);
        }

        .jg-desktop-phone .jg-account-card-label,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card-label {
            font-size: clamp(0.875rem, 3.25vw, 0.9375rem);
            line-height: 1.28;
        }

        .jg-desktop-phone .jg-account-card-input,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card-input {
            font-size: clamp(0.875rem, 3.15vw, 0.9375rem);
            line-height: 1.28;
        }

        .jg-desktop-phone .jg-account-confirmed-value {
            font-size: clamp(0.875rem, 3.15vw, 0.9375rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-cep {
            gap: clamp(0.26rem, 0.7vh, 0.34rem);
        }

        .jg-desktop-phone .jg-account-cep-preview-kicker {
            font-size: clamp(0.5625rem, 2vw, 0.625rem);
            letter-spacing: 0.065em;
        }

        .jg-desktop-phone .jg-account-cep-preview-line {
            font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
        }

        .jg-desktop-phone .jg-account-cep-preview-sub {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
        }

        .jg-desktop-phone .jg-account-cep-status,
        .jg-desktop-phone .jg-account-cep-link {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
        }

        .jg-desktop-phone .jg-account-privacy-label span {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
            line-height: 1.38;
        }

        .jg-desktop-phone .jg-account-privacy-check {
            width: 0.9375rem;
            height: 0.9375rem;
        }

        .jg-desktop-phone .jg-account-error {
            font-size: clamp(0.625rem, 2.2vw, 0.6875rem);
        }

        .jg-desktop-phone .jg-account-alert__text {
            font-size: clamp(0.6875rem, 2.45vw, 0.75rem);
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-foot {
            gap: clamp(0.28rem, 0.75vh, 0.38rem);
        }

        .jg-desktop-phone .jg-account-foot-note {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
            line-height: 1.36;
        }

        /* Cards de benefícios — descrição */
        .jg-desktop-phone .jg-match-body,
        .jg-desktop-phone .jg-pillar-body {
            font-size: clamp(0.875rem, 3.2vw, 0.9375rem);
            line-height: 1.52;
        }

        .jg-desktop-phone .jg-pillar-step-label {
            font-size: clamp(0.6875rem, 2.35vw, 0.75rem);
            letter-spacing: 0.12em;
        }

        /* Pillars — benefícios (mobile, paridade welcome) */
        .jg-desktop-phone .jg-scene--pillars .jg-pillar-heloisa-text {
            font-size: clamp(1rem, 3.55vw, 1.0625rem);
            line-height: 1.44;
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-eyebrow {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
            letter-spacing: 0.12em;
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-title {
            font-size: var(--jg-m-headline);
            line-height: 1.18;
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-highlight {
            font-size: var(--jg-m-lead);
            line-height: 1.28;
            padding: 0.35rem 0.6rem;
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-highlight .jg-icon,
        .jg-desktop-phone .jg-scene--pillars .jg-pillar-highlight svg {
            width: 0.8125rem;
            height: 0.8125rem;
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-body {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.52;
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-step-label {
            font-size: clamp(0.6875rem, 2.35vw, 0.75rem);
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-step-count {
            font-size: var(--jg-m-caption);
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-nav-label {
            font-size: var(--jg-m-micro);
        }

        /* Match — benefícios personalizados (mobile, paridade welcome/pilares) */
        .jg-desktop-phone .jg-scene--match .jg-match-heloisa-text {
            font-size: clamp(1rem, 3.55vw, 1.0625rem);
            line-height: 1.44;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-step-label {
            font-size: clamp(0.6875rem, 2.35vw, 0.75rem);
            letter-spacing: 0.12em;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-step-count {
            font-size: var(--jg-m-caption);
        }

        .jg-desktop-phone .jg-scene--match .jg-match-hero {
            border-radius: 1.5rem;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-hero-inner {
            border-radius: calc(1.5rem - 2px);
            padding: clamp(0.75rem, 2.2lvh, 1.05rem) clamp(0.78rem, 2.6vw, 0.92rem);
            justify-content: flex-start;
            gap: clamp(0.35rem, 1.1lvh, 0.55rem);
        }

        .jg-desktop-phone .jg-scene--match .jg-match-icon-orbit {
            width: clamp(3.5rem, 10lvh, 4.25rem);
            height: clamp(3.5rem, 10lvh, 4.25rem);
            border-radius: 1.35rem;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-icon-orbit::before {
            inset: -5px;
            border-radius: 1.45rem;
            border: 2px dashed rgba(16, 185, 129, 0.35);
            background: transparent;
            opacity: 1;
            filter: none;
            animation: jg-mirror-spin 10s linear infinite;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-eyebrow {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
            letter-spacing: 0.12em;
            margin-top: clamp(0.5rem, 1.4lvh, 0.75rem);
        }

        .jg-desktop-phone .jg-scene--match .jg-match-title {
            font-size: var(--jg-m-headline);
            line-height: 1.18;
            margin-top: 0.35rem;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-highlight {
            font-size: var(--jg-m-lead);
            line-height: 1.28;
            padding: 0.35rem 0.6rem;
            margin-top: clamp(0.45rem, 1.2lvh, 0.65rem);
        }

        .jg-desktop-phone .jg-scene--match .jg-match-highlight .jg-icon,
        .jg-desktop-phone .jg-scene--match .jg-match-highlight svg {
            width: 0.8125rem;
            height: 0.8125rem;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-body {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.52;
            margin-top: clamp(0.4rem, 1.1lvh, 0.55rem);
            max-width: 19rem;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-nav-item {
            min-width: 4.5rem;
            gap: 0.25rem;
            padding: 0.25rem 0.15rem;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-nav-label {
            font-size: clamp(0.625rem, 2.35vw, 0.6875rem);
            max-width: none;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-quote p {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.42;
        }

        .jg-desktop-phone .jg-scene--match .jg-match-quote footer {
            font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
            letter-spacing: 0.08em;
        }

        /* Commit — protocolo grátis (mobile, paridade pilares/match) */
        .jg-desktop-phone .jg-scene--commit .jg-commit-prompt {
            font-size: clamp(1.0625rem, 3.95vw, 1.15625rem);
            line-height: 1.34;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-sub {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.42;
            color: #64748b;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-free-pill {
            font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
            letter-spacing: 0.1em;
            padding: 0.36rem 0.72rem;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-free-pill .jg-icon,
        .jg-desktop-phone .jg-scene--commit .jg-commit-free-pill svg {
            width: 0.875rem;
            height: 0.875rem;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-rating-text {
            font-size: clamp(0.9375rem, 3.45vw, 1rem);
            line-height: 1.32;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-rating-text strong {
            font-size: clamp(1.25rem, 4.5vw, 1.375rem);
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-stars svg {
            width: 1rem;
            height: 1rem;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-stat-value {
            font-size: clamp(1.2rem, 4.2vw, 1.35rem);
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-stat-label {
            font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
            letter-spacing: 0.06em;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-stat-icon {
            width: 2.15rem;
            height: 2.15rem;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-stat-icon .jg-icon,
        .jg-desktop-phone .jg-scene--commit .jg-commit-stat-icon svg {
            width: 1.05rem;
            height: 1.05rem;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-benefit-text {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.3;
            color: #334155;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-benefit-icon {
            width: 2.15rem;
            height: 2.15rem;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-benefit-icon .jg-icon,
        .jg-desktop-phone .jg-scene--commit .jg-commit-benefit-icon svg {
            width: 1.05rem;
            height: 1.05rem;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-trust {
            font-size: clamp(0.78125rem, 2.75vw, 0.84375rem);
            letter-spacing: 0.06em;
        }

        .jg-desktop-phone .jg-scene--commit .jg-commit-trust .jg-icon,
        .jg-desktop-phone .jg-scene--commit .jg-commit-trust svg {
            width: 0.875rem;
            height: 0.875rem;
        }

        /* Specialist — vídeo + depoimento (mobile: cabe na tela, tipografia alinhada) */
        .jg-desktop-phone .jg-scene--specialist .jg-specialist-scene {
            gap: clamp(0.28rem, 0.75vh, 0.42rem);
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-head {
            margin: 0;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-title {
            margin-top: 0.35rem;
            font-size: clamp(1.2rem, 4.6vw, 1.375rem);
            line-height: 1.18;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-sub {
            margin-top: 0.28rem;
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.42;
            color: #64748b;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-body {
            flex: 1;
            min-height: 0;
            overflow: hidden;
            gap: clamp(0.28rem, 0.8vh, 0.42rem);
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-phone-stage {
            flex: 1 1 0;
            min-height: 0;
            justify-content: center;
            padding: 0;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-phone-glow {
            width: min(82%, 220px);
            height: min(68%, 240px);
        }

        .jg-desktop-phone .jg-scene--specialist .jg-phone-device {
            --jg-specialist-phone-h: min(32lvh, calc(100lvh - 19.75rem), 268px);
            width: min(calc(var(--jg-specialist-phone-h) * 9 / 16), 66vw, 210px);
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-phone-caption {
            margin-top: 0.32rem;
            font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
            letter-spacing: 0.08em;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-phone-caption .jg-icon,
        .jg-desktop-phone .jg-scene--specialist .jg-specialist-phone-caption svg {
            width: 0.875rem;
            height: 0.875rem;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-card-inner {
            padding: 0.55rem 0.65rem;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-bullets {
            display: none;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-specialty {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
            letter-spacing: 0.12em;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-name {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-crm {
            font-size: clamp(0.875rem, 3.2vw, 0.9375rem);
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-badge {
            width: 2rem;
            height: 2rem;
            font-size: 0.9rem;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-foot {
            gap: clamp(0.28rem, 0.75vh, 0.4rem);
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-disclaimer {
            font-size: clamp(0.78125rem, 2.75vw, 0.84375rem);
            line-height: 1.35;
        }

        .jg-desktop-phone .jg-btn,
        .jg-desktop-phone .jg-btn--compact {
            font-size: var(--jg-m-btn);
            line-height: 1.3;
            letter-spacing: -0.01em;
            min-height: 3.55rem;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-btn--compact {
            min-height: 3.35rem;
        }

        .jg-desktop-phone .jg-btn--compact {
            min-height: 3.65rem;
        }

        .jg-desktop-phone .jg-btn svg {
            width: 1.125rem;
            height: 1.125rem;
        }

        .jg-desktop-phone .jg-btn-ghost {
            min-height: 2.75rem;
            padding: 0 1.05rem;
            font-size: clamp(0.8125rem, 3vw, 0.9rem);
            gap: 0.38rem;
        }

        .jg-desktop-phone .jg-btn-ghost__icon {
            width: clamp(0.9rem, 3.2vw, 0.95rem);
            height: clamp(0.9rem, 3.2vw, 0.95rem);
        }

        .jg-desktop-phone .jg-trust-pill {
            font-size: clamp(0.75rem, 2.75vw, 0.8125rem);
            letter-spacing: 0.08em;
            padding: 0.44rem 0.82rem;
            gap: 0.4rem;
        }

        .jg-desktop-phone .jg-trust-pill svg {
            width: 0.875rem;
            height: 0.875rem;
        }

        /* Logo Glipi — header (tokens em journey-brand-logo-styles) */

        .jg-desktop-phone .jg-scene-grid .text-\[10px\],
        .jg-desktop-phone .jg-scene-grid .text-\[9px\] {
            font-size: var(--jg-m-micro);
        }

        .jg-desktop-phone .jg-scene-grid .text-\[14px\],
        .jg-desktop-phone .jg-scene-grid .text-\[15px\],
        .jg-desktop-phone .jg-scene-grid .text-\[13px\] {
            font-size: var(--jg-m-sub);
        }

        .jg-desktop-phone .jg-stat-card p:first-child {
            font-size: var(--jg-m-micro);
        }

        /* Welcome — layout mobile (tipografia via tokens acima) */
        .jg-desktop-phone .jg-scene--welcome {
            min-height: 0;
        }

        .jg-desktop-phone .jg-welcome-scene {
            gap: clamp(0.5rem, 1.6vh, 0.8rem);
            justify-content: space-between;
        }

        .jg-desktop-phone .jg-scene--welcome .jg-welcome-heloisa-text {
            font-size: clamp(1rem, 3.55vw, 1.0625rem);
            line-height: 1.44;
        }

        .jg-desktop-phone .jg-welcome-main {
            flex: 1 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
        }

        .jg-desktop-phone .jg-welcome-hero {
            flex: 1 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
        }

        .jg-desktop-phone .jg-welcome-hero-inner {
            flex: 1 1 auto;
            min-height: 0;
            justify-content: flex-start;
            gap: clamp(0.5rem, 1.5vh, 0.7rem);
            padding: clamp(0.85rem, 2.2vh, 1.05rem) clamp(0.78rem, 2.6vw, 0.92rem);
        }

        .jg-desktop-phone .jg-welcome-kicker {
            padding: 0.36rem 0.78rem;
            gap: 0.38rem;
            font-size: clamp(0.65625rem, 2.5vw, 0.71875rem);
            letter-spacing: 0.12em;
        }

        .jg-desktop-phone .jg-welcome-kicker .jg-icon {
            width: 0.8125rem;
            height: 0.8125rem;
        }

        /* Vivi · copiloto — kickers das cenas (mobile) */
        .jg-desktop-phone .jg-stage-kicker,
        .jg-desktop-phone .jg-concerns-kicker,
        .jg-desktop-phone .jg-commit-kicker,
        .jg-desktop-phone .jg-wizard-med-kicker {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
            letter-spacing: 0.065em;
        }

        .jg-desktop-phone .jg-scene--welcome .jg-welcome-sub {
            max-width: none;
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.62;
            color: #475569;
        }

        .jg-desktop-phone .jg-welcome-features {
            flex: 1 1 auto;
            min-height: clamp(7.5rem, 28vh, 10.5rem);
            margin: 0;
            padding: clamp(0.15rem, 0.6vh, 0.35rem) 0;
            gap: 0;
            justify-content: space-evenly;
        }

        .jg-desktop-phone .jg-welcome-feature {
            flex: 0 0 auto;
            align-items: center;
            gap: 0.68rem;
            padding: clamp(0.62rem, 1.5vh, 0.72rem) 0.72rem;
            border-radius: 0.88rem;
            border-color: rgba(203, 213, 225, 0.8);
        }

        .jg-desktop-phone .jg-welcome-feature__orb {
            width: 2.5rem;
            height: 2.5rem;
            border-radius: 0.68rem;
        }

        .jg-desktop-phone .jg-welcome-feature__icon {
            width: 1.2rem;
            height: 1.2rem;
        }

        .jg-desktop-phone .jg-welcome-feature__copy {
            gap: 0.14rem;
        }

        .jg-desktop-phone .jg-welcome-feature__lead {
            color: #0f172a;
        }

        .jg-desktop-phone .jg-welcome-feature__detail {
            font-size: clamp(0.78125rem, 2.95vw, 0.84375rem);
            line-height: 1.48;
            color: #64748b;
        }

        .jg-desktop-phone .jg-welcome-foot {
            flex-shrink: 0;
            gap: clamp(0.38rem, 1.1vh, 0.5rem);
            margin-top: 0;
            padding-top: clamp(0.15rem, 0.5vh, 0.25rem);
        }

        .jg-desktop-phone .jg-welcome-disclaimer {
            font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
            line-height: 1.38;
        }

        .jg-desktop-phone .jg-welcome-trust {
            font-size: clamp(0.6875rem, 2.6vw, 0.75rem);
            letter-spacing: 0.025em;
            gap: 0.34rem;
        }

        .jg-desktop-phone .jg-welcome-trust strong {
            font-size: 1.06em;
        }

        .jg-desktop-phone .jg-welcome-foot .jg-welcome-stars svg {
            width: 0.8rem;
            height: 0.8rem;
        }

        /* Pillars — layout mobile (cabe na tela; scroll só no card) */
        .jg-desktop-phone .jg-scene--pillars {
            min-height: 0;
        }

        .jg-desktop-phone .jg-pillar-scene {
            display: grid;
            grid-template-rows: auto auto minmax(0, 1fr) auto;
            gap: clamp(0.35rem, 1lvh, 0.55rem);
            justify-content: stretch;
        }

        .jg-desktop-phone .jg-pillar-scene > .jg-pillar-heloisa,
        .jg-desktop-phone .jg-pillar-scene > .jg-pillar-step {
            grid-row: auto;
        }

        .jg-desktop-phone .jg-pillar-scene > .jg-pillar-main {
            grid-row: 3;
            min-height: 0;
        }

        .jg-desktop-phone .jg-pillar-scene > .jg-pillar-foot {
            grid-row: 4;
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-step {
            margin-top: 0;
        }

        .jg-desktop-phone .jg-pillar-main {
            flex: 1 1 auto;
            min-height: 0;
            margin: clamp(0.2rem, 0.65lvh, 0.45rem) 0;
        }

        .jg-desktop-phone .jg-pillar-hero {
            flex: 1 1 auto;
            min-height: 0;
        }

        .jg-desktop-phone .jg-pillar-hero-inner {
            padding: clamp(0.75rem, 2.2lvh, 1.05rem) clamp(0.78rem, 2.6vw, 0.92rem);
            gap: clamp(0.35rem, 1.1lvh, 0.55rem);
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-icon-orbit {
            width: clamp(3.5rem, 10lvh, 4.25rem);
            height: clamp(3.5rem, 10lvh, 4.25rem);
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-eyebrow {
            margin-top: clamp(0.5rem, 1.4lvh, 0.75rem);
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-highlights {
            margin-top: clamp(0.45rem, 1.2lvh, 0.65rem);
            gap: 0.35rem;
        }

        .jg-desktop-phone .jg-scene--pillars .jg-pillar-body {
            margin-top: clamp(0.4rem, 1.1lvh, 0.55rem);
        }

        .jg-desktop-phone .jg-pillar-nav {
            margin-top: clamp(0.3rem, 0.9lvh, 0.5rem);
        }

        .jg-desktop-phone .jg-pillar-foot {
            flex-shrink: 0;
            padding-top: clamp(0.1rem, 0.35lvh, 0.2rem);
        }

        /* Match — layout mobile (paridade pilares) */
        .jg-desktop-phone .jg-scene--match {
            min-height: 0;
        }

        .jg-desktop-phone .jg-match-scene {
            display: grid;
            grid-template-rows: auto auto minmax(0, 1fr) auto;
            gap: clamp(0.35rem, 1lvh, 0.55rem);
            justify-content: stretch;
        }

        .jg-desktop-phone .jg-match-scene > .jg-match-main {
            grid-row: 3;
            min-height: 0;
        }

        .jg-desktop-phone .jg-match-scene > .jg-match-foot {
            grid-row: 4;
        }

        .jg-desktop-phone .jg-match-main {
            flex: 1 1 auto;
            min-height: 0;
            margin: clamp(0.2rem, 0.65lvh, 0.45rem) 0;
        }

        .jg-desktop-phone .jg-match-hero {
            flex: 1 1 auto;
            min-height: 0;
        }

        .jg-desktop-phone .jg-match-foot {
            flex-shrink: 0;
            padding-top: clamp(0.1rem, 0.35lvh, 0.2rem);
        }

        /* Commit — layout mobile */
        .jg-desktop-phone .jg-scene--commit {
            min-height: 0;
        }

        .jg-desktop-phone .jg-commit-scene {
            gap: clamp(0.35rem, 1lvh, 0.55rem);
            justify-content: space-between;
        }

        .jg-desktop-phone .jg-commit-main {
            flex: 1 1 auto;
            min-height: 0;
            margin: clamp(0.2rem, 0.65lvh, 0.45rem) 0;
        }

        .jg-desktop-phone .jg-commit-hero-inner {
            padding: clamp(0.55rem, 1.6lvh, 0.8rem) clamp(0.65rem, 2.4vw, 0.9rem);
        }

        .jg-desktop-phone .jg-commit-benefits {
            gap: clamp(0.22rem, 0.65lvh, 0.35rem);
        }

        .jg-desktop-phone .jg-commit-benefit {
            padding: clamp(0.34rem, 0.95lvh, 0.44rem) 0.58rem;
        }

        .jg-desktop-phone .jg-commit-foot {
            flex-shrink: 0;
            padding-top: clamp(0.1rem, 0.35lvh, 0.2rem);
        }

        /* Stage — layout mobile */
        .jg-desktop-phone .jg-scene--stage {
            min-height: 0;
        }

        .jg-desktop-phone .jg-stage-scene {
            gap: clamp(0.35rem, 1lvh, 0.55rem);
            justify-content: space-between;
        }

        .jg-desktop-phone .jg-stage-main {
            flex: 1 1 auto;
            min-height: 0;
        }

        .jg-desktop-phone .jg-stage-hero-inner {
            gap: clamp(0.38rem, 1.1lvh, 0.6rem);
            padding: clamp(0.55rem, 1.6lvh, 0.8rem) clamp(0.55rem, 2vw, 0.7rem);
        }

        .jg-desktop-phone .jg-stage-list {
            gap: clamp(0.32rem, 0.95lvh, 0.55rem);
        }

        .jg-desktop-phone .jg-stage-card {
            min-height: clamp(3.15rem, 11lvh, 4.25rem);
            padding: clamp(0.5rem, 1.35lvh, 0.72rem) 0.65rem;
        }

        .jg-desktop-phone .jg-stage-foot {
            flex-shrink: 0;
            padding-top: clamp(0.1rem, 0.35lvh, 0.2rem);
        }

        /* Concerns — layout mobile */
        .jg-desktop-phone .jg-scene--concerns {
            min-height: 0;
        }

        .jg-desktop-phone .jg-concerns-scene {
            gap: clamp(0.35rem, 1lvh, 0.55rem);
            justify-content: space-between;
        }

        .jg-desktop-phone .jg-concerns-main {
            flex: 1 1 auto;
            min-height: 0;
            margin: clamp(0.2rem, 0.65lvh, 0.45rem) 0;
        }

        .jg-desktop-phone .jg-concerns-hero-inner {
            padding: clamp(0.32rem, 0.95lvh, 0.5rem);
        }

        .jg-desktop-phone .jg-concerns-grid {
            gap: clamp(0.22rem, 0.65lvh, 0.38rem);
        }

        .jg-desktop-phone .jg-concerns-foot {
            flex-shrink: 0;
            padding-top: clamp(0.1rem, 0.35lvh, 0.2rem);
        }

        /* Specialist — layout mobile */
        .jg-desktop-phone .jg-scene--specialist {
            min-height: 0;
        }

        .jg-desktop-phone .jg-specialist-scene {
            gap: clamp(0.3rem, 0.9lvh, 0.5rem);
            justify-content: space-between;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-body {
            flex: 1 1 auto;
            min-height: 0;
        }

        .jg-desktop-phone .jg-scene--specialist .jg-specialist-foot {
            flex-shrink: 0;
            padding-top: clamp(0.1rem, 0.35lvh, 0.2rem);
        }

        /* Interstitial + celebration — grid rolável */
        .jg-desktop-phone .jg-scene--interstitial > .jg-scene-grid,
        .jg-desktop-phone .jg-scene--celebration > .jg-scene-grid {
            gap: clamp(0.35rem, 1lvh, 0.55rem);
        }

        .jg-desktop-phone .jg-scene--interstitial .jg-scene-body,
        .jg-desktop-phone .jg-scene--celebration .jg-scene-body {
            justify-content: flex-start;
            padding-top: clamp(0.15rem, 0.5lvh, 0.35rem);
        }

        .jg-desktop-phone .jg-scene--interstitial .jg-scene-foot,
        .jg-desktop-phone .jg-scene--celebration .jg-scene-foot {
            padding-top: clamp(0.1rem, 0.35lvh, 0.2rem);
        }

        .jg-desktop-phone .jg-scene--interstitial .jg-interstitial-ring {
            width: clamp(3.75rem, 11lvh, 5rem);
            height: clamp(3.75rem, 11lvh, 5rem);
            margin-bottom: clamp(0.5rem, 1.5lvh, 1rem);
        }

        .jg-desktop-phone .jg-scene--interstitial .jg-interstitial-ring svg {
            width: 100%;
            height: 100%;
        }

        .jg-desktop-phone .jg-scene--interstitial .jg-interstitial-ring span.flex {
            height: clamp(2.35rem, 7lvh, 3rem);
            width: clamp(2.35rem, 7lvh, 3rem);
        }

        .jg-desktop-phone .jg-scene--interstitial .jg-interstitial-ring span.flex .h-6 {
            height: clamp(1.15rem, 3.5lvh, 1.5rem);
            width: clamp(1.15rem, 3.5lvh, 1.5rem);
        }

        .jg-desktop-phone .jg-scene--celebration .jg-scene-body .jg-headline {
            margin-top: clamp(0.65rem, 1.8lvh, 1rem);
        }

        .jg-desktop-phone .jg-scene--celebration .jg-scene-body .jg-sub {
            margin-top: clamp(0.35rem, 1lvh, 0.65rem);
        }

        .jg-desktop-phone .jg-scene--celebration .jg-card-elevated {
            margin-top: clamp(0.45rem, 1.2lvh, 0.75rem);
            padding: clamp(0.55rem, 1.5lvh, 0.85rem);
        }

        /* Welcome — reforço layout mobile */
        .jg-desktop-phone .jg-welcome-foot {
            flex-shrink: 0;
        }

        /* Wizard — cena densa no mobile */
        .jg-desktop-phone .jg-scene--wizard-med {
            min-height: 0;
        }

        .jg-desktop-phone .jg-wizard-med-scene {
            gap: clamp(0.3rem, 0.9lvh, 0.5rem);
            justify-content: space-between;
        }

        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-med-scene .jg-med-panel,
        .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-bio-scene .jg-bio-scene {
            min-height: 0;
        }

        /* Stage — 3 opções «onde você está hoje» (mobile) */
        .jg-desktop-phone .jg-stage-prompt {
            font-size: clamp(1rem, 3.65vw, 1.09375rem);
            line-height: 1.36;
        }

        .jg-desktop-phone .jg-scene--stage .jg-stage-sub {
            font-size: clamp(0.9375rem, 3.45vw, 1rem);
            line-height: 1.46;
        }

        .jg-desktop-phone .jg-scene--stage .jg-stage-card__label {
            font-size: clamp(1.09375rem, 4.6vw, 1.15625rem);
            line-height: 1.34;
        }

        .jg-desktop-phone .jg-scene--stage .jg-stage-card__sub {
            font-size: clamp(1rem, 4.1vw, 1.0625rem);
            line-height: 1.46;
        }

        .jg-desktop-phone .jg-stage-hero-label {
            font-size: clamp(0.71875rem, 2.65vw, 0.78125rem);
            letter-spacing: 0.095em;
            gap: 0.4rem;
            padding: 0.34rem 0.76rem;
        }

        .jg-desktop-phone .jg-stage-hero-label .jg-icon {
            width: 0.875rem;
            height: 0.875rem;
        }

        .jg-desktop-phone .jg-stage-trust {
            font-size: clamp(0.78125rem, 2.75vw, 0.84375rem);
            letter-spacing: 0.032em;
            gap: 0.36rem;
            line-height: 1.26;
        }

        .jg-desktop-phone .jg-stage-trust .jg-icon {
            width: 0.875rem;
            height: 0.875rem;
        }

        .jg-desktop-phone .jg-stage-trust strong {
            font-size: 1.06em;
        }

        /* Concerns — «30 dias» + até 3 prioridades (mobile) */
        .jg-desktop-phone .jg-scene--concerns .jg-concerns-prompt {
            font-size: clamp(1.0625rem, 3.95vw, 1.15625rem);
            line-height: 1.34;
        }

        .jg-desktop-phone .jg-scene--concerns .jg-concerns-prompt .jg-concerns-sub {
            font-size: 0.9em;
            font-weight: 600;
            color: #64748b;
        }

        /* Mirror — Te entendemos (mobile) */
        .jg-desktop-phone .jg-mirror-heloisa-text {
            font-size: clamp(1rem, 3.65vw, 1.0625rem);
            line-height: 1.44;
        }

        .jg-desktop-phone .jg-mirror-eyebrow {
            font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
            letter-spacing: 0.11em;
        }

        .jg-desktop-phone .jg-mirror-body {
            font-size: clamp(1.125rem, 4.25vw, 1.1875rem);
            line-height: 1.6;
        }

        .jg-desktop-phone .jg-mirror-stat-label {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.48;
        }

        .jg-desktop-phone .jg-mirror-pain {
            font-size: clamp(1rem, 3.75vw, 1.0625rem);
            line-height: 1.32;
            padding: 0.48rem 0.78rem;
            gap: 0.4rem;
        }

        .jg-desktop-phone .jg-mirror-pain .jg-icon {
            width: 1rem;
            height: 1rem;
        }

        /* Mirror — layout mobile (cabe na tela; scroll só no card) */
        .jg-desktop-phone .jg-scene--mirror {
            min-height: 0;
        }

        .jg-desktop-phone .jg-mirror-scene {
            gap: clamp(0.35rem, 1lvh, 0.55rem);
            justify-content: space-between;
        }

        .jg-desktop-phone .jg-mirror-main {
            flex: 1 1 auto;
            min-height: 0;
            margin-top: clamp(0.2rem, 0.65lvh, 0.45rem);
            margin-bottom: clamp(0.2rem, 0.65lvh, 0.45rem);
        }

        .jg-desktop-phone .jg-mirror-hero {
            flex: 1 1 auto;
            min-height: 0;
        }

        .jg-desktop-phone .jg-mirror-hero-inner {
            padding: clamp(0.75rem, 2.2lvh, 1.05rem) clamp(0.78rem, 2.6vw, 0.92rem);
        }

        .jg-desktop-phone .jg-mirror-stat {
            margin-top: clamp(0.35rem, 1lvh, 0.55rem);
            padding: clamp(0.65rem, 1.8lvh, 0.85rem) clamp(0.75rem, 2vw, 1rem);
        }

        .jg-desktop-phone .jg-mirror-foot {
            flex-shrink: 0;
            padding-top: clamp(0.1rem, 0.35lvh, 0.2rem);
        }

        /* iPhone 15 e similares — altura entre 820–900px (viewport estreito) */
        @media (max-height: 900px) and (max-width: 430px) {
            .jg-desktop-phone .jg-scene--pillars .jg-pillar-heloisa-text,
            .jg-desktop-phone .jg-scene--match .jg-match-heloisa-text,
            .jg-desktop-phone .jg-mirror-heloisa-text,
            .jg-desktop-phone .jg-welcome-heloisa-text {
                line-height: 1.36;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-heloisa-text,
            .jg-desktop-phone .jg-scene--match .jg-match-heloisa-text {
                font-size: clamp(0.875rem, calc(0.9375rem * var(--jg-vh-ratio, 0.94) * var(--jg-fit-scale, 1)), 1rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-title,
            .jg-desktop-phone .jg-scene--match .jg-match-title {
                font-size: clamp(1.1rem, calc(1.2rem * var(--jg-vh-ratio, 0.94) * var(--jg-fit-scale, 1)), 1.3rem);
                line-height: 1.14;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-body,
            .jg-desktop-phone .jg-scene--match .jg-match-body {
                font-size: clamp(0.8125rem, calc(0.875rem * var(--jg-vh-ratio, 0.94) * var(--jg-fit-scale, 1)), 0.9375rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-highlight,
            .jg-desktop-phone .jg-scene--match .jg-match-highlight {
                font-size: clamp(0.6875rem, calc(0.75rem * var(--jg-vh-ratio, 0.94) * var(--jg-fit-scale, 1)), 0.8125rem);
                padding: 0.3rem 0.52rem;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-eyebrow,
            .jg-desktop-phone .jg-scene--match .jg-match-eyebrow {
                margin-top: clamp(0.35rem, 1lvh, 0.55rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-highlights,
            .jg-desktop-phone .jg-scene--match .jg-match-highlights {
                margin-top: clamp(0.3rem, 0.9lvh, 0.45rem);
                gap: 0.3rem;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-body,
            .jg-desktop-phone .jg-scene--match .jg-match-body {
                margin-top: clamp(0.25rem, 0.8lvh, 0.4rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-icon-orbit,
            .jg-desktop-phone .jg-scene--match .jg-match-icon-orbit {
                width: clamp(3.25rem, 9.5lvh, 4rem);
                height: clamp(3.25rem, 9.5lvh, 4rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-hero-inner,
            .jg-desktop-phone .jg-scene--match .jg-match-hero-inner,
            .jg-desktop-phone .jg-mirror-hero-inner,
            .jg-desktop-phone .jg-welcome-hero-inner {
                padding: clamp(0.65rem, 1.9lvh, 0.95rem) clamp(0.7rem, 2.4vw, 0.88rem);
            }
        }

        /* Viewport baixo — todas as cenas densas */
        @media (max-height: 820px) {
            .jg-desktop-phone .jg-scene--pillars .jg-pillar-heloisa-text,
            .jg-desktop-phone .jg-scene--match .jg-match-heloisa-text,
            .jg-desktop-phone .jg-mirror-heloisa-text,
            .jg-desktop-phone .jg-welcome-heloisa-text {
                line-height: 1.36;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-heloisa-text,
            .jg-desktop-phone .jg-scene--match .jg-match-heloisa-text {
                font-size: clamp(0.875rem, calc(0.9375rem * var(--jg-vh-ratio, 0.92)), 1rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-title,
            .jg-desktop-phone .jg-scene--match .jg-match-title {
                font-size: clamp(1.1rem, calc(1.2rem * var(--jg-vh-ratio, 0.92)), 1.3rem);
                line-height: 1.14;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-body,
            .jg-desktop-phone .jg-scene--match .jg-match-body {
                font-size: clamp(0.8125rem, calc(0.875rem * var(--jg-vh-ratio, 0.92)), 0.9375rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-highlight,
            .jg-desktop-phone .jg-scene--match .jg-match-highlight {
                font-size: clamp(0.6875rem, calc(0.75rem * var(--jg-vh-ratio, 0.92)), 0.8125rem);
                padding: 0.3rem 0.52rem;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-eyebrow,
            .jg-desktop-phone .jg-scene--match .jg-match-eyebrow {
                margin-top: clamp(0.35rem, 1lvh, 0.55rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-highlights,
            .jg-desktop-phone .jg-scene--match .jg-match-highlights {
                margin-top: clamp(0.3rem, 0.9lvh, 0.45rem);
                gap: 0.3rem;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-body,
            .jg-desktop-phone .jg-scene--match .jg-match-body {
                margin-top: clamp(0.25rem, 0.8lvh, 0.4rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-icon-orbit,
            .jg-desktop-phone .jg-scene--match .jg-match-icon-orbit {
                width: clamp(3.25rem, 9.5lvh, 4rem);
                height: clamp(3.25rem, 9.5lvh, 4rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-hero-inner,
            .jg-desktop-phone .jg-scene--match .jg-match-hero-inner,
            .jg-desktop-phone .jg-mirror-hero-inner,
            .jg-desktop-phone .jg-welcome-hero-inner {
                padding: clamp(0.65rem, 1.9lvh, 0.95rem) clamp(0.7rem, 2.4vw, 0.88rem);
            }

            .jg-desktop-phone .jg-commit-rating {
                margin-top: clamp(0.35rem, 1lvh, 0.55rem);
            }

            .jg-desktop-phone .jg-commit-stats {
                margin-top: clamp(0.4rem, 1.1lvh, 0.55rem);
                padding-top: clamp(0.4rem, 1.1lvh, 0.55rem);
            }

            .jg-desktop-phone .jg-scene--celebration .jg-card-elevated {
                margin-top: clamp(0.35rem, 1lvh, 0.55rem);
            }
        }

        @media (max-height: 740px) {
            .jg-desktop-phone .jg-scene--pillars .jg-pillar-icon-orbit,
            .jg-desktop-phone .jg-scene--match .jg-match-icon-orbit {
                width: clamp(3.15rem, 9lvh, 3.75rem);
                height: clamp(3.15rem, 9lvh, 3.75rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-highlight,
            .jg-desktop-phone .jg-scene--match .jg-match-highlight {
                padding: 0.3rem 0.52rem;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-body,
            .jg-desktop-phone .jg-scene--match .jg-match-body {
                font-size: clamp(0.75rem, calc(0.8125rem * var(--jg-vh-ratio, 0.88)), 0.875rem);
                line-height: 1.45;
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-heloisa-text,
            .jg-desktop-phone .jg-scene--match .jg-match-heloisa-text {
                font-size: clamp(0.8125rem, calc(0.875rem * var(--jg-vh-ratio, 0.88)), 0.9375rem);
            }

            .jg-desktop-phone .jg-scene--pillars .jg-pillar-hero-inner,
            .jg-desktop-phone .jg-scene--match .jg-match-hero-inner,
            .jg-desktop-phone .jg-mirror-hero-inner,
            .jg-desktop-phone .jg-welcome-hero-inner,
            .jg-desktop-phone .jg-commit-main {
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
            }

            .jg-desktop-phone .jg-mirror-hero-inner {
                padding: clamp(0.6rem, 1.75lvh, 0.85rem) clamp(0.65rem, 2.3vw, 0.8rem);
            }

            .jg-desktop-phone .jg-mirror-pain {
                padding: 0.38rem 0.65rem;
            }

            .jg-desktop-phone .jg-stage-card {
                min-height: clamp(2.85rem, 10lvh, 3.65rem);
            }

            .jg-desktop-phone .jg-scene--interstitial .jg-interstitial-ring {
                width: clamp(3.25rem, 9.5lvh, 4.25rem);
                height: clamp(3.25rem, 9.5lvh, 4.25rem);
            }

            .jg-desktop-phone .jg-scene--specialist .jg-phone-device {
                --jg-specialist-phone-h: min(28lvh, calc(100lvh - 20.5rem), 240px);
            }
        }

        @media (max-height: 680px) {
            .jg-root {
                --jg-gap-header-progress: clamp(0.5rem, 1.8lvh, 0.875rem);
                --jg-gap-progress-scene: clamp(0.5rem, 1.6lvh, 0.875rem);
                --jg-top-pad: max(0.625rem, calc(var(--jg-safe-top) + 0.375rem));
            }

            .jg-desktop-phone .jg-pillar-scene,
            .jg-desktop-phone .jg-match-scene,
            .jg-desktop-phone .jg-mirror-scene,
            .jg-desktop-phone .jg-commit-scene,
            .jg-desktop-phone .jg-welcome-scene,
            .jg-desktop-phone .jg-stage-scene,
            .jg-desktop-phone .jg-concerns-scene,
            .jg-desktop-phone .jg-specialist-scene,
            .jg-desktop-phone .jg-wizard-med-scene,
            .jg-desktop-phone .jg-scene--interstitial > .jg-scene-grid,
            .jg-desktop-phone .jg-scene--celebration > .jg-scene-grid {
                gap: 0.3rem;
            }

            .jg-desktop-phone .jg-pillar-hero-inner,
            .jg-desktop-phone .jg-match-hero-inner,
            .jg-desktop-phone .jg-mirror-hero-inner,
            .jg-desktop-phone .jg-stage-hero-inner,
            .jg-desktop-phone .jg-concerns-hero-inner,
            .jg-desktop-phone .jg-commit-main,
            .jg-desktop-phone .jg-scene--interstitial .jg-scene-body,
            .jg-desktop-phone .jg-scene--celebration .jg-scene-body {
                overflow-y: auto;
            }

            .jg-desktop-phone .jg-welcome-hero-inner {
                overflow-y: auto;
            }
        }

        /* Wizard bio — tokens em viewport estreito */
        .jg-desktop-phone .jg-bio-label {
            font-size: clamp(0.875rem, 3.1vw, 0.9375rem);
        }

        .jg-desktop-phone .jg-bio-input {
            font-size: clamp(1.35rem, 4.8vw, 1.5rem);
        }

        .jg-desktop-phone .jg-bio-unit {
            font-size: clamp(0.75rem, 2.5vw, 0.8125rem);
        }

        .jg-desktop-phone .jg-bio-hint,
        .jg-desktop-phone .jg-bio-privacy,
        .jg-desktop-phone .jg-bio-nudge,
        .jg-desktop-phone .jg-bio-warning,
        .jg-desktop-phone .jg-bio-error {
            font-size: clamp(0.6875rem, 2.35vw, 0.75rem);
        }

        /* Specialist — badge “Validado por especialistas” (isolado, sem [class*="-kicker"]) */
        .jg-desktop-phone .jg-specialist-validado-badge {
            font-size: clamp(0.8125rem, 3.05vw, 0.875rem);
            line-height: 1.2;
            letter-spacing: 0.1em;
            padding: 0.34rem 0.72rem;
        }
    }

    /* Wizard bio — distribuição + tipografia no frame do celular */
    .jg-desktop-phone .jg-scene--wizard-med {
        min-height: 0;
    }

    .jg-desktop-phone .jg-wizard-bio-scene:not(.jv5-wizard--body) {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
    }

    .jg-desktop-phone .jg-wizard-bio-form,
    .jg-desktop-phone .jg-wizard-bio-scene .jg-bio-scene {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .jg-desktop-phone .jg-wizard-bio-scene .jg-med-panel {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .jg-desktop-phone .jg-bio-panel-inner {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.5rem, 1.5vh, 0.7rem);
        padding: clamp(0.65rem, 1.8vh, 0.85rem);
    }

    .jg-desktop-phone .jg-bio-grid {
        flex: 1;
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: repeat(4, minmax(0, 1fr));
        gap: clamp(0.5rem, 1.5vh, 0.68rem);
    }

    .jg-desktop-phone .jg-bio-field {
        justify-content: center;
        gap: clamp(0.35rem, 0.95vh, 0.45rem);
        padding: clamp(0.55rem, 1.5vh, 0.72rem) clamp(0.65rem, 2.2vw, 0.78rem);
    }

    .jg-desktop-phone .jg-bio-field-head {
        flex-direction: row;
        align-items: center;
        min-height: auto;
        gap: 0.5rem;
    }

    .jg-desktop-phone .jg-bio-orb {
        width: 2.15rem;
        height: 2.15rem;
    }

    .jg-desktop-phone .jg-bio-emoji {
        font-size: 1.05rem;
    }

    .jg-desktop-phone .jg-bio-label {
        font-size: clamp(0.875rem, 3.1vw, 0.9375rem);
        line-height: 1.28;
    }

    .jg-desktop-phone .jg-bio-input {
        font-size: clamp(1.35rem, 4.8vw, 1.5rem);
    }

    .jg-desktop-phone .jg-bio-unit {
        font-size: clamp(0.75rem, 2.5vw, 0.8125rem);
        line-height: 1.35;
    }

    .jg-desktop-phone .jg-bio-hint,
    .jg-desktop-phone .jg-bio-privacy,
    .jg-desktop-phone .jg-bio-nudge,
    .jg-desktop-phone .jg-bio-warning,
    .jg-desktop-phone .jg-bio-error {
        font-size: clamp(0.6875rem, 2.35vw, 0.75rem);
        line-height: 1.38;
    }

    .jg-desktop-phone .jg-bio-hint,
    .jg-desktop-phone .jg-bio-privacy {
        color: var(--jg-muted);
    }

    .jg-desktop-phone .jg-bio-foot {
        flex-shrink: 0;
        margin-top: auto;
        padding-top: clamp(0.2rem, 0.6vh, 0.35rem);
        gap: clamp(0.38rem, 1vh, 0.48rem);
    }

    .jg-desktop-phone .jg-wizard-bio-scene .jg-heloisa-bubble--compact {
        padding: 0.62rem 0.78rem;
    }

    /* Wizard meta — plano diário legível no frame do celular */
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-scene {
        margin-top: clamp(0.2rem, 0.55vh, 0.32rem);
        gap: clamp(0.25rem, 0.65vh, 0.38rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-panel-inner {
        gap: clamp(0.28rem, 0.75vh, 0.42rem);
        padding: clamp(0.4rem, 1.05vh, 0.55rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-med-block-head {
        margin-bottom: clamp(0.42rem, 1.2vh, 0.6rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: clamp(0.28rem, 0.75vh, 0.38rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-card {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        align-items: start;
        column-gap: 0.52rem;
        row-gap: 0.08rem;
        min-height: auto;
        padding: clamp(0.48rem, 1.25vh, 0.58rem) clamp(0.55rem, 2vw, 0.65rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-orb {
        grid-row: 1 / -1;
        grid-column: 1;
        align-self: center;
        width: clamp(1.85rem, 5vh, 2rem);
        height: clamp(1.85rem, 5vh, 2rem);
        margin-bottom: 0;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-label {
        grid-column: 2;
        grid-row: 1;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-value {
        grid-column: 2;
        grid-row: 2;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-desc {
        grid-column: 2;
        grid-row: 3;
    }

    .jg-desktop-phone .jg-meta-label,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-label {
        font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
        letter-spacing: 0.065em;
    }

    .jg-desktop-phone .jg-meta-value,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-value {
        font-size: clamp(1.125rem, 4.1vw, 1.28125rem);
        line-height: 1.12;
    }

    .jg-desktop-phone .jg-meta-desc,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-desc {
        display: block;
        overflow: visible;
        -webkit-line-clamp: unset;
        font-size: clamp(0.8125rem, 3.05vw, 0.875rem);
        line-height: 1.36;
        color: #475569;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-emoji {
        font-size: clamp(0.9375rem, 3.2vw, 1rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-protocol {
        padding: clamp(0.42rem, 1.1vh, 0.52rem) clamp(0.48rem, 1.8vw, 0.58rem);
    }

    .jg-desktop-phone .jg-meta-protocol-title,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-protocol-title {
        font-size: clamp(0.8125rem, 3.05vw, 0.875rem);
        line-height: 1.28;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-protocol-pills {
        gap: 0.22rem;
        margin-top: 0.28rem;
    }

    .jg-desktop-phone .jg-meta-protocol-pill,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-evade-chip {
        font-size: clamp(0.75rem, 2.75vw, 0.8125rem);
        padding: 0.22rem 0.46rem;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-evade {
        padding: clamp(0.38rem, 1vh, 0.48rem) clamp(0.45rem, 1.8vw, 0.55rem);
    }

    .jg-desktop-phone .jg-meta-evade-title,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-evade-title {
        font-size: clamp(0.8125rem, 3.05vw, 0.875rem);
        line-height: 1.3;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-evade-chips {
        gap: 0.22rem;
        margin-top: 0.24rem;
    }

    .jg-desktop-phone .jg-meta-disclaimer,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-disclaimer {
        font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
        line-height: 1.38;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-meta-foot {
        gap: clamp(0.28rem, 0.75vh, 0.38rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-med-proof-bar {
        gap: 0.5rem;
        padding: 0.44rem 0.68rem;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-med-proof-item {
        font-size: clamp(0.78125rem, 2.85vw, 0.84375rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-meta-scene .jg-med-proof-item svg {
        width: 0.9375rem;
        height: 0.9375rem;
    }

    /* Wizard conta — sua conta legível no frame do celular */
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-wizard-med-top {
        margin-bottom: clamp(0.1rem, 0.3vh, 0.16rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-wizard-med-prompt {
        font-size: clamp(1.0625rem, 3.95vw, 1.15625rem);
        line-height: 1.38;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-scene {
        margin-top: clamp(0.2rem, 0.55vh, 0.32rem);
        gap: clamp(0.25rem, 0.65vh, 0.38rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-stack {
        gap: clamp(0.32rem, 0.85vh, 0.42rem);
        padding: clamp(0.4rem, 1.05vh, 0.55rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-duo {
        gap: clamp(0.26rem, 0.7vh, 0.36rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card {
        gap: 0.22rem;
        padding: clamp(0.48rem, 1.25vh, 0.58rem) clamp(0.52rem, 1.9vw, 0.6rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card--compact {
        padding: clamp(0.44rem, 1.15vh, 0.52rem) clamp(0.48rem, 1.8vw, 0.55rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card-head {
        gap: 0.42rem;
        margin-bottom: clamp(0.14rem, 0.4vh, 0.2rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-orb {
        width: clamp(1.75rem, 4.8vh, 1.9rem);
        height: clamp(1.75rem, 4.8vh, 1.9rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-emoji {
        font-size: clamp(0.875rem, 3vw, 0.9375rem);
    }

    .jg-desktop-phone .jg-account-card-label,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card-label {
        font-size: clamp(0.875rem, 3.25vw, 0.9375rem);
        line-height: 1.28;
    }

    .jg-desktop-phone .jg-account-card-input,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-card-input {
        font-size: clamp(0.875rem, 3.15vw, 0.9375rem);
        line-height: 1.28;
    }

    .jg-desktop-phone .jg-account-confirmed-value {
        font-size: clamp(0.875rem, 3.15vw, 0.9375rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-cep {
        gap: clamp(0.26rem, 0.7vh, 0.34rem);
    }

    .jg-desktop-phone .jg-account-cep-preview-kicker {
        font-size: clamp(0.5625rem, 2vw, 0.625rem);
        letter-spacing: 0.065em;
    }

    .jg-desktop-phone .jg-account-cep-preview-line {
        font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
    }

    .jg-desktop-phone .jg-account-cep-preview-sub {
        font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
    }

    .jg-desktop-phone .jg-account-cep-status,
    .jg-desktop-phone .jg-account-cep-link {
        font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
    }

    .jg-desktop-phone .jg-account-privacy-label span {
        font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
        line-height: 1.38;
    }

    .jg-desktop-phone .jg-account-privacy-check {
        width: 0.9375rem;
        height: 0.9375rem;
    }

    .jg-desktop-phone .jg-account-error {
        font-size: clamp(0.625rem, 2.2vw, 0.6875rem);
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-account-scene .jg-account-foot {
        gap: clamp(0.28rem, 0.75vh, 0.38rem);
    }

    .jg-desktop-phone .jg-account-foot-note {
        font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
        line-height: 1.36;
    }

    .jg-welcome-foot {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.35rem, 1vh, 0.5rem);
        margin-top: auto;
        animation: jg-welcome-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
    }
    .jg-welcome-disclaimer {
        margin: 0;
        text-align: center;
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--jg-muted);
        line-height: 1.38;
    }
    .jg-welcome-trust {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.34rem;
        margin: 0;
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.025em;
        text-transform: uppercase;
        color: var(--jg-muted);
    }
    .jg-welcome-stars {
        display: inline-flex;
        gap: 0.06rem;
        color: #fbbf24;
    }
    .jg-welcome-foot .jg-welcome-stars svg {
        width: 0.72rem;
        height: 0.72rem;
    }
    .jg-welcome-trust strong {
        font-size: 1.06em;
        font-weight: 900;
        color: #0d9488;
    }
    @media (prefers-reduced-motion: reduce) {
        .jg-welcome-top,
        .jg-welcome-main,
        .jg-welcome-foot,
        .jg-welcome-feature { animation: none; }
        .jg-welcome-hero::before { animation: none; }
    }

    /* Stage: seu momento — escolha de jornada */
    .jg-scene--stage {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }
    .jg-stage-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        gap: clamp(0.45rem, 1.4vh, 0.75rem);
    }
    .jg-stage-top {
        display: flex;
        gap: 0.5rem;
        align-items: flex-start;
        flex-shrink: 0;
        animation: jg-stage-fade-up 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    @keyframes jg-stage-fade-up {
        from { opacity: 0; transform: translateY(10px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .jg-stage-kicker {
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--jg-muted);
        margin-bottom: 0.2rem;
    }
    .jg-stage-prompt {
        font-size: clamp(0.875rem, 3vw, 0.96875rem);
        font-weight: 800;
        line-height: 1.32;
        color: var(--jg-ink);
        margin: 0;
    }
    .jg-stage-sub {
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--jg-muted);
        line-height: 1.4;
        margin: 0.2rem 0 0;
    }
    .jg-stage-main {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
        animation: jg-stage-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.05s both;
    }
    .jg-stage-hero {
        position: relative;
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        border-radius: 1.35rem;
        padding: 2px;
        overflow: hidden;
    }
    .jg-stage-hero::before {
        content: '';
        position: absolute;
        inset: -120%;
        background: conic-gradient(from 210deg, transparent 0 22%, #a78bfa 32%, #38bdf8 44%, #34d399 56%, #6ee7b7 64%, transparent 76%);
        animation: jg-mirror-spin 8s linear infinite;
    }
    .jg-stage-hero-inner {
        position: relative;
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.5rem, 1.5vh, 0.85rem);
        border-radius: calc(1.35rem - 2px);
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.99) 0%, rgba(240, 253, 250, 0.97) 100%);
        padding: clamp(0.65rem, 1.8vh, 0.95rem) clamp(0.6rem, 1.6vw, 0.75rem);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-stage-hero-label {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        align-self: center;
        flex-shrink: 0;
        margin: 0;
        padding: 0.28rem 0.65rem;
        border-radius: 9999px;
        border: 1px solid rgba(186, 230, 253, 0.65);
        background: rgba(255, 255, 255, 0.88);
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #0d9488;
    }
    .jg-stage-list {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.45rem, 1.6vh, 0.8rem);
    }
    .jg-stage-card {
        --jg-stage-accent: #10b981;
        --jg-stage-accent-soft: #ecfdf5;
        --jg-stage-accent-mid: #d1fae5;
        --jg-stage-glow: rgba(16, 185, 129, 0.28);
        position: relative;
        display: flex;
        align-items: center;
        gap: 0.65rem;
        width: 100%;
        flex: 1 1 0;
        min-height: clamp(3.75rem, 14vh, 5.5rem);
        padding: clamp(0.65rem, 1.6vh, 1rem) 0.75rem;
        text-align: left;
        border-radius: 1.05rem;
        border: 1.5px solid rgba(186, 230, 253, 0.55);
        background: rgba(255, 255, 255, 0.94);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.95) inset,
            0 6px 20px -12px rgba(14, 116, 144, 0.18);
        transition:
            transform 0.18s cubic-bezier(0.22, 1, 0.36, 1),
            border-color 0.18s ease,
            box-shadow 0.18s ease,
            background 0.18s ease;
        animation: jg-stage-card-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
        animation-delay: calc(0.08s + (var(--jg-stage-i, 0) * 0.07s));
    }
    @keyframes jg-stage-card-in {
        from { opacity: 0; transform: translateY(12px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .jg-stage-card--ja_uso {
        --jg-stage-accent: #059669;
        --jg-stage-accent-soft: #ecfdf5;
        --jg-stage-accent-mid: #a7f3d0;
        --jg-stage-glow: rgba(5, 150, 105, 0.3);
    }
    .jg-stage-card--vou_comecar {
        --jg-stage-accent: #0284c7;
        --jg-stage-accent-soft: #eff6ff;
        --jg-stage-accent-mid: #bae6fd;
        --jg-stage-glow: rgba(2, 132, 199, 0.28);
    }
    .jg-stage-card--descobrindo {
        --jg-stage-accent: #7c3aed;
        --jg-stage-accent-soft: #f5f3ff;
        --jg-stage-accent-mid: #ddd6fe;
        --jg-stage-glow: rgba(124, 58, 237, 0.26);
    }
    .jg-stage-card:hover,
    .jg-stage-card:focus-visible {
        border-color: color-mix(in srgb, var(--jg-stage-accent) 45%, white);
        background: linear-gradient(145deg, #ffffff 0%, var(--jg-stage-accent-soft) 100%);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 1) inset,
            0 10px 28px -12px var(--jg-stage-glow);
        transform: translateY(-1px);
        outline: none;
    }
    .jg-stage-card:active {
        transform: scale(0.985);
    }
    .jg-stage-card__orb {
        display: flex;
        align-items: center;
        justify-content: center;
        width: clamp(2.65rem, 8vw, 3.1rem);
        height: clamp(2.65rem, 8vw, 3.1rem);
        flex-shrink: 0;
        border-radius: 0.9rem;
        color: var(--jg-stage-accent);
        background: linear-gradient(145deg, var(--jg-stage-accent-soft) 0%, var(--jg-stage-accent-mid) 100%);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.95),
            0 4px 14px -8px var(--jg-stage-glow);
    }
    .jg-stage-card__body {
        min-width: 0;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 0.12rem;
    }
    .jg-stage-card__label {
        display: block;
        font-size: clamp(0.8125rem, 2.6vw, 0.9375rem);
        font-weight: 900;
        line-height: 1.25;
        letter-spacing: -0.01em;
        color: var(--jg-ink);
    }
    .jg-stage-card__sub {
        display: block;
        font-size: clamp(0.625rem, 2vw, 0.6875rem);
        font-weight: 600;
        line-height: 1.35;
        color: var(--jg-soft);
    }
    .jg-stage-card__go {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.65rem;
        height: 1.65rem;
        flex-shrink: 0;
        border-radius: 9999px;
        color: var(--jg-stage-accent);
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid color-mix(in srgb, var(--jg-stage-accent) 22%, transparent);
        box-shadow: 0 2px 8px -4px var(--jg-stage-glow);
        transition: transform 0.18s ease, background 0.18s ease;
    }
    .jg-stage-card:hover .jg-stage-card__go,
    .jg-stage-card:focus-visible .jg-stage-card__go {
        transform: translateX(2px);
        background: var(--jg-stage-accent-soft);
    }
    .jg-stage-foot {
        flex-shrink: 0;
        margin-top: auto;
        padding-top: clamp(0.15rem, 0.8vh, 0.35rem);
        animation: jg-stage-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.28s both;
    }
    .jg-stage-trust {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.3rem;
        margin: 0;
        font-size: 0.5625rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--jg-muted);
        line-height: 1.2;
    }
    .jg-stage-trust strong {
        font-weight: 900;
        color: #0d9488;
    }
    @media (prefers-reduced-motion: reduce) {
        .jg-stage-top,
        .jg-stage-main,
        .jg-stage-foot,
        .jg-stage-card { animation: none; }
        .jg-stage-hero::before { animation: none; }
    }

    /* Concerns: prioridades — one-screen mobile */
    .jg-heloisa-avatar--sm {
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 0.85rem;
    }
    .jg-heloisa-bubble--compact {
        padding: 0.5rem 0.65rem;
        border-radius: 0.85rem 0.85rem 0.85rem 0.25rem;
    }
    .jg-btn--compact {
        min-height: 3.4rem;
        font-size: 1.15625rem;
        border-radius: 1rem;
    }

    /* Botões — mesmo tamanho no frame do celular (viewport largo ou estreito) */
    .jg-desktop-phone .jg-btn,
    .jg-desktop-phone .jg-btn--compact {
        font-size: clamp(1.125rem, 4.35vw, 1.21875rem);
        line-height: 1.3;
        letter-spacing: -0.01em;
        min-height: 3.55rem;
    }

    .jg-desktop-phone .jg-btn--compact {
        min-height: 3.65rem;
    }

    .jg-desktop-phone .jg-btn svg {
        width: 1.125rem;
        height: 1.125rem;
    }

    .jg-desktop-phone .jg-btn-ghost {
        min-height: 2.75rem;
        padding: 0 1.05rem;
        font-size: clamp(0.8125rem, 3vw, 0.9rem);
        gap: 0.38rem;
    }

    .jg-desktop-phone .jg-btn-ghost__icon {
        width: clamp(0.9rem, 3.2vw, 0.95rem);
        height: clamp(0.9rem, 3.2vw, 0.95rem);
    }

    /* Welcome — Vivi (frame celular, isolado) */
    .jg-desktop-phone .jg-scene--welcome .jg-welcome-heloisa-text {
        font-size: clamp(1rem, 3.55vw, 1.0625rem);
        line-height: 1.44;
    }

    .jg-desktop-phone .jg-scene--welcome .jg-welcome-sub {
        max-width: none;
        font-size: clamp(1rem, 3.75vw, 1.0625rem);
        line-height: 1.62;
        color: #475569;
    }

    /* Stage — cards «seu momento» (frame celular) */
    .jg-desktop-phone .jg-scene--stage .jg-stage-sub {
        font-size: clamp(0.9375rem, 3.45vw, 1rem);
        line-height: 1.46;
    }

    .jg-desktop-phone .jg-scene--stage .jg-stage-card__label {
        font-size: clamp(1.09375rem, 4.6vw, 1.15625rem);
        line-height: 1.34;
    }

    .jg-desktop-phone .jg-scene--stage .jg-stage-card__sub {
        font-size: clamp(1rem, 4.1vw, 1.0625rem);
        line-height: 1.46;
    }

    /* Barra de progresso — status + % (frame celular, todas as cenas) */
    .jg-desktop-phone .jg-progress-status {
        font-size: clamp(0.71875rem, 2.55vw, 0.78125rem);
        letter-spacing: 0.08em;
    }

    .jg-desktop-phone .jg-progress-percent {
        font-size: clamp(0.84375rem, 3.05vw, 0.90625rem);
        letter-spacing: 0.03em;
    }

    /* Tag Grátis — header (todas as cenas) */
    .jg-desktop-phone .jg-trust-pill {
        font-size: clamp(0.75rem, 2.75vw, 0.8125rem);
        letter-spacing: 0.08em;
        padding: 0.44rem 0.82rem;
        gap: 0.4rem;
    }

    .jg-desktop-phone .jg-trust-pill svg {
        width: 0.875rem;
        height: 0.875rem;
    }

    /* Logo Glipi — frame celular (tokens em journey-brand-logo-styles) */

    .jg-scene--concerns {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }
    .jg-concerns-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        gap: clamp(0.35rem, 1.2vh, 0.65rem);
    }
    .jg-concerns-top {
        display: flex;
        gap: 0.5rem;
        align-items: flex-start;
        flex-shrink: 0;
    }
    .jg-concerns-kicker {
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--jg-muted);
        margin-bottom: 0.2rem;
    }
    .jg-concerns-prompt {
        font-size: clamp(0.8125rem, 2.8vw, 0.875rem);
        font-weight: 800;
        line-height: 1.25;
        color: var(--jg-ink);
        margin: 0;
    }
    .jg-concerns-prompt .jg-concerns-sub {
        display: inline;
        font-size: 0.85em;
        font-weight: 600;
        color: var(--jg-muted);
        margin: 0;
    }

    /* Concerns — balão Vivi: legível no frame do celular (viewport largo ou estreito) */
    .jg-desktop-phone .jg-concerns-prompt {
        font-size: clamp(1.0625rem, 3.95vw, 1.15625rem);
        line-height: 1.38;
    }

    .jg-desktop-phone .jg-concerns-prompt .jg-concerns-sub {
        font-size: 0.9em;
        font-weight: 600;
        color: #64748b;
    }
    .jg-concerns-main {
        flex: 1;
        display: flex;
        flex-direction: column;
        min-height: 0;
        margin: clamp(0.35rem, 1.2vh, 0.55rem) 0;
        overflow: hidden;
    }
    .jg-concerns-hero {
        position: relative;
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        border-radius: 1.25rem;
        padding: 2px;
        overflow: hidden;
    }
    .jg-concerns-hero::before {
        content: '';
        position: absolute;
        inset: -120%;
        background: conic-gradient(from 90deg, transparent 0 25%, #6ee7b7 35%, #38bdf8 50%, #10b981 60%, transparent 72%);
        animation: jg-mirror-spin 7s linear infinite;
    }
    .jg-concerns-hero-inner {
        position: relative;
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        border-radius: calc(1.25rem - 2px);
        background: linear-gradient(160deg, rgba(255,255,255,0.98) 0%, rgba(240,253,250,0.96) 100%);
        padding: clamp(0.4rem, 1.2vh, 0.6rem);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-concerns-grid {
        flex: 1;
        min-height: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(3, minmax(0, 1fr));
        gap: clamp(0.3rem, 1vh, 0.45rem);
    }
    .jg-concern-tile {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        min-height: 0;
        height: 100%;
        padding: clamp(0.4rem, 1.2vh, 0.55rem) clamp(0.35rem, 1vw, 0.5rem);
        border-radius: 0.95rem;
        border: 1.5px solid rgba(186, 230, 253, 0.65);
        background: rgba(255, 255, 255, 0.92);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
        box-shadow: 0 2px 12px -8px rgba(14, 116, 144, 0.14);
    }
    .jg-concern-tile:active { transform: scale(0.98); }
    .jg-concern-tile.is-on {
        border-color: #10b981;
        background: linear-gradient(165deg, #ecfdf5 0%, #f0fdfa 100%);
        box-shadow:
            0 0 0 1px rgba(16, 185, 129, 0.2),
            0 8px 22px -10px rgba(16, 185, 129, 0.35);
    }
    .jg-concern-body {
        display: flex;
        flex: 1;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: clamp(0.3rem, 1vh, 0.45rem);
        min-height: 0;
        width: 100%;
        padding: 0.1rem 0.15rem;
    }
    .jg-concern-check {
        position: absolute;
        top: 0.35rem;
        right: 0.35rem;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.05rem;
        height: 1.05rem;
        border-radius: 9999px;
        background: linear-gradient(135deg, #10b981, #0d9488);
        color: #fff;
        box-shadow: 0 2px 6px -2px rgba(16, 185, 129, 0.5);
        animation: jg-concern-check-pop 0.22s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    @keyframes jg-concern-check-pop {
        from { opacity: 0; transform: scale(0.5); }
        to { opacity: 1; transform: scale(1); }
    }
    .jg-concern-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: clamp(2rem, 5.5vh, 2.4rem);
        height: clamp(2rem, 5.5vh, 2.4rem);
        border-radius: 0.75rem;
        flex-shrink: 0;
        background: linear-gradient(145deg, #e0f2fe, #ecfdf5);
        color: #059669;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    }
    .jg-concern-tile.is-on .jg-concern-icon {
        background: linear-gradient(145deg, #d1fae5, #a7f3d0);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.7),
            0 4px 12px -4px rgba(16, 185, 129, 0.4);
    }
    .jg-concern-label {
        display: block;
        width: 100%;
        font-size: clamp(0.625rem, 2.1vw, 0.6875rem);
        font-weight: 800;
        line-height: 1.2;
        letter-spacing: -0.01em;
        text-align: center;
        color: #0f172a;
        hyphens: auto;
    }
    .jg-concerns-foot {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.35rem, 1vh, 0.5rem);
    }
    .jg-concerns-counter {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        flex-shrink: 0;
    }
    .jg-concerns-slots {
        display: flex;
        gap: 0.3rem;
    }
    .jg-concerns-slot {
        width: 1.5rem;
        height: 0.35rem;
        border-radius: 9999px;
        background: rgba(148, 163, 184, 0.35);
        transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .jg-concerns-slot.is-filled {
        background: linear-gradient(90deg, #38bdf8, #10b981);
        box-shadow: 0 0 8px rgba(16, 185, 129, 0.4);
    }
    .jg-concerns-counter-text {
        font-size: 0.625rem;
        font-weight: 700;
        color: var(--jg-muted);
        line-height: 1.2;
    }
    .jg-concerns-counter-text strong {
        color: #059669;
        font-weight: 800;
    }

    /* Pillars: convencimento high-tech (carousel) */
    .jg-pillar-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        gap: clamp(0.35rem, 1.2vh, 0.65rem);
    }
    .jg-pillar-heloisa {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex-shrink: 0;
    }
    .jg-pillar-heloisa-text {
        animation: jg-pillar-text-swap 0.18s ease-out both;
    }
    @keyframes jg-pillar-text-swap {
        from { opacity: 0; transform: translateY(4px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .jg-pillar-step {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: var(--jg-gap-scene-inner);
        flex-shrink: 0;
    }
    .jg-pillar-step-label {
        font-size: clamp(0.6875rem, 2.2vw, 0.75rem);
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #0d9488;
    }
    .jg-pillar-step-count {
        font-size: 0.6875rem;
        font-weight: 800;
        color: var(--jg-muted);
        font-variant-numeric: tabular-nums;
    }
    .jg-pillar-step-count strong {
        color: #059669;
    }
    .jg-pillar-main {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 0;
        overflow: hidden;
        margin: var(--jg-gap-scene-inner) 0;
    }
    .jg-pillar-hero {
        position: relative;
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        border-radius: 1.5rem;
        padding: 2px;
        overflow: hidden;
    }
    .jg-pillar-hero--swap {
        animation: jg-pillar-swap-in 0.22s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    @keyframes jg-pillar-swap-in {
        from { opacity: 0; transform: translateX(10px) scale(0.98); }
        to { opacity: 1; transform: translateX(0) scale(1); }
    }
    .jg-pillar-hero::before {
        content: '';
        position: absolute;
        inset: -120%;
        background: conic-gradient(from 180deg, transparent 0 20%, #6ee7b7 30%, #38bdf8 45%, #10b981 55%, transparent 70%);
        animation: jg-mirror-spin 6s linear infinite;
    }
    .jg-pillar-hero-inner {
        position: relative;
        flex: 1;
        min-height: 0;
        border-radius: calc(1.5rem - 2px);
        background: linear-gradient(160deg, rgba(255,255,255,0.98) 0%, rgba(236,253,245,0.95) 100%);
        padding: clamp(1.25rem, 3.8vh, 1.65rem) clamp(1rem, 3vw, 1.25rem);
        text-align: center;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-pillar-icon-orbit {
        position: relative;
        width: clamp(3.5rem, 10vh, 4.75rem);
        height: clamp(3.5rem, 10vh, 4.75rem);
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 1.35rem;
        background: linear-gradient(145deg, #e0f2fe, #ecfdf5);
        color: #059669;
        box-shadow: 0 12px 32px -10px rgba(16, 185, 129, 0.35);
    }
    .jg-pillar-icon-orbit::before {
        content: '';
        position: absolute;
        inset: -5px;
        border-radius: 1.45rem;
        border: 2px dashed rgba(16, 185, 129, 0.35);
        animation: jg-mirror-spin 10s linear infinite;
    }
    @keyframes jg-pillar-icon-pop {
        from { opacity: 0; transform: scale(0.85); }
        to { opacity: 1; transform: scale(1); }
    }
    .jg-pillar-hero--swap .jg-pillar-icon-orbit {
        animation: jg-pillar-icon-pop 0.2s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .jg-pillar-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin-top: clamp(0.5rem, 1.4vh, 1rem);
        font-size: 0.625rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #0284c7;
    }
    .jg-pillar-title {
        position: relative;
        z-index: 1;
        margin-top: 0.5rem;
        font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif;
        font-size: clamp(1.4rem, 4.8vw, 1.7rem);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.12;
        background: linear-gradient(120deg, #0f172a 0%, #0369a1 50%, #059669 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }
    .jg-pillar-highlights {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.4rem;
        margin-top: clamp(0.45rem, 1.2vh, 1rem);
    }
    .jg-pillar-highlight {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        padding: 0.35rem 0.6rem;
        border-radius: 9999px;
        font-size: 0.625rem;
        font-weight: 800;
        color: #047857;
        background: rgba(255, 255, 255, 0.9);
        border: 1px solid rgba(110, 231, 183, 0.5);
        box-shadow: 0 2px 8px -4px rgba(16, 185, 129, 0.2);
    }
    .jg-pillar-hero--swap .jg-pillar-highlight {
        animation: jg-mirror-pain-in 0.16s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .jg-pillar-hero--swap .jg-pillar-highlight:nth-child(1) { animation-delay: 0.04s; }
    .jg-pillar-hero--swap .jg-pillar-highlight:nth-child(2) { animation-delay: 0.08s; }
    .jg-pillar-hero--swap .jg-pillar-highlight:nth-child(3) { animation-delay: 0.12s; }
    .jg-pillar-body {
        position: relative;
        z-index: 1;
        margin-top: clamp(0.4rem, 1.1vh, 1rem);
        font-size: clamp(0.875rem, 2.75vw, 0.9375rem);
        font-weight: 600;
        line-height: 1.52;
        color: var(--jg-soft);
    }
    .jg-pillar-nav {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        margin-top: var(--jg-gap-scene-inner);
        flex-shrink: 0;
    }
    .jg-pillar-nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.25rem;
        min-width: 4.5rem;
        padding: 0.25rem 0.15rem;
        border: none;
        background: transparent;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.25s ease;
    }
    .jg-pillar-nav-item.is-on { transform: scale(1.05); }
    .jg-pillar-nav-item:not(.is-on):hover .jg-pillar-nav-label {
        color: #0d9488;
    }
    .jg-pillar-nav-dot {
        height: 6px;
        width: 6px;
        border-radius: 9999px;
        background: rgba(148, 163, 184, 0.45);
        transition: all 0.18s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .jg-pillar-nav-item.is-on .jg-pillar-nav-dot {
        width: 2rem;
        background: linear-gradient(90deg, #38bdf8, #10b981);
        box-shadow: 0 0 12px rgba(16, 185, 129, 0.5);
    }
    .jg-pillar-nav-label {
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--jg-muted);
        transition: color 0.25s;
    }
    .jg-pillar-nav-item.is-on .jg-pillar-nav-label {
        color: #059669;
    }
    .jg-pillar-foot {
        flex-shrink: 0;
    }

    /* Match: benefícios personalizados premium */
    .jg-scene--match {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }
    .jg-match-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
    }
    .jg-match-heloisa {
        display: flex;
        align-items: flex-start;
        gap: 0.5rem;
        flex-shrink: 0;
    }
    .jg-match-heloisa-text {
        font-size: clamp(0.6875rem, 2.4vw, 0.75rem);
        font-weight: 600;
        line-height: 1.35;
        color: var(--jg-soft);
        animation: jg-match-text-swap 0.18s ease-out both;
    }

    /* Vivi — desktop rail phone frame (lg+); mobile usa regras por cena em @media max-width 1023px */
    @media (min-width: 1024px) {
        .jg-desktop-phone .jg-pillar-heloisa-text,
        .jg-desktop-phone .jg-match-heloisa-text {
            font-size: clamp(1.0625rem, 3.95vw, 1.125rem);
            line-height: 1.44;
        }
    }

    /* Match — depoimento no card (frame do celular) */
    .jg-desktop-phone .jg-match-quote p {
        font-size: clamp(1rem, 3.75vw, 1.0625rem);
        line-height: 1.42;
    }

    .jg-desktop-phone .jg-match-quote footer {
        font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
        letter-spacing: 0.08em;
    }

    /* Commit — protocolo grátis (frame do celular) */
    .jg-desktop-phone .jg-commit-prompt {
        font-size: clamp(1.0625rem, 3.95vw, 1.15625rem);
        line-height: 1.34;
    }

    .jg-desktop-phone .jg-commit-sub {
        font-size: clamp(1rem, 3.75vw, 1.0625rem);
        line-height: 1.42;
        color: #64748b;
    }

    .jg-desktop-phone .jg-commit-free-pill {
        font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
        letter-spacing: 0.1em;
        padding: 0.36rem 0.72rem;
    }

    .jg-desktop-phone .jg-commit-free-pill .jg-icon,
    .jg-desktop-phone .jg-commit-free-pill svg {
        width: 0.875rem;
        height: 0.875rem;
    }

    .jg-desktop-phone .jg-commit-rating-text {
        font-size: clamp(0.9375rem, 3.45vw, 1rem);
        line-height: 1.32;
    }

    .jg-desktop-phone .jg-commit-rating-text strong {
        font-size: clamp(1.25rem, 4.5vw, 1.375rem);
    }

    .jg-desktop-phone .jg-commit-stars svg {
        width: 1rem;
        height: 1rem;
    }

    .jg-desktop-phone .jg-commit-stat-value {
        font-size: clamp(1.2rem, 4.2vw, 1.35rem);
    }

    .jg-desktop-phone .jg-commit-stat-label {
        font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
        letter-spacing: 0.06em;
    }

    .jg-desktop-phone .jg-commit-stat-icon {
        width: 2.15rem;
        height: 2.15rem;
    }

    .jg-desktop-phone .jg-commit-stat-icon .jg-icon,
    .jg-desktop-phone .jg-commit-stat-icon svg {
        width: 1.05rem;
        height: 1.05rem;
    }

    .jg-desktop-phone .jg-commit-benefit-text {
        font-size: clamp(1rem, 3.75vw, 1.0625rem);
        line-height: 1.3;
        color: #334155;
    }

    .jg-desktop-phone .jg-commit-benefit-icon {
        width: 2.15rem;
        height: 2.15rem;
    }

    .jg-desktop-phone .jg-commit-benefit-icon .jg-icon,
    .jg-desktop-phone .jg-commit-benefit-icon svg {
        width: 1.05rem;
        height: 1.05rem;
    }

    .jg-desktop-phone .jg-commit-trust {
        font-size: clamp(0.78125rem, 2.75vw, 0.84375rem);
        letter-spacing: 0.06em;
    }

    .jg-desktop-phone .jg-commit-trust .jg-icon,
    .jg-desktop-phone .jg-commit-trust svg {
        width: 0.875rem;
        height: 0.875rem;
    }

    /* Specialist — frame do celular (tipografia + vídeo visível) */
    @media (max-width: 1023px) {
        .jg-desktop-phone .jg-specialist-validado-badge {
            font-size: clamp(0.8125rem, 3.05vw, 0.875rem);
            line-height: 1.2;
            letter-spacing: 0.1em;
            padding: 0.34rem 0.72rem;
        }
    }

    .jg-desktop-phone .jg-scene--specialist .jg-specialist-title,
    .jg-desktop-phone .jg-specialist-title {
        font-size: clamp(1.2rem, 4.6vw, 1.375rem);
        line-height: 1.18;
    }

    .jg-desktop-phone .jg-scene--specialist .jg-specialist-sub,
    .jg-desktop-phone .jg-specialist-sub {
        font-size: clamp(1rem, 3.75vw, 1.0625rem);
        line-height: 1.42;
        color: #64748b;
    }

    .jg-desktop-phone .jg-scene--specialist .jg-specialist-body,
    .jg-desktop-phone .jg-scene--specialist .jg-specialist-scene .jg-specialist-body {
        overflow: hidden;
    }

    .jg-desktop-phone .jg-scene--specialist .jg-phone-device,
    .jg-desktop-phone .jg-scene--specialist .jg-phone-device {
        --jg-specialist-phone-h: min(32lvh, calc(100lvh - 19.75rem), 268px);
        width: min(calc(var(--jg-specialist-phone-h) * 9 / 16), 66vw, 210px);
    }

    .jg-desktop-phone .jg-scene--specialist .jg-specialist-phone-caption,
    .jg-desktop-phone .jg-specialist-phone-caption {
        font-size: clamp(0.75rem, 2.85vw, 0.8125rem);
    }

    .jg-desktop-phone .jg-scene--specialist .jg-specialist-specialty,
    .jg-desktop-phone .jg-specialist-specialty {
        font-size: clamp(0.6875rem, 2.55vw, 0.75rem);
    }

    .jg-desktop-phone .jg-scene--specialist .jg-specialist-name,
    .jg-desktop-phone .jg-specialist-name {
        font-size: clamp(1rem, 3.75vw, 1.0625rem);
    }

    .jg-desktop-phone .jg-scene--specialist .jg-specialist-crm,
    .jg-desktop-phone .jg-specialist-crm {
        font-size: clamp(0.875rem, 3.2vw, 0.9375rem);
    }

    .jg-desktop-phone .jg-scene--specialist .jg-specialist-disclaimer,
    .jg-desktop-phone .jg-specialist-disclaimer {
        font-size: clamp(0.78125rem, 2.75vw, 0.84375rem);
    }

    .jg-match-heloisa-text strong {
        color: var(--jg-copilot-name);
        font-weight: 800;
    }
    @keyframes jg-match-text-swap {
        from { opacity: 0; transform: translateY(4px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .jg-match-step {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: clamp(0.4rem, 1.2vh, 0.55rem);
        flex-shrink: 0;
    }
    .jg-match-step-label {
        font-size: 0.625rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #0284c7;
    }
    .jg-match-step-count {
        font-size: 0.6875rem;
        font-weight: 800;
        color: var(--jg-muted);
        font-variant-numeric: tabular-nums;
    }
    .jg-match-step-count strong {
        color: #059669;
    }
    .jg-match-main {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 0;
        margin: clamp(0.35rem, 1.2vh, 0.55rem) 0;
        overflow: hidden;
    }
    .jg-match-hero {
        position: relative;
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        border-radius: 1.35rem;
        padding: 2px;
        overflow: hidden;
    }
    .jg-match-hero--swap {
        animation: jg-match-swap-in 0.22s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    @keyframes jg-match-swap-in {
        from { opacity: 0; transform: translateX(10px) scale(0.98); }
        to { opacity: 1; transform: translateX(0) scale(1); }
    }
    .jg-match-hero::before {
        content: '';
        position: absolute;
        inset: -120%;
        background: conic-gradient(from 120deg, transparent 0 22%, #6ee7b7 32%, #38bdf8 48%, #10b981 58%, transparent 68%);
        animation: jg-mirror-spin 6.5s linear infinite;
    }
    .jg-match-hero-inner {
        position: relative;
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        border-radius: calc(1.35rem - 2px);
        background: linear-gradient(165deg, rgba(255,255,255,0.98) 0%, rgba(240,253,250,0.96) 55%, rgba(236,253,245,0.94) 100%);
        padding: clamp(0.85rem, 2.5vh, 1.15rem) clamp(0.85rem, 3vw, 1.1rem);
        text-align: center;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-match-hero-inner::after {
        content: '';
        position: absolute;
        top: -35%;
        right: -15%;
        width: 50%;
        height: 50%;
        border-radius: 9999px;
        background: radial-gradient(circle, rgba(56,189,248,0.1), transparent 70%);
        pointer-events: none;
    }
    .jg-match-icon-orbit {
        position: relative;
        z-index: 1;
        width: clamp(3.5rem, 10vh, 4.25rem);
        height: clamp(3.5rem, 10vh, 4.25rem);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 1.2rem;
        background: linear-gradient(145deg, #e0f2fe, #ecfdf5);
        color: #059669;
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, 0.9),
            0 12px 28px -10px rgba(16, 185, 129, 0.35);
    }
    .jg-match-icon-orbit::before {
        content: '';
        position: absolute;
        inset: -6px;
        border-radius: 1.35rem;
        background: conic-gradient(from 0deg, rgba(56,189,248,0.35), rgba(16,185,129,0.35), rgba(56,189,248,0.35));
        opacity: 0.45;
        filter: blur(6px);
        z-index: -1;
    }
    .jg-match-hero--swap .jg-match-icon-orbit {
        animation: jg-pillar-icon-pop 0.2s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .jg-match-eyebrow {
        position: relative;
        z-index: 1;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin-top: clamp(0.55rem, 1.5vh, 0.75rem);
        font-size: 0.625rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #0284c7;
    }
    .jg-match-title {
        position: relative;
        z-index: 1;
        margin-top: 0.35rem;
        font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif;
        font-size: clamp(1.15rem, 4.2vw, 1.4rem);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.15;
        background: linear-gradient(120deg, #0f172a 0%, #0369a1 45%, #059669 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }
    .jg-match-body {
        position: relative;
        z-index: 1;
        margin-top: clamp(0.4rem, 1.2vh, 0.55rem);
        max-width: 18.5rem;
        font-size: clamp(0.875rem, 2.75vw, 0.9375rem);
        font-weight: 600;
        line-height: 1.52;
        color: var(--jg-soft);
    }
    .jg-match-highlights {
        position: relative;
        z-index: 1;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.35rem;
        margin-top: clamp(0.45rem, 1.3vh, 0.65rem);
    }
    .jg-match-highlight {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        padding: 0.3rem 0.55rem;
        border-radius: 9999px;
        font-size: 0.5625rem;
        font-weight: 800;
        color: #047857;
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(110, 231, 183, 0.45);
        box-shadow: 0 2px 8px -4px rgba(16, 185, 129, 0.18);
    }
    .jg-match-hero--swap .jg-match-highlight {
        animation: jg-mirror-pain-in 0.16s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .jg-match-hero--swap .jg-match-highlight:nth-child(1) { animation-delay: 0.04s; }
    .jg-match-hero--swap .jg-match-highlight:nth-child(2) { animation-delay: 0.08s; }
    .jg-match-quote {
        position: relative;
        z-index: 1;
        width: 100%;
        margin: clamp(0.55rem, 1.5vh, 0.75rem) 0 0;
        padding: clamp(0.55rem, 1.5vh, 0.7rem) 0.75rem 0.55rem;
        border-radius: 1rem;
        background: linear-gradient(135deg, rgba(236,253,245,0.95), rgba(240,249,255,0.95));
        border: 1px solid rgba(167, 243, 208, 0.55);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
        text-align: left;
    }
    .jg-match-quote-mark {
        position: absolute;
        top: 0.15rem;
        left: 0.55rem;
        font-family: 'Plus Jakarta Sans', Georgia, serif;
        font-size: 1.75rem;
        font-weight: 800;
        line-height: 1;
        color: rgba(16, 185, 129, 0.35);
        pointer-events: none;
    }
    .jg-match-quote p {
        position: relative;
        margin: 0;
        padding-left: 0.85rem;
        font-size: clamp(0.6875rem, 2.2vw, 0.75rem);
        font-weight: 700;
        font-style: italic;
        line-height: 1.4;
        color: #047857;
    }
    .jg-match-quote footer {
        display: block;
        margin-top: 0.35rem;
        padding-left: 0.85rem;
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #64748b;
        font-style: normal;
    }
    .jg-match-nav {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        margin-top: clamp(0.4rem, 1.2vh, 0.55rem);
        flex-shrink: 0;
    }
    .jg-match-nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.2rem;
        min-width: 3.25rem;
        padding: 0.2rem 0.1rem;
        border: none;
        background: transparent;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.2s ease;
    }
    .jg-match-nav-item.is-on { transform: scale(1.05); }
    .jg-match-nav-dot {
        height: 6px;
        width: 6px;
        border-radius: 9999px;
        background: rgba(148, 163, 184, 0.45);
        transition: all 0.18s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .jg-match-nav-item.is-on .jg-match-nav-dot {
        width: 1.65rem;
        background: linear-gradient(90deg, #38bdf8, #10b981);
        box-shadow: 0 0 10px rgba(16, 185, 129, 0.45);
    }
    .jg-match-nav-label {
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--jg-muted);
        transition: color 0.2s;
        max-width: 4.5rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .jg-match-nav-item.is-on .jg-match-nav-label {
        color: #059669;
    }
    .jg-match-foot {
        flex-shrink: 0;
    }

    /* Commit: protocolo grátis premium */
    .jg-scene--commit {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }
    .jg-commit-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        gap: clamp(0.35rem, 1.2vh, 0.65rem);
    }
    .jg-commit-top {
        display: flex;
        gap: 0.5rem;
        align-items: flex-start;
        flex-shrink: 0;
    }
    .jg-commit-kicker {
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--jg-muted);
        margin-bottom: 0.2rem;
    }
    .jg-commit-prompt {
        font-size: clamp(0.8125rem, 2.8vw, 0.875rem);
        font-weight: 800;
        line-height: 1.3;
        color: var(--jg-ink);
        margin: 0;
    }
    .jg-commit-prompt strong {
        color: #059669;
        font-weight: 900;
    }
    .jg-commit-sub {
        font-size: 0.6875rem;
        font-weight: 600;
        line-height: 1.3;
        color: var(--jg-muted);
        margin: 0.2rem 0 0;
    }
    .jg-commit-main {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 0;
        gap: clamp(0.4rem, 1.2vh, 0.6rem);
        margin: clamp(0.35rem, 1.2vh, 0.55rem) 0;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-commit-hero {
        position: relative;
        flex-shrink: 0;
        border-radius: 1.25rem;
        padding: 2px;
        overflow: hidden;
    }
    .jg-commit-hero::before {
        content: '';
        position: absolute;
        inset: -120%;
        background: conic-gradient(from 200deg, transparent 0 22%, #6ee7b7 32%, #38bdf8 48%, #10b981 58%, transparent 68%);
        animation: jg-mirror-spin 7s linear infinite;
    }
    .jg-commit-hero-inner {
        position: relative;
        border-radius: calc(1.25rem - 2px);
        background: linear-gradient(165deg, rgba(255,255,255,0.98) 0%, rgba(240,253,250,0.96) 100%);
        padding: clamp(0.65rem, 2vh, 0.9rem) clamp(0.75rem, 2.5vw, 1rem);
        text-align: center;
    }
    .jg-commit-free-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.3rem 0.65rem;
        border-radius: 9999px;
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #047857;
        background: linear-gradient(135deg, rgba(236,253,245,0.95), rgba(240,249,255,0.95));
        border: 1px solid rgba(110, 231, 183, 0.55);
        box-shadow: 0 2px 10px -4px rgba(16, 185, 129, 0.25);
    }
    .jg-commit-rating {
        margin-top: clamp(0.5rem, 1.4vh, 0.7rem);
    }
    .jg-commit-stars {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.1rem;
        color: #f59e0b;
        filter: drop-shadow(0 1px 2px rgba(245, 158, 11, 0.25));
    }
    .jg-commit-rating-text {
        margin: 0.25rem 0 0;
        font-size: clamp(0.6875rem, 2.2vw, 0.75rem);
        font-weight: 600;
        color: var(--jg-soft);
        line-height: 1.3;
    }
    .jg-commit-rating-text strong {
        font-size: clamp(1rem, 3.2vw, 1.125rem);
        font-weight: 900;
        color: #0f172a;
        font-variant-numeric: tabular-nums;
    }
    .jg-commit-stats {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 0.5rem;
        margin-top: clamp(0.55rem, 1.5vh, 0.75rem);
        padding-top: clamp(0.55rem, 1.5vh, 0.75rem);
        border-top: 1px solid rgba(186, 230, 253, 0.45);
    }
    .jg-commit-stat {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.15rem;
        min-width: 0;
    }
    .jg-commit-stat-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 0.6rem;
        background: linear-gradient(145deg, #e0f2fe, #ecfdf5);
        color: #059669;
    }
    .jg-commit-stat-value {
        font-size: clamp(1rem, 3.2vw, 1.15rem);
        font-weight: 900;
        line-height: 1.1;
        font-variant-numeric: tabular-nums;
        background: linear-gradient(120deg, #0284c7, #059669);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }
    .jg-commit-stat-label {
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--jg-muted);
        line-height: 1.2;
        text-align: center;
    }
    .jg-commit-stat-divider {
        width: 1px;
        height: 2.75rem;
        background: linear-gradient(180deg, transparent, rgba(148, 163, 184, 0.35), transparent);
    }
    .jg-commit-benefits {
        display: flex;
        flex-direction: column;
        gap: clamp(0.3rem, 0.9vh, 0.45rem);
        margin: 0;
        padding: 0;
        list-style: none;
        flex-shrink: 0;
    }
    .jg-commit-benefit {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        padding: clamp(0.4rem, 1.1vh, 0.5rem) 0.65rem;
        border-radius: 0.85rem;
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(186, 230, 253, 0.5);
        box-shadow: 0 2px 10px -8px rgba(14, 116, 144, 0.12);
    }
    .jg-commit-benefit-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.85rem;
        height: 1.85rem;
        border-radius: 0.6rem;
        flex-shrink: 0;
        background: linear-gradient(145deg, #ecfdf5, #e0f2fe);
        color: #059669;
    }
    .jg-commit-benefit-text {
        font-size: clamp(0.6875rem, 2.2vw, 0.75rem);
        font-weight: 700;
        line-height: 1.25;
        color: var(--jg-soft);
    }
    .jg-commit-foot {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.35rem, 1vh, 0.5rem);
    }
    .jg-commit-trust {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        margin: 0;
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #059669;
        line-height: 1.2;
    }

    /* Specialist: depoimento da médica (batida 8) */
    .jg-scene--specialist {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }
    .jg-specialist-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        gap: clamp(0.4rem, 1.2vh, 0.65rem);
    }
    .jg-specialist-head {
        flex-shrink: 0;
        text-align: center;
        animation: jg-specialist-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    @keyframes jg-specialist-fade-up {
        from { opacity: 0; transform: translateY(10px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .jg-specialist-kicker-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.28rem 0.65rem;
        border-radius: 9999px;
        border: 1px solid rgba(139, 92, 246, 0.28);
        background: linear-gradient(135deg, rgba(237, 233, 254, 0.92), rgba(255, 255, 255, 0.88));
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #6d28d9;
        box-shadow: 0 4px 14px -8px rgba(109, 40, 217, 0.35);
    }
    .jg-specialist-title {
        margin: 0.45rem 0 0;
        font-size: clamp(1.02rem, 4.1vw, 1.18rem);
        font-weight: 900;
        line-height: 1.22;
        letter-spacing: -0.025em;
        color: var(--jg-ink);
    }
    .jg-specialist-title-accent {
        white-space: nowrap;
        background: linear-gradient(120deg, #7c3aed 0%, #0d9488 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }
    .jg-specialist-sub {
        margin: 0.3rem auto 0;
        max-width: 20rem;
        font-size: 0.6875rem;
        line-height: 1.45;
        color: var(--jg-soft);
    }
    .jg-specialist-body {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.45rem, 1.2vh, 0.6rem);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .jg-specialist-body::-webkit-scrollbar { display: none; }
    .jg-specialist-phone-stage {
        position: relative;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0.15rem 0 0;
        animation: jg-specialist-fade-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.06s both;
    }
    .jg-specialist-phone-glow {
        position: absolute;
        top: 50%;
        left: 50%;
        width: min(88%, 260px);
        height: min(72%, 300px);
        transform: translate(-50%, -52%);
        border-radius: 50%;
        background:
            radial-gradient(ellipse 70% 55% at 50% 45%, rgba(124, 58, 237, 0.22), transparent 68%),
            radial-gradient(ellipse 55% 45% at 55% 60%, rgba(13, 148, 136, 0.18), transparent 70%);
        filter: blur(18px);
        pointer-events: none;
    }
    .jg-phone-device {
        --jg-specialist-phone-h: min(36lvh, 300px);
        position: relative;
        width: min(calc(var(--jg-specialist-phone-h) * 9 / 16), 74vw, 228px);
        max-width: 100%;
    }
    .jg-phone-device__btn {
        position: absolute;
        z-index: 2;
        background: linear-gradient(180deg, #52525b 0%, #27272a 100%);
        border-radius: 2px 0 0 2px;
        box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.08);
    }
    .jg-phone-device__btn--silence {
        left: -2px;
        top: 17%;
        width: 3px;
        height: 24px;
    }
    .jg-phone-device__btn--volume-up {
        left: -2px;
        top: 26%;
        height: 34px;
        width: 3px;
        border-radius: 2px 0 0 2px;
    }
    .jg-phone-device__btn--volume-down {
        left: -2px;
        top: 36%;
        height: 34px;
        width: 3px;
        border-radius: 2px 0 0 2px;
    }
    .jg-phone-device__frame {
        position: relative;
        border-radius: 2rem;
        padding: 3px;
        background: linear-gradient(155deg, #52525b 0%, #18181b 38%, #09090b 100%);
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, 0.1) inset,
            0 0 0 1px rgba(15, 23, 42, 0.06),
            0 28px 56px -22px rgba(15, 23, 42, 0.42),
            0 14px 32px -14px rgba(109, 40, 217, 0.22);
    }
    .jg-phone-device__frame::after {
        content: '';
        position: absolute;
        inset: 1px;
        border-radius: calc(2rem - 1px);
        border: 1px solid rgba(255, 255, 255, 0.06);
        pointer-events: none;
    }
    .jg-phone-device__screen {
        position: relative;
        overflow: hidden;
        border-radius: calc(2rem - 3px);
        background: #030712;
    }
    .jg-phone-device__island {
        position: absolute;
        top: 0.5rem;
        left: 50%;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 28%;
        min-width: 4.5rem;
        max-width: 5.75rem;
        height: 1.35rem;
        padding-right: 0.45rem;
        transform: translateX(-50%);
        border-radius: 9999px;
        background: #000;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05);
        pointer-events: none;
    }
    .jg-phone-device__island-cam {
        width: 0.45rem;
        height: 0.45rem;
        border-radius: 9999px;
        background: radial-gradient(circle at 35% 35%, #1e293b 0%, #020617 55%, #0f172a 100%);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
    }
    .jg-phone-device__video {
        aspect-ratio: 9 / 16;
        width: 100%;
        height: var(--jg-specialist-phone-h);
        max-height: var(--jg-specialist-phone-h);
        background: #030712;
    }
    .jg-phone-device__player {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        background: #030712;
    }
    .jg-phone-device__fallback {
        padding: 1rem;
        font-size: 0.6875rem;
        text-align: center;
        color: #cbd5e1;
    }
    .jg-phone-device__home {
        position: absolute;
        bottom: 0.45rem;
        left: 50%;
        z-index: 3;
        width: 32%;
        height: 0.22rem;
        transform: translateX(-50%);
        border-radius: 9999px;
        background: rgba(255, 255, 255, 0.38);
        pointer-events: none;
    }
    .jg-specialist-phone-caption {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin: 0.45rem 0 0;
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--jg-muted);
    }
    .jg-specialist-card {
        flex-shrink: 0;
        position: relative;
        border-radius: 1.15rem;
        padding: 1px;
        overflow: hidden;
        animation: jg-specialist-fade-up 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
    }
    .jg-specialist-card::before {
        content: '';
        position: absolute;
        inset: -80%;
        background: conic-gradient(from 200deg, transparent 0 30%, rgba(124, 58, 237, 0.35) 42%, rgba(13, 148, 136, 0.4) 55%, transparent 68%);
        animation: jg-specialist-card-shimmer 6s linear infinite;
    }
    @keyframes jg-specialist-card-shimmer {
        to { transform: rotate(360deg); }
    }
    @media (prefers-reduced-motion: reduce) {
        .jg-specialist-head,
        .jg-specialist-phone-stage,
        .jg-specialist-card,
        .jg-specialist-foot { animation: none; }
        .jg-specialist-card::before { animation: none; opacity: 0.35; }
    }
    .jg-specialist-card-inner {
        position: relative;
        border-radius: calc(1.15rem - 1px);
        padding: 0.7rem 0.8rem;
        background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(240, 253, 250, 0.96) 100%);
        box-shadow: 0 10px 28px -18px rgba(109, 40, 217, 0.28);
    }
    .jg-specialist-identity {
        display: flex;
        gap: 0.6rem;
        align-items: flex-start;
    }
    .jg-specialist-badge {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.35rem;
        height: 2.35rem;
        flex-shrink: 0;
        border-radius: 0.75rem;
        background: linear-gradient(135deg, #7c3aed, #0d9488);
        font-size: 1rem;
        box-shadow: 0 8px 18px -10px rgba(124, 58, 237, 0.65);
    }
    .jg-specialist-specialty {
        margin: 0;
        font-size: 0.5rem;
        font-weight: 900;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #6d28d9;
    }
    .jg-specialist-name {
        margin: 0.12rem 0 0;
        font-size: 0.875rem;
        font-weight: 900;
        line-height: 1.2;
    }
    .jg-specialist-crm {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.25rem;
        margin: 0.12rem 0 0;
        font-size: 0.625rem;
        font-weight: 700;
        color: var(--jg-soft);
    }
    .jg-specialist-crm-dot {
        opacity: 0.45;
    }
    .jg-specialist-crm-verified {
        color: #0d9488;
        font-weight: 800;
    }
    .jg-specialist-link {
        color: inherit;
        text-decoration: underline;
        text-decoration-color: rgba(13, 148, 136, 0.35);
        text-underline-offset: 2px;
        transition: color 0.2s ease, text-decoration-color 0.2s ease;
    }
    .jg-specialist-bullets {
        margin: 0.5rem 0 0;
        padding: 0;
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 0.3rem;
    }
    .jg-specialist-bullet {
        display: flex;
        gap: 0.4rem;
        align-items: flex-start;
        font-size: 0.625rem;
        line-height: 1.4;
        color: var(--jg-ink);
    }
    .jg-specialist-check {
        flex-shrink: 0;
        display: inline-flex;
        margin-top: 0.05rem;
        color: #0d9488;
    }
    .jg-specialist-foot {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.35rem, 1vh, 0.5rem);
        animation: jg-specialist-fade-up 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.18s both;
    }
    .jg-specialist-disclaimer {
        margin: 0;
        text-align: center;
        font-size: 0.5625rem;
        line-height: 1.35;
        color: var(--jg-muted);
    }
    @media (min-height: 740px) {
        .jg-phone-device {
            --jg-specialist-phone-h: min(40lvh, 340px);
        }
    }

    @media (max-width: 1023px) {
        .jg-desktop-phone .jg-scene--specialist .jg-phone-device {
            --jg-specialist-phone-h: min(32lvh, calc(100lvh - 19.75rem), 268px);
        }
    }

    @media (min-height: 740px) and (max-width: 1023px) {
        .jg-desktop-phone .jg-scene--specialist .jg-phone-device {
            --jg-specialist-phone-h: min(34lvh, calc(100lvh - 20.25rem), 288px);
        }
    }

    /* Wizard med: terapia premium */
    .jg-scene--wizard-med {
        animation: none;
        min-height: 0;
        overflow: hidden;
    }
    .jg-wizard-med-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
    }
    .jg-wizard-med-top {
        display: flex;
        gap: 0.5rem;
        align-items: flex-start;
        flex-shrink: 0;
    }
    .jg-wizard-med-kicker {
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--jg-muted);
        margin-bottom: 0.2rem;
    }
    .jg-wizard-med-prompt {
        font-size: clamp(0.8125rem, 2.8vw, 0.875rem);
        font-weight: 800;
        line-height: 1.25;
        color: var(--jg-ink);
        margin: 0;
    }
    .jg-wizard-med-prompt .jg-wizard-med-sub {
        display: inline;
        font-size: 0.85em;
        font-weight: 600;
        color: var(--jg-muted);
        margin: 0;
    }

    /* Wizard medicação — balão Vivi legível no frame do celular */
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-med-prompt {
        font-size: clamp(1.0625rem, 3.95vw, 1.15625rem);
        line-height: 1.38;
    }

    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-med-prompt .jg-wizard-med-sub {
        font-size: 0.9em;
        font-weight: 600;
        color: #64748b;
    }
    .jg-med-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        margin-top: clamp(0.3rem, 1vh, 0.45rem);
        gap: clamp(0.35rem, 1vh, 0.5rem);
    }
    .jg-med-panel {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        border-radius: 1.15rem;
        border: 1px solid rgba(186, 230, 253, 0.55);
        background: rgba(255, 255, 255, 0.94);
        box-shadow:
            0 4px 24px -12px rgba(14, 116, 144, 0.14),
            inset 0 1px 0 rgba(255, 255, 255, 0.9);
        overflow: hidden;
    }
    .jg-med-panel-inner {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.45rem, 1.3vh, 0.65rem);
        padding: clamp(0.55rem, 1.5vh, 0.75rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-med-block {
        display: flex;
        flex-direction: column;
        gap: clamp(0.35rem, 1vh, 0.45rem);
    }
    .jg-med-block-head {
        display: flex;
        align-items: center;
        gap: 0.35rem;
    }
    .jg-med-block-dot {
        width: 5px;
        height: 5px;
        border-radius: 9999px;
        background: #10b981;
        box-shadow: 0 0 8px rgba(16, 185, 129, 0.45);
        flex-shrink: 0;
    }
    .jg-med-block-dot--muted {
        background: #94a3b8;
        box-shadow: none;
    }
    .jg-med-block-label {
        font-size: 0.5625rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--jg-muted);
    }
    .jg-med-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(0.35rem, 1vh, 0.45rem);
    }
    .jg-med-tile {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: clamp(0.25rem, 0.8vh, 0.35rem);
        min-height: clamp(4.25rem, 12vh, 4.85rem);
        padding: 0.5rem 0.35rem 0.45rem;
        border-radius: 0.9rem;
        border: 1px solid rgba(226, 232, 240, 0.95);
        background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
        text-align: center;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
    }
    .jg-med-tile:active { transform: scale(0.98); }
    .jg-med-tile.is-on {
        border-color: rgba(16, 185, 129, 0.55);
        background: linear-gradient(180deg, #ecfdf5 0%, #f0fdfa 100%);
        box-shadow: 0 6px 18px -10px rgba(16, 185, 129, 0.35);
    }
    .jg-med-tile-check {
        position: absolute;
        top: 0.28rem;
        right: 0.28rem;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 0.95rem;
        height: 0.95rem;
        border-radius: 9999px;
        background: linear-gradient(135deg, #10b981, #0d9488);
        color: #fff;
        animation: jg-concern-check-pop 0.22s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .jg-med-orb {
        width: clamp(1.35rem, 4vh, 1.65rem);
        height: clamp(1.35rem, 4vh, 1.65rem);
        border-radius: 9999px;
        flex-shrink: 0;
        box-shadow:
            inset 0 2px 4px rgba(255, 255, 255, 0.55),
            0 3px 10px -3px rgba(14, 116, 144, 0.2);
    }
    .jg-med-orb--sky {
        background: radial-gradient(circle at 32% 28%, #7dd3fc, #0284c7 68%, #0369a1);
    }
    .jg-med-orb--orange {
        background: radial-gradient(circle at 32% 28%, #fdba74, #f97316 68%, #ea580c);
    }
    .jg-med-orb--amber {
        background: radial-gradient(circle at 32% 28%, #fde047, #eab308 68%, #ca8a04);
    }
    .jg-med-orb--teal {
        background: radial-gradient(circle at 32% 28%, #6ee7b7, #10b981 68%, #059669);
    }
    .jg-med-tile-copy {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.1rem;
        min-width: 0;
        width: 100%;
    }
    .jg-med-tile-name {
        font-size: clamp(0.625rem, 2.1vw, 0.6875rem);
        font-weight: 800;
        line-height: 1.15;
        color: #0f172a;
    }
    .jg-med-tile-sub {
        font-size: 0.5rem;
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: 0.02em;
        color: #94a3b8;
        text-transform: uppercase;
    }
    .jg-med-tile.is-on .jg-med-tile-sub {
        color: #059669;
    }
    .jg-med-block--alt {
        padding-top: clamp(0.35rem, 1vh, 0.5rem);
        border-top: 1px solid rgba(226, 232, 240, 0.85);
    }
    .jg-med-alt-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.3rem;
    }
    .jg-med-alt-item {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.25rem;
        padding: 0.46rem 0.56rem;
        border-radius: 0.65rem;
        border: 1px solid rgba(226, 232, 240, 0.95);
        background: rgba(248, 250, 252, 0.85);
        font-size: clamp(0.75rem, 2.55vw, 0.8125rem);
        font-weight: 700;
        line-height: 1.2;
        color: #64748b;
        text-align: center;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
    }
    .jg-med-alt-item:active { transform: scale(0.98); }
    .jg-med-alt-item.is-on {
        border-color: rgba(16, 185, 129, 0.45);
        background: #ecfdf5;
        color: #047857;
    }
    .jg-med-block--not-started {
        padding-top: clamp(0.35rem, 1vh, 0.5rem);
        border-top: 1px solid rgba(226, 232, 240, 0.85);
        gap: 0.35rem;
    }
    .jg-med-not-started-btn {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        width: 100%;
        padding: 0.55rem 0.65rem;
        border-radius: 0.85rem;
        border: 1.5px solid rgba(167, 243, 208, 0.65);
        background: linear-gradient(135deg, rgba(236, 253, 245, 0.95) 0%, rgba(240, 249, 255, 0.95) 100%);
        text-align: left;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
        box-shadow: 0 2px 12px -8px rgba(16, 185, 129, 0.2);
    }
    .jg-med-not-started-btn:active {
        transform: scale(0.99);
        border-color: rgba(16, 185, 129, 0.55);
    }
    .jg-med-not-started-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border-radius: 0.65rem;
        flex-shrink: 0;
        background: linear-gradient(145deg, #d1fae5, #e0f2fe);
        color: #059669;
    }
    .jg-med-not-started-copy {
        display: flex;
        flex: 1;
        flex-direction: column;
        gap: 0.12rem;
        min-width: 0;
    }
    .jg-med-not-started-title {
        font-size: clamp(0.8125rem, 2.75vw, 0.875rem);
        font-weight: 800;
        line-height: 1.28;
        color: #0f172a;
    }
    .jg-med-not-started-sub {
        font-size: clamp(0.6875rem, 2.35vw, 0.75rem);
        font-weight: 600;
        line-height: 1.34;
        color: #64748b;
    }
    .jg-med-not-started-chevron {
        color: #059669;
    }
    .jg-med-uncertain-link {
        display: block;
        width: 100%;
        margin-top: 0.4rem;
        padding: 0.4rem 0.25rem 0;
        border: none;
        background: transparent;
        font-size: clamp(0.6875rem, 2.35vw, 0.75rem);
        font-weight: 700;
        line-height: 1.36;
        color: #475569;
        text-align: center;
        text-decoration: underline;
        text-decoration-color: rgba(100, 116, 139, 0.35);
        text-underline-offset: 2px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    .jg-med-uncertain-link:active {
        color: #0d9488;
    }
    .jg-med-proof-bar {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        gap: 0.5rem;
        padding: 0.45rem 0.7rem;
        border-radius: 9999px;
        border: 1px solid rgba(167, 243, 208, 0.45);
        background: rgba(255, 255, 255, 0.88);
        box-shadow: 0 2px 10px -6px rgba(16, 185, 129, 0.12);
    }
    .jg-med-proof-item {
        display: inline-flex;
        align-items: center;
        gap: 0.24rem;
        font-size: clamp(0.625rem, 2.1vw, 0.6875rem);
        font-weight: 700;
        color: #047857;
        white-space: nowrap;
    }
    .jg-med-proof-item svg {
        width: 0.8125rem;
        height: 0.8125rem;
        flex-shrink: 0;
    }
    .jg-med-proof-item strong {
        font-weight: 900;
        font-variant-numeric: tabular-nums;
    }
    .jg-med-proof-item--hot {
        color: #c2410c;
    }
    .jg-med-proof-item--hot strong {
        color: #ea580c;
    }
    .jg-med-proof-sep {
        width: 1px;
        height: 0.85rem;
        background: rgba(148, 163, 184, 0.35);
        flex-shrink: 0;
    }

    /* Wizard time: fase na jornada premium */
    .jg-wizard-time-scene .jg-time-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        margin-top: clamp(0.3rem, 1vh, 0.45rem);
        gap: clamp(0.35rem, 1vh, 0.5rem);
    }
    .jg-time-panel-inner {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.4rem, 1.2vh, 0.55rem);
        padding: clamp(0.55rem, 1.5vh, 0.75rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-time-list {
        display: flex;
        flex-direction: column;
        gap: clamp(0.35rem, 1vh, 0.45rem);
    }
    .jg-time-card {
        position: relative;
        display: flex;
        align-items: flex-start;
        gap: 0.55rem;
        width: 100%;
        padding: 0.55rem 0.6rem;
        border-radius: 0.9rem;
        border: 1.5px solid rgba(226, 232, 240, 0.95);
        background: rgba(255, 255, 255, 0.92);
        text-align: left;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
        box-shadow: 0 2px 14px -10px rgba(14, 116, 144, 0.18);
    }
    .jg-time-card:active {
        transform: scale(0.99);
    }
    .jg-time-card.is-on {
        border-color: rgba(16, 185, 129, 0.55);
        background: linear-gradient(135deg, rgba(236, 253, 245, 0.98) 0%, rgba(240, 249, 255, 0.98) 100%);
        box-shadow:
            0 4px 18px -10px rgba(16, 185, 129, 0.28),
            inset 0 1px 0 rgba(255, 255, 255, 0.85);
    }
    .jg-time-check {
        position: absolute;
        top: 0.4rem;
        right: 0.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.05rem;
        height: 1.05rem;
        border-radius: 9999px;
        background: #10b981;
        color: #fff;
    }
    .jg-time-orb {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.35rem;
        height: 2.35rem;
        border-radius: 9999px;
        flex-shrink: 0;
        margin-top: 0.05rem;
        border: 1px solid rgba(255, 255, 255, 0.92);
        box-shadow:
            0 2px 10px -6px rgba(14, 116, 144, 0.1),
            inset 0 1px 0 rgba(255, 255, 255, 0.95);
        transition: transform 0.18s ease, box-shadow 0.18s ease;
    }
    .jg-time-card.is-on .jg-time-orb {
        transform: scale(1.04);
        box-shadow:
            0 4px 14px -6px rgba(16, 185, 129, 0.22),
            inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
    .jg-time-emoji {
        display: block;
        font-size: 1.125rem;
        line-height: 1;
        transform: translateY(0.02rem);
        filter: saturate(0.88) contrast(0.96);
    }
    .jg-time-orb--mint {
        background: linear-gradient(165deg, #ffffff 0%, #f7fef9 45%, #ecfdf5 100%);
    }
    .jg-time-orb--teal {
        background: linear-gradient(165deg, #ffffff 0%, #f5fffe 45%, #f0fdfa 100%);
    }
    .jg-time-orb--sky {
        background: linear-gradient(165deg, #ffffff 0%, #f8fcff 45%, #f0f9ff 100%);
    }
    .jg-time-orb--emerald {
        background: linear-gradient(165deg, #ffffff 0%, #f6fef9 45%, #ecfdf5 100%);
    }
    .jg-time-copy {
        display: flex;
        flex: 1;
        flex-direction: column;
        gap: 0.18rem;
        min-width: 0;
        padding-right: 0.75rem;
    }
    .jg-time-title {
        font-size: clamp(0.8125rem, 2.75vw, 0.875rem);
        font-weight: 800;
        line-height: 1.3;
        color: #0f172a;
    }

    .jg-desktop-phone .jg-time-title,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-time-scene .jg-time-title {
        font-size: clamp(0.9375rem, 3.55vw, 1.03125rem);
        line-height: 1.32;
    }
    .jg-time-card.is-on .jg-time-title {
        color: #047857;
    }
    .jg-time-desc {
        font-size: clamp(0.71875rem, 2.5vw, 0.78125rem);
        font-weight: 600;
        line-height: 1.42;
        color: #64748b;
    }
    .jg-time-stat {
        display: inline-flex;
        align-items: center;
        gap: 0.28rem;
        margin-top: 0.15rem;
        font-size: clamp(0.65625rem, 2.25vw, 0.71875rem);
        font-weight: 700;
        line-height: 1.25;
        color: #34a38a;
    }
    .jg-time-stat-emoji {
        font-size: 0.625rem;
        line-height: 1;
        filter: saturate(0.85);
    }
    .jg-time-chevron {
        align-self: center;
        color: #cbd5e1;
        opacity: 0.7;
    }
    .jg-time-card.is-on .jg-time-chevron {
        display: none;
    }
    .jg-time-reassure {
        margin: 0;
        padding-top: 0.15rem;
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 600;
        line-height: 1.35;
        color: #94a3b8;
        text-align: center;
    }
    .jg-med-uncertain-title {
        margin: 0;
        font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif;
        font-size: clamp(0.9375rem, 3.2vw, 1.05rem);
        font-weight: 800;
        line-height: 1.2;
        color: var(--jg-ink);
    }
    .jg-med-uncertain-sub {
        margin: 0.35rem 0 0.65rem;
        font-size: 0.6875rem;
        font-weight: 600;
        line-height: 1.35;
        color: var(--jg-muted);
    }
    .jg-med-symptom-list {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
    }
    .jg-med-symptom {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        padding: 0.55rem 0.65rem;
        border-radius: 0.85rem;
        border: 1.5px solid rgba(186, 230, 253, 0.55);
        background: #fff;
        font-size: 0.6875rem;
        font-weight: 700;
        color: #334155;
        text-align: left;
        cursor: pointer;
    }
    .jg-med-symptom.is-on {
        border-color: #10b981;
        background: #ecfdf5;
        color: #047857;
    }
    .jg-med-symptom-check {
        position: absolute;
        top: 0.35rem;
        right: 0.35rem;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1rem;
        height: 1rem;
        border-radius: 9999px;
        background: linear-gradient(135deg, #10b981, #0d9488);
        color: #fff;
    }
    .jg-med-foot {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
        margin-top: clamp(0.4rem, 1.1vh, 0.55rem);
    }
    .jg-med-back-link {
        border: none;
        background: transparent;
        font-size: 0.625rem;
        font-weight: 700;
        color: var(--jg-muted);
        cursor: pointer;
        text-align: center;
        padding: 0.25rem;
    }
    .jg-med-error {
        margin: 0.35rem 0 0;
        text-align: center;
        font-size: 0.6875rem;
        font-weight: 700;
        color: #e11d48;
    }

    /* Wizard bio: números premium */
    .jg-wizard-bio-form {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
    }
    .jg-wizard-bio-scene .jg-bio-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        margin-top: clamp(0.3rem, 1vh, 0.45rem);
        gap: clamp(0.35rem, 1vh, 0.5rem);
    }
    .jg-bio-panel-inner {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.4rem, 1.2vh, 0.55rem);
        padding: clamp(0.55rem, 1.5vh, 0.75rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-bio-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(0.35rem, 1vh, 0.45rem);
    }
    .jg-bio-field {
        display: flex;
        flex-direction: column;
        gap: 0.28rem;
        padding: 0.5rem 0.55rem 0.45rem;
        border-radius: 0.9rem;
        border: 1.5px solid rgba(226, 232, 240, 0.95);
        background: rgba(255, 255, 255, 0.92);
        box-shadow: 0 2px 12px -10px rgba(14, 116, 144, 0.14);
        transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
    }
    .jg-bio-field.is-filled {
        border-color: rgba(167, 243, 208, 0.65);
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(240, 253, 249, 0.95) 100%);
        box-shadow:
            0 3px 14px -10px rgba(16, 185, 129, 0.18),
            inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
    .jg-bio-field-head {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        min-height: 1.65rem;
    }
    .jg-bio-orb {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 9999px;
        flex-shrink: 0;
        border: 1px solid rgba(255, 255, 255, 0.92);
        box-shadow:
            0 2px 8px -5px rgba(14, 116, 144, 0.1),
            inset 0 1px 0 rgba(255, 255, 255, 0.95);
    }
    .jg-bio-orb--mint {
        background: linear-gradient(165deg, #ffffff 0%, #f7fef9 55%, #ecfdf5 100%);
    }
    .jg-bio-orb--sky {
        background: linear-gradient(165deg, #ffffff 0%, #f8fcff 55%, #f0f9ff 100%);
    }
    .jg-bio-orb--lavender {
        background: linear-gradient(165deg, #ffffff 0%, #faf5ff 55%, #f5f3ff 100%);
    }
    .jg-bio-orb--peach {
        background: linear-gradient(165deg, #ffffff 0%, #fffbeb 55%, #fef3c7 100%);
    }
    .jg-bio-emoji {
        display: block;
        font-size: 0.875rem;
        line-height: 1;
        filter: saturate(0.88) contrast(0.96);
    }
    .jg-bio-label {
        font-size: clamp(0.75rem, 2.4vw, 0.875rem);
        font-weight: 800;
        line-height: 1.28;
        color: #0f172a;
    }
    .jg-bio-input-wrap {
        display: flex;
        align-items: baseline;
        gap: 0.25rem;
        padding: 0.1rem 0 0;
    }
    .jg-bio-input {
        width: 100%;
        min-width: 0;
        flex: 1;
        border: none;
        background: transparent;
        padding: 0;
        font-size: clamp(1rem, 3.2vw, 1.125rem);
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        line-height: 1.1;
        color: #0f172a;
        outline: none;
        -moz-appearance: textfield;
        appearance: textfield;
    }
    .jg-bio-input::-webkit-outer-spin-button,
    .jg-bio-input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
    .jg-bio-input::placeholder {
        color: #cbd5e1;
        font-weight: 700;
    }
    .jg-bio-unit {
        flex-shrink: 0;
        font-size: 0.6875rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--jg-muted);
    }
    .jg-bio-hint {
        margin: 0;
        font-size: clamp(0.625rem, 2vw, 0.6875rem);
        font-weight: 600;
        line-height: 1.35;
        color: var(--jg-muted);
    }
    .jg-bio-error {
        margin: 0;
        font-size: 0.5625rem;
        font-weight: 700;
        line-height: 1.25;
        color: #e11d48;
    }
    .jg-bio-warning {
        display: flex;
        align-items: flex-start;
        gap: 0.35rem;
        margin: 0;
        padding: 0.45rem 0.55rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(253, 230, 138, 0.75);
        background: linear-gradient(135deg, rgba(255, 251, 235, 0.98) 0%, rgba(254, 249, 195, 0.55) 100%);
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 700;
        line-height: 1.35;
        color: #92400e;
    }
    .jg-bio-warning-emoji {
        font-size: 0.75rem;
        line-height: 1;
        flex-shrink: 0;
    }
    .jg-bio-nudge {
        margin: 0;
        text-align: center;
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 700;
        line-height: 1.35;
        color: #059669;
    }
    .jg-bio-foot {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
    }
    .jg-bio-privacy {
        margin: 0;
        text-align: center;
        font-size: clamp(0.625rem, 2vw, 0.6875rem);
        font-weight: 600;
        line-height: 1.35;
        color: var(--jg-muted);
    }

    /* Wizard health: minha saúde premium */
    .jg-wizard-health-scene .jg-health-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        margin-top: clamp(0.3rem, 1vh, 0.45rem);
        gap: clamp(0.35rem, 1vh, 0.5rem);
    }
    .jg-health-panel-inner {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.4rem, 1.2vh, 0.55rem);
        padding: clamp(0.55rem, 1.5vh, 0.75rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-health-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(0.35rem, 1vh, 0.45rem);
    }
    .jg-health-tile {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.22rem;
        min-height: clamp(5.5rem, 16vh, 6.25rem);
        padding: 0.5rem 0.45rem 0.45rem;
        border-radius: 0.9rem;
        border: 1.5px solid rgba(226, 232, 240, 0.95);
        background: rgba(255, 255, 255, 0.92);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
        box-shadow: 0 2px 12px -10px rgba(14, 116, 144, 0.14);
    }
    .jg-health-tile:active {
        transform: scale(0.98);
    }
    .jg-health-tile.is-on {
        border-color: rgba(16, 185, 129, 0.55);
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(236, 253, 245, 0.96) 100%);
        box-shadow:
            0 4px 16px -10px rgba(16, 185, 129, 0.28),
            inset 0 1px 0 rgba(255, 255, 255, 0.85);
    }
    .jg-health-priority {
        position: absolute;
        top: 0.3rem;
        left: 0.3rem;
        max-width: calc(100% - 1.6rem);
        padding: 0.12rem 0.35rem;
        border-radius: 9999px;
        background: rgba(240, 249, 255, 0.96);
        border: 1px solid rgba(14, 165, 233, 0.28);
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #0369a1;
        line-height: 1.2;
    }

    .jg-health-tile.is-priority:not(.is-on) {
        border-color: rgba(14, 165, 233, 0.32);
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(240, 249, 255, 0.9) 100%);
    }

    .jg-health-check {
        position: absolute;
        top: 0.35rem;
        right: 0.35rem;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.05rem;
        height: 1.05rem;
        border-radius: 9999px;
        background: linear-gradient(135deg, #10b981, #0d9488);
        color: #fff;
        box-shadow: 0 2px 6px -2px rgba(16, 185, 129, 0.45);
    }
    .jg-health-orb {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.1rem;
        height: 2.1rem;
        border-radius: 9999px;
        flex-shrink: 0;
        border: 1px solid rgba(255, 255, 255, 0.92);
        box-shadow:
            0 2px 8px -5px rgba(14, 116, 144, 0.1),
            inset 0 1px 0 rgba(255, 255, 255, 0.95);
    }
    .jg-health-orb--mint {
        background: linear-gradient(165deg, #ffffff 0%, #f7fef9 55%, #ecfdf5 100%);
    }
    .jg-health-orb--sky {
        background: linear-gradient(165deg, #ffffff 0%, #f8fcff 55%, #f0f9ff 100%);
    }
    .jg-health-orb--lavender {
        background: linear-gradient(165deg, #ffffff 0%, #faf5ff 55%, #f5f3ff 100%);
    }
    .jg-health-orb--peach {
        background: linear-gradient(165deg, #ffffff 0%, #fffbeb 55%, #fef3c7 100%);
    }
    .jg-health-emoji {
        display: block;
        font-size: 1rem;
        line-height: 1;
        filter: saturate(0.88) contrast(0.96);
    }
    .jg-health-tile.is-on .jg-health-orb {
        transform: scale(1.04);
    }
    .jg-health-title {
        font-size: clamp(0.59375rem, 1.95vw, 0.65625rem);
        font-weight: 800;
        line-height: 1.18;
        color: #0f172a;
    }

    .jg-desktop-phone .jg-health-title,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-title {
        font-size: clamp(0.875rem, 3.25vw, 0.9375rem);
        line-height: 1.22;
    }

    .jg-desktop-phone .jg-health-desc,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-desc {
        font-size: clamp(0.75rem, 2.8vw, 0.8125rem);
        line-height: 1.34;
    }

    .jg-desktop-phone .jg-health-monitor-title,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-monitor-title {
        font-size: clamp(0.875rem, 3.15vw, 0.9375rem);
        line-height: 1.28;
    }

    .jg-desktop-phone .jg-health-monitor-sub,
    .jg-desktop-phone .jg-scene--wizard-med .jg-wizard-health-scene .jg-health-monitor-sub {
        font-size: clamp(0.75rem, 2.75vw, 0.8125rem);
        line-height: 1.32;
    }
    .jg-health-tile.is-on .jg-health-title {
        color: #047857;
    }
    .jg-health-desc {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: clamp(0.5rem, 1.65vw, 0.5625rem);
        font-weight: 600;
        line-height: 1.3;
        color: #94a3b8;
    }
    .jg-health-monitor-all {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        width: 100%;
        padding: 0.5rem 0.6rem;
        border-radius: 0.85rem;
        border: 1.5px solid rgba(186, 230, 253, 0.65);
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(240, 249, 255, 0.95) 100%);
        text-align: left;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
        box-shadow: 0 2px 12px -8px rgba(14, 116, 144, 0.12);
    }
    .jg-health-monitor-all:active {
        transform: scale(0.99);
    }
    .jg-health-monitor-all.is-on {
        border-color: rgba(16, 185, 129, 0.55);
        background: linear-gradient(135deg, rgba(236, 253, 245, 0.98) 0%, rgba(240, 249, 255, 0.98) 100%);
        box-shadow: 0 3px 14px -8px rgba(16, 185, 129, 0.22);
    }
    .jg-health-monitor-copy {
        display: flex;
        flex-direction: column;
        gap: 0.1rem;
        min-width: 0;
    }
    .jg-health-monitor-title {
        font-size: clamp(0.6875rem, 2.2vw, 0.75rem);
        font-weight: 800;
        line-height: 1.2;
        color: #0f172a;
    }
    .jg-health-monitor-sub {
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 600;
        line-height: 1.25;
        color: #64748b;
    }
    .jg-health-monitor-badge {
        flex-shrink: 0;
        padding: 0.2rem 0.45rem;
        border-radius: 9999px;
        background: rgba(224, 242, 254, 0.95);
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #0369a1;
    }
    .jg-health-monitor-badge.is-on {
        background: linear-gradient(135deg, #10b981, #0d9488);
        color: #fff;
    }
    .jg-health-foot {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.35rem, 1vh, 0.45rem);
    }
    .jg-health-counter {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
    }
    .jg-health-slots {
        display: flex;
        gap: 0.28rem;
    }
    .jg-health-slot {
        width: 1.25rem;
        height: 0.3rem;
        border-radius: 9999px;
        background: rgba(148, 163, 184, 0.35);
        transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .jg-health-slot.is-filled {
        background: linear-gradient(90deg, #38bdf8, #10b981);
        box-shadow: 0 0 6px rgba(16, 185, 129, 0.35);
    }
    .jg-health-counter-text {
        margin: 0;
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 700;
        line-height: 1.25;
        color: #64748b;
    }
    .jg-health-counter-text strong {
        color: #059669;
        font-weight: 800;
    }

    /* Wizard meta: protocolo premium */
    .jg-wizard-meta-scene .jg-meta-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        margin-top: clamp(0.3rem, 1vh, 0.45rem);
        gap: clamp(0.35rem, 1vh, 0.5rem);
    }
    .jg-meta-panel-inner {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.4rem, 1.2vh, 0.55rem);
        padding: clamp(0.55rem, 1.5vh, 0.75rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-meta-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(0.35rem, 1vh, 0.45rem);
    }
    .jg-meta-card {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.15rem;
        min-height: clamp(5.75rem, 17vh, 6.5rem);
        padding: 0.45rem 0.5rem 0.4rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(255, 255, 255, 0.85);
        box-shadow: 0 2px 12px -10px rgba(14, 116, 144, 0.14);
    }
    .jg-meta-card--emerald {
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(236, 253, 245, 0.92) 100%);
        border-color: rgba(167, 243, 208, 0.45);
    }
    .jg-meta-card--sky {
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(240, 249, 255, 0.92) 100%);
        border-color: rgba(186, 230, 253, 0.55);
    }
    .jg-meta-card--amber {
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 251, 235, 0.92) 100%);
        border-color: rgba(253, 230, 138, 0.55);
    }
    .jg-meta-card--rose {
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 241, 242, 0.92) 100%);
        border-color: rgba(254, 205, 211, 0.55);
    }
    .jg-meta-card--violet {
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 243, 255, 0.92) 100%);
        border-color: rgba(221, 214, 254, 0.55);
    }
    .jg-meta-orb {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.65rem;
        height: 1.65rem;
        border-radius: 9999px;
        flex-shrink: 0;
        margin-bottom: 0.05rem;
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(255, 255, 255, 0.95);
        box-shadow: 0 2px 8px -5px rgba(14, 116, 144, 0.12);
    }
    .jg-meta-emoji {
        display: block;
        font-size: 0.875rem;
        line-height: 1;
        filter: saturate(0.88) contrast(0.96);
    }
    .jg-meta-label {
        font-size: clamp(0.5625rem, 1.85vw, 0.625rem);
        font-weight: 800;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        color: #64748b;
    }
    .jg-meta-value {
        font-size: clamp(0.9375rem, 3vw, 1.05rem);
        font-weight: 900;
        font-variant-numeric: tabular-nums;
        line-height: 1.05;
        color: #0f172a;
    }
    .jg-meta-desc {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin: 0;
        font-size: clamp(0.5625rem, 1.85vw, 0.625rem);
        font-weight: 600;
        line-height: 1.35;
        color: #64748b;
    }
    .jg-meta-protocol {
        padding: 0.5rem 0.55rem;
        border-radius: 0.85rem;
        border: 1.5px solid rgba(186, 230, 253, 0.55);
        background: linear-gradient(135deg, rgba(240, 249, 255, 0.95) 0%, rgba(236, 253, 245, 0.9) 100%);
        box-shadow: 0 2px 12px -10px rgba(14, 116, 144, 0.12);
    }
    .jg-meta-protocol-head {
        display: flex;
        align-items: center;
        gap: 0.35rem;
    }
    .jg-meta-protocol-emoji {
        font-size: 0.875rem;
        line-height: 1;
        filter: saturate(0.88);
    }
    .jg-meta-protocol-title {
        font-size: clamp(0.625rem, 2vw, 0.6875rem);
        font-weight: 800;
        line-height: 1.2;
        color: #0f172a;
    }
    .jg-meta-protocol-pills {
        display: flex;
        flex-wrap: wrap;
        gap: 0.28rem;
        margin-top: 0.35rem;
    }
    .jg-meta-protocol-pill {
        display: inline-flex;
        align-items: center;
        padding: 0.18rem 0.4rem;
        border-radius: 9999px;
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(167, 243, 208, 0.45);
        font-size: clamp(0.5rem, 1.65vw, 0.5625rem);
        font-weight: 700;
        line-height: 1.2;
        color: #047857;
    }
    .jg-meta-evade {
        padding: 0.4rem 0.5rem;
        border-radius: 0.75rem;
        background: rgba(236, 253, 245, 0.55);
        border: 1px solid rgba(167, 243, 208, 0.35);
    }
    .jg-meta-evade-title {
        margin: 0;
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 800;
        line-height: 1.25;
        color: #047857;
    }
    .jg-meta-evade-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem;
        margin-top: 0.28rem;
    }
    .jg-meta-evade-chip {
        display: inline-flex;
        padding: 0.15rem 0.38rem;
        border-radius: 9999px;
        background: rgba(255, 255, 255, 0.9);
        font-size: clamp(0.5rem, 1.65vw, 0.5625rem);
        font-weight: 700;
        line-height: 1.2;
        color: #065f46;
    }
    .jg-meta-evade-chip--more {
        background: linear-gradient(135deg, #10b981, #0d9488);
        color: #fff;
    }
    .jg-meta-disclaimer {
        margin: 0;
        text-align: center;
        font-size: clamp(0.5rem, 1.65vw, 0.5625rem);
        font-weight: 600;
        line-height: 1.35;
        color: #94a3b8;
    }
    .jg-meta-foot {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(0.35rem, 1vh, 0.45rem);
    }

    /* Wizard account: sua conta v2 */
    .jg-wizard-account-scene > .jv5-wizard-head {
        flex-shrink: 0;
        overflow: visible;
        gap: 0.3rem;
        padding: 0.12rem 0 0.35rem;
        margin-bottom: 0.1rem;
    }
    .jg-wizard-account-scene .jg-wizard-med-top,
    .jg-wizard-account-scene .jg-wizard-account-coach {
        gap: 0.55rem;
        align-items: flex-start;
        overflow: visible;
    }
    .jg-wizard-account-coach-copy {
        overflow: visible;
        min-width: 0;
    }
    .jg-wizard-account-kicker {
        margin: 0 0 0.3rem;
        font-size: clamp(0.75rem, 2.7vw, 0.8125rem);
        font-weight: 800;
        letter-spacing: 0.01em;
        line-height: 1.35;
        text-transform: none;
        color: #0f766e;
    }
    .jg-wizard-account-bubble {
        overflow: visible;
        padding: 0.55rem 0.72rem 0.58rem;
    }
    .jg-wizard-account-bubble .jg-wizard-med-prompt {
        margin: 0;
        line-height: 1.35;
    }
    .jg-wizard-account-sub {
        display: block;
        margin: 0.28rem 0 0;
        font-size: clamp(0.6875rem, 2.45vw, 0.75rem);
        font-weight: 600;
        line-height: 1.4;
        color: #64748b;
        overflow: visible;
        white-space: normal;
        word-break: normal;
        overflow-wrap: anywhere;
    }
    .jg-wizard-account-scene .jg-wizard-med-prompt .jg-wizard-med-sub {
        display: none;
    }
    .jg-wizard-account-scene .jg-account-scene {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        margin-top: clamp(0.25rem, 0.8vh, 0.35rem);
        gap: clamp(0.3rem, 0.9vh, 0.4rem);
    }
    .jg-account-scene .jg-med-panel {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }
    .jg-account-scroll {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .jg-account-stack {
        display: flex;
        flex-direction: column;
        gap: clamp(0.3rem, 0.9vh, 0.4rem);
        padding: clamp(0.5rem, 1.4vh, 0.65rem);
    }
    .jg-account-duo {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(0.3rem, 0.9vh, 0.4rem);
    }
    .jg-account-card {
        display: flex;
        flex-direction: column;
        gap: 0.28rem;
        padding: 0.45rem 0.5rem 0.42rem;
        border-radius: 0.85rem;
        border: 1.5px solid rgba(226, 232, 240, 0.92);
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 2px 12px -10px rgba(14, 116, 144, 0.12);
        transition: border-color 0.14s ease, box-shadow 0.14s ease;
    }
    .jg-account-card:focus-within {
        border-color: rgba(16, 185, 129, 0.45);
        box-shadow: 0 3px 14px -10px rgba(16, 185, 129, 0.16);
    }
    .jg-account-card--compact {
        padding: 0.4rem 0.45rem 0.38rem;
    }
    .jg-account-card--confirmed {
        border-color: rgba(167, 243, 208, 0.55);
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(236, 253, 245, 0.92) 100%);
    }
    .jg-account-card-head {
        display: flex;
        align-items: center;
        gap: 0.38rem;
    }
    .jg-account-orb {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.55rem;
        height: 1.55rem;
        border-radius: 9999px;
        flex-shrink: 0;
        border: 1px solid rgba(255, 255, 255, 0.92);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
    }
    .jg-account-orb--mint { background: linear-gradient(165deg, #fff 0%, #ecfdf5 100%); }
    .jg-account-orb--sky { background: linear-gradient(165deg, #fff 0%, #f0f9ff 100%); }
    .jg-account-orb--lavender { background: linear-gradient(165deg, #fff 0%, #f5f3ff 100%); }
    .jg-account-orb--teal { background: linear-gradient(165deg, #fff 0%, #f0fdfa 100%); }
    .jg-account-orb--peach { background: linear-gradient(165deg, #fff 0%, #fffbeb 100%); }
    .jg-account-emoji {
        font-size: 0.75rem;
        line-height: 1;
        filter: saturate(0.88);
    }
    .jg-account-card-label {
        font-size: clamp(0.625rem, 2vw, 0.6875rem);
        font-weight: 800;
        line-height: 1.2;
        color: #0f172a;
    }
    .jg-account-card-input {
        width: 100%;
        border: none;
        background: transparent;
        padding: 0.05rem 0 0;
        font-size: clamp(0.75rem, 2.4vw, 0.8125rem);
        font-weight: 700;
        line-height: 1.25;
        color: #0f172a;
        outline: none;
    }
    .jg-account-card-input::placeholder {
        color: #cbd5e1;
        font-weight: 600;
    }
    .jg-account-card-input--error {
        color: #be123c;
    }
    .jg-account-card-select {
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 0 center;
        background-size: 0.85rem;
        padding-right: 1.1rem;
    }
    .jg-account-confirmed-value {
        margin: 0;
        font-size: clamp(0.75rem, 2.4vw, 0.8125rem);
        font-weight: 800;
        line-height: 1.25;
        color: #047857;
        word-break: break-all;
    }
    .jg-account-pass-wrap {
        position: relative;
    }
    .jg-account-card-input--pass {
        padding-right: 1.75rem;
    }
    .jg-account-eye {
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 100%;
        border: none;
        background: transparent;
        color: #94a3b8;
        cursor: pointer;
    }
    .jg-account-cep {
        display: flex;
        flex-direction: column;
        gap: 0.28rem;
    }
    .jg-account-cep-inner {
        display: flex;
        flex-direction: column;
        gap: 0.28rem;
    }
    .jg-account-cep-preview {
        display: flex;
        flex-direction: column;
        gap: 0.08rem;
        padding: 0.38rem 0.45rem;
        border-radius: 0.65rem;
        border: 1px solid rgba(167, 243, 208, 0.45);
        background: rgba(236, 253, 245, 0.75);
    }
    .jg-account-cep-preview-kicker {
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #059669;
    }
    .jg-account-cep-preview-line {
        font-size: clamp(0.625rem, 2vw, 0.6875rem);
        font-weight: 700;
        color: #0f172a;
    }
    .jg-account-cep-preview-sub {
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 600;
        color: #64748b;
    }
    .jg-account-cep-status {
        margin: 0;
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 700;
        color: #64748b;
    }
    .jg-account-cep-link {
        align-self: flex-start;
        border: none;
        background: transparent;
        padding: 0.1rem 0.15rem;
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 700;
        color: #0d9488;
        cursor: pointer;
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    .jg-account-privacy {
        padding: 0.05rem 0.15rem 0.15rem;
    }
    .jg-account-privacy-label {
        display: flex;
        align-items: flex-start;
        gap: 0.4rem;
        cursor: pointer;
    }
    .jg-account-privacy-check {
        margin-top: 0.12rem;
        width: 0.85rem;
        height: 0.85rem;
        flex-shrink: 0;
        accent-color: #10b981;
    }
    .jg-account-privacy-label span {
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 600;
        line-height: 1.35;
        color: #64748b;
    }
    .jg-account-privacy-label a {
        font-weight: 800;
        color: #059669;
    }
    .jg-account-error {
        margin: 0.28rem 0 0;
        font-size: clamp(0.5625rem, 1.85vw, 0.625rem);
        font-weight: 700;
        line-height: 1.3;
        color: #be123c;
    }
    .jg-account-card--has-error {
        border-color: rgba(244, 63, 94, 0.42) !important;
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 241, 242, 0.94) 100%);
        box-shadow: 0 0 0 1px rgba(244, 63, 94, 0.08);
    }
    .jg-account-card--has-error .jg-account-card-label {
        color: #9f1239;
    }
    .jg-account-alert {
        display: flex;
        align-items: flex-start;
        gap: 0.45rem;
        padding: 0.55rem 0.62rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(251, 113, 133, 0.35);
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 241, 242, 0.96) 100%);
        box-shadow: 0 6px 18px -14px rgba(190, 18, 60, 0.45);
    }
    .jg-account-alert.hidden,
    .jg-account-alert[hidden] {
        display: none !important;
    }
    .jg-account-alert--stack {
        margin-bottom: 0.15rem;
    }
    .jg-account-alert__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.05rem;
        height: 1.05rem;
        margin-top: 0.05rem;
        border-radius: 9999px;
        flex-shrink: 0;
        font-size: 0.625rem;
        font-weight: 900;
        line-height: 1;
        color: #fff;
        background: linear-gradient(145deg, #fb7185 0%, #e11d48 100%);
    }
    .jg-account-alert__text {
        margin: 0;
        font-size: clamp(0.625rem, 2vw, 0.6875rem);
        font-weight: 700;
        line-height: 1.35;
        color: #9f1239;
    }
    .jg-account-shake {
        animation: jg-account-shake 0.42s ease;
    }
    @keyframes jg-account-shake {
        0%, 100% { transform: translateX(0); }
        18% { transform: translateX(-4px); }
        36% { transform: translateX(4px); }
        54% { transform: translateX(-3px); }
        72% { transform: translateX(3px); }
    }
    .jg-account-foot {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        gap: 0.28rem;
    }
    .jg-account-foot-note {
        margin: 0;
        text-align: center;
        font-size: clamp(0.5625rem, 1.9vw, 0.625rem);
        font-weight: 600;
        line-height: 1.3;
        color: #94a3b8;
    }

    /* ─── Densidade adaptativa: container + data-jg-fit (mobile) ─── */
    @media (max-width: 1023px) {
        .jg-pillar-hero-inner,
        .jg-match-hero-inner,
        .jg-mirror-hero-inner,
        .jg-welcome-hero-inner {
            position: relative;
        }

        .jg-pillar-hero-inner.is-scrollable::after,
        .jg-match-hero-inner.is-scrollable::after,
        .jg-mirror-hero-inner.is-scrollable::after,
        .jg-welcome-hero-inner.is-scrollable::after {
            content: '';
            position: sticky;
            bottom: 0;
            left: 0;
            right: 0;
            display: block;
            height: 1.25rem;
            margin-top: -1.25rem;
            pointer-events: none;
            background: linear-gradient(to top, rgba(236, 253, 245, 0.98), transparent);
            border-radius: 0 0 calc(1.5rem - 2px) calc(1.5rem - 2px);
        }

        .jg-pillar-hero-inner--dense .jg-pillar-highlights {
            gap: 0.28rem;
        }

        .jg-pillar-hero-inner--dense .jg-pillar-highlight {
            padding: 0.28rem 0.48rem;
        }

        /* Container: altura útil da cena (após chrome) */
        @container jg-scene (max-height: 560px) {
            .jg-scene--pillars .jg-pillar-heloisa .jg-heloisa-avatar,
            .jg-scene--match .jg-match-heloisa .jg-heloisa-avatar,
            .jg-scene--mirror .jg-mirror-heloisa .jg-heloisa-avatar,
            .jg-scene--welcome .jg-welcome-top .jg-heloisa-avatar {
                width: 2.5rem !important;
                height: 2.5rem !important;
            }

            .jg-scene--pillars .jg-pillar-heloisa-text,
            .jg-scene--match .jg-match-heloisa-text,
            .jg-scene--mirror .jg-mirror-heloisa-text,
            .jg-scene--welcome .jg-welcome-heloisa-text {
                font-size: clamp(0.8125rem, 3vw, 0.9375rem);
                line-height: 1.34;
            }

            .jg-scene--pillars .jg-pillar-title,
            .jg-scene--match .jg-match-title,
            .jg-scene--mirror .jg-mirror-headline,
            .jg-scene--welcome .jg-welcome-headline {
                font-size: clamp(1.05rem, 4.5vw, 1.2rem);
            }

            .jg-scene--pillars .jg-pillar-icon-orbit,
            .jg-scene--match .jg-match-icon-orbit {
                width: clamp(3rem, 8.5lvh, 3.65rem);
                height: clamp(3rem, 8.5lvh, 3.65rem);
            }

            .jg-scene--pillars .jg-pillar-hero-inner,
            .jg-scene--match .jg-match-hero-inner,
            .jg-scene--mirror .jg-mirror-hero-inner,
            .jg-scene--welcome .jg-welcome-hero-inner {
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
            }
        }

        @container jg-scene (max-height: 480px) {
            .jg-scene--pillars .jg-pillar-heloisa-text,
            .jg-scene--match .jg-match-heloisa-text,
            .jg-scene--mirror .jg-mirror-heloisa-text,
            .jg-scene--welcome .jg-welcome-heloisa-text {
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden;
            }

            .jg-scene--pillars .jg-pillar-title,
            .jg-scene--match .jg-match-title {
                font-size: clamp(0.98rem, 4.2vw, 1.1rem);
            }

            .jg-scene--pillars .jg-pillar-body,
            .jg-scene--match .jg-match-body {
                font-size: clamp(0.75rem, 2.8vw, 0.8125rem);
                line-height: 1.42;
            }

            .jg-scene--pillars .jg-pillar-highlight,
            .jg-scene--match .jg-match-highlight {
                font-size: clamp(0.6875rem, 2.5vw, 0.75rem);
                padding: 0.26rem 0.46rem;
            }

            .jg-scene--commit .jg-commit-prompt {
                font-size: clamp(0.9375rem, 3.4vw, 1rem);
            }
        }

        /* ResizeObserver fallback (Safari / barra dinâmica) */
        .jg-root[data-jg-fit="compact"] .jg-scene--pillars .jg-pillar-heloisa-text,
        .jg-root[data-jg-fit="compact"] .jg-scene--match .jg-match-heloisa-text,
        .jg-root[data-jg-fit="compact"] .jg-scene--mirror .jg-mirror-heloisa-text,
        .jg-root[data-jg-fit="compact"] .jg-scene--welcome .jg-welcome-heloisa-text {
            font-size: clamp(0.8125rem, 3vw, 0.9375rem);
            line-height: 1.34;
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--pillars .jg-pillar-title,
        .jg-root[data-jg-fit="compact"] .jg-scene--match .jg-match-title,
        .jg-root[data-jg-fit="compact"] .jg-scene--mirror .jg-mirror-headline,
        .jg-root[data-jg-fit="compact"] .jg-scene--welcome .jg-welcome-headline {
            font-size: clamp(1.05rem, 4.5vw, 1.2rem);
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--pillars .jg-pillar-icon-orbit,
        .jg-root[data-jg-fit="compact"] .jg-scene--match .jg-match-icon-orbit {
            width: clamp(3rem, 8.5lvh, 3.65rem);
            height: clamp(3rem, 8.5lvh, 3.65rem);
        }

        .jg-root[data-jg-fit="compact"] .jg-pillar-hero-inner,
        .jg-root[data-jg-fit="compact"] .jg-match-hero-inner,
        .jg-root[data-jg-fit="compact"] .jg-mirror-hero-inner,
        .jg-root[data-jg-fit="compact"] .jg-welcome-hero-inner,
        .jg-root[data-jg-fit="compact"] .jg-commit-main {
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--pillars .jg-pillar-heloisa .jg-heloisa-avatar,
        .jg-root[data-jg-fit="compact"] .jg-scene--match .jg-match-heloisa .jg-heloisa-avatar,
        .jg-root[data-jg-fit="compact"] .jg-scene--mirror .jg-mirror-heloisa .jg-heloisa-avatar,
        .jg-root[data-jg-fit="compact"] .jg-scene--welcome .jg-welcome-top .jg-heloisa-avatar {
            width: 2.5rem !important;
            height: 2.5rem !important;
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--pillars .jg-pillar-heloisa-text,
        .jg-root[data-jg-fit="tight"] .jg-scene--match .jg-match-heloisa-text,
        .jg-root[data-jg-fit="tight"] .jg-scene--mirror .jg-mirror-heloisa-text,
        .jg-root[data-jg-fit="tight"] .jg-scene--welcome .jg-welcome-heloisa-text {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
            font-size: clamp(0.75rem, 2.85vw, 0.875rem);
            line-height: 1.32;
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--pillars .jg-pillar-title,
        .jg-root[data-jg-fit="tight"] .jg-scene--match .jg-match-title {
            font-size: clamp(0.98rem, 4.2vw, 1.1rem);
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--pillars .jg-pillar-body,
        .jg-root[data-jg-fit="tight"] .jg-scene--match .jg-match-body {
            font-size: clamp(0.75rem, 2.8vw, 0.8125rem);
            line-height: 1.42;
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--pillars .jg-pillar-highlight,
        .jg-root[data-jg-fit="tight"] .jg-scene--match .jg-match-highlight {
            font-size: clamp(0.6875rem, 2.5vw, 0.75rem);
            padding: 0.26rem 0.46rem;
        }

        .jg-root[data-jg-fit="tight"] .jg-pillar-hero-inner,
        .jg-root[data-jg-fit="tight"] .jg-match-hero-inner,
        .jg-root[data-jg-fit="tight"] .jg-mirror-hero-inner,
        .jg-root[data-jg-fit="tight"] .jg-welcome-hero-inner,
        .jg-root[data-jg-fit="tight"] .jg-commit-main {
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }

        .jg-root[data-jg-fit="tight"] .jg-desktop-phone .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-pillar-foot .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-match-foot .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-mirror-foot .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-welcome-foot .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-commit-foot .jg-btn {
            min-height: clamp(2.75rem, 7.5lvh, 3.15rem);
            font-size: clamp(1rem, 3.8vw, 1.125rem);
        }

        .jg-root[data-jg-fit="tight"] .jg-pillar-scene,
        .jg-root[data-jg-fit="tight"] .jg-match-scene,
        .jg-root[data-jg-fit="tight"] .jg-mirror-scene,
        .jg-root[data-jg-fit="tight"] .jg-welcome-scene,
        .jg-root[data-jg-fit="tight"] .jg-commit-scene,
        .jg-root[data-jg-fit="tight"] .jg-stage-scene,
        .jg-root[data-jg-fit="tight"] .jg-concerns-scene,
        .jg-root[data-jg-fit="tight"] .jg-specialist-scene,
        .jg-root[data-jg-fit="tight"] .jg-wizard-med-scene,
        .jg-root[data-jg-fit="tight"] .jg-scene--interstitial > .jg-scene-grid,
        .jg-root[data-jg-fit="tight"] .jg-scene--celebration > .jg-scene-grid {
            gap: 0.28rem;
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--stage .jg-stage-prompt,
        .jg-root[data-jg-fit="compact"] .jg-scene--concerns .jg-concerns-prompt,
        .jg-root[data-jg-fit="compact"] .jg-scene--specialist .jg-specialist-title,
        .jg-root[data-jg-fit="compact"] .jg-scene--wizard-med .jg-wizard-med-prompt,
        .jg-root[data-jg-fit="compact"] .jg-scene--interstitial .jg-headline,
        .jg-root[data-jg-fit="compact"] .jg-scene--celebration .jg-headline {
            font-size: clamp(1.05rem, calc(1.15rem * var(--jg-fit-scale, 0.94) + 0.15vw), 1.25rem);
            line-height: 1.2;
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--stage .jg-stage-sub,
        .jg-root[data-jg-fit="compact"] .jg-scene--concerns .jg-concerns-sub,
        .jg-root[data-jg-fit="compact"] .jg-scene--specialist .jg-specialist-sub,
        .jg-root[data-jg-fit="compact"] .jg-scene--wizard-med .jg-wizard-med-sub,
        .jg-root[data-jg-fit="compact"] .jg-scene--interstitial .jg-sub,
        .jg-root[data-jg-fit="compact"] .jg-scene--celebration .jg-sub {
            font-size: clamp(0.75rem, calc(0.8125rem * var(--jg-fit-scale, 0.94) + 0.1vw), 0.875rem);
            line-height: 1.42;
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--stage .jg-stage-card,
        .jg-root[data-jg-fit="compact"] .jg-scene--concerns .jg-concern-tile {
            min-height: clamp(2.65rem, 8.5lvh, 3.15rem);
            padding: clamp(0.45rem, 1.2lvh, 0.58rem) clamp(0.55rem, 2vw, 0.72rem);
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--interstitial .jg-interstitial-ring,
        .jg-root[data-jg-fit="compact"] .jg-scene--celebration .jg-card-elevated {
            margin-top: clamp(0.25rem, 0.8lvh, 0.45rem);
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--interstitial .jg-interstitial-ring {
            width: clamp(3.15rem, 9lvh, 3.85rem);
            height: clamp(3.15rem, 9lvh, 3.85rem);
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--specialist .jg-phone-device {
            --jg-specialist-phone-h: min(30lvh, calc(100lvh - 21rem), 255px);
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--stage .jg-stage-prompt,
        .jg-root[data-jg-fit="tight"] .jg-scene--concerns .jg-concerns-prompt,
        .jg-root[data-jg-fit="tight"] .jg-scene--specialist .jg-specialist-title,
        .jg-root[data-jg-fit="tight"] .jg-scene--wizard-med .jg-wizard-med-prompt,
        .jg-root[data-jg-fit="tight"] .jg-scene--interstitial .jg-headline,
        .jg-root[data-jg-fit="tight"] .jg-scene--celebration .jg-headline {
            font-size: clamp(0.98rem, calc(1.05rem * var(--jg-fit-scale, 0.88) + 0.12vw), 1.15rem);
            line-height: 1.18;
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--stage .jg-stage-sub,
        .jg-root[data-jg-fit="tight"] .jg-scene--concerns .jg-concerns-sub,
        .jg-root[data-jg-fit="tight"] .jg-scene--specialist .jg-specialist-sub,
        .jg-root[data-jg-fit="tight"] .jg-scene--wizard-med .jg-wizard-med-sub,
        .jg-root[data-jg-fit="tight"] .jg-scene--interstitial .jg-sub,
        .jg-root[data-jg-fit="tight"] .jg-scene--celebration .jg-sub {
            font-size: clamp(0.75rem, calc(0.8125rem * var(--jg-fit-scale, 0.88) + 0.08vw), 0.8125rem);
            line-height: 1.38;
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--stage .jg-stage-card,
        .jg-root[data-jg-fit="tight"] .jg-scene--concerns .jg-concern-tile {
            min-height: clamp(2.5rem, 8lvh, 2.95rem);
            padding: clamp(0.4rem, 1.05lvh, 0.52rem) clamp(0.5rem, 1.8vw, 0.65rem);
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--interstitial .jg-interstitial-ring {
            width: clamp(2.85rem, 8.5lvh, 3.5rem);
            height: clamp(2.85rem, 8.5lvh, 3.5rem);
            margin-bottom: clamp(0.35rem, 1lvh, 0.55rem);
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--specialist .jg-phone-device {
            --jg-specialist-phone-h: min(26lvh, calc(100lvh - 20.5rem), 220px);
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--pillars .jg-pillar-icon-orbit,
        .jg-root[data-jg-fit="tight"] .jg-scene--match .jg-match-icon-orbit {
            width: clamp(3rem, 8lvh, 3.65rem);
            height: clamp(3rem, 8lvh, 3.65rem);
        }

        .jg-root[data-jg-fit="tight"] .jg-scene--pillars .jg-pillar-eyebrow,
        .jg-root[data-jg-fit="tight"] .jg-scene--match .jg-match-eyebrow {
            margin-top: clamp(0.3rem, 0.9lvh, 0.5rem);
        }

        .jg-root[data-jg-fit="compact"] .jg-scene--stage .jg-stage-scene,
        .jg-root[data-jg-fit="compact"] .jg-scene--concerns .jg-concerns-scene,
        .jg-root[data-jg-fit="compact"] .jg-scene--specialist .jg-specialist-scene,
        .jg-root[data-jg-fit="compact"] .jg-scene--wizard-med .jg-wizard-med-scene {
            gap: clamp(0.3rem, 0.9lvh, 0.45rem);
        }

        .jg-root[data-jg-fit="compact"] .jg-desktop-phone .jg-btn,
        .jg-root[data-jg-fit="compact"] .jg-stage-foot .jg-btn,
        .jg-root[data-jg-fit="compact"] .jg-concerns-foot .jg-btn,
        .jg-root[data-jg-fit="compact"] .jg-specialist-foot .jg-btn,
        .jg-root[data-jg-fit="compact"] .jg-scene--interstitial .jg-btn,
        .jg-root[data-jg-fit="compact"] .jg-scene--celebration .jg-btn,
        .jg-root[data-jg-fit="compact"] .jg-scene--wizard-med .jg-btn {
            min-height: clamp(2.85rem, 7.8lvh, 3.2rem);
            font-size: clamp(1rem, calc(1.05rem * var(--jg-fit-scale, 0.94) + 0.12vw), 1.125rem);
        }

        .jg-root[data-jg-fit="tight"] .jg-stage-foot .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-concerns-foot .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-specialist-foot .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-scene--interstitial .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-scene--celebration .jg-btn,
        .jg-root[data-jg-fit="tight"] .jg-scene--wizard-med .jg-btn {
            min-height: clamp(2.75rem, 7.5lvh, 3rem);
            font-size: clamp(1rem, 3.6vw, 1.0625rem);
        }
    }
.jg-root--patient-journey .jg-trust-pill--btn {
        cursor: pointer;
        font: inherit;
        line-height: inherit;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
    }

    .jg-root--patient-journey .jg-trust-pill--btn:hover {
        border-color: rgba(52, 211, 153, 0.85);
        background: rgba(209, 250, 229, 0.98);
        box-shadow: 0 4px 14px -6px rgba(16, 185, 129, 0.45);
    }

    .jg-root--patient-journey .jg-trust-pill--btn:active {
        transform: scale(0.97);
    }

    .jg-root--patient-journey .jg-trust-pill--btn:focus-visible {
        outline: 2px solid rgba(16, 185, 129, 0.75);
        outline-offset: 2px;
    }

    /* Modal vive em .jg-ftm-anchor (journey-overlays), fora do #patient-journey-root */
    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-layer {
        position: fixed;
        inset: 0;
        z-index: 480;
        display: none;
        pointer-events: none;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-layer:not([hidden]) {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        pointer-events: auto;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(15, 23, 42, 0.42);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        opacity: 0;
        transition: opacity 0.28s ease;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-layer:not([hidden]) .jg-ftm-backdrop {
        opacity: 1;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-close {
        position: absolute;
        top: 0.85rem;
        right: 0.85rem;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(148, 163, 184, 0.35);
        background: rgba(255, 255, 255, 0.92);
        color: #64748b;
        cursor: pointer;
        transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-close svg {
        width: 1rem;
        height: 1rem;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-close:hover {
        border-color: rgba(16, 185, 129, 0.45);
        background: rgba(236, 253, 245, 0.98);
        color: #047857;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-close:focus-visible {
        outline: 2px solid rgba(16, 185, 129, 0.75);
        outline-offset: 2px;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-kicker {
        display: inline-flex;
        align-items: center;
        font-size: 0.625rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #059669;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-title {
        margin: 0.45rem 0 0;
        font-size: clamp(1.35rem, 5.2vw, 1.55rem);
        font-weight: 900;
        line-height: 1.15;
        letter-spacing: -0.02em;
        color: #0f172a;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-lead {
        margin: 0.65rem 0 0;
        font-size: clamp(0.875rem, 3.6vw, 0.9375rem);
        font-weight: 600;
        line-height: 1.55;
        color: #475569;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-foot {
        margin: 0;
        font-size: 0.6875rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        text-align: center;
        color: #047857;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-cta {
        display: inline-flex;
        width: 100%;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        min-height: 3rem;
        padding: 0.75rem 1.1rem;
        border: none;
        border-radius: 1rem;
        background: linear-gradient(135deg, #059669 0%, #0d9488 100%);
        color: #fff;
        font-size: 0.9375rem;
        font-weight: 800;
        cursor: pointer;
        box-shadow: 0 12px 28px -10px rgba(13, 148, 136, 0.55);
        transition: transform 0.18s ease, box-shadow 0.18s ease;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-cta svg {
        width: 1rem;
        height: 1rem;
        opacity: 0.92;
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-cta:hover {
        box-shadow: 0 16px 32px -10px rgba(13, 148, 136, 0.62);
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-cta:active {
        transform: scale(0.985);
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-cta:focus-visible {
        outline: 2px solid rgba(16, 185, 129, 0.75);
        outline-offset: 2px;
    }

    html.jg-ftm-open,
    html.jg-ftm-open body {
        overflow: hidden !important;
    }

    @media (max-width: 1023px) {
        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-card {
            display: none !important;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-sheet {
            position: relative;
            z-index: 1;
            width: 100%;
            max-height: min(92dvh, 92svh);
            display: flex;
            flex-direction: column;
            border-radius: 1.35rem 1.35rem 0 0;
            background: linear-gradient(180deg, #ffffff 0%, #f8fffb 100%);
            box-shadow: 0 -18px 48px -12px rgba(15, 23, 42, 0.28);
            transform: translateY(105%);
            transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1);
            padding-bottom: env(safe-area-inset-bottom, 0px);
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-layer:not([hidden]) .jg-ftm-sheet {
            transform: translateY(0);
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-handle {
            flex-shrink: 0;
            width: 2.75rem;
            height: 0.28rem;
            margin: 0.65rem auto 0;
            border-radius: 9999px;
            background: rgba(148, 163, 184, 0.55);
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-sheet-scroll {
            flex: 1 1 auto;
            min-height: 0;
            overflow-y: auto;
            overscroll-behavior: contain;
            padding: 0.35rem 1rem 1.1rem;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-hero--mobile {
            padding-top: 1.35rem;
            padding-right: 2.25rem;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-list {
            list-style: none;
            margin: 1rem 0 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 0.55rem;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-list-item {
            display: flex;
            align-items: flex-start;
            gap: 0.65rem;
            padding: 0.72rem 0.78rem;
            border-radius: 0.95rem;
            border: 1px solid rgba(167, 243, 208, 0.55);
            background: rgba(236, 253, 245, 0.72);
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-list-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            width: 2rem;
            height: 2rem;
            border-radius: 0.65rem;
            background: rgba(255, 255, 255, 0.95);
            color: #059669;
            box-shadow: 0 4px 12px -8px rgba(16, 185, 129, 0.55);
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-list-copy {
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 0.15rem;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-list-title {
            font-size: 0.8125rem;
            font-weight: 800;
            line-height: 1.3;
            color: #0f172a;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-list-text {
            font-size: 0.75rem;
            font-weight: 600;
            line-height: 1.45;
            color: #64748b;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-foot {
            margin-top: 1rem;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-cta {
            margin-top: 0.85rem;
        }
    }
@media (min-width: 1024px) {
        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-layer:not([hidden]) {
            position: fixed !important;
            inset: 0 !important;
            width: 100vw !important;
            height: 100dvh !important;
            max-height: none !important;
            margin: 0 !important;
            overflow: hidden !important;
            display: flex !important;
            flex-direction: row;
            align-items: center;
            justify-content: center;
            padding: 1.25rem;
            box-sizing: border-box;
            z-index: 510;
            pointer-events: auto;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-sheet {
            display: none !important;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-backdrop {
            position: absolute;
            inset: 0;
            z-index: 0;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-card {
            position: relative;
            z-index: 1;
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            width: min(100%, 44rem);
            max-height: min(calc(100dvh - 2.5rem), 640px);
            margin: 0;
            overflow: hidden;
            border-radius: 1.5rem;
            border: 1px solid rgba(167, 243, 208, 0.55);
            background: linear-gradient(145deg, #ffffff 0%, #f0fdf9 48%, #ecfeff 100%);
            box-shadow:
                0 28px 64px -24px rgba(13, 148, 136, 0.38),
                0 0 0 1px rgba(255, 255, 255, 0.85) inset;
            transform: scale(0.96) translateY(10px);
            opacity: 0;
            transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-layer:not([hidden]) .jg-ftm-card {
            transform: scale(1) translateY(0);
            opacity: 1;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-card-shine {
            pointer-events: none;
            position: absolute;
            inset: 0;
            z-index: 0;
            background:
                radial-gradient(ellipse 80% 50% at 100% 0%, rgba(45, 212, 191, 0.18), transparent 55%),
                radial-gradient(ellipse 60% 40% at 0% 100%, rgba(52, 211, 153, 0.12), transparent 50%);
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-close--card {
            top: 1rem;
            right: 1rem;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-card-grid {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, 11.5rem) minmax(0, 1fr);
            gap: 1.25rem;
            padding: 1.35rem 1.35rem 1.25rem;
            min-height: 0;
            flex: 1 1 auto;
            overflow-y: auto;
            overscroll-behavior: contain;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-card-aside {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            padding-top: 0.35rem;
            min-width: 0;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-card-main {
            min-width: 0;
            display: flex;
            flex-direction: column;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-vivi {
            display: flex;
            flex-direction: column;
            gap: 0.65rem;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-vivi-bubble {
            padding: 0.72rem 0.78rem;
            border-radius: 0.95rem;
            border: 1px solid rgba(167, 243, 208, 0.5);
            background: rgba(255, 255, 255, 0.82);
            box-shadow: 0 8px 20px -14px rgba(13, 148, 136, 0.45);
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-vivi-kicker {
            margin: 0;
            font-size: 0.5625rem;
            font-weight: 800;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #64748b;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-vivi-text {
            margin: 0.35rem 0 0;
            font-size: 0.8125rem;
            font-weight: 700;
            line-height: 1.5;
            color: #0f172a;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.45rem;
            align-self: flex-start;
            padding: 0.55rem 0.85rem;
            border-radius: 9999px;
            border: 1px solid rgba(110, 231, 183, 0.65);
            background: rgba(236, 253, 245, 0.95);
            color: #047857;
            font-size: 0.6875rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-title--desktop {
            font-size: clamp(1.25rem, 2vw, 1.45rem);
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-lead--desktop {
            margin-top: 0.55rem;
            font-size: 0.875rem;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.55rem;
            margin-top: 1rem;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-grid-card {
            display: flex;
            flex-direction: column;
            gap: 0.28rem;
            padding: 0.72rem 0.78rem;
            border-radius: 0.9rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            background: rgba(255, 255, 255, 0.88);
            transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-grid-card:hover {
            border-color: rgba(110, 231, 183, 0.65);
            box-shadow: 0 10px 24px -16px rgba(13, 148, 136, 0.45);
            transform: translateY(-1px);
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-grid-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 1.85rem;
            height: 1.85rem;
            border-radius: 0.55rem;
            background: rgba(236, 253, 245, 0.95);
            color: #059669;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-grid-title {
            font-size: 0.75rem;
            font-weight: 800;
            line-height: 1.3;
            color: #0f172a;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-grid-text {
            font-size: 0.6875rem;
            font-weight: 600;
            line-height: 1.45;
            color: #64748b;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-card-foot {
            margin-top: 0.85rem;
            text-align: left;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-card-foot .jg-ftm-foot {
            text-align: left;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-privacy {
            margin: 0.35rem 0 0;
            font-size: 0.6875rem;
            font-weight: 600;
            line-height: 1.45;
            color: #64748b;
        }

        body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-cta--desktop {
            width: auto;
            align-self: flex-start;
            margin-top: 1rem;
            padding-left: 1.35rem;
            padding-right: 1.35rem;
        }
    }
@media (max-width: 1023px) {
        .jg-jchat-desktop-only {
            display: none !important;
        }

        /* Fora do flex da jornada — FAB/painel são fixed; cliques precisam passar pelo anchor */
        .jg-root--patient-journey > .jg-jchat-anchor,
        .jg-jchat-anchor {
            position: fixed;
            right: 0;
            bottom: 0;
            width: 0;
            height: 0;
            overflow: visible;
            z-index: 490;
            pointer-events: none;
        }

        .jg-jchat-island-shell,
        .jg-jchat-root {
            position: static;
            width: auto;
            height: auto;
            pointer-events: auto;
        }

        .jg-jchat-fab-wrap {
            position: fixed;
            right: max(0.75rem, env(safe-area-inset-right, 0px));
            bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
            z-index: 491;
            pointer-events: none;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 0.4rem;
            max-width: min(11.5rem, calc(100vw - 1.5rem));
        }

        .jg-jchat-fab-hint {
            margin: 0;
            padding: 0.4rem 0.55rem;
            border-radius: 0.75rem;
            border: 1px solid rgba(16, 185, 129, 0.28);
            background: rgba(255, 255, 255, 0.96);
            box-shadow: 0 8px 22px rgba(15, 23, 42, 0.1);
            font-size: 0.65rem;
            font-weight: 800;
            line-height: 1.35;
            color: #047857;
            text-align: right;
            pointer-events: none;
        }

        .jg-jchat-fab {
            position: relative;
            right: auto;
            bottom: auto;
            z-index: 1;
            pointer-events: auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 3rem;
            height: 3rem;
            padding: 0;
            border: none;
            background: transparent;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }

        .jg-jchat-fab-ring {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 3.35rem;
            height: 3.35rem;
            border-radius: 9999px;
            border: 2px solid rgba(16, 185, 129, 0.55);
            animation: jgJchatFabPulse 2.4s ease-in-out infinite;
            pointer-events: none;
        }

        @keyframes jgJchatFabPulse {
            0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.65; }
            50% { transform: translate(-50%, -50%) scale(1.08); opacity: 1; }
        }

        .jg-jchat-fab-bot {
            position: relative;
            z-index: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 3rem;
            height: 3rem;
            border-radius: 9999px;
            border: 2px solid #fff;
            background: linear-gradient(135deg, #059669 0%, #0d9488 100%);
            color: #fff;
            box-shadow: 0 10px 28px -8px rgba(13, 148, 136, 0.55);
        }

        .jg-jchat-bot-icon--fab {
            width: 1.65rem;
            height: 1.65rem;
        }

        .jg-jchat-fab:focus-visible {
            outline: 2px solid rgba(16, 185, 129, 0.75);
            outline-offset: 4px;
            border-radius: 9999px;
        }

        .jg-jchat-backdrop {
            position: fixed;
            inset: 0;
            z-index: 492;
            pointer-events: auto;
            background: rgba(15, 23, 42, 0.42);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
        }

        .jg-jchat-panel {
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 493;
            pointer-events: auto;
            display: flex;
            flex-direction: column;
            max-height: min(88dvh, 88svh);
            border-radius: 1.35rem 1.35rem 0 0;
            background: linear-gradient(180deg, #ffffff 0%, #f8fffb 100%);
            box-shadow: 0 -18px 48px -12px rgba(15, 23, 42, 0.28);
            overflow: hidden;
            padding-bottom: env(safe-area-inset-bottom, 0px);
        }

        .jg-jchat-handle {
            flex-shrink: 0;
            width: 2.75rem;
            height: 0.28rem;
            margin: 0.65rem auto 0;
            border-radius: 9999px;
            background: rgba(148, 163, 184, 0.55);
        }

        .jg-jchat-header {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.85rem 1rem 0.75rem;
            background: linear-gradient(135deg, #059669 0%, #0d9488 100%);
            color: #fff;
        }

        .jg-jchat-header-avatar {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.5rem;
            height: 2.5rem;
            border-radius: 0.85rem;
            border: 2px solid rgba(255, 255, 255, 0.35);
            background: rgba(255, 255, 255, 0.16);
            color: #fff;
        }

        .jg-jchat-bot-icon--header {
            width: 1.55rem;
            height: 1.55rem;
        }

        .jg-jchat-header-copy {
            flex: 1;
            min-width: 0;
        }

        .jg-jchat-header-name {
            margin: 0;
            font-size: 0.9375rem;
            font-weight: 800;
            line-height: 1.2;
        }

        .jg-jchat-header-sub {
            margin: 0.15rem 0 0;
            font-size: 0.6875rem;
            font-weight: 600;
            color: rgba(236, 253, 245, 0.92);
        }

        .jg-jchat-close {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.25rem;
            height: 2.25rem;
            border: none;
            border-radius: 0.75rem;
            background: rgba(255, 255, 255, 0.15);
            color: #fff;
            cursor: pointer;
        }

        .jg-jchat-close svg {
            width: 1rem;
            height: 1rem;
        }

        .jg-jchat-scroll {
            flex: 1;
            min-height: 0;
            overflow-y: auto;
            overscroll-behavior: contain;
            padding: 0.85rem 0.75rem;
            background: #fafaf9;
        }

        .jg-jchat-msg {
            display: flex;
            margin-bottom: 0.65rem;
        }

        .jg-jchat-msg--user {
            justify-content: flex-end;
        }

        .jg-jchat-msg--assistant {
            justify-content: flex-start;
        }

        .jg-jchat-bubble {
            max-width: 92%;
            padding: 0.65rem 0.85rem;
            border-radius: 1rem;
            font-size: 0.875rem;
            line-height: 1.55;
        }

        .jg-jchat-msg--user .jg-jchat-bubble {
            background: #059669;
            color: #fff;
            border-bottom-right-radius: 0.25rem;
        }

        .jg-jchat-msg--assistant .jg-jchat-bubble {
            background: #fff;
            border: 1px solid rgba(226, 232, 240, 0.95);
            color: #1e293b;
            border-bottom-left-radius: 0.25rem;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        }

        .jg-jchat-bubble-name {
            margin: 0 0 0.25rem;
            font-size: 0.6875rem;
            font-weight: 800;
            color: #047857;
        }

        .jg-jchat-markdown p {
            margin: 0.35rem 0;
        }

        .jg-jchat-markdown p:first-child {
            margin-top: 0;
        }

        .jg-jchat-markdown p:last-child {
            margin-bottom: 0;
        }

        .jg-jchat-link {
            color: #047857;
            font-weight: 700;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .jg-jchat-text {
            white-space: pre-wrap;
        }

        .jg-jchat-typing {
            display: flex;
            align-items: flex-end;
            gap: 0.5rem;
        }

        .jg-jchat-typing-avatar {
            width: 2rem;
            height: 2rem;
            border-radius: 9999px;
            background: linear-gradient(135deg, #10b981, #0d9488);
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .jg-jchat-bot-icon--typing {
            width: 1.2rem;
            height: 1.2rem;
        }

        .jg-jchat-typing-bubble {
            padding: 0.65rem 0.85rem;
            background: #fff;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 1rem;
            border-bottom-left-radius: 0.25rem;
        }

        .jg-jchat-typing-label {
            margin: 0 0 0.35rem;
            font-size: 0.6875rem;
            font-weight: 800;
            color: #047857;
        }

        .jg-jchat-typing-dots {
            display: inline-flex;
            gap: 0.25rem;
        }

        .jg-jchat-dot {
            width: 0.45rem;
            height: 0.45rem;
            border-radius: 9999px;
            background: #10b981;
            animation: jgJchatTypingDot 1.05s ease-in-out infinite;
        }

        .jg-jchat-dot--2 { animation-delay: 150ms; }
        .jg-jchat-dot--3 { animation-delay: 300ms; }

        @keyframes jgJchatTypingDot {
            0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
            30% { transform: translateY(-4px); opacity: 1; }
        }

        .jg-jchat-footer {
            flex-shrink: 0;
            padding: 0.65rem 0.75rem 0.85rem;
            border-top: 1px solid rgba(226, 232, 240, 0.9);
            background: #fff;
        }

        .jg-jchat-form {
            display: flex;
            gap: 0.5rem;
            align-items: flex-end;
        }

        .jg-jchat-input {
            flex: 1;
            min-height: 2.75rem;
            max-height: 6rem;
            resize: none;
            padding: 0.65rem 0.85rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 0.85rem;
            background: #fafaf9;
            font-size: 0.875rem;
            color: #1e293b;
        }

        .jg-jchat-input:focus {
            outline: none;
            border-color: rgba(16, 185, 129, 0.55);
            box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
        }

        .jg-jchat-send {
            flex-shrink: 0;
            width: 2.75rem;
            height: 2.75rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: none;
            border-radius: 0.85rem;
            background: #059669;
            color: #fff;
            cursor: pointer;
        }

        .jg-jchat-send svg {
            width: 1.15rem;
            height: 1.15rem;
        }

        .jg-jchat-send:disabled {
            opacity: 0.55;
        }

        .jg-jchat-spinner {
            width: 1.15rem;
            height: 1.15rem;
            border: 2px solid rgba(255, 255, 255, 0.35);
            border-top-color: #fff;
            border-radius: 9999px;
            animation: jgJchatSpin 0.7s linear infinite;
        }

        @keyframes jgJchatSpin {
            to { transform: rotate(360deg); }
        }

        .jg-jchat-footer-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 0.5rem;
            margin-top: 0.55rem;
        }

        .jg-jchat-continue {
            padding: 0;
            border: none;
            background: transparent;
            font-size: 0.75rem;
            font-weight: 800;
            color: #047857;
            cursor: pointer;
        }

        .jg-jchat-disclaimer {
            font-size: 0.625rem;
            font-weight: 600;
            color: #94a3b8;
        }

        html.jg-jchat-open,
        html.jg-jchat-open body {
            overflow: hidden !important;
        }
    }
@media (min-width: 1024px) {
        body:has(#patient-journey-root.jg-root--home-journey) {
            /* Tokens compartilhados: dock/painel alinhados ao .jgd-scroll */
            --jg-jchat-rail-inset-x: 1.65rem;
            --jg-jchat-rail-scrollbar: 7px;
            --jg-jchat-rail-inset-bottom: 1.35rem;
            --jg-jchat-card-radius: 1.15rem;
            --jg-jchat-dock-block: 3.5rem;
            --jg-jchat-panel-gap: 0.45rem;
            --jg-jchat-panel-max-h: 19rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-mobile-only {
            display: none !important;
        }

        /*
         * Island vive em , fora do grid da jornada.
         * Escopo: body:has(#patient-journey-root) + .jg-jchat-anchor (prefixo jg-jchat-*).
         */
        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor {
            --jg-jchat-stage-col: clamp(380px, 28vw, 440px);
            position: fixed !important;
            top: auto !important;
            left: 0;
            right: auto;
            bottom: 0 !important;
            z-index: 50; /* abaixo do modal Grátis (510) em journey-overlays */
            width: calc(100vw - var(--jg-jchat-stage-col));
            max-width: none;
            height: auto;
            margin: 0;
            padding: 0;
            overflow: visible;
            pointer-events: none;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-island-shell,
        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-root {
            pointer-events: auto;
            position: relative;
            width: 100%;
            box-sizing: border-box;
            /* Fallback sem JS; journey-landing-chat-desktop-fit.js zera laterais e posiciona o anchor */
            padding:
                0
                calc(var(--jg-jchat-rail-inset-x) + var(--jg-jchat-rail-scrollbar))
                var(--jg-jchat-rail-inset-bottom)
                var(--jg-jchat-rail-inset-x);
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-desktop-only {
            display: flex;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dock {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            width: 100%;
            margin: 0;
            padding: 0.6rem 0.7rem;
            border: 1px solid rgba(148, 163, 184, 0.22);
            border-radius: var(--jg-jchat-card-radius);
            background: rgba(255, 255, 255, 0.72);
            backdrop-filter: blur(8px);
            box-shadow:
                0 1px 0 rgba(255, 255, 255, 0.9) inset,
                0 14px 36px -20px rgba(13, 148, 136, 0.22);
            cursor: pointer;
            text-align: left;
            transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dock:hover {
            border-color: rgba(16, 185, 129, 0.45);
            box-shadow: 0 16px 36px -12px rgba(13, 148, 136, 0.42);
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dock:focus-visible {
            outline: 2px solid rgba(16, 185, 129, 0.75);
            outline-offset: 2px;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dock-icon-wrap {
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.125rem;
            height: 2.125rem;
            border-radius: 0.7rem;
            background: linear-gradient(135deg, #059669 0%, #0d9488 100%);
            color: #fff;
            box-shadow: 0 6px 16px -10px rgba(13, 148, 136, 0.45);
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-bot-icon--dock {
            width: 1.2rem;
            height: 1.2rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dock-copy {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 0.1rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dock-label {
            font-size: 0.75rem;
            font-weight: 800;
            color: #0f172a;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dock-hint {
            font-size: 0.625rem;
            font-weight: 600;
            color: #64748b;
            line-height: 1.35;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dock-chevron {
            flex-shrink: 0;
            width: 0.95rem;
            height: 0.95rem;
            color: #64748b;
            transition: transform 0.22s ease;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-root:has(.jg-jchat-panel:not([style*='display: none'])) .jg-jchat-dock-chevron,
        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dock[aria-expanded='true'] .jg-jchat-dock-chevron {
            transform: rotate(180deg);
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-panel {
            position: absolute;
            left: 0;
            right: 0;
            bottom: calc(100% + var(--jg-jchat-panel-gap));
            z-index: 2;
            display: flex;
            flex-direction: column;
            width: 100%;
            max-height: var(--jg-jchat-panel-max-h);
            border-radius: var(--jg-jchat-card-radius);
            overflow: hidden;
            border: 1px solid rgba(148, 163, 184, 0.22);
            background: #fff;
            box-shadow:
                0 1px 0 rgba(255, 255, 255, 0.95) inset,
                0 18px 44px -24px rgba(13, 148, 136, 0.22);
        }

        body:has(.jg-jchat-anchor) #patient-journey-root.jg-root--home-journey .jg-desktop-rail .jgd-scroll {
            padding-bottom: calc(var(--jg-jchat-dock-block) + var(--jg-jchat-rail-inset-bottom) + 0.35rem);
            transition: padding-bottom 0.28s cubic-bezier(0.22, 1, 0.36, 1);
        }

        #patient-journey-root.jg-root--home-journey[data-jg-chat-dock='expanded'] .jg-desktop-rail .jgd-scroll {
            padding-bottom: calc(
                var(--jg-jchat-panel-max-h) + var(--jg-jchat-panel-gap) +
                var(--jg-jchat-dock-block) + var(--jg-jchat-rail-inset-bottom) + 0.35rem
            );
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-header {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.6rem 0.7rem;
            background: linear-gradient(135deg, #059669 0%, #0d9488 100%);
            color: #fff;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-header-avatar {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border-radius: 0.65rem;
            border: 2px solid rgba(255, 255, 255, 0.35);
            background: rgba(255, 255, 255, 0.16);
            color: #fff;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-bot-icon--header {
            width: 1.15rem;
            height: 1.15rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-header-copy {
            flex: 1;
            min-width: 0;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-header-name {
            margin: 0;
            font-size: 0.8125rem;
            font-weight: 800;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-header-sub {
            margin: 0.1rem 0 0;
            font-size: 0.625rem;
            font-weight: 600;
            color: rgba(236, 253, 245, 0.92);
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-close {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border: none;
            border-radius: 0.65rem;
            background: rgba(255, 255, 255, 0.15);
            color: #fff;
            cursor: pointer;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-close svg {
            width: 0.95rem;
            height: 0.95rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-scroll {
            flex: 1;
            min-height: 0;
            overflow-y: auto;
            padding: 0.55rem 0.65rem;
            background: #fafaf9;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-msg {
            display: flex;
            margin-bottom: 0.55rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-msg--user {
            justify-content: flex-end;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-msg--assistant {
            justify-content: flex-start;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-bubble {
            max-width: 90%;
            padding: 0.55rem 0.75rem;
            border-radius: 0.9rem;
            font-size: 0.8125rem;
            line-height: 1.5;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-msg--user .jg-jchat-bubble {
            background: #059669;
            color: #fff;
            border-bottom-right-radius: 0.2rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-msg--assistant .jg-jchat-bubble {
            background: #fff;
            border: 1px solid rgba(226, 232, 240, 0.95);
            color: #1e293b;
            border-bottom-left-radius: 0.2rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-bubble-name {
            margin: 0 0 0.2rem;
            font-size: 0.625rem;
            font-weight: 800;
            color: #047857;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-markdown p {
            margin: 0.3rem 0;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-link {
            color: #047857;
            font-weight: 700;
            text-decoration: underline;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-text {
            white-space: pre-wrap;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-typing {
            display: flex;
            align-items: flex-end;
            gap: 0.45rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-typing-avatar {
            width: 1.75rem;
            height: 1.75rem;
            border-radius: 9999px;
            background: linear-gradient(135deg, #10b981, #0d9488);
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-bot-icon--typing {
            width: 1.05rem;
            height: 1.05rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-typing-bubble {
            padding: 0.55rem 0.75rem;
            background: #fff;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 0.9rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-typing-label {
            margin: 0 0 0.25rem;
            font-size: 0.625rem;
            font-weight: 800;
            color: #047857;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-dot {
            width: 0.4rem;
            height: 0.4rem;
            border-radius: 9999px;
            background: #10b981;
            animation: jgJchatTypingDot 1.05s ease-in-out infinite;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-footer {
            flex-shrink: 0;
            padding: 0.45rem 0.55rem 0.55rem;
            border-top: 1px solid rgba(226, 232, 240, 0.9);
            background: #fff;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-form {
            display: flex;
            gap: 0.45rem;
            align-items: flex-end;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-input {
            flex: 1;
            min-height: 2.15rem;
            max-height: 4rem;
            resize: none;
            padding: 0.45rem 0.6rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 0.65rem;
            background: #fafaf9;
            font-size: 0.75rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-input:focus {
            outline: none;
            border-color: rgba(16, 185, 129, 0.55);
            box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-send {
            flex-shrink: 0;
            width: 2.15rem;
            height: 2.15rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: none;
            border-radius: 0.65rem;
            background: #059669;
            color: #fff;
            cursor: pointer;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-send svg {
            width: 1rem;
            height: 1rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-spinner {
            width: 1rem;
            height: 1rem;
            border: 2px solid rgba(255, 255, 255, 0.35);
            border-top-color: #fff;
            border-radius: 9999px;
            animation: jgJchatSpin 0.7s linear infinite;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-footer-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 0.4rem;
            margin-top: 0.45rem;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-continue {
            padding: 0;
            border: none;
            background: transparent;
            font-size: 0.6875rem;
            font-weight: 800;
            color: #047857;
            cursor: pointer;
        }

        body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-disclaimer {
            font-size: 0.5625rem;
            font-weight: 600;
            color: #94a3b8;
        }

        @media (min-width: 1280px) {
            body:has(#patient-journey-root.jg-root--home-journey) {
                --jg-jchat-rail-inset-x: 2.1rem;
            }

            body:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor {
                --jg-jchat-stage-col: clamp(400px, 28vw, 460px);
            }
        }

        /* JS ativo: posição/largura vêm do fit; evita flash de padding duplicado */
        body.jg-jchat-dock-fit-ready:has(#patient-journey-root.jg-root--home-journey) .jg-jchat-anchor .jg-jchat-root {
            padding-left: 0;
            padding-right: 0;
        }

        @keyframes jgJchatTypingDot {
            0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
            30% { transform: translateY(-4px); opacity: 1; }
        }

        @keyframes jgJchatSpin {
            to { transform: rotate(360deg); }
        }
    }
html:has(#patient-journey-root.jg-root--patient-journey),
    body:has(#patient-journey-root.jg-root--patient-journey) {
        margin: 0 !important;
        padding: 0 !important;
        scroll-padding: 0 !important;
    }

    #patient-journey-root.jg-root--patient-journey {
        margin: 0 !important;
        padding: 0 !important;
    }

    @media (max-width: 1023px) {
        html:has(#patient-journey-root.jg-root--patient-journey),
        body:has(#patient-journey-root.jg-root--patient-journey) {
            height: 100% !important;
            min-height: 100% !important;
            overflow: hidden !important;
        }

        #patient-journey-root.jg-root--patient-journey {
            position: fixed !important;
            top: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 100% !important;
            min-height: 100% !important;
            max-height: none !important;
            inset: 0 !important;
        }
    }

    @media (min-width: 1024px) {
        html:has(#patient-journey-root.jg-root--home-journey),
        body:has(#patient-journey-root.jg-root--home-journey) {
            height: 100vh !important;
            min-height: 100vh !important;
            max-height: 100vh !important;
            overflow: hidden !important;
        }

        #patient-journey-root.jg-root--home-journey {
            top: 0 !important;
            min-height: 100vh !important;
            height: 100vh !important;
            max-height: 100vh !important;
        }
    }

    body:has(#patient-journey-root.jg-root--patient-journey) .jg-journey-overlays-mount {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        pointer-events: none !important;
        border: 0 !important;
        z-index: 500;
    }

    /* Só modal Grátis — o chat tem posição própria em journey-landing-chat-*-styles */
    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor {
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 0;
        margin: 0;
        padding: 0;
        overflow: visible;
        pointer-events: none;
        border: 0;
    }

    /* Modal fechado: nunca display:flex (quebrava topo em desktop e mobile) */
    body:has(#patient-journey-root.jg-root--patient-journey) .jg-ftm-anchor .jg-ftm-layer[hidden] {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
        border: 0 !important;
    }
@media (max-width: 1023px) {
        #patient-journey-root.jg-root--patient-journey,
        .jg-root--patient-journey {
            display: flex;
            flex-direction: column;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            height: 100lvh !important;
            min-height: 100lvh !important;
            max-height: 100lvh !important;
        }

        .jg-root--patient-journey .jg-desktop-rail {
            display: none !important;
        }

        .jg-root--patient-journey .jg-desktop-stage,
        .jg-root--patient-journey .jg-desktop-phone {
            display: flex;
            flex: 1 1 auto;
            flex-direction: column;
            min-height: 0;
            width: 100%;
            height: auto;
        }

        .jg-root--patient-journey .jg-desktop-phone {
            position: relative;
            isolation: isolate;
        }

        .jg-root--patient-journey .jg-top-chrome {
            flex-shrink: 0;
        }

        /* Evita altura 0 da cena (container-type:size + flex em alguns Android/Chrome) */
        .jg-root--patient-journey .jg-scene-shell {
            flex: 1 1 0;
            min-height: var(--jg-mobile-scene-min, min(52lvh, 420px));
            container-type: normal;
            container-name: none;
            overflow-x: hidden;
            overscroll-behavior: contain;
        }

        .jg-root--patient-journey .jg-scene {
            flex: 1 1 auto;
            min-height: var(--jg-mobile-scene-min, min(52lvh, 420px));
            height: auto;
            display: flex;
            flex-direction: column;
            opacity: 1;
            visibility: visible;
            animation: jg-scene-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
        }

        /* ─── Welcome — layout premium mobile ─── */
        .jg-root--patient-journey .jg-scene--welcome {
            min-height: 0;
            overflow: hidden;
        }

        .jg-root--patient-journey .jg-welcome-top {
            justify-content: center;
            text-align: center;
        }

        .jg-root--patient-journey .jg-welcome-heloisa-text {
            text-align: center;
            width: 100%;
        }

        .jg-root--patient-journey .jg-welcome-hero-inner {
            flex: 1 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: clamp(0.55rem, 1.6lvh, 0.8rem);
            padding: clamp(0.9rem, 2.4lvh, 1.1rem) clamp(0.82rem, 3.2vw, 0.95rem);
            overflow: hidden;
        }

        .jg-root--patient-journey .jg-welcome-intro {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            gap: clamp(0.4rem, 1.2lvh, 0.55rem);
            flex-shrink: 0;
            width: 100%;
        }

        .jg-root--patient-journey .jg-welcome-sub {
            color: #475569;
        }

        .jg-root--patient-journey .jg-welcome-features {
            flex: 0 1 auto;
            min-height: 0;
            width: 100%;
            margin: 0;
            padding: 0;
            gap: clamp(0.45rem, 1.4lvh, 0.62rem);
            justify-content: center;
        }

        .jg-root--patient-journey .jg-welcome-feature {
            align-items: center;
            justify-content: center;
            gap: 0.72rem;
            padding: clamp(0.68rem, 1.8lvh, 0.78rem) clamp(0.72rem, 3vw, 0.82rem);
            border-radius: 0.95rem;
        }

        .jg-root--patient-journey .jg-welcome-feature__orb {
            width: 2.55rem;
            height: 2.55rem;
            flex-shrink: 0;
        }

        .jg-root--patient-journey .jg-welcome-feature__icon {
            width: 1.2rem;
            height: 1.2rem;
        }

        .jg-root--patient-journey .jg-welcome-feature__copy {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.16rem;
            text-align: center;
        }

        .jg-root--patient-journey .jg-welcome-feature__lead {
            font-weight: 800;
            color: #0f172a;
        }

        .jg-root--patient-journey .jg-welcome-feature__detail {
            color: #64748b;
        }

        .jg-root--patient-journey .jg-welcome-foot {
            flex-shrink: 0;
            margin-top: auto;
            padding-top: clamp(0.2rem, 0.8lvh, 0.35rem);
        }

        /* Viewport tiers (JS: data-jg-mobile-vh) */
        .jg-root--patient-journey[data-jg-mobile-vh="xs"] .jg-welcome-hero-inner {
            padding-top: 0.72rem;
            padding-bottom: 0.72rem;
            gap: 0.45rem;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="xs"] .jg-welcome-features {
            gap: 0.38rem;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="xs"] .jg-welcome-feature {
            padding-top: 0.58rem;
            padding-bottom: 0.58rem;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-welcome-hero-inner {
            justify-content: center;
            gap: 0.75rem;
        }

        /* Portal beat 1 — altura do vídeo fixada em px pelo mobile-shell (evita oscilar com barra do navegador) */
        .jg-root--patient-journey .jv5-portal-specialist__device {
            --jg-specialist-phone-h: var(--jg-portal-phone-h, min(24lvh, 172px)) !important;
        }

        .jg-root--patient-journey .jg-btn,
        .jg-root--patient-journey .jg-btn--compact {
            min-height: calc(clamp(2.85rem, 8lvh, 3.25rem) * var(--jg-m-ui, 1)) !important;
        }

    }
@media (max-width: 1023px) {
        /* ─── Shell: ocupa tela, sem scroll da página ─── */
        .jg-root--patient-journey .jg-scene-shell {
            overflow: hidden;
            padding-bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
        }

        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-scene-shell {
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }

        /* Scroll inteligente no card de conteúdo quando o JS detectar corte (jg-m-scroll-panel) */
        .jg-root--patient-journey .jg-m-scroll-panel {
            overflow-x: hidden !important;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            touch-action: pan-y;
            justify-content: flex-start !important;
            align-content: flex-start;
            min-height: 0;
            max-height: 100%;
            flex: 1 1 auto;
        }

        .jg-root--patient-journey .jg-scene--celebration .jg-scene-body.jg-m-scroll-panel,
        .jg-root--patient-journey .jg-scene--interstitial .jg-scene-body.jg-m-scroll-panel {
            align-items: center;
            text-align: center;
            padding-bottom: calc(var(--jg-m-gap, 0.5rem) * 0.45);
        }

        .jg-root--patient-journey .jg-scene {
            height: 100%;
            max-height: 100%;
            min-height: 0;
            overflow: hidden;
        }

        /* Layout em grade: topo · conteúdo flex · rodapé */
        .jg-root--patient-journey .jg-welcome-scene,
        .jg-root--patient-journey .jg-mirror-scene,
        .jg-root--patient-journey .jg-stage-scene,
        .jg-root--patient-journey .jg-concerns-scene,
        .jg-root--patient-journey .jg-commit-scene,
        .jg-root--patient-journey .jg-specialist-scene,
        .jg-root--patient-journey .jg-wizard-med-scene {
            display: grid;
            grid-template-rows: auto minmax(0, 1fr) auto;
            height: 100%;
            min-height: 0;
            overflow: hidden;
            gap: var(--jg-m-gap, 0.5rem);
        }

        .jg-root--patient-journey .jg-pillar-scene,
        .jg-root--patient-journey .jg-match-scene {
            display: grid;
            grid-template-rows: auto auto minmax(0, 1fr) auto;
            height: 100%;
            min-height: 0;
            overflow: hidden;
            gap: var(--jg-m-gap, 0.45rem);
        }

        .jg-root--patient-journey .jg-scene--interstitial > .jg-scene-grid,
        .jg-root--patient-journey .jg-scene--celebration > .jg-scene-grid {
            display: grid;
            grid-template-rows: minmax(0, 1fr) auto;
            height: 100%;
            min-height: 0;
            gap: var(--jg-m-gap, 0.5rem);
        }

        .jg-root--patient-journey .jg-scene--interstitial .jg-scene-body,
        .jg-root--patient-journey .jg-scene--celebration .jg-scene-body {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            min-height: 0;
            overflow: hidden;
            padding: var(--jg-m-pad, 0.75rem) 0.5rem;
        }

        /* Blocos principais centralizados */
        .jg-root--patient-journey .jg-welcome-main,
        .jg-root--patient-journey .jg-mirror-main,
        .jg-root--patient-journey .jg-pillar-main,
        .jg-root--patient-journey .jg-match-main,
        .jg-root--patient-journey .jg-stage-main,
        .jg-root--patient-journey .jg-concerns-main,
        .jg-root--patient-journey .jg-commit-main,
        .jg-root--patient-journey .jg-specialist-body {
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .jg-root--patient-journey .jg-welcome-hero,
        .jg-root--patient-journey .jg-mirror-hero,
        .jg-root--patient-journey .jg-pillar-hero,
        .jg-root--patient-journey .jg-match-hero,
        .jg-root--patient-journey .jg-stage-hero,
        .jg-root--patient-journey .jg-concerns-hero,
        .jg-root--patient-journey .jg-commit-hero {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .jg-root--patient-journey .jg-welcome-hero-inner,
        .jg-root--patient-journey .jg-mirror-hero-inner,
        .jg-root--patient-journey .jg-pillar-hero-inner,
        .jg-root--patient-journey .jg-match-hero-inner,
        .jg-root--patient-journey .jg-stage-hero-inner,
        .jg-root--patient-journey .jg-concerns-hero-inner,
        .jg-root--patient-journey .jg-commit-hero-inner {
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            gap: calc(var(--jg-m-gap, 0.5rem) * 1.1);
            padding: var(--jg-m-pad, 0.75rem) clamp(0.72rem, 3vw, 0.88rem);
        }

        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-welcome-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-mirror-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-pillar-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-match-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-stage-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-concerns-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-commit-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-commit-main {
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            justify-content: flex-start;
        }

        .jg-root--patient-journey .jg-commit-main {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            justify-content: center;
            gap: calc(var(--jg-m-gap, 0.5rem) * 0.9);
        }

        .jg-root--patient-journey .jg-commit-hero {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .jg-root--patient-journey .jg-commit-benefits {
            flex-shrink: 0;
            margin: 0;
            padding: 0;
            gap: calc(var(--jg-m-gap, 0.5rem) * 0.65);
        }

        .jg-root--patient-journey .jg-mirror-stat {
            flex-shrink: 0;
            text-align: center;
        }

        /* Copiloto / topo */
        .jg-root--patient-journey .jg-welcome-top,
        .jg-root--patient-journey .jg-mirror-heloisa,
        .jg-root--patient-journey .jg-pillar-heloisa,
        .jg-root--patient-journey .jg-match-heloisa,
        .jg-root--patient-journey .jg-stage-top,
        .jg-root--patient-journey .jg-concerns-top,
        .jg-root--patient-journey .jg-commit-top,
        .jg-root--patient-journey .jg-wizard-med-top {
            flex-shrink: 0;
            align-items: center;
        }

        .jg-root--patient-journey .jg-pillar-step,
        .jg-root--patient-journey .jg-match-step {
            flex-shrink: 0;
            text-align: center;
        }

        /* Cards premium — feature, stage, concerns, pains */
        .jg-root--patient-journey .jg-welcome-features {
            width: 100%;
            gap: calc(var(--jg-m-gap, 0.5rem) * 0.9);
            justify-content: center;
        }

        .jg-root--patient-journey .jg-stage-list,
        .jg-root--patient-journey .jg-concerns-grid {
            width: 100%;
            gap: calc(var(--jg-m-gap, 0.5rem) * 0.85);
            justify-content: center;
        }

        .jg-root--patient-journey .jg-stage-card,
        .jg-root--patient-journey .jg-concern-tile,
        .jg-root--patient-journey .jg-welcome-feature {
            align-items: center;
            justify-content: center;
        }

        .jg-root--patient-journey .jg-stage-card__body,
        .jg-root--patient-journey .jg-concern-body,
        .jg-root--patient-journey .jg-welcome-feature__copy {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
        }

        .jg-root--patient-journey .jg-mirror-pains {
            justify-content: center;
            gap: 0.35rem;
        }

        .jg-root--patient-journey .jg-mirror-pain {
            justify-content: center;
        }

        .jg-root--patient-journey .jg-pillar-highlights,
        .jg-root--patient-journey .jg-match-highlights {
            justify-content: center;
        }

        .jg-root--patient-journey .jg-pillar-nav {
            flex-shrink: 0;
            margin-top: calc(var(--jg-m-gap, 0.5rem) * 0.5);
        }

        /* Rodapés */
        .jg-root--patient-journey .jg-welcome-foot,
        .jg-root--patient-journey .jg-mirror-foot,
        .jg-root--patient-journey .jg-pillar-foot,
        .jg-root--patient-journey .jg-match-foot,
        .jg-root--patient-journey .jg-stage-foot,
        .jg-root--patient-journey .jg-concerns-foot,
        .jg-root--patient-journey .jg-commit-foot,
        .jg-root--patient-journey .jg-specialist-foot,
        .jg-root--patient-journey .jg-scene-foot {
            flex-shrink: 0;
            margin-top: 0;
            padding-top: calc(var(--jg-m-gap, 0.5rem) * 0.35);
        }

        /* Wizard (terapia/corpo v5 usam 3 linhas: cabeçalho · scroll · Continuar) */
        .jg-root--patient-journey .jg-wizard-med-scene:not(.jv5-wizard--therapy):not(.jv5-wizard--body) {
            grid-template-rows: auto minmax(0, 1fr);
        }

        .jg-root--patient-journey .jv5-wizard--therapy.jg-wizard-med-scene,
        .jg-root--patient-journey .jv5-wizard--body.jg-wizard-med-scene {
            grid-template-rows: auto minmax(0, 1fr) auto !important;
        }

        .jg-root--patient-journey .jg-wizard-med-scene:not(.jv5-wizard--therapy):not(.jv5-wizard--body) > :not(.jg-wizard-med-top) {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .jg-root--patient-journey .jv5-wizard--therapy > .jv5-wizard-head {
            overflow: visible;
            justify-content: flex-start !important;
        }

        .jg-root--patient-journey .jv5-wizard--therapy > .jv5-therapy-scroll {
            display: block !important;
            flex: unset !important;
            min-height: 0;
            overflow-x: hidden;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            justify-content: flex-start !important;
        }

        .jg-root--patient-journey .jv5-wizard--therapy > .jv5-therapy-foot,
        .jg-root--patient-journey .jv5-wizard--body > .jv5-bio-foot {
            display: block !important;
            flex: unset !important;
            overflow: visible !important;
            min-height: 3rem;
            z-index: 5;
        }

        .jg-root--patient-journey .jv5-wizard--body > .jv5-wizard-head {
            grid-row: 1;
            overflow: visible;
            justify-content: flex-start !important;
        }

        .jg-root--patient-journey .jv5-wizard--body > .jv5-bio-scroll {
            grid-row: 2;
            display: block !important;
            flex: unset !important;
            min-height: 0;
            max-height: 100%;
            overflow-x: hidden;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            touch-action: pan-y;
            justify-content: flex-start !important;
            align-self: stretch;
        }

        .jg-root--patient-journey .jv5-wizard--body > .jv5-bio-foot {
            grid-row: 3;
        }

        .jg-root--patient-journey .jg-wizard-bio-scene .jg-bio-grid {
            gap: calc(var(--jg-m-gap, 0.5rem) * 0.85);
        }

        .jg-root--patient-journey .jg-scene--interstitial .jg-headline,
        .jg-root--patient-journey .jg-scene--celebration .jg-headline {
            font-size: clamp(1.05rem, 4.5vw, 1.25rem);
            line-height: 1.22;
        }

        .jg-root--patient-journey .jg-scene--celebration .jg-card-elevated {
            max-width: 100%;
            margin-top: calc(var(--jg-m-gap, 0.5rem) * 1.2) !important;
        }

        .jg-root--patient-journey .jg-med-scene,
        .jg-root--patient-journey .jg-time-scene,
        .jg-root--patient-journey .jg-bio-scene {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        /* Conta: alinha ao topo para o cumprimento da Vivi nao ser cortado pelo overflow */
        .jg-root--patient-journey .jg-wizard-account-scene {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
        }

        .jg-root--patient-journey .jg-wizard-account-scene > .jv5-wizard-head {
            flex: 0 0 auto;
            flex-shrink: 0;
            overflow: visible !important;
            min-height: auto;
            max-height: none;
        }

        .jg-root--patient-journey .jg-wizard-account-scene .jg-wizard-account-coach,
        .jg-root--patient-journey .jg-wizard-account-scene .jg-wizard-account-bubble,
        .jg-root--patient-journey .jg-wizard-account-scene .jg-wizard-account-sub {
            overflow: visible !important;
        }

        .jg-root--patient-journey .jg-wizard-account-scene .jg-account-scene {
            margin-top: 0.2rem;
        }

        .jg-root--patient-journey .jg-wizard-bio-scene .jg-wizard-bio-form,
        .jg-root--patient-journey .jg-wizard-meta-scene .jg-wizard-bio-form {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .jg-root--patient-journey .jg-med-panel-inner,
        .jg-root--patient-journey .jg-time-panel-inner {
            max-height: 100%;
            overflow: hidden;
            justify-content: center;
        }

        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-med-panel-inner,
        .jg-root--patient-journey[data-jg-mobile-fit="allow"] .jg-time-panel-inner {
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }

        /* Minha saúde: grade longa — scroll sempre na lista de sintomas */
        .jg-root--patient-journey .jg-wizard-health-scene > :not(.jg-wizard-med-top) {
            justify-content: flex-start;
        }

        .jg-root--patient-journey .jg-wizard-health-scene .jg-wizard-bio-form {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }

        .jg-root--patient-journey .jg-wizard-health-scene .jg-health-scene {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            gap: calc(var(--jg-m-gap, 0.5rem) * 0.85);
        }

        .jg-root--patient-journey .jg-wizard-health-scene .jg-med-panel {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }

        .jg-root--patient-journey .jg-wizard-health-scene .jg-health-panel-inner {
            flex: 1 1 auto;
            min-height: 0;
            max-height: 100%;
            overflow-x: hidden;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            touch-action: pan-y;
            justify-content: flex-start;
            padding-bottom: 0.35rem;
        }

        .jg-root--patient-journey .jg-wizard-health-scene .jg-health-grid {
            flex-shrink: 0;
        }

        .jg-root--patient-journey .jg-wizard-health-scene .jg-health-foot {
            flex-shrink: 0;
            margin-top: 0;
            padding-top: calc(var(--jg-m-gap, 0.5rem) * 0.4);
        }

        /* Conta: scroll interno + preview CEP sempre visível após lookup */
        .jg-root--patient-journey .jg-wizard-account-scene .jg-med-panel {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }

        .jg-root--patient-journey .jg-wizard-account-scene .jg-account-scroll {
            flex: 1 1 auto;
            min-height: 0;
            overflow-x: hidden;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            touch-action: pan-y;
        }

        .jg-root--patient-journey .jg-wizard-account-scene .jg-account-foot {
            flex-shrink: 0;
        }

        .jg-root--patient-journey .jg-account-cep-preview:not(.hidden) {
            display: flex !important;
            flex-shrink: 0;
        }

        .jg-root--patient-journey .jg-account-cep-status:not(.hidden) {
            display: block !important;
        }

        .jg-root--patient-journey .jg-time-list {
            gap: calc(var(--jg-m-gap, 0.5rem) * 0.75);
        }

        /* Specialist */
        .jg-root--patient-journey .jg-specialist-scene {
            grid-template-rows: auto minmax(0, 1fr) auto;
        }

        .jg-root--patient-journey .jg-specialist-head {
            text-align: center;
            flex-shrink: 0;
        }

        .jg-root--patient-journey .jg-specialist-body {
            align-items: center;
            justify-content: center;
        }

        /* Tiers de altura da tela (tipografia: journey-mobile-adaptive-styles) */
        .jg-root--patient-journey[data-jg-mobile-vh="xs"] .jg-top-chrome {
            --jg-gap-header-progress: 0.45rem;
            --jg-gap-progress-scene: 0.45rem;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="xs"] .jg-progress-section {
            padding-bottom: 0.4rem;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-welcome-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-mirror-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-pillar-hero-inner,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-stage-hero-inner {
            justify-content: center;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-scene-shell {
            padding-bottom: max(0.85rem, calc(env(safe-area-inset-bottom, 0px) + 0.25rem));
        }

        html.jg-mobile-env[data-jg-mobile-browser="samsung"] .jg-root--patient-journey .jg-scene {
            letter-spacing: -0.01em;
        }
    }
@media (max-width: 1023px) {
        .jg-root--patient-journey {
            --jg-m-type: 1;
            --jg-m-space: 1;
            --jg-m-icon: 1;
            --jg-m-ui: 1;
            --jg-m-surface-scale: 1;
        }

        .jg-root--patient-journey .jg-scene-shell {
            container-type: normal !important;
            container-name: none !important;
        }

        .jg-root--patient-journey .jg-m-fit-surface {
            width: 100%;
            min-height: 0;
            will-change: transform;
        }

        /* Portal v5: não bloquear scroll interno com fit-surface. */
        .jg-root--patient-journey[data-jg-mobile-fit="fit"] .jg-scene--portal-connect .jv5-scene.jg-m-fit-surface {
            max-height: 100%;
            min-height: 0;
            overflow: hidden;
        }

        .jg-root--patient-journey[data-jg-mobile-fit="fit"] .jg-m-fit-surface {
            max-height: 100%;
            overflow: hidden;
        }

        .jg-root--patient-journey[data-jg-mobile-fit="fit"] .jg-m-fit-surface.jg-wizard-health-scene {
            display: grid;
            grid-template-rows: auto minmax(0, 1fr);
            min-height: 0;
        }

        /* Neutraliza encolhimento legado em telas altas (spacious / balanced) */
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-welcome-headline,
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-mirror-headline,
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-pillar-title,
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-match-title,
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-headline,
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-specialist-title,
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-stage-card__label,
        .jg-root--patient-journey[data-jg-density="balanced"] .jg-welcome-headline,
        .jg-root--patient-journey[data-jg-density="balanced"] .jg-mirror-headline,
        .jg-root--patient-journey[data-jg-density="balanced"] .jg-pillar-title,
        .jg-root--patient-journey[data-jg-density="balanced"] .jg-match-title,
        .jg-root--patient-journey[data-jg-density="balanced"] .jg-headline {
            display: block;
            -webkit-line-clamp: unset;
            overflow: visible;
        }

        .jg-root--patient-journey .jg-welcome-headline,
        .jg-root--patient-journey .jg-mirror-headline,
        .jg-root--patient-journey .jg-pillar-title,
        .jg-root--patient-journey .jg-match-title,
        .jg-root--patient-journey .jg-headline,
        .jg-root--patient-journey .jg-specialist-title {
            font-size: calc(clamp(1.2rem, 4.8vw, 1.42rem) * var(--jg-m-type, 1)) !important;
            line-height: 1.2 !important;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-welcome-headline,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-mirror-headline,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-pillar-title,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-match-title,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-headline,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-specialist-title,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-welcome-headline,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-mirror-headline,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-pillar-title,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-match-title,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-headline,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-specialist-title {
            font-size: calc(clamp(1.45rem, 5.2lvh, 1.9rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey[data-jg-density="spacious"][data-jg-mobile-vh="xl"] .jg-welcome-headline,
        .jg-root--patient-journey[data-jg-density="spacious"][data-jg-mobile-vh="xl"] .jg-mirror-headline,
        .jg-root--patient-journey[data-jg-density="spacious"][data-jg-mobile-vh="xl"] .jg-pillar-title,
        .jg-root--patient-journey[data-jg-density="spacious"][data-jg-mobile-vh="xl"] .jg-match-title {
            font-size: calc(clamp(1.55rem, 5.8lvh, 2rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey .jg-welcome-sub,
        .jg-root--patient-journey .jg-mirror-body,
        .jg-root--patient-journey .jg-pillar-body,
        .jg-root--patient-journey .jg-match-body,
        .jg-root--patient-journey .jg-sub,
        .jg-root--patient-journey .jg-specialist-sub,
        .jg-root--patient-journey .jg-stage-sub,
        .jg-root--patient-journey .jg-commit-sub {
            font-size: calc(clamp(0.9rem, 3.2vw, 1.02rem) * var(--jg-m-type, 1)) !important;
            line-height: 1.5 !important;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-welcome-sub,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-mirror-body,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-pillar-body,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-match-body,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-sub,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-welcome-sub,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-mirror-body,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-pillar-body,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-match-body,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-sub {
            font-size: calc(clamp(1rem, 3.4lvh, 1.125rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey .jg-welcome-heloisa-text,
        .jg-root--patient-journey .jg-mirror-heloisa-text,
        .jg-root--patient-journey .jg-pillar-heloisa-text,
        .jg-root--patient-journey .jg-match-heloisa-text,
        .jg-root--patient-journey .jg-stage-prompt,
        .jg-root--patient-journey .jg-concerns-prompt,
        .jg-root--patient-journey .jg-commit-prompt,
        .jg-root--patient-journey .jg-wizard-med-prompt {
            font-size: calc(clamp(0.84rem, 3vw, 0.96rem) * var(--jg-m-type, 1)) !important;
            line-height: 1.38 !important;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-welcome-heloisa-text,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-mirror-heloisa-text,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-welcome-heloisa-text,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-mirror-heloisa-text {
            font-size: calc(clamp(0.92rem, 3.2lvh, 1.05rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey .jg-welcome-feature__lead,
        .jg-root--patient-journey .jg-stage-card__label,
        .jg-root--patient-journey .jg-concern-label,
        .jg-root--patient-journey .jg-commit-benefit-text,
        .jg-root--patient-journey .jg-pillar-highlight,
        .jg-root--patient-journey .jg-match-highlight {
            font-size: calc(clamp(0.8rem, 2.9vw, 0.9rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-welcome-feature__lead,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-stage-card__label,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-welcome-feature__lead,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-stage-card__label {
            font-size: calc(clamp(0.88rem, 3lvh, 0.98rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey .jg-welcome-feature__detail,
        .jg-root--patient-journey .jg-stage-card__sub,
        .jg-root--patient-journey .jg-mirror-pain,
        .jg-root--patient-journey .jg-specialist-bullet {
            font-size: calc(clamp(0.74rem, 2.7vw, 0.84rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey .jg-heloisa-avatar {
            width: calc(2.65rem * var(--jg-m-icon, 1)) !important;
            height: calc(2.65rem * var(--jg-m-icon, 1)) !important;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-heloisa-avatar,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-heloisa-avatar {
            width: calc(3rem * var(--jg-m-icon, 1)) !important;
            height: calc(3rem * var(--jg-m-icon, 1)) !important;
        }

        .jg-root--patient-journey .jg-pillar-icon-orbit,
        .jg-root--patient-journey .jg-match-icon-orbit {
            width: calc(clamp(3.2rem, 11vw, 3.75rem) * var(--jg-m-icon, 1)) !important;
            height: calc(clamp(3.2rem, 11vw, 3.75rem) * var(--jg-m-icon, 1)) !important;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-pillar-icon-orbit,
        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-match-icon-orbit,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-pillar-icon-orbit,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-match-icon-orbit {
            width: calc(clamp(3.65rem, 12lvh, 4.35rem) * var(--jg-m-icon, 1)) !important;
            height: calc(clamp(3.65rem, 12lvh, 4.35rem) * var(--jg-m-icon, 1)) !important;
        }

        .jg-root--patient-journey .jg-welcome-feature {
            padding: calc(0.7rem * var(--jg-m-space, 1)) calc(0.78rem * var(--jg-m-space, 1)) !important;
            border-radius: calc(0.95rem * var(--jg-m-ui, 1));
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-welcome-feature,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-welcome-feature {
            padding: calc(0.85rem * var(--jg-m-space, 1)) calc(0.92rem * var(--jg-m-space, 1)) !important;
        }

        .jg-root--patient-journey .jg-welcome-feature__orb {
            width: calc(2.55rem * var(--jg-m-icon, 1));
            height: calc(2.55rem * var(--jg-m-icon, 1));
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-welcome-feature__orb,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-welcome-feature__orb {
            width: calc(2.85rem * var(--jg-m-icon, 1));
            height: calc(2.85rem * var(--jg-m-icon, 1));
        }

        .jg-root--patient-journey .jg-stage-card,
        .jg-root--patient-journey .jg-concern-tile {
            padding: calc(0.72rem * var(--jg-m-space, 1)) calc(0.78rem * var(--jg-m-space, 1)) !important;
        }

        .jg-root--patient-journey .jg-btn,
        .jg-root--patient-journey .jg-btn--compact {
            min-height: calc(clamp(2.85rem, 8lvh, 3.25rem) * var(--jg-m-ui, 1)) !important;
            font-size: calc(clamp(1rem, 3.6vw, 1.125rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-btn,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-btn {
            min-height: calc(clamp(3rem, 8.5lvh, 3.45rem) * var(--jg-m-ui, 1)) !important;
            font-size: calc(clamp(1.05rem, 3.8lvh, 1.2rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey .jg-mirror-stat-value {
            font-size: calc(clamp(1.35rem, 5vw, 1.65rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-mirror-stat-value {
            font-size: calc(clamp(1.55rem, 5.5lvh, 1.85rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey .jg-interstitial-ring svg {
            width: calc(4.5rem * var(--jg-m-icon, 1));
            height: calc(4.5rem * var(--jg-m-icon, 1));
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-interstitial-ring svg,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-interstitial-ring svg {
            width: calc(5.25rem * var(--jg-m-icon, 1));
            height: calc(5.25rem * var(--jg-m-icon, 1));
        }

        .jg-root--patient-journey .jg-specialist-phone-stage .jg-phone-device {
            --jg-specialist-phone-h: min(calc(34lvh * var(--jg-m-icon, 1)), calc(100lvh - 18rem), 320px);
        }

        .jg-root--patient-journey[data-jg-mobile-vh="lg"] .jg-specialist-phone-stage .jg-phone-device,
        .jg-root--patient-journey[data-jg-mobile-vh="xl"] .jg-specialist-phone-stage .jg-phone-device {
            --jg-specialist-phone-h: min(calc(38lvh * var(--jg-m-icon, 1)), calc(100lvh - 17rem), 360px);
        }

        .jg-root--patient-journey .jg-welcome-headline,
        .jg-root--patient-journey .jg-welcome-sub {
            max-width: min(22rem, 92vw);
        }

        .jg-root--patient-journey[data-jg-mobile-vw="wide"] .jg-welcome-headline,
        .jg-root--patient-journey[data-jg-mobile-vw="wide"] .jg-mirror-headline,
        .jg-root--patient-journey[data-jg-mobile-vw="wide"] .jg-pillar-title,
        .jg-root--patient-journey[data-jg-mobile-vw="wide"] .jg-match-title {
            max-width: 24rem;
        }

        /* Bloqueia regras legadas .jg-root[data-jg-fit] que encolhem em telas altas */
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-pillar-hero-inner,
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-match-hero-inner,
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-mirror-hero-inner,
        .jg-root--patient-journey[data-jg-density="spacious"] .jg-welcome-hero-inner,
        .jg-root--patient-journey[data-jg-density="balanced"] .jg-pillar-hero-inner,
        .jg-root--patient-journey[data-jg-density="balanced"] .jg-match-hero-inner,
        .jg-root--patient-journey[data-jg-density="balanced"] .jg-mirror-hero-inner,
        .jg-root--patient-journey[data-jg-density="balanced"] .jg-welcome-hero-inner {
            overflow: hidden !important;
        }

        .jg-root--patient-journey[data-jg-density="minimal"] .jg-welcome-heloisa-text,
        .jg-root--patient-journey[data-jg-density="minimal"] .jg-mirror-heloisa-text,
        .jg-root--patient-journey[data-jg-density="minimal"] .jg-pillar-heloisa-text,
        .jg-root--patient-journey[data-jg-density="minimal"] .jg-match-heloisa-text {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
        }

        .jg-root--patient-journey[data-jg-density="compact"] .jg-bio-hint,
        .jg-root--patient-journey[data-jg-density="minimal"] .jg-bio-hint {
            display: none;
        }

        .jg-root--patient-journey .jg-med-block-label,
        .jg-root--patient-journey .jg-time-slot-label,
        .jg-root--patient-journey .jg-bio-label {
            font-size: calc(clamp(0.84rem, 3vw, 0.94rem) * var(--jg-m-type, 1)) !important;
        }

        .jg-root--patient-journey .jg-bio-input {
            font-size: calc(clamp(1rem, 3.6vw, 1.125rem) * var(--jg-m-type, 1)) !important;
        }
    }
@media (max-width: 1023px) {
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-top,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-mirror-heloisa,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-pillar-heloisa,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-match-heloisa,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-stage-top,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-concerns-top,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-commit-top,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-wizard-med-top {
            justify-content: center;
            text-align: center;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-heloisa-text,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-mirror-heloisa-text,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-pillar-heloisa-text,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-match-heloisa-text {
            text-align: center;
            width: 100%;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-top,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-mirror-heloisa,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-pillar-heloisa,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-match-heloisa {
            flex-direction: column;
            align-items: center;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-main,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-hero,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-hero-inner {
            animation: none !important;
            transform: none !important;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-hero-inner {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            text-align: center;
            gap: var(--jg-m-gap, 0.55rem);
            overflow: visible;
            padding-top: calc(var(--jg-m-pad, 0.75rem) * 0.9);
            padding-bottom: calc(var(--jg-m-pad, 0.75rem) * 0.5);
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-intro {
            flex-shrink: 0;
            width: 100%;
            z-index: 2;
            position: relative;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-sub {
            margin-left: auto;
            margin-right: auto;
            max-width: min(20rem, 92vw);
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-features {
            flex-shrink: 0;
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0;
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: calc(var(--jg-m-gap, 0.5rem) * 0.95);
            position: relative;
            z-index: 1;
            text-align: center;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-feature {
            animation: none !important;
            transform: none !important;
            opacity: 1 !important;
            position: relative;
            width: 100%;
            max-width: min(22rem, 100%);
            margin-left: auto;
            margin-right: auto;
            flex-direction: row;
            align-items: center;
            justify-content: flex-start;
            text-align: left;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-feature__copy {
            align-items: flex-start;
            text-align: left;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-headline,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-kicker {
            margin-left: auto;
            margin-right: auto;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-mirror-hero-inner,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-pillar-hero-inner,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-match-hero-inner,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-stage-hero-inner,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-concerns-hero-inner,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-commit-hero-inner,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-scene--interstitial .jg-scene-body,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-scene--celebration .jg-scene-body {
            align-items: center;
            text-align: center;
            justify-content: center;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-mirror-pains,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-pillar-highlights,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-match-highlights {
            justify-content: center;
            width: 100%;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-stage-list,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-concerns-grid {
            width: 100%;
            align-items: stretch;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-stage-card,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-concern-tile {
            text-align: center;
            justify-content: center;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-stage-card__body,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-concern-body {
            align-items: center;
            text-align: center;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey[data-jg-density="spacious"] .jg-welcome-hero-inner {
            justify-content: center;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-m-fit-surface {
            transform: none !important;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-foot,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-scene-foot,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-mirror-foot,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-account-foot {
            text-align: center;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-trust {
            justify-content: center;
        }
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-welcome-hero-inner.jg-m-scroll-panel {
            overflow-x: hidden !important;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
        }

        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-scene--celebration .jg-scene-body.jg-m-scroll-panel,
        html.jg-mobile-env[data-jg-mobile-platform="ios"] .jg-root--patient-journey .jg-scene--interstitial .jg-scene-body.jg-m-scroll-panel {
            overflow-x: hidden !important;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
        }
    }
.jg-root--patient-journey .jv5-bio-slider-stack {
        display: flex;
        flex-direction: column;
        flex-shrink: 0;
        gap: 0;
        border-radius: 1rem;
        border: 1.5px solid rgba(226, 232, 240, 0.95);
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 2px 14px -10px rgba(14, 116, 144, 0.14);
    }

    .jg-root--patient-journey .jv5-bio-panel .jv5-bio-slider-stack {
        border: none;
        box-shadow: none;
        background: transparent;
        border-radius: 0;
    }

    .jg-root--patient-journey .jv5-bio-slider-row {
        flex-shrink: 0;
        padding: 0.8rem 0.9rem 0.7rem;
        border-bottom: 1px solid rgba(226, 232, 240, 0.8);
    }

    .jg-root--patient-journey .jv5-bio-slider-row:last-child {
        border-bottom: none;
    }

    .jg-root--patient-journey .jv5-bio-age-block .jv5-bio-slider-row {
        margin-top: 0.55rem;
        padding: 0;
        border-bottom: none;
    }

    .jg-root--patient-journey .jv5-bio-slider-head {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.5rem;
        margin-bottom: 0.6rem;
    }

    .jg-root--patient-journey .jv5-bio-age-block .jv5-bio-slider-head {
        margin-bottom: 0.55rem;
    }

    .jg-root--patient-journey .jv5-bio-slider-label {
        font-size: 0.875rem;
        line-height: 1.25;
        font-weight: 800;
        color: #334155;
    }

    .jg-root--patient-journey .jv5-bio-age-block .jv5-bio-slider-label {
        font-size: 0.625rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #94a3b8;
    }

    .jg-root--patient-journey .jv5-bio-slider-value {
        display: inline-block;
        width: 5.75rem;
        min-width: 5.75rem;
        max-width: 5.75rem;
        font-size: 1rem;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        line-height: 1.1;
        text-align: right;
        flex-shrink: 0;
        color: #94a3b8;
    }

    .jg-root--patient-journey .jv5-bio-slider-row[data-jv5-touched="1"] .jv5-bio-slider-value {
        color: inherit;
    }

    .jg-root--patient-journey .jv5-bio-slider-row--weight[data-jv5-touched="1"] .jv5-bio-slider-value {
        color: #16a34a;
    }

    .jg-root--patient-journey .jv5-bio-slider-row--height[data-jv5-touched="1"] .jv5-bio-slider-value {
        color: #7c3aed;
    }

    .jg-root--patient-journey .jv5-bio-slider-row--age[data-jv5-touched="1"] .jv5-bio-slider-value {
        color: #2563eb;
    }

    .jg-root--patient-journey .jv5-bio-slider-value--large {
        font-size: 1.25rem;
    }

    .jg-root--patient-journey .jv5-bio-slider-track {
        display: flex;
        align-items: center;
        min-height: 2rem;
    }

    .jg-root--patient-journey .jv5-bio-slider-input {
        --jv5-bio-fill: 0%;
        --jv5-bio-accent: #22c55e;
        --jv5-bio-track: #e2e8f0;
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        height: 0.5rem;
        margin: 0;
        border-radius: 9999px;
        background: linear-gradient(
            to right,
            var(--jv5-bio-accent) 0%,
            var(--jv5-bio-accent) var(--jv5-bio-fill),
            var(--jv5-bio-track) var(--jv5-bio-fill),
            var(--jv5-bio-track) 100%
        );
        outline: none;
        cursor: pointer;
        touch-action: none;
    }

    .jg-root--patient-journey .jv5-bio-slider-row--height .jv5-bio-slider-input,
    .jg-root--patient-journey .jv5-bio-slider-row--age .jv5-bio-slider-input {
        --jv5-bio-accent: #8b5cf6;
    }

    .jg-root--patient-journey .jv5-bio-slider-row--age .jv5-bio-slider-input {
        --jv5-bio-accent: #8b5cf6;
    }

    .jg-root--patient-journey .jv5-bio-slider-input::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 9999px;
        border: 3px solid var(--jv5-bio-accent);
        background: #ffffff;
        box-shadow: 0 2px 8px -2px rgba(15, 23, 42, 0.22);
        cursor: grab;
    }

    .jg-root--patient-journey .jv5-bio-slider-input:active::-webkit-slider-thumb {
        cursor: grabbing;
    }

    .jg-root--patient-journey .jv5-bio-slider-input::-moz-range-thumb {
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 9999px;
        border: 3px solid var(--jv5-bio-accent);
        background: #ffffff;
        box-shadow: 0 2px 8px -2px rgba(15, 23, 42, 0.22);
        cursor: grab;
    }

    .jg-root--patient-journey .jv5-bio-slider-input::-moz-range-track {
        height: 0.5rem;
        border-radius: 9999px;
        background: transparent;
    }

    .jg-root--patient-journey .jv5-bio-slider-bounds {
        display: flex;
        justify-content: space-between;
        margin-top: 0.35rem;
        font-size: 0.625rem;
        font-weight: 600;
        color: #94a3b8;
        font-variant-numeric: tabular-nums;
    }

    .jg-root--patient-journey .jv5-bio-age-block {
        flex-shrink: 0;
        margin-top: 0.75rem;
    }

    .jg-root--patient-journey .jv5-bio-age-block .jg-bio-field {
        border-radius: 1rem;
        border: 1px solid rgba(226, 232, 240, 0.95);
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
        padding: 0.9rem;
    }

    .jg-root--patient-journey .jv5-bio-age-block .jg-bio-field--age {
        padding-bottom: 0.65rem;
    }

    @media (min-width: 1024px) {
        .jg-root--patient-journey .jv5-bio-slider-row {
            padding: 0.68rem 0.76rem 0.58rem;
        }

        .jg-root--patient-journey .jv5-bio-slider-head {
            margin-bottom: 0.5rem;
        }

        .jg-root--patient-journey .jv5-bio-slider-track {
            min-height: 1.65rem;
        }

        .jg-root--patient-journey .jv5-bio-slider-input::-webkit-slider-thumb {
            width: 1.5rem;
            height: 1.5rem;
        }

        .jg-root--patient-journey .jv5-bio-slider-input::-moz-range-thumb {
            width: 1.5rem;
            height: 1.5rem;
        }
    }
@media (max-width: 1023px) {
        .jg-root--patient-journey {
            --jv5-journey-scale: calc(var(--jg-m-type, 1) * var(--jv5-portal-fluid, 1));
            --jv5-journey-headline: clamp(
                1.22rem,
                calc((1.08rem + 0.75vw + 0.22lvh) * var(--jv5-journey-scale)),
                1.58rem
            );
            --jv5-journey-lead: clamp(
                0.8125rem,
                calc((0.78rem + 0.32vw + 0.08lvh) * var(--jv5-journey-scale)),
                0.9875rem
            );
            --jv5-journey-eyebrow: clamp(
                0.6875rem,
                calc((0.66rem + 0.22vw + 0.04lvh) * var(--jv5-journey-scale)),
                0.8125rem
            );
            --jv5-journey-label: clamp(
                0.875rem,
                calc((0.82rem + 0.48vw + 0.14lvh) * var(--jv5-journey-scale)),
                1.0625rem
            );
            --jv5-journey-sub: clamp(
                0.78125rem,
                calc((0.74rem + 0.34vw + 0.09lvh) * var(--jv5-journey-scale)),
                0.9375rem
            );
            --jv5-journey-body: clamp(
                0.8125rem,
                calc((0.78rem + 0.36vw + 0.1lvh) * var(--jv5-journey-scale)),
                0.9875rem
            );
            --jv5-journey-proof: clamp(
                0.6875rem,
                calc((0.66rem + 0.24vw + 0.05lvh) * var(--jv5-journey-scale)),
                0.8125rem
            );
            --jv5-journey-gap: clamp(0.45rem, calc(0.38rem + 0.35lvh) * var(--jv5-journey-scale), 0.72rem);
            --jv5-journey-card-pad-y: clamp(0.62rem, calc(0.56rem + 0.28lvh) * var(--jv5-journey-scale), 0.88rem);
            --jv5-journey-card-pad-x: clamp(0.72rem, calc(0.66rem + 0.28vw) * var(--jv5-journey-scale), 0.95rem);
            --jv5-journey-orb: clamp(2.45rem, calc(2.35rem + 0.45lvh) * var(--jv5-journey-scale), 2.85rem);
            --jv5-journey-icon: clamp(1.15rem, calc(1.05rem + 0.25lvh) * var(--jv5-journey-scale), 1.35rem);
        }

        .jg-root--patient-journey .jv5-headline:not(.jv5-portal-connect__headline) {
            font-size: var(--jv5-journey-headline);
            line-height: 1.14;
        }

        .jg-root--patient-journey .jv5-sub:not(.jv5-portal-connect__sub) {
            font-size: var(--jv5-journey-lead);
            line-height: 1.42;
        }

        .jg-root--patient-journey .jv5-section-label:not(.jv5-portal-connect__section-label) {
            font-size: var(--jv5-journey-eyebrow);
        }

        .jg-root--patient-journey .jv5-stage-card:not(.jv5-portal-connect__card) {
            padding: var(--jv5-journey-card-pad-y) var(--jv5-journey-card-pad-x);
            gap: clamp(0.62rem, calc(0.56rem + 0.22vw) * var(--jv5-journey-scale), 0.85rem);
        }

        .jg-root--patient-journey .jv5-stage-card:not(.jv5-portal-connect__card) .jg-stage-card__orb {
            width: var(--jv5-journey-orb);
            height: var(--jv5-journey-orb);
        }

        .jg-root--patient-journey .jv5-stage-card:not(.jv5-portal-connect__card) .jg-icon {
            width: var(--jv5-journey-icon);
            height: var(--jv5-journey-icon);
        }

        .jg-root--patient-journey .jv5-stage-card:not(.jv5-portal-connect__card) .jv5-stage-card__label {
            font-size: var(--jv5-journey-label);
            line-height: 1.28;
        }

        .jg-root--patient-journey .jv5-stage-card:not(.jv5-portal-connect__card) .jv5-stage-card__sub {
            font-size: var(--jv5-journey-sub);
            line-height: 1.34;
        }

        .jg-root--patient-journey .jv5-stage-grid {
            gap: var(--jv5-journey-gap);
        }

        .jg-root--patient-journey .jv5-match-grid {
            gap: var(--jv5-journey-gap);
        }

        .jg-root--patient-journey .jv5-match-card {
            padding: var(--jv5-journey-card-pad-y) var(--jv5-journey-card-pad-x);
        }

        .jg-root--patient-journey .jv5-match-card > div > span {
            font-size: var(--jv5-journey-eyebrow);
        }

        .jg-root--patient-journey .jv5-match-card__title {
            font-size: var(--jv5-journey-label);
            line-height: 1.28;
        }

        .jg-root--patient-journey .jv5-match-card__body {
            font-size: var(--jv5-journey-sub);
            line-height: 1.34;
        }

        .jg-root--patient-journey .jg-scene:not(.jg-scene--portal-connect) .jv5-scene__top .jv5-vivi__name {
            font-size: clamp(0.5625rem, calc(0.54rem + 0.12lvh) * var(--jv5-journey-scale), 0.6875rem);
        }

        .jg-root--patient-journey .jg-scene:not(.jg-scene--portal-connect) .jv5-scene__top .jv5-vivi__line {
            font-size: clamp(0.8125rem, calc(0.78rem + 0.28lvh) * var(--jv5-journey-scale), 0.9375rem);
            line-height: 1.38;
        }

        .jg-root--patient-journey .jv5-proof-line:not(.jv5-portal-connect__proof) {
            font-size: var(--jv5-journey-proof);
            line-height: 1.38;
        }

        .jg-root--patient-journey .jv5-context-proof {
            font-size: var(--jv5-journey-proof);
            line-height: 1.38;
        }

        .jg-root--patient-journey .jv5-med-card__name {
            font-size: var(--jv5-journey-eyebrow);
        }

        .jg-root--patient-journey .jv5-chip {
            font-size: var(--jv5-journey-eyebrow);
        }

        .jg-root--patient-journey .jv5-wizard-head .jv5-headline {
            font-size: var(--jv5-journey-headline);
        }

        .jg-root--patient-journey .jv5-wizard-head .jv5-sub {
            font-size: var(--jv5-journey-lead);
        }

        .jg-root--patient-journey .jv5-therapy-foot-hint,
        .jg-root--patient-journey .jv5-bio-foot-hint,
        .jg-root--patient-journey .jv5-bio-privacy {
            font-size: var(--jv5-journey-proof);
        }

        .jg-root--patient-journey .jv5-bio-preview__label {
            font-size: var(--jv5-journey-eyebrow);
        }

        .jg-root--patient-journey .jv5-bio-preview__value {
            font-size: var(--jv5-journey-label);
        }

        .jg-root--patient-journey .jv5-bio-preview__delta {
            font-size: var(--jv5-journey-proof);
        }

        .jg-root--patient-journey .jv5-bio-healthy-weight__eyebrow {
            font-size: var(--jv5-journey-eyebrow);
        }

        .jg-root--patient-journey .jv5-bio-healthy-weight__height,
        .jg-root--patient-journey .jv5-bio-healthy-weight__bound-label,
        .jg-root--patient-journey .jv5-bio-healthy-weight__imc {
            font-size: var(--jv5-journey-proof);
        }

        .jg-root--patient-journey .jv5-bio-healthy-weight__bound-value {
            font-size: var(--jv5-journey-label);
        }

        .jg-root--patient-journey .jv5-bio-healthy-weight__goal {
            font-size: var(--jv5-journey-sub);
        }

        .jg-root--patient-journey .jv5-celebration-mission__title {
            font-size: var(--jv5-journey-eyebrow);
        }

        .jg-root--patient-journey .jv5-celebration-mission__hint,
        .jg-root--patient-journey .jv5-celebration-secondary-cta {
            font-size: var(--jv5-journey-proof);
        }

        .jg-root--patient-journey:not(.jv5-bio-step-active):not(.jv5-health-step-active) .jg-btn,
        .jg-root--patient-journey:not(.jv5-bio-step-active):not(.jv5-health-step-active) .jv5-cta {
            font-size: clamp(
                0.9375rem,
                calc((0.9rem + 0.38vw + 0.1lvh) * var(--jv5-journey-scale, 1)),
                1.0625rem
            ) !important;
        }
    }

    @media (min-width: 1024px) {
        .jg-root .jg-desktop-phone {
            --jv5-portal-fluid: 0.88;
        }
    }
/* Portal: alias da escala compartilhada (--jv5-journey-* em journey-v5-fluid-typography). */
    .jv5-portal-connect {
        --jv5-portal-scale: var(--jv5-journey-scale);
        --jv5-portal-headline: var(--jv5-journey-headline);
        --jv5-portal-lead: var(--jv5-journey-lead);
        --jv5-portal-eyebrow: var(--jv5-journey-eyebrow);
        --jv5-portal-label: var(--jv5-journey-label);
        --jv5-portal-sub: var(--jv5-journey-sub);
        --jv5-portal-video-title: var(--jv5-journey-body);
        --jv5-portal-video-sub: var(--jv5-journey-sub);
        --jv5-portal-proof: var(--jv5-journey-proof);
        --jv5-portal-gap: var(--jv5-journey-gap);
        --jv5-portal-card-pad-y: var(--jv5-journey-card-pad-y);
        --jv5-portal-card-pad-x: var(--jv5-journey-card-pad-x);
        --jv5-portal-orb: var(--jv5-journey-orb);
        --jv5-portal-play: clamp(2.05rem, calc(1.95rem + 0.35lvh) * var(--jv5-portal-scale), 2.45rem);

        display: flex;
        flex-direction: column;
        gap: var(--jv5-portal-gap);
        min-height: 0;
    }

    .jv5-portal-connect__headline {
        font-size: var(--jv5-portal-headline);
        line-height: 1.14;
    }

    .jv5-portal-connect__sub {
        margin-top: 0.35rem;
        font-size: var(--jv5-portal-lead);
        line-height: 1.42;
    }

    .jv5-portal-connect__section-label {
        margin-top: var(--jv5-space-2);
        margin-bottom: 0.35rem;
        font-size: var(--jv5-portal-eyebrow);
    }

    .jv5-portal-connect__cards {
        gap: var(--jv5-portal-gap);
    }

    .jv5-portal-connect__card {
        padding: var(--jv5-portal-card-pad-y) var(--jv5-portal-card-pad-x);
        gap: clamp(0.62rem, calc(0.56rem + 0.22vw) * var(--jv5-portal-scale), 0.85rem);
        transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
    }

    .jv5-portal-connect__card .jg-stage-card__orb {
        width: var(--jv5-portal-orb);
        height: var(--jv5-portal-orb);
    }

    .jv5-portal-connect__card .jg-icon {
        width: clamp(1.15rem, calc(1.05rem + 0.25lvh) * var(--jv5-portal-scale), 1.35rem);
        height: clamp(1.15rem, calc(1.05rem + 0.25lvh) * var(--jv5-portal-scale), 1.35rem);
    }

    .jv5-portal-connect__card .jv5-stage-card__label {
        font-size: var(--jv5-portal-label);
        line-height: 1.28;
    }

    .jv5-portal-connect__card .jv5-stage-card__sub {
        font-size: var(--jv5-portal-sub);
        line-height: 1.34;
        margin-top: 0.15rem;
    }

    .jv5-portal-connect__video-details {
        margin-top: 0.15rem;
        border-radius: var(--jv5-radius-md);
        border: 1px solid rgba(13, 148, 136, 0.22);
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(240, 253, 250, 0.88));
        overflow: hidden;
        box-shadow: 0 6px 18px -12px rgba(13, 148, 136, 0.35);
    }

    .jv5-portal-connect__video-summary {
        cursor: pointer;
        list-style: none;
        padding: 0;
        -webkit-tap-highlight-color: transparent;
    }

    .jv5-portal-connect__video-summary::-webkit-details-marker {
        display: none;
    }

    .jv5-portal-connect__video-summary-inner {
        display: flex;
        align-items: center;
        gap: clamp(0.58rem, calc(0.52rem + 0.22vw) * var(--jv5-portal-scale), 0.78rem);
        padding: var(--jv5-portal-card-pad-y) var(--jv5-portal-card-pad-x);
        text-align: left;
    }

    .jv5-portal-connect__video-play {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: var(--jv5-portal-play);
        height: var(--jv5-portal-play);
        border-radius: 999px;
        background: linear-gradient(135deg, #0d9488, #059669);
        color: #fff;
        box-shadow: 0 4px 12px -4px rgba(13, 148, 136, 0.55);
    }

    .jv5-portal-connect__video-play-icon {
        width: clamp(0.9rem, calc(0.82rem + 0.18lvh) * var(--jv5-portal-scale), 1.05rem);
        height: clamp(0.9rem, calc(0.82rem + 0.18lvh) * var(--jv5-portal-scale), 1.05rem);
        margin-left: 0.08rem;
    }

    .jv5-portal-connect__video-copy {
        display: flex;
        flex-direction: column;
        gap: 0.14rem;
        min-width: 0;
        flex: 1 1 auto;
    }

    .jv5-portal-connect__video-teaser {
        font-size: var(--jv5-portal-video-title);
        font-weight: 800;
        line-height: 1.28;
        color: #0f766e;
    }

    .jv5-portal-connect__video-recado {
        font-size: var(--jv5-portal-video-sub);
        font-weight: 600;
        line-height: 1.36;
        color: var(--jv5-muted);
    }

    .jv5-portal-connect__video-chevron {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #64748b;
        transition: transform 0.2s ease;
    }

    .jv5-portal-connect__video-chevron-icon {
        width: clamp(0.95rem, calc(0.88rem + 0.15lvh) * var(--jv5-portal-scale), 1.12rem);
        height: clamp(0.95rem, calc(0.88rem + 0.15lvh) * var(--jv5-portal-scale), 1.12rem);
    }

    .jv5-portal-connect__video-details[open] .jv5-portal-connect__video-chevron {
        transform: rotate(180deg);
    }

    .jv5-portal-connect__video-details[open] .jv5-portal-connect__video-summary {
        border-bottom: 1px solid rgba(13, 148, 136, 0.14);
        background: rgba(255, 255, 255, 0.55);
    }

    .jv5-portal-connect__phone-recado.jv5-portal-specialist {
        margin-top: 0;
        padding: var(--jv5-portal-card-pad-y) var(--jv5-portal-card-pad-x) calc(var(--jv5-portal-card-pad-y) + 0.08rem);
        align-items: center;
    }

    .jv5-portal-connect__phone-recado .jv5-portal-specialist__device {
        --jg-specialist-phone-h: min(28lvh, 208px);
        width: min(calc(var(--jg-specialist-phone-h) * 9 / 16), 62vw, 132px);
    }

    .jv5-portal-connect__phone-recado .jg-specialist-phone-stage {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .jv5-portal-connect__phone-recado .jg-specialist-phone-glow {
        width: min(82%, 140px);
        height: min(58%, 140px);
    }

    .jv5-portal-connect__phone-recado .jg-phone-device__player {
        object-fit: cover;
        object-position: center top;
    }

    .jv5-portal-connect__phone-recado .jv5-portal-specialist__meta {
        margin-top: 0.5rem;
        text-align: center;
    }

    .jv5-portal-connect__phone-recado .jv5-portal-specialist__specialty {
        font-size: clamp(0.5625rem, calc(0.54rem + 0.12lvh) * var(--jv5-portal-scale), 0.6875rem);
    }

    .jv5-portal-connect__phone-recado .jv5-portal-specialist__name {
        font-size: clamp(0.8125rem, calc(0.78rem + 0.22lvh) * var(--jv5-portal-scale), 0.9375rem);
    }

    .jv5-portal-connect__phone-recado .jv5-portal-specialist__crm {
        font-size: clamp(0.6875rem, calc(0.66rem + 0.14lvh) * var(--jv5-portal-scale), 0.8125rem);
    }

    .jv5-portal-connect__phone-recado .jv5-portal-specialist__disclaimer {
        margin-top: 0.4rem;
        max-width: 18rem;
        font-size: clamp(0.5625rem, calc(0.54rem + 0.1lvh) * var(--jv5-portal-scale), 0.6875rem);
        line-height: 1.38;
        text-align: center;
    }

    .jv5-portal-connect__proof {
        margin: 0;
        font-size: var(--jv5-portal-proof);
        line-height: 1.38;
    }

    .jg-scene--portal-connect .jv5-vivi__name {
        font-size: clamp(0.5625rem, calc(0.54rem + 0.12lvh) * var(--jv5-portal-scale, 1), 0.6875rem);
    }

    .jg-scene--portal-connect .jv5-vivi__line {
        font-size: clamp(0.8125rem, calc(0.78rem + 0.28lvh) * var(--jv5-portal-scale, 1), 0.9375rem);
        line-height: 1.38;
    }

    @media (min-width: 640px) and (max-width: 1023px) {
        .jv5-portal-connect__phone-recado .jv5-portal-specialist__device {
            --jg-specialist-phone-h: min(30lvh, 232px);
            width: min(calc(var(--jg-specialist-phone-h) * 9 / 16), 148px);
        }
    }

    @media (min-width: 1024px) {
        .jg-root .jg-desktop-phone .jv5-portal-connect__phone-recado .jv5-portal-specialist__device {
            --jg-specialist-phone-h: min(28lvh, 228px);
            width: min(calc(var(--jg-specialist-phone-h) * 9 / 16), 142px);
        }

        .jv5-portal-connect__card:hover {
            border-color: rgba(5, 150, 105, 0.45);
            box-shadow: 0 8px 22px rgba(16, 185, 129, 0.1);
            transform: translateY(-1px);
        }
    }

    @media (max-width: 1023px) {
        .jg-root--patient-journey .jg-scene-shell {
            display: flex;
            flex-direction: column;
            min-height: 0;
        }

        .jg-root--patient-journey .jg-scene.jg-scene--portal-connect {
            flex: 1 1 0 !important;
            min-height: 0 !important;
            max-height: 100% !important;
            height: 100% !important;
            overflow: hidden !important;
        }

        .jg-root--patient-journey .jg-scene--portal-connect .jv5-scene.jg-m-fit-surface {
            flex: 1 1 0 !important;
            min-height: 0 !important;
            max-height: 100% !important;
            height: 100% !important;
            overflow: hidden !important;
        }

        /* Com vídeo aberto: shell rola a cena inteira (mais confiável que scroll interno). */
        .jg-root--patient-journey[data-jg-portal-video-open="1"] .jg-scene-shell.jv5-portal-shell-scroll,
        .jg-root--patient-journey .jg-scene-shell.jv5-portal-shell-scroll {
            overflow-x: hidden !important;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            touch-action: pan-y;
        }

        .jg-root--patient-journey[data-jg-portal-video-open="1"] .jg-scene.jg-scene--portal-connect {
            height: auto !important;
            max-height: none !important;
            min-height: 0 !important;
            overflow: visible !important;
            flex: 0 0 auto !important;
        }

        .jg-root--patient-journey[data-jg-portal-video-open="1"] .jg-scene--portal-connect .jv5-scene,
        .jg-root--patient-journey[data-jg-portal-video-open="1"] .jg-scene--portal-connect .jv5-scene.jg-m-fit-surface {
            height: auto !important;
            max-height: none !important;
            overflow: visible !important;
            display: flex !important;
            flex-direction: column !important;
        }

        .jg-root--patient-journey[data-jg-portal-video-open="1"] .jg-scene--portal-connect .jv5-scene__main {
            overflow: visible !important;
            max-height: none !important;
            flex: 0 0 auto !important;
        }

        .jg-root--patient-journey .jg-scene--welcome.jg-scene--portal-connect {
            display: flex;
            flex-direction: column;
            height: 100%;
            min-height: 0;
            overflow: hidden;
        }

        .jg-root--patient-journey .jg-scene--portal-connect .jv5-scene {
            display: grid;
            grid-template-rows: auto minmax(0, 1fr) auto;
            height: 100%;
            min-height: 0;
            overflow: hidden;
            gap: var(--jg-m-gap, var(--jv5-portal-gap));
        }

        .jg-root--patient-journey .jg-scene--portal-connect .jv5-scene__main {
            min-height: 0;
            overflow-x: hidden;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            touch-action: pan-y;
        }

        .jg-root--patient-journey .jg-scene--portal-connect .jv5-scene__main.jg-m-scroll-panel,
        .jg-root--patient-journey[data-jg-portal-video-open="1"] .jg-scene--portal-connect .jv5-scene__main {
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            touch-action: pan-y;
            max-height: 100%;
        }

        .jg-root--patient-journey[data-jg-portal-video-open="1"] .jg-scene-shell {
            overflow-y: auto !important;
        }

        .jg-root--patient-journey .jv5-portal-connect__phone-recado .jv5-portal-specialist__device {
            --jg-specialist-phone-h: var(--jg-portal-phone-h, min(26lvh, 196px)) !important;
        }

        .jg-root--patient-journey[data-jg-mobile-vh="xs"] .jv5-portal-connect__phone-recado .jv5-portal-specialist__device {
            --jg-specialist-phone-h: var(--jg-portal-phone-h, min(22lvh, 156px)) !important;
        }

        .jg-root--patient-journey[data-jg-density="compact"] .jv5-portal-connect__phone-recado .jv5-portal-specialist__device,
        .jg-root--patient-journey[data-jg-density="minimal"] .jv5-portal-connect__phone-recado .jv5-portal-specialist__device {
            --jg-specialist-phone-h: var(--jg-portal-phone-h, min(21lvh, 148px)) !important;
        }

        .jg-root--patient-journey[data-jg-density="spacious"] .jv5-portal-connect__phone-recado .jv5-portal-specialist__device {
            --jg-specialist-phone-h: var(--jg-portal-phone-h, min(30lvh, 220px)) !important;
        }
    }
@media (max-width: 1023px) {
        .jg-root--patient-journey.jv5-bio-step-active {
            --jg-m-type: 1 !important;
            --jg-m-space: 1 !important;
            --jg-m-icon: 1 !important;
            --jg-m-ui: 1 !important;
            --jg-m-surface-scale: 1 !important;
            --jg-fit-scale: 1 !important;
            --jv5-journey-scale: 1 !important;
            --jv5-bio-journey-scale: 1 !important;
            --jv5-portal-fluid: 1 !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jg-scene-shell,
        .jg-root--patient-journey.jv5-bio-step-active .jg-scene {
            min-height: var(--jg-mobile-scene-min, 360px) !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jg-progress-status {
            font-size: 0.75rem !important;
            line-height: 1.2 !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jg-progress-percent {
            font-size: 0.9375rem !important;
            line-height: 1 !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-vivi__name {
            font-size: 0.625rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-vivi__line {
            font-size: 0.875rem !important;
            line-height: 1.38 !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-headline {
            font-size: 1.375rem !important;
            line-height: 1.14 !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-sub {
            font-size: 0.875rem !important;
            line-height: 1.42 !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jg-wizard-med-kicker {
            font-size: 0.625rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jg-wizard-med-prompt,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jg-welcome-heloisa-text,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jg-mirror-heloisa-text {
            font-size: 0.9375rem !important;
            line-height: 1.35 !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jg-heloisa-avatar {
            width: 2.5rem !important;
            height: 2.5rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-section-label {
            font-size: 0.6875rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-slider-label {
            font-size: 0.875rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-slider-value {
            font-size: 1rem !important;
            width: 5.75rem !important;
            min-width: 5.75rem !important;
            max-width: 5.75rem !important;
            text-align: right !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-slider-value--large {
            font-size: 1.25rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-slider-bounds {
            font-size: 0.625rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-age-block .jv5-bio-slider-label {
            font-size: 0.625rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-preview__label {
            font-size: 0.6875rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-preview__value {
            font-size: 1.125rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-preview__delta,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-daily-protocol__kicker,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-healthy-weight__eyebrow,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-healthy-weight__height,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-healthy-weight__bound-label,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-healthy-weight__imc,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot-hint,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-privacy {
            font-size: 0.6875rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-healthy-weight__bound-value,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-healthy-weight__goal {
            font-size: 0.8125rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot {
            flex-shrink: 0;
            min-height: 7.75rem;
            gap: 0.5rem !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot-hint {
            min-height: 2.5rem;
            margin: 0 !important;
            line-height: 1.35 !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot-hint.hidden {
            display: block !important;
            visibility: hidden;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-privacy {
            min-height: 1rem;
            margin: 0 !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot #jv5-bio-continue-btn,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot .jg-btn,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot .jv5-cta {
            height: 2.875rem !important;
            min-height: 2.875rem !important;
            max-height: 2.875rem !important;
            font-size: 1rem !important;
            line-height: 1 !important;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
            transform: none !important;
            flex-shrink: 0;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot #jv5-bio-continue-btn svg,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot .jg-btn svg {
            width: 1rem !important;
            height: 1rem !important;
            flex-shrink: 0;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot #jv5-bio-continue-btn.jv5-cta--waiting,
        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-foot #jv5-bio-continue-btn:disabled {
            opacity: 0.45;
            transform: none !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-slider-input {
            touch-action: none !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-slider-row--weight[data-jv5-touched="1"] .jv5-bio-slider-value {
            color: #16a34a !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-slider-row--height[data-jv5-touched="1"] .jv5-bio-slider-value {
            color: #7c3aed !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-slider-row--age[data-jv5-touched="1"] .jv5-bio-slider-value {
            color: #2563eb !important;
        }

        .jg-root--patient-journey.jv5-bio-step-active .jv5-wizard--body .jv5-bio-daily-protocol {
            min-height: 0;
            transition: opacity 0.24s ease;
        }
    }
@media (max-width: 1023px) {
        .jg-root--patient-journey.jv5-health-step-active {
            --jg-m-type: 1 !important;
            --jg-m-space: 1 !important;
            --jg-m-icon: 1 !important;
            --jg-m-ui: 1 !important;
            --jg-m-surface-scale: 1 !important;
            --jg-fit-scale: 1 !important;
            --jv5-journey-scale: 1 !important;
            --jv5-portal-fluid: 1 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jv5-wizard--health .jv5-headline {
            font-size: 1.375rem !important;
            line-height: 1.14 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jv5-wizard--health .jv5-sub {
            font-size: 0.875rem !important;
            line-height: 1.42 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-med-block-label {
            font-size: 0.75rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-tile {
            min-height: 6.25rem !important;
            padding: 0.55rem 0.5rem 0.5rem !important;
            gap: 0.28rem !important;
            transform: none !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-tile:active {
            transform: none !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-tile.is-on .jg-health-orb {
            transform: none !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-orb {
            width: 2.35rem !important;
            height: 2.35rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-emoji {
            font-size: 1.125rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-title {
            font-size: 0.875rem !important;
            line-height: 1.22 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-desc {
            font-size: 0.75rem !important;
            line-height: 1.32 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-monitor-title {
            font-size: 0.875rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-monitor-sub {
            font-size: 0.75rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-monitor-badge {
            font-size: 0.625rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-foot {
            flex-shrink: 0;
            min-height: 7.5rem;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-counter-text {
            min-height: 2.25rem;
            font-size: 0.75rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-foot .jg-btn {
            height: 2.875rem !important;
            min-height: 2.875rem !important;
            max-height: 2.875rem !important;
            font-size: 1rem !important;
            transform: none !important;
        }
    }

    @media (min-width: 1024px) {
        .jg-root--patient-journey.jv5-health-step-active .jv5-wizard--health .jv5-headline {
            font-size: 1.5rem !important;
            line-height: 1.12 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jv5-wizard--health .jv5-sub {
            font-size: 0.9375rem !important;
            line-height: 1.4 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-med-block-label {
            font-size: 0.8125rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jv5-context-proof--health {
            font-size: 0.8125rem !important;
            line-height: 1.35 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-grid {
            gap: 0.5rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-tile {
            min-height: 7.25rem !important;
            padding: 0.7rem 0.55rem 0.6rem !important;
            gap: 0.35rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-orb {
            width: 2.75rem !important;
            height: 2.75rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-emoji {
            font-size: 1.3125rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-title {
            font-size: 1rem !important;
            line-height: 1.24 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-desc {
            font-size: 0.8125rem !important;
            line-height: 1.36 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-check {
            width: 1.2rem !important;
            height: 1.2rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-monitor-all {
            padding: 0.65rem 0.75rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-monitor-title {
            font-size: 0.9375rem !important;
            line-height: 1.28 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-monitor-sub {
            font-size: 0.8125rem !important;
            line-height: 1.32 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-monitor-badge {
            font-size: 0.6875rem !important;
            padding: 0.28rem 0.55rem !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-counter-text {
            font-size: 0.8125rem !important;
            line-height: 1.35 !important;
        }

        .jg-root--patient-journey.jv5-health-step-active .jg-health-foot .jg-btn {
            font-size: 1rem !important;
        }
    }
@media (max-width: 1023px) {
        .jg-root--patient-journey.jv5-therapy-step-active {
            --jg-m-type: 1 !important;
            --jg-m-space: 1 !important;
            --jg-m-icon: 1 !important;
            --jg-m-ui: 1 !important;
            --jg-m-surface-scale: 1 !important;
            --jg-fit-scale: 1 !important;
            --jv5-journey-scale: 1 !important;
            --jv5-portal-fluid: 1 !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-wizard--therapy .jv5-headline {
            font-size: 1.375rem !important;
            line-height: 1.14 !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-wizard--therapy .jv5-sub {
            font-size: 0.875rem !important;
            line-height: 1.42 !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-med-card,
        .jg-root--patient-journey.jv5-therapy-step-active .jv5-chip,
        .jg-root--patient-journey.jv5-therapy-step-active .jv5-time-chip,
        .jg-root--patient-journey.jv5-therapy-step-active .jv5-therapy-alt__btn,
        .jg-root--patient-journey.jv5-portal-step-active .jv5-portal-connect__card {
            transform: none !important;
            transition: background-color 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease, opacity 0.12s ease !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-med-card:active,
        .jg-root--patient-journey.jv5-therapy-step-active .jv5-chip:active,
        .jg-root--patient-journey.jv5-therapy-step-active .jv5-time-chip:active,
        .jg-root--patient-journey.jv5-portal-step-active .jv5-portal-connect__card:active {
            transform: none !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-med-card {
            min-height: 5.75rem !important;
            padding: 0.75rem 0.5rem !important;
            border-width: 1px !important;
            box-sizing: border-box !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-med-card.is-on {
            box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.45), 0 8px 22px rgba(16, 185, 129, 0.12) !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-med-card__check {
            width: 1.125rem !important;
            height: 1.125rem !important;
            top: 6px !important;
            right: 6px !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-med-card__check[hidden] {
            display: flex !important;
            visibility: hidden !important;
            opacity: 0 !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-med-card__name {
            font-size: 0.8125rem !important;
            line-height: 1.22 !important;
            font-weight: 800 !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-chip,
        .jg-root--patient-journey.jv5-therapy-step-active .jv5-time-chip {
            font-size: 0.8125rem !important;
            font-weight: 800 !important;
            border-width: 1px !important;
            box-sizing: border-box !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-chip.is-on,
        .jg-root--patient-journey.jv5-therapy-step-active .jv5-time-chip.is-on {
            box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.35) !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-time-chip {
            min-height: 2.75rem !important;
            padding: 0.65rem 0.75rem !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-therapy-time-block {
            min-height: 6.75rem;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-therapy-time-block.is-collapsed {
            min-height: 6.75rem;
            opacity: 0.38;
            pointer-events: none;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-therapy-time-block.is-hidden {
            visibility: hidden;
            opacity: 0;
            pointer-events: none;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-therapy-alt__btn {
            min-height: 3.75rem !important;
            border-width: 1px !important;
            box-sizing: border-box !important;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-therapy-foot {
            flex-shrink: 0;
            min-height: 5.5rem;
        }

        .jg-root--patient-journey.jv5-therapy-step-active .jv5-therapy-foot-hint {
            min-height: 2.25rem;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 0 0.5rem !important;
            font-size: 0.75rem !important;
        }

        .jg-root--patient-journey.jv5-portal-step-active .jv5-portal-connect__card {
            min-height: 4.25rem !important;
            border-width: 1px !important;
            box-sizing: border-box !important;
            transform: none !important;
        }

        .jg-root--patient-journey.jv5-portal-step-active .jv5-portal-connect__card:active {
            transform: none !important;
            box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.2) !important;
        }
    }
@media (min-width: 1024px) {
        .jg-root .jg-desktop-phone .jg-scene--wizard-med {
            min-height: 0;
            overflow: hidden;
        }

        /* Terapia: cabeçalho · scroll · Continuar fixo */
        .jg-root .jg-desktop-phone .jg-scene--wizard-med .jv5-wizard--therapy.jg-wizard-med-scene {
            display: grid !important;
            grid-template-rows: auto minmax(0, 1fr) auto !important;
            height: 100%;
            min-height: 0;
            max-height: 100%;
            overflow: hidden;
            gap: var(--jv5-space-2);
            align-content: stretch;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--therapy > .jv5-wizard-head {
            grid-row: 1;
            overflow: visible;
            min-height: 0;
            justify-content: flex-start !important;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--therapy > .jv5-therapy-scroll {
            grid-row: 2;
            display: block !important;
            flex: unset !important;
            min-height: 0;
            max-height: 100%;
            overflow-x: hidden;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            justify-content: flex-start !important;
            align-self: stretch;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--therapy > .jv5-therapy-foot {
            grid-row: 3;
            display: block !important;
            flex: unset !important;
            flex-shrink: 0;
            overflow: visible !important;
            min-height: 3.25rem;
            z-index: 5;
            padding-top: var(--jv5-space-2);
            padding-bottom: max(4px, env(safe-area-inset-bottom));
            background: linear-gradient(180deg, rgba(240, 253, 250, 0) 0%, rgba(240, 253, 250, 0.96) 24%, rgba(240, 253, 250, 1) 100%);
            border-top: 1px solid rgba(16, 185, 129, 0.1);
        }

        /* Corpo: cabeçalho · scroll · Continuar fixo */
        .jg-root .jg-desktop-phone .jg-scene--wizard-med .jv5-wizard--body.jg-wizard-med-scene,
        .jg-root .jg-desktop-phone .jv5-wizard--body.jg-wizard-bio-scene {
            display: grid !important;
            grid-template-rows: auto minmax(0, 1fr) auto !important;
            height: 100%;
            min-height: 0;
            max-height: 100%;
            overflow: hidden;
            gap: var(--jv5-space-2);
            align-content: stretch;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--body > .jv5-wizard-head {
            grid-row: 1;
            overflow: visible;
            min-height: 0;
            justify-content: flex-start !important;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--body > .jv5-bio-scroll {
            grid-row: 2;
            display: block !important;
            flex: unset !important;
            min-height: 0;
            max-height: 100%;
            overflow-x: hidden;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            justify-content: flex-start !important;
            align-self: stretch;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--body > .jv5-bio-foot {
            grid-row: 3;
            display: block !important;
            flex: unset !important;
            flex-shrink: 0;
            overflow: visible !important;
            min-height: 3.25rem;
            z-index: 5;
            padding-top: var(--jv5-space-2);
            padding-bottom: max(4px, env(safe-area-inset-bottom));
            background: linear-gradient(180deg, rgba(240, 253, 250, 0) 0%, rgba(240, 253, 250, 0.96) 24%, rgba(240, 253, 250, 1) 100%);
            border-top: 1px solid rgba(16, 185, 129, 0.1);
        }

        /* Saúde + conta: scroll interno sem quebrar o grid do phone */
        .jg-root .jg-desktop-phone .jv5-wizard--health.jg-wizard-med-scene,
        .jg-root .jg-desktop-phone .jv5-wizard--health.jg-wizard-health-scene {
            display: flex !important;
            flex-direction: column;
            min-height: 0;
            height: 100%;
            overflow: hidden;
            gap: var(--jg-d-gap-sm);
        }

        .jg-root .jg-desktop-phone .jv5-wizard--health .jg-wizard-bio-form,
        .jg-root .jg-desktop-phone .jv5-wizard--health .jg-health-scene {
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--health .jg-health-panel-inner {
            flex: 1 1 auto;
            min-height: 0;
            overflow-x: hidden;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--health .jg-health-foot {
            flex-shrink: 0;
            z-index: 5;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--account.jg-wizard-account-scene,
        .jg-root .jg-desktop-phone .jg-wizard-account-scene {
            display: flex !important;
            flex-direction: column;
            min-height: 0;
            height: 100%;
            overflow: hidden;
        }

        .jg-root .jg-desktop-phone .jv5-wizard--account .jg-account-scroll {
            flex: 1 1 auto;
            min-height: 0;
            overflow-x: hidden;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
        }

        /* Neutraliza motor mobile dentro do phone desktop */
        .jg-root .jg-desktop-phone .jv5-therapy-scroll.jg-m-scroll-panel,
        .jg-root .jg-desktop-phone .jv5-bio-scroll.jg-m-scroll-panel {
            overflow-y: auto !important;
        }

        .jg-root .jg-desktop-phone .jg-wizard-med-scene:not(.jv5-wizard--therapy):not(.jv5-wizard--body):not(.jv5-wizard--health) > :not(.jg-wizard-med-top) {
            min-height: 0;
            overflow: hidden;
        }
    }
@media (min-width: 1024px) {
        .jg-root.jv5-therapy-step-active .jg-desktop-phone {
            --jg-d-fit-scale: 1 !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-wizard--therapy .jv5-headline {
            font-size: 1.25rem !important;
            line-height: 1.16 !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-wizard--therapy .jv5-sub {
            font-size: 0.8125rem !important;
            line-height: 1.4 !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-med-card,
        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-chip,
        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-time-chip,
        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-therapy-alt__btn {
            transform: none !important;
            transition: background-color 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease, opacity 0.12s ease !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-med-card:active,
        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-chip:active,
        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-time-chip:active {
            transform: none !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-med-card {
            min-height: 5.25rem !important;
            padding: 0.65rem 0.45rem !important;
            border-width: 1px !important;
            box-sizing: border-box !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-med-card.is-on {
            box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.45), 0 6px 18px rgba(16, 185, 129, 0.1) !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-med-card__check {
            width: 1.05rem !important;
            height: 1.05rem !important;
            top: 5px !important;
            right: 5px !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-med-card__check[hidden] {
            display: flex !important;
            visibility: hidden !important;
            opacity: 0 !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-med-card__name {
            font-size: 0.8125rem !important;
            line-height: 1.2 !important;
            font-weight: 800 !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-chip,
        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-time-chip {
            font-size: 0.8125rem !important;
            font-weight: 800 !important;
            border-width: 1px !important;
            box-sizing: border-box !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-chip.is-on,
        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-time-chip.is-on {
            box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.35) !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-time-chip {
            min-height: 2.5rem !important;
            padding: 0.55rem 0.65rem !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-therapy-time-block {
            min-height: 6rem;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-therapy-time-block.is-collapsed {
            min-height: 6rem;
            opacity: 0.38;
            pointer-events: none;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-therapy-time-block.is-hidden {
            visibility: hidden;
            opacity: 0;
            pointer-events: none;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-therapy-alt__btn {
            min-height: 3.35rem !important;
            border-width: 1px !important;
            box-sizing: border-box !important;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-therapy-foot {
            flex-shrink: 0;
            min-height: 4.75rem;
        }

        .jg-root.jv5-therapy-step-active .jg-desktop-phone .jv5-therapy-foot-hint {
            min-height: 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 0 0.45rem !important;
            font-size: 0.6875rem !important;
        }

        .jg-root.jv5-portal-step-active .jg-desktop-phone .jv5-therapy-foot .jg-btn {
            min-height: 2.65rem;
        }
    }
