        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --primary: #3AB795;
            --primary-light: #5FE3B5;
            --primary-dark: #2D9B7A;
            --accent: #1E3A5F;
            --accent-light: #2D5A8A;
            --accent-gradient: linear-gradient(135deg, #1E3A5F 0%, #0F2744 100%);
            --bg-dark: #0F172A;
            --bg-surface: #1E293B;
            --text-primary: #F8FAFC;
            --text-secondary: #94A3B8;
            --text-dark: #1E293B;
            --text-muted: #64748B;
        }

        html {
            scroll-behavior: smooth;
            overflow-x: hidden;
        }

        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            background: var(--bg-dark);
            color: var(--text-primary);
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        /* ================================
           NAVIGATION - Minimaliste
        ================================ */
        .nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 100;
            padding: 1rem 2rem;
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid rgba(0, 0, 0, 0.06);
        }

        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            text-decoration: none;
        }

        .logo-icon {
            width: 28px;
            height: 28px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .logo-icon img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            mix-blend-mode: multiply;
        }

        .logo-text {
            font-weight: 700;
            font-size: 1.25rem;
            color: var(--text-dark);
            letter-spacing: -0.02em;
        }

        .nav-cta {
            display: flex;
            gap: 0.75rem;
            align-items: center;
        }

        /* Language Selector */
        .lang-selector {
            position: relative;
            margin-right: 0.5rem;
        }

        .lang-toggle {
            display: flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.4rem 0.6rem;
            background: transparent;
            border: 1px solid rgba(0, 0, 0, 0.1);
            border-radius: 6px;
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--text-muted);
            cursor: pointer;
            transition: all 0.2s;
        }

        .lang-toggle:hover {
            background: rgba(0, 0, 0, 0.03);
            border-color: rgba(0, 0, 0, 0.15);
            color: var(--text-dark);
        }

        .lang-toggle svg {
            width: 12px;
            height: 12px;
            transition: transform 0.2s;
        }

        .lang-selector.open .lang-toggle svg {
            transform: rotate(180deg);
        }

        .lang-dropdown {
            position: absolute;
            top: calc(100% + 6px);
            right: 0;
            background: white;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.05);
            padding: 0.35rem;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-8px);
            transition: all 0.2s ease;
            z-index: 100;
            min-width: 100px;
        }

        .lang-selector.open .lang-dropdown {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .lang-option {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 0.75rem;
            font-size: 0.8125rem;
            color: var(--text-muted);
            border-radius: 5px;
            cursor: pointer;
            transition: all 0.15s;
        }

        .lang-option:hover {
            background: rgba(0, 0, 0, 0.04);
            color: var(--text-dark);
        }

        .lang-option.active {
            background: rgba(52, 129, 210, 0.1);
            color: #3481d2;
            font-weight: 600;
        }

        .lang-option-flag {
            font-size: 1rem;
        }

        .nav-link {
            color: var(--text-muted);
            text-decoration: none;
            font-size: 0.875rem;
            font-weight: 500;
            padding: 0.5rem 1rem;
            transition: all 0.2s;
            position: relative;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 2px;
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
            border-radius: 2px;
            transition: width 0.3s ease;
        }

        .nav-link:hover {
            color: var(--text-dark);
        }

        .nav-link.active {
            color: var(--text-dark);
            font-weight: 600;
        }

        .nav-link.active::after {
            width: 100%;
        }

        /* Language Flags */
        .lang-flags {
            display: flex;
            gap: 0.375rem;
            align-items: center;
            padding: 0.25rem;
        }

        .lang-flag {
            text-decoration: none;
            transition: all 0.2s ease;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.1);
            border: 2px solid transparent;
            opacity: 0.7;
        }

        .flag-icon {
            width: 20px;
            height: 15px;
            border-radius: 2px;
        }

        .lang-flag:hover {
            opacity: 1;
            background: rgba(255, 255, 255, 0.2);
            transform: scale(1.1);
        }

        .lang-flag.active {
            opacity: 1;
            background: rgba(255, 255, 255, 0.95);
            border-color: var(--primary);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
        }

        .btn {
            padding: 0.625rem 1.25rem;
            border-radius: 8px;
            font-size: 0.875rem;
            font-weight: 600;
            font-family: inherit;
            cursor: pointer;
            transition: all 0.2s;
            text-decoration: none;
            border: none;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }

        .btn-primary {
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
            color: white;
            box-shadow:
                0 6px 20px rgba(255, 107, 74, 0.45),
                0 0 50px rgba(255, 107, 74, 0.25);
            position: relative;
            overflow: hidden;
        }

        .btn-primary::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
            animation: btnShine 2.5s infinite;
        }

        @keyframes btnShine {
            0% { left: -100%; }
            40%, 100% { left: 100%; }
        }

        .btn-primary:hover {
            background: linear-gradient(135deg, #E85A3C 0%, #FF6B4A 100%);
            transform: translateY(-3px) scale(1.03);
            box-shadow:
                0 10px 35px rgba(255, 107, 74, 0.55),
                0 0 70px rgba(255, 107, 74, 0.35);
        }

        .btn-hero {
            padding: 1.25rem 2.75rem;
            font-size: 1.0625rem;
            border-radius: 12px;
        }

        .btn-large {
            padding: 1rem 2rem;
            font-size: 1rem;
        }

        .btn-ghost {
            background: transparent;
            color: rgba(255, 255, 255, 0.9);
            border: 1px solid rgba(255, 255, 255, 0.3);
        }

        .btn-ghost:hover {
            border-color: rgba(255, 255, 255, 0.6);
            background: rgba(255, 255, 255, 0.1);
            color: white;
        }

        /* Bouton outline pour header (fond blanc) */
        .btn-outline {
            background: transparent;
            color: var(--text-dark);
            border: 1px solid rgba(0, 0, 0, 0.15);
        }

        .btn-outline:hover {
            border-color: var(--primary);
            background: rgba(58, 183, 149, 0.08);
            color: var(--primary-dark);
        }

        /* ================================
           FLOATING CTA
        ================================ */
        .floating-cta {
            position: fixed;
            bottom: 2.5rem;
            right: 2.5rem;
            z-index: 99;
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px) scale(0.9);
            transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .floating-cta.visible {
            opacity: 1;
            visibility: visible;
            transform: translateY(0) scale(1);
        }

        .floating-cta-btn {
            display: flex;
            align-items: center;
            gap: 0.875rem;
            padding: 1.125rem 1.75rem;
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
            color: white;
            font-size: 1rem;
            font-weight: 600;
            border-radius: 14px;
            text-decoration: none;
            box-shadow:
                0 8px 24px rgba(255, 107, 74, 0.5),
                0 16px 48px rgba(255, 107, 74, 0.25),
                0 0 0 1px rgba(255, 255, 255, 0.1) inset;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .floating-cta-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
            animation: btnShine 3s infinite;
        }

        .floating-cta-btn:hover {
            transform: translateY(-4px) scale(1.03);
            box-shadow:
                0 12px 32px rgba(255, 107, 74, 0.6),
                0 20px 60px rgba(255, 107, 74, 0.35),
                0 0 0 1px rgba(255, 255, 255, 0.15) inset;
        }

        .floating-cta-btn svg {
            width: 22px;
            height: 22px;
            fill: currentColor;
        }

        .floating-cta-pulse {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            height: 100%;
            border-radius: 14px;
            background: rgba(255, 107, 74, 0.35);
            animation: floatingPulse 2.5s ease-out infinite;
            pointer-events: none;
        }

        @keyframes floatingPulse {
            0% {
                transform: translate(-50%, -50%) scale(1);
                opacity: 0.5;
            }
            100% {
                transform: translate(-50%, -50%) scale(1.4);
                opacity: 0;
            }
        }

        @media (max-width: 640px) {
            .floating-cta {
                bottom: 1.25rem;
                right: 1.25rem;
                left: 1.25rem;
            }

            .floating-cta-btn {
                width: 100%;
                justify-content: center;
                padding: 1rem 1.5rem;
            }
        }

        /* ================================
           HERO - Focus conversion
        ================================ */
        .hero-wrapper {
            position: relative;
            background: linear-gradient(160deg, #0a1628 0%, #0F2744 30%, #1a3358 60%, #1E3A5F 100%);
        }

        /* Subtle ambient glow */
        .hero-bg-diagonal {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            overflow: hidden;
        }

        /* Grid pattern overlay */
        .hero-bg-diagonal::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image:
                linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
            background-size: 60px 60px;
        }

        /* Accent glow top-left */
        .hero-bg-diagonal::after {
            content: '';
            position: absolute;
            top: -20%;
            left: -10%;
            width: 60%;
            height: 80%;
            background: radial-gradient(ellipse at center, rgba(58, 183, 149, 0.08) 0%, transparent 70%);
            filter: blur(80px);
        }

        .hero {
            height: 100vh;
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
            padding: 0;
            background: transparent;
        }

        .hero-container {
            max-width: 100%;
            width: 100%;
            margin: 0 auto;
            display: grid;
            grid-template-columns: minmax(320px, 480px) 1fr;
            align-items: center;
            gap: 0;
            padding: 5rem 0 0 clamp(2rem, 5vw, 5rem);
            position: relative;
            z-index: 10;
        }

        .hero-content {
            text-align: left;
            padding-right: 2.5rem;
            overflow: hidden;
        }

        .hero-visual {
            width: 100%;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.375rem 0.875rem;
            background: rgba(255, 255, 255, 0.15);
            border-radius: 100px;
            font-size: 0.8125rem;
            color: rgba(255, 255, 255, 0.9);
            margin-bottom: 1.5rem;
            font-weight: 500;
            backdrop-filter: blur(4px);
        }

        .hero-badge::before {
            content: '';
            width: 6px;
            height: 6px;
            background: #FF6B4A;
            border-radius: 50%;
        }


        .hero-title {
            font-size: clamp(1.75rem, 2.4vw, 2.125rem);
            font-weight: 800;
            line-height: 1.15;
            letter-spacing: -0.03em;
            margin-bottom: 1rem;
            color: white;
        }

        .hero-title-static {
            display: block;
        }

        /* Highlights colorés pour les outils remplacés */
        .highlight-tool {
            font-weight: 700;
            padding: 0 0.15em;
            border-radius: 4px;
        }

        .highlight-tool.whatsapp {
            color: #25D366;
            text-decoration: line-through;
            text-decoration-color: rgba(255, 255, 255, 0.5);
        }

        .highlight-tool.excel {
            color: #217346;
            text-decoration: line-through;
            text-decoration-color: rgba(255, 255, 255, 0.5);
        }

        .highlight-tool.helloasso {
            color: #00B4D8;
            text-decoration: line-through;
            text-decoration-color: rgba(255, 255, 255, 0.5);
        }

        .hero-title-dynamic {
            color: #FF6B4A;
            position: relative;
            text-shadow: 0 0 60px rgba(255, 107, 74, 0.4);
            display: inline;
        }

        .hero-title-typed {
            display: inline;
        }

        .hero-title-cursor {
            display: inline-block;
            width: 3px;
            height: 1em;
            background: #FF6B4A;
            margin-left: 0;
            vertical-align: text-bottom;
            animation: cursorBlink 0.7s infinite;
        }

        @keyframes cursorBlink {
            0%, 50% { opacity: 1; }
            51%, 100% { opacity: 0; }
        }

        .hero-tagline {
            font-size: 1.125rem;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.95);
            margin: 0.75rem 0 1.5rem;
            letter-spacing: -0.01em;
        }

        .hero-subtitle {
            font-size: 0.9rem;
            color: rgba(255, 255, 255, 0.5);
            line-height: 1.55;
            margin-bottom: 1.5rem;
        }

        .hero-modulaire {
            font-size: 0.9rem;
            color: rgba(255, 255, 255, 0.55);
            margin-bottom: 1.5rem;
            font-style: italic;
        }

        .hero-emotional {
            font-size: 1.125rem;
            color: rgba(255, 200, 180, 0.85);
            margin: 1.25rem 0 2rem;
            font-style: italic;
            font-weight: 400;
            line-height: 1.5;
            padding: 0.75rem 0 0.75rem 1.25rem;
            border-left: 2px solid rgba(255, 107, 74, 0.4);
        }

        .hero-emotional strong {
            color: #FF6B4A;
            font-style: normal;
            font-weight: 600;
            text-shadow: 0 0 30px rgba(255, 107, 74, 0.5);
        }

        .hero-cta {
            display: flex;
            gap: 0.625rem;
            align-items: center;
        }

        .hero-cta .btn-hero {
            padding: 0.75rem 1.375rem;
            font-size: 0.875rem;
            border-radius: 10px;
            white-space: nowrap;
        }

        .hero-cta-link {
            font-size: 0.875rem;
            color: rgba(255, 255, 255, 0.7);
            margin-bottom: 0;
        }

        .hero-cta-link a {
            color: rgba(255, 255, 255, 0.9);
            text-decoration: underline;
            text-underline-offset: 2px;
            transition: color 0.2s;
        }

        .hero-cta-link a:hover {
            color: #FF6B4A;
        }

        .hero-cta-secondary {
            display: inline-flex;
            align-items: center;
            gap: 0.3rem;
            margin-top: 0.85rem;
            font-size: 0.92rem;
            color: #3481d2;
            text-decoration: none;
            font-weight: 600;
            transition: color 0.2s, gap 0.2s;
        }
        .hero-cta-secondary:hover {
            color: #2766a8;
            text-decoration: underline;
            text-underline-offset: 3px;
            gap: 0.5rem;
        }

        .hero-proof {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding-top: 1.5rem;
            border-top: 1px solid rgba(255, 255, 255, 0.15);
        }

        .hero-proof-avatars {
            display: flex;
        }

        .hero-proof-avatar {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            border: 2px solid rgba(255, 255, 255, 0.3);
            margin-left: -10px;
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.75rem;
            font-weight: 600;
            color: white;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        }

        .hero-proof-avatar:first-child {
            margin-left: 0;
        }

        .hero-proof-text {
            font-size: 0.875rem;
            color: rgba(255, 255, 255, 0.7);
        }

        .hero-proof-text strong {
            color: white;
        }

        /* Trust Badges */
        .trust-badges {
            display: flex;
            gap: 1.5rem;
            margin-top: 1.5rem;
            flex-wrap: wrap;
        }

        .trust-badge {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.8125rem;
            color: rgba(255, 255, 255, 0.7);
        }

        .trust-badge svg {
            width: 16px;
            height: 16px;
            fill: #FF6B4A;
        }

        .trust-badge strong {
            color: white;
            font-weight: 600;
        }

        /* Tools Replaced Section */
        .hero-tools-replaced {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-top: 1.5rem;
            flex-wrap: wrap;
        }

        .hero-tools-label {
            font-size: 0.875rem;
            color: rgba(255, 255, 255, 0.6);
            font-weight: 500;
        }

        .hero-tools-list {
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
        }

        .tool-badge {
            padding: 0.35rem 0.75rem;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 100px;
            font-size: 0.75rem;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.7);
            transition: all 0.2s ease;
            text-decoration: line-through;
            text-decoration-color: rgba(255, 107, 74, 0.6);
        }

        .tool-badge:hover {
            background: rgba(255, 107, 74, 0.15);
            border-color: rgba(255, 107, 74, 0.3);
            color: rgba(255, 255, 255, 0.9);
        }

        /* Hero Visual */
        .hero-visual {
            position: relative;
        }

        .hero-video-container {
            position: relative;
            width: 100%;
            aspect-ratio: 16 / 9;
            border-radius: 12px 0 0 12px;
            overflow: hidden;
            box-shadow:
                0 25px 80px rgba(0, 0, 0, 0.4),
                -1px 0 0 rgba(255, 255, 255, 0.06);
        }

        .hero-product-video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        /* Fade right edge of video into background */
        .hero-video-container::after {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 60px;
            height: 100%;
            background: linear-gradient(to right, transparent, #1a3358);
            pointer-events: none;
        }

        /* Animation mobile - visible uniquement sur mobile */
        .hero-mobile-animation {
            display: none;
        }

        /* Hub Container */
        .terrilink-hub-container {
            position: relative;
            width: 100%;
            height: 480px;
            border-radius: 24px;
            overflow: hidden;
            background: linear-gradient(135deg, rgba(30, 58, 95, 0.95) 0%, rgba(15, 30, 50, 0.98) 100%);
            box-shadow:
                0 8px 32px rgba(0, 0, 0, 0.2),
                0 24px 64px rgba(0, 0, 0, 0.15),
                inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }

        /* World Map Background - OpenLayers */
        .hub-world-map {
            position: absolute;
            inset: 0;
            opacity: 0.4;
            z-index: 0;
        }

        #hub-map {
            width: 100%;
            height: 100%;
            background: #1a1a2e;
            background-image:
                radial-gradient(circle at 20% 30%, rgba(58, 183, 149, 0.1) 0%, transparent 40%),
                radial-gradient(circle at 80% 70%, rgba(52, 129, 210, 0.1) 0%, transparent 40%);
        }

        #hub-map .ol-viewport {
            border-radius: 24px;
        }

        .hub-connections {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 1;
        }

        .connection-line {
            fill: none;
            stroke: url(#lineGrad);
            stroke-width: 1.5;
            stroke-dasharray: 200;
            stroke-dashoffset: 200;
            animation: drawLine 3s ease-in-out infinite;
        }

        .connection-line:nth-child(2) { animation-delay: 0.5s; }
        .connection-line:nth-child(3) { animation-delay: 1s; }
        .connection-line:nth-child(4) { animation-delay: 1.5s; }
        .connection-line:nth-child(5) { animation-delay: 2s; }
        .connection-line:nth-child(6) { animation-delay: 2.5s; }

        @keyframes drawLine {
            0% { stroke-dashoffset: 200; opacity: 0; }
            30% { opacity: 1; }
            50% { stroke-dashoffset: 0; opacity: 1; }
            70% { opacity: 1; }
            100% { stroke-dashoffset: -200; opacity: 0; }
        }

        /* Member Dots */
        .member-dots {
            position: absolute;
            inset: 0;
        }

        .member-dot {
            position: absolute;
            width: 10px;
            height: 10px;
            background: #3AB795;
            border-radius: 50%;
            transform: translate(-50%, -50%);
            box-shadow: 0 0 10px rgba(58, 183, 149, 0.5);
        }

        .member-dot.active {
            width: 16px;
            height: 16px;
            background: #FF6B4A;
            box-shadow: 0 0 20px rgba(255, 107, 74, 0.6);
        }

        .dot-pulse {
            position: absolute;
            inset: -4px;
            border: 2px solid currentColor;
            border-radius: 50%;
            animation: dotPulse 2s ease-out infinite;
        }

        .member-dot .dot-pulse { border-color: #3AB795; }
        .member-dot.active .dot-pulse { border-color: #FF6B4A; }

        @keyframes dotPulse {
            0% { transform: scale(1); opacity: 0.8; }
            100% { transform: scale(2.5); opacity: 0; }
        }

        /* Hub Center */
        .hub-center {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 10;
        }

        .hub-core {
            position: relative;
            width: 100px;
            height: 100px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .hub-brand-name {
            position: absolute;
            bottom: -30px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 1rem;
            font-weight: 700;
            color: white;
            letter-spacing: 0.5px;
            white-space: nowrap;
            text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
        }

        .hub-logo {
            width: 56px;
            height: 56px;
            background: linear-gradient(135deg, #3AB795 0%, #2DA882 100%);
            border-radius: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow:
                0 4px 20px rgba(58, 183, 149, 0.4),
                0 0 40px rgba(58, 183, 149, 0.2);
            z-index: 5;
        }

        .hub-logo img {
            width: 36px;
            height: 36px;
            filter: brightness(0) invert(1);
        }

        .hub-ring {
            position: absolute;
            border: 1px solid rgba(58, 183, 149, 0.3);
            border-radius: 50%;
            animation: ringPulse 3s ease-out infinite;
        }

        .hub-ring-1 {
            width: 80px;
            height: 80px;
            animation-delay: 0s;
        }

        .hub-ring-2 {
            width: 120px;
            height: 120px;
            animation-delay: 0.5s;
        }

        .hub-ring-3 {
            width: 160px;
            height: 160px;
            animation-delay: 1s;
        }

        @keyframes ringPulse {
            0% { transform: scale(0.8); opacity: 0.8; }
            100% { transform: scale(1.5); opacity: 0; }
        }

        /* Hub Modules */
        .hub-modules {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 5;
        }

        .hub-module {
            position: absolute;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
            animation: moduleFloat 4s ease-in-out infinite;
        }

        .module-icon {
            width: 48px;
            height: 48px;
            background: white;
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow:
                0 4px 16px rgba(0, 0, 0, 0.15),
                0 8px 32px rgba(0, 0, 0, 0.1);
        }

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

        .module-label {
            font-size: 0.75rem;
            font-weight: 600;
            color: white;
            text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        }

        .module-connector {
            position: absolute;
            width: 60px;
            height: 2px;
            background: linear-gradient(90deg, transparent 0%, rgba(58, 183, 149, 0.6) 50%, transparent 100%);
        }

        /* Module positions - 7 modules en cercle */
        .module-members {
            top: 5%;
            left: 50%;
            transform: translateX(-50%);
            animation-delay: 0s;
        }

        .module-members .module-icon svg { fill: #3AB795; }
        .module-members .module-connector { display: none; }

        .module-events {
            top: 18%;
            right: 10%;
            animation-delay: 0.5s;
        }

        .module-events .module-icon svg { fill: #8B5CF6; }
        .module-events .module-connector { display: none; }

        .module-payments {
            top: 18%;
            left: 10%;
            animation-delay: 1s;
        }

        .module-payments .module-icon svg { fill: #FF6B4A; }
        .module-payments .module-connector { display: none; }

        .module-messaging {
            top: 50%;
            right: 3%;
            transform: translateY(-50%);
            animation-delay: 1.5s;
        }

        .module-messaging .module-icon svg { fill: #3481D2; }
        .module-messaging .module-connector { display: none; }

        /* Secondary modules - attenuated for visual hierarchy */
        .module-housing {
            top: 50%;
            left: 3%;
            transform: translateY(-50%) scale(0.85);
            animation-delay: 2s;
            opacity: 0.75;
        }

        .module-housing .module-icon svg { fill: #F59E0B; }
        .module-housing .module-connector { display: none; }
        .module-housing .module-icon {
            width: 40px;
            height: 40px;
        }
        .module-housing .module-label {
            font-size: 0.65rem;
            opacity: 0.85;
        }

        .module-feed {
            bottom: 15%;
            left: 15%;
            transform: scale(0.85);
            animation-delay: 2.5s;
            opacity: 0.75;
        }

        .module-feed .module-icon svg { fill: #3B82F6; }
        .module-feed .module-connector { display: none; }
        .module-feed .module-icon {
            width: 40px;
            height: 40px;
        }
        .module-feed .module-label {
            font-size: 0.65rem;
            opacity: 0.85;
        }

        .module-careers {
            bottom: 15%;
            right: 15%;
            transform: scale(0.85);
            animation-delay: 3s;
            opacity: 0.75;
        }

        .module-careers .module-icon svg { fill: #EC4899; }
        .module-careers .module-connector { display: none; }
        .module-careers .module-icon {
            width: 40px;
            height: 40px;
        }
        .module-careers .module-label {
            font-size: 0.65rem;
            opacity: 0.85;
        }

        @keyframes moduleFloat {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-8px); }
        }

        /* Data particles - flowing from modules to center */
        .hub-data-flows {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 2;
        }

        .data-particle {
            position: absolute;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            opacity: 0;
        }

        /* Particle from Members (top center) - green */
        .particle-members {
            background: #3AB795;
            box-shadow: 0 0 10px #3AB795;
            animation: particleFromMembers 3.5s ease-in-out infinite;
        }

        /* Particle from Events (top right) - purple */
        .particle-events {
            background: #8B5CF6;
            box-shadow: 0 0 10px #8B5CF6;
            animation: particleFromEvents 3.5s ease-in-out infinite;
            animation-delay: 0.9s;
        }

        /* Particle from Payments (top left) - orange */
        .particle-payments {
            background: #FF6B4A;
            box-shadow: 0 0 10px #FF6B4A;
            animation: particleFromPayments 3.5s ease-in-out infinite;
            animation-delay: 1.8s;
        }

        /* Particle from Messaging (right center) - blue */
        .particle-messaging {
            background: #3481D2;
            box-shadow: 0 0 10px #3481D2;
            animation: particleFromMessaging 3.5s ease-in-out infinite;
            animation-delay: 2.7s;
        }

        /* Secondary particles - smaller and more subtle */
        .particle-housing {
            background: #F59E0B;
            box-shadow: 0 0 8px #F59E0B;
            width: 5px;
            height: 5px;
            animation: particleFromHousing 3.5s ease-in-out infinite;
            animation-delay: 3.6s;
        }

        .particle-feed {
            background: #3B82F6;
            box-shadow: 0 0 8px #3B82F6;
            width: 5px;
            height: 5px;
            animation: particleFromFeed 3.5s ease-in-out infinite;
            animation-delay: 4.5s;
        }

        .particle-careers {
            background: #EC4899;
            box-shadow: 0 0 8px #EC4899;
            width: 5px;
            height: 5px;
            animation: particleFromCareers 3.5s ease-in-out infinite;
            animation-delay: 5.4s;
        }

        /* Keyframes - particles flow from module icon centers to hub center */
        @keyframes particleFromMembers {
            0% {
                left: 50%;
                top: calc(5% + 24px);
                opacity: 0;
                transform: translateX(-50%);
            }
            15% { opacity: 1; }
            85% { opacity: 1; }
            100% {
                left: 50%;
                top: 50%;
                opacity: 0;
                transform: translateX(-50%);
            }
        }

        @keyframes particleFromEvents {
            0% {
                right: calc(10% + 24px);
                top: calc(18% + 24px);
                opacity: 0;
                left: auto;
            }
            15% { opacity: 1; }
            85% { opacity: 1; }
            100% {
                right: 50%;
                top: 50%;
                opacity: 0;
                left: auto;
            }
        }

        @keyframes particleFromPayments {
            0% {
                left: calc(10% + 24px);
                top: calc(18% + 24px);
                opacity: 0;
            }
            15% { opacity: 1; }
            85% { opacity: 1; }
            100% {
                left: 50%;
                top: 50%;
                opacity: 0;
            }
        }

        @keyframes particleFromMessaging {
            0% {
                right: calc(3% + 24px);
                top: 50%;
                opacity: 0;
                left: auto;
                transform: translateY(-50%);
            }
            15% { opacity: 1; }
            85% { opacity: 1; }
            100% {
                right: 50%;
                top: 50%;
                opacity: 0;
                left: auto;
                transform: translateY(-50%);
            }
        }

        /* Secondary module particles - smaller icons (40px = 20px offset) */
        @keyframes particleFromHousing {
            0% {
                left: calc(3% + 20px);
                top: 50%;
                opacity: 0;
                transform: translateY(-50%);
            }
            15% { opacity: 0.7; }
            85% { opacity: 0.7; }
            100% {
                left: 50%;
                top: 50%;
                opacity: 0;
                transform: translateY(-50%);
            }
        }

        @keyframes particleFromFeed {
            0% {
                left: calc(15% + 20px);
                bottom: calc(15% + 20px);
                opacity: 0;
                top: auto;
            }
            15% { opacity: 0.7; }
            85% { opacity: 0.7; }
            100% {
                left: 50%;
                bottom: 50%;
                opacity: 0;
                top: auto;
            }
        }

        @keyframes particleFromCareers {
            0% {
                right: calc(15% + 20px);
                bottom: calc(15% + 20px);
                opacity: 0;
                left: auto;
                top: auto;
            }
            15% { opacity: 0.7; }
            85% { opacity: 0.7; }
            100% {
                right: 50%;
                bottom: 50%;
                opacity: 0;
                left: auto;
                top: auto;
            }
        }

        /* Hub Notifications */
        .hub-notifications {
            position: absolute;
            inset: 0;
            pointer-events: none;
        }

        .hub-notif {
            position: absolute;
            display: flex;
            align-items: center;
            gap: 0.625rem;
            padding: 0.625rem 0.875rem;
            background: rgba(255, 255, 255, 0.95);
            border-radius: 12px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
            font-size: 0.75rem;
            opacity: 0;
            animation: notifAppear 6s ease-in-out infinite;
        }

        .notif-1 {
            top: 5%;
            left: 10%;
            animation-delay: 0s;
        }

        .notif-2 {
            top: 5%;
            right: 10%;
            animation-delay: 2s;
        }

        .notif-3 {
            top: 35%;
            left: 3%;
            animation-delay: 4s;
        }

        .notif-4 {
            top: 35%;
            right: 3%;
            animation-delay: 6s;
        }

        .notif-5 {
            bottom: 5%;
            left: 10%;
            animation-delay: 8s;
        }

        .notif-6 {
            bottom: 5%;
            right: 10%;
            animation-delay: 10s;
        }

        @keyframes notifAppear {
            0%, 8% { opacity: 0; transform: translateY(10px); }
            12%, 25% { opacity: 1; transform: translateY(0); }
            30%, 100% { opacity: 0; transform: translateY(-10px); }
        }

        .hub-notif {
            animation-duration: 12s;
        }

        .notif-avatar {
            width: 28px;
            height: 28px;
            background: linear-gradient(135deg, #3AB795 0%, #5FE3B5 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: 700;
            font-size: 0.625rem;
        }

        .notif-icon {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .notif-icon svg {
            width: 14px;
            height: 14px;
            fill: white;
        }

        .notif-icon.payment {
            background: linear-gradient(135deg, #22C55E 0%, #4ADE80 100%);
        }

        .notif-icon.event {
            background: linear-gradient(135deg, #8B5CF6 0%, #A78BFA 100%);
        }

        .notif-icon.housing {
            background: linear-gradient(135deg, #F59E0B 0%, #FBBF24 100%);
        }

        .notif-icon.post {
            background: linear-gradient(135deg, #3B82F6 0%, #60A5FA 100%);
        }

        .notif-icon.career {
            background: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
        }

        .notif-content {
            display: flex;
            flex-direction: column;
            gap: 0.125rem;
        }

        .notif-name {
            font-weight: 600;
            color: var(--text-dark);
        }

        .notif-action {
            color: var(--text-muted);
            font-size: 0.6875rem;
        }

        .notif-2 .notif-action {
            color: #22C55E;
            font-weight: 600;
        }

        .map-window {
            background: white;
            border-radius: 20px;
            overflow: hidden;
            box-shadow:
                0 8px 16px -4px rgba(0, 0, 0, 0.12),
                0 24px 48px -12px rgba(0, 0, 0, 0.2),
                0 0 0 1px rgba(255, 255, 255, 0.1);
            transform: rotateY(-2deg) rotateX(2deg);
            transition: transform 0.5s ease;
        }

        .map-window:hover {
            transform: rotateY(0deg) rotateX(0deg) scale(1.01);
        }

        .map-window-header {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 14px 18px;
            background: linear-gradient(180deg, #FAFBFC 0%, #F5F6F8 100%);
            border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        }

        .map-window-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            box-shadow: inset 0 -2px 4px rgba(0, 0, 0, 0.1);
        }

        .map-window-dot.red { background: linear-gradient(180deg, #FF5F57 0%, #E04E47 100%); }
        .map-window-dot.yellow { background: linear-gradient(180deg, #FFBD2E 0%, #E5A825 100%); }
        .map-window-dot.green { background: linear-gradient(180deg, #28CA41 0%, #20B337 100%); }

        .map-window-title {
            flex: 1;
            text-align: center;
            font-size: 0.8125rem;
            color: var(--text-muted);
            font-weight: 500;
        }

        .map-window-body {
            position: relative;
            height: 480px;
        }

        .map-window-body #map {
            width: 100%;
            height: 100%;
        }

        .map-window-body .canvas-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
        }

        /* Stats overlay on map */
        .map-window-stats {
            position: absolute;
            bottom: 16px;
            left: 16px;
            right: 16px;
            display: flex;
            gap: 12px;
        }

        .map-window-stat {
            flex: 1;
            background: white;
            padding: 12px 16px;
            border-radius: 10px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            text-align: center;
        }

        .map-window-stat-value {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--text-dark);
            line-height: 1;
        }

        .map-window-stat-label {
            font-size: 0.75rem;
            color: var(--text-muted);
            margin-top: 4px;
        }

        /* Floating notifications - Subtiles et espacées */
        .hero-floating-notif {
            position: absolute;
            background: rgba(255, 255, 255, 0.92);
            padding: 10px 14px;
            border-radius: 12px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
            display: flex;
            align-items: center;
            gap: 10px;
            z-index: 20;
            border: 1px solid rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(8px);
            opacity: 0.9;
            transition: opacity 0.3s, transform 0.3s;
        }

        .hero-floating-notif:hover {
            opacity: 1;
            background: rgba(255, 255, 255, 0.98);
            transform: scale(1.03);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.08);
        }

        @keyframes float1 {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-5px); }
        }

        @keyframes float2 {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-6px); }
        }

        /* Position variants - 3 notifications bien espacées */
        .hero-floating-notif.notif-location {
            top: 8%;
            right: -40px;
            animation: float1 5s ease-in-out infinite;
        }

        .hero-floating-notif.notif-job {
            bottom: 25%;
            left: -50px;
            animation: float2 5.5s ease-in-out infinite;
            animation-delay: 1.5s;
        }

        .hero-floating-notif.notif-event {
            bottom: 5%;
            right: -30px;
            animation: float1 6s ease-in-out infinite;
            animation-delay: 3s;
        }

        .hero-floating-notif-icon {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .hero-floating-notif-icon svg {
            width: 18px;
            height: 18px;
            fill: white;
        }

        /* Icon color variants - Palette désaturée pour moins voler le focus */
        .hero-floating-notif-icon.icon-location {
            background: linear-gradient(135deg, #E07A60 0%, #E89A7A 100%);
        }

        .hero-floating-notif-icon.icon-payment {
            background: linear-gradient(135deg, #2D4A6A 0%, #3D6A9A 100%);
        }

        .hero-floating-notif-icon.icon-job {
            background: linear-gradient(135deg, #D4917A 0%, #E0A890 100%);
        }

        .hero-floating-notif-icon.icon-profile {
            background: linear-gradient(135deg, #3D6A9A 0%, #5A8AB8 100%);
        }

        .hero-floating-notif-icon.icon-post {
            background: linear-gradient(135deg, #C86A55 0%, #D88070 100%);
        }

        .hero-floating-notif-icon.icon-event {
            background: linear-gradient(135deg, #1A3550 0%, #2D4A6A 100%);
        }

        .hero-floating-notif-icon.icon-message {
            background: linear-gradient(135deg, #5A8AB8 0%, #7AA5C8 100%);
        }

        .hero-floating-notif-icon.icon-document {
            background: linear-gradient(135deg, #2D4A6A 0%, #5A8AB8 100%);
        }

        .hero-floating-notif-text {
            font-size: 0.75rem;
            line-height: 1.3;
        }

        .hero-floating-notif-text strong {
            display: block;
            color: var(--text-dark);
            font-weight: 600;
            font-size: 0.8125rem;
        }

        .hero-floating-notif-text span {
            color: var(--text-muted);
        }

        .hero-floating-notif-time {
            font-size: 0.6875rem;
            color: var(--text-muted);
            margin-top: 2px;
        }

        /* ================================
           HERO CAROUSEL
        ================================ */
        .hero-visual-carousel {
            position: relative;
            width: 100%;
            height: 100%;
        }

        .hero-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            visibility: hidden;
            transform: translateX(20px);
            transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s;
        }

        .hero-slide.active {
            position: relative;
            opacity: 1;
            visibility: visible;
            transform: translateX(0);
        }

        /* Dots navigation */
        .hero-dots {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-top: 1.5rem;
        }

        .hero-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            border: none;
            background: rgba(255, 255, 255, 0.3);
            cursor: pointer;
            transition: all 0.3s ease;
            padding: 0;
        }

        .hero-dot:hover {
            background: rgba(255, 255, 255, 0.5);
            transform: scale(1.2);
        }

        .hero-dot.active {
            background: #FF6B4A;
            transform: scale(1.2);
            box-shadow: 0 0 10px rgba(255, 107, 74, 0.5);
        }

        /* Slide window (pour slides 2 et 3) */
        .slide-window {
            background: white;
            border-radius: 20px;
            overflow: hidden;
            box-shadow:
                0 8px 16px -4px rgba(0, 0, 0, 0.12),
                0 24px 48px -12px rgba(0, 0, 0, 0.2),
                0 0 0 1px rgba(255, 255, 255, 0.1);
            transform: rotateY(-2deg) rotateX(2deg);
            transition: transform 0.5s ease;
        }

        .slide-window:hover {
            transform: rotateY(0deg) rotateX(0deg) scale(1.01);
        }

        .slide-content {
            padding: 2rem;
            min-height: 480px;
            display: flex;
            flex-direction: column;
            background: linear-gradient(180deg, #FAFBFC 0%, #F0F4F8 100%);
        }

        /* Flow steps */
        .slide-flow {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 1.5rem 0;
            flex-wrap: wrap;
        }

        .flow-step {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
            position: relative;
        }

        .flow-step-icon {
            width: 56px;
            height: 56px;
            border-radius: 14px;
            background: linear-gradient(135deg, #1E3A5F 0%, #2D5A8A 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 12px rgba(30, 58, 95, 0.25);
            transition: all 0.3s ease;
        }

        .flow-step-icon svg {
            width: 28px;
            height: 28px;
            fill: white;
        }

        .flow-step-icon.icon-payment {
            background: linear-gradient(135deg, #3AB795 0%, #5FE3B5 100%);
        }

        .flow-step-icon.icon-qr {
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
        }

        .flow-step-icon.icon-scan {
            background: linear-gradient(135deg, #2D9B7A 0%, #3AB795 100%);
        }

        .flow-step-icon.icon-member {
            background: linear-gradient(135deg, #3AB795 0%, #5FE3B5 100%);
        }

        .flow-step-icon.icon-directory {
            background: linear-gradient(135deg, #1E3A5F 0%, #2D5A8A 100%);
        }

        .flow-step-icon.icon-message {
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
        }

        .flow-step-label {
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--text-dark);
            text-align: center;
            white-space: nowrap;
        }

        .flow-arrow {
            display: flex;
            align-items: center;
            padding-bottom: 1.5rem;
        }

        .flow-arrow svg {
            width: 24px;
            height: 24px;
            fill: var(--text-muted);
            opacity: 0.5;
        }

        /* Flow progress animation */
        .flow-progress {
            position: relative;
            height: 4px;
            background: rgba(30, 58, 95, 0.1);
            border-radius: 2px;
            margin: 1rem 2rem;
            overflow: hidden;
        }

        .flow-progress-bar {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 0%;
            background: linear-gradient(90deg, #3AB795, #FF6B4A);
            border-radius: 2px;
            animation: flowProgress 4s ease-in-out infinite;
        }

        .flow-progress-dot {
            position: absolute;
            top: 50%;
            left: 0%;
            transform: translate(-50%, -50%);
            width: 12px;
            height: 12px;
            background: #FF6B4A;
            border-radius: 50%;
            box-shadow: 0 0 10px rgba(255, 107, 74, 0.5);
            animation: flowDot 4s ease-in-out infinite;
        }

        @keyframes flowProgress {
            0%, 10% { width: 0%; }
            90%, 100% { width: 100%; }
        }

        @keyframes flowDot {
            0%, 10% { left: 0%; }
            90%, 100% { left: 100%; }
        }

        /* Event ticket preview */
        .event-ticket-preview {
            background: white;
            border-radius: 16px;
            padding: 1.25rem;
            margin-top: auto;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            display: flex;
            align-items: center;
            gap: 1.5rem;
            position: relative;
            overflow: hidden;
        }

        .ticket-header {
            flex: 1;
        }

        .ticket-event-name {
            display: block;
            font-size: 1.125rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.25rem;
        }

        .ticket-badge {
            display: inline-block;
            padding: 0.25rem 0.75rem;
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
            color: white;
            font-size: 0.6875rem;
            font-weight: 700;
            border-radius: 100px;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .ticket-qr {
            width: 80px;
            height: 80px;
            flex-shrink: 0;
        }

        .ticket-qr .mini-qr {
            width: 100%;
            height: 100%;
        }

        .ticket-scan-indicator {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            pointer-events: none;
            overflow: hidden;
        }

        .scan-line {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, transparent, #3AB795, transparent);
            animation: scanLine 2.5s ease-in-out infinite;
            opacity: 0.7;
        }

        @keyframes scanLine {
            0%, 100% { top: 0; opacity: 0; }
            10% { opacity: 0.7; }
            90% { opacity: 0.7; }
            50% { top: calc(100% - 3px); }
        }

        /* ================================
           EVENTS STORYBOARD - 3 cards
        ================================ */
        .slide-events-storyboard {
            padding: 1.5rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .slide-header {
            text-align: center;
            margin-bottom: 0.5rem;
        }

        .slide-title {
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.25rem;
        }

        .slide-subtitle {
            font-size: 0.875rem;
            color: var(--text-muted);
            font-weight: 400;
        }

        .storyboard-cards {
            display: flex;
            gap: 1rem;
            flex: 1;
            align-items: stretch;
        }

        .story-card {
            flex: 1;
            background: white;
            border-radius: 14px;
            padding: 1rem;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
            border: 1px solid rgba(0, 0, 0, 0.04);
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
            position: relative;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .story-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
        }

        .story-card-step {
            position: absolute;
            top: -8px;
            left: -8px;
            width: 24px;
            height: 24px;
            background: linear-gradient(135deg, #1E3A5F 0%, #2D5A8A 100%);
            color: white;
            font-size: 0.75rem;
            font-weight: 700;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 8px rgba(30, 58, 95, 0.3);
        }

        .story-card-1 .story-card-step {
            background: linear-gradient(135deg, #1E3A5F 0%, #2D5A8A 100%);
        }

        .story-card-2 .story-card-step {
            background: linear-gradient(135deg, #3AB795 0%, #5FE3B5 100%);
        }

        .story-card-3 .story-card-step {
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
        }

        .story-card-icon {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .story-card-icon svg {
            width: 28px;
            height: 28px;
            fill: var(--text-muted);
        }

        .story-card-icon.icon-success svg {
            fill: #3AB795;
        }

        .admin-badge, .member-badge {
            font-size: 0.625rem;
            font-weight: 700;
            padding: 0.2rem 0.5rem;
            border-radius: 4px;
            text-transform: uppercase;
            letter-spacing: 0.03em;
        }

        .admin-badge {
            background: rgba(30, 58, 95, 0.1);
            color: #1E3A5F;
        }

        .member-badge {
            background: rgba(58, 183, 149, 0.1);
            color: #2D9B7A;
        }

        .story-card-content {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            flex: 1;
        }

        .story-card-label {
            font-size: 0.8125rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .story-card-preview {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* Mini event form */
        .mini-event-form {
            background: #F8FAFC;
            border-radius: 8px;
            padding: 0.75rem;
            width: 100%;
        }

        .form-field {
            background: white;
            border: 1px solid #E2E8F0;
            border-radius: 6px;
            padding: 0.4rem 0.6rem;
            margin-bottom: 0.4rem;
            font-size: 0.6875rem;
            color: var(--text-dark);
        }

        .form-field.price {
            color: #3AB795;
            font-weight: 600;
        }

        .form-btn {
            background: linear-gradient(135deg, #1E3A5F 0%, #2D5A8A 100%);
            color: white;
            font-size: 0.625rem;
            font-weight: 600;
            padding: 0.4rem 0.75rem;
            border-radius: 6px;
            text-align: center;
            animation: formBtnPulse 2s ease-in-out infinite;
        }

        @keyframes formBtnPulse {
            0%, 100% { box-shadow: 0 2px 8px rgba(30, 58, 95, 0.2); }
            50% { box-shadow: 0 4px 16px rgba(30, 58, 95, 0.4); }
        }

        /* Mini ticket */
        .mini-ticket {
            background: white;
            border: 1px dashed #E2E8F0;
            border-radius: 8px;
            padding: 0.5rem;
            width: 100%;
        }

        .ticket-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.5rem;
        }

        .ticket-name {
            font-size: 0.6875rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .ticket-price-badge {
            font-size: 0.5625rem;
            font-weight: 700;
            background: #D1FAE5;
            color: #059669;
            padding: 0.15rem 0.4rem;
            border-radius: 4px;
        }

        .ticket-qr-mini {
            display: flex;
            justify-content: center;
        }

        .ticket-qr-mini .qr-svg {
            width: 48px;
            height: 48px;
        }

        /* Scan result */
        .scan-result {
            width: 100%;
            text-align: center;
        }

        .scan-animation {
            height: 40px;
            background: linear-gradient(180deg, rgba(58, 183, 149, 0.05) 0%, rgba(58, 183, 149, 0.1) 100%);
            border-radius: 8px;
            position: relative;
            overflow: hidden;
            margin-bottom: 0.5rem;
        }

        .scan-line-anim {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: linear-gradient(90deg, transparent, #3AB795, transparent);
            animation: scanLineAnim 1.5s ease-in-out infinite;
        }

        @keyframes scanLineAnim {
            0%, 100% { top: 0; }
            50% { top: calc(100% - 2px); }
        }

        .scan-success {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.35rem;
            margin-bottom: 0.35rem;
            animation: successFade 2s ease-in-out infinite;
        }

        @keyframes successFade {
            0%, 30%, 100% { opacity: 1; }
            15% { opacity: 0.6; }
        }

        .scan-success svg {
            width: 18px;
            height: 18px;
            fill: #10B981;
        }

        .scan-success span {
            font-size: 0.75rem;
            font-weight: 700;
            color: #10B981;
        }

        .attendee-info {
            display: flex;
            flex-direction: column;
            gap: 0.1rem;
        }

        .attendee-name {
            font-size: 0.6875rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .attendee-ticket {
            font-size: 0.5625rem;
            color: var(--text-muted);
        }

        /* Story connector arrows */
        .story-connector {
            position: absolute;
            right: -18px;
            top: 50%;
            transform: translateY(-50%);
            z-index: 2;
            width: 24px;
            height: 24px;
            background: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }

        .story-connector svg {
            width: 16px;
            height: 16px;
            fill: var(--text-muted);
            animation: arrowPulse 1.5s ease-in-out infinite;
        }

        @keyframes arrowPulse {
            0%, 100% { transform: translateX(0); opacity: 0.5; }
            50% { transform: translateX(2px); opacity: 1; }
        }

        .story-card-3 .story-connector {
            display: none;
        }

        /* Reduced motion for storyboard */
        @media (prefers-reduced-motion: reduce) {
            .story-card {
                transition: none;
            }
            .form-btn,
            .scan-line-anim,
            .scan-success,
            .story-connector svg {
                animation: none;
            }
        }

        /* Storyboard responsive */
        @media (max-width: 768px) {
            .storyboard-cards {
                flex-direction: column;
            }

            .story-connector {
                right: 50%;
                top: auto;
                bottom: -18px;
                transform: translateX(50%) rotate(90deg);
            }

            .story-card-3 .story-connector {
                display: none;
            }
        }

        /* Directory preview */
        .directory-preview {
            background: white;
            border-radius: 16px;
            padding: 1.25rem;
            margin-top: auto;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        }

        .directory-card {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid rgba(0, 0, 0, 0.06);
            margin-bottom: 1rem;
        }

        .directory-avatar {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: linear-gradient(135deg, #3AB795 0%, #5FE3B5 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            color: white;
            font-size: 1rem;
            position: relative;
            flex-shrink: 0;
        }

        .online-dot {
            position: absolute;
            bottom: 2px;
            right: 2px;
            width: 12px;
            height: 12px;
            background: #22C55E;
            border-radius: 50%;
            border: 2px solid white;
        }

        .directory-info {
            display: flex;
            flex-direction: column;
            gap: 0.125rem;
        }

        .directory-name {
            font-weight: 600;
            color: var(--text-dark);
            font-size: 0.9375rem;
        }

        .directory-location {
            font-size: 0.8125rem;
            color: var(--text-muted);
        }

        .directory-role {
            font-size: 0.75rem;
            color: var(--primary);
            font-weight: 500;
        }

        /* Chat bubbles */
        .chat-bubble-container {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .chat-bubble {
            max-width: 80%;
            padding: 0.75rem 1rem;
            border-radius: 16px;
            font-size: 0.875rem;
            line-height: 1.4;
            position: relative;
        }

        .chat-bubble-in {
            background: rgba(30, 58, 95, 0.08);
            color: var(--text-dark);
            align-self: flex-start;
            border-bottom-left-radius: 4px;
            animation: bubbleIn 0.5s ease forwards;
            animation-delay: 0.5s;
            opacity: 0;
            transform: translateY(10px);
        }

        .chat-bubble-out {
            background: linear-gradient(135deg, #3AB795 0%, #5FE3B5 100%);
            color: white;
            align-self: flex-end;
            border-bottom-right-radius: 4px;
            animation: bubbleIn 0.5s ease forwards;
            animation-delay: 1.5s;
            opacity: 0;
            transform: translateY(10px);
        }

        @keyframes bubbleIn {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .chat-typing {
            display: flex;
            gap: 4px;
            margin-top: 0.5rem;
        }

        .chat-typing span {
            width: 6px;
            height: 6px;
            background: rgba(255, 255, 255, 0.6);
            border-radius: 50%;
            animation: typingDot 1.4s ease-in-out infinite;
        }

        .chat-typing span:nth-child(2) {
            animation-delay: 0.2s;
        }

        .chat-typing span:nth-child(3) {
            animation-delay: 0.4s;
        }

        @keyframes typingDot {
            0%, 60%, 100% { transform: translateY(0); }
            30% { transform: translateY(-4px); }
        }

        /* Notification badge */
        .notif-badge {
            position: absolute;
            top: -4px;
            right: -4px;
            width: 18px;
            height: 18px;
            background: #EF4444;
            color: white;
            font-size: 0.6875rem;
            font-weight: 700;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            animation: notifPulse 2s ease-in-out infinite;
        }

        @keyframes notifPulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.1); }
        }

        /* Reduced motion */
        @media (prefers-reduced-motion: reduce) {
            .hero-slide {
                transition: none;
            }
            .flow-progress-bar,
            .flow-progress-dot,
            .scan-line,
            .chat-bubble-in,
            .chat-bubble-out,
            .chat-typing span,
            .notif-badge,
            .hero-floating-notif {
                animation: none;
            }
            .chat-bubble-in,
            .chat-bubble-out {
                opacity: 1;
                transform: none;
            }
        }

        /* ================================
           SECTION - Probleme/Solution
        ================================ */
        .section {
            padding: 6rem 2rem;
            background: #ffffff;
            color: var(--text-dark);
        }

        .section-container {
            max-width: 1000px;
            margin: 0 auto;
        }

        .section-light {
            background: #FFFFFF;
            color: var(--text-dark);
            position: relative;
            z-index: 1;
            box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.06);
        }

        .section-title {
            font-size: clamp(1.75rem, 3vw, 2.25rem);
            font-weight: 700;
            letter-spacing: -0.02em;
            text-align: center;
            margin-bottom: 0.75rem;
        }

        .section-subtitle {
            font-size: 1rem;
            color: var(--text-muted);
            text-align: center;
            max-width: 600px;
            margin: 0 auto 3rem;
        }

        /* Pain Points */
        .pain-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
        }

        .pain-card {
            text-align: center;
            padding: 2rem 1.5rem;
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 14px;
            box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 4px 12px -6px rgba(15, 23, 42, 0.08);
            transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
        }

        .pain-card:hover {
            border-color: #cfe1f6;
            box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06), 0 12px 24px -10px rgba(52, 129, 210, 0.18);
            transform: translateY(-2px);
        }

        .pain-icon {
            width: 56px;
            height: 56px;
            background: #FEE2E2;
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.25rem;
        }

        .pain-icon svg {
            width: 28px;
            height: 28px;
            fill: #DC2626;
        }

        .pain-card h3 {
            font-size: 1.125rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
            color: var(--text-dark);
        }

        .pain-card p {
            font-size: 0.9375rem;
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* Arrow transition */
        .solution-arrow {
            text-align: center;
            padding: 2rem 0;
        }

        .solution-arrow svg {
            width: 32px;
            height: 32px;
            fill: #FF6B4A;
            animation: bounceArrow 2s ease-in-out infinite;
        }

        @keyframes bounceArrow {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(8px); }
        }

        /* Solution */
        .solution-box {
            background: linear-gradient(135deg, rgba(255, 107, 74, 0.06) 0%, rgba(255, 138, 107, 0.03) 50%, rgba(30, 58, 95, 0.03) 100%);
            border: 1px solid rgba(255, 107, 74, 0.15);
            border-radius: 24px;
            padding: 3rem 2.5rem;
            text-align: center;
            position: relative;
            overflow: hidden;
            box-shadow: 0 2px 16px rgba(255, 107, 74, 0.05);
        }

        .solution-box::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
        }

        .solution-box h3 {
            font-size: 1.75rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 1rem;
            position: relative;
            letter-spacing: -0.02em;
        }

        .solution-box-icon {
            width: 64px;
            height: 64px;
            background: linear-gradient(135deg, #E07A60 0%, #E89A7A 100%);
            border-radius: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.5rem;
            box-shadow: 0 6px 20px rgba(255, 107, 74, 0.18);
            position: relative;
        }

        .solution-box-icon svg {
            width: 32px;
            height: 32px;
            fill: white;
        }

        .solution-box p {
            font-size: 1.0625rem;
            color: var(--text-muted);
            max-width: 550px;
            margin: 0 auto;
            line-height: 1.7;
        }

        .solution-cta {
            text-align: center;
            margin-top: 2.5rem;
        }

        /* ================================
           SECTION - Comparison (Avant/Après)
        ================================ */
        .comparison-table {
            max-width: 800px;
            margin: 0 auto;
        }

        .comparison-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
            margin-bottom: 1rem;
        }

        .comparison-row.header {
            margin-bottom: 1.5rem;
        }

        .comparison-col {
            padding: 1.25rem 1.5rem;
            border-radius: 12px;
        }

        .comparison-col.before {
            background: #F8FAFC;
            border: 1px solid #E2E8F0;
        }

        .comparison-col.after {
            background: linear-gradient(135deg, rgba(58, 183, 149, 0.08) 0%, rgba(52, 129, 210, 0.08) 100%);
            border: 1px solid rgba(58, 183, 149, 0.25);
        }

        .comparison-col-header {
            font-weight: 700;
            font-size: 1.125rem;
            text-align: center;
            padding: 1rem;
            border-radius: 12px;
        }

        .comparison-col-header.before {
            background: #64748B;
            color: white;
        }

        .comparison-col-header.after {
            background: linear-gradient(135deg, #3AB795 0%, #3481d2 100%);
            color: white;
        }

        .comparison-col p {
            margin: 0;
            font-size: 0.9375rem;
            color: var(--text-dark);
            line-height: 1.5;
        }

        .comparison-col.before p {
            color: #475569;
        }

        .comparison-col.after p {
            color: #065F46;
            font-weight: 500;
        }

        .comparison-col.before {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .comparison-icon {
            width: 24px;
            height: 24px;
            flex-shrink: 0;
        }

        /* ================================
           SECTION - Story / Origine
        ================================ */
        /* ================================
           SECTION - Proof of Concept (Aveyron Worldwide)
        ================================ */
        .proof-section {
            background: linear-gradient(180deg, #F5F0DD 0%, #EDE8D0 100%);
            padding: 5rem 2rem;
        }

        .proof-container {
            max-width: 900px;
            margin: 0 auto;
            text-align: center;
        }

        .proof-header {
            margin-bottom: 2rem;
        }

        .proof-badge {
            display: inline-block;
            background: #005744;
            color: #E9E55F;
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            padding: 0.5rem 1rem;
            border-radius: 2rem;
            margin-bottom: 1rem;
        }

        .proof-header h2 {
            font-size: clamp(1.75rem, 4vw, 2.5rem);
            font-weight: 800;
            color: #222721;
            margin-bottom: 0.75rem;
            letter-spacing: -0.02em;
        }

        .proof-origin {
            font-size: 1rem;
            color: #475569;
        }

        .proof-origin strong {
            color: #005744;
            font-weight: 600;
        }

        /* Logo */
        .proof-logo {
            margin: 2.5rem 0;
        }

        .proof-logo img {
            height: 80px;
            width: auto;
        }

        /* Stats */
        .proof-stats {
            display: flex;
            justify-content: center;
            gap: 3rem;
            margin: 2.5rem 0;
        }

        .proof-stat {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .proof-stat .stat-number {
            font-size: clamp(2.5rem, 5vw, 3.5rem);
            font-weight: 800;
            color: #005744;
            line-height: 1;
        }

        .proof-stat .stat-label {
            font-size: 0.9375rem;
            color: #64748B;
            font-weight: 500;
            margin-top: 0.25rem;
        }

        /* Comparison Before/After */
        .proof-comparison {
            display: flex;
            align-items: stretch;
            justify-content: center;
            gap: 1.5rem;
            margin: 3rem 0;
        }

        .comparison-before,
        .comparison-after {
            flex: 1;
            max-width: 280px;
            background: white;
            border-radius: 16px;
            padding: 1.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        }

        .comparison-before {
            border: 2px solid #E2E8F0;
        }

        .comparison-after {
            border: 2px solid #005744;
            box-shadow: 0 8px 30px rgba(0, 87, 68, 0.15);
        }

        .comparison-header {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.75rem;
            margin-bottom: 1.25rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid #E2E8F0;
        }

        .comparison-header span {
            font-size: 1rem;
            font-weight: 700;
            color: #222721;
        }

        .linkedin-icon {
            width: 28px;
            height: 28px;
            fill: #0077B5;
        }

        .terrilink-icon {
            width: 28px;
            height: 28px;
            border-radius: 6px;
        }

        .comparison-list {
            list-style: none;
            padding: 0;
            margin: 0;
            text-align: left;
        }

        .comparison-list li {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.625rem 0;
            font-size: 0.9375rem;
            color: #334155;
            border-bottom: 1px solid #F1F5F9;
        }

        .comparison-list li:last-child {
            border-bottom: none;
        }

        .x-icon {
            color: #DC2626;
            font-weight: 700;
            font-size: 1rem;
        }

        .check-icon {
            color: #059669;
            font-weight: 700;
            font-size: 1.125rem;
        }

        .comparison-arrow {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .comparison-arrow svg {
            width: 36px;
            height: 36px;
            fill: #005744;
            animation: arrowPulse 2s ease-in-out infinite;
        }

        @keyframes arrowPulse {
            0%, 100% { transform: translateX(0); opacity: 0.6; }
            50% { transform: translateX(8px); opacity: 1; }
        }

        /* Quote */
        .proof-quote {
            margin: 2.5rem auto 0;
            padding: 0;
            max-width: 600px;
            font-size: 1.125rem;
            font-weight: 600;
            font-style: italic;
            color: #005744;
            line-height: 1.6;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .proof-section {
                padding: 3rem 1.5rem;
            }

            .proof-stats {
                gap: 1.5rem;
            }

            .proof-stat .stat-number {
                font-size: 2.25rem;
            }

            .proof-comparison {
                flex-direction: column;
                align-items: center;
            }

            .comparison-before,
            .comparison-after {
                max-width: 100%;
                width: 100%;
            }

            .comparison-arrow {
                transform: rotate(90deg);
                padding: 0.5rem 0;
            }

            .proof-quote {
                font-size: 1rem;
            }

            .proof-logo img {
                height: 60px;
            }
        }

        @media (max-width: 480px) {
            .proof-stats {
                flex-direction: column;
                gap: 1.5rem;
            }

            .proof-stat .stat-number {
                font-size: 2.5rem;
            }
        }

        /* Legacy story styles - keeping for backwards compatibility */
        @media (max-width: 768px) {
            .story-section {
                padding: 3rem 1rem;
            }

            .story-container {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }

            .story-logo {
                justify-content: center;
                text-align: center;
            }

            .story-logo img {
                width: 120px;
            }

            .story-logo-caption {
                font-size: 0.8125rem;
            }

            .story-text {
                text-align: left;
            }

            .story-title {
                font-size: 1.375rem;
                text-align: left;
                margin-bottom: 1rem;
            }

            .story-content {
                font-size: 0.875rem;
                line-height: 1.7;
            }

            .story-content p {
                margin-bottom: 0.75rem;
            }

            .story-stat {
                font-size: 0.8125rem;
                padding: 0.5rem 0.875rem;
                margin: 1rem 0;
            }

            .story-signature {
                font-size: 0.875rem;
                text-align: left;
                margin-top: 1rem;
                padding-top: 1rem;
            }

            /* Evolution timeline mobile - clean version */
            .evolution-timeline {
                gap: 0.75rem;
                margin: 1.5rem 0;
            }

            .evolution-phase {
                padding: 1rem;
            }

            .phase-header {
                margin-bottom: 1rem;
                padding-bottom: 0.75rem;
            }

            .phase-badge {
                font-size: 0.75rem;
                padding: 0.375rem 0.625rem;
            }

            .phase-badge svg {
                width: 14px;
                height: 14px;
            }

            .phase-period {
                font-size: 0.625rem;
            }

            .phase-content {
                gap: 0.5rem;
            }

            .limitation-item {
                padding: 0.5rem 0.625rem;
            }

            .limitation-label {
                font-size: 0.75rem;
                font-weight: 600;
            }

            .limitation-value {
                font-size: 0.6875rem;
            }

            .capability-item {
                padding: 0.5rem;
                gap: 0.625rem;
            }

            .capability-icon {
                width: 24px;
                height: 24px;
                min-width: 24px;
                border-radius: 6px;
            }

            .capability-icon svg {
                width: 14px;
                height: 14px;
            }

            .capability-text strong {
                font-size: 0.75rem;
            }

            .capability-text span {
                font-size: 0.625rem;
            }

            .evolution-arrow {
                padding: 0.25rem 0;
                justify-content: center;
            }

            .evolution-arrow svg {
                width: 24px;
                height: 24px;
                animation: none;
            }

            .evolution-label {
                font-size: 0.625rem;
                padding: 0.375rem 0.75rem;
            }
        }

        @media (max-width: 480px) {
            .story-section {
                padding: 2rem 0.75rem;
            }

            .story-logo img {
                width: 100px;
            }

            .story-title {
                font-size: 1.25rem;
            }

            .story-content {
                font-size: 0.8125rem;
            }

            .evolution-timeline {
                margin: 1.25rem 0;
                gap: 0.5rem;
            }

            .evolution-phase {
                padding: 0.875rem;
            }

            .phase-header {
                margin-bottom: 0.75rem;
                padding-bottom: 0.5rem;
            }

            .phase-badge {
                font-size: 0.6875rem;
                padding: 0.3rem 0.5rem;
                gap: 0.375rem;
            }

            .phase-badge svg {
                width: 12px;
                height: 12px;
            }

            .phase-period {
                font-size: 0.5625rem;
            }

            .phase-content {
                gap: 0.375rem;
            }

            .limitation-item {
                padding: 0.4rem 0.5rem;
            }

            .limitation-label {
                font-size: 0.6875rem;
            }

            .limitation-value {
                font-size: 0.625rem;
            }

            .capability-item {
                padding: 0.4rem;
                gap: 0.5rem;
            }

            .capability-icon {
                width: 22px;
                height: 22px;
                min-width: 22px;
                border-radius: 5px;
            }

            .capability-icon svg {
                width: 12px;
                height: 12px;
            }

            .capability-text strong {
                font-size: 0.6875rem;
            }

            .capability-text span {
                font-size: 0.5625rem;
            }

            .evolution-arrow svg {
                width: 20px;
                height: 20px;
            }

            .evolution-label {
                font-size: 0.5625rem;
                padding: 0.3rem 0.625rem;
            }
        }

        /* ================================
           SECTION - Event Flow (QR Code Demo)
        ================================ */
        .event-flow-section {
            background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
            padding: 5rem 2rem;
            color: white;
            overflow: hidden;
        }

        .event-flow-container {
            max-width: 1100px;
            margin: 0 auto;
            text-align: center;
        }

        .event-flow-container h2 {
            font-size: clamp(1.75rem, 3vw, 2.25rem);
            font-weight: 700;
            margin-bottom: 0.5rem;
            letter-spacing: -0.02em;
        }

        .event-flow-subtitle {
            font-size: 1.125rem;
            color: rgba(255, 255, 255, 0.7);
            margin-bottom: 3rem;
            font-weight: 500;
        }

        .event-flow-benefit {
            margin-top: 3rem;
            font-size: 1.25rem;
            font-weight: 600;
            color: #3AB795;
        }

        /* QR Demo Layout */
        .qr-demo-wrapper {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 2rem;
        }

        .qr-code-side,
        .phone-side {
            flex: 0 0 auto;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .qr-instruction {
            margin-top: 1.5rem;
            font-size: 0.875rem;
            color: rgba(255, 255, 255, 0.6);
            max-width: 200px;
            line-height: 1.5;
        }

        /* QR Code Card */
        .qr-code-card {
            background: white;
            border-radius: 20px;
            padding: 1.5rem;
            width: 220px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
        }

        .qr-code-header {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.25rem;
            margin-bottom: 1rem;
        }

        .qr-event-badge {
            background: linear-gradient(135deg, #3AB795 0%, #2D9B7A 100%);
            color: white;
            font-size: 0.625rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            padding: 0.25rem 0.75rem;
            border-radius: 20px;
        }

        .qr-event-name {
            color: #0F172A;
            font-size: 0.9375rem;
            font-weight: 700;
        }

        .qr-code-visual {
            display: flex;
            justify-content: center;
            padding: 0.5rem 0;
            position: relative;
        }

        /* QR Code SVG */
        .qr-code-svg {
            width: 150px;
            height: 150px;
            background: white;
            border-radius: 8px;
        }

        /* Logo container au centre du QR */
        .qr-logo-container {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 44px;
            height: 44px;
            background: white;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            padding: 4px;
        }

        .qr-logo-img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            border-radius: 6px;
        }

        .qr-code-footer {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.125rem;
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px dashed #E2E8F0;
        }

        .qr-member-name {
            color: #0F172A;
            font-size: 0.875rem;
            font-weight: 600;
        }

        .qr-ticket-type {
            color: #64748B;
            font-size: 0.75rem;
        }

        /* Scan Animation */
        .scan-animation {
            flex: 0 0 80px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 1rem;
        }

        .scan-line {
            width: 60px;
            height: 3px;
            background: linear-gradient(90deg, transparent, #3AB795, transparent);
            border-radius: 2px;
            animation: scanPulse 2s ease-in-out infinite;
        }

        @keyframes scanPulse {
            0%, 100% { opacity: 0.3; transform: scaleX(0.8); }
            50% { opacity: 1; transform: scaleX(1); }
        }

        .scan-arrow {
            width: 32px;
            height: 32px;
            fill: #3AB795;
            animation: arrowMove 2s ease-in-out infinite;
        }

        @keyframes arrowMove {
            0%, 100% { transform: translateX(-5px); opacity: 0.5; }
            50% { transform: translateX(5px); opacity: 1; }
        }

        /* Phone Mockup */
        .phone-mockup {
            width: 240px;
            height: 420px;
            background: #1a1a1a;
            border-radius: 36px;
            padding: 12px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), inset 0 0 0 2px #333;
            position: relative;
        }

        .phone-notch {
            position: absolute;
            top: 12px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 24px;
            background: #1a1a1a;
            border-radius: 0 0 16px 16px;
            z-index: 10;
        }

        .phone-screen {
            width: 100%;
            height: 100%;
            background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%);
            border-radius: 28px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }

        .phone-app-header {
            background: linear-gradient(135deg, #3AB795 0%, #2D9B7A 100%);
            padding: 2rem 1rem 1rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.25rem;
        }

        .phone-app-header span:first-child {
            font-size: 0.75rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.8);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .phone-event-name {
            font-size: 0.9375rem;
            font-weight: 700;
            color: white;
        }

        .phone-scan-result {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 1rem;
            gap: 0.75rem;
        }

        .scan-success-icon {
            width: 64px;
            height: 64px;
            background: linear-gradient(135deg, #10B981 0%, #059669 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            animation: successPop 0.5s ease-out;
        }

        @keyframes successPop {
            0% { transform: scale(0); }
            50% { transform: scale(1.2); }
            100% { transform: scale(1); }
        }

        .scan-success-icon svg {
            width: 32px;
            height: 32px;
            fill: white;
        }

        .scan-success-text {
            font-size: 1.25rem;
            font-weight: 700;
            color: #10B981;
        }

        .scan-member-info {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            background: white;
            padding: 0.75rem 1rem;
            border-radius: 12px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            width: 100%;
        }

        .member-avatar {
            width: 40px;
            height: 40px;
            background: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.75rem;
            font-weight: 700;
            color: white;
            flex-shrink: 0;
        }

        .member-details {
            display: flex;
            flex-direction: column;
            gap: 0.125rem;
            text-align: left;
        }

        .member-details .member-name {
            font-size: 0.875rem;
            font-weight: 600;
            color: #0F172A;
        }

        .member-details .member-ticket {
            font-size: 0.75rem;
            color: #64748B;
        }

        .phone-stats {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1.5rem;
            padding: 1rem;
            background: white;
            border-top: 1px solid #E2E8F0;
        }

        .stat-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.125rem;
        }

        .stat-number {
            font-size: 1.25rem;
            font-weight: 700;
            color: #0F172A;
        }

        .stat-label {
            font-size: 0.6875rem;
            color: #64748B;
            text-transform: uppercase;
            letter-spacing: 0.03em;
        }

        .stat-divider {
            width: 1px;
            height: 32px;
            background: #E2E8F0;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .event-flow-section {
                padding: 3rem 1.5rem;
            }

            .qr-demo-wrapper {
                flex-direction: column;
                gap: 1.5rem;
            }

            .scan-animation {
                transform: rotate(90deg);
                flex: 0 0 60px;
            }

            .qr-code-card {
                width: 200px;
                padding: 1.25rem;
            }

            .qr-code-svg {
                width: 130px;
                height: 130px;
            }

            .qr-logo-container {
                width: 38px;
                height: 38px;
            }

            .phone-mockup {
                width: 220px;
                height: 380px;
                border-radius: 32px;
                padding: 10px;
            }

            .phone-notch {
                width: 70px;
                height: 20px;
            }

            .phone-screen {
                border-radius: 24px;
            }

            .scan-success-icon {
                width: 56px;
                height: 56px;
            }

            .scan-success-icon svg {
                width: 28px;
                height: 28px;
            }

            .qr-instruction {
                font-size: 0.8125rem;
                margin-top: 1rem;
            }

            .event-flow-benefit {
                margin-top: 2rem;
                font-size: 1.125rem;
            }
        }

        /* ================================
           SECTION - Comparison Old (Why not alternatives)
        ================================ */
        .comparison-section {
            background: linear-gradient(180deg, #F0F4F8 0%, #E6EDF5 100%);
            padding: 5rem 2rem;
            position: relative;
        }

        .comparison-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent 0%, rgba(58, 183, 149, 0.2) 50%, transparent 100%);
        }

        .comparison-header {
            text-align: center;
            max-width: 700px;
            margin: 0 auto 3rem;
        }

        .comparison-header h2 {
            font-size: clamp(1.75rem, 3.5vw, 2.25rem);
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.75rem;
            letter-spacing: -0.02em;
        }

        .comparison-header p {
            font-size: 1rem;
            color: var(--text-muted);
        }

        .comparison-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.25rem;
            max-width: 1000px;
            margin: 0 auto;
        }

        .comparison-card {
            background: #F8FAFC;
            border-radius: 16px;
            padding: 1.5rem;
            text-align: center;
            border: 1px solid rgba(0, 0, 0, 0.04);
            transition: all 0.3s ease;
        }

        .comparison-card.highlight {
            background: linear-gradient(135deg, rgba(52, 129, 210, 0.08) 0%, rgba(58, 183, 149, 0.08) 100%);
            border: 2px solid #3481d2;
            transform: scale(1.02);
        }

        .comparison-card-icon {
            width: 48px;
            height: 48px;
            margin: 0 auto 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
            font-size: 1.5rem;
        }

        .comparison-card-icon.whatsapp { background: #25D366; color: white; }
        .comparison-card-icon.facebook { background: #1877F2; color: white; }
        .comparison-card-icon.sheets { background: #34A853; color: white; }
        .comparison-card-icon.terrilink { background: linear-gradient(135deg, #3481d2, #3AB795); color: white; }

        .comparison-card-name {
            font-weight: 600;
            font-size: 1rem;
            color: var(--text-dark);
            margin-bottom: 1rem;
        }

        .comparison-card-issues {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            align-items: center;
        }

        .comparison-issue {
            font-size: 0.8125rem;
            color: var(--text-muted);
            display: flex;
            align-items: flex-start;
            gap: 0.5rem;
            text-align: left;
            width: 100%;
            max-width: 180px;
        }

        .comparison-issue svg {
            width: 14px;
            height: 14px;
            flex-shrink: 0;
            margin-top: 2px;
        }

        .comparison-issue.negative svg { fill: #DC2626; }
        .comparison-issue.positive svg { fill: #059669; }

        .comparison-card.highlight .comparison-issue {
            color: var(--text-dark);
        }

        @media (max-width: 900px) {
            .comparison-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .comparison-card.highlight {
                order: -1;
                grid-column: span 2;
            }
        }

        @media (max-width: 600px) {
            .comparison-grid {
                grid-template-columns: 1fr;
            }
            .comparison-card.highlight {
                grid-column: span 1;
            }
        }

        /* ================================
           SECTION - Features Bento Grid
        ================================ */
        .features-section {
            background: linear-gradient(180deg, #F8FAFC 0%, #EEF2F7 100%);
            padding: 6rem 2rem;
        }

        .features-header {
            text-align: center;
            max-width: 700px;
            margin: 0 auto 4rem;
        }

        .features-header h2 {
            font-size: clamp(2rem, 4vw, 2.75rem);
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
        }

        .features-header p {
            font-size: 1.125rem;
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* Grille simplifiée fonctionnalités */
        .features-simple-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
            max-width: 1000px;
            margin: 0 auto 3rem;
        }

        .feature-card-simple {
            background: white;
            border-radius: 16px;
            padding: 1.5rem;
            text-align: center;
            border: 1px solid rgba(0, 0, 0, 0.06);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .feature-card-simple:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
        }

        .feature-card-simple .feature-icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
        }

        .feature-card-simple .feature-icon svg {
            width: 24px;
            height: 24px;
            fill: white;
        }

        .feature-card-simple .feature-icon.orange { background: linear-gradient(135deg, #F97316 0%, #EA580C 100%); }
        .feature-card-simple .feature-icon.purple { background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%); }
        .feature-card-simple .feature-icon.cyan { background: linear-gradient(135deg, #06B6D4 0%, #0891B2 100%); }
        .feature-card-simple .feature-icon.blue { background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%); }

        .feature-card-simple h3 {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
        }

        .feature-card-simple p {
            font-size: 0.875rem;
            color: var(--text-muted);
            line-height: 1.5;
            margin: 0;
        }

        /* Section secondaire "Et aussi..." */
        .features-secondary {
            text-align: center;
            max-width: 800px;
            margin: 0 auto;
            padding-top: 1rem;
            border-top: 1px solid #E5E7EB;
        }

        .features-secondary-title {
            font-size: 0.875rem;
            color: var(--text-muted);
            margin-bottom: 1rem;
            font-weight: 500;
        }

        .features-secondary-list {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.75rem;
        }

        .feature-tag {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: #F3F4F6;
            padding: 0.5rem 1rem;
            border-radius: 20px;
            font-size: 0.8125rem;
            color: #4B5563;
        }

        .feature-tag svg {
            width: 16px;
            height: 16px;
            fill: #6B7280;
        }

        @media (max-width: 768px) {
            .features-simple-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 480px) {
            .features-simple-grid {
                grid-template-columns: 1fr;
            }
        }

        /* ================================
           SECTION - Network Radar
        ================================ */
        .radar-section {
            background: linear-gradient(180deg, #0B1120 0%, #0F172A 40%, #131C31 100%);
            padding: 6rem 2rem;
            position: relative;
            overflow: hidden;
        }
        .radar-section::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background: radial-gradient(ellipse 60% 40% at 50% 20%, rgba(59,130,246,0.08) 0%, transparent 70%);
            pointer-events: none;
        }
        .radar-container {
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }
        .radar-header {
            text-align: center;
            max-width: 750px;
            margin: 0 auto 3.5rem;
        }
        .radar-badge {
            display: inline-block;
            background: linear-gradient(135deg, rgba(59,130,246,0.15), rgba(139,92,246,0.15));
            color: #93C5FD;
            padding: 6px 18px;
            border-radius: 999px;
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: 0.5px;
            margin-bottom: 1.2rem;
            border: 1px solid rgba(59,130,246,0.2);
        }
        .radar-header h2 {
            font-size: 2.4rem;
            font-weight: 800;
            color: #F8FAFC;
            line-height: 1.2;
            margin-bottom: 1rem;
        }
        .radar-subtitle {
            font-size: 1.1rem;
            color: #94A3B8;
            line-height: 1.6;
        }
        .radar-subtitle strong {
            color: #CBD5E1;
        }

        /* Video hero: full width, prominent */
        .radar-video-hero {
            margin-bottom: 3.5rem;
        }

        /* Details: mockup + comparison side by side */
        .radar-details {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2.5rem;
            align-items: start;
            margin-bottom: 3rem;
        }

        /* Mockup window */
        .radar-mockup-window {
            background: #1E293B;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 4px 24px rgba(0,0,0,0.3), 0 1px 3px rgba(0,0,0,0.2);
            border: 1px solid rgba(255,255,255,0.06);
        }
        .radar-mockup-toolbar {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 16px;
            background: #151D2E;
            border-bottom: 1px solid rgba(255,255,255,0.06);
        }
        .radar-mockup-title {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.85rem;
            font-weight: 600;
            color: #94A3B8;
        }
        .radar-mockup-content {
            padding: 20px;
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        /* Query bubble */
        .radar-query-bubble {
            display: flex;
            align-items: center;
            gap: 10px;
            background: rgba(59,130,246,0.1);
            border: 1px solid rgba(59,130,246,0.2);
            border-radius: 12px;
            padding: 12px 16px;
            font-size: 0.9rem;
            color: #E2E8F0;
        }
        .radar-query-icon {
            font-size: 1.1rem;
            flex-shrink: 0;
        }

        /* Interpretation */
        .radar-interpretation {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 0.8rem;
            color: #64748B;
            padding: 0 4px;
        }
        .radar-confidence {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 3px 10px;
            border-radius: 999px;
            font-size: 0.75rem;
            font-weight: 600;
        }
        .radar-confidence.high {
            background: rgba(34,197,94,0.12);
            color: #4ADE80;
            border: 1px solid rgba(34,197,94,0.2);
        }
        .radar-interpretation strong {
            color: #93C5FD;
        }

        /* Result cards */
        .radar-result-card {
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 14px;
            padding: 16px;
            transition: border-color 0.2s;
        }
        .radar-result-card:hover {
            border-color: rgba(59,130,246,0.25);
        }
        .radar-result-card.compact {
            opacity: 0.75;
        }
        .radar-result-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 10px;
        }
        .radar-avatar {
            width: 38px;
            height: 38px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.8rem;
            font-weight: 700;
            color: #fff;
            flex-shrink: 0;
        }
        .radar-result-info {
            flex: 1;
            display: flex;
            flex-direction: column;
        }
        .radar-result-name {
            font-size: 0.9rem;
            font-weight: 600;
            color: #F1F5F9;
        }
        .radar-result-role {
            font-size: 0.78rem;
            color: #64748B;
        }
        .radar-confidence-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            flex-shrink: 0;
        }
        .radar-confidence-dot.high {
            background: #22C55E;
            box-shadow: 0 0 6px rgba(34,197,94,0.4);
        }
        .radar-confidence-dot.medium {
            background: #3B82F6;
            box-shadow: 0 0 6px rgba(59,130,246,0.4);
        }

        /* Reason chips */
        .radar-reason-chips {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 10px;
        }
        .radar-chip {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 4px 10px;
            border-radius: 999px;
            font-size: 0.72rem;
            font-weight: 500;
        }
        .radar-chip.company {
            background: rgba(34,197,94,0.1);
            color: #4ADE80;
            border: 1px solid rgba(34,197,94,0.15);
        }
        .radar-chip.location {
            background: rgba(245,158,11,0.1);
            color: #FBBF24;
            border: 1px solid rgba(245,158,11,0.15);
        }
        .radar-chip.school {
            background: rgba(59,130,246,0.1);
            color: #93C5FD;
            border: 1px solid rgba(59,130,246,0.15);
        }

        /* Bridge path */
        .radar-bridge-path {
            display: flex;
            align-items: center;
            gap: 0;
            margin-bottom: 10px;
            padding: 8px 0;
        }
        .radar-node {
            padding: 5px 12px;
            border-radius: 8px;
            font-size: 0.75rem;
            font-weight: 600;
            white-space: nowrap;
        }
        .radar-node.you {
            background: rgba(59,130,246,0.15);
            color: #93C5FD;
            border: 1px solid rgba(59,130,246,0.25);
        }
        .radar-node.bridge {
            background: rgba(139,92,246,0.12);
            color: #C4B5FD;
            border: 1px solid rgba(139,92,246,0.2);
        }
        .radar-node.target {
            background: rgba(34,197,94,0.12);
            color: #86EFAC;
            border: 1px solid rgba(34,197,94,0.2);
        }
        .radar-path-line {
            width: 24px;
            height: 2px;
            background: linear-gradient(90deg, rgba(139,92,246,0.4), rgba(59,130,246,0.4));
            flex-shrink: 0;
        }

        /* Action row */
        .radar-action-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
        }
        .radar-reply-badge {
            font-size: 0.75rem;
            color: #4ADE80;
        }
        .radar-intro-btn {
            background: linear-gradient(135deg, #3B82F6, #2563EB);
            color: #fff;
            border: none;
            padding: 7px 16px;
            border-radius: 8px;
            font-size: 0.78rem;
            font-weight: 600;
            cursor: pointer;
            transition: transform 0.15s, box-shadow 0.15s;
        }
        .radar-intro-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(59,130,246,0.3);
        }

        /* Input bar */
        .radar-input-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: #151D2E;
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 12px;
            padding: 12px 16px;
            margin-top: 4px;
        }
        .radar-input-placeholder {
            font-size: 0.85rem;
            color: #475569;
        }
        .radar-input-bar svg {
            color: #3B82F6;
            flex-shrink: 0;
        }

        /* Video wrapper */
        .radar-video-wrapper {
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 8px 40px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.06);
            max-width: 900px;
            margin: 0 auto;
        }
        .radar-video-wrapper video {
            display: block;
            width: 100%;
            height: auto;
        }

        /* Comparison section (now inside radar-details) */
        .radar-comparison {
        }
        .radar-comparison h3 {
            text-align: center;
            font-size: 1.4rem;
            font-weight: 700;
            color: #F1F5F9;
            margin-bottom: 2rem;
        }
        .radar-comparison-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
            max-width: 900px;
            margin: 0 auto;
        }
        .radar-compare-card {
            border-radius: 14px;
            padding: 24px;
        }
        .radar-compare-card.old {
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.06);
        }
        .radar-compare-card.new {
            background: linear-gradient(135deg, rgba(59,130,246,0.08), rgba(139,92,246,0.08));
            border: 1px solid rgba(59,130,246,0.2);
        }
        .radar-compare-header {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 1rem;
            font-weight: 700;
            color: #E2E8F0;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(255,255,255,0.06);
        }
        .radar-compare-icon {
            font-size: 1.3rem;
        }
        .radar-compare-card ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .radar-compare-card.old li {
            color: #64748B;
            font-size: 0.88rem;
            padding-left: 20px;
            position: relative;
        }
        .radar-compare-card.old li::before {
            content: '–';
            position: absolute;
            left: 0;
            color: #475569;
        }
        .radar-compare-card.new li {
            color: #CBD5E1;
            font-size: 0.88rem;
            padding-left: 20px;
            position: relative;
        }
        .radar-compare-card.new li::before {
            content: '✓';
            position: absolute;
            left: 0;
            color: #4ADE80;
            font-weight: 700;
        }
        .radar-compare-card.new li strong {
            color: #93C5FD;
        }

        /* CTA */
        .radar-cta {
            text-align: center;
        }
        .radar-cta-btn {
            display: inline-block;
            background: linear-gradient(135deg, #3B82F6, #6366F1);
            color: #fff;
            padding: 14px 36px;
            border-radius: 12px;
            font-size: 1rem;
            font-weight: 700;
            text-decoration: none;
            transition: transform 0.2s, box-shadow 0.2s;
            box-shadow: 0 4px 16px rgba(59,130,246,0.3);
        }
        .radar-cta-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(59,130,246,0.4);
        }
        .radar-cta-note {
            color: #64748B;
            font-size: 0.85rem;
            margin-top: 12px;
        }

        /* Responsive */
        @media (max-width: 900px) {
            .radar-details {
                grid-template-columns: 1fr;
            }
            .radar-header h2 {
                font-size: 1.8rem;
            }
            .radar-comparison-grid {
                grid-template-columns: 1fr;
            }
        }
        @media (max-width: 600px) {
            .radar-section {
                padding: 4rem 1rem;
            }
            .radar-header h2 {
                font-size: 1.5rem;
            }
            .radar-video-wrapper {
                border-radius: 10px;
            }
            .radar-mockup-content {
                padding: 14px;
                gap: 10px;
            }
            .radar-bridge-path {
                flex-wrap: wrap;
                gap: 4px;
            }
            .radar-action-row {
                flex-direction: column;
                align-items: flex-start;
            }
        }

        /* ================================
           SECTION - Features Showcase (Mockups)
        ================================ */
        .features-showcase {
            background: linear-gradient(180deg, #F8FAFC 0%, #EFF6FF 50%, #F8FAFC 100%);
            padding: 6rem 2rem;
            position: relative;
            overflow: hidden;
        }

        .features-showcase-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .features-showcase-header {
            text-align: center;
            max-width: 700px;
            margin: 0 auto 4rem;
        }

        .features-badge {
            display: inline-block;
            background: linear-gradient(135deg, #3B82F6 0%, #1D4ED8 100%);
            color: white;
            padding: 0.5rem 1.25rem;
            border-radius: 50px;
            font-size: 0.875rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-bottom: 1.5rem;
        }

        .features-showcase-header h2 {
            font-size: clamp(2rem, 4vw, 2.75rem);
            font-weight: 800;
            color: #0F172A;
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
            line-height: 1.2;
        }

        .features-showcase-header p {
            font-size: 1.125rem;
            color: #64748B;
            line-height: 1.7;
        }

        /* Feature Block Layout */
        .feature-block {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
            margin-bottom: 6rem;
        }

        .feature-block-reverse {
            direction: rtl;
        }

        .feature-block-reverse > * {
            direction: ltr;
        }

        .feature-block-content {
            max-width: 480px;
        }

        .feature-block-icon {
            width: 56px;
            height: 56px;
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.5rem;
        }

        .feature-block-icon svg {
            width: 28px;
            height: 28px;
            fill: white;
        }

        .feature-block-icon.blue { background: linear-gradient(135deg, #3B82F6 0%, #1D4ED8 100%); }
        .feature-block-icon.purple { background: linear-gradient(135deg, #8B5CF6 0%, #6D28D9 100%); }
        .feature-block-icon.orange { background: linear-gradient(135deg, #F97316 0%, #EA580C 100%); }
        .feature-block-icon.cyan { background: linear-gradient(135deg, #06B6D4 0%, #0891B2 100%); }
        .feature-block-icon.green { background: linear-gradient(135deg, #10B981 0%, #059669 100%); }
        .feature-block-icon.teal { background: linear-gradient(135deg, #14B8A6 0%, #0D9488 100%); }

        .feature-block-content h3 {
            font-size: 1.75rem;
            font-weight: 700;
            color: #0F172A;
            margin-bottom: 1rem;
        }

        .feature-block-desc {
            font-size: 1rem;
            color: #64748B;
            line-height: 1.7;
            margin-bottom: 1.5rem;
        }

        .feature-block-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .feature-block-list li {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            font-size: 0.9375rem;
            color: #334155;
            margin-bottom: 0.75rem;
        }

        .feature-block-list li svg {
            width: 20px;
            height: 20px;
            fill: #10B981;
            flex-shrink: 0;
        }

        /* Mockup Container */
        .feature-block-visual {
            position: relative;
        }

        .mockup-container {
            position: relative;
            perspective: 1000px;
        }

        /* Mockup Window */
        .mockup-window {
            background: white;
            border-radius: 16px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            transform: rotateY(-2deg) rotateX(2deg);
            transition: transform 0.4s ease;
        }

        .mockup-container:hover .mockup-window {
            transform: rotateY(0) rotateX(0);
        }

        .mockup-toolbar {
            background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%);
            padding: 0.75rem 1rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            border-bottom: 1px solid #E2E8F0;
        }

        .mockup-dots {
            display: flex;
            gap: 6px;
        }

        .mockup-dots span {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: #E2E8F0;
        }

        .mockup-dots span:first-child { background: #FCA5A5; }
        .mockup-dots span:nth-child(2) { background: #FCD34D; }
        .mockup-dots span:last-child { background: #86EFAC; }

        /* ===== Longitudinal mockup (Option C: dark mockup on light section) ===== */
        .longitudinal-eyebrow {
            display: inline-block;
            font-size: 0.78rem;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: #3481d2;
            margin-bottom: 0.5rem;
        }
        .longitudinal-mockup {
            max-width: 1000px;
            margin: 2.5rem auto 0;
            background: #1E293B;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 20px 50px -20px rgba(15, 23, 42, 0.45), 0 4px 16px rgba(15, 23, 42, 0.12);
            border: 1px solid rgba(255, 255, 255, 0.06);
        }
        .longitudinal-mockup-toolbar {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 12px 18px;
            background: #151D2E;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }
        .longitudinal-mockup-title {
            font-size: 0.85rem;
            font-weight: 600;
            color: #94A3B8;
            letter-spacing: 0.02em;
        }
        .longitudinal-mockup-content {
            padding: 1.75rem;
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
        }
        .longitudinal-cards {
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            gap: 1.25rem;
            align-items: stretch;
        }
        .longitudinal-profile-card {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 1.5rem;
            transition: border-color 0.2s;
        }
        .longitudinal-profile-card.primary {
            background: rgba(59, 130, 246, 0.08);
            border-color: rgba(59, 130, 246, 0.3);
            box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.1) inset;
        }
        .longitudinal-time-badge {
            display: inline-block;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: #93C5FD;
            background: rgba(59, 130, 246, 0.15);
            padding: 0.3rem 0.7rem;
            border-radius: 999px;
            margin-bottom: 0.75rem;
        }
        .longitudinal-name {
            font-size: 1.05rem;
            font-weight: 700;
            color: #F8FAFC;
            margin-bottom: 1.1rem;
        }
        .longitudinal-fields {
            margin: 0;
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 0.55rem 1.1rem;
            font-size: 0.92rem;
        }
        .longitudinal-fields dt {
            color: #64748B;
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            align-self: center;
        }
        .longitudinal-fields dd {
            margin: 0;
            color: #E2E8F0;
            line-height: 1.4;
        }
        .longitudinal-fields dd strong {
            color: #F8FAFC;
            font-weight: 700;
        }
        .longitudinal-arrow {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .longitudinal-arrow-disc {
            width: 52px;
            height: 52px;
            border-radius: 50%;
            background: linear-gradient(135deg, #3B82F6, #1D4ED8);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 8px 20px -6px rgba(59, 130, 246, 0.55), 0 0 0 6px rgba(59, 130, 246, 0.08);
        }
        .longitudinal-evolution {
            background: linear-gradient(135deg, rgba(59, 130, 246, 0.12), rgba(139, 92, 246, 0.12));
            border: 1px solid rgba(59, 130, 246, 0.2);
            border-radius: 14px;
            padding: 1.5rem;
        }
        .longitudinal-evolution-label {
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: #93C5FD;
            margin-bottom: 1.1rem;
        }
        .longitudinal-evolution-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 1rem;
        }
        .longitudinal-evolution-item .longitudinal-evolution-value {
            font-weight: 800;
            color: #F8FAFC;
            line-height: 1.1;
        }
        .longitudinal-evolution-item .longitudinal-evolution-value.big {
            font-size: 1.7rem;
            color: #4ADE80;
        }
        .longitudinal-evolution-item .longitudinal-evolution-value.med {
            font-size: 1.05rem;
        }
        .longitudinal-evolution-item .longitudinal-evolution-meta {
            font-size: 0.82rem;
            color: #94A3B8;
            margin-top: 0.35rem;
        }
        @media (max-width: 720px) {
            .longitudinal-cards {
                grid-template-columns: 1fr;
            }
            .longitudinal-arrow {
                transform: rotate(90deg);
                margin: 0.25rem 0;
            }
        }

        .mockup-title {
            font-size: 0.8125rem;
            font-weight: 600;
            color: #64748B;
        }

        .mockup-content {
            padding: 1.25rem;
        }

        /* Mockup Search */
        .mockup-search {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            background: #F8FAFC;
            border: 1px solid #E2E8F0;
            border-radius: 8px;
            padding: 0.625rem 1rem;
            margin-bottom: 1rem;
        }

        .mockup-search svg {
            width: 18px;
            height: 18px;
            fill: #94A3B8;
        }

        .mockup-search span {
            font-size: 0.875rem;
            color: #94A3B8;
        }

        /* Mockup Filters */
        .mockup-filters {
            display: flex;
            gap: 0.5rem;
            margin-bottom: 1rem;
            flex-wrap: wrap;
        }

        .mockup-filter {
            padding: 0.375rem 0.875rem;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 500;
            background: #F1F5F9;
            color: #64748B;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .mockup-filter.active {
            background: #3B82F6;
            color: white;
        }

        /* Mockup Members List */
        .mockup-members-list {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .mockup-member {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem;
            background: #FAFAFA;
            border-radius: 10px;
            transition: background 0.2s ease;
        }

        .mockup-member:hover {
            background: #F1F5F9;
        }

        .mockup-avatar {
            width: 40px;
            height: 40px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.8125rem;
            font-weight: 600;
            color: white;
        }

        .mockup-avatar-sm {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.6875rem;
            font-weight: 600;
            color: white;
            background: linear-gradient(135deg, #3B82F6, #1D4ED8);
            flex-shrink: 0;
        }

        .mockup-avatar-xs {
            width: 28px;
            height: 28px;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.625rem;
            font-weight: 600;
            color: white;
            background: linear-gradient(135deg, #3B82F6, #1D4ED8);
            flex-shrink: 0;
        }

        .mockup-member-info {
            flex: 1;
            min-width: 0;
        }

        .mockup-member-name {
            display: block;
            font-size: 0.875rem;
            font-weight: 600;
            color: #1E293B;
        }

        .mockup-member-loc {
            display: block;
            font-size: 0.75rem;
            color: #64748B;
        }

        .mockup-badge-status {
            padding: 0.25rem 0.625rem;
            border-radius: 12px;
            font-size: 0.6875rem;
            font-weight: 600;
        }

        .mockup-badge-status.active {
            background: #DCFCE7;
            color: #166534;
        }

        .mockup-badge-status.pending {
            background: #FEF3C7;
            color: #92400E;
        }

        /* World Map Interactive Component with OpenLayers */
        .mockup-world-map {
            position: absolute;
            top: -20px;
            right: -30px;
            width: 300px;
            background: white;
            border-radius: 16px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
            overflow: hidden;
            z-index: 10;
        }

        .world-map-header {
            background: linear-gradient(135deg, #3B82F6 0%, #1D4ED8 100%);
            padding: 0.75rem 1rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .world-map-title {
            font-size: 0.8125rem;
            font-weight: 600;
            color: white;
        }

        .world-map-count {
            font-size: 0.6875rem;
            color: rgba(255, 255, 255, 0.8);
            font-weight: 500;
        }

        .world-map-container {
            position: relative;
            height: 160px;
            overflow: hidden;
        }

        .features-ol-map {
            width: 100%;
            height: 100%;
        }

        .features-ol-map .ol-viewport {
            border-radius: 0;
        }

        .world-map-footer {
            padding: 0.5rem 1rem;
            background: #F8FAFC;
            border-top: 1px solid #E2E8F0;
        }

        .live-indicator {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.6875rem;
            color: #64748B;
        }

        .live-dot {
            width: 6px;
            height: 6px;
            background: #10B981;
            border-radius: 50%;
            animation: livePulse 1.5s ease-in-out infinite;
        }

        @keyframes livePulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.4; }
        }

        /* Mockup Events */
        .mockup-event-card {
            background: #F8FAFC;
            border-radius: 12px;
            overflow: hidden;
            margin-bottom: 0.75rem;
        }

        .mockup-event-banner {
            height: 80px;
            background: linear-gradient(135deg, #8B5CF6 0%, #6D28D9 100%);
        }

        .mockup-event-details {
            padding: 0.875rem;
            display: flex;
            gap: 0.875rem;
        }

        .mockup-event-date-box {
            background: white;
            border-radius: 8px;
            padding: 0.5rem 0.75rem;
            text-align: center;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            flex-shrink: 0;
        }

        .mockup-event-date-box .day {
            display: block;
            font-size: 1.25rem;
            font-weight: 700;
            color: #1E293B;
            line-height: 1;
        }

        .mockup-event-date-box .month {
            display: block;
            font-size: 0.625rem;
            font-weight: 600;
            color: #8B5CF6;
            text-transform: uppercase;
        }

        .mockup-event-info h4 {
            font-size: 0.875rem;
            font-weight: 600;
            color: #1E293B;
            margin: 0 0 0.25rem 0;
        }

        .mockup-event-info p {
            font-size: 0.75rem;
            color: #64748B;
            margin: 0 0 0.5rem 0;
        }

        .mockup-event-meta {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .mockup-attendees {
            display: flex;
            align-items: center;
            gap: 0.25rem;
            font-size: 0.6875rem;
            color: #64748B;
        }

        .mockup-attendees svg {
            width: 14px;
            height: 14px;
            fill: #64748B;
        }

        .mockup-price {
            font-size: 0.75rem;
            font-weight: 700;
            color: #10B981;
        }

        .mockup-event-mini {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem;
            background: #FAFAFA;
            border-radius: 8px;
            margin-bottom: 0.5rem;
        }

        .mockup-event-date-small {
            background: white;
            border-radius: 6px;
            padding: 0.375rem 0.5rem;
            text-align: center;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
            flex-shrink: 0;
        }

        .mockup-event-date-small span:first-child {
            display: block;
            font-size: 0.875rem;
            font-weight: 700;
            color: #1E293B;
            line-height: 1;
        }

        .mockup-event-date-small span:last-child {
            display: block;
            font-size: 0.5rem;
            font-weight: 600;
            color: #8B5CF6;
            text-transform: uppercase;
        }

        .mockup-event-text {
            display: flex;
            flex-direction: column;
            gap: 0.125rem;
        }

        .mockup-event-text span:first-child {
            font-size: 0.8125rem;
            font-weight: 500;
            color: #1E293B;
        }

        .mockup-event-text .free {
            font-size: 0.6875rem;
            font-weight: 600;
            color: #10B981;
        }

        .mockup-event-text .onsite {
            font-size: 0.6875rem;
            font-weight: 600;
            color: #F59E0B;
        }

        /* Mockup QR Float */
        .mockup-qr-float {
            position: absolute;
            bottom: -20px;
            right: -20px;
            background: white;
            border-radius: 16px;
            padding: 1rem;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
            animation: floatQR 3s ease-in-out infinite;
        }

        @keyframes floatQR {
            0%, 100% { transform: translateY(0) rotate(-2deg); }
            50% { transform: translateY(-6px) rotate(-2deg); }
        }

        .mockup-qr-code {
            width: 80px;
            height: 80px;
            margin-bottom: 0.75rem;
        }

        .mockup-qr-code svg {
            width: 100%;
            height: 100%;
        }

        .mockup-qr-status {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            background: #ECFDF5;
            padding: 0.5rem 0.75rem;
            border-radius: 8px;
        }

        .mockup-qr-status svg {
            width: 16px;
            height: 16px;
        }

        .mockup-qr-status span {
            font-size: 0.75rem;
            font-weight: 600;
            color: #059669;
        }

        /* Mockup Payments */
        .mockup-stats-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.75rem;
            margin-bottom: 1rem;
        }

        .mockup-stat-card {
            background: linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%);
            border-radius: 10px;
            padding: 1rem;
            text-align: center;
        }

        .mockup-stat-value {
            display: block;
            font-size: 1.375rem;
            font-weight: 700;
            color: #1E293B;
            margin-bottom: 0.25rem;
        }

        .mockup-stat-value.success {
            color: #10B981;
        }

        .mockup-stat-label {
            font-size: 0.6875rem;
            color: #64748B;
        }

        .mockup-payments-list {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .mockup-payment-row {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem;
            background: #FAFAFA;
            border-radius: 8px;
        }

        .mockup-payment-row.pending {
            background: #FFFBEB;
        }

        .mockup-payment-user {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            flex: 1;
        }

        .mockup-payment-user span {
            font-size: 0.8125rem;
            font-weight: 500;
            color: #1E293B;
        }

        .mockup-payment-amount {
            font-size: 0.875rem;
            font-weight: 700;
            color: #10B981;
        }

        .mockup-payment-row.pending .mockup-payment-amount {
            color: #64748B;
        }

        .mockup-payment-status {
            padding: 0.25rem 0.5rem;
            border-radius: 6px;
            font-size: 0.625rem;
            font-weight: 600;
        }

        .mockup-payment-status.success {
            background: #DCFCE7;
            color: #166534;
        }

        .mockup-payment-status.pending {
            background: #FEF3C7;
            color: #92400E;
        }

        /* Mockup Notification Float */
        .mockup-notif-float {
            position: absolute;
            top: -15px;
            right: -25px;
            background: white;
            border-radius: 12px;
            padding: 0.875rem 1rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
            animation: floatNotif 3.5s ease-in-out infinite;
        }

        @keyframes floatNotif {
            0%, 100% { transform: translateY(0) rotate(2deg); }
            50% { transform: translateY(-8px) rotate(2deg); }
        }

        .mockup-notif-float svg {
            width: 20px;
            height: 20px;
            flex-shrink: 0;
        }

        .mockup-notif-text {
            display: flex;
            flex-direction: column;
        }

        .mockup-notif-text span:first-child {
            font-size: 0.75rem;
            font-weight: 600;
            color: #1E293B;
        }

        .mockup-notif-text .amount {
            font-size: 0.6875rem;
            color: #10B981;
            font-weight: 600;
        }

        /* Mockup Post/Messaging */
        .mockup-post {
            background: #FAFAFA;
            border-radius: 12px;
            padding: 1rem;
            margin-bottom: 0.75rem;
        }

        .mockup-post-header {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 0.75rem;
        }

        .mockup-post-meta {
            display: flex;
            flex-direction: column;
        }

        .mockup-post-author {
            font-size: 0.8125rem;
            font-weight: 600;
            color: #1E293B;
        }

        .mockup-post-time {
            font-size: 0.6875rem;
            color: #94A3B8;
        }

        .mockup-post-content {
            font-size: 0.8125rem;
            color: #475569;
            line-height: 1.5;
            margin: 0 0 0.75rem 0;
        }

        .mockup-post-actions {
            display: flex;
            gap: 1rem;
        }

        .mockup-action {
            display: flex;
            align-items: center;
            gap: 0.375rem;
            font-size: 0.75rem;
            color: #64748B;
        }

        .mockup-action svg {
            width: 16px;
            height: 16px;
            fill: #94A3B8;
        }

        .mockup-post-mini {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem;
            background: #F8FAFC;
            border-radius: 8px;
        }

        .mockup-post-mini-content {
            font-size: 0.8125rem;
            color: #64748B;
        }

        /* Mockup Chat Float */
        .mockup-chat-float {
            position: absolute;
            bottom: 20px;
            right: -40px;
            width: 220px;
            background: white;
            border-radius: 16px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
            overflow: hidden;
            animation: floatChat 4s ease-in-out infinite;
        }

        @keyframes floatChat {
            0%, 100% { transform: translateY(0) rotate(-1deg); }
            50% { transform: translateY(-10px) rotate(-1deg); }
        }

        .mockup-chat-header {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.75rem;
            background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%);
            border-bottom: 1px solid #E2E8F0;
        }

        .mockup-chat-header span:not(.mockup-avatar-xs):not(.mockup-online) {
            font-size: 0.8125rem;
            font-weight: 600;
            color: #1E293B;
            flex: 1;
        }

        .mockup-online {
            width: 8px;
            height: 8px;
            background: #10B981;
            border-radius: 50%;
        }

        .mockup-chat-messages {
            padding: 0.75rem;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .mockup-chat-bubble {
            max-width: 85%;
            padding: 0.5rem 0.75rem;
            border-radius: 12px;
            font-size: 0.75rem;
            line-height: 1.4;
        }

        .mockup-chat-bubble.received {
            background: #F1F5F9;
            color: #334155;
            align-self: flex-start;
            border-bottom-left-radius: 4px;
        }

        .mockup-chat-bubble.sent {
            background: #3B82F6;
            color: white;
            align-self: flex-end;
            border-bottom-right-radius: 4px;
        }

        .mockup-chat-input {
            padding: 0.625rem 0.75rem;
            background: #F8FAFC;
            border-top: 1px solid #E2E8F0;
        }

        .mockup-chat-input span {
            font-size: 0.75rem;
            color: #94A3B8;
        }

        /* Features Extras Grid */
        .features-extras {
            margin-top: 4rem;
            text-align: center;
            padding-top: 3rem;
            border-top: 1px solid #E2E8F0;
        }

        .features-extras h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #64748B;
            margin-bottom: 2rem;
        }

        .features-extras-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
            max-width: 1000px;
            margin: 0 auto;
        }

        .feature-extra-card {
            background: white;
            border-radius: 16px;
            padding: 1.5rem;
            text-align: center;
            border: 1px solid #E2E8F0;
            transition: all 0.3s ease;
        }

        .feature-extra-card:hover {
            transform: translateY(-4px);
            border-color: #CBD5E1;
            box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
        }

        .feature-extra-icon {
            width: 48px;
            height: 48px;
            background: linear-gradient(135deg, #F1F5F9 0%, #E2E8F0 100%);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
        }

        .feature-extra-icon svg {
            width: 24px;
            height: 24px;
            fill: #64748B;
        }

        .feature-extra-card h4 {
            font-size: 1rem;
            font-weight: 600;
            color: #0F172A;
            margin-bottom: 0.5rem;
        }

        .feature-extra-card p {
            font-size: 0.875rem;
            color: #64748B;
            line-height: 1.5;
            margin: 0;
        }

        /* Responsive Features Showcase */
        @media (max-width: 1024px) {
            .feature-block {
                grid-template-columns: 1fr;
                gap: 3rem;
            }

            .feature-block-reverse {
                direction: ltr;
            }

            .feature-block-content {
                max-width: 100%;
                order: 1;
            }

            .feature-block-visual {
                order: 2;
            }

            .mockup-world-map {
                right: 10px;
                width: 280px;
            }

            .mockup-qr-float {
                right: 10px;
            }

            .mockup-notif-float {
                right: 10px;
            }

            .mockup-chat-float {
                right: 10px;
            }

            .features-extras-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 640px) {
            .features-showcase {
                padding: 4rem 1rem;
            }

            .feature-block {
                margin-bottom: 4rem;
            }

            .feature-block-content h3 {
                font-size: 1.5rem;
            }

            .mockup-window {
                transform: none;
            }

            .mockup-world-map,
            .mockup-qr-float,
            .mockup-notif-float,
            .mockup-chat-float {
                display: none;
            }

            .features-extras-grid {
                grid-template-columns: 1fr;
                max-width: 300px;
            }

            .features-extras h3 {
                font-size: 1rem;
            }
        }

        /* Bento Grid (conservé pour compatibilité) */
        .bento-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: auto auto auto;
            gap: 1.5rem;
            max-width: 1100px;
            margin: 0 auto;
        }

        .bento-card {
            background: white;
            border-radius: 24px;
            padding: 2rem;
            position: relative;
            overflow: hidden;
            border: 1px solid rgba(0, 0, 0, 0.06);
            box-shadow:
                0 1px 3px rgba(0, 0, 0, 0.04),
                0 6px 24px rgba(0, 0, 0, 0.06);
            transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease;
            opacity: 0;
            transform: translateY(30px);
            animation: bentoReveal 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
        }

        .bento-card:nth-child(1) { animation-delay: 0.1s; }
        .bento-card:nth-child(2) { animation-delay: 0.2s; }
        .bento-card:nth-child(3) { animation-delay: 0.3s; }
        .bento-card:nth-child(4) { animation-delay: 0.4s; }
        .bento-card:nth-child(5) { animation-delay: 0.5s; }
        .bento-card:nth-child(6) { animation-delay: 0.6s; }
        .bento-card:nth-child(7) { animation-delay: 0.7s; }
        .bento-card:nth-child(8) { animation-delay: 0.8s; }

        @keyframes bentoReveal {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .bento-card::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 24px;
            opacity: 0;
            transition: opacity 0.4s ease;
            background: radial-gradient(ellipse at center, rgba(52, 129, 210, 0.08) 0%, transparent 70%);
            pointer-events: none;
        }

        .bento-card:hover {
            transform: translateY(-8px);
            box-shadow:
                0 8px 16px rgba(0, 0, 0, 0.08),
                0 24px 48px rgba(30, 58, 95, 0.15),
                0 0 0 1px rgba(52, 129, 210, 0.1);
        }

        .bento-card:hover::before {
            opacity: 1;
        }

        .bento-plan-badge {
            position: absolute;
            top: 1rem;
            right: 1rem;
            padding: 0.25rem 0.625rem;
            border-radius: 4px;
            font-size: 0.6875rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            z-index: 2;
        }

        .bento-plan-badge.starter {
            background: #E8F5E9;
            color: #2E7D32;
        }

        .bento-plan-badge.pro {
            background: #E3F2FD;
            color: #1565C0;
        }

        .bento-plan-badge.premium {
            background: #FFF3E0;
            color: #E65100;
        }

        /* Card sizes */
        .bento-card.large {
            grid-column: span 2;
        }

        .bento-card.tall {
            grid-row: span 2;
        }

        /* Card header */
        .bento-icon {
            width: 48px;
            height: 48px;
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.25rem;
        }

        .bento-icon svg {
            width: 24px;
            height: 24px;
            fill: white;
        }

        .bento-icon.orange { background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%); }
        .bento-icon.blue { background: linear-gradient(135deg, #1E3A5F 0%, #2D5A8A 100%); }
        .bento-icon.cyan { background: linear-gradient(135deg, #06B6D4 0%, #22D3EE 100%); }
        .bento-icon.purple { background: linear-gradient(135deg, #8B5CF6 0%, #A78BFA 100%); }
        .bento-icon.green { background: linear-gradient(135deg, #10B981 0%, #34D399 100%); }
        .bento-icon.pink { background: linear-gradient(135deg, #EC4899 0%, #F472B6 100%); }

        .bento-title {
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
        }

        .bento-desc {
            font-size: 0.9375rem;
            color: var(--text-muted);
            line-height: 1.6;
            margin-bottom: 1.5rem;
        }

        /* Feature highlights */
        .bento-highlights {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .bento-highlight {
            display: inline-flex;
            align-items: center;
            gap: 0.375rem;
            padding: 0.375rem 0.75rem;
            background: #F1F5F9;
            border-radius: 100px;
            font-size: 0.8125rem;
            color: var(--text-dark);
            font-weight: 500;
        }

        .bento-highlight svg {
            width: 14px;
            height: 14px;
            fill: #FF6B4A;
        }

        /* Visual elements inside cards */
        .bento-visual {
            margin-top: 1.5rem;
            border-radius: 12px;
            overflow: hidden;
        }

        /* Annuaire visual */
        .annuaire-preview {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .annuaire-member {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem;
            background: #F8FAFC;
            border-radius: 12px;
        }

        .annuaire-avatar {
            width: 40px;
            height: 40px;
            border-radius: 10px;
            background: linear-gradient(135deg, #1E3A5F 0%, #2D5A8A 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: 600;
            font-size: 0.875rem;
        }

        .annuaire-info {
            flex: 1;
        }

        .annuaire-name {
            font-weight: 600;
            color: var(--text-dark);
            font-size: 0.875rem;
        }

        .annuaire-meta {
            font-size: 0.75rem;
            color: var(--text-muted);
        }

        .annuaire-location {
            font-size: 0.75rem;
            color: #FF6B4A;
            font-weight: 500;
        }

        /* Map visual - Premium styled */
        .map-preview {
            height: 220px;
            background:
                linear-gradient(135deg, #1E3A5F 0%, #0F2744 100%);
            border-radius: 16px;
            position: relative;
            overflow: hidden;
            box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.3);
        }

        #bento-map {
            position: absolute;
            inset: 0;
            border-radius: 16px;
            overflow: hidden;
        }

        #bento-map .ol-viewport {
            border-radius: 16px;
        }

        .map-preview::after {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse at center, transparent 30%, rgba(15, 39, 68, 0.5) 100%);
            pointer-events: none;
        }

        .map-pin {
            position: absolute;
            width: 10px;
            height: 10px;
            background: #FF6B4A;
            border-radius: 50%;
            border: 2px solid rgba(255, 255, 255, 0.9);
            box-shadow:
                0 0 12px rgba(255, 107, 74, 0.8),
                0 0 24px rgba(255, 107, 74, 0.4);
            z-index: 2;
        }

        .map-pin::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 28px;
            height: 28px;
            background: rgba(255, 107, 74, 0.25);
            border-radius: 50%;
            animation: ping 2s infinite;
        }

        @keyframes ping {
            0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
            100% { transform: translate(-50%, -50%) scale(2.5); opacity: 0; }
        }

        .map-pin.paris { top: 32%; left: 48%; width: 12px; height: 12px; }
        .map-pin.ny { top: 38%; left: 22%; }
        .map-pin.dubai { top: 48%; left: 62%; }
        .map-pin.tokyo { top: 36%; left: 82%; }
        .map-pin.sydney { top: 75%; left: 85%; }

        /* Connection lines between pins */
        .map-preview .map-connection {
            position: absolute;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 107, 74, 0.4), transparent);
            z-index: 1;
        }

        .map-counter {
            position: absolute;
            bottom: 1rem;
            left: 1rem;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(8px);
            padding: 0.625rem 1rem;
            border-radius: 10px;
            font-size: 0.8125rem;
            font-weight: 600;
            color: var(--text-dark);
            box-shadow:
                0 4px 12px rgba(0, 0, 0, 0.15),
                0 0 0 1px rgba(255, 255, 255, 0.1);
            z-index: 3;
        }

        .map-counter span {
            color: #FF6B4A;
            font-weight: 700;
        }

        /* Events visual */
        .events-preview {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .event-card {
            display: flex;
            gap: 1rem;
            padding: 1rem;
            background: #F8FAFC;
            border-radius: 12px;
            align-items: center;
        }

        .event-date {
            text-align: center;
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
            color: white;
            padding: 0.5rem 0.75rem;
            border-radius: 10px;
            min-width: 50px;
        }

        .event-date-day {
            font-size: 1.25rem;
            font-weight: 700;
            line-height: 1;
        }

        .event-date-month {
            font-size: 0.625rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .event-info {
            flex: 1;
        }

        .event-title {
            font-weight: 600;
            color: var(--text-dark);
            font-size: 0.875rem;
        }

        .event-meta {
            font-size: 0.75rem;
            color: var(--text-muted);
        }

        .event-attendees {
            display: flex;
        }

        .event-attendee {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: linear-gradient(135deg, #1E3A5F 0%, #2D5A8A 100%);
            border: 2px solid white;
            margin-left: -8px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 0.625rem;
            font-weight: 600;
        }

        .event-attendee:first-child {
            margin-left: 0;
        }

        .event-attendee.more {
            background: #F1F5F9;
            color: var(--text-muted);
        }

        /* Messaging visual */
        .messaging-preview {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .message-bubble {
            max-width: 85%;
            padding: 0.75rem 1rem;
            border-radius: 16px;
            font-size: 0.8125rem;
            line-height: 1.4;
        }

        .message-bubble.received {
            background: #F1F5F9;
            color: var(--text-dark);
            border-bottom-left-radius: 4px;
            align-self: flex-start;
        }

        .message-bubble.sent {
            background: linear-gradient(135deg, #1E3A5F 0%, #2D5A8A 100%);
            color: white;
            border-bottom-right-radius: 4px;
            align-self: flex-end;
        }

        .message-bubble.mini {
            padding: 0.5rem 0.75rem;
            font-size: 0.75rem;
            max-width: 90%;
        }

        /* Cotisation preview (new) */
        .cotisation-preview {
            background: #F8FAFC;
            border-radius: 12px;
            padding: 1rem;
        }

        .cotisation-stat {
            display: flex;
            align-items: baseline;
            gap: 0.5rem;
            margin-bottom: 0.75rem;
        }

        .cotisation-stat-value {
            font-size: 2rem;
            font-weight: 800;
            color: #10B981;
        }

        .cotisation-stat-label {
            font-size: 0.8125rem;
            color: var(--text-muted);
        }

        .cotisation-progress {
            height: 8px;
            background: #E2E8F0;
            border-radius: 4px;
            overflow: hidden;
            margin-bottom: 0.75rem;
        }

        .cotisation-bar {
            height: 100%;
            background: linear-gradient(90deg, #10B981 0%, #34D399 100%);
            border-radius: 4px;
            transition: width 1s ease;
        }

        .cotisation-amounts {
            display: flex;
            align-items: baseline;
            gap: 0.5rem;
        }

        .cotisation-collected {
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--text-dark);
        }

        .cotisation-label {
            font-size: 0.75rem;
            color: var(--text-muted);
        }

        /* Annuaire + Messaging combined preview (new) */
        .annuaire-messaging-preview {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .annuaire-member-compact {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem;
            background: #F8FAFC;
            border-radius: 10px;
        }

        .message-icon-btn {
            width: 32px;
            height: 32px;
            background: linear-gradient(135deg, #3AB795 0%, #5FE3B5 100%);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-left: auto;
        }

        .message-icon-btn svg {
            width: 16px;
            height: 16px;
            fill: white;
        }

        .mini-chat {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            padding-left: 1rem;
        }

        /* Jobs visual */
        .jobs-preview {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .job-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.75rem 1rem;
            background: #F8FAFC;
            border-radius: 10px;
        }

        .job-item-info {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .job-item-icon {
            width: 36px;
            height: 36px;
            background: linear-gradient(135deg, #8B5CF6 0%, #A78BFA 100%);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .job-item-icon svg {
            width: 18px;
            height: 18px;
            fill: white;
        }

        .job-item-title {
            font-weight: 600;
            color: var(--text-dark);
            font-size: 0.875rem;
        }

        .job-item-company {
            font-size: 0.75rem;
            color: var(--text-muted);
        }

        .job-item-badge {
            padding: 0.25rem 0.5rem;
            border-radius: 6px;
            font-size: 0.6875rem;
            font-weight: 600;
        }

        .job-item-badge.cdi {
            background: #D1FAE5;
            color: #059669;
        }

        .job-item-badge.freelance {
            background: #E0E7FF;
            color: #4F46E5;
        }

        /* Stats row */
        .bento-stats {
            display: flex;
            gap: 2rem;
            margin-top: 1rem;
        }

        .bento-stat {
            text-align: center;
        }

        .bento-stat-value {
            font-size: 1.75rem;
            font-weight: 700;
            color: var(--text-dark);
        }

        .bento-stat-label {
            font-size: 0.75rem;
            color: var(--text-muted);
        }


        /* ================================
           SECTION - Cas d'usage
        ================================ */
        .usecases-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.5rem;
        }

        .usecase-card {
            background: #FFFFFF;
            border: 1px solid #E2E8F0;
            border-radius: 12px;
            padding: 2rem;
            transition: all 0.3s ease;
        }

        .usecase-card:hover {
            border-color: var(--primary);
            box-shadow: 0 10px 40px rgba(58, 183, 149, 0.1);
            transform: translateY(-4px);
        }

        .usecase-icon {
            width: 48px;
            height: 48px;
            background: rgba(58, 183, 149, 0.1);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.25rem;
        }

        .usecase-icon svg {
            width: 24px;
            height: 24px;
            fill: var(--primary);
        }

        .usecase-card h3 {
            font-size: 1.125rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
        }

        .usecase-card p {
            font-size: 0.9375rem;
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* ================================
           SECTION - PWA Branding
        ================================ */
        .pwa-branding-section {
            padding: 6rem 2rem;
            background: linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 50%, #F8FAFC 100%);
            position: relative;
            overflow: hidden;
        }

        .pwa-branding-section::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -10%;
            width: 600px;
            height: 600px;
            background: radial-gradient(circle, rgba(59, 130, 246, 0.08) 0%, transparent 70%);
            border-radius: 50%;
            pointer-events: none;
        }

        .pwa-branding-container {
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .pwa-branding-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        /* Comparison table */
        .pwa-comparison {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem;
            margin-bottom: 5rem;
        }

        .pwa-comparison-col {
            background: white;
            border-radius: 16px;
            padding: 2rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .pwa-comparison-col:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
        }

        .pwa-native {
            opacity: 0.85;
        }

        .pwa-progressive {
            border: 2px solid #8B5CF6;
            position: relative;
        }

        .pwa-comparison-header {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 2rem;
            padding-bottom: 1.5rem;
            border-bottom: 2px solid #E5E7EB;
        }

        .pwa-comparison-header.pwa-highlight {
            border-bottom-color: #8B5CF6;
        }

        .pwa-comparison-header svg {
            width: 28px;
            height: 28px;
            flex-shrink: 0;
        }

        .pwa-native .pwa-comparison-header svg {
            color: #DC2626;
        }

        .pwa-progressive .pwa-comparison-header svg {
            color: #10B981;
        }

        .pwa-comparison-header h3 {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--text-dark);
            margin: 0;
        }

        .pwa-recommended {
            margin-left: auto;
            padding: 0.375rem 0.75rem;
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
            color: white;
            font-size: 0.75rem;
            font-weight: 600;
            border-radius: 20px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .pwa-comparison-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .pwa-comparison-list li {
            display: flex;
            gap: 1rem;
            align-items: flex-start;
        }

        .pwa-comparison-icon {
            font-size: 1.5rem;
            flex-shrink: 0;
            line-height: 1;
        }

        .pwa-comparison-list li div {
            flex: 1;
        }

        .pwa-comparison-list strong {
            display: block;
            font-size: 1.125rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.25rem;
        }

        .pwa-comparison-list p {
            font-size: 0.9375rem;
            color: var(--text-muted);
            margin: 0;
            line-height: 1.5;
        }

        /* Devices section */
        .pwa-devices-section {
            text-align: center;
        }

        .pwa-devices-title {
            font-size: clamp(1.5rem, 3vw, 2rem);
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.75rem;
        }

        .pwa-devices-subtitle {
            font-size: 1.125rem;
            color: var(--text-muted);
            margin-bottom: 3rem;
        }

        .pwa-badge {
            display: inline-block;
            padding: 0.5rem 1rem;
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
            color: white;
            font-size: 0.8125rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            border-radius: 50px;
            margin-bottom: 1.5rem;
        }

        .pwa-branding-header h2 {
            font-size: clamp(2rem, 4vw, 2.75rem);
            font-weight: 800;
            color: var(--text-dark);
            margin-bottom: 1rem;
            line-height: 1.2;
        }

        .pwa-subtitle {
            font-size: 1.125rem;
            color: var(--text-muted);
            max-width: 700px;
            margin: 0 auto;
            line-height: 1.6;
        }

        /* Multi-device showcase */
        .pwa-devices-showcase {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2.5rem;
            max-width: 900px;
            margin: 0 auto;
        }

        /* Device clean cards */
        .pwa-device-clean {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            padding: 2.5rem 2rem;
            background: white;
            border-radius: 20px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
            transition: all 0.3s ease;
            border: 2px solid transparent;
        }

        .pwa-device-clean:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 40px rgba(139, 92, 246, 0.15);
            border-color: #8B5CF6;
        }

        .pwa-device-highlighted {
            border-color: #8B5CF6;
            background: linear-gradient(135deg, #FAFAFA 0%, #FFFFFF 100%);
        }

        .pwa-device-icon {
            width: 120px;
            height: 120px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 100%);
            border-radius: 24px;
            margin-bottom: 1.5rem;
            position: relative;
            transition: all 0.3s ease;
        }

        .pwa-device-clean:hover .pwa-device-icon {
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
        }

        .pwa-device-icon svg {
            width: 56px;
            height: 56px;
            color: #8B5CF6;
            transition: color 0.3s ease;
        }

        .pwa-device-clean:hover .pwa-device-icon svg {
            color: white;
        }

        .pwa-install-badge {
            position: absolute;
            top: -8px;
            right: -8px;
            width: 36px;
            height: 36px;
            background: linear-gradient(135deg, #10B981 0%, #059669 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
            animation: pwa-badge-pulse 2s ease-in-out infinite;
        }

        @keyframes pwa-badge-pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.1); }
        }

        .pwa-install-badge svg {
            width: 20px;
            height: 20px;
            color: white;
        }

        .pwa-device-clean h4 {
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.75rem;
        }

        .pwa-device-clean p {
            font-size: 0.9375rem;
            color: var(--text-muted);
            line-height: 1.6;
            margin: 0;
        }

        .pwa-device-frame {
            background: white;
            border-radius: 20px;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
            position: relative;
            transition: transform 0.3s ease;
        }

        .pwa-device-frame:hover {
            transform: translateY(-8px);
        }

        /* Desktop device */
        .pwa-desktop .pwa-device-frame {
            width: 100%;
            max-width: 380px;
            aspect-ratio: 16/10;
            border-radius: 12px 12px 0 0;
        }

        .pwa-screen-bar {
            background: #F3F4F6;
            border-radius: 12px 12px 0 0;
            padding: 0.75rem 1rem;
            border-bottom: 1px solid #E5E7EB;
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .pwa-screen-dots {
            display: flex;
            gap: 0.5rem;
        }

        .pwa-screen-dots span {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: #D1D5DB;
        }

        .pwa-url-bar {
            flex: 1;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            background: white;
            padding: 0.5rem 0.75rem;
            border-radius: 6px;
            border: 1px solid #E5E7EB;
        }

        .pwa-url-bar svg {
            width: 16px;
            height: 16px;
            color: #10B981;
        }

        .pwa-url-bar span {
            font-size: 0.8125rem;
            color: #6B7280;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .pwa-screen-content {
            width: 100%;
            height: 100%;
            position: relative;
            overflow: hidden;
        }

        /* Screenshot images */
        .pwa-screenshot {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: center;
            display: block;
        }

        /* Spécifique pour desktop - montrer plus de hauteur */
        .pwa-desktop .pwa-screenshot {
            object-fit: cover;
            object-position: top center;
        }

        /* Spécifique pour tablette - centré */
        .pwa-tablet .pwa-screenshot {
            object-fit: cover;
            object-position: center;
        }

        /* Spécifique pour mobile - montrer le haut */
        .pwa-mobile .pwa-screenshot {
            object-fit: cover;
            object-position: top center;
        }

        /* Tablet device */
        .pwa-tablet .pwa-device-frame {
            width: 100%;
            max-width: 280px;
            aspect-ratio: 3/4;
            border-radius: 20px;
            overflow: hidden;
        }

        .pwa-tablet-camera {
            width: 10px;
            height: 10px;
            background: #1F2937;
            border-radius: 50%;
            position: absolute;
            top: 12px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 10;
        }

        .pwa-tablet .pwa-screen-content {
            flex-direction: column;
        }

        .pwa-tablet-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 1rem 1rem 0.75rem;
            border-bottom: 1px solid #E5E7EB;
            background: white;
        }

        .pwa-tablet-header span {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .pwa-search-icon {
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #F3F4F6;
            border-radius: 50%;
        }

        .pwa-search-icon svg {
            width: 16px;
            height: 16px;
            color: #6B7280;
        }

        .pwa-tablet-body {
            padding: 1rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;
            background: #F9FAFB;
            flex: 1;
        }

        /* Feed post */
        .pwa-feed-post {
            background: white;
            padding: 1rem;
            border-radius: 10px;
            border: 1px solid #E5E7EB;
        }

        .pwa-post-header {
            display: flex;
            gap: 0.75rem;
            margin-bottom: 0.75rem;
        }

        .pwa-post-avatar {
            width: 40px;
            height: 40px;
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
            border-radius: 50%;
            flex-shrink: 0;
        }

        .pwa-post-author {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
        }

        .pwa-author-name {
            height: 10px;
            background: #D1D5DB;
            border-radius: 4px;
            width: 100px;
        }

        .pwa-post-time {
            height: 8px;
            background: #E5E7EB;
            border-radius: 4px;
            width: 60px;
        }

        .pwa-post-content {
            height: 10px;
            background: #F3F4F6;
            border-radius: 4px;
            width: 100%;
            margin-bottom: 0.5rem;
        }

        .pwa-post-content.short {
            width: 70%;
        }

        .pwa-event-card {
            display: flex;
            gap: 1rem;
            padding: 1rem;
            background: white;
            border-radius: 10px;
            border: 1px solid #E5E7EB;
        }

        .pwa-event-date {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
            color: white;
            border-radius: 8px;
            padding: 0.5rem;
            min-width: 50px;
            flex-shrink: 0;
        }

        .pwa-event-date span:first-child {
            font-size: 1.25rem;
            font-weight: 700;
            line-height: 1;
        }

        .pwa-event-date span:last-child {
            font-size: 0.625rem;
            font-weight: 600;
            opacity: 0.9;
            margin-top: 0.125rem;
        }

        .pwa-event-info {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            justify-content: center;
        }

        .pwa-event-title {
            height: 12px;
            background: #D1D5DB;
            border-radius: 4px;
            width: 100%;
        }

        .pwa-event-location {
            height: 10px;
            background: #E5E7EB;
            border-radius: 4px;
            width: 80%;
        }

        /* Mobile device */
        .pwa-mobile .pwa-device-frame {
            width: 100%;
            max-width: 220px;
            aspect-ratio: 9/19;
            border-radius: 32px;
            overflow: hidden;
            position: relative;
        }

        .pwa-mobile-notch {
            width: 100px;
            height: 24px;
            background: white;
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            border-radius: 0 0 20px 20px;
            z-index: 10;
        }

        .pwa-mobile .pwa-screen-content {
            flex-direction: column;
        }

        .pwa-mobile-content {
            flex: 1;
            background: #F9FAFB;
            padding: 1rem;
            overflow: hidden;
        }

        .pwa-mobile-top-bar {
            display: flex;
            justify-content: space-between;
            margin-bottom: 1rem;
        }

        .pwa-top-bar-icon {
            width: 32px;
            height: 32px;
            background: white;
            border-radius: 8px;
            border: 1px solid #E5E7EB;
        }

        .pwa-mobile-card {
            background: white;
            padding: 1rem;
            border-radius: 10px;
            margin-bottom: 0.75rem;
            border: 1px solid #E5E7EB;
        }

        .pwa-card-header {
            display: flex;
            gap: 0.75rem;
            margin-bottom: 0.75rem;
        }

        .pwa-card-avatar {
            width: 36px;
            height: 36px;
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
            border-radius: 50%;
            flex-shrink: 0;
        }

        .pwa-card-info {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 0.375rem;
        }

        .pwa-card-name {
            height: 10px;
            background: #D1D5DB;
            border-radius: 4px;
            width: 100px;
        }

        .pwa-card-subtitle {
            height: 8px;
            background: #E5E7EB;
            border-radius: 4px;
            width: 70px;
        }

        .pwa-card-body {
            height: 12px;
            background: #F3F4F6;
            border-radius: 4px;
            width: 100%;
        }

        .pwa-card-body.short {
            width: 75%;
            margin-top: 0.5rem;
        }

        /* Navigation en bas comme mobile */
        .pwa-mobile-bottom-nav {
            display: flex;
            justify-content: space-around;
            align-items: center;
            padding: 0.75rem 1rem;
            background: white;
            border-top: 1px solid #E5E7EB;
        }

        .pwa-nav-icon {
            width: 40px;
            height: 32px;
            background: #E5E7EB;
            border-radius: 8px;
        }

        .pwa-nav-icon.active {
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
        }

        .pwa-install-prompt {
            position: absolute;
            bottom: 1.5rem;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            padding: 0.625rem 1.25rem;
            border-radius: 20px;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            animation: pwa-install-bounce 2s ease-in-out infinite;
        }

        @keyframes pwa-install-bounce {
            0%, 100% { transform: translateX(-50%) translateY(0); }
            50% { transform: translateX(-50%) translateY(-4px); }
        }

        .pwa-install-prompt svg {
            width: 18px;
            height: 18px;
            color: #8B5CF6;
        }

        .pwa-install-prompt span {
            font-size: 0.875rem;
            font-weight: 600;
            color: #1F2937;
        }

        .pwa-device-label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            color: var(--text-muted);
            font-weight: 500;
        }

        .pwa-device-label svg {
            width: 18px;
            height: 18px;
            color: #8B5CF6;
        }

        /* Benefits row */
        .pwa-benefits-row {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 2rem;
            margin-bottom: 3rem;
        }

        .pwa-benefit-item {
            text-align: center;
        }

        .pwa-benefit-icon-circle {
            width: 64px;
            height: 64px;
            background: linear-gradient(135deg, #EDE9FE 0%, #DBEAFE 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
            transition: all 0.3s ease;
        }

        .pwa-benefit-item:hover .pwa-benefit-icon-circle {
            transform: scale(1.1);
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
        }

        .pwa-benefit-icon-circle svg {
            width: 28px;
            height: 28px;
            color: #8B5CF6;
            transition: color 0.3s ease;
        }

        .pwa-benefit-item:hover .pwa-benefit-icon-circle svg {
            color: white;
        }

        .pwa-benefit-item h4 {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
        }

        .pwa-benefit-item p {
            font-size: 0.875rem;
            color: var(--text-muted);
            line-height: 1.5;
        }

        /* Responsive design for PWA section */
        @media (max-width: 1024px) {
            .pwa-comparison {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }

            .pwa-devices-showcase {
                grid-template-columns: 1fr;
                gap: 2rem;
            }
        }

        @media (max-width: 768px) {
            .pwa-branding-section {
                padding: 4rem 1.5rem;
            }

            .pwa-branding-header h2 {
                font-size: 1.75rem;
            }

            .pwa-subtitle {
                font-size: 1rem;
            }

            .pwa-comparison {
                margin-bottom: 3rem;
            }

            .pwa-comparison-col {
                padding: 1.5rem;
            }

            .pwa-comparison-header h3 {
                font-size: 1.25rem;
            }

            .pwa-comparison-list strong {
                font-size: 1rem;
            }

            .pwa-comparison-list p {
                font-size: 0.875rem;
            }

            .pwa-desktop .pwa-device-frame {
                max-width: 320px;
            }

            .pwa-tablet .pwa-device-frame {
                max-width: 240px;
            }

            .pwa-mobile .pwa-device-frame {
                max-width: 200px;
            }
        }

        @media (max-width: 480px) {
            .pwa-branding-section {
                padding: 3rem 1rem;
            }

            .pwa-branding-header h2 {
                font-size: 1.5rem;
            }

            .pwa-badge {
                font-size: 0.75rem;
                padding: 0.375rem 0.75rem;
            }

            .pwa-devices-showcase {
                gap: 2rem;
            }

            .pwa-desktop .pwa-device-frame {
                max-width: 280px;
            }

            .pwa-tablet .pwa-device-frame {
                max-width: 200px;
            }

            .pwa-mobile .pwa-device-frame {
                max-width: 180px;
            }

            .pwa-screen-bar {
                padding: 0.5rem 0.75rem;
            }

            .pwa-url-bar span {
                font-size: 0.75rem;
            }

            .pwa-device-label span {
                font-size: 0.875rem;
            }

            .pwa-benefit-icon-circle {
                width: 56px;
                height: 56px;
            }

            .pwa-benefit-icon-circle svg {
                width: 24px;
                height: 24px;
            }

            .pwa-cta-content h3 {
                font-size: 1.125rem;
            }

            .pwa-cta-content p {
                font-size: 0.875rem;
            }
        }

        /* Keep existing CTA styles */
        .pwa-showcase {
            display: none; /* Hide old showcase */
        }

        /* Left side: Phone mockup */
        .pwa-mockup-wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1.5rem;
        }

        .pwa-phone-frame {
            width: 320px;
            height: 640px;
            background: #1F2937;
            border-radius: 45px;
            padding: 12px;
            box-shadow:
                0 0 0 12px #374151,
                0 30px 80px rgba(0, 0, 0, 0.25),
                inset 0 0 0 1px rgba(255, 255, 255, 0.1);
            position: relative;
            animation: pwa-float 6s ease-in-out infinite;
        }

        @keyframes pwa-float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
        }

        .pwa-phone-notch {
            position: absolute;
            top: 12px;
            left: 50%;
            transform: translateX(-50%);
            width: 140px;
            height: 28px;
            background: #1F2937;
            border-radius: 0 0 20px 20px;
            z-index: 10;
        }

        .pwa-phone-screen {
            width: 100%;
            height: 100%;
            background: #FFFFFF;
            border-radius: 36px;
            overflow: hidden;
            position: relative;
        }

        /* Home screen */
        .pwa-home-screen {
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #667EEA 0%, #764BA2 100%);
            padding: 3rem 2rem 2rem;
            position: absolute;
            top: 0;
            left: 0;
            animation: pwa-screen-out 5s ease-in-out infinite;
            opacity: 1;
        }

        @keyframes pwa-screen-out {
            0%, 30% { opacity: 1; transform: scale(1); }
            40%, 100% { opacity: 0; transform: scale(0.95); }
        }

        .pwa-app-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem;
            margin-top: 2rem;
        }

        .pwa-app-icon {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
            opacity: 0.5;
            transition: all 0.3s ease;
        }

        .pwa-app-icon.featured {
            opacity: 1;
            transform: scale(1.1);
        }

        .pwa-icon-placeholder {
            width: 65px;
            height: 65px;
            background: rgba(255, 255, 255, 0.3);
            border-radius: 16px;
            backdrop-filter: blur(10px);
        }

        .pwa-icon-branded {
            width: 70px;
            height: 70px;
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
            border-radius: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 8px 20px rgba(139, 92, 246, 0.4);
            color: white;
        }

        .pwa-icon-branded svg {
            width: 36px;
            height: 36px;
        }

        .pwa-app-icon span {
            font-size: 0.75rem;
            color: white;
            font-weight: 500;
        }

        .pwa-app-name {
            font-weight: 600 !important;
        }

        .pwa-home-indicator {
            position: absolute;
            bottom: 0.5rem;
            left: 50%;
            transform: translateX(-50%);
            width: 120px;
            height: 4px;
            background: rgba(255, 255, 255, 0.5);
            border-radius: 10px;
        }

        /* App opened */
        .pwa-app-opened {
            width: 100%;
            height: 100%;
            background: white;
            position: absolute;
            top: 0;
            left: 0;
            animation: pwa-screen-in 5s ease-in-out infinite;
            opacity: 0;
        }

        @keyframes pwa-screen-in {
            0%, 40% { opacity: 0; transform: scale(1.05); }
            50%, 100% { opacity: 1; transform: scale(1); }
        }

        .pwa-app-header {
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
            padding: 1rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            color: white;
        }

        .pwa-app-logo-small {
            width: 40px;
            height: 40px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            backdrop-filter: blur(10px);
        }

        .pwa-app-logo-small svg {
            width: 22px;
            height: 22px;
        }

        .pwa-app-title {
            font-size: 1rem;
            font-weight: 600;
        }

        .pwa-app-content {
            padding: 1.5rem 1rem;
        }

        .pwa-content-placeholder {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .pwa-nav-item {
            height: 60px;
            background: #F3F4F6;
            border-radius: 8px;
            opacity: 0.5;
        }

        .pwa-nav-item.active {
            opacity: 1;
            background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(99, 102, 241, 0.1) 100%);
        }

        .pwa-mockup-label {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            font-size: 0.875rem;
            color: var(--text-muted);
        }

        .pwa-badge-small {
            padding: 0.25rem 0.625rem;
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
            color: white;
            font-size: 0.75rem;
            font-weight: 600;
            border-radius: 6px;
        }

        /* Right side: Config & Benefits */
        .pwa-features-wrapper {
            display: flex;
            flex-direction: column;
            gap: 2rem;
        }

        .pwa-config-preview {
            background: white;
            border-radius: 16px;
            padding: 2rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            border: 1px solid #E5E7EB;
        }

        .pwa-config-header {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1.5rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid #E5E7EB;
        }

        .pwa-config-header svg {
            width: 24px;
            height: 24px;
            color: #8B5CF6;
        }

        .pwa-config-header span {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .pwa-config-controls {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .pwa-control-item {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .pwa-control-label {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .pwa-upload-box {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 1.5rem;
            background: #F9FAFB;
            border: 2px dashed #D1D5DB;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .pwa-upload-box:hover {
            background: #F3F4F6;
            border-color: #8B5CF6;
        }

        .pwa-upload-box svg {
            width: 20px;
            height: 20px;
            color: #6B7280;
        }

        .pwa-upload-box span {
            font-size: 0.875rem;
            color: #6B7280;
        }

        .pwa-color-picker {
            display: flex;
            gap: 0.75rem;
        }

        .pwa-color-sample {
            width: 50px;
            height: 50px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
            border: 3px solid transparent;
        }

        .pwa-color-sample:hover {
            transform: scale(1.1);
        }

        .pwa-color-sample.active {
            border-color: var(--text-dark);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        }

        .pwa-name-input {
            width: 100%;
            padding: 0.75rem 1rem;
            background: #F9FAFB;
            border: 1px solid #D1D5DB;
            border-radius: 8px;
            font-size: 0.875rem;
            color: var(--text-dark);
        }

        /* Benefits cards */
        .pwa-benefits-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1rem;
        }

        .pwa-benefit-card {
            background: white;
            border-radius: 12px;
            padding: 1.5rem;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
            border: 1px solid #E5E7EB;
            transition: all 0.3s ease;
        }

        .pwa-benefit-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 24px rgba(139, 92, 246, 0.15);
            border-color: #8B5CF6;
        }

        .pwa-benefit-icon {
            width: 48px;
            height: 48px;
            background: linear-gradient(135deg, #EDE9FE 0%, #DBEAFE 100%);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1rem;
        }

        .pwa-benefit-icon svg {
            width: 24px;
            height: 24px;
            color: #8B5CF6;
        }

        .pwa-benefit-card h4 {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
        }

        .pwa-benefit-card p {
            font-size: 0.875rem;
            color: var(--text-muted);
            line-height: 1.5;
        }

        /* Bottom CTA */
        .pwa-cta-wrapper {
            margin-top: 3rem;
        }

        .pwa-cta-box {
            background: linear-gradient(135deg, #8B5CF6 0%, #6366F1 100%);
            border-radius: 20px;
            padding: 3rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
            box-shadow: 0 20px 60px rgba(139, 92, 246, 0.25);
        }

        .pwa-cta-content h3 {
            font-size: 1.5rem;
            font-weight: 700;
            color: white;
            margin-bottom: 0.5rem;
        }

        .pwa-cta-content p {
            font-size: 1rem;
            color: rgba(255, 255, 255, 0.9);
            line-height: 1.5;
        }

        .pwa-cta-box .btn {
            background: white;
            color: #8B5CF6;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .pwa-cta-box .btn:hover {
            background: #F9FAFB;
            transform: translateY(-2px);
        }

        /* ================================
           SECTION - Story / Founder
        ================================ */
        .story-section {
            padding: 5rem 2rem;
            background: #F8FAFC;
        }

        .story-container {
            max-width: 1100px;
            margin: 0 auto;
        }

        .story-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .story-title {
            font-size: clamp(1.75rem, 4vw, 2.25rem);
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.75rem;
            letter-spacing: -0.02em;
        }

        .story-subtitle {
            font-size: 1.125rem;
            color: var(--text-muted);
            max-width: 600px;
            margin: 0 auto;
        }

        .story-content {
            display: grid;
            grid-template-columns: 1fr;
            gap: 2rem;
        }

        /* Story Card - Compact design with founder inline */
        .story-card {
            background: white;
            border-radius: 20px;
            padding: 2.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            border: 1px solid #E2E8F0;
        }

        /* Founder Header - Larger photo with LinkedIn */
        .story-founder-header {
            display: flex;
            align-items: center;
            gap: 2rem;
            padding-bottom: 2.5rem;
            margin-bottom: 2.5rem;
            border-bottom: 2px solid #F1F5F9;
        }

        .story-founder-photo {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            overflow: hidden;
            border: 4px solid var(--primary);
            box-shadow: 0 6px 24px rgba(58, 183, 149, 0.25);
            flex-shrink: 0;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .story-founder-photo:hover {
            transform: scale(1.05);
            box-shadow: 0 8px 32px rgba(58, 183, 149, 0.35);
        }

        .story-founder-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .story-founder-info h3 {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
        }

        .story-founder-role {
            font-size: 1rem;
            color: var(--text-muted);
            font-weight: 500;
            margin-bottom: 0.25rem;
        }

        .story-founder-credentials {
            font-size: 0.875rem;
            color: var(--text-muted);
            font-weight: 400;
            margin-bottom: 0.75rem;
        }

        .story-founder-links {
            display: flex;
            align-items: center;
            gap: 1.25rem;
            flex-wrap: wrap;
        }

        .story-founder-linkedin {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            color: #0A66C2;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.2s ease;
        }

        .story-founder-linkedin:hover {
            color: #004182;
            gap: 0.625rem;
        }

        .story-founder-linkedin svg {
            width: 18px;
            height: 18px;
            fill: currentColor;
        }

        .story-founder-press {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            color: #2C3E50;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.2s ease;
            padding: 0.375rem 0.75rem;
            background: linear-gradient(135deg, #F8F9FA 0%, #E9ECEF 100%);
            border-radius: 8px;
            border: 1px solid #DEE2E6;
            cursor: pointer;
            font-family: inherit;
        }

        .story-founder-press:hover {
            color: #1A252F;
            gap: 0.625rem;
            background: linear-gradient(135deg, #E9ECEF 0%, #DEE2E6 100%);
            border-color: #CED4DA;
            box-shadow: 0 2px 8px rgba(44, 62, 80, 0.1);
        }

        .story-founder-press:active {
            transform: scale(0.98);
        }

        .story-founder-press svg {
            width: 18px;
            height: 18px;
            fill: currentColor;
        }

        /* Story Timeline - Compact blocks */
        .story-timeline {
            display: grid;
            gap: 2rem;
        }

        .story-block {
            position: relative;
            padding-left: 2rem;
        }

        .story-block::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0.5rem;
            width: 8px;
            height: 8px;
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
            border-radius: 50%;
            box-shadow: 0 0 0 3px rgba(255, 107, 74, 0.1);
        }

        .story-block h4 {
            font-size: 1.125rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.75rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .story-block h4 .badge-inline {
            display: inline-block;
            padding: 0.125rem 0.5rem;
            background: linear-gradient(135deg, #FF6B4A 0%, #FF8A6B 100%);
            color: white;
            font-size: 0.6875rem;
            font-weight: 700;
            border-radius: 100px;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .story-block p {
            font-size: 0.9375rem;
            line-height: 1.7;
            color: var(--text-muted);
            margin-bottom: 0.75rem;
        }

        .story-list {
            list-style: none;
            padding: 0;
            margin: 0.75rem 0;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 0.5rem;
        }

        .story-list li {
            position: relative;
            padding-left: 1.25rem;
            font-size: 0.875rem;
            line-height: 1.5;
            color: var(--text-muted);
        }

        .story-list li::before {
            content: "✓";
            position: absolute;
            left: 0;
            color: var(--primary);
            font-weight: 700;
            font-size: 0.875rem;
        }

        .story-list-compact {
            grid-template-columns: 1fr 1fr;
        }

        /* Story Footer - Compact CTA */
        .story-footer {
            margin-top: 2rem;
            padding-top: 2rem;
            border-top: 2px solid #F1F5F9;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
        }

        .story-footer-text {
            display: flex;
            flex-wrap: wrap;
            gap: 1.5rem;
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .story-footer-text span {
            display: flex;
            align-items: center;
            gap: 0.375rem;
        }

        .story-footer-text span::before {
            content: "✓";
            color: var(--primary);
            font-weight: 700;
        }

        .story-cta-button {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.875rem 1.75rem;
            background: linear-gradient(135deg, var(--primary) 0%, #2D9B7A 100%);
            color: white;
            font-weight: 600;
            font-size: 0.9375rem;
            text-decoration: none;
            border-radius: 12px;
            box-shadow: 0 4px 16px rgba(58, 183, 149, 0.25);
            transition: all 0.3s ease;
            white-space: nowrap;
        }

        .story-cta-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(58, 183, 149, 0.35);
        }

        /* ================================
           SECTION - Pricing
        ================================ */
        .pricing-section {
            padding: 6rem 2rem;
            background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
        }

        .pricing-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .pricing-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .pricing-header h2 {
            font-size: clamp(2rem, 4vw, 2.75rem);
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
        }

        .pricing-header p {
            font-size: 1.125rem;
            color: var(--text-muted);
            max-width: 600px;
            margin: 0 auto;
        }

        .pricing-badge {
            display: inline-block;
            background: rgba(58, 183, 149, 0.1);
            color: var(--primary);
            padding: 0.5rem 1rem;
            border-radius: 20px;
            font-size: 0.875rem;
            font-weight: 600;
            margin-bottom: 1rem;
        }

        .pricing-subtitle {
            font-size: 1.125rem;
            color: var(--text-muted);
        }

        .pricing-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            align-items: stretch;
        }

        /* Mobile pricing cards - completely redesigned */
        .pricing-mobile-cards {
            display: none;
        }

        @media (max-width: 768px) {
            /* Hide table on mobile */
            .pricing-table-wrapper {
                display: none;
            }

            .pricing-table-ctas {
                display: flex;
                flex-direction: column;
                gap: 0.75rem;
                padding: 0 1.25rem;
            }

            .pricing-table-cta-btn {
                flex: 0 0 auto;
                width: 100%;
                min-height: 0;
                height: auto;
                padding: 0.95rem 1.25rem;
                justify-content: center;
            }

            /* Show mobile cards */
            .pricing-mobile-cards {
                display: flex;
                flex-direction: column;
                gap: 1.25rem;
                margin-bottom: 2rem;
            }

            .pricing-section {
                padding: 3rem 1rem;
            }

            .pricing-header {
                margin-bottom: 2rem;
            }

            .pricing-header h2 {
                font-size: 1.75rem;
                line-height: 1.2;
            }

            .pricing-header p {
                font-size: 0.9375rem;
            }

            .pricing-badge {
                font-size: 0.8125rem;
                padding: 0.375rem 0.875rem;
            }
        }

        .pricing-mobile-card {
            background: white;
            border-radius: 16px;
            padding: 1.75rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            border: 2px solid #E2E8F0;
        }

        .pricing-mobile-card.featured {
            border-color: var(--primary);
            box-shadow: 0 8px 30px rgba(58, 183, 149, 0.15);
            position: relative;
        }

        .pricing-mobile-card-header {
            text-align: center;
            padding-bottom: 1.5rem;
            border-bottom: 2px solid #F1F5F9;
            margin-bottom: 1.5rem;
        }

        .pricing-mobile-recommended {
            background: var(--primary);
            color: white;
            padding: 0.375rem 1rem;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            display: inline-flex;
            align-items: center;
            gap: 0.375rem;
            margin-bottom: 0.875rem;
        }

        .pricing-mobile-card-header .pricing-plan-badge {
            display: inline-block;
            margin-bottom: 0.75rem;
        }

        .pricing-mobile-plan-target {
            font-size: 0.875rem;
            color: var(--text-muted);
            margin-bottom: 1rem;
        }

        .pricing-mobile-price {
            margin-bottom: 0.5rem;
        }

        .pricing-mobile-price .pricing-amount {
            font-size: 2.75rem;
            font-weight: 800;
            color: var(--text-dark);
            letter-spacing: -0.02em;
        }

        .pricing-mobile-price .pricing-period {
            font-size: 1rem;
            color: var(--text-muted);
        }

        .pricing-mobile-daily {
            font-size: 0.8125rem;
            color: var(--text-muted);
        }

        .pricing-mobile-features {
            margin-bottom: 1.5rem;
        }

        .pricing-mobile-category {
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            color: var(--text-muted);
            letter-spacing: 0.05em;
            margin-top: 1.25rem;
            margin-bottom: 0.625rem;
        }

        .pricing-mobile-category:first-child {
            margin-top: 0;
        }

        .pricing-mobile-feature {
            display: flex;
            align-items: flex-start;
            gap: 0.625rem;
            padding: 0.5rem 0;
            font-size: 0.875rem;
            color: var(--text-dark);
        }

        .pricing-mobile-feature svg {
            flex-shrink: 0;
            width: 18px;
            height: 18px;
            fill: var(--primary);
            margin-top: 2px;
        }

        .pricing-mobile-feature-title {
            font-weight: 600;
            margin-bottom: 0.125rem;
        }

        .pricing-mobile-feature.radar-highlight {
            background: linear-gradient(135deg, rgba(52, 129, 210, 0.08), rgba(96, 165, 250, 0.08));
            border-radius: 10px;
            padding: 0.6rem 0.75rem;
            border: 1px solid rgba(52, 129, 210, 0.18);
            position: relative;
        }
        .pricing-mobile-feature.radar-highlight::before {
            content: "";
            position: absolute;
            top: 0.6rem;
            bottom: 0.6rem;
            left: 0;
            width: 3px;
            background: linear-gradient(180deg, #3481d2, #60a5fa);
            border-radius: 0 3px 3px 0;
        }
        .pricing-mobile-feature.radar-highlight .pricing-mobile-feature-title {
            color: #0F172A;
            font-weight: 700;
        }
        .pricing-mobile-feature.radar-highlight svg {
            color: #3481d2;
        }

        .pricing-mobile-feature-desc {
            font-size: 0.8125rem;
            color: var(--text-muted);
            line-height: 1.4;
        }

        .pricing-mobile-cta {
            margin-top: auto;
        }

        .pricing-mobile-cta .btn {
            width: 100%;
            justify-content: center;
            padding: 1rem 2rem;
            font-size: 1rem;
            min-height: 48px;
            border-radius: 12px;
            font-weight: 600;
        }

        @media (max-width: 480px) {
            .pricing-mobile-card {
                padding: 1.5rem;
            }

            .pricing-mobile-price .pricing-amount {
                font-size: 2.25rem;
            }
        }

        .pricing-card {
            background: #FFFFFF;
            border: 1px solid #E2E8F0;
            border-radius: 16px;
            padding: 2.5rem;
            display: flex;
            flex-direction: column;
            transition: all 0.3s ease;
            position: relative;
        }

        .pricing-card:hover {
            border-color: var(--primary);
            box-shadow: 0 20px 60px rgba(58, 183, 149, 0.1);
            transform: translateY(-4px);
        }

        .pricing-card-featured {
            border: 2px solid var(--primary);
            box-shadow: 0 20px 60px rgba(58, 183, 149, 0.15);
            transform: scale(1.02);
        }

        .pricing-card-featured:hover {
            transform: scale(1.02) translateY(-4px);
        }

        .pricing-recommended {
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%);
            background: var(--primary);
            color: white;
            padding: 0.375rem 1rem;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .pricing-card-header {
            margin-bottom: 1.5rem;
        }

        .pricing-plan-badge {
            display: inline-block;
            padding: 0.375rem 0.75rem;
            border-radius: 6px;
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-bottom: 1rem;
        }

        .pricing-plan-badge.starter {
            background: rgba(134, 239, 172, 0.15);
            color: #15803d;
            border: 1px solid rgba(134, 239, 172, 0.3);
        }

        .pricing-plan-badge.pro {
            background: rgba(58, 183, 149, 0.15);
            color: #0f766e;
            border: 1px solid var(--primary);
        }

        .pricing-plan-badge.premium {
            background: rgba(251, 146, 60, 0.1);
            color: #c2410c;
            border: 1px solid rgba(251, 146, 60, 0.3);
        }

        .pricing-card-body {
            flex-grow: 1;
        }

        .pricing-description {
            font-size: 0.9375rem;
            color: var(--text-muted);
            line-height: 1.5;
        }

        .pricing-ideal {
            font-size: 0.8125rem;
            color: var(--text-muted);
            font-style: italic;
            margin-bottom: 1rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid #E2E8F0;
        }

        .pricing-includes {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.75rem;
        }

        .pricing-feature {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            padding: 0.5rem 0;
            font-size: 0.9375rem;
            color: var(--text-dark);
        }

        .pricing-feature.highlighted {
            font-weight: 600;
            color: var(--primary);
        }

        .pricing-feature.highlighted svg {
            fill: var(--primary);
        }

        .pricing-card-footer {
            margin-top: 1.5rem;
            padding-top: 1.5rem;
            border-top: 1px solid #E2E8F0;
        }

        .btn-block {
            width: 100%;
            display: flex;
            justify-content: center;
        }

        .pricing-footer {
            text-align: center;
            margin-top: 3rem;
            padding-top: 2rem;
            border-top: 1px solid #E2E8F0;
        }

        .pricing-footer p {
            font-size: 0.9375rem;
            color: var(--text-muted);
        }

        .pricing-plan-name {
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
        }

        .pricing-plan-description {
            font-size: 0.875rem;
            color: var(--text-muted);
            margin-bottom: 1.5rem;
            min-height: 40px;
        }

        .pricing-price {
            margin-bottom: 1.5rem;
        }

        .pricing-amount {
            font-size: 3rem;
            font-weight: 800;
            color: var(--text-dark);
            letter-spacing: -0.03em;
        }

        .pricing-currency {
            font-size: 1.5rem;
            font-weight: 600;
            vertical-align: super;
        }

        .pricing-period {
            font-size: 1rem;
            color: var(--text-muted);
            font-weight: 400;
        }

        .pricing-features {
            list-style: none;
            padding: 0;
            margin: 0 0 2rem 0;
            flex-grow: 1;
        }

        .pricing-features li {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            padding: 0.625rem 0;
            font-size: 0.9375rem;
            color: var(--text-dark);
            border-bottom: 1px solid #F1F5F9;
        }

        .pricing-features li:last-child {
            border-bottom: none;
        }

        .pricing-features li svg {
            flex-shrink: 0;
            width: 20px;
            height: 20px;
            fill: var(--primary);
            margin-top: 2px;
        }

        /* Missing features styling */
        .pricing-missing-label {
            font-size: 0.8125rem;
            font-weight: 600;
            color: var(--text-muted);
            margin: 1rem 0 0.5rem 0;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .pricing-features-missing {
            margin-bottom: 1rem;
        }

        .pricing-features-missing li {
            opacity: 0.6;
        }

        .pricing-feature-disabled span {
            color: var(--text-muted);
            text-decoration: line-through;
            text-decoration-color: rgba(0, 0, 0, 0.2);
        }

        .pricing-feature-disabled svg {
            fill: #CBD5E1 !important;
        }

        .pricing-cta {
            margin-top: auto;
        }

        .pricing-cta .btn {
            width: 100%;
            justify-content: center;
        }

        .pricing-card-featured .pricing-cta .btn {
            background: var(--primary);
            color: white;
        }

        .pricing-card-featured .pricing-cta .btn:hover {
            background: #2DA882;
        }

        /* Pricing Table */
        .pricing-table-wrapper {
            width: 100%;
            overflow-x: auto;
            margin: 5.5rem 0 3rem;
            background: transparent;
            border-radius: 16px;
            position: relative;
            padding-top: 2rem;
            -webkit-overflow-scrolling: touch;
        }

        .pricing-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0;
            min-width: 700px;
            background: white;
            border-radius: 16px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
        }

        .pricing-table thead tr {
            border-bottom: 2px solid #E2E8F0;
        }

        .pricing-table thead th {
            background: white;
            padding: 1.5rem 1rem;
            vertical-align: top;
        }

        .pricing-table-feature-col {
            width: 40%;
            text-align: left;
            padding: 0;
            background: white;
        }

        .pricing-table-plan-col {
            width: 20%;
            vertical-align: top;
            padding: 0;
            position: relative;
            border-left: 1px solid #E8EDF2;
            background: white;
        }

        .pricing-table-plan-col:first-of-type {
            border-left: none;
        }

        /* Plan Starter - Teinte verte subtile */
        .pricing-table-plan-col:nth-of-type(2) {
            background: rgba(134, 239, 172, 0.12);
        }

        /* Plan Pro - Featured avec effet carte élevée */
        .pricing-table-plan-col:nth-of-type(3) {
            background: white;
            border-left: 2px solid var(--primary);
            border-right: 2px solid var(--primary);
            position: relative;
            box-shadow: 0 12px 40px rgba(16, 185, 129, 0.15), 0 0 0 1px var(--primary);
            z-index: 10;
        }

        .pricing-table-plan-col:nth-of-type(3)::before {
            content: '';
            position: absolute;
            top: 0;
            left: -2px;
            right: -2px;
            height: 5px;
            background: linear-gradient(135deg, var(--primary) 0%, #059669 100%);
        }

        /* Plan Premium - Teinte orange subtile */
        .pricing-table-plan-col:nth-of-type(4) {
            background: rgba(251, 146, 60, 0.08);
        }

        /* Badge Recommandé - BIEN AU-DESSUS */
        .pricing-table-recommended {
            position: absolute;
            top: -32px;
            left: 50%;
            transform: translateX(-50%);
            background: linear-gradient(135deg, var(--primary) 0%, #059669 100%);
            color: white;
            padding: 0.625rem 1.75rem;
            border-radius: 24px;
            font-size: 0.8125rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.2px;
            white-space: nowrap;
            z-index: 1000;
            box-shadow: 0 8px 24px rgba(16, 185, 129, 0.5), 0 2px 8px rgba(0, 0, 0, 0.12);
            border: 3px solid white;
        }

        /* Headers avec beaucoup d'espace */
        .pricing-table-plan-header {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 2.5rem 1.5rem 2.5rem;
            text-align: center;
            gap: 1rem;
        }

        .pricing-table-featured .pricing-table-plan-header {
            padding-top: 3.5rem;
        }

        .pricing-table-price {
            display: flex;
            align-items: baseline;
            gap: 0.25rem;
            margin: 0;
        }

        .pricing-table-price .pricing-amount {
            font-size: 3rem;
            font-weight: 800;
            color: var(--text-dark);
            line-height: 1;
        }

        .pricing-table-featured .pricing-table-price .pricing-amount {
            color: var(--primary);
        }

        .pricing-table-price .pricing-period {
            font-size: 1rem;
            color: var(--text-muted);
            font-weight: 500;
        }

        .pricing-table-ideal {
            font-size: 0.8125rem;
            color: var(--text-muted);
            margin: 0 0 1.5rem 0;
            line-height: 1.4;
            min-height: 2.8rem;
        }

        .pricing-table-plan-header .btn {
            width: 100%;
            max-width: 200px;
            padding: 0.625rem 1.25rem;
            font-size: 0.875rem;
        }

        .pricing-table tbody tr {
            border-bottom: 1px solid rgba(226, 232, 240, 0.3);
        }

        /* Hover effects with color coding */
        .pricing-table tbody tr:not(.pricing-table-category):hover td:first-child {
            background: #F8FAFC;
        }

        .pricing-table tbody tr:not(.pricing-table-category):hover td:nth-child(2) {
            background: rgba(134, 239, 172, 0.22);
        }

        .pricing-table tbody tr:not(.pricing-table-category):hover td:nth-child(3) {
            background: rgba(58, 183, 149, 0.08);
        }

        .pricing-table tbody tr:not(.pricing-table-category):hover td:nth-child(4) {
            background: rgba(251, 146, 60, 0.15);
        }

        .pricing-table-category td {
            background: transparent;
            padding: 0.5rem 1.5rem 0.25rem;
            font-weight: 600;
            font-size: 0.8125rem;
            color: #94A3B8;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            border-top: 1px solid #E2E8F0;
            border-bottom: none;
        }

        .pricing-table tbody tr:not(.pricing-table-category) td:first-child {
            padding: 0.75rem 1.25rem;
            font-size: 0.9375rem;
            color: var(--text-dark);
            background: white;
        }

        .pricing-table tbody tr:not(.pricing-table-category) td:not(:first-child) {
            text-align: center;
            padding: 0.75rem 0.75rem;
            vertical-align: middle;
        }

        /* Background colors for each plan column in tbody */
        .pricing-table tbody tr:not(.pricing-table-category) td:nth-child(2) {
            background: rgba(134, 239, 172, 0.12);
        }

        .pricing-table tbody tr:not(.pricing-table-category) td:nth-child(3) {
            background: white;
        }

        .pricing-table tbody tr:not(.pricing-table-category) td:nth-child(4) {
            background: rgba(251, 146, 60, 0.08);
        }

        /* Category rows should span all columns with same background */
        .pricing-table-category td:nth-child(2),
        .pricing-table-category td:nth-child(3),
        .pricing-table-category td:nth-child(4) {
            background: transparent !important;
            border-top: 1px solid #E2E8F0;
        }

        .pricing-check {
            width: 24px;
            height: 24px;
            fill: var(--primary);
            display: inline-block;
            filter: drop-shadow(0 1px 2px rgba(16, 185, 129, 0.2));
        }

        .pricing-cross {
            width: 20px;
            height: 20px;
            fill: #CBD5E1;
            display: inline-block;
            opacity: 0.5;
        }

        .pricing-cross-red {
            width: 22px;
            height: 22px;
            fill: #EF4444;
            display: inline-block;
            opacity: 0.85;
        }

        .pricing-feature-title {
            font-weight: 600;
            font-size: 0.875rem;
            color: var(--text-dark);
            margin-bottom: 0.15rem;
            line-height: 1.3;
        }

        .pricing-feature-desc {
            font-size: 0.8125rem;
            color: #64748B;
            line-height: 1.35;
        }

        .pricing-table-features-label {
            font-weight: 700;
            font-size: 0.75rem;
            color: #64748B;
            text-transform: uppercase;
            letter-spacing: 1px;
            padding: 1.5rem 2rem;
        }

        /* Pricing Table CTAs */
        .pricing-table-ctas {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 1.5rem;
            margin: 2.5rem auto 0;
            max-width: 900px;
            padding: 0 1.5rem;
        }

        .pricing-table-cta-btn {
            flex: 0 1 280px;
        }

        .pricing-table-cta-btn {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
            padding: 1.25rem 1.5rem;
            border-radius: 12px;
            text-decoration: none;
            transition: all 0.3s ease;
            border: 2px solid #E2E8F0;
            background: white;
        }

        .pricing-table-cta-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
        }

        .pricing-table-cta-btn .cta-label {
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: #64748B;
        }

        .pricing-table-cta-btn .cta-text {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .pricing-table-cta-btn.featured {
            border-color: var(--primary);
            background: linear-gradient(135deg, var(--primary) 0%, #059669 100%);
            box-shadow: 0 4px 16px rgba(16, 185, 129, 0.3);
        }

        .pricing-table-cta-btn.featured .cta-label,
        .pricing-table-cta-btn.featured .cta-text {
            color: white;
        }

        .pricing-table-cta-btn.featured:hover {
            box-shadow: 0 12px 32px rgba(16, 185, 129, 0.4);
            transform: translateY(-4px);
        }

        /* Nouveaux éléments de conversion */

        /* Call-out box aide */
        .pricing-help-callout {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
            padding: 1.25rem 2rem;
            background: linear-gradient(135deg, #F0FDF4 0%, #ECFDF5 100%);
            border: 2px solid var(--primary);
            border-radius: 16px;
            margin: 2.5rem auto;
            max-width: 600px;
            box-shadow: 0 4px 16px rgba(16, 185, 129, 0.1);
        }

        .callout-icon {
            font-size: 1.5rem;
            flex-shrink: 0;
        }

        .callout-text {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .callout-cta {
            padding: 0.75rem 1.5rem;
            background: var(--primary);
            color: white;
            border-radius: 8px;
            font-weight: 600;
            font-size: 0.9375rem;
            text-decoration: none;
            transition: all 0.3s ease;
            white-space: nowrap;
        }

        .callout-cta:hover {
            background: #059669;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
        }

        /* "Pour qui ?" target audience */
        .pricing-plan-target {
            display: block;
            font-size: 0.875rem;
            color: #64748B;
            font-weight: 500;
            margin-top: 0.5rem;
            font-style: italic;
        }

        /* Contexte prix quotidien */
        .pricing-daily-cost {
            font-size: 0.8125rem;
            color: #94A3B8;
            margin-top: 0.5rem;
            font-weight: 500;
        }

        /* Preuve sociale */
        .pricing-social-proof {
            font-size: 0.875rem;
            color: var(--primary);
            font-weight: 600;
            margin-top: 0.75rem;
            padding: 0.5rem 1rem;
            background: #F0FDF4;
            border-radius: 8px;
        }

        /* CTAs dans les headers */
        .pricing-header-cta {
            display: inline-block;
            margin-top: 1.25rem;
            padding: 0.875rem 2rem;
            background: white;
            color: var(--text-dark);
            border: 2px solid #E2E8F0;
            border-radius: 10px;
            font-weight: 600;
            font-size: 0.9375rem;
            text-decoration: none;
            transition: all 0.3s ease;
        }

        .pricing-header-cta:hover {
            border-color: var(--primary);
            color: var(--primary);
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
        }

        .pricing-header-cta.featured {
            background: linear-gradient(135deg, var(--primary) 0%, #059669 100%);
            color: white;
            border-color: var(--primary);
        }

        .pricing-header-cta.featured:hover {
            background: linear-gradient(135deg, #059669 0%, var(--primary) 100%);
            box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4);
        }

        /* Badge recommandé avec icône */
        .recommended-icon {
            font-size: 0.875rem;
            margin-right: 0.25rem;
        }

        /* Garantie footer */
        .pricing-guarantee {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1.5rem;
            margin-top: 1.5rem;
            padding: 1.25rem;
            background: #F8FAFC;
            border-radius: 12px;
            flex-wrap: wrap;
        }

        .guarantee-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.9375rem;
            color: var(--text-dark);
            font-weight: 500;
        }

        .guarantee-icon {
            font-size: 1.125rem;
        }

        .guarantee-separator {
            color: #CBD5E1;
            font-weight: 300;
        }

        /* Hiérarchie visuelle - Plan Pro scale + glow */
        .pricing-table-plan-col:nth-of-type(3) {
            background: white;
            border-left: 2px solid var(--primary);
            border-right: 2px solid var(--primary);
            position: relative;
            box-shadow:
                0 12px 40px rgba(16, 185, 129, 0.15),
                0 0 0 1px var(--primary),
                0 0 60px rgba(16, 185, 129, 0.08);
            z-index: 10;
            transform: scale(1.02);
        }

        /* Réduire légèrement l'opacité des plans non-featured */
        .pricing-table-plan-col:nth-of-type(2),
        .pricing-table-plan-col:nth-of-type(4) {
            opacity: 0.95;
            transition: opacity 0.3s ease;
        }

        .pricing-table-plan-col:nth-of-type(2):hover,
        .pricing-table-plan-col:nth-of-type(4):hover {
            opacity: 1;
        }

        /* Pricing responsive */
        @media (max-width: 1024px) {
            .pricing-grid {
                grid-template-columns: 1fr;
                max-width: 400px;
                margin: 0 auto;
            }

            .pricing-card-featured {
                transform: none;
                order: -1;
            }

            .pricing-card-featured:hover {
                transform: translateY(-4px);
            }
        }

        @media (max-width: 768px) {
            .pricing-section {
                padding: 4rem 1.5rem;
            }

            .pricing-card {
                padding: 2rem;
            }

            .pricing-amount {
                font-size: 2.5rem;
            }

            /* Pricing Table Mobile */
            .pricing-table {
                min-width: 650px;
            }

            .pricing-table-wrapper {
                margin: 2rem -1rem;
                border-radius: 0;
            }

            .pricing-table-plan-header {
                padding: 2rem 0.75rem 1.5rem;
            }

            .pricing-table-featured .pricing-table-plan-header {
                padding-top: 2.5rem;
            }

            .pricing-table-price .pricing-amount {
                font-size: 2rem;
            }

            .pricing-table-ideal {
                font-size: 0.75rem;
                min-height: 3.5rem;
            }

            .pricing-table-plan-header .btn {
                font-size: 0.8125rem;
                padding: 0.5rem 1rem;
            }

            .pricing-table tbody tr:not(.pricing-table-category) td:first-child {
                padding: 0.75rem 0.875rem;
                font-size: 0.8125rem;
                position: sticky;
                left: 0;
                background: white;
                z-index: 5;
            }

            .pricing-table tbody tr:hover td:first-child {
                background: #FAFBFC;
            }

            .pricing-table-category td {
                position: sticky;
                left: 0;
                z-index: 6;
                padding: 0.375rem 0.875rem 0.25rem;
                font-size: 0.75rem;
            }

            .pricing-table-ctas {
                flex-direction: column;
                gap: 0.75rem;
                margin: 2rem auto 0;
            }

            /* Badges plus petits sur mobile */
            .pricing-plan-badge {
                padding: 0.25rem 0.625rem;
                font-size: 0.6875rem;
            }
        }

        /* ================================
           SECTION - Membership/Cotisations
        ================================ */
        .membership-section {
            background: #FFFFFF;
            padding: 5rem 2rem;
        }

        .membership-container {
            max-width: 1100px;
            margin: 0 auto;
        }

        .membership-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .membership-badge {
            display: inline-block;
            background: linear-gradient(135deg, #10B981 0%, #059669 100%);
            color: white;
            padding: 0.5rem 1.25rem;
            border-radius: 50px;
            font-size: 0.875rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-bottom: 1.25rem;
        }

        .membership-header h2 {
            font-size: 2.25rem;
            font-weight: 800;
            color: var(--text-dark);
            margin-bottom: 1rem;
        }

        .membership-subtitle {
            font-size: 1.125rem;
            color: var(--text-muted);
            max-width: 600px;
            margin: 0 auto;
        }

        .membership-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
        }

        .membership-card {
            background: #F8FAFC;
            border-radius: 16px;
            padding: 2rem;
            text-align: center;
            transition: all 0.3s ease;
            border: 1px solid #E2E8F0;
        }

        .membership-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
            border-color: #CBD5E1;
        }

        .membership-card-icon {
            width: 64px;
            height: 64px;
            background: linear-gradient(135deg, #3B82F6 0%, #1D4ED8 100%);
            border-radius: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.5rem;
        }

        .membership-card-icon svg {
            width: 32px;
            height: 32px;
            color: white;
            stroke: white;
        }

        .membership-card h3 {
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 1rem;
        }

        .membership-card p {
            font-size: 0.9375rem;
            color: var(--text-muted);
            line-height: 1.6;
            margin-bottom: 1.5rem;
        }

        .membership-highlight {
            background: linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%);
            border-radius: 8px;
            padding: 0.75rem 1rem;
        }

        .membership-highlight span {
            font-size: 0.875rem;
            font-weight: 600;
            color: #1D4ED8;
        }

        @media (max-width: 900px) {
            .membership-grid {
                grid-template-columns: 1fr;
                max-width: 400px;
                margin: 0 auto;
            }
        }

        @media (max-width: 640px) {
            .membership-section {
                padding: 3rem 1rem;
            }

            .membership-header h2 {
                font-size: 1.75rem;
            }

            .membership-card {
                padding: 1.5rem;
            }
        }

        /* ================================
           SECTION - Getting Started (Visual Timeline)
        ================================ */
        .getting-started-section {
            background: linear-gradient(180deg, #F8FAFC 0%, #EEF2F6 100%);
            padding: 5rem 2rem;
        }

        .getting-started-container {
            max-width: 1100px;
            margin: 0 auto;
        }

        /* Header */
        .gs-header {
            text-align: center;
            margin-bottom: 3.5rem;
        }

        .gs-badge {
            display: inline-block;
            background: linear-gradient(135deg, #3AB795 0%, #2D9B7A 100%);
            color: white;
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            padding: 0.5rem 1rem;
            border-radius: 2rem;
            margin-bottom: 1rem;
        }

        .gs-header h2 {
            font-size: clamp(1.75rem, 4vw, 2.5rem);
            font-weight: 800;
            color: var(--text-dark);
            margin-bottom: 0.75rem;
            letter-spacing: -0.02em;
        }

        .gs-subtitle {
            font-size: 1.125rem;
            color: var(--text-muted);
            max-width: 500px;
            margin: 0 auto;
        }

        /* Timeline */
        .gs-timeline {
            display: flex;
            align-items: stretch;
            justify-content: center;
            gap: 0;
        }

        /* Step */
        .gs-step {
            flex: 1;
            max-width: 320px;
            background: white;
            border-radius: 20px;
            padding: 2rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
            border: 1px solid #E2E8F0;
            transition: all 0.3s ease;
            display: flex;
            flex-direction: column;
        }

        .gs-step:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 40px rgba(58, 183, 149, 0.15);
            border-color: var(--primary);
        }

        /* Step Visual (number + icon) */
        .gs-step-visual {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1.25rem;
        }

        .gs-step-number {
            width: 40px;
            height: 40px;
            background: linear-gradient(135deg, #3AB795 0%, #2D9B7A 100%);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            font-size: 1.125rem;
            color: white;
            flex-shrink: 0;
        }

        .gs-step-icon {
            width: 44px;
            height: 44px;
            background: rgba(58, 183, 149, 0.1);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .gs-step-icon svg {
            width: 24px;
            height: 24px;
            fill: var(--primary);
        }

        /* Step Content */
        .gs-step-content {
            margin-bottom: 1.5rem;
        }

        .gs-step-content h3 {
            font-size: 1.125rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
        }

        .gs-step-content p {
            font-size: 0.9375rem;
            color: var(--text-muted);
            line-height: 1.5;
        }

        /* Step Preview (mini mockups) */
        .gs-step-preview {
            margin-top: auto;
            background: #F8FAFC;
            border-radius: 12px;
            padding: 1rem;
            border: 1px solid #E2E8F0;
        }

        /* Mock Form */
        .gs-mock-form {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .mock-input {
            background: white;
            border: 1px solid #E2E8F0;
            border-radius: 8px;
            padding: 0.625rem 0.875rem;
            font-size: 0.75rem;
            color: #94A3B8;
        }

        .mock-input.filled {
            border-color: var(--primary);
            color: var(--text-dark);
            font-weight: 500;
        }

        .mock-btn {
            height: 32px;
            background: linear-gradient(135deg, #3AB795 0%, #2D9B7A 100%);
            border-radius: 8px;
            margin-top: 0.25rem;
        }

        /* Mock Members */
        .gs-mock-members {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .mock-member {
            display: flex;
            align-items: center;
            gap: 0.625rem;
            background: white;
            border-radius: 8px;
            padding: 0.5rem 0.75rem;
            border: 1px solid #E2E8F0;
        }

        .mock-member.adding {
            border-style: dashed;
            border-color: var(--primary);
            background: rgba(58, 183, 149, 0.05);
        }

        .mock-avatar {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.625rem;
            font-weight: 700;
            color: white;
            flex-shrink: 0;
        }

        .mock-member.adding .mock-avatar {
            background: var(--primary);
            font-size: 0.875rem;
        }

        .mock-member span {
            font-size: 0.75rem;
            color: var(--text-dark);
        }

        .mock-member.adding span {
            color: var(--primary);
        }

        .mock-check {
            margin-left: auto;
            color: #10B981 !important;
            font-weight: 700;
        }

        /* Mock Event */
        .gs-mock-event {
            display: flex;
            align-items: center;
            gap: 0.875rem;
            background: white;
            border-radius: 10px;
            padding: 0.75rem;
            border: 1px solid #E2E8F0;
        }

        .mock-event-date {
            display: flex;
            flex-direction: column;
            align-items: center;
            background: linear-gradient(135deg, #3AB795 0%, #2D9B7A 100%);
            border-radius: 8px;
            padding: 0.5rem 0.75rem;
            min-width: 48px;
        }

        .mock-day {
            font-size: 1.125rem;
            font-weight: 800;
            color: white;
            line-height: 1;
        }

        .mock-month {
            font-size: 0.625rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.8);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .mock-event-info {
            display: flex;
            flex-direction: column;
            gap: 0.125rem;
        }

        .mock-event-title {
            font-size: 0.8125rem;
            font-weight: 600;
            color: var(--text-dark);
        }

        .mock-event-meta {
            font-size: 0.6875rem;
            color: #10B981;
            font-weight: 500;
        }

        /* Connector */
        .gs-connector {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 0.5rem;
        }

        .gs-connector svg {
            width: 28px;
            height: 28px;
            fill: var(--primary);
            opacity: 0.5;
        }

        /* Footer */
        .gs-footer {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 2rem;
            margin-top: 3rem;
            flex-wrap: wrap;
        }

        .gs-time-badge {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            background: white;
            padding: 0.75rem 1.25rem;
            border-radius: 2rem;
            border: 1px solid #E2E8F0;
            font-size: 0.875rem;
            color: var(--text-muted);
            font-weight: 500;
        }

        .gs-time-badge svg {
            width: 20px;
            height: 20px;
            fill: var(--primary);
        }

        .gs-cta-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }

        .gs-cta-btn svg {
            width: 20px;
            height: 20px;
            fill: currentColor;
            transition: transform 0.2s ease;
        }

        .gs-cta-btn:hover svg {
            transform: translateX(4px);
        }

        /* Responsive */
        @media (max-width: 968px) {
            .gs-timeline {
                flex-direction: column;
                align-items: center;
                gap: 1rem;
            }

            .gs-step {
                max-width: 100%;
                width: 100%;
            }

            .gs-connector {
                transform: rotate(90deg);
                padding: 0.5rem 0;
            }
        }

        @media (max-width: 640px) {
            .getting-started-section {
                padding: 3rem 1.5rem;
            }

            .gs-header {
                margin-bottom: 2.5rem;
            }

            .gs-step {
                padding: 1.5rem;
            }

            .gs-footer {
                flex-direction: column;
                gap: 1rem;
            }

            .gs-time-badge {
                width: 100%;
                justify-content: center;
            }

            .gs-cta-btn {
                width: 100%;
                justify-content: center;
            }
        }

        /* ================================
           VIDEO MODAL
        ================================ */
        .video-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 9999;
            align-items: center;
            justify-content: center;
        }

        .video-modal.active {
            display: flex;
        }

        .video-modal-backdrop {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.85);
            cursor: pointer;
        }

        .video-modal-container {
            position: relative;
            width: 90%;
            max-width: 900px;
            background: #000;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
        }

        .video-modal-close {
            position: absolute;
            top: -40px;
            right: 0;
            background: none;
            border: none;
            color: white;
            cursor: pointer;
            padding: 8px;
            opacity: 0.8;
            transition: opacity 0.2s;
        }

        .video-modal-close:hover {
            opacity: 1;
        }

        .video-modal-close svg {
            width: 24px;
            height: 24px;
            fill: currentColor;
        }

        .video-modal-body {
            position: relative;
            padding-bottom: 56.25%; /* 16:9 aspect ratio */
            height: 0;
        }

        .video-modal-body iframe,
        .video-modal-body video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        .video-placeholder {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #1E293B 0%, #0F172A 100%);
            color: white;
        }

        .video-placeholder svg {
            width: 64px;
            height: 64px;
            fill: #3AB795;
            margin-bottom: 1rem;
        }

        .video-placeholder p {
            font-size: 1.125rem;
            color: rgba(255, 255, 255, 0.7);
        }

        /* Hero Video CTA - Ghost button with play icon */
        .hero-video-cta {
            display: inline-flex !important;
            align-items: center;
            gap: 0.5rem;
            cursor: pointer;
            white-space: nowrap;
        }

        .hero-video-cta-icon {
            width: 20px;
            height: 20px;
            fill: currentColor;
            flex-shrink: 0;
        }

        /* Responsive video modal for vertical videos */
        .video-modal-body.vertical-video {
            padding-bottom: 177.78%; /* 9:16 aspect ratio */
        }

        /* ================================
           HERO VIDEO BUTTON
        ================================ */
        .hero-video-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
            margin-top: 1.25rem;
            padding: 0;
            background: none;
            border: none;
            cursor: pointer;
            font-family: inherit;
            color: var(--text-muted);
            transition: all 0.3s ease;
        }

        .hero-video-btn:hover {
            color: var(--primary);
        }

        .hero-video-btn-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: linear-gradient(135deg, var(--primary) 0%, #2A9D8F 100%);
            box-shadow: 0 4px 20px rgba(58, 183, 149, 0.35);
            transition: all 0.3s ease;
            position: relative;
        }

        .hero-video-btn-icon::before {
            content: '';
            position: absolute;
            inset: -4px;
            border-radius: 50%;
            border: 2px solid rgba(58, 183, 149, 0.3);
            animation: heroPulseRing 2s ease-out infinite;
        }

        @keyframes heroPulseRing {
            0% { transform: scale(1); opacity: 1; }
            100% { transform: scale(1.4); opacity: 0; }
        }

        .hero-video-btn:hover .hero-video-btn-icon {
            transform: scale(1.1);
            box-shadow: 0 6px 28px rgba(58, 183, 149, 0.5);
        }

        .hero-video-btn-icon svg {
            width: 20px;
            height: 20px;
            fill: white;
            margin-left: 2px;
        }

        .hero-video-btn-text {
            font-size: 0.9375rem;
            font-weight: 600;
            letter-spacing: -0.01em;
        }

        /* ================================
           FEATURE VIDEO INLINE (Desktop)
        ================================ */
        .feature-video-inline {
            display: block;
            width: 100%;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
        }

        .feature-video-inline video {
            width: 100%;
            height: auto;
            display: block;
            border-radius: 16px;
        }

        /* When video inline is present, hide mockup on desktop */
        .feature-block-visual .feature-video-inline ~ .mockup-container {
            display: none;
        }

        /* Phone frame for vertical-only videos (Directory) */
        .feature-video-phone-frame {
            display: flex;
            justify-content: center;
            align-items: center;
            box-shadow: none;
            background: none;
        }

        .phone-frame {
            position: relative;
            width: 280px;
            background: #0F172A;
            border-radius: 36px;
            padding: 12px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2), inset 0 0 0 2px rgba(255, 255, 255, 0.1);
        }

        .phone-frame::before {
            content: '';
            position: absolute;
            top: 8px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 24px;
            background: #0F172A;
            border-radius: 0 0 16px 16px;
            z-index: 2;
        }

        .phone-frame video {
            width: 100%;
            height: auto;
            border-radius: 24px;
            display: block;
        }

        /* ================================
           FEATURE VIDEO BUTTON (Mobile)
        ================================ */
        .feature-video-btn {
            display: none; /* Hidden on desktop */
            align-items: center;
            gap: 0.5rem;
            margin-top: 1.25rem;
            padding: 0.75rem 1.5rem;
            background: linear-gradient(135deg, var(--primary) 0%, #2A9D8F 100%);
            color: white;
            border: none;
            border-radius: 12px;
            font-family: inherit;
            font-size: 0.9375rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(58, 183, 149, 0.3);
        }

        .feature-video-btn svg {
            width: 18px;
            height: 18px;
            fill: white;
        }

        .feature-video-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(58, 183, 149, 0.4);
        }

        .feature-video-btn:active {
            transform: scale(0.98);
        }

        /* ================================
           FEATURE VIDEO MODAL (Mobile)
        ================================ */
        .feature-video-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 10001;
            align-items: center;
            justify-content: center;
        }

        .feature-video-modal.active {
            display: flex;
        }

        .feature-video-modal-backdrop {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.9);
            cursor: pointer;
        }

        .feature-video-modal-container {
            position: relative;
            width: 90%;
            max-width: 400px;
            max-height: 85vh;
            z-index: 1;
        }

        .feature-video-modal-close {
            position: absolute;
            top: -40px;
            right: 0;
            background: none;
            border: none;
            color: white;
            cursor: pointer;
            padding: 8px;
            opacity: 0.8;
            transition: opacity 0.2s;
            z-index: 2;
        }

        .feature-video-modal-close:hover {
            opacity: 1;
        }

        .feature-video-modal-close svg {
            width: 28px;
            height: 28px;
            fill: currentColor;
        }

        .feature-video-modal-body {
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
        }

        .feature-video-modal-body video {
            width: 100%;
            height: auto;
            display: block;
        }

        /* ================================
           RESPONSIVE - Video elements
        ================================ */
        @media (max-width: 768px) {
            /* Hide buttons - inline vertical videos shown instead */
            .feature-video-btn {
                display: none !important;
            }

            /* Show inline videos on mobile (vertical sources swapped via JS) */
            .feature-video-inline {
                display: flex !important;
                justify-content: center;
                max-width: 280px;
                margin: 0 auto;
                border-radius: 24px;
            }

            .feature-video-inline video {
                border-radius: 24px;
            }

            /* Hide mockups on mobile when video is present */
            .feature-block-visual .feature-video-inline ~ .mockup-container {
                display: none !important;
            }

            /* Phone frame adjustments for mobile */
            .phone-frame {
                width: 240px;
            }

            /* Hero video button */
            .hero-video-btn {
                margin-top: 1rem;
                justify-content: center;
                width: 100%;
            }

            .hero-video-btn-icon {
                width: 42px;
                height: 42px;
            }

            .hero-video-btn-icon svg {
                width: 18px;
                height: 18px;
            }

            .hero-video-btn-text {
                font-size: 0.875rem;
            }
        }

        @media (max-width: 480px) {
            .hero-video-btn-icon {
                width: 38px;
                height: 38px;
            }

            .hero-video-btn-text {
                font-size: 0.8125rem;
            }

            .feature-video-inline {
                max-width: 240px;
            }

            .phone-frame {
                width: 210px;
            }
        }

        /* ================================
           SECTION - Philosophie Produit
        ================================ */
        .philosophy-section {
            background: #F8FAFC;
            padding: 4rem 2rem;
            text-align: center;
        }

        .philosophy-content {
            max-width: 700px;
            margin: 0 auto;
        }

        .philosophy-content h2 {
            font-size: 1.75rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 1rem;
        }

        .philosophy-content p {
            font-size: 1.0625rem;
            color: var(--text-muted);
            line-height: 1.7;
            margin-bottom: 0.75rem;
        }

        .philosophy-highlight {
            font-weight: 600;
            color: var(--primary-teal) !important;
            font-style: italic;
            margin-top: 1rem !important;
        }

        /* ================================
           SECTION - FAQ
        ================================ */
        .faq-section {
            background: #FFFFFF;
            padding: 5rem 2rem;
        }

        .faq-container {
            max-width: 800px;
            margin: 0 auto;
        }

        .faq-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .faq-header h2 {
            font-size: clamp(1.75rem, 3vw, 2.25rem);
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
            letter-spacing: -0.02em;
        }

        .faq-header p {
            font-size: 1rem;
            color: var(--text-muted);
        }

        .faq-list {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .faq-item {
            background: #F8FAFC;
            border-radius: 12px;
            border: 1px solid #E2E8F0;
        }

        .faq-item[open] {
            background: #FFFFFF;
            border-color: var(--primary);
            box-shadow: 0 4px 12px rgba(58, 183, 149, 0.1);
        }

        .faq-question {
            padding: 1.25rem 1.5rem;
            cursor: pointer;
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-dark);
            list-style: none;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .faq-question::-webkit-details-marker {
            display: none;
        }

        .faq-question::after {
            content: '+';
            font-size: 1.5rem;
            font-weight: 400;
            color: var(--text-muted);
        }

        .faq-item[open] .faq-question::after {
            content: '−';
            color: var(--primary);
        }

        .faq-question:hover {
            color: var(--primary-dark);
        }

        .faq-answer {
            padding: 0 1.5rem 1.25rem;
            font-size: 0.9375rem;
            color: var(--text-muted);
            line-height: 1.7;
            margin: 0;
        }

        @media (max-width: 768px) {
            .faq-section {
                padding: 3rem 1rem;
            }

            .faq-question {
                padding: 1rem 1.25rem;
                font-size: 0.9375rem;
            }

            .faq-answer {
                padding: 0 1.25rem 1rem;
                font-size: 0.875rem;
            }
        }

        /* ================================
           SECTION - CTA Final
        ================================ */
        .cta-section {
            background: linear-gradient(180deg, var(--bg-dark) 0%, #0A0F1C 100%);
            text-align: center;
            padding: 8rem 2rem;
            position: relative;
            overflow: hidden;
        }

        .cta-section::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 800px;
            height: 800px;
            background: radial-gradient(circle, rgba(255, 107, 74, 0.15) 0%, rgba(30, 58, 95, 0.1) 40%, transparent 70%);
            pointer-events: none;
            animation: ctaGlow 6s ease-in-out infinite;
        }

        @keyframes ctaGlow {
            0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
            50% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
        }

        .cta-section::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 107, 74, 0.3), transparent);
        }

        .cta-content {
            position: relative;
            z-index: 1;
            max-width: 650px;
            margin: 0 auto;
        }

        .cta-pretitle {
            font-size: 1.125rem;
            color: rgba(255, 255, 255, 0.7);
            margin-bottom: 0.5rem;
            font-weight: 400;
        }

        .cta-title {
            font-size: clamp(1.75rem, 4vw, 2.5rem);
            font-weight: 700;
            letter-spacing: -0.02em;
            margin-bottom: 1rem;
        }

        .cta-subtitle {
            font-size: 1rem;
            color: var(--text-secondary);
            margin-bottom: 2.5rem;
            opacity: 0.8;
        }

        .cta-buttons {
            display: flex;
            gap: 1rem;
            justify-content: center;
            margin-bottom: 1.5rem;
        }

        .cta-btn-main {
            padding: 1.25rem 3rem;
            font-size: 1.125rem;
            border-radius: 14px;
            box-shadow:
                0 4px 14px rgba(255, 107, 74, 0.4),
                0 0 60px rgba(255, 107, 74, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.2);
        }

        .cta-badges {
            display: flex;
            gap: 2rem;
            justify-content: center;
            margin-bottom: 1.5rem;
            flex-wrap: wrap;
        }

        .cta-badge {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            color: var(--text-secondary);
        }

        .cta-badge svg {
            width: 18px;
            height: 18px;
            fill: #FF6B4A;
        }

        .cta-note {
            font-size: 0.875rem;
            color: var(--text-muted);
        }

        /* ================================
           CALENDLY MODAL
        ================================ */
        .calendly-modal {
            position: fixed;
            inset: 0;
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        .calendly-modal.active {
            opacity: 1;
            visibility: visible;
        }

        .calendly-modal-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(10, 15, 28, 0.85);
            backdrop-filter: blur(8px);
        }

        .calendly-modal-container {
            position: relative;
            width: 100%;
            max-width: 700px;
            max-height: 90vh;
            background: white;
            border-radius: 20px;
            overflow: hidden;
            box-shadow:
                0 25px 50px -12px rgba(0, 0, 0, 0.5),
                0 0 0 1px rgba(255, 255, 255, 0.1);
            transform: translateY(20px) scale(0.95);
            transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .calendly-modal.active .calendly-modal-container {
            transform: translateY(0) scale(1);
        }

        .calendly-modal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 1.25rem 1.5rem;
            background: linear-gradient(135deg, #0F2744 0%, #1E3A5F 100%);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .calendly-modal-title {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            color: white;
            font-size: 1.125rem;
            font-weight: 600;
        }

        .calendly-modal-title svg {
            width: 24px;
            height: 24px;
            fill: #FF6B4A;
        }

        .calendly-modal-close {
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(255, 255, 255, 0.1);
            border: none;
            border-radius: 10px;
            cursor: pointer;
            transition: background 0.2s;
        }

        .calendly-modal-close:hover {
            background: rgba(255, 255, 255, 0.2);
        }

        .calendly-modal-close svg {
            width: 20px;
            height: 20px;
            fill: white;
        }

        .calendly-modal-body {
            height: 650px;
            overflow: hidden;
        }

        .calendly-modal-body .calendly-inline-widget {
            width: 100%;
            height: 100%;
        }

        @media (max-width: 768px) {
            .calendly-modal-container {
                max-width: calc(100% - 2rem);
                max-height: calc(100vh - 2rem);
                border-radius: 16px;
            }

            .calendly-modal-body {
                height: 550px;
            }
        }

        /* ================================
           SECTION - Calendly Embed
        ================================ */
        .calendly-embed-section {
            background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
            padding: 5rem 2rem;
        }

        .calendly-embed-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .calendly-embed-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 3rem;
            align-items: start;
        }

        .calendly-embed-content {
            padding-top: 1rem;
        }

        .calendly-badge {
            display: inline-block;
            background: rgba(58, 183, 149, 0.15);
            color: #3AB795;
            font-size: 0.8125rem;
            font-weight: 600;
            padding: 0.5rem 1rem;
            border-radius: 20px;
            margin-bottom: 1.5rem;
        }

        .calendly-embed-content h2 {
            font-size: 2.25rem;
            font-weight: 700;
            color: white;
            margin-bottom: 1rem;
            line-height: 1.2;
        }

        .calendly-subtitle {
            font-size: 1.125rem;
            color: rgba(255, 255, 255, 0.7);
            margin-bottom: 2rem;
            line-height: 1.6;
        }

        .calendly-benefits {
            margin-bottom: 2.5rem;
        }

        .calendly-benefit {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            margin-bottom: 1rem;
        }

        .calendly-benefit svg {
            width: 20px;
            height: 20px;
            fill: #3AB795;
            flex-shrink: 0;
            margin-top: 2px;
        }

        .calendly-benefit span {
            font-size: 1rem;
            color: rgba(255, 255, 255, 0.85);
            line-height: 1.5;
        }

        .calendly-testimonial {
            background: rgba(255, 255, 255, 0.05);
            border-left: 3px solid #3AB795;
            padding: 1.25rem 1.5rem;
            border-radius: 0 12px 12px 0;
        }

        .calendly-testimonial p {
            font-size: 1rem;
            color: rgba(255, 255, 255, 0.9);
            font-style: italic;
            margin-bottom: 0.75rem;
            line-height: 1.6;
        }

        .calendly-testimonial-author {
            display: flex;
            flex-direction: column;
            gap: 0.125rem;
        }

        .calendly-testimonial .author-name {
            font-size: 0.875rem;
            font-weight: 600;
            color: white;
        }

        .calendly-testimonial .author-role {
            font-size: 0.8125rem;
            color: rgba(255, 255, 255, 0.6);
        }

        .calendly-embed-widget {
            background: white;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
        }

        .calendly-embed-section .calendly-inline-widget {
            background: white;
        }

        @media (max-width: 900px) {
            .calendly-embed-grid {
                grid-template-columns: 1fr;
            }

            .calendly-embed-content {
                text-align: center;
            }

            .calendly-benefit {
                justify-content: center;
            }

            .calendly-testimonial {
                border-left: none;
                border-top: 3px solid #3AB795;
                border-radius: 0 0 12px 12px;
            }
        }

        /* ================================
           FOOTER
        ================================ */
        .footer {
            background: #0A0F1C;
            padding: 3rem 2rem 2rem;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }

        .footer-container {
            max-width: 1100px;
            margin: 0 auto;
        }

        .footer-top {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 2rem;
            padding-bottom: 2rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }

        .footer-brand {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .footer-brand img {
            width: 40px;
            height: 40px;
            filter: brightness(0) invert(1);
        }

        .footer-brand span {
            font-weight: 600;
            font-size: 1rem;
            color: white;
        }

        .footer-columns {
            display: flex;
            gap: 4rem;
        }

        .footer-column h4 {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.5);
            margin-bottom: 1rem;
            font-weight: 600;
        }

        .footer-column ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .footer-column li {
            margin-bottom: 0.5rem;
        }

        .footer-column a {
            font-size: 0.875rem;
            color: rgba(255, 255, 255, 0.7);
            text-decoration: none;
            transition: color 0.2s;
        }

        .footer-column a:hover {
            color: white;
        }

        .footer-bottom {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .footer-copy {
            font-size: 0.8125rem;
            color: rgba(255, 255, 255, 0.4);
        }

        .footer-trust {
            display: flex;
            gap: 1.5rem;
            align-items: center;
        }

        .footer-trust-item {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.75rem;
            color: rgba(255, 255, 255, 0.5);
        }

        .footer-trust-item svg {
            width: 14px;
            height: 14px;
            fill: currentColor;
        }

        .footer-links {
            display: flex;
            gap: 1.5rem;
        }

        .footer-links a {
            font-size: 0.8125rem;
            color: rgba(255, 255, 255, 0.5);
            text-decoration: none;
            transition: color 0.2s;
        }

        .footer-links a:hover {
            color: white;
        }

        /* ================================
           RESPONSIVE
        ================================ */
        @media (max-width: 968px) {
            /* Fix mobile overflow - hide diagonal background */
            .hero-wrapper {
                overflow: hidden;
            }

            .hero {
                height: auto;
                min-height: auto;
                padding: 0;
            }

            .hero-container {
                grid-template-columns: 1fr;
                text-align: center;
                padding: 5rem 1.5rem 2rem;
                gap: 1.5rem;
            }

            .hero-content {
                max-width: 100%;
                text-align: center;
                padding-right: 0;
                overflow: visible;
            }

            .hero-subtitle {
                max-width: 100%;
            }

            .hero-video-container {
                border-radius: 12px;
            }

            .hero-video-container::after {
                display: none;
            }

            .hero-cta {
                justify-content: center;
            }

            .hero-cta .btn-hero {
                white-space: normal;
            }

            .hero-proof {
                justify-content: center;
            }

            .hero-mockup {
                max-width: 600px;
                margin: 0 auto;
            }

            .pain-grid,
            .usecases-grid {
                grid-template-columns: 1fr;
            }

            /* Bento grid responsive */
            .bento-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .bento-card.large {
                grid-column: span 2;
            }

            .bento-card.tall {
                grid-row: span 1;
            }

            .hero-visual {
                max-width: 100%;
            }

            /* Animation mobile - masquée, remplacée par la vidéo hero */
            .hero-mobile-animation {
                display: none !important;
            }

            .terrilink-hub-container {
                display: none !important;
            }

            /* Hub central */
            .mobile-platform-hub {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 64px;
                height: 64px;
                background: linear-gradient(135deg, #3AB795 0%, #2DA882 100%);
                border-radius: 16px;
                display: flex;
                align-items: center;
                justify-content: center;
                box-shadow:
                    0 4px 24px rgba(58, 183, 149, 0.4),
                    0 0 60px rgba(58, 183, 149, 0.2);
                z-index: 10;
                animation: hubPulse 3s ease-in-out infinite;
            }

            .mobile-platform-hub img {
                width: 36px;
                height: 36px;
                filter: brightness(0) invert(1);
            }

            @keyframes hubPulse {
                0%, 100% { box-shadow: 0 4px 24px rgba(58, 183, 149, 0.4), 0 0 60px rgba(58, 183, 149, 0.2); }
                50% { box-shadow: 0 4px 32px rgba(58, 183, 149, 0.6), 0 0 80px rgba(58, 183, 149, 0.3); }
            }

            /* Modules fonctionnels */
            .mobile-module {
                position: absolute;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 4px;
                z-index: 5;
            }

            .mobile-module svg {
                width: 28px;
                height: 28px;
                padding: 6px;
                background: rgba(255, 255, 255, 0.08);
                border-radius: 10px;
                border: 1px solid rgba(255, 255, 255, 0.1);
            }

            .mobile-module span {
                font-size: 0.5625rem;
                font-weight: 600;
                color: rgba(255, 255, 255, 0.7);
                text-transform: uppercase;
                letter-spacing: 0.3px;
            }

            /* Positions et couleurs des modules */
            .mod-1 { top: 15%; left: 12%; }
            .mod-1 svg { fill: #3AB795; }

            .mod-2 { top: 15%; right: 12%; }
            .mod-2 svg { fill: #8B5CF6; }

            .mod-3 { top: 50%; left: 5%; transform: translateY(-50%); }
            .mod-3 svg { fill: #F59E0B; }

            .mod-4 { top: 50%; right: 5%; transform: translateY(-50%); }
            .mod-4 svg { fill: #3B82F6; }

            .mod-5 { bottom: 18%; left: 12%; }
            .mod-5 svg { fill: #EC4899; }

            .mod-6 { bottom: 18%; right: 12%; }
            .mod-6 svg { fill: #10B981; }

            /* Lignes de connexion vers le hub */
            .mobile-module::before {
                content: '';
                position: absolute;
                background: linear-gradient(90deg, rgba(58, 183, 149, 0.3), rgba(58, 183, 149, 0.1));
                height: 1px;
                z-index: -1;
            }

            .mod-1::before { width: 50px; top: 20px; left: 40px; transform: rotate(35deg); }
            .mod-2::before { width: 50px; top: 20px; right: 40px; transform: rotate(-35deg); }
            .mod-3::before { width: 40px; top: 14px; left: 38px; }
            .mod-4::before { width: 40px; top: 14px; right: 38px; }
            .mod-5::before { width: 50px; bottom: 30px; left: 40px; transform: rotate(-35deg); }
            .mod-6::before { width: 50px; bottom: 30px; right: 40px; transform: rotate(35deg); }

            /* Animation d'apparition des modules */
            .mobile-module {
                animation: moduleAppear 0.5s ease-out forwards;
                opacity: 0;
            }

            .mod-1 { animation-delay: 0.1s; }
            .mod-2 { animation-delay: 0.2s; }
            .mod-3 { animation-delay: 0.3s; }
            .mod-4 { animation-delay: 0.4s; }
            .mod-5 { animation-delay: 0.5s; }
            .mod-6 { animation-delay: 0.6s; }

            @keyframes moduleAppear {
                0% { opacity: 0; transform: scale(0.8); }
                100% { opacity: 1; transform: scale(1); }
            }

            .mod-3, .mod-4 {
                animation: moduleAppearCenter 0.5s ease-out forwards;
            }

            @keyframes moduleAppearCenter {
                0% { opacity: 0; transform: translateY(-50%) scale(0.8); }
                100% { opacity: 1; transform: translateY(-50%) scale(1); }
            }

            /* Tagline en bas */
            .mobile-tagline {
                position: absolute;
                bottom: 10px;
                left: 50%;
                transform: translateX(-50%);
                text-align: center;
                z-index: 10;
            }

            .mobile-tagline strong {
                font-size: 0.75rem;
                font-weight: 600;
                color: rgba(255, 255, 255, 0.8);
                letter-spacing: 0.2px;
            }

            .hero-floating-notif {
                display: none;
            }

            .slide-flow {
                gap: 0.25rem;
            }

            .flow-step-icon {
                width: 48px;
                height: 48px;
            }

            .flow-step-icon svg {
                width: 24px;
                height: 24px;
            }

            .flow-step-label {
                font-size: 0.6875rem;
            }

            .flow-arrow svg {
                width: 18px;
                height: 18px;
            }
        }

        /* Keyframes pour animation mobile diaspora */
        @keyframes memberPulseMobile {
            0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
            100% { transform: translateX(-50%) scale(1.8); opacity: 0; }
        }

        @keyframes memberFloatMobile {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-5px); }
        }

        @keyframes hubGlowMobile {
            0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
            50% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
        }

        @media (max-width: 640px) {
            /* Fix mobile horizontal padding */
            .nav {
                padding: 0.75rem 1rem;
            }

            .nav-link {
                display: none;
            }

            /* Hide create org button on very small screens */
            .btn-outline {
                display: none;
            }

            /* Smaller CTA button on mobile */
            .nav-cta .btn-primary {
                padding: 0.5rem 0.875rem;
                font-size: 0.8125rem;
            }

            /* Language flags mobile optimization */
            .lang-flags {
                gap: 0.25rem;
            }

            .lang-flag {
                font-size: 0.625rem;
                padding: 2px 5px;
                letter-spacing: 0.2px;
            }

            .hero-container {
                padding: 5rem 1.25rem 2rem;
            }

            .hero-title {
                font-size: 1.5rem;
                line-height: 1.35;
            }

            /* Titre structuré et centré sur mobile */
            .hero-title-static {
                display: block;
                margin-bottom: 0.375rem;
            }

            .hero-title-dynamic {
                display: block;
                text-align: center;
                min-width: auto;
                font-size: 1.75rem;
                line-height: 1.2;
            }

            .hero-subtitle,
            .hero-tagline {
                font-size: 0.9375rem;
                padding: 0 0.5rem;
            }

            .hero-modulaire {
                font-size: 0.875rem;
                padding: 0 0.5rem;
            }

            .terrilink-hub-container {
                height: 320px;
                border-radius: 16px;
            }

            .member-dot {
                width: 8px;
                height: 8px;
            }

            .member-dot.active {
                width: 12px;
                height: 12px;
            }

            /* Hub animation responsive mobile */
            .hub-core {
                width: 80px;
                height: 80px;
            }

            .hub-logo {
                width: 44px;
                height: 44px;
                border-radius: 12px;
            }

            .hub-logo img {
                width: 28px;
                height: 28px;
            }

            .hub-brand-name {
                font-size: 0.8125rem;
                bottom: -24px;
            }

            .hub-ring-1 {
                width: 60px;
                height: 60px;
            }

            .hub-ring-2 {
                width: 90px;
                height: 90px;
            }

            .hub-ring-3 {
                width: 120px;
                height: 120px;
            }

            .module-icon {
                width: 36px;
                height: 36px;
                border-radius: 10px;
            }

            .module-icon svg {
                width: 18px;
                height: 18px;
            }

            .module-label {
                font-size: 0.625rem;
            }

            /* Repositionner les modules sur mobile */
            .module-members {
                top: 3%;
            }

            .module-events {
                top: 12%;
                right: 5%;
            }

            .module-payments {
                top: 35%;
                right: 3%;
            }

            .module-comms {
                bottom: 12%;
                right: 5%;
            }

            .module-analytics {
                bottom: 3%;
                left: 50%;
            }

            .module-partners {
                bottom: 12%;
                left: 5%;
            }

            .module-news {
                top: 35%;
                left: 3%;
            }

            .hero-cta {
                flex-direction: column;
            }

            .hero-cta .btn {
                width: 100%;
                justify-content: center;
            }

            .cta-buttons {
                flex-direction: column;
            }

            .cta-buttons .btn {
                width: 100%;
                justify-content: center;
            }

            .footer-top {
                flex-direction: column;
                gap: 2rem;
                text-align: center;
            }

            .footer-columns {
                flex-wrap: wrap;
                justify-content: center;
                gap: 2rem;
            }

            .footer-bottom {
                flex-direction: column;
                text-align: center;
            }

            .footer-trust {
                justify-content: center;
                flex-wrap: wrap;
            }

            .footer-links {
                justify-content: center;
            }

            /* Bento grid mobile */
            .bento-grid {
                grid-template-columns: 1fr;
            }

            .bento-card.large,
            .bento-card.tall {
                grid-column: span 1;
                grid-row: span 1;
            }

            .features-section {
                padding: 4rem 1rem;
            }

            .features-header h2 {
                font-size: 1.75rem;
            }

            /* Carousel mobile adjustments */
            .slide-content {
                padding: 1.25rem;
                min-height: 400px;
            }

            .slide-flow {
                flex-wrap: wrap;
                justify-content: center;
            }

            .flow-step {
                flex: 0 0 auto;
            }

            .flow-arrow {
                padding-bottom: 0;
            }

            .flow-progress {
                margin: 0.75rem 1rem;
            }

            .event-ticket-preview {
                flex-direction: column;
                text-align: center;
                gap: 1rem;
            }

            .ticket-qr {
                width: 64px;
                height: 64px;
            }

            .directory-card {
                flex-direction: column;
                text-align: center;
            }

            .chat-bubble {
                max-width: 90%;
            }

            .map-window-stats {
                gap: 8px;
            }

            .map-window-stat {
                padding: 8px 12px;
            }

            .map-window-stat-value {
                font-size: 1.25rem;
            }

            .map-window-body {
                height: 350px;
            }

            /* Comparison schema - mobile refinements */
            .comparison-header h3 {
                font-size: 1rem;
            }

            .comparison-period {
                font-size: 0.625rem;
                padding: 0.3rem 0.75rem;
            }

            .comparison-arrow-label {
                font-size: 0.6875rem;
            }

            .arrow-badge {
                font-size: 0.625rem;
                padding: 0.25rem 0.5rem;
            }

            .arrow-duration {
                font-size: 0.625rem;
            }

            .growth-badge {
                font-size: 0.625rem;
                padding: 0.125rem 0.375rem;
            }
        }

        /* Very small screens (< 400px) */
        @media (max-width: 400px) {
            .nav {
                padding: 0.5rem 0.75rem;
            }

            .logo-text {
                font-size: 1rem;
            }

            .nav-cta .btn-primary {
                padding: 0.4rem 0.75rem;
                font-size: 0.75rem;
            }

            .lang-flags {
                gap: 0.125rem;
            }

            .lang-flag {
                font-size: 0.5625rem;
                padding: 2px 4px;
            }

            .hero-container {
                padding: 5rem 1rem 1.5rem;
            }

            .hero-title {
                font-size: 1.375rem;
            }

            .hero-subtitle,
            .hero-tagline {
                font-size: 0.875rem;
            }

            .hero-cta .btn {
                padding: 0.75rem 1.25rem;
                font-size: 0.875rem;
            }
        }

        /* Legal Modal Styles */
        .legal-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 10000;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .legal-modal.active {
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 1;
        }

        .legal-modal-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.7);
            backdrop-filter: blur(4px);
        }

        .legal-modal-content {
            position: relative;
            background: white;
            border-radius: 1.25rem;
            max-width: 800px;
            width: 90%;
            max-height: 85vh;
            overflow-y: auto;
            padding: 3rem;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            z-index: 1;
            animation: modalSlideIn 0.3s ease;
        }

        @keyframes modalSlideIn {
            from {
                transform: translateY(-20px);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }

        .legal-modal-close {
            position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            width: 40px;
            height: 40px;
            border: none;
            background: #f3f4f6;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            z-index: 2;
        }

        .legal-modal-close:hover {
            background: #e5e7eb;
            transform: rotate(90deg);
        }

        .legal-modal-close svg {
            width: 20px;
            height: 20px;
            color: #374151;
        }

        .legal-modal-title {
            font-size: 2rem;
            font-weight: 700;
            color: #0F172A;
            margin: 0 0 2rem 0;
            padding-right: 3rem;
        }

        .legal-modal-body {
            color: #475569;
            line-height: 1.7;
        }

        .legal-section {
            margin-bottom: 2rem;
        }

        .legal-section:last-child {
            margin-bottom: 0;
        }

        .legal-section h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #1e293b;
            margin: 0 0 0.75rem 0;
        }

        .legal-section p {
            margin: 0;
            font-size: 1rem;
            line-height: 1.8;
        }

        .legal-intro {
            font-size: 1.1rem;
            font-weight: 500;
            color: #334155;
            padding: 1rem 1.5rem;
            background: #f8fafc;
            border-radius: 0.75rem;
            border-left: 4px solid #0EA5E9;
            margin-bottom: 2rem;
        }

        .legal-version {
            font-size: 0.95rem;
            color: #64748b;
            font-weight: 500;
            margin: 0 0 1rem 0;
        }

        .legal-warning {
            font-size: 1rem;
            font-weight: 600;
            color: #92400e;
            padding: 1rem 1.5rem;
            background: #fffbeb;
            border-radius: 0.75rem;
            border-left: 4px solid #f59e0b;
            margin-bottom: 2rem;
            line-height: 1.6;
        }

        .legal-part-title {
            font-size: 1.4rem;
            font-weight: 700;
            color: #0f172a;
            margin: 2.5rem 0 1.5rem 0;
            padding-bottom: 0.75rem;
            border-bottom: 2px solid #0EA5E9;
        }

        .legal-footer-info {
            font-size: 0.9rem;
            color: #64748b;
            text-align: center;
            padding: 1.5rem 1rem;
            margin-top: 2rem;
            border-top: 1px solid #e2e8f0;
            line-height: 1.8;
        }

        /* Custom scrollbar for modal */
        .legal-modal-content::-webkit-scrollbar {
            width: 8px;
        }

        .legal-modal-content::-webkit-scrollbar-track {
            background: #f1f5f9;
            border-radius: 10px;
        }

        .legal-modal-content::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 10px;
        }

        .legal-modal-content::-webkit-scrollbar-thumb:hover {
            background: #94a3b8;
        }

        @media (max-width: 768px) {
            .legal-modal-content {
                width: 95%;
                padding: 2rem 1.5rem;
                max-height: 90vh;
            }

            .legal-modal-title {
                font-size: 1.5rem;
                margin-bottom: 1.5rem;
                padding-right: 2.5rem;
            }

            .legal-modal-close {
                top: 1rem;
                right: 1rem;
                width: 36px;
                height: 36px;
            }

            .legal-section h3 {
                font-size: 1.125rem;
            }

            .legal-section p,
            .legal-intro {
                font-size: 0.95rem;
            }

            .legal-part-title {
                font-size: 1.2rem;
            }

            .legal-warning {
                font-size: 0.95rem;
            }
        }

        /* ================================
           Press Modal Styles
        ================================ */
        .press-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 10000;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .press-modal.active {
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 1;
        }

        .press-modal-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.85);
            backdrop-filter: blur(8px);
        }

        .press-modal-content {
            position: relative;
            background: white;
            border-radius: 1.5rem;
            max-width: 900px;
            width: 90%;
            max-height: 90vh;
            overflow-y: auto;
            padding: 2rem;
            box-shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
            z-index: 1;
            animation: modalSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .press-modal-close {
            position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            width: 44px;
            height: 44px;
            background: white;
            border: 2px solid #E5E7EB;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            z-index: 2;
        }

        .press-modal-close:hover {
            background: #FEE2E2;
            border-color: #EF4444;
            transform: rotate(90deg);
        }

        .press-modal-close svg {
            width: 20px;
            height: 20px;
            color: #374151;
        }

        .press-modal-close:hover svg {
            color: #EF4444;
        }

        .press-modal-title {
            font-size: 1.75rem;
            font-weight: 700;
            color: #0F172A;
            margin: 0 0 1.5rem 0;
            padding-right: 3rem;
            text-align: center;
        }

        .press-modal-body {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1.5rem;
        }

        .press-article-image {
            width: 100%;
            height: auto;
            border-radius: 1rem;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
            transition: transform 0.3s ease;
        }

        .press-article-image:hover {
            transform: scale(1.02);
        }

        .press-article-subtitle {
            font-size: 0.95rem;
            color: #64748B;
            font-weight: 500;
            text-align: center;
            margin: 0;
        }

        .press-article-link {
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
            padding: 1rem 2rem;
            background: linear-gradient(135deg, var(--primary) 0%, #2A9D8F 100%);
            color: white;
            text-decoration: none;
            font-weight: 600;
            font-size: 1rem;
            border-radius: 12px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(58, 183, 149, 0.3);
        }

        .press-article-link:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(58, 183, 149, 0.4);
            gap: 1rem;
        }

        .press-article-link svg {
            width: 20px;
            height: 20px;
            stroke-width: 2.5;
        }

        /* Custom scrollbar for press modal */
        .press-modal-content::-webkit-scrollbar {
            width: 8px;
        }

        .press-modal-content::-webkit-scrollbar-track {
            background: #f1f5f9;
            border-radius: 10px;
        }

        .press-modal-content::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 10px;
        }

        .press-modal-content::-webkit-scrollbar-thumb:hover {
            background: #94a3b8;
        }

        @media (max-width: 768px) {
            .press-modal-content {
                width: 95%;
                padding: 1.5rem;
                max-height: 95vh;
                border-radius: 1rem;
            }

            .press-modal-title {
                font-size: 1.375rem;
                margin-bottom: 1rem;
            }

            .press-modal-close {
                top: 1rem;
                right: 1rem;
                width: 40px;
                height: 40px;
            }

            .press-article-link {
                padding: 0.875rem 1.5rem;
                font-size: 0.9375rem;
                width: 100%;
                justify-content: center;
            }
        }

        @media (max-width: 480px) {
            .press-modal-content {
                padding: 1rem;
            }

            .press-modal-title {
                font-size: 1.125rem;
                padding-right: 2.5rem;
            }

            .press-modal-close {
                width: 36px;
                height: 36px;
            }

            .press-article-link {
                padding: 0.75rem 1.25rem;
                font-size: 0.875rem;
            }
        }

        /* ================================
           RESPONSIVE - Story Section
        ================================ */
        @media (max-width: 768px) {
            .story-section {
                padding: 3rem 0.5rem;
                overflow-x: hidden;
            }

            .story-container {
                max-width: 100%;
                padding: 0;
            }

            .story-header {
                margin-bottom: 2rem;
                padding: 0 0.5rem;
            }

            .story-card {
                padding: 1rem;
                margin: 0;
                width: 100%;
                max-width: 100%;
                box-sizing: border-box;
            }

            .story-founder-header {
                flex-direction: column;
                text-align: center;
                padding-bottom: 1.5rem;
                margin-bottom: 1.5rem;
                gap: 1rem;
            }

            .story-founder-photo {
                width: 100px;
                height: 100px;
            }

            .story-founder-info h3 {
                font-size: 1.25rem;
            }

            .story-founder-role {
                font-size: 0.9375rem;
            }

            .story-founder-credentials {
                font-size: 0.8125rem;
            }

            .story-founder-links {
                flex-direction: column;
                gap: 0.75rem;
                width: 100%;
            }

            .story-founder-linkedin {
                font-size: 0.8125rem;
            }

            .story-founder-linkedin svg {
                width: 16px;
                height: 16px;
            }

            .story-founder-press {
                font-size: 0.8125rem;
                width: 100%;
                justify-content: center;
            }

            .story-founder-press svg {
                width: 16px;
                height: 16px;
            }

            .story-timeline {
                gap: 1.5rem;
            }

            .story-block {
                padding-left: 0;
            }

            .story-block::before {
                display: none;
            }

            .story-block h4 {
                font-size: 1rem;
                flex-direction: column;
                align-items: flex-start;
            }

            .story-list {
                grid-template-columns: 1fr;
                gap: 0.5rem;
            }

            .story-footer {
                flex-direction: column;
                align-items: stretch;
                gap: 1.5rem;
            }

            .story-footer-text {
                flex-direction: column;
                gap: 0.75rem;
            }

            .story-cta-button {
                width: 100%;
                justify-content: center;
            }
        }

        /* Très petits écrans */
        @media (max-width: 480px) {
            .story-section {
                padding: 2rem 0.25rem;
            }

            .story-header {
                padding: 0 0.25rem;
            }

            .story-card {
                padding: 0.75rem;
                width: 100%;
                max-width: 100%;
                box-sizing: border-box;
            }

            .story-founder-photo {
                width: 80px;
                height: 80px;
            }
        }

        /* ================================
           RESPONSIVE - PWA Branding Section
        ================================ */
        @media (max-width: 1024px) {
            .pwa-showcase {
                grid-template-columns: 1fr;
                gap: 3rem;
            }

            .pwa-phone-frame {
                width: 280px;
                height: 560px;
            }

            .pwa-benefits-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 768px) {
            .pwa-branding-section {
                padding: 4rem 1.5rem;
            }

            .pwa-branding-header {
                margin-bottom: 3rem;
            }

            .pwa-branding-header h2 {
                font-size: 1.75rem;
            }

            .pwa-subtitle {
                font-size: 1rem;
            }

            .pwa-phone-frame {
                width: 260px;
                height: 520px;
            }

            .pwa-config-preview {
                padding: 1.5rem;
            }

            .pwa-benefits-grid {
                grid-template-columns: 1fr;
                gap: 1rem;
            }

            .pwa-benefit-card {
                padding: 1.25rem;
            }

            .pwa-cta-box {
                flex-direction: column;
                padding: 2rem;
                text-align: center;
            }

            .pwa-cta-content h3 {
                font-size: 1.25rem;
            }

            .pwa-cta-content p {
                font-size: 0.9375rem;
            }

            .pwa-cta-box .btn {
                width: 100%;
            }
        }

        @media (max-width: 480px) {
            .pwa-branding-section {
                padding: 3rem 1rem;
            }

            .pwa-badge {
                font-size: 0.75rem;
                padding: 0.375rem 0.75rem;
            }

            .pwa-branding-header h2 {
                font-size: 1.5rem;
            }

            .pwa-subtitle {
                font-size: 0.9375rem;
            }

            .pwa-phone-frame {
                width: 240px;
                height: 480px;
                border-radius: 35px;
                padding: 10px;
            }

            .pwa-phone-notch {
                width: 110px;
                height: 22px;
            }

            .pwa-icon-branded {
                width: 60px;
                height: 60px;
            }

            .pwa-icon-branded svg {
                width: 30px;
                height: 30px;
            }

            .pwa-config-preview {
                padding: 1.25rem;
            }

            .pwa-color-sample {
                width: 40px;
                height: 40px;
            }

            .pwa-cta-box {
                padding: 1.5rem;
            }

            .pwa-cta-content h3 {
                font-size: 1.125rem;
            }

            .pwa-cta-content p {
                font-size: 0.875rem;
            }
        }

/* ==========================================
   SEGMENT FORK SECTION (Alumni vs Diaspora)
   Post-hero decision section — replaces hero-fork
   ========================================== */
.segment-fork-section {
    padding: 5.5rem 1.5rem 6rem;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    position: relative;
    overflow: hidden;
}

.segment-fork-section::before {
    content: "";
    position: absolute;
    top: 20%;
    left: -10%;
    width: 45%;
    height: 100%;
    background: radial-gradient(ellipse at center, rgba(52, 129, 210, 0.05) 0%, transparent 70%);
    pointer-events: none;
}

.segment-fork-section::after {
    content: "";
    position: absolute;
    bottom: 5%;
    right: -10%;
    width: 45%;
    height: 100%;
    background: radial-gradient(ellipse at center, rgba(14, 165, 233, 0.05) 0%, transparent 70%);
    pointer-events: none;
}

.segment-fork-container {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    margin: 0 auto;
}

.segment-fork-header {
    text-align: center;
    margin-bottom: 3rem;
}

.segment-fork-eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #3481d2;
    background: rgba(52, 129, 210, 0.1);
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    margin-bottom: 1.25rem;
}

.segment-fork-title {
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    font-weight: 800;
    color: #0F172A;
    margin: 0;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.segment-fork-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
}

.segment-fork-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 2.25rem 2rem 2rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.segment-fork-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #3481d2, #60a5fa);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s ease;
}

.fork-diaspora::before {
    background: linear-gradient(90deg, #0ea5e9, #22d3ee);
}

.segment-fork-card::after {
    content: "";
    position: absolute;
    bottom: -120px;
    right: -80px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(52, 129, 210, 0.08) 0%, transparent 70%);
    pointer-events: none;
    transition: opacity 0.3s ease;
    opacity: 0.6;
}

.fork-diaspora::after {
    background: radial-gradient(circle, rgba(14, 165, 233, 0.08) 0%, transparent 70%);
}

.segment-fork-card:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: 0 28px 60px -20px rgba(52, 129, 210, 0.3), 0 8px 20px -8px rgba(15, 23, 42, 0.1);
}

.fork-diaspora:hover {
    box-shadow: 0 28px 60px -20px rgba(14, 165, 233, 0.3), 0 8px 20px -8px rgba(15, 23, 42, 0.1);
}

.segment-fork-card:hover::before {
    transform: scaleX(1);
}

.segment-fork-card:hover::after {
    opacity: 1;
}

.fork-card-top {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1.5rem;
}

.fork-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(52, 129, 210, 0.12), rgba(96, 165, 250, 0.15));
    color: #3481d2;
    flex-shrink: 0;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.fork-diaspora .fork-card-icon {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.12), rgba(34, 211, 238, 0.18));
    color: #0ea5e9;
}

.segment-fork-card:hover .fork-card-icon {
    background: linear-gradient(135deg, #3481d2, #60a5fa);
    color: #ffffff;
    transform: scale(1.05);
}

.fork-diaspora:hover .fork-card-icon {
    background: linear-gradient(135deg, #0ea5e9, #22d3ee);
    color: #ffffff;
}

.fork-card-icon svg {
    width: 26px;
    height: 26px;
}

.fork-card-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #3481d2;
    padding: 0.3rem 0.7rem;
    background: rgba(52, 129, 210, 0.08);
    border-radius: 999px;
}

.fork-diaspora .fork-card-label {
    color: #0ea5e9;
    background: rgba(14, 165, 233, 0.08);
}

.fork-card-headline {
    font-size: clamp(1.25rem, 1.8vw, 1.5rem);
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 0.6rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.fork-card-target {
    font-size: 0.85rem;
    color: #64748B;
    margin: 0 0 1.5rem;
    line-height: 1.5;
}

.fork-card-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    flex: 1;
}

.fork-card-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    font-size: 0.95rem;
    line-height: 1.45;
    color: #334155;
}

.fork-card-list li svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: #3481d2;
    margin-top: 0.15rem;
}

.fork-diaspora .fork-card-list li svg {
    color: #0ea5e9;
}

.fork-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.25rem;
    border-top: 1px solid #f1f5f9;
    flex-wrap: wrap;
}

.fork-card-price {
    font-size: 0.82rem;
    color: #64748B;
    font-weight: 600;
}

.fork-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.92rem;
    font-weight: 700;
    color: #3481d2;
    transition: gap 0.25s ease, color 0.25s ease;
}

.fork-diaspora .fork-card-cta {
    color: #0ea5e9;
}

.fork-card-cta svg {
    width: 16px;
    height: 16px;
    transition: transform 0.25s ease;
}

.segment-fork-card:hover .fork-card-cta {
    gap: 0.75rem;
}

.segment-fork-card:hover .fork-card-cta svg {
    transform: translateX(3px);
}

@media (max-width: 900px) {
    .segment-fork-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    .segment-fork-section {
        padding: 3.5rem 1.25rem 3.75rem;
    }
    .segment-fork-header {
        margin-bottom: 2rem;
    }
    .segment-fork-card {
        padding: 1.75rem 1.5rem 1.5rem;
    }
    .fork-card-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
}

/* ==========================================
   LEGACY HERO FORK CARDS (removed — kept empty block for CSS ordering)
   ========================================== */
.hero-fork {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem;
    margin: 1.75rem 0 2rem;
    max-width: 660px;
}

.hero-fork-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.95rem;
    padding: 1.1rem 3rem 1.1rem 1.1rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.hero-fork-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #3481d2, #60a5fa);
    opacity: 0;
    transition: opacity 0.22s ease;
}

.hero-fork-diaspora::before {
    background: linear-gradient(90deg, #0ea5e9, #22d3ee);
}

.hero-fork-card:hover {
    transform: translateY(-2px);
    border-color: transparent;
    box-shadow: 0 14px 28px -12px rgba(52, 129, 210, 0.28), 0 4px 10px -4px rgba(15, 23, 42, 0.08);
}

.hero-fork-card:hover::before {
    opacity: 1;
}

.hero-fork-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(52, 129, 210, 0.12), rgba(96, 165, 250, 0.12));
    color: #3481d2;
    transition: background 0.22s ease, color 0.22s ease;
}

.hero-fork-diaspora .hero-fork-icon {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.12), rgba(34, 211, 238, 0.14));
    color: #0ea5e9;
}

.hero-fork-card:hover .hero-fork-icon {
    background: linear-gradient(135deg, #3481d2, #60a5fa);
    color: #ffffff;
}

.hero-fork-diaspora:hover .hero-fork-icon {
    background: linear-gradient(135deg, #0ea5e9, #22d3ee);
    color: #ffffff;
}

.hero-fork-icon svg {
    width: 22px;
    height: 22px;
}

.hero-fork-body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
}

.hero-fork-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #3481d2;
    line-height: 1;
    margin-bottom: 0.3rem;
}

.hero-fork-diaspora .hero-fork-label {
    color: #0ea5e9;
}

.hero-fork-title {
    font-size: 1.02rem;
    font-weight: 700;
    color: #0F172A;
    margin: 0;
    line-height: 1.25;
    letter-spacing: -0.005em;
}

.hero-fork-subtitle {
    font-size: 0.8rem;
    color: #64748B;
    margin: 0.1rem 0 0;
    line-height: 1.4;
}

.hero-fork-arrow {
    position: absolute;
    right: 1.1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #64748B;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.hero-fork-arrow svg {
    width: 14px;
    height: 14px;
}

.hero-fork-card:hover .hero-fork-arrow {
    background: #3481d2;
    color: #ffffff;
    transform: translateY(-50%) translateX(3px);
}

.hero-fork-diaspora:hover .hero-fork-arrow {
    background: #0ea5e9;
}

@media (max-width: 768px) {
    .hero-fork {
        grid-template-columns: 1fr;
        gap: 0.7rem;
        margin: 1.25rem 0 1.5rem;
    }
    .hero-fork-card {
        padding: 0.95rem 2.75rem 0.95rem 0.95rem;
    }
    .hero-fork-icon {
        width: 40px;
        height: 40px;
    }
    .hero-fork-icon svg {
        width: 20px;
        height: 20px;
    }
    .hero-fork-title {
        font-size: 0.98rem;
    }
}

/* ==========================================
   SEGMENT PAGES (alumni / diaspora)
   Use existing section / pain-card / faq styles.
   Add only segment-specific helpers below.
   ========================================== */
.segment-hero {
    padding: 9rem 1.5rem 5rem;
    text-align: center;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    position: relative;
    overflow: hidden;
}

.segment-hero::before {
    content: "";
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    width: 90vw;
    max-width: 900px;
    height: 540px;
    background: radial-gradient(ellipse at center, rgba(52, 129, 210, 0.12) 0%, rgba(96, 165, 250, 0.06) 40%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.segment-hero::after {
    content: "";
    position: absolute;
    bottom: -140px;
    left: -120px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.08) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.segment-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 860px;
    margin: 0 auto;
}

.segment-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.1rem 0.5rem 0.7rem;
    background: linear-gradient(135deg, #3481d2, #60a5fa);
    color: #ffffff;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 1.75rem;
    box-shadow: 0 6px 20px -6px rgba(52, 129, 210, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.segment-badge svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.segment-hero h1 {
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 800;
    color: #0F172A;
    line-height: 1.15;
    margin: 0 0 1rem;
}

.segment-hero-subtitle {
    font-size: clamp(1rem, 1.6vw, 1.18rem);
    color: #475569;
    line-height: 1.55;
    max-width: 680px;
    margin: 0 auto 2rem;
}

.segment-hero-cta {
    display: flex;
    gap: 0.8rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* Clean feature split (annuaire + career/housing) using real product videos */
.feature-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
    padding: 1rem 0;
}

.feature-split.reverse .feature-split-text {
    order: 2;
}

.feature-split-text h3 {
    font-size: clamp(1.4rem, 2.2vw, 1.9rem);
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 0.9rem;
    line-height: 1.2;
}

.feature-split-text p {
    color: #475569;
    line-height: 1.65;
    margin: 0;
    font-size: 1.02rem;
}

.feature-pill {
    display: inline-block;
    padding: 0.3rem 0.75rem;
    background: rgba(52, 129, 210, 0.1);
    color: #3481d2;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    margin-bottom: 0.9rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.feature-split-media {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 40px -12px rgba(52, 129, 210, 0.28), 0 2px 8px rgba(15, 23, 42, 0.06);
    margin: 0 auto;
    width: 100%;
    max-width: 480px;
    line-height: 0;
}

.feature-split-media video,
.feature-split-media img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .feature-split {
        grid-template-columns: 1fr;
        gap: 1.25rem;
        text-align: left;
        padding: 0.5rem 0;
    }
    .feature-split.reverse .feature-split-text {
        order: 0;
    }
    .feature-split-media {
        max-width: 100%;
    }
}

.segment-proof {
    background: linear-gradient(135deg, #1e3a8a 0%, #3481d2 55%, #60a5fa 100%);
    color: #fff;
    padding: 4.5rem 1.5rem 4.75rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.segment-proof::before {
    content: "";
    position: absolute;
    top: -40%;
    right: -20%;
    width: 55%;
    height: 180%;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.15) 0%, transparent 60%);
    pointer-events: none;
}

.segment-proof-inner {
    max-width: 760px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.segment-proof h2 {
    font-size: clamp(1.7rem, 3vw, 2.2rem);
    margin: 0 0 1rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.segment-proof p {
    font-size: 1.08rem;
    line-height: 1.6;
    opacity: 0.92;
    margin: 0 0 1.75rem;
}

.segment-proof-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.15rem;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 600;
    backdrop-filter: blur(4px);
}

.segment-final-cta {
    padding: 5.5rem 1.5rem 6rem;
    text-align: center;
    background: linear-gradient(135deg, #0F172A 0%, #1e3a8a 55%, #3481d2 100%);
    position: relative;
    overflow: hidden;
    color: #ffffff;
}

.segment-final-cta::before {
    content: "";
    position: absolute;
    top: -30%;
    right: -10%;
    width: 50%;
    height: 160%;
    background: radial-gradient(ellipse at center, rgba(96, 165, 250, 0.25) 0%, transparent 60%);
    pointer-events: none;
}

.segment-final-cta::after {
    content: "";
    position: absolute;
    bottom: -40%;
    left: -15%;
    width: 50%;
    height: 160%;
    background: radial-gradient(ellipse at center, rgba(14, 165, 233, 0.18) 0%, transparent 60%);
    pointer-events: none;
}

.segment-final-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
}

.segment-final-cta h2 {
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    color: #ffffff;
    margin: 0 0 1rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.015em;
}

.segment-final-cta p {
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.08rem;
    max-width: 560px;
    margin: 0 auto 2rem;
    line-height: 1.6;
}

.segment-final-cta-buttons {
    display: flex;
    gap: 0.8rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* Override ghost button on dark CTA bg */
.segment-final-cta .btn-ghost {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #ffffff;
    backdrop-filter: blur(6px);
}

.segment-final-cta .btn-ghost:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.4);
}

/* ==========================================
   TRUST ROW (under CTAs)
   ========================================== */
.trust-row {
    display: flex;
    gap: 1.5rem 1.75rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 1.75rem;
    font-size: 0.82rem;
    color: rgba(71, 85, 105, 0.9);
}

.trust-row.on-dark {
    color: rgba(255, 255, 255, 0.72);
}

.trust-item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.trust-item svg {
    width: 16px;
    height: 16px;
    color: #3481d2;
    flex-shrink: 0;
}

.trust-row.on-dark .trust-item svg {
    color: #60a5fa;
}

@media (max-width: 768px) {
    .segment-hero {
        padding: 7rem 1.25rem 3rem;
    }
    .segment-hero h1 {
        font-size: clamp(1.65rem, 6vw, 2.2rem);
    }
    .segment-hero-subtitle {
        font-size: 1rem;
    }
    .segment-hero-cta,
    .segment-final-cta-buttons {
        flex-direction: column;
        width: 100%;
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }
    .segment-hero-cta .btn,
    .segment-final-cta-buttons .btn {
        width: 100%;
        justify-content: center;
    }
    .segment-final-cta {
        padding: 4rem 1.25rem 4.5rem;
    }
    .trust-row {
        gap: 0.65rem 1.2rem;
        font-size: 0.78rem;
    }
}

/* ==========================================
   PROMISES (6 promesses) — alumni/diaspora
   ========================================== */
.promises-intro {
    padding: 5rem 1.5rem 1.5rem;
    text-align: center;
    background: #ffffff;
}

.promises-eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #3481d2;
    background: rgba(52, 129, 210, 0.1);
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    margin-bottom: 1rem;
}

.promises-headline,
.also-headline {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 800;
    color: #0F172A;
    line-height: 1.2;
    margin: 0 auto;
    max-width: 820px;
}

.promise {
    padding: 4.5rem 1.5rem;
    background: #ffffff;
}

.promise:nth-child(even) {
    background: #f8fafc;
}

.promise-container {
    max-width: 1120px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.promise.reverse .promise-text {
    order: 2;
}

.promise-number {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: #3481d2;
    margin-bottom: 1.1rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.promise-number::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 2px;
    background: linear-gradient(90deg, #3481d2, #60a5fa);
    border-radius: 2px;
    margin-right: 0.5rem;
    transform: translateY(-3px);
}

.promise-badge {
    display: inline-block;
    padding: 0.3rem 0.75rem;
    background: rgba(52, 129, 210, 0.1);
    color: #3481d2;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.promise-badge.premium {
    background: linear-gradient(135deg, rgba(234, 179, 8, 0.16), rgba(249, 115, 22, 0.14));
    color: #b45309;
    box-shadow: inset 0 0 0 1px rgba(234, 179, 8, 0.25);
}

.promise-footnote {
    margin: 1.25rem 0 0;
    padding: 0.75rem 1rem;
    background: rgba(52, 129, 210, 0.06);
    border-left: 3px solid #3481d2;
    border-radius: 0 8px 8px 0;
    font-size: 0.95rem;
    color: #334155;
    line-height: 1.5;
}

.promise-title {
    font-size: clamp(1.6rem, 2.6vw, 2.15rem);
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 0.9rem;
    line-height: 1.18;
    letter-spacing: -0.015em;
}

.promise-lead {
    font-size: 1.08rem;
    color: #475569;
    line-height: 1.6;
    margin: 0 0 1.5rem;
}

.promise-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.promise-list li {
    position: relative;
    padding-left: 1.5rem;
    color: #334155;
    line-height: 1.55;
    font-size: 0.98rem;
}

.promise-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3481d2;
}

.promise-list li code {
    font-family: 'SF Mono', Monaco, monospace;
    background: #f1f5f9;
    padding: 0.05rem 0.35rem;
    border-radius: 4px;
    font-size: 0.88em;
    color: #0F172A;
}

.promise-list li em {
    color: #0F172A;
    font-style: italic;
}

.beta-tag {
    display: inline-block;
    padding: 0.1rem 0.4rem;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #92400e;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-right: 0.3rem;
    vertical-align: middle;
}

.promise-media {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 18px 45px -15px rgba(52, 129, 210, 0.3), 0 3px 10px rgba(15, 23, 42, 0.08);
    line-height: 0;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
}

.promise-media video,
.promise-media img {
    width: 100%;
    height: auto;
    display: block;
}

.promise-media.placeholder {
    aspect-ratio: 16 / 10;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
    color: #94a3b8;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    border: 1.5px dashed #cbd5e1;
}

.promise-placeholder-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* ==========================================
   LIFECYCLE DIAGRAM (concept, not fake UI)
   ========================================== */
.promise-media.lifecycle-diagram {
    background: linear-gradient(180deg, #f8fafc 0%, #eff6ff 100%);
    padding: 1.75rem 1.5rem 1.6rem;
    line-height: 1.5;
    aspect-ratio: auto;
}
.lifecycle-sources { display: grid; gap: 0.6rem; }
.lifecycle-source {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem 0.95rem;
}
.lifecycle-source-tag {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    color: #3481d2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 0.3rem;
}
.lifecycle-source-title { font-weight: 700; color: #0f172a; font-size: 0.95rem; margin-bottom: 0.15rem; }
.lifecycle-source-desc { font-size: 0.82rem; color: #64748b; }
.lifecycle-arrow { display: flex; justify-content: center; color: #3481d2; padding: 0.55rem 0; }
.lifecycle-arrow svg { width: 24px; height: 24px; }
.lifecycle-target {
    display: flex; align-items: center; gap: 0.8rem;
    background: linear-gradient(135deg, #3481d2, #60a5fa);
    color: #fff;
    padding: 0.9rem 1.15rem;
    border-radius: 10px;
    box-shadow: 0 8px 20px -8px rgba(52, 129, 210, 0.5);
}
.lifecycle-target svg { width: 22px; height: 22px; flex-shrink: 0; }
.lifecycle-target-label { font-size: 0.7rem; opacity: 0.85; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.3; }
.lifecycle-target-value { font-size: 1.15rem; font-weight: 700; line-height: 1.2; }

/* ==========================================
   RECRUITER FLOW (80/20 split visual)
   ========================================== */
.promise-media.recruiter-flow {
    background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
    padding: 1.5rem 1.35rem;
    line-height: 1.4;
    aspect-ratio: auto;
}
.recruiter-flow-step {
    background: #fff;
    border: 1px solid #d1fae5;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    text-align: center;
}
.recruiter-flow-step-label {
    font-size: 0.68rem;
    color: #047857;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    margin-bottom: 0.3rem;
}
.recruiter-flow-step-value { font-size: 1.25rem; font-weight: 800; color: #0f172a; }
.recruiter-flow-step-sub { font-size: 0.78rem; color: #64748b; margin-top: 0.15rem; }
.recruiter-flow-arrow { display: flex; justify-content: center; padding: 0.4rem 0; color: #10b981; }
.recruiter-flow-arrow svg { width: 22px; height: 22px; }
.recruiter-flow-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}
.recruiter-flow-split-you {
    background: linear-gradient(135deg, #10b981, #34d399);
    color: #fff;
    padding: 1rem 0.9rem;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 8px 20px -8px rgba(16, 185, 129, 0.5);
}
.recruiter-flow-split-them {
    background: #fff;
    border: 1px solid #d1fae5;
    color: #0f172a;
    padding: 1rem 0.9rem;
    border-radius: 10px;
    text-align: center;
}
.recruiter-flow-split-percentage { font-size: 0.75rem; font-weight: 700; opacity: 0.9; letter-spacing: 0.04em; }
.recruiter-flow-split-amount { font-size: 1.5rem; font-weight: 800; margin: 0.15rem 0; line-height: 1.1; }
.recruiter-flow-split-label { font-size: 0.78rem; opacity: 0.85; }

/* ==========================================
   HOWTO TIMELINE (4 steps horizontal)
   ========================================== */
.howto-section {
    padding: 5.5rem 1.5rem;
    background: #ffffff;
    text-align: center;
}
.howto-section .section-container { max-width: 1200px; margin: 0 auto; }
.howto-headline {
    font-size: 1.85rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0.5rem 0 0;
    letter-spacing: -0.01em;
}
.howto-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin: 3rem auto 0;
    padding: 0;
    list-style: none;
    text-align: left;
    position: relative;
}
.howto-step {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.5rem 1.35rem 1.4rem;
    position: relative;
    z-index: 1;
}
.howto-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3481d2, #60a5fa);
    color: #fff;
    font-weight: 800;
    font-size: 1rem;
    margin-bottom: 0.85rem;
    box-shadow: 0 4px 12px -4px rgba(52, 129, 210, 0.5);
}
.howto-step-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(52,129,210,0.1), rgba(96,165,250,0.14));
    color: #3481d2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.5rem;
    vertical-align: top;
}
.howto-step-icon svg { width: 20px; height: 20px; }
.howto-step h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 0.4rem;
    line-height: 1.3;
}
.howto-step p { font-size: 0.88rem; color: #64748B; line-height: 1.55; margin: 0; }
.howto-step p code {
    font-family: 'SF Mono', Monaco, monospace;
    background: #f1f5f9;
    padding: 0.05rem 0.3rem;
    border-radius: 3px;
    font-size: 0.9em;
    color: #0F172A;
}
.howto-timeline::before {
    content: "";
    position: absolute;
    top: calc(1.5rem + 19px);
    left: 8%;
    right: 8%;
    height: 2px;
    background: repeating-linear-gradient(90deg, #cbd5e1 0 6px, transparent 6px 12px);
    z-index: 0;
}
@media (max-width: 960px) {
    .howto-timeline { grid-template-columns: repeat(2, 1fr); }
    .howto-timeline::before { display: none; }
}
@media (max-width: 600px) {
    .howto-timeline { grid-template-columns: 1fr; gap: 1rem; }
}

/* ==========================================
   ET AUSSI GRID
   ========================================== */
.also-section {
    padding: 5.5rem 1.5rem 5.5rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    text-align: center;
}

.also-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.1rem;
    max-width: 1120px;
    margin: 3rem auto 0;
    text-align: left;
}

.also-card {
    padding: 1.6rem 1.35rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
    position: relative;
}

.also-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-3px);
    box-shadow: 0 10px 28px -10px rgba(15, 23, 42, 0.12), 0 2px 6px rgba(15, 23, 42, 0.04);
}

.also-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: linear-gradient(135deg, rgba(52, 129, 210, 0.1), rgba(96, 165, 250, 0.14));
    color: #3481d2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.95rem;
    transition: background 0.22s ease, color 0.22s ease;
}

.also-card:hover .also-icon {
    background: linear-gradient(135deg, #3481d2, #60a5fa);
    color: #ffffff;
}

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

.also-card h4 {
    font-size: 0.98rem;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 0.35rem;
    line-height: 1.3;
}

.also-card p {
    font-size: 0.86rem;
    color: #64748B;
    line-height: 1.5;
    margin: 0;
}

.also-card p code {
    font-family: 'SF Mono', Monaco, monospace;
    background: #f1f5f9;
    padding: 0.05rem 0.3rem;
    border-radius: 3px;
    font-size: 0.9em;
    color: #0F172A;
}

@media (max-width: 960px) {
    .also-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .promise {
        padding: 2.25rem 1.25rem;
    }
    .promise-container {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .promise.reverse .promise-text {
        order: 0;
    }
    .promise-number {
        font-size: 2.25rem;
    }
    .also-grid {
        grid-template-columns: 1fr;
    }
    .also-section {
        padding: 3rem 1.25rem;
    }
}

/* ==========================================
   NAV DROPDOWN (Fonctionnalités / Comparer / Ressources)
   ========================================== */
.nav-item {
    position: relative;
}

.nav-item.has-dropdown {
    display: inline-flex;
    align-items: center;
}

.nav-dropdown-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-muted);
    padding: 0.5rem 1rem;
    transition: color 0.2s;
}

.nav-dropdown-trigger:hover,
.nav-item.has-dropdown:hover .nav-dropdown-trigger,
.nav-item.has-dropdown[data-open="true"] .nav-dropdown-trigger {
    color: var(--text-dark);
}

.nav-dropdown-arrow {
    width: 12px;
    height: 12px;
    transition: transform 0.2s ease;
    opacity: 0.7;
}

.nav-item.has-dropdown:hover .nav-dropdown-arrow,
.nav-item.has-dropdown[data-open="true"] .nav-dropdown-arrow {
    transform: rotate(180deg);
}

.nav-dropdown {
    position: absolute;
    top: calc(100% + 0.6rem);
    left: 50%;
    transform: translateX(-50%) translateY(-4px);
    min-width: 320px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 20px 48px -16px rgba(15, 23, 42, 0.18), 0 4px 12px -4px rgba(15, 23, 42, 0.08);
    padding: 0.6rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    z-index: 200;
}

.nav-item.has-dropdown:hover .nav-dropdown,
.nav-item.has-dropdown:focus-within .nav-dropdown,
.nav-item.has-dropdown[data-open="true"] .nav-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.nav-dropdown::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    height: 0.6rem;
}

.nav-dropdown-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.7rem 0.75rem;
    border-radius: 10px;
    text-decoration: none;
    color: #0F172A;
    transition: background 0.15s ease;
}

.nav-dropdown-item:hover {
    background: #f1f5f9;
}

.nav-dropdown-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(52, 129, 210, 0.1), rgba(96, 165, 250, 0.14));
    color: #3481d2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nav-dropdown-icon svg {
    width: 18px;
    height: 18px;
}

.nav-dropdown-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: #0F172A;
    line-height: 1.25;
}

.nav-dropdown-desc {
    font-size: 0.78rem;
    color: #64748B;
    line-height: 1.35;
    margin-top: 0.15rem;
}

.nav-dropdown-separator {
    height: 1px;
    background: #e2e8f0;
    margin: 0.4rem 0.5rem;
}

.nav-dropdown-footer {
    padding: 0.6rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #3481d2;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.nav-dropdown-footer:hover {
    text-decoration: underline;
}

/* Mobile: stack dropdown items inline, no fly-out */
@media (max-width: 900px) {
    .nav-dropdown {
        position: static;
        transform: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        box-shadow: none;
        border: 0;
        padding: 0 0 0 1rem;
        min-width: 0;
        background: transparent;
        display: none;
    }
    .nav-item.has-dropdown[data-open="true"] .nav-dropdown {
        display: block;
        transform: none;
        position: static;
        left: auto;
    }
    .nav-dropdown-item {
        padding: 0.5rem 0.5rem;
    }
    .nav-dropdown-icon {
        width: 28px;
        height: 28px;
    }
    .nav-dropdown-icon svg {
        width: 16px;
        height: 16px;
    }
}

/* ==========================================
   GUIDE ARTICLE TYPOGRAPHY
   For long-form content inside guide subfolders
   ========================================== */
.guide-article {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 1.5rem;
    color: #1e293b;
    font-size: 1.02rem;
    line-height: 1.7;
}

/* TL;DR callout for blog articles — extractable by AI Overviews */
.article-tldr {
    background: linear-gradient(135deg, #ecf4fc, #f8fbff);
    border-left: 4px solid #3481d2;
    border-radius: 10px;
    padding: 1.1rem 1.4rem;
    margin: 0 auto 2.5rem;
    max-width: 760px;
    font-size: 1.02rem;
    line-height: 1.65;
}
.article-tldr-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #3481d2;
    margin-bottom: 0.55rem;
}
.article-tldr p {
    margin: 0;
    color: #1e293b;
}

.guide-article > h2,
.guide-article > h3,
.guide-article > p,
.guide-article > ul,
.guide-article > ol,
.guide-article > details,
.guide-article > .pricing-table-wrapper,
.guide-article > .pain-grid {
    max-width: 760px;
}

.guide-article h2 {
    position: relative;
    font-size: clamp(1.45rem, 2.4vw, 1.85rem);
    font-weight: 800;
    color: #0F172A;
    letter-spacing: -0.015em;
    line-height: 1.2;
    margin: 3.5rem 0 1rem;
    padding-top: 2.5rem;
    border-top: 1px solid #e2e8f0;
}

.guide-article h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.guide-article h2::before {
    content: "";
    display: block;
    width: 40px;
    height: 3px;
    background: linear-gradient(90deg, #3481d2, #60a5fa);
    border-radius: 3px;
    margin-bottom: 1rem;
}

.guide-article h3 {
    font-size: 1.18rem;
    font-weight: 700;
    color: #0F172A;
    margin: 2rem 0 0.65rem;
    letter-spacing: -0.005em;
    line-height: 1.3;
}

.guide-article p {
    margin: 0 0 1rem;
    color: #334155;
}

.guide-article strong {
    color: #0F172A;
    font-weight: 700;
}

.guide-article em {
    color: #475569;
    font-style: italic;
}

.guide-article a {
    color: #3481d2;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.15s;
}

.guide-article a:hover {
    color: #1e40af;
}

.guide-article code {
    font-family: 'SF Mono', Monaco, 'Courier New', monospace;
    background: #f1f5f9;
    padding: 0.1rem 0.4rem;
    border-radius: 5px;
    font-size: 0.9em;
    color: #0F172A;
    border: 1px solid #e2e8f0;
}

.guide-article ul,
.guide-article ol {
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
}

.guide-article ul li,
.guide-article ol li {
    position: relative;
    padding: 0.15rem 0 0.15rem 1.75rem;
    margin: 0.2rem 0;
    color: #334155;
    line-height: 1.65;
}

.guide-article ul li::before {
    content: "";
    position: absolute;
    left: 0.3rem;
    top: 0.8rem;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #3481d2;
}

.guide-article ol {
    counter-reset: guide-counter;
}

.guide-article ol li {
    counter-increment: guide-counter;
}

.guide-article ol li::before {
    content: counter(guide-counter);
    position: absolute;
    left: 0;
    top: 0.25rem;
    width: 1.35rem;
    height: 1.35rem;
    background: rgba(52, 129, 210, 0.1);
    color: #3481d2;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.guide-article details {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1rem 1.15rem;
    margin: 0.6rem 0;
}

.guide-article details[open] {
    border-color: #3481d2;
    background: #ffffff;
    box-shadow: 0 4px 12px -4px rgba(15, 23, 42, 0.08);
}

.guide-article details summary {
    cursor: pointer;
    font-weight: 600;
    color: #0F172A;
    list-style: none;
}

.guide-article details summary::-webkit-details-marker {
    display: none;
}

.guide-article details summary::after {
    content: "\002B";
    float: right;
    font-size: 1.3rem;
    line-height: 1;
    color: #3481d2;
    font-weight: 400;
    margin-left: 0.5rem;
}

.guide-article details[open] summary::after {
    content: "\2212";
}

.guide-article details p {
    margin-top: 0.75rem;
    color: #475569;
}

/* Highlight pull-quote style */
.guide-callout {
    background: linear-gradient(135deg, rgba(52, 129, 210, 0.06), rgba(96, 165, 250, 0.06));
    border-left: 4px solid #3481d2;
    border-radius: 0 12px 12px 0;
    padding: 1.25rem 1.5rem;
    margin: 1.75rem 0;
    color: #0F172A;
    font-size: 1.02rem;
}

.guide-callout strong {
    color: #1e40af;
}

/* Full-width breakout for tables in guides */
.guide-article .pricing-table-wrapper {
    max-width: 100%;
    margin: 2rem -1rem;
}

/* Hero of guide pages - tighter than segment-hero */
.guide-hero {
    padding: 7rem 1.5rem 3.5rem;
    text-align: center;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    position: relative;
    overflow: hidden;
}

.guide-hero::before {
    content: "";
    position: absolute;
    top: -30%;
    left: 50%;
    transform: translateX(-50%);
    width: 80vw;
    max-width: 700px;
    height: 400px;
    background: radial-gradient(ellipse at center, rgba(52, 129, 210, 0.08) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.guide-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
}

.guide-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.95rem;
    background: rgba(52, 129, 210, 0.1);
    color: #3481d2;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}

.guide-hero h1 {
    font-size: clamp(1.9rem, 3.6vw, 2.75rem);
    font-weight: 800;
    color: #0F172A;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin: 0 0 1.25rem;
}

.guide-lead {
    font-size: clamp(1.05rem, 1.6vw, 1.2rem);
    color: #475569;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 660px;
}

.guide-meta {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 1.75rem;
    font-size: 0.85rem;
    color: #64748B;
}

.guide-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.guide-meta-item svg {
    width: 16px;
    height: 16px;
    color: #3481d2;
}

/* Container for guide body sections */
.guide-body {
    background: #ffffff;
    padding: 4rem 0 5rem;
}

@media (max-width: 768px) {
    .guide-hero {
        padding: 6rem 1.25rem 2.5rem;
    }
    .guide-article {
        padding: 0 1.25rem;
        font-size: 1rem;
    }
    .guide-article h2 {
        font-size: 1.4rem;
        margin-top: 2.5rem;
        padding-top: 2rem;
    }
    .guide-article .pricing-table-wrapper {
        margin: 1.5rem -0.5rem;
        overflow-x: auto;
    }
}

/* ==========================================
   PRICING SEGMENT TABS (Alumni / Diaspora)
   High-visibility segmented control for conversion
   ========================================== */
.pricing-segment-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    padding: 0.55rem;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    margin: 0 auto 3rem;
    max-width: 780px;
}

.pricing-segment-tab {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    background: transparent;
    border: 0;
    border-radius: 12px;
    cursor: pointer;
    font-family: inherit;
    color: #475569;
    transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
    text-align: left;
    min-height: 76px;
}

.pricing-segment-tab-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #ffffff;
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
}

.pricing-segment-tab-icon svg {
    width: 22px;
    height: 22px;
}

.pricing-segment-tab-body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.pricing-segment-tab-label {
    font-size: 1.02rem;
    font-weight: 700;
    color: #0F172A;
    line-height: 1.2;
    letter-spacing: -0.005em;
}

.pricing-segment-tab-sub {
    font-size: 0.8rem;
    font-weight: 500;
    color: #64748B;
    line-height: 1.3;
}

.pricing-segment-tab:hover:not(.active) {
    background: rgba(255, 255, 255, 0.6);
}

.pricing-segment-tab:hover:not(.active) .pricing-segment-tab-icon {
    color: #3481d2;
    transform: scale(1.05);
}

/* ACTIVE state — bold, impossible to miss */
.pricing-segment-tab.active {
    background: linear-gradient(135deg, #3481d2 0%, #60a5fa 100%);
    box-shadow: 0 10px 24px -8px rgba(52, 129, 210, 0.5), 0 2px 6px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.pricing-segment-tab.active .pricing-segment-tab-icon {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.pricing-segment-tab.active .pricing-segment-tab-label {
    color: #ffffff;
}

.pricing-segment-tab.active .pricing-segment-tab-sub {
    color: rgba(255, 255, 255, 0.85);
}

.pricing-segment-content[hidden] {
    display: none !important;
}

@media (max-width: 720px) {
    .pricing-segment-tabs {
        grid-template-columns: 1fr;
        gap: 0.5rem;
        padding: 0.4rem;
    }
    .pricing-segment-tab {
        min-height: 66px;
        padding: 0.9rem 1rem;
    }
    .pricing-segment-tab-icon {
        width: 38px;
        height: 38px;
    }
    .pricing-segment-tab-icon svg {
        width: 20px;
        height: 20px;
    }
    .pricing-segment-tab-label {
        font-size: 0.98rem;
    }
}

/* ==========================================
   ACCOMPANIED BY (Le Village by CA Toulouse)
   ========================================== */
.accompanied-by {
    background: #ffffff;
    padding: 2.25rem 1.5rem;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}

.accompanied-by-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.75rem;
    flex-wrap: wrap;
}

.accompanied-by-label {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #64748B;
}

.accompanied-by-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    text-decoration: none;
    color: inherit;
    padding: 0.5rem 0.85rem;
    border-radius: 12px;
    transition: background 0.2s ease, transform 0.2s ease;
}

.accompanied-by-logo:hover {
    background: #f8fafc;
    transform: translateY(-1px);
}

.accompanied-by-logo img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    flex-shrink: 0;
}

.accompanied-by-name {
    font-size: 0.85rem;
    line-height: 1.2;
    color: #0F172A;
    font-weight: 500;
}

.accompanied-by-name strong {
    font-weight: 800;
    letter-spacing: -0.01em;
}

@media (max-width: 640px) {
    .accompanied-by-inner {
        gap: 0.85rem;
        flex-direction: column;
        text-align: center;
    }
    .accompanied-by-label {
        font-size: 0.72rem;
    }
}

/* ==========================================
   FEATURES TEASER (homepage: 3 spotlight cards → dedicated pages)
   ========================================== */
.features-teaser {
    background: #ffffff;
    padding: 5rem 1.5rem 5.5rem;
}

.features-teaser-container {
    max-width: 1180px;
    margin: 0 auto;
}

.features-teaser-header {
    text-align: center;
    margin-bottom: 3rem;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.features-teaser-eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #3481d2;
    background: rgba(52, 129, 210, 0.1);
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    margin-bottom: 1.25rem;
}

.features-teaser-header h2 {
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    font-weight: 800;
    color: #0F172A;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 1rem;
}

.features-teaser-subtitle {
    font-size: 1.05rem;
    color: #475569;
    line-height: 1.55;
    margin: 0;
}

.features-teaser-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.features-teaser-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 2rem 1.6rem 1.75rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    overflow: hidden;
}

.features-teaser-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #3481d2, #60a5fa);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.features-teaser-card:hover {
    transform: translateY(-4px);
    border-color: transparent;
    box-shadow: 0 20px 44px -18px rgba(52, 129, 210, 0.28), 0 6px 12px -4px rgba(15, 23, 42, 0.08);
}

.features-teaser-card:hover::before {
    transform: scaleX(1);
}

.features-teaser-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(52, 129, 210, 0.1), rgba(96, 165, 250, 0.15));
    color: #3481d2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.features-teaser-icon svg {
    width: 26px;
    height: 26px;
}

.features-teaser-card:hover .features-teaser-icon {
    background: linear-gradient(135deg, #3481d2, #60a5fa);
    color: #fff;
    transform: scale(1.06);
}

.features-teaser-card h3 {
    font-size: 1.2rem;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 0.6rem;
    letter-spacing: -0.01em;
}

.features-teaser-card p {
    font-size: 0.95rem;
    color: #64748B;
    line-height: 1.55;
    margin: 0 0 1.25rem;
    flex: 1;
}

.features-teaser-cta {
    font-size: 0.9rem;
    font-weight: 700;
    color: #3481d2;
    transition: color 0.2s ease, gap 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.features-teaser-card:hover .features-teaser-cta {
    gap: 0.5rem;
}

@media (max-width: 900px) {
    .features-teaser-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .features-teaser {
        padding: 3.5rem 1.25rem 4rem;
    }
}

/* ==========================================
   PRICING SIMPLIFIED — only on homepage (inside .pricing-segment-content tabs)
   Segment pages (alumni/ + diaspora/) keep their mobile cards hidden on
   desktop and show the full comparison table instead.
   ========================================== */
.pricing-segment-content .pricing-mobile-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 1100px;
    margin: 0 auto 2.5rem;
}

@media (max-width: 960px) {
    .pricing-segment-content .pricing-mobile-cards {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* Style individual mobile card for desktop use (only inside segment tabs) */
.pricing-segment-content .pricing-mobile-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.pricing-segment-content .pricing-mobile-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px -12px rgba(15, 23, 42, 0.12);
}

.pricing-segment-content .pricing-mobile-card.featured {
    border-color: #3481d2;
    box-shadow: 0 14px 36px -12px rgba(52, 129, 210, 0.28);
}

/* "Voir le comparatif complet" link */
.pricing-more-link {
    text-align: center;
    margin: 1.25rem 0 0;
}

.pricing-more-btn {
    display: inline-block;
    padding: 0.85rem 1.5rem;
    color: #3481d2;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid rgba(52, 129, 210, 0.25);
    border-radius: 999px;
    background: rgba(52, 129, 210, 0.04);
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    font-size: 0.95rem;
}

.pricing-more-btn:hover {
    background: rgba(52, 129, 210, 0.1);
    border-color: #3481d2;
    transform: translateY(-1px);
}

/* ==========================================
   PRICING COMPARE CARD (upgraded "Voir le comparatif complet" CTA)
   ========================================== */
.pricing-compare-card {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    max-width: 720px;
    margin: 1rem auto 2rem;
    padding: 1.15rem 1.5rem 1.15rem 1.25rem;
    background: linear-gradient(135deg, rgba(52, 129, 210, 0.04), rgba(96, 165, 250, 0.06));
    border: 1px solid rgba(52, 129, 210, 0.22);
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.pricing-compare-card:hover {
    transform: translateY(-2px);
    border-color: #3481d2;
    box-shadow: 0 14px 28px -12px rgba(52, 129, 210, 0.28);
}

.pricing-compare-icon {
    width: 46px;
    height: 46px;
    border-radius: 11px;
    background: linear-gradient(135deg, #3481d2, #60a5fa);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 6px 14px -4px rgba(52, 129, 210, 0.4);
}

.pricing-compare-icon svg {
    width: 22px;
    height: 22px;
}

.pricing-compare-body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    flex: 1;
    min-width: 0;
}

.pricing-compare-title {
    font-size: 1rem;
    font-weight: 800;
    color: #0F172A;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.pricing-compare-sub {
    font-size: 0.82rem;
    color: #64748B;
    line-height: 1.4;
}

.pricing-compare-arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ffffff;
    color: #3481d2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.25s ease, background 0.22s ease, color 0.22s ease;
    box-shadow: inset 0 0 0 1px rgba(52, 129, 210, 0.2);
}

.pricing-compare-arrow svg {
    width: 16px;
    height: 16px;
}

.pricing-compare-card:hover .pricing-compare-arrow {
    background: #3481d2;
    color: #ffffff;
    transform: translateX(4px);
    box-shadow: inset 0 0 0 1px #3481d2;
}

@media (max-width: 640px) {
    .pricing-compare-card {
        padding: 1rem 1.1rem;
        gap: 0.85rem;
    }
    .pricing-compare-title {
        font-size: 0.95rem;
    }
    .pricing-compare-sub {
        font-size: 0.78rem;
    }
}

/* ==========================================
   MOBILE NAV — burger + drawer (≤ 900px)
   ========================================== */
.nav-burger {
    display: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 0.55rem;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    transition: background 0.2s ease;
}

.nav-burger:hover {
    background: rgba(15, 23, 42, 0.05);
}

.nav-burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #0F172A;
    border-radius: 2px;
    transition: transform 0.28s ease, opacity 0.2s ease;
}

body[data-nav-open="true"] .nav-burger span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

body[data-nav-open="true"] .nav-burger span:nth-child(2) {
    opacity: 0;
}

body[data-nav-open="true"] .nav-burger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 900px) {
    .nav-burger {
        display: flex;
        position: relative;
        z-index: 10000;
    }

    /* Drawer: full viewport overlay, above everything */
    .nav-cta {
        position: fixed;
        inset: 0;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        background: #ffffff;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        padding: 5rem 1.25rem 2.5rem;
        gap: 0.25rem;
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.28s ease, visibility 0.28s;
        z-index: 9998;
        -webkit-overflow-scrolling: touch;
    }

    body[data-nav-open="true"] .nav-cta {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    /* When drawer is open, raise the nav bar above the drawer so the burger
       stays visible and clickable to close. */
    body[data-nav-open="true"] .nav {
        z-index: 9999;
    }

    body[data-nav-open="true"] {
        overflow: hidden;
    }

    /* Nav items stack nicely in drawer */
    .nav-cta .nav-link {
        display: block;
        padding: 0.9rem 0.75rem;
        font-size: 1rem;
        color: #0F172A;
        border-radius: 8px;
        text-align: left;
    }

    .nav-cta .nav-link:hover,
    .nav-cta .nav-link.active {
        background: #f1f5f9;
    }

    /* Dropdown triggers in mobile — show subitems inline on open */
    .nav-cta .nav-item.has-dropdown {
        display: block;
        width: 100%;
    }

    .nav-cta .nav-dropdown-trigger {
        width: 100%;
        justify-content: space-between;
        padding: 0.9rem 0.75rem;
        font-size: 1rem;
        color: #0F172A;
        border-radius: 8px;
    }

    .nav-cta .nav-dropdown-trigger:hover {
        background: #f1f5f9;
    }

    /* Language flags: row below nav items */
    .nav-cta .lang-flags {
        margin: 1rem 0 0.75rem;
        padding: 0.75rem 0.75rem 0;
        border-top: 1px solid #e2e8f0;
        justify-content: flex-start;
        gap: 0.75rem;
    }

    .nav-cta .lang-flag {
        width: 32px;
        height: 24px;
    }

    /* Demander une démo button — full width in drawer */
    .nav-cta > .btn-primary {
        display: flex;
        justify-content: center;
        padding: 0.95rem 1.25rem;
        width: 100%;
        margin-top: 0.5rem;
        font-size: 1rem;
    }

    /* Override earlier rule that hid .nav-link on mobile */
    .nav-link {
        display: block !important;
    }
}

@media (max-width: 640px) {
    /* Restore visibility in drawer (previous rules hid .nav-link at ≤640px) */
    .nav-cta .nav-link {
        display: block !important;
    }
}

/* ==========================================
   BREADCRUMB NAVIGATION (SEO + UX)
   ========================================== */
.breadcrumb-nav {
    background: #ffffff;
    padding: 5.25rem 1.5rem 0.9rem;
    border-bottom: 1px solid #f1f5f9;
    width: 100%;
    margin: 0;
}

.breadcrumb-list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.82rem;
    color: #64748B;
    max-width: 1200px;
}

.breadcrumb-list li {
    display: inline-flex;
    align-items: center;
}

.breadcrumb-list li:not(:last-child)::after {
    content: "/";
    margin-left: 0.5rem;
    color: #cbd5e1;
}

.breadcrumb-list a {
    color: #64748B;
    text-decoration: none;
    transition: color 0.15s ease;
}

.breadcrumb-list a:hover {
    color: #3481d2;
    text-decoration: underline;
}

.breadcrumb-list li[aria-current="page"] {
    color: #0F172A;
    font-weight: 600;
}

@media (max-width: 640px) {
    .breadcrumb-nav {
        padding: 5rem 1.25rem 0.5rem;
        font-size: 0.78rem;
    }
}
