
/* ============================================================
   PX360_ATENDE
   HOME PAGE
   ============================================================ */


/* ============================================================
   CONTAINER
============================================================ */

.px-container {

    width:
        min(
            calc(100% - 40px),
            1240px
        );

    margin:
        0 auto;

}


/* ============================================================
   HERO
============================================================ */

.px-hero {

    position:
        relative;

    overflow:
        hidden;

    padding:
        90px 0 100px;

    background:
        linear-gradient(
            135deg,
            #F5F8FC 0%,
            #FFFFFF 55%,
            #E1F5EE 100%
        );

}


.px-hero::before {

    content:
        "";

    position:
        absolute;

    width:
        520px;

    height:
        520px;

    right:
        -180px;

    top:
        -220px;

    border-radius:
        50%;

    background:
        rgba(55, 138, 221, 0.08);

}


.px-hero-grid {

    position:
        relative;

    display:
        grid;

    grid-template-columns:
        0.95fr
        1.05fr;

    align-items:
        center;

    gap:
        70px;

}


/* ============================================================
   HERO CONTENT
============================================================ */

.px-eyebrow {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        9px;

    padding:
        7px 13px;

    border:
        1px solid var(--px-green-light);

    border-radius:
        30px;

    color:
        var(--px-green-dark);

    background:
        var(--px-green-tint);

    font-size:
        13px;

    font-weight:
        700;

}


.px-status-dot {

    width:
        8px;

    height:
        8px;

    border-radius:
        50%;

    background:
        var(--px-green);

    box-shadow:
        0 0 0 4px
        rgba(29, 158, 117, 0.12);

}


.px-hero h1 {

    max-width:
        650px;

    margin:
        22px 0 20px;

    color:
        var(--px-blue-deep);

    font-size:
        clamp(
            42px,
            5vw,
            68px
        );

    line-height:
        1.04;

    letter-spacing:
        -2.5px;

    font-weight:
        700;

}


.px-hero h1 span {

    display:
        block;

    color:
        var(--px-green);

}


.px-hero-text {

    max-width:
        600px;

    margin:
        0;

    color:
        #526174;

    font-size:
        18px;

    line-height:
        1.7;

}


.px-hero-actions {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        12px;

    margin-top:
        30px;

}


.px-btn-large {

    min-height:
        52px;

    padding:
        0 24px;

    gap:
        9px;

}


.px-btn-outline {

    color:
        var(--px-blue-deep);

    border-color:
        var(--px-border);

    background:
        var(--px-white);

}


.px-btn-outline:hover {

    border-color:
        var(--px-blue-soft);

    background:
        #F9FBFE;

}


.px-hero-trust {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        22px;

    margin-top:
        25px;

}


.px-trust-item {

    display:
        flex;

    align-items:
        center;

    gap:
        7px;

    color:
        var(--px-gray);

    font-size:
        13px;

}


.px-trust-item svg {

    width:
        16px;

    height:
        16px;

    color:
        var(--px-green);

}


/* ============================================================
   HERO CHAT
============================================================ */

.px-hero-visual {

    position:
        relative;

    min-height:
        520px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

}


.px-chat-window {

    overflow:
        hidden;

    width:
        min(
            100%,
            440px
        );

    border:
        1px solid rgba(13,42,90,0.08);

    border-radius:
        24px;

    background:
        var(--px-white);

    box-shadow:
        var(--px-shadow-lg);

}


.px-chat-header {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    padding:
        18px 20px;

    color:
        var(--px-white);

    background:
        var(--px-blue-deep);

}


.px-chat-company {

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

}


.px-chat-avatar {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        40px;

    height:
        40px;

    border-radius:
        12px;

    color:
        var(--px-green);

    background:
        rgba(255,255,255,0.12);

}


.px-chat-avatar svg {

    width:
        21px;

    height:
        21px;

}


.px-chat-company strong {

    display:
        block;

    font-size:
        14px;

}


