/* Feuille de la page « portefeuille », sortie du contenu.
   Ecrite dans la page, elle etait retelechargee a chaque visite
   d'une autre page. En fichier, le navigateur la garde. */
.aio-tw * { margin: 0; padding: 0; box-sizing: border-box !important; }

    .aio-tw { 

        font-family: 'Outfit', sans-serif !important;

        background: #020403 !important;

        color: #fefefe !important;

        line-height: 1.6 !important;

        width: 100% !important;

        min-height: 100vh !important;

        position: relative !important;

    }

    @keyframes ugradientFlow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

    @keyframes upixelFloat { 0%, 100% { transform: translateY(0) rotate(0); opacity: 0.15; } 50% { transform: translateY(-25px) rotate(5deg); opacity: 0.4; } }

    @keyframes uFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

    @keyframes uPulse { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } }

    @keyframes uShine { 0% { left: -100%; } 100% { left: 200%; } }

    .aio-tw .u-animate { opacity: 0; transform: translateY(30px); transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important; }

    .aio-tw .u-animate.u-visible { opacity: 1 !important; transform: translateY(0) !important; }

    .aio-tw .u-bg-grid {

        position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;

        pointer-events: none !important; z-index: 0 !important;

        background-image: linear-gradient(rgba(52, 211, 153,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(52, 211, 153,0.03) 1px, transparent 1px) !important;

        background-size: 60px 60px !important;

    }

    .aio-tw .u-pixels { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; pointer-events: none !important; z-index: 1 !important; overflow: hidden !important; }

    .aio-tw .u-pixel { position: absolute !important; background: #34D399 !important; animation: upixelFloat 12s ease-in-out infinite !important; border-radius: 2px !important; }

    .aio-tw .u-pixel:nth-child(1) { width: 8px !important; height: 8px !important; top: 8% !important; left: 5% !important; }

    .aio-tw .u-pixel:nth-child(2) { width: 12px !important; height: 12px !important; top: 15% !important; right: 10% !important; animation-delay: 2s !important; }

    .aio-tw .u-pixel:nth-child(3) { width: 6px !important; height: 6px !important; top: 45% !important; left: 3% !important; animation-delay: 4s !important; }

    .aio-tw .u-pixel:nth-child(4) { width: 10px !important; height: 10px !important; bottom: 25% !important; right: 5% !important; animation-delay: 1s !important; }

    .aio-tw .u-pixel:nth-child(5) { width: 8px !important; height: 8px !important; top: 70% !important; left: 92% !important; animation-delay: 3s !important; }

    .aio-tw .u-hero { padding: 80px 5% 60px !important; text-align: center !important; position: relative !important; z-index: 10 !important; background: transparent !important; overflow: hidden !important; }

    .aio-tw .u-hero-bg { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; background: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(52, 211, 153,0.15) 0%, transparent 60%) !important; pointer-events: none !important; }

    .aio-tw .u-hero-content { position: relative !important; z-index: 2 !important; max-width: 1000px !important; margin: 0 auto !important; }

    .aio-tw .u-hero-badge { display: inline-flex !important; align-items: center !important; gap: 10px !important; padding: 8px 20px 8px 10px !important; background: rgba(52, 211, 153,0.1) !important; border: 1px solid rgba(52, 211, 153,0.2) !important; border-radius: 50px !important; margin-bottom: 30px !important; animation: uFloat 3s ease-in-out infinite !important; }

    .aio-tw .u-hero-badge svg { width: 32px !important; height: 32px !important; }

    .aio-tw .u-hero-badge span { font-size: 0.85rem !important; font-weight: 600 !important; color: #D1FAE5 !important; letter-spacing: 0.5px !important; }

    .aio-tw .u-hero h1 { font-family: 'Syne', sans-serif !important; font-size: clamp(2.5rem, 6vw, 4rem) !important; font-weight: 800 !important; line-height: 1.1 !important; margin-bottom: 20px !important; letter-spacing: -2px !important; color: #fefefe !important; background: transparent !important; overflow-wrap: break-word !important; word-break: break-word !important; }

    .aio-tw .u-hero h1 .u-gradient { display: block !important; background: linear-gradient(135deg, #34D399 0%, #D1FAE5 50%, #34D399 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; background-clip: text !important; animation: ugradientFlow 4s ease infinite !important; overflow-wrap: break-word !important; word-break: break-word !important; }

    .aio-tw .u-hero h1 .u-flag { display: inline-block !important; font-size: 0.7em !important; margin-left: 10px !important; vertical-align: middle !important; }

    .aio-tw .u-hero-sub { font-size: 1.15rem !important; color: #9ca3af !important; max-width: 650px !important; margin: 0 auto 35px !important; line-height: 1.7 !important; }

    .aio-tw .u-hero-sub strong { color: #fefefe !important; font-weight: 600 !important; }

    .aio-tw .u-features-row { display: flex !important; justify-content: center !important; gap: 12px !important; flex-wrap: wrap !important; }

    .aio-tw .u-feat { display: flex !important; align-items: center !important; gap: 8px !important; padding: 12px 20px !important; background: rgba(8, 16, 13,0.8) !important; border: 1px solid rgba(52, 211, 153,0.15) !important; border-radius: 12px !important; font-size: 0.9rem !important; color: #fefefe !important; backdrop-filter: blur(10px) !important; transition: all 0.3s ease !important; }

    .aio-tw .u-feat:hover { border-color: rgba(52, 211, 153,0.4) !important; transform: translateY(-2px) !important; }

    .aio-tw .u-feat .u-icon { font-size: 1.1rem !important; }

    .aio-tw .u-filters { padding: 20px 0 25px !important; position: sticky !important; top: 0 !important; z-index: 100 !important; background: rgba(2, 4, 3,0.95) !important; backdrop-filter: blur(20px) !important; border-bottom: 1px solid rgba(52, 211, 153,0.08) !important; }

    .aio-tw .u-filter-container { max-width: 1500px !important; margin: 0 auto !important; padding: 0 20px !important; }

    .aio-tw .u-filter-scroll { display: flex !important; gap: 10px !important; overflow-x: auto !important; overflow-y: hidden !important; padding: 5px 5px 12px 5px !important; scroll-behavior: smooth !important; -webkit-overflow-scrolling: touch !important; }

    .aio-tw .u-filter-scroll::-webkit-scrollbar { height: 4px !important; }

    .aio-tw .u-filter-scroll::-webkit-scrollbar-track { background: rgba(52, 211, 153,0.05) !important; border-radius: 10px !important; }

    .aio-tw .u-filter-scroll::-webkit-scrollbar-thumb { background: #34D399 !important; border-radius: 10px !important; }

    .aio-tw .u-filter-btn { flex-shrink: 0 !important; padding: 10px 18px !important; background: rgba(8, 16, 13,0.6) !important; border: 1px solid rgba(52, 211, 153,0.1) !important; border-radius: 10px !important; color: #9ca3af !important; font-size: 0.85rem !important; font-weight: 500 !important; cursor: pointer !important; transition: all 0.3s ease !important; font-family: 'Outfit', sans-serif !important; white-space: nowrap !important; }

    .aio-tw .u-filter-btn:hover { background: rgba(52, 211, 153,0.1) !important; border-color: rgba(52, 211, 153,0.25) !important; color: #fefefe !important; }

    .aio-tw .u-filter-btn.u-active { background: linear-gradient(135deg, #34D399, #22C98F) !important; border-color: transparent !important; color: #06231a !important; box-shadow: 0 4px 15px rgba(52, 211, 153,0.3) !important; }

    .aio-tw .u-filter-btn .u-count { color:#e7edf3!important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin-left: 8px !important; padding: 2px 8px !important; background: rgba(255,255,255,0.15) !important; border-radius: 6px !important; font-size: 0.75rem !important; min-width: 24px !important; }

    .aio-tw .u-themes-section { padding: 40px 5% 80px !important; position: relative !important; z-index: 10 !important; }

    .aio-tw .u-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important; gap: 20px !important; max-width: 1500px !important; margin: 0 auto !important; }

    .aio-tw .u-card { background: linear-gradient(180deg, #08100d 0%, #06100d 100%) !important; border-radius: 16px !important; overflow: hidden !important; border: 1px solid rgba(52, 211, 153,0.06) !important; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important; position: relative !important; }

    .aio-tw .u-card:hover { transform: translateY(-6px) !important; border-color: rgba(52, 211, 153,0.25) !important; box-shadow: 0 20px 40px rgba(0,0,0,0.4), 0 0 25px rgba(52, 211, 153,0.2) !important; }

    .aio-tw .u-preview { position: relative !important; aspect-ratio: 16/10 !important; overflow: hidden !important; }

    .aio-tw .u-preview-bg { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; transition: transform 0.5s ease !important; }

    .aio-tw .u-card:hover .u-preview-bg { transform: scale(1.05) !important; }

    .aio-tw .u-info { padding: 16px !important; }

    .aio-tw .u-header { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; margin-bottom: 8px !important; gap: 10px !important; }

    .aio-tw .u-title { font-family: 'Syne', sans-serif !important; font-size: 1.05rem !important; font-weight: 700 !important; color: #fefefe !important; }

    .aio-tw .u-price { flex-shrink: 0 !important; background: rgba(52, 211, 153,0.12) !important; padding: 4px 10px !important; border-radius: 8px !important; font-weight: 700 !important; color: #34D399 !important; font-size: 0.75rem !important; white-space: nowrap !important; }

    .aio-tw .u-tags { display: flex !important; gap: 5px !important; flex-wrap: wrap !important; align-items: center !important; }

    .aio-tw .u-tag { padding: 3px 8px !important; background: rgba(255,255,255,0.04) !important; border-radius: 6px !important; font-size: 0.65rem !important; color: #9ca3af !important; }

    .aio-tw .u-tag.u-dz { background: rgba(34,197,94,0.15) !important; color: #4ade80 !important; }

    .aio-tw .u-tag.u-fr { background: rgba(96,165,250,0.15) !important; color: #93c5fd !important; }

    .aio-tw .u-live { margin-left: auto !important; padding: 3px 10px !important; background: linear-gradient(135deg, rgba(52, 211, 153,0.18), rgba(93, 199, 164,0.18)) !important; border: 1px solid rgba(52, 211, 153,0.35) !important; border-radius: 6px !important; font-size: 0.68rem !important; font-weight: 700 !important; color: #a7f3d0 !important; text-decoration: none !important; transition: all 0.25s ease !important; }

    .aio-tw .u-live:hover { background: linear-gradient(135deg, #34D399, #22C98F) !important; color: #06231a !important; border-color: transparent !important; }

    .aio-tw .u-cta { padding: 60px 5% 80px !important; position: relative !important; z-index: 10 !important; }

    .aio-tw .u-cta-card { max-width: 900px !important; margin: 0 auto !important; text-align: center !important; padding: 50px 40px !important; background: linear-gradient(135deg, #22C98F 0%, #085f41 100%) !important; border-radius: 20px !important; position: relative !important; overflow: hidden !important; }

    .aio-tw .u-cta-card::before { content: '' !important; position: absolute !important; top: 0 !important; left: -100% !important; width: 50% !important; height: 100% !important; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent) !important; animation: uShine 3s ease-in-out infinite !important; }

    .aio-tw .u-cta-content { position: relative !important; z-index: 2 !important; }

    .aio-tw .u-cta-title { font-family: 'Syne', sans-serif !important; font-size: clamp(1.4rem, 3vw, 1.8rem) !important; font-weight: 800 !important; margin-bottom: 10px !important; color: #fefefe !important; }

    .aio-tw .u-cta-desc { font-size: 1rem !important; color: rgba(255,255,255,0.75) !important; margin-bottom: 25px !important; }

    .aio-tw .u-cta-buttons { display: flex !important; gap: 12px !important; justify-content: center !important; flex-wrap: wrap !important; }

    .aio-tw .u-cta-btn { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 14px 28px !important; border-radius: 12px !important; font-weight: 600 !important; font-size: 0.9rem !important; text-decoration: none !important; transition: all 0.3s ease !important; cursor: pointer !important; border: none !important; }

    .aio-tw .u-cta-btn.u-white { background: #fefefe !important; color: #0b6b49 !important; }

    .aio-tw .u-cta-btn.u-white:hover { transform: translateY(-3px) !important; box-shadow: 0 12px 30px rgba(0,0,0,0.3) !important; }

    .aio-tw .u-cta-btn.u-outline { background: rgba(255,255,255,0.1) !important; color: #fefefe !important; border: 1px solid rgba(255,255,255,0.25) !important; }

    .aio-tw .u-cta-btn.u-outline:hover { background: rgba(255,255,255,0.2) !important; border-color: rgba(255,255,255,0.4) !important; }

    @media (max-width: 768px) {

        .aio-tw .u-grid { grid-template-columns: 1fr !important; gap: 16px !important; }

        .aio-tw .u-hero { padding: 60px 5% 50px !important; }

        .aio-tw .u-hero h1 { font-size: clamp(1.45rem, 7vw, 2rem) !important; letter-spacing: -1px !important; -webkit-hyphens: auto !important; hyphens: auto !important; }

        .aio-tw .u-hero-sub { font-size: 1rem !important; }

        .aio-tw .u-feat { padding: 10px 14px !important; font-size: 0.8rem !important; }

        .aio-tw .u-cta-card { padding: 40px 25px !important; }

    }



    /* ═══ STATS (remplace les badges) ═══ */

    .aio-tw .u-stats { display:flex !important; justify-content:center !important; gap:14px !important; flex-wrap:wrap !important; margin-bottom:30px !important; }

    .aio-tw .u-stat { min-width:150px !important; padding:18px 22px !important; background:rgba(8, 16, 13,0.8) !important; border:1px solid rgba(52, 211, 153,0.15) !important; border-radius:14px !important; backdrop-filter:blur(10px) !important; text-align:center !important; transition:all 0.3s ease !important; }

    .aio-tw .u-stat:hover { border-color:rgba(52, 211, 153,0.4) !important; transform:translateY(-3px) !important; }

    .aio-tw .u-stat-num { font-family:'Syne',sans-serif !important; font-size:1.9rem !important; font-weight:800 !important; line-height:1 !important; background:linear-gradient(135deg,#34D399,#D1FAE5) !important; -webkit-background-clip:text !important; background-clip:text !important; -webkit-text-fill-color:transparent !important; }

    .aio-tw .u-stat-lbl { font-size:0.78rem !important; color:#9ca3af !important; margin-top:7px !important; font-weight:500 !important; }

    /* ═══ CTA HERO ═══ */

    .aio-tw .u-hero-ctas { display:flex !important; gap:12px !important; justify-content:center !important; flex-wrap:wrap !important; }

    .aio-tw .u-hbtn { display:inline-flex !important; align-items:center !important; gap:8px !important; padding:14px 28px !important; border-radius:12px !important; font-weight:700 !important; font-size:0.95rem !important; text-decoration:none !important; transition:all 0.3s ease !important; }

    .aio-tw .u-hbtn-primary { background:linear-gradient(135deg,#34D399,#22C98F) !important; color:#06231a !important; box-shadow:0 4px 18px rgba(93, 199, 164,0.4) !important; }

    .aio-tw .u-hbtn-primary:hover { transform:translateY(-2px) !important; box-shadow:0 8px 28px rgba(93, 199, 164,0.6) !important; }

    .aio-tw .u-hbtn-ghost { background:rgba(255,255,255,0.05) !important; color:#fefefe !important; border:1px solid rgba(52, 211, 153,0.25) !important; }

    .aio-tw .u-hbtn-ghost:hover { background:rgba(52, 211, 153,0.12) !important; border-color:rgba(52, 211, 153,0.4) !important; }

    /* ═══ EXPERTISE / MAILLAGE INTERNE ═══ */

    .aio-tw .u-expertise { padding:30px 5% 50px !important; position:relative !important; z-index:10 !important; max-width:1500px !important; margin:0 auto !important; }

    .aio-tw .u-exp-head { text-align:center !important; margin-bottom:28px !important; }

    .aio-tw .u-exp-head h2 { font-family:'Syne',sans-serif !important; font-size:clamp(1.5rem,3vw,2rem) !important; font-weight:800 !important; color:#fefefe !important; margin-bottom:10px !important; }

    .aio-tw .u-exp-head p { color:#9ca3af !important; font-size:1rem !important; max-width:620px !important; margin:0 auto !important; }

    .aio-tw .u-exp-grid { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important; gap:14px !important; margin-bottom:24px !important; }

    .aio-tw .u-exp-card { display:flex !important; gap:14px !important; align-items:flex-start !important; padding:20px !important; background:linear-gradient(180deg,#08100d,#06100d) !important; border:1px solid rgba(52, 211, 153,0.08) !important; border-radius:16px !important; text-decoration:none !important; transition:all 0.3s ease !important; }

    .aio-tw .u-exp-card:hover { transform:translateY(-4px) !important; border-color:rgba(52, 211, 153,0.3) !important; box-shadow:0 16px 32px rgba(0,0,0,0.4) !important; }

    .aio-tw .u-exp-ico { width:46px !important; height:46px !important; flex-shrink:0 !important; border-radius:12px !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:1.4rem !important; background:rgba(52, 211, 153,0.12) !important; }

    .aio-tw .u-exp-txt h3 { font-family:'Syne',sans-serif !important; font-size:1.05rem !important; font-weight:700 !important; color:#fefefe !important; margin-bottom:5px !important; }

    .aio-tw .u-exp-txt p { font-size:0.83rem !important; color:#9ca3af !important; line-height:1.5 !important; }

    .aio-tw .u-exp-arrow { color:#34D399 !important; font-size:0.78rem !important; font-weight:700 !important; margin-top:9px !important; display:inline-flex !important; gap:5px !important; transition:gap 0.25s ease !important; }

    .aio-tw .u-exp-card:hover .u-exp-arrow { gap:9px !important; }

    /* ═══ BLOC SEO ═══ */

    .aio-tw .u-seo-block { max-width:920px !important; margin:0 auto !important; padding:24px 28px !important; background:rgba(52, 211, 153,0.04) !important; border:1px solid rgba(52, 211, 153,0.1) !important; border-radius:16px !important; }

    .aio-tw .u-seo-block p { color:#9ca3af !important; font-size:0.92rem !important; line-height:1.75 !important; margin-bottom:10px !important; }

    .aio-tw .u-seo-block p:last-child { margin-bottom:0 !important; }

    .aio-tw .u-seo-block a { color:#a7f3d0 !important; font-weight:600 !important; text-decoration:none !important; border-bottom:1px solid rgba(181, 253, 229,0.3) !important; transition:border-color 0.2s ease !important; }

    .aio-tw .u-seo-block a:hover { border-color:#a7f3d0 !important; }

    @media (max-width:768px) {

        .aio-tw .u-stat { min-width:calc(50% - 7px) !important; padding:14px !important; }

        .aio-tw .u-stat-num { font-size:1.55rem !important; }

        .aio-tw .u-hbtn { width:100% !important; justify-content:center !important; }

    }



    /* ═══ CARTES CLIQUABLES + LIGHTBOX ═══ */

    .aio-tw .u-card { cursor:zoom-in !important; }

    .aio-tw .u-preview-bg { -webkit-user-select:none !important; user-select:none !important; -webkit-user-drag:none !important; }

    .aio-tw .u-lightbox { position:fixed !important; inset:0 !important; z-index:99999 !important; background:rgba(2, 4, 3,0.93) !important; backdrop-filter:blur(10px) !important; -webkit-backdrop-filter:blur(10px) !important; display:flex !important; align-items:center !important; justify-content:center !important; padding:32px !important; opacity:0 !important; visibility:hidden !important; transition:opacity 0.3s ease, visibility 0.3s !important; }

    .aio-tw .u-lightbox.open { opacity:1 !important; visibility:visible !important; }

    .aio-tw .u-lightbox-img { width:min(1100px,92vw) !important; height:min(82vh,820px) !important; background-size:contain !important; background-repeat:no-repeat !important; background-position:center !important; border-radius:12px !important; box-shadow:0 30px 80px rgba(0,0,0,0.6) !important; -webkit-user-select:none !important; user-select:none !important; -webkit-user-drag:none !important; pointer-events:none !important; }

    .aio-tw .u-lightbox-close { position:absolute !important; top:20px !important; right:24px !important; width:46px !important; height:46px !important; display:flex !important; align-items:center !important; justify-content:center !important; background:rgba(255,255,255,0.06) !important; border:1px solid rgba(52, 211, 153,0.25) !important; border-radius:12px !important; color:#fefefe !important; font-size:1.4rem !important; cursor:pointer !important; transition:all 0.25s ease !important; }

    .aio-tw .u-lightbox-close:hover { background:rgba(52, 211, 153,0.18) !important; border-color:rgba(52, 211, 153,0.5) !important; }

    .aio-tw .u-lightbox-hint { position:absolute !important; bottom:22px !important; left:50% !important; transform:translateX(-50%) !important; font-size:0.78rem !important; color:#9ca3af !important; }

.aio-tw .u-verif{padding:10px 5% 50px!important;position:relative!important;z-index:10!important;}.aio-tw .u-verif-in{max-width:900px!important;margin:0 auto!important;padding:28px!important;border-radius:16px!important;background:rgba(255,255,255,.025)!important;border:1px solid rgba(255,255,255,.07)!important;}.aio-tw .u-verif h2{margin:0 0 14px!important;font-size:clamp(1.15rem,2.4vw,1.5rem)!important;text-wrap:balance!important;}.aio-tw .u-verif-rep{margin:0 0 22px!important;font-size:1rem!important;line-height:1.7!important;color:#e7edf3!important;border-left:2px solid #34d399!important;padding-left:16px!important;}.aio-tw .u-verif-l{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:16px!important;}.aio-tw .u-verif-l li{display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;gap:16px!important;align-items:baseline!important;padding-top:16px!important;border-top:1px solid rgba(255,255,255,.07)!important;}.aio-tw .u-verif-l li>span{font-size:.8rem!important;letter-spacing:.03em!important;text-transform:uppercase!important;color:#34d399!important;font-weight:600!important;}.aio-tw .u-verif-l li>p{margin:0!important;font-size:.92rem!important;line-height:1.65!important;color:#c3d0da!important;}@media(max-width:640px){.aio-tw .u-verif-l li{grid-template-columns:1fr!important;gap:4px!important;}.aio-tw .u-verif-in{padding:22px 18px!important;}}
