/* =========================================================
   ACCUEIL - VERSION FINALE STRUCTURÉE
   ========================================================= */

.lilou-home-new {
    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;
}


/* =========================================================
   LARGEUR COMMUNE
   ========================================================= */

.home-intro,
.home-videos,
.home-private-inner,
.home-journal,
.home-challenge {
    width: min(1080px, calc(100% - 40px));

    margin-left: auto;
    margin-right: auto;
}


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

.home-kicker {
    display: block;

    margin-bottom: 8px;

    color: var(--accent);

    font-size: 0.64rem;
    font-weight: 500;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}


.home-section-heading {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 26px;

    margin-bottom: 24px;
    padding-bottom: 15px;

    border-bottom: 1px solid #242424;
}


.home-section-heading h2,
.home-private h2,
.home-challenge h2 {
    margin: 0;

    color: var(--text-main);

    font-family: var(--font-display);

    font-size: clamp(1.9rem, 4vw, 2.6rem);
    font-weight: 400;

    line-height: 1.15;
}


.home-more-link,
.home-private-link,
.home-challenge-primary,
.home-challenge-secondary {
    color: var(--accent) !important;

    font-size: 0.68rem;
    font-weight: 500;

    letter-spacing: 0.08em;

    text-decoration: none !important;
    text-transform: uppercase;

    transition:
        color 0.2s ease,
        border-color 0.2s ease;
}


.home-more-link:hover,
.home-private-link:hover,
.home-challenge-primary:hover,
.home-challenge-secondary:hover {
    color: var(--text-main) !important;
}


/* =========================================================
   INTRO
   ========================================================= */

.home-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(280px, 0.85fr);

    gap: 70px;

    align-items: center;

    padding: 52px 0 54px;
}


.home-intro-main {
    max-width: 620px;
}


.home-intro-identity {
    display: flex;

    align-items: center;

    gap: 17px;

    margin-bottom: 22px;
}


.home-intro-avatar {
    width: 82px;
    height: 82px;

    flex-shrink: 0;

    object-fit: cover;

    border: 2px solid var(--accent);
    border-radius: 50%;
}


.home-intro-identity h1 {
    margin: 0 0 4px;

    color: var(--text-main);

    font-family: var(--font-display);

    font-size: clamp(2.7rem, 6vw, 4.3rem);
    font-weight: 400;

    line-height: 1;
}


.home-intro-tag {
    color: var(--text-muted);

    font-size: 0.68rem;

    letter-spacing: 0.11em;

    text-transform: uppercase;
}


.home-intro-copy {
    color: var(--text-sub);

    font-size: 0.92rem;

    line-height: 1.85;
}


.home-intro-copy p {
    max-width: 580px;

    margin: 0 0 13px;
}


/* CITATION */

.home-intro-quote {
    position: relative;

    max-width: 340px;

    padding-left: 26px;

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


.home-intro-quote-mark {
    display: block;

    margin-bottom: 4px;

    color: var(--accent);

    font-family: var(--font-display);

    font-size: 2.8rem;

    line-height: 1;
}


.home-intro-quote p {
    margin: 0;

    color: var(--text-main);

    font-family: var(--font-display);

    font-size: clamp(1.65rem, 3vw, 2.35rem);
    font-weight: 400;

    line-height: 1.38;
}


/* =========================================================
   VIDÉOS
   ========================================================= */

.home-videos {
    position: relative;

    z-index: 1;

    padding: 46px 0 52px;
}


.home-videos::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 100vw;
    height: 100%;

    transform: translateX(-50%);

    background: #101010;

    border-top: 1px solid #202020;
    border-bottom: 1px solid #202020;

    z-index: -1;
}


.home-videos-grid {
    display: grid;

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

    gap: 20px;
}


.home-videos-grid .bunny-video-card {
    margin: 0;
}


/* =========================================================
   TRANSITION ABONNEMENT
   ========================================================= */

.home-private {
    margin: 0;

    background: #090909;
}


.home-private-inner {
    position: relative;

    padding-top: 42px;
    padding-bottom: 42px;

    text-align: center;
}


.home-private-inner::before {
    content: "";

    display: block;

    width: 40px;
    height: 1px;

    margin: 0 auto 18px;

    background: var(--accent);
}


.home-private h2 {
    margin-bottom: 12px;
}


.home-private p {
    max-width: 540px;

    margin: 0 auto 15px;

    color: var(--text-muted);

    font-size: 0.86rem;

    line-height: 1.65;
}


/* =========================================================
   JOURNAL
   ========================================================= */

.home-journal {
    position: relative;

    z-index: 1;

    padding: 50px 0 56px;
}