.px-chat-company span {

    display:
        flex;

    align-items:
        center;

    gap:
        5px;

    margin-top:
        2px;

    color:
        rgba(255,255,255,0.68);

    font-size:
        11px;

}


.px-chat-company span b {

    width:
        6px;

    height:
        6px;

    border-radius:
        50%;

    background:
        var(--px-green-medium);

}


.px-chat-body {

    min-height:
        390px;

    padding:
        20px;

    background:
        #F4F7FB;

}


.px-chat-time {

    margin:
        0 0 14px;

    text-align:
        center;

    color:
        #9AA6B5;

    font-size:
        10px;

}


.px-message {

    max-width:
        82%;

    margin-bottom:
        12px;

    padding:
        11px 14px;

    border-radius:
        15px;

    font-size:
        13px;

    line-height:
        1.5;

}


.px-message-client {

    margin-left:
        auto;

    color:
        var(--px-dark);

    border-bottom-right-radius:
        4px;

    background:
        var(--px-blue-soft);

}


.px-message-ai {

    margin-right:
        auto;

    color:
        #344255;

    border-bottom-left-radius:
        4px;

    background:
        var(--px-white);

    box-shadow:
        0 2px 7px rgba(0,0,0,0.04);

}


.px-chat-status {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        6px;

    margin-top:
        18px;

    color:
        var(--px-green-dark);

    font-size:
        10px;

    font-weight:
        500;

}


.px-chat-status svg {

    width:
        13px;

    height:
        13px;

}


.px-chat-input {

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        12px;

    border-top:
        1px solid var(--px-border);

    background:
        var(--px-white);

}


.px-chat-input span {

    flex:
        1;

    padding:
        10px 12px;

    color:
        #A5AFBC;

    border-radius:
        9px;

    background:
        #F3F5F8;

    font-size:
        11px;

}


.px-chat-input button {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        38px;

    height:
        38px;

    border:
        0;

    border-radius:
        10px;

    color:
        var(--px-white);

    background:
        var(--px-green);

}


.px-chat-input button svg {

    width:
        16px;

}


/* ============================================================
   FLOATING CARDS
============================================================ */

.px-floating-card {

    position:
        absolute;

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        13px 16px;

    border:
        1px solid rgba(13,42,90,0.07);

    border-radius:
        14px;

    background:
        rgba(255,255,255,0.96);

    box-shadow:
        var(--px-shadow);

}


.px-floating-card strong {

    display:
        block;

    color:
        var(--px-dark);

    font-size:
        13px;

}


.px-floating-card span {

    display:
        block;

    margin-top:
        1px;

    color:
        var(--px-gray);

    font-size:
        10px;

}


.px-floating-card-one {

    left:
        -5px;

    bottom:
        70px;

}


.px-floating-card-two {

    right:
        -5px;

    top:
        75px;

}


.px-floating-icon {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        38px;

    height:
        38px;

    border-radius:
        10px;

}


.px-floating-icon svg {

    width:
        18px;

}


.px-green-icon {

    color:
        var(--px-green);

    background:
        var(--px-green-tint);

}


.px-blue-icon {

    color:
        var(--px-blue);

    background:
        #EAF3FC;

}


/* ============================================================
   BANNER
============================================================ */

.px-banner-section {

    padding:
        0 0 80px;

    background:
        #FFFFFF;

}


.px-carousel {

    position:
        relative;

    overflow:
        hidden;

    min-height:
        350px;

    border-radius:
        var(--px-radius-xl);

    background:
        var(--px-blue-deep);

}


.px-slide {

    position:
        absolute;

    inset:
        0;

    display:
        grid;

    grid-template-columns:
        1fr
        0.9fr;

    opacity:
        0;

    pointer-events:
        none;

    transition:
        opacity 0.5s ease;

}


.px-slide.is-active {

    position:
        relative;

    opacity:
        1;

    pointer-events:
        auto;

}


.px-slide-content {

    position:
        relative;

    z-index:
        2;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    justify-content:
        center;

    padding:
        50px 60px;

}


