@charset "UTF-8";
 /* ── HERO ── */
    .blog-hero {
        background: #0d0d0d;
        padding: 100px 20px 80px;
        text-align: center;
        position: relative;
        overflow: hidden;
    }
    .blog-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,0,110,.18) 0%, transparent 70%),
                    radial-gradient(ellipse 60% 50% at 80% 80%, rgba(131,56,236,.12) 0%, transparent 60%);
        pointer-events: none;
    }
    .blog-hero-label {
        display: inline-block;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: #ff006e;
        margin-bottom: 20px;
    }
    .blog-hero h1 {
        font-family: 'Nunito', sans-serif;
        font-size: clamp(36px, 6vw, 62px);
        font-weight: 900;
        color: #fff;
        line-height: 1.1;
        margin-bottom: 18px;
    }
    .blog-hero h1 span {
        background: linear-gradient(90deg, #ff006e, #8338ec);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
    .blog-hero p {
        font-size: 17px;
        color: rgba(255,255,255,.6);
        max-width: 520px;
        margin: 0 auto;
        line-height: 1.8;
    }

    /* ── GRID ARTICLES ── */
    .blog-section { padding: 80px 20px; background: #f8f9fa; }
    .blog-container { max-width: 1160px; margin: 0 auto; }

    .blog-section-label {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: #ff006e;
        margin-bottom: 10px;
    }
    .blog-section-title {
        font-family: 'Nunito', sans-serif;
        font-size: clamp(24px, 3vw, 36px);
        font-weight: 900;
        color: #0d0d0d;
        margin-bottom: 48px;
    }

    /* Article card */
    .blog-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
        gap: 28px;
    }
    .blog-card {
        background: #fff;
        border-radius: 16px;
        overflow: hidden;
        border: 1.5px solid #efefef;
        transition: transform .26s, box-shadow .26s, border-color .26s;
        display: flex;
        flex-direction: column;
    }
    .blog-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 16px 48px rgba(0,0,0,.09);
        border-color: #ff006e;
    }
    .blog-card-cover {
        width: 100%;
        aspect-ratio: 16/9;
        background: linear-gradient(135deg, #0d0d0d 0%, #1a1a2e 100%);
        position: relative;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .blog-card-cover-pattern {
        position: absolute;
        inset: 0;
        opacity: .06;
        background-image: repeating-linear-gradient(45deg, #fff 0, #fff 1px, transparent 0, transparent 50%);
        background-size: 12px 12px;
    }
    .blog-card-category {
        position: absolute;
        top: 14px;
        left: 14px;
        background: linear-gradient(90deg, #ff006e, #8338ec);
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        padding: 4px 12px;
        border-radius: 4px;
    }
    .blog-card-icon {
        width: 56px;
        height: 56px;
        background: rgba(255,255,255,.07);
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba(255,255,255,.5);
        z-index: 1;
    }
    .blog-card-body {
        padding: 24px;
        flex: 1;
        display: flex;
        flex-direction: column;
    }
    .blog-card-meta {
        display: flex;
        align-items: center;
        gap: 14px;
        font-size: 12px;
        color: #aaa;
        margin-bottom: 12px;
    }
    .blog-card-meta span { display: flex; align-items: center; gap: 4px; }
    .blog-card h2 {
        font-family: 'Nunito', sans-serif;
        font-size: 18px;
        font-weight: 800;
        color: #0d0d0d;
        line-height: 1.35;
        margin-bottom: 10px;
    }
    .blog-card p {
        font-size: 13.5px;
        color: #666;
        line-height: 1.75;
        flex: 1;
        margin-bottom: 20px;
    }
    .blog-card-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 13px;
        font-weight: 700;
        color: #ff006e;
        text-decoration: none;
        transition: gap .2s;
    }
    .blog-card-link:hover { gap: 10px; }

    /* ── FEATURED (article à la une) ── */
    .blog-featured {
        background: #fff;
        border-radius: 20px;
        overflow: hidden;
        border: 1.5px solid #efefef;
        display: grid;
        grid-template-columns: 1.1fr 1fr;
        margin-bottom: 40px;
        transition: box-shadow .26s;
    }
    .blog-featured:hover { box-shadow: 0 16px 48px rgba(0,0,0,.09); }
    .blog-featured-cover {
        min-height: 320px;
        position: relative;
        display: flex;
        align-items: flex-end;
        padding: 32px;
        overflow: hidden;
    }
    .blog-featured-cover-pattern {
        display: none;
    }
    .blog-featured-badge {
        position: absolute;
        top: 20px;
        left: 20px;
        background: linear-gradient(90deg, #ff006e, #8338ec);
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        padding: 5px 14px;
        border-radius: 4px;
        z-index: 1;
    }
    .blog-featured-body {
        padding: 40px 36px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .blog-featured-label {
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: #ff006e;
        margin-bottom: 14px;
    }
    .blog-featured-body h2 {
        font-family: 'Nunito', sans-serif;
        font-size: clamp(20px, 2.4vw, 28px);
        font-weight: 900;
        color: #0d0d0d;
        line-height: 1.25;
        margin-bottom: 14px;
    }
    .blog-featured-body p {
        font-size: 14.5px;
        color: #666;
        line-height: 1.8;
        margin-bottom: 24px;
    }
    .blog-featured-meta {
        display: flex;
        align-items: center;
        gap: 16px;
        font-size: 12px;
        color: #aaa;
        margin-bottom: 24px;
    }
    .blog-featured-meta span { display: flex; align-items: center; gap: 5px; }

    /* ── CTA NEWSLETTER ── */
    .blog-newsletter {
        background: #0d0d0d;
        border-radius: 20px;
        padding: 56px 40px;
        text-align: center;
        margin-top: 64px;
        position: relative;
        overflow: hidden;
    }
    .blog-newsletter::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse 70% 70% at 50% -10%, rgba(255,0,110,.2) 0%, transparent 60%);
        pointer-events: none;
    }
    .blog-newsletter h2 {
        font-family: 'Nunito', sans-serif;
        font-size: 28px;
        font-weight: 900;
        color: #fff;
        margin-bottom: 10px;
        position: relative;
    }
    .blog-newsletter p {
        font-size: 15px;
        color: rgba(255,255,255,.55);
        margin-bottom: 28px;
        position: relative;
    }
    .blog-newsletter-form {
        display: flex;
        gap: 10px;
        max-width: 420px;
        margin: 0 auto;
        flex-wrap: wrap;
        position: relative;
    }
    .blog-newsletter input {
        flex: 1;
        min-width: 180px;
        padding: 13px 18px;
        border: 1.5px solid rgba(255,255,255,.15);
        border-radius: 8px;
        background: rgba(255,255,255,.06);
        color: #fff;
        font-size: 14px;
        font-family: inherit;
        outline: none;
        transition: border-color .2s;
    }
    .blog-newsletter input::placeholder { color: rgba(255,255,255,.35); }
    .blog-newsletter input:focus { border-color: #ff006e; }
    .blog-newsletter button {
        padding: 13px 26px;
        background: linear-gradient(90deg, #ff006e, #8338ec);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-weight: 700;
        font-size: 14px;
        cursor: pointer;
        font-family: inherit;
        transition: opacity .2s;
    }
    .blog-newsletter button:hover { opacity: .88; }

    /* ── FOOTER SIMPLE ── */
    footer {
        background: #0d0d0d;
        padding: 48px 20px 28px;
        color: rgba(255,255,255,.55);
        font-size: 13px;
    }
    .footer-inner {
        max-width: 1160px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 20px;
        padding-bottom: 24px;
        border-bottom: 1px solid rgba(255,255,255,.08);
        margin-bottom: 24px;
    }
    .footer-brand-name {
        font-family: 'Nunito', sans-serif;
        font-size: 20px;
        font-weight: 900;
        color: #fff;
        letter-spacing: -0.5px;
    }
    .footer-links-row { display: flex; gap: 24px; flex-wrap: wrap; }
    .footer-links-row a { color: rgba(255,255,255,.5); text-decoration: none; transition: color .2s; }
    .footer-links-row a:hover { color: #ff006e; }
    .footer-bottom-text { max-width: 1160px; margin: 0 auto; text-align: center; }

    /* ── RESPONSIVE ── */
    @media (max-width: 768px) {
        .blog-featured { grid-template-columns: 1fr; }
        .blog-featured-cover { min-height: 200px; }
        .blog-featured-body { padding: 28px 24px; }
        .blog-newsletter { padding: 40px 24px; }
    }
    @media (max-width: 480px) {
        .blog-grid { grid-template-columns: 1fr; }
    }