/* =========================================================
   CONOCE BLUUPI V2 — DESKTOP
========================================================= */

@media (min-width: 1200px) {

    /* =====================================================
       STRUCTURE GÉNÉRALE
    ===================================================== */

    body {
        background:
            radial-gradient(
                circle at top left,
                rgba(92, 214, 244, 0.07),
                transparent 30%
            ),
            var(--desktop-bg);
    }

    .desktop-header {
        display: flex !important;
    }

    .desktop-footer {
        display: block !important;
    }

    .bottom-nav {
        display: none !important;
    }

    .cb-page {
        width: calc(100% - 80px);
        max-width: 1240px;
        margin: 0 auto;
        padding: 42px 0 85px;
    }


    /* =====================================================
       EN-TÊTE DE PAGE
    ===================================================== */

    .cb-topbar {
        margin-bottom: 25px;
    }

    .cb-topbar-title {
        gap: 13px;
    }

    .cb-topbar-icon {
        width: 48px;
        min-width: 48px;
        height: 48px;
        border-radius: 16px;
    }

    .cb-topbar-icon svg {
        width: 23px;
        height: 23px;
    }

    .cb-topbar-title small {
        font-size: 0.76rem;
    }

    .cb-topbar-title strong {
        font-size: 1.18rem;
    }

    .cb-home-link {
        min-height: 45px;
        padding-right: 18px;
        padding-left: 18px;
        font-size: 0.9rem;
        transition:
            transform 0.2s ease,
            border-color 0.2s ease,
            color 0.2s ease,
            box-shadow 0.2s ease;
    }

    .cb-home-link:hover {
        border-color: #acd4e3;
        color: var(--cb-blue);
        box-shadow: 0 8px 20px rgba(14, 62, 97, 0.08);
        transform: translateY(-2px);
    }


    /* =====================================================
       ÉLÉMENTS COMMUNS
    ===================================================== */

    .cb-section {
        margin-top: 26px;
        padding: 52px;
        border-radius: 32px;
    }

    .cb-section-head {
        max-width: 780px;
        margin-bottom: 36px;
    }

    .cb-section-head h2 {
        margin-bottom: 15px;
        font-size: 2.7rem;
        line-height: 1.1;
        letter-spacing: -0.045em;
    }

    .cb-section-head p {
        font-size: 1.04rem;
        line-height: 1.72;
    }

    .cb-section-head-centered {
        margin-right: auto;
        margin-left: auto;
    }

    .cb-eyebrow {
        padding: 8px 14px;
        font-size: 0.74rem;
    }

    .cb-btn-row {
        width: auto;
        margin-top: 28px;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .cb-btn {
        width: auto;
        min-width: 205px;
        min-height: 53px;
        padding-right: 23px;
        padding-left: 23px;
        transition:
            transform 0.2s ease,
            box-shadow 0.2s ease,
            border-color 0.2s ease,
            background 0.2s ease;
    }

    .cb-btn:hover {
        transform: translateY(-3px);
    }

    .cb-btn-white:hover {
        box-shadow: 0 15px 32px rgba(7, 35, 55, 0.24);
    }

    .cb-btn-secondary:hover {
        border-color: var(--cb-cyan);
        background: rgba(255, 255, 255, 0.08);
    }

    .cb-btn-outline-light:hover {
        border-color: #ffffff;
        background: rgba(255, 255, 255, 0.12);
    }


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

    .cb-hero {
        display: grid;
        min-height: 590px;
        padding: 64px;
        border-radius: 38px;
        grid-template-columns:
            minmax(0, 1.12fr)
            minmax(390px, 0.88fr);
        align-items: center;
        gap: 65px;
    }

    .cb-hero::before {
        width: 430px;
        height: 430px;
        top: -245px;
        right: -95px;
    }

    .cb-hero-copy h1 {
        max-width: 700px;
        margin-bottom: 23px;
        font-size: clamp(4rem, 5.6vw, 5.4rem);
        line-height: 0.96;
        letter-spacing: -0.067em;
    }

    .cb-hero-copy h1 span {
        display: block;
    }

    .cb-hero-lead {
        max-width: 660px;
        font-size: 1.18rem !important;
        line-height: 1.7 !important;
    }

    .cb-hero-note {
        max-width: 620px;
        font-size: 0.93rem !important;
    }

    .cb-hero-visual {
        margin-top: 0;
    }

    .cb-ai-window {
        padding: 22px;
        border-radius: 29px;
        box-shadow: 0 28px 58px rgba(6, 26, 42, 0.24);
        transition:
            transform 0.3s ease,
            box-shadow 0.3s ease;
    }

    .cb-ai-window:hover {
        box-shadow: 0 34px 68px rgba(6, 26, 42, 0.3);
        transform: translateY(-5px);
    }

    .cb-ai-window-header {
        margin-bottom: 19px;
        font-size: 0.8rem;
    }

    .cb-chat-message {
        padding: 16px 18px;
        font-size: 0.9rem;
    }

    .cb-chat-user {
        margin-left: 45px;
    }

    .cb-chat-bluupi {
        margin-right: 30px;
    }

    .cb-ai-signals {
        margin-top: 18px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .cb-ai-signal {
        min-height: 44px;
        padding: 10px 12px;
        font-size: 0.75rem;
    }


    /* =====================================================
       HISTOIRE
    ===================================================== */

    .cb-story-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
    }

    .cb-story-card {
        min-height: 250px;
        padding: 26px;
        transition:
            transform 0.22s ease,
            border-color 0.22s ease,
            box-shadow 0.22s ease;
    }

    .cb-story-card:hover {
        border-color: #abd5e4;
        box-shadow: 0 15px 32px rgba(14, 62, 97, 0.09);
        transform: translateY(-5px);
    }

    .cb-story-card-featured:hover {
        border-color: #bdb5f4;
    }

    .cb-story-icon {
        width: 51px;
        height: 51px;
        margin-bottom: 19px;
        border-radius: 16px;
    }

    .cb-story-icon svg {
        width: 24px;
        height: 24px;
    }

    .cb-story-card h3 {
        margin-bottom: 11px;
        font-size: 1.19rem;
    }

    .cb-story-card p {
        font-size: 0.88rem;
    }


    /* =====================================================
       PUBLICS
    ===================================================== */

    .cb-audience-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 15px;
    }

    .cb-audience-card {
        display: block;
        min-height: 205px;
        padding: 24px;
        transition:
            transform 0.22s ease,
            border-color 0.22s ease,
            box-shadow 0.22s ease;
    }

    .cb-audience-card:hover {
        border-color: #afd7e5;
        box-shadow: 0 14px 30px rgba(14, 62, 97, 0.08);
        transform: translateY(-5px);
    }

    .cb-audience-icon {
        width: 49px;
        min-width: 49px;
        height: 49px;
        margin-bottom: 18px;
        border-radius: 16px;
    }

    .cb-audience-icon svg {
        width: 23px;
        height: 23px;
    }

    .cb-audience-card strong {
        margin-bottom: 8px;
        font-size: 1rem;
    }

    .cb-audience-card small {
        font-size: 0.8rem;
        line-height: 1.55;
    }


    /* =====================================================
       CONTEXTE
    ===================================================== */

    .cb-context-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

    .cb-context-item {
        min-height: 112px;
        padding: 20px;
        align-items: flex-start;
        transition:
            transform 0.2s ease,
            border-color 0.2s ease,
            box-shadow 0.2s ease;
    }

    .cb-context-item:hover {
        border-color: #b2d9e7;
        box-shadow: 0 12px 26px rgba(14, 62, 97, 0.07);
        transform: translateY(-3px);
    }

    .cb-context-icon {
        width: 47px;
        min-width: 47px;
        height: 47px;
        border-radius: 15px;
    }

    .cb-context-icon svg {
        width: 22px;
        height: 22px;
    }

    .cb-context-item strong {
        font-size: 0.95rem;
    }

    .cb-context-item small {
        font-size: 0.78rem;
    }


    /* =====================================================
       CATÉGORIES
    ===================================================== */

    .cb-category-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 15px;
    }

    .cb-category {
        display: block;
        min-height: 205px;
        padding: 24px;
        transition:
            transform 0.22s ease,
            border-color 0.22s ease,
            box-shadow 0.22s ease;
    }

    .cb-category:hover {
        border-color: #afd7e5;
        box-shadow: 0 14px 30px rgba(14, 62, 97, 0.08);
        transform: translateY(-5px);
    }

    .cb-category-icon {
        width: 49px;
        min-width: 49px;
        height: 49px;
        margin-bottom: 18px;
        border-radius: 16px;
    }

    .cb-category-icon svg {
        width: 23px;
        height: 23px;
    }

    .cb-category strong {
        margin-bottom: 8px;
        font-size: 1rem;
    }

    .cb-category small {
        font-size: 0.8rem;
        line-height: 1.55;
    }


    /* =====================================================
       ASSISTANT
    ===================================================== */

    .cb-assistant-section {
        padding: 55px;
    }

    .cb-assistant-layout {
        display: grid;
        grid-template-columns:
            minmax(0, 0.88fr)
            minmax(460px, 1.12fr);
        align-items: center;
        gap: 65px;
    }

    .cb-assistant-copy h2 {
        max-width: 520px;
        margin-bottom: 18px;
        font-size: 3rem;
        line-height: 1.06;
        letter-spacing: -0.05em;
    }

    .cb-assistant-copy p {
        max-width: 540px;
        font-size: 1rem;
        line-height: 1.72;
    }

    .cb-conversation {
        margin-top: 0;
        padding: 24px;
        border-radius: 28px;
        transition:
            transform 0.25s ease,
            box-shadow 0.25s ease;
    }

    .cb-conversation:hover {
        box-shadow: 0 20px 44px rgba(4, 22, 37, 0.22);
        transform: translateY(-4px);
    }

    .cb-conversation-title {
        margin-bottom: 20px;
        font-size: 0.74rem;
    }

    .cb-conversation .cb-chat-user {
        margin-left: 70px;
    }

    .cb-conversation .cb-chat-bluupi {
        margin-right: 45px;
    }

    .cb-criteria-list {
        margin-top: 18px;
    }

    .cb-criterion {
        padding: 8px 11px;
        font-size: 0.7rem;
    }


    /* =====================================================
       ÉTAPES
    ===================================================== */

    .cb-steps {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 15px;
    }

    .cb-step {
        display: block;
        min-height: 205px;
        padding: 24px;
        transition:
            transform 0.22s ease,
            border-color 0.22s ease,
            box-shadow 0.22s ease;
    }

    .cb-step:hover {
        border-color: #afd7e5;
        box-shadow: 0 14px 30px rgba(14, 62, 97, 0.08);
        transform: translateY(-5px);
    }

    .cb-step-number {
        width: 44px;
        height: 44px;
        margin-bottom: 20px;
    }

    .cb-step strong {
        display: block;
        margin-bottom: 8px;
        font-size: 1rem;
    }

    .cb-step small {
        font-size: 0.8rem;
        line-height: 1.55;
    }


    /* =====================================================
       ESPACE PERSONNEL
    ===================================================== */

    .cb-personal-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 15px;
    }

    .cb-personal-card {
        display: block;
        min-height: 185px;
        padding: 24px;
        transition:
            transform 0.22s ease,
            border-color 0.22s ease,
            box-shadow 0.22s ease;
    }

    .cb-personal-card:hover {
        border-color: #afd7e5;
        box-shadow: 0 14px 30px rgba(14, 62, 97, 0.08);
        transform: translateY(-5px);
    }

    .cb-personal-card > svg {
        width: 27px;
        height: 27px;
        margin-bottom: 19px;
    }

    .cb-personal-card strong {
        margin-bottom: 8px;
        font-size: 0.98rem;
    }

    .cb-personal-card small {
        font-size: 0.79rem;
        line-height: 1.55;
    }


    /* =====================================================
       VISION
    ===================================================== */

    .cb-vision {
        margin-top: 26px;
        padding: 64px;
        border-radius: 32px;
    }

    .cb-vision::after {
        position: absolute;
        right: -25px;
        bottom: -20px;
        color: rgba(255, 255, 255, 0.045);
        font-size: 7.2rem;
        font-weight: 900;
        letter-spacing: -0.065em;
        white-space: nowrap;
        content: "¿Qué hacemos hoy?";
        pointer-events: none;
    }

    .cb-vision-content {
        max-width: 1000px;
    }

    .cb-vision h2 {
        max-width: 860px;
        margin-bottom: 20px;
        font-size: 3.7rem;
        line-height: 1.02;
        letter-spacing: -0.06em;
    }

    .cb-vision p {
        max-width: 840px;
        font-size: 1.04rem;
        line-height: 1.75;
    }

    .cb-vision-question {
        margin-top: 28px;
        font-size: 2.6rem;
    }

    .cb-mission-grid {
        margin-top: 35px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }

    .cb-mission-item {
        min-height: 185px;
        padding: 25px;
        transition:
            transform 0.22s ease,
            background 0.22s ease;
    }

    .cb-mission-item:hover {
        background: rgba(255, 255, 255, 0.11);
        transform: translateY(-4px);
    }

    .cb-mission-item svg {
        width: 25px;
        height: 25px;
        margin-bottom: 16px;
    }

    .cb-mission-item strong {
        margin-bottom: 8px;
        font-size: 1rem;
    }

    .cb-mission-item small {
        font-size: 0.8rem;
        line-height: 1.55;
    }


    /* =====================================================
       FUTUR
    ===================================================== */

    .cb-future-layout {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(350px, 0.72fr);
        align-items: center;
        gap: 70px;
    }

    .cb-future-copy h2 {
        max-width: 650px;
        margin-bottom: 17px;
        font-size: 2.8rem;
        line-height: 1.1;
        letter-spacing: -0.045em;
    }

    .cb-future-copy p {
        max-width: 690px;
        font-size: 1rem;
    }

    .cb-platforms {
        margin-top: 0;
        gap: 13px;
    }

    .cb-platform {
        min-height: 91px;
        padding: 18px;
        transition:
            transform 0.2s ease,
            border-color 0.2s ease,
            box-shadow 0.2s ease;
    }

    .cb-platform:hover {
        border-color: #afd7e5;
        box-shadow: 0 12px 26px rgba(14, 62, 97, 0.07);
        transform: translateX(4px);
    }

    .cb-platform-icon {
        width: 47px;
        min-width: 47px;
        height: 47px;
        border-radius: 15px;
    }

    .cb-platform-icon svg {
        width: 22px;
        height: 22px;
    }

    .cb-platform strong {
        font-size: 0.95rem;
    }

    .cb-platform small {
        font-size: 0.78rem;
    }


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

    .cb-final {
        margin-top: 26px;
        padding: 67px 50px;
        border-radius: 32px;
    }

    .cb-final-content {
        max-width: 790px;
        margin: 0 auto;
    }

    .cb-final-icon {
        width: 62px;
        height: 62px;
        margin-bottom: 21px;
        border-radius: 20px;
    }

    .cb-final-icon svg {
        width: 30px;
        height: 30px;
    }

    .cb-final h2 {
        margin-bottom: 16px;
        font-size: 3.3rem;
        line-height: 1.04;
        letter-spacing: -0.055em;
    }

    .cb-final p {
        font-size: 1.08rem;
    }

    .cb-final .cb-btn-row {
        justify-content: center;
    }

}