.px-slide-label {

    margin-bottom:
        13px;

    color:
        var(--px-green-light);

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        1.3px;

}


.px-slide h2 {

    max-width:
        580px;

    margin:
        0 0 13px;

    color:
        var(--px-white);

    font-size:
        clamp(28px, 3vw, 42px);

    line-height:
        1.1;

}


.px-slide p {

    max-width:
        510px;

    margin:
        0;

    color:
        rgba(255,255,255,0.70);

}


.px-slide-button {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    margin-top:
        25px;

    padding:
        11px 17px;

    border-radius:
        9px;

    color:
        var(--px-white);

    background:
        var(--px-green);

    font-size:
        13px;

    font-weight:
        700;

}


.px-slide-image {

    position:
        relative;

    background-size:
        cover;

    background-position:
        center;

}


.px-slide-image::after {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            90deg,
            var(--px-blue-deep),
            rgba(13,42,90,0.1)
        );

}


.px-slide-image-one {

    background:
        linear-gradient(
            135deg,
            #185FA5,
            #378ADD
        );

}


.px-slide-image-two {

    background:
        linear-gradient(
            135deg,
            #0F6E56,
            #5DCAA5
        );

}


.px-slide-image-three {

    background:
        linear-gradient(
            135deg,
            #0D2A5A,
            #378ADD
        );

}


.px-slide-image-four {

    background:
        linear-gradient(
            135deg,
            #185FA5,
            #0F6E56
        );

}


.px-slide-image-five {

    background:
        linear-gradient(
            135deg,
            #0F6E56,
            #0D2A5A
        );

}


.px-carousel-control {

    position:
        absolute;

    z-index:
        5;

    top:
        50%;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        40px;

    height:
        40px;

    transform:
        translateY(-50%);

    border:
        1px solid rgba(255,255,255,0.20);

    border-radius:
        50%;

    color:
        var(--px-white);

    background:
        rgba(0,0,0,0.15);

    cursor:
        pointer;

}


.px-carousel-prev {
    left:
        15px;
}


.px-carousel-next {
    right:
        15px;
}


.px-carousel-dots {

    position:
        absolute;

    z-index:
        5;

    bottom:
        20px;

    left:
        50%;

    display:
        flex;

    gap:
        6px;

    transform:
        translateX(-50%);

}


.px-carousel-dots button {

    width:
        7px;

    height:
        7px;

    padding:
        0;

    border:
        0;

    border-radius:
        10px;

    background:
        rgba(255,255,255,0.35);

    cursor:
        pointer;

}


.px-carousel-dots button.is-active {

    width:
        22px;

    background:
        var(--px-green-medium);

}


/* ============================================================
   SECTION HEADINGS
============================================================ */

.px-section-heading {

    max-width:
        720px;

    margin:
        0 auto 55px;

    text-align:
        center;

}


.px-section-label {

    display:
        inline-block;

    margin-bottom:
        11px;

    color:
        var(--px-green-dark);

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        1.4px;

}


.px-section-heading h2 {

    margin:
        0 0 15px;

    color:
        var(--px-blue-deep);

    font-size:
        clamp(30px, 4vw, 46px);

    line-height:
        1.12;

    letter-spacing:
        -1.2px;

}


.px-section-heading h2 span {

    color:
        var(--px-green);

}


.px-section-heading p {

    margin:
        0;

    color:
        var(--px-gray);

    font-size:
        16px;

}


/* ============================================================
   SIMULADOR
============================================================ */

.px-simulator-section {

    padding:
        100px 0;

    background:
        var(--px-background);

}


.px-simulator-grid {

    display:
        grid;

    grid-template-columns:
        0.75fr
        1.25fr;

    gap:
        60px;

    align-items:
        center;

}


.px-simulator-info {

    padding:
        15px 0;

}


.px-simulator-step {

    display:
        flex;

    gap:
        17px;

    margin-bottom:
        28px;

}