.home-journal::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 100vw;
    height: 100%;

    transform: translateX(-50%);

    background: #101010;

    border-top: 1px solid #202020;
    border-bottom: 1px solid #202020;

    z-index: -1;
}


.home-journal-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(260px, 0.5fr);

    gap: 28px;

    align-items: start;
}


.home-journal-item {
    display: flex;

    flex-direction: column;

    background: transparent;
}


.home-journal-image {
    display: block;

    overflow: hidden;

    background: #111;
}


.home-journal-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.25s ease;
}


.home-journal-item:hover
.home-journal-image img {
    transform: scale(1.02);
}


.home-journal-item.is-featured
.home-journal-image {
    aspect-ratio: 16 / 9.8;
}


.home-journal-item.is-secondary
.home-journal-image {
    aspect-ratio: 4 / 3;
}


.home-journal-content {
    padding-top: 14px;
}


.home-journal-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 5px;

    margin-bottom: 8px;

    color: var(--accent);

    font-size: 0.59rem;

    letter-spacing: 0.05em;

    text-transform: uppercase;
}


.home-journal-item h3 {
    margin: 0 0 9px;

    font-family: var(--font-display);

    font-weight: 400;

    line-height: 1.28;
}


.home-journal-item.is-featured h3 {
    font-size: 1.45rem;
}


.home-journal-item.is-secondary h3 {
    font-size: 1.08rem;
}


.home-journal-item h3 a {
    color: var(--text-main);

    text-decoration: none;
}


.home-journal-item h3 a:hover {
    color: var(--accent);
}


.home-journal-content p {
    max-width: 660px;

    margin: 0 0 12px;

    color: var(--text-muted);

    font-size: 0.8rem;

    line-height: 1.65;
}


.home-journal-read {
    color: var(--accent) !important;

    font-size: 0.65rem;

    letter-spacing: 0.08em;

    text-decoration: none !important;
    text-transform: uppercase;
}


/* =========================================================
   DÉFI DU MOIS
   ========================================================= */

.home-challenge {
    position: relative;

    max-width: 1080px;

    margin: 0 auto;

    padding: 44px 0 50px;

    text-align: center;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.015),
            rgba(255, 255, 255, 0)
        );
}


.home-challenge::before {
    content: "";

    display: block;

    width: 44px;
    height: 2px;

    margin: 0 auto 18px;

    background: var(--accent);
}


.home-challenge h2 {
    margin-bottom: 12px;
}


.home-challenge p {
    max-width: 590px;

    margin: 0 auto 18px;

    color: var(--text-sub);

    font-size: 0.86rem;

    line-height: 1.65;
}


.home-challenge-links {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 20px;
}