.px-simulator-step > span {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex-shrink:
        0;

    width:
        42px;

    height:
        42px;

    border-radius:
        12px;

    color:
        var(--px-green);

    background:
        var(--px-green-tint);

    font-size:
        12px;

    font-weight:
        700;

}


.px-simulator-step strong {

    display:
        block;

    margin-bottom:
        4px;

    color:
        var(--px-blue-deep);

}


.px-simulator-step p {

    margin:
        0;

    color:
        var(--px-gray);

    font-size:
        13px;

}


.px-demo-selector label {

    display:
        block;

    margin-bottom:
        8px;

    color:
        var(--px-dark);

    font-size:
        13px;

    font-weight:
        700;

}


.px-demo-selector select {

    width:
        100%;

    height:
        50px;

    padding:
        0 14px;

    border:
        1px solid var(--px-border);

    border-radius:
        10px;

    outline:
        none;

    color:
        var(--px-dark);

    background:
        var(--px-white);

    cursor:
        pointer;

}


.px-demo-selector select:focus {

    border-color:
        var(--px-blue-communication);

    box-shadow:
        0 0 0 3px rgba(55,138,221,0.10);

}


.px-simulator-features {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        13px;

    margin-top:
        25px;

}


.px-simulator-features div {

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    color:
        #566375;

    font-size:
        12px;

}


.px-simulator-features svg {

    width:
        16px;

    color:
        var(--px-green);

}


/* ============================================================
   DEMO CHAT
============================================================ */

.px-demo-chat {

    overflow:
        hidden;

    border:
        1px solid var(--px-border);

    border-radius:
        20px;

    background:
        var(--px-white);

    box-shadow:
        var(--px-shadow-lg);

}


.px-demo-chat-header {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    padding:
        17px 20px;

    color:
        var(--px-white);

    background:
        var(--px-blue-deep);

}


.px-demo-badge {

    padding:
        5px 8px;

    border-radius:
        5px;

    color:
        var(--px-green-light);

    background:
        rgba(159,225,203,0.10);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.5px;

}


.px-demo-messages {

    min-height:
        370px;

    max-height:
        370px;

    overflow-y:
        auto;

    padding:
        20px;

    background:
        #F5F7FA;

}


.px-demo-welcome {

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        325px;

    text-align:
        center;

}


.px-demo-welcome-icon {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        55px;

    height:
        55px;

    margin-bottom:
        15px;

    border-radius:
        16px;

    color:
        var(--px-green);

    background:
        var(--px-green-tint);

}


.px-demo-welcome h3 {

    margin:
        0 0 6px;

    color:
        var(--px-blue-deep);

    font-size:
        16px;

}


.px-demo-welcome p {

    max-width:
        280px;

    margin:
        0;

    color:
        var(--px-gray);

    font-size:
        12px;

}


.px-demo-message {

    max-width:
        78%;

    margin-bottom:
        12px;

    padding:
        10px 13px;

    border-radius:
        14px;

    font-size:
        13px;

    line-height:
        1.5;

}


.px-demo-message-user {

    margin-left:
        auto;

    border-bottom-right-radius:
        4px;

    background:
        var(--px-blue-soft);

}


.px-demo-message-ai {

    margin-right:
        auto;

    border-bottom-left-radius:
        4px;

    background:
        var(--px-white);

    box-shadow:
        0 2px 7px rgba(0,0,0,0.04);

}


.px-demo-input-area {

    display:
        flex;

    gap:
        8px;

    padding:
        12px;

    border-top:
        1px solid var(--px-border);

}


.px-demo-input-area input {

    flex:
        1;

    min-width:
        0;

    height:
        44px;

    padding:
        0 13px;

    border:
        1px solid var(--px-border);

    border-radius:
        9px;

    outline:
        none;

}


.px-demo-input-area input:focus {

    border-color:
        var(--px-blue-communication);

}


.px-demo-input-area button {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        44px;

    border:
        0;

    border-radius:
        9px;

    color:
        var(--px-white);

    background:
        var(--px-green);

    cursor:
        pointer;

}


.px-demo-input-area button:disabled {

    opacity:
        0.45;

    cursor:
        not-allowed;

}


.px-demo-disclaimer {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        5px;

    padding:
        8px;

    color:
        var(--px-gray);

    font-size:
        9px;

}


.px-demo-disclaimer svg {

    width:
        12px;

    color:
        var(--px-green);

}


/* ============================================================
   COMO FUNCIONA
============================================================ */

.px-how-section {

    padding:
        100px 0;

    background:
        var(--px-white);

}


.px-steps {

    display:
        grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap:
        20px;

}


.px-step {

    position:
        relative;

    padding:
        28px;

    border:
        1px solid var(--px-border);

    border-radius:
        18px;

    background:
        var(--px-white);

    box-shadow:
        var(--px-shadow-sm);

}


.px-step-number {

    position:
        absolute;

    top:
        20px;

    right:
        20px;

    color:
        #DDE6F0;

    font-size:
        22px;

    font-weight:
        700;

}


.px-step-icon {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        48px;

    height:
        48px;

    margin-bottom:
        20px;

    border-radius:
        13px;

    color:
        var(--px-blue);

    background:
        #EAF3FC;

}


.px-step h3 {

    margin:
        0 0 8px;

    color:
        var(--px-blue-deep);

    font-size:
        16px;

}


.px-step p {

    margin:
        0;

    color:
        var(--px-gray);

    font-size:
        13px;

    line-height:
        1.6;

}


/* ============================================================
   RECURSOS
============================================================ */

.px-features-section {

    padding:
        100px 0;

    background:
        var(--px-background);

}


.px-features-grid {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        18px;

}


.px-feature-card {

    padding:
        30px;

    border:
        1px solid var(--px-border);

    border-radius:
        18px;

    background:
        var(--px-white);

    transition:
        transform var(--px-transition),
        box-shadow var(--px-transition);

}


.px-feature-card:hover {

    transform:
        translateY(-3px);

    box-shadow:
        var(--px-shadow);

}


.px-feature-card-highlight {

    border-color:
        var(--px-green-light);

    background:
        linear-gradient(
            145deg,
            var(--px-white),
            var(--px-green-tint)
        );

}


.px-feature-icon {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        48px;

    height:
        48px;

    margin-bottom:
        20px;

    border-radius:
        13px;

    color:
        var(--px-green-dark);

    background:
        var(--px-green-tint);

}


.px-feature-card h3 {

    margin:
        0 0 8px;

    color:
        var(--px-blue-deep);

    font-size:
        17px;

}


.px-feature-card p {

    margin:
        0;

    color:
        var(--px-gray);

    font-size:
        13px;

    line-height:
        1.65;

}


.px-feature-card a {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    margin-top:
        20px;

    color:
        var(--px-green-dark);

    font-size:
        12px;

    font-weight:
        700;

}


.px-feature-card a svg {

    width:
        14px;

}


/* ============================================================
   ANALYTICS
============================================================ */

.px-analytics-section {

    padding:
        110px 0;

    background:
        var(--px-white);

}


.px-analytics-grid {

    display:
        grid;

    grid-template-columns:
        0.9fr
        1.1fr;

    align-items:
        center;

    gap:
        80px;

}


.px-analytics-content h2 {

    max-width:
        580px;

    margin:
        0 0 18px;

    color:
        var(--px-blue-deep);

    font-size:
        clamp(32px, 4vw, 48px);

    line-height:
        1.1;

}


.px-analytics-content h2 span {

    color:
        var(--px-green);

}


.px-analytics-content > p {

    max-width:
        560px;

    margin:
        0;

    color:
        var(--px-gray);

    font-size:
        16px;

}


.px-analytics-list {

    display:
        grid;

    gap:
        12px;

    margin:
        28px 0;

}