.home-challenge-primary {
    padding-bottom: 3px;

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


/* =========================================================
   RESPONSIVE TABLETTE
   ========================================================= */

@media (max-width: 900px) {

    .home-intro {
        grid-template-columns: 1fr;

        gap: 34px;
    }


    .home-intro-quote {
        max-width: 560px;
    }


    .home-videos-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .home-journal-grid {
        grid-template-columns: 1fr;

        gap: 34px;
    }


    .home-journal-item.is-secondary {
        max-width: 540px;

        margin-left: auto;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .home-intro,
    .home-videos,
    .home-private-inner,
    .home-journal,
    .home-challenge {
        width: calc(100% - 32px);
    }


    .home-intro {
        padding: 36px 0 38px;
    }


    .home-intro-identity {
        gap: 13px;
    }


    .home-intro-avatar {
        width: 70px;
        height: 70px;
    }


    .home-intro-identity h1 {
        font-size: 2.7rem;
    }


    .home-intro-copy {
        font-size: 0.88rem;
    }


    .home-intro-quote {
        padding-left: 18px;
    }


    .home-videos {
        padding: 38px 0 42px;
    }


    .home-videos-grid {
        grid-template-columns: 1fr;
    }


    .home-private-inner {
        padding-top: 36px;
        padding-bottom: 36px;
    }


    .home-journal {
        padding: 40px 0 44px;
    }


    .home-journal-item.is-secondary {
        max-width: none;

        margin-left: 0;
    }


    .home-challenge {
        padding: 38px 0 42px;
    }


    .home-section-heading {
        align-items: flex-start;

        flex-direction: column;

        gap: 8px;

        margin-bottom: 20px;
        padding-bottom: 13px;
    }


    .home-challenge-links {
        flex-direction: column;

        gap: 12px;
    }

}

/* =========================================================
   ACCUEIL - FINITION PREMIUM / GLAMOUR
   ========================================================= */

/* INTRO : profondeur et lumière */

.home-intro {
    position: relative;
}

.home-intro::after {
    content: "";

    position: absolute;

    top: 10%;
    right: 2%;

    width: 340px;
    height: 340px;

    background:
        radial-gradient(
            circle,
            rgba(201, 169, 110, 0.09) 0%,
            rgba(201, 169, 110, 0.03) 40%,
            transparent 72%
        );

    pointer-events: none;

    z-index: -1;
}


/* CITATION PLUS SIGNATURE */

.home-intro-quote {
    padding: 28px 28px 30px;

    background:
        linear-gradient(
            145deg,
            rgba(201, 169, 110, 0.05),
            rgba(255, 255, 255, 0.01)
        );

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

.home-intro-quote p {
    letter-spacing: -0.015em;
}


/* =========================================================
   VIDÉOS - PREMIÈRE CARTE MISE EN AVANT
   ========================================================= */

.home-videos-grid {
    align-items: stretch;
}

.home-videos-grid .bunny-video-card:first-child {
    border-color: rgba(201, 169, 110, 0.45);

    box-shadow:
        0 0 0 1px rgba(201, 169, 110, 0.05),
        0 18px 45px rgba(0, 0, 0, 0.22);
}

.home-videos-grid .bunny-video-card {
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.home-videos-grid .bunny-video-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.26);
}


/* =========================================================
   ABONNEMENT - PLUS GLAMOUR
   ========================================================= */

.home-private-inner {
    position: relative;
}


.home-private-inner > * {
    position: relative;

    z-index: 1;
}

.home-private-link {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding-bottom: 4px;

    border-bottom: 1px solid rgba(201, 169, 110, 0.65);
}


/* =========================================================
   JOURNAL - COMPOSITION ÉDITORIALE
   ========================================================= */

.home-journal-grid {
    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(250px, 0.4fr);

    gap: 34px;
}

.home-journal-item.is-featured {
    position: relative;
}

.home-journal-item.is-featured::before {
    content: "";

    position: absolute;

    top: -10px;
    left: -10px;

    width: 60px;
    height: 60px;

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

    opacity: 0.55;

    pointer-events: none;
}

.home-journal-item.is-secondary {
    margin-top: 46px;
}

.home-journal-item.is-featured h3 {
    max-width: 780px;

    font-size: clamp(1.45rem, 2.5vw, 1.85rem);
}

.home-journal-item.is-secondary h3 {
    font-size: 1.12rem;
}


/* =========================================================
   DÉFI DU MOIS - SIGNATURE
   ========================================================= */

.home-challenge {
    position: relative;

    overflow: hidden;
}

.home-challenge::after {
    content: "";

    position: absolute;

    bottom: -120px;
    left: 50%;

    width: 460px;
    height: 240px;

    transform: translateX(-50%);

    background:
        radial-gradient(
            ellipse,
            rgba(201, 169, 110, 0.07),
            transparent 70%
        );

    pointer-events: none;
}

.home-challenge > * {
    position: relative;

    z-index: 1;
}

.home-challenge h2 {
    font-size: clamp(2rem, 4vw, 2.9rem);
}

.home-challenge-primary {
    padding-bottom: 5px;

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


/* =========================================================
   PETITS DÉTAILS
   ========================================================= */

.home-kicker {
    position: relative;

    padding-left: 18px;
}

.home-kicker::before {
    content: "";

    position: absolute;

    top: 50%;
    left: 0;

    width: 10px;
    height: 1px;

    background: var(--accent);

    transform: translateY(-50%);
}

.home-section-heading h2 {
    letter-spacing: -0.02em;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .home-journal-item.is-secondary {
        margin-top: 0;
    }

    .home-journal-item.is-featured::before {
        display: none;
    }

}


@media (max-width: 600px) {

    .home-intro::after {
        width: 220px;
        height: 220px;

        right: -60px;
    }

    .home-intro-quote {
        padding: 22px 20px 24px;
    }

}

/* =========================================================
   ANIMATIONS AU SCROLL
   ========================================================= */

.home-reveal {
    opacity: 0;

    transform: translateY(30px);

    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-reveal.is-visible {
    opacity: 1;

    transform: translateY(0);
}


/* variantes */

.home-reveal-left {
    opacity: 0;

    transform: translateX(-35px);

    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-reveal-right {
    opacity: 0;

    transform: translateX(35px);

    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-reveal-left.is-visible,
.home-reveal-right.is-visible {
    opacity: 1;

    transform: translateX(0);
}


/* décalage progressif des cartes */

.home-videos-grid .bunny-video-card,
.home-journal-item {
    opacity: 0;

    transform: translateY(24px);

    transition:
        opacity 0.7s ease,
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-videos-grid.is-visible .bunny-video-card,
.home-journal-grid.is-visible .home-journal-item {
    opacity: 1;

    transform: translateY(0);
}

.home-videos-grid.is-visible .bunny-video-card:nth-child(2) {
    transition-delay: 0.12s;
}

.home-videos-grid.is-visible .bunny-video-card:nth-child(3) {
    transition-delay: 0.24s;
}

.home-journal-grid.is-visible .home-journal-item:nth-child(2) {
    transition-delay: 0.16s;
}


/* zoom subtil sur les images */

.home-journal-image {
    overflow: hidden;
}

.home-journal-image img {
    transform: scale(1.04);

    transition:
        transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-journal-grid.is-visible
.home-journal-image img {
    transform: scale(1);
}


/* citation */

.home-intro-quote {
    opacity: 0;

    transform: translateX(35px);

    transition:
        opacity 0.9s ease,
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-intro-quote.is-visible {
    opacity: 1;

    transform: translateX(0);
}


/* accessibilité */

@media (prefers-reduced-motion: reduce) {

    .home-reveal,
    .home-reveal-left,
    .home-reveal-right,
    .home-videos-grid .bunny-video-card,
    .home-journal-item,
    .home-intro-quote,
    .home-journal-image img {
        opacity: 1 !important;

        transform: none !important;

        transition: none !important;
    }
}
/* =========================================================
   SIGNATURE LILOU - GRAND L EN ARRIÈRE-PLAN
   ========================================================= */

.lilou-home-new {
    position: relative;

    isolation: isolate;
}


.home-signature-l {
    position: fixed;

    top: 50%;
    left: 50%;

    z-index: -1;

    transform:
        translate3d(
            -50%,
            -50%,
            0
        )
        rotate(-7deg);

    color:
        rgba(
            201,
            169,
            110,
            0.045
        );

    font-family:
        var(--font-display);

    font-size:
        clamp(
            18rem,
            38vw,
            38rem
        );

    font-weight: 400;

    line-height: 0.8;

    letter-spacing: -0.08em;

    pointer-events: none;

    user-select: none;

    will-change:
        transform,
        opacity;

    transition:
        opacity 0.4s ease;
}


/* léger fondu au début */

.home-signature-l {
    opacity: 0.75;
}


/* MOBILE */

@media (max-width: 600px) {

    .home-signature-l {
        font-size:
            clamp(
                14rem,
                65vw,
                24rem
            );

        opacity: 0.55;
    }

}


/* ACCESSIBILITÉ */

@media (
    prefers-reduced-motion:
    reduce
) {

    .home-signature-l {
        display: none;
    }

}

/* =========================================================
   ACCUEIL - BLOG MOBILE
   ========================================================= */

@media (max-width: 600px) {

    /* La zone journal prend toute la largeur disponible */

    .home-journal {
        width: calc(100% - 32px) !important;
    }


    /* Une seule colonne */

    .home-journal-grid {
        display: block !important;

        width: 100% !important;

        grid-template-columns: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Tous les articles en pleine largeur */

    .home-journal-item,
    .home-journal-item.is-featured,
    .home-journal-item.is-secondary {
        display: block !important;

        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Espace entre les deux articles */

    .home-journal-item.is-secondary {
        margin-top: 42px !important;
    }


    /* Images */

    .home-journal-item.is-featured .home-journal-image,
    .home-journal-item.is-secondary .home-journal-image {
        display: block !important;

        width: 100% !important;

        aspect-ratio: 16 / 10 !important;

        overflow: hidden;
    }


    .home-journal-image img {
        display: block;

        width: 100% !important;
        height: 100% !important;

        object-fit: cover !important;
    }


    /* Contenu */

    .home-journal-content {
        width: 100% !important;

        padding: 16px 0 0 !important;

        box-sizing: border-box;
    }


    /* Métadonnées */

    .home-journal-meta {
        display: flex !important;

        flex-wrap: wrap;

        gap: 5px;

        margin-bottom: 9px;

        font-size: 0.6rem;
    }


    /* Titres */

    .home-journal-item.is-featured h3,
    .home-journal-item.is-secondary h3 {
        width: 100% !important;
        max-width: none !important;

        margin: 0 0 10px !important;

        font-size: 1.35rem !important;
        line-height: 1.28 !important;
    }


    .home-journal-item h3 a {
        display: block;

        width: 100%;

        word-break: normal !important;
        overflow-wrap: normal !important;
    }


    /* Extrait */

    .home-journal-content p {
        width: 100% !important;
        max-width: none !important;

        margin: 0 0 14px !important;

        font-size: 0.84rem !important;
        line-height: 1.7 !important;
    }


    /* Lire l'article */

    .home-journal-read {
        display: inline-block;

        margin-top: 2px;
    }


    /* On enlève le coin décoratif desktop */

    .home-journal-item.is-featured::before {
        display: none !important;
    }

}