.px-analytics-list div {

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    color:
        #4B596A;

    font-size:
        13px;

}


.px-analytics-list svg {

    width:
        17px;

    padding:
        3px;

    border-radius:
        50%;

    color:
        var(--px-green);

    background:
        var(--px-green-tint);

}


/* ============================================================
   MINI DASHBOARD
============================================================ */

.px-mini-dashboard {

    overflow:
        hidden;

    border:
        1px solid var(--px-border);

    border-radius:
        22px;

    background:
        var(--px-white);

    box-shadow:
        var(--px-shadow-lg);

}


.px-mini-dashboard-header {

    display:
        flex;

    justify-content:
        space-between;

    padding:
        22px;

    border-bottom:
        1px solid var(--px-border);

}


.px-mini-dashboard-header span,
.px-mini-dashboard-header strong {

    display:
        block;

}


.px-mini-dashboard-header span {

    color:
        var(--px-gray);

    font-size:
        11px;

}


.px-mini-dashboard-header strong {

    margin-top:
        3px;

    color:
        var(--px-blue-deep);

    font-size:
        15px;

}


.px-mini-kpis {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    border-bottom:
        1px solid var(--px-border);

}


.px-mini-kpis > div {

    padding:
        20px;

}


.px-mini-kpis > div + div {

    border-left:
        1px solid var(--px-border);

}


.px-mini-kpis span,
.px-mini-kpis strong,
.px-mini-kpis small {

    display:
        block;

}


.px-mini-kpis span {

    color:
        var(--px-gray);

    font-size:
        10px;

}


.px-mini-kpis strong {

    margin:
        3px 0;

    color:
        var(--px-blue-deep);

    font-size:
        27px;

}


.px-mini-kpis small {

    font-size:
        10px;

}


.px-positive {

    color:
        var(--px-green);

}


.px-mini-chart {

    padding:
        22px;

}


.px-chart-labels {

    display:
        flex;

    justify-content:
        space-between;

    color:
        var(--px-gray);

    font-size:
        10px;

}


.px-chart-bars {

    height:
        150px;

    display:
        flex;

    align-items:
        flex-end;

    gap:
        10px;

    margin-top:
        20px;

}


.px-chart-bars span {

    flex:
        1;

    min-width:
        8px;

    border-radius:
        5px 5px 2px 2px;

    background:
        linear-gradient(
            180deg,
            var(--px-blue-communication),
            var(--px-blue-soft)
        );

}


.px-mini-results {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    border-top:
        1px solid var(--px-border);

}


.px-mini-results > div {

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        18px;

}


.px-mini-results > div + div {

    border-left:
        1px solid var(--px-border);

}


.px-mini-results > div > span {

    font-size:
        22px;

}


.px-mini-results strong,
.px-mini-results small {

    display:
        block;

}


.px-mini-results strong {

    color:
        var(--px-blue-deep);

    font-size:
        16px;

}


.px-mini-results small {

    color:
        var(--px-gray);

    font-size:
        9px;

}


/* ============================================================
   CTA FINAL
============================================================ */

.px-final-cta {

    padding:
        100px 0;

    color:
        var(--px-white);

    background:
        linear-gradient(
            135deg,
            var(--px-blue-deep),
            var(--px-blue)
        );

}


.px-final-cta-content {

    max-width:
        760px;

    margin:
        0 auto;

    text-align:
        center;

}


.px-final-cta .px-section-label {

    color:
        var(--px-green-light);

}


.px-final-cta h2 {

    margin:
        0 0 16px;

    font-size:
        clamp(32px, 4vw, 50px);

    line-height:
        1.1;

}


.px-final-cta p {

    max-width:
        650px;

    margin:
        0 auto;

    color:
        rgba(255,255,255,0.70);

}


.px-final-actions {

    display:
        flex;

    justify-content:
        center;

    flex-wrap:
        wrap;

    gap:
        10px;

    margin-top:
        30px;

}


.px-btn-white {

    color:
        var(--px-blue-deep);

    background:
        var(--px-white);

}


.px-btn-white:hover {

    background:
        #F1F5F9;

}


.px-btn-ghost-white {

    color:
        var(--px-white);

    border-color:
        rgba(255,255,255,0.25);

    background:
        transparent;

}


.px-btn-ghost-white:hover {

    border-color:
        rgba(255,255,255,0.5);

    background:
        rgba(255,255,255,0.08);

}


/* ============================================================
   CONTATO
============================================================ */

.px-contact-section {

    padding:
        80px 0;

    background:
        var(--px-background);

}


.px-contact-card {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        40px;

    padding:
        45px;

    border:
        1px solid var(--px-border);

    border-radius:
        22px;

    background:
        var(--px-white);

    box-shadow:
        var(--px-shadow-sm);

}


.px-contact-card h2 {

    max-width:
        700px;

    margin:
        0 0 8px;

    color:
        var(--px-blue-deep);

    font-size:
        clamp(25px, 3vw, 35px);

    line-height:
        1.15;

}


.px-contact-card p {

    margin:
        0;

    color:
        var(--px-gray);

}


/* ============================================================
   RESPONSIVIDADE
============================================================ */

@media (max-width: 1000px) {

    .px-hero-grid {

        grid-template-columns:
            1fr;

    }


    .px-hero-content {

        max-width:
            720px;

        margin:
            0 auto;

        text-align:
            center;

    }


    .px-hero-actions,
    .px-hero-trust {

        justify-content:
            center;

    }


    .px-hero-visual {

        min-height:
            480px;

    }


    .px-simulator-grid,
    .px-analytics-grid {

        grid-template-columns:
            1fr;

    }


    .px-simulator-info {

        max-width:
            700px;

        margin:
            0 auto;

    }


    .px-steps {

        grid-template-columns:
            1fr 1fr;

    }


    .px-features-grid {

        grid-template-columns:
            1fr 1fr;

    }

}


@media (max-width: 760px) {

    .px-container {

        width:
            min(
                calc(100% - 28px),
                1240px
            );

    }


    .px-hero {

        padding:
            60px 0 70px;

    }


    .px-hero h1 {

        font-size:
            43px;

        letter-spacing:
            -1.8px;

    }


    .px-hero-text {

        font-size:
            16px;

    }


    .px-floating-card {

        display:
            none;

    }


    .px-carousel {

        min-height:
            470px;

    }


    .px-slide {

        grid-template-columns:
            1fr;

    }


    .px-slide-image {

        position:
            absolute;

        inset:
            0;

        opacity:
            0.18;

    }


    .px-slide-content {

        padding:
            40px 35px;

    }


    .px-section-heading {

        margin-bottom:
            40px;

    }


    .px-simulator-section,
    .px-how-section,
    .px-features-section,
    .px-analytics-section {

        padding:
            75px 0;

    }


    .px-features-grid {

        grid-template-columns:
            1fr;

    }


    .px-analytics-grid {

        gap:
            40px;

    }


    .px-contact-card {

        flex-direction:
            column;

        align-items:
            flex-start;

        padding:
            30px;

    }

}


@media (max-width: 520px) {

    .px-hero h1 {

        font-size:
            37px;

    }


    .px-hero-actions {

        flex-direction:
            column;

    }


    .px-hero-actions .px-btn {

        width:
            100%;

    }


    .px-hero-visual {

        min-height:
            420px;

    }


    .px-chat-body {

        min-height:
            320px;

    }


    .px-simulator-features {

        grid-template-columns:
            1fr;

    }


    .px-steps {

        grid-template-columns:
            1fr;

    }


    .px-mini-kpis,
    .px-mini-results {

        grid-template-columns:
            1fr;

    }


    .px-mini-kpis > div + div,
    .px-mini-results > div + div {

        border-left:
            0;

        border-top:
            1px solid var(--px-border);

    }


    .px-final-cta {

        padding:
            75px 0;

    }

}

