/**
 * stone — Zone 4 cinéma (fidélité stone-film.com).
 *
 * NOTE : les ids de blocs sont sur le wrapper `.gas-block-anchor`, pas sur
 * la `<section class="gas-block-section">`. Toujours `#st_xxx .gas-block-section`
 * ou `#st_xxx > .gas-block-section`.
 */

/* ── Header opaque + nav très lisible (Oswald, contraste élevé) ── */
.gas-site-header {
    display: block !important;
    position: relative;
    z-index: 1000;
    background: #0a0908 !important;
    color: #f8f0e6 !important;
    border-bottom: 1px solid rgba(248, 240, 230, 0.18);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
}
.gas-site-header.gas-site-header--overlay-content {
    position: relative !important;
    background: #0a0908 !important;
}
.gas-site-header .gas-site-menu--primary,
.gas-site-header .gas-site-menu__link,
.gas-site-header .gas-site-menu__label-text,
.gas-site-header .gas-site-header__toggle,
.gas-site-header .gas-site-header__toggle-label,
.gas-site-header .gas-site-header__drawer-label,
.gas-site-header .gas-site-header__drawer a {
    font-family: "Oswald Variable", Impact, "Arial Narrow", sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #f8f0e6 !important;
    -webkit-font-smoothing: antialiased;
}
.gas-site-header .gas-site-menu__link,
.gas-site-header .gas-site-menu__label-text {
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}
.gas-site-header .gas-site-menu__link:hover,
.gas-site-header .gas-site-menu__link:focus,
.gas-site-header .gas-site-menu__item.is-current .gas-site-menu__link {
    color: #ffffff !important;
}
.gas-site-header .gas-site-menu__item.is-highlight .gas-site-menu__link,
.gas-site-header .gas-site-menu__item.is-highlight-custom .gas-site-menu__link {
    color: #f0d48a !important;
}
.gas-site-header__toggle {
    color: #f8f0e6 !important;
    border-color: rgba(248, 240, 230, 0.5);
}
.gas-site-header__drawer {
    background: #0a0908 !important;
    color: #f8f0e6 !important;
}
.gas-site-header__drawer a:hover {
    color: #ffffff !important;
}

/* Scrolly « De l’Arabie… » — lisibilité des cartes sur media_overlay */
#st_arabie_story,
#wow_story {
    --gas-story-card-bg: rgba(10, 9, 8, 0.78);
    --gas-story-card-fg: #f5ebe0;
}
#st_arabie_story .gas-block-sticky-story__step,
#wow_story .gas-block-sticky-story__step {
    color: #f5ebe0;
}
#st_arabie_story .gas-block-sticky-story__title,
#wow_story .gas-block-sticky-story__title {
    color: #f8f0e6;
    font-family: var(--gas-font-display, inherit);
}

.gas-dev-user-switcher,
.gas-dev-switcher,
[class*="dev-user-switcher"],
[class*="dev-switcher"],
#gas-dev-user-switcher {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body {
    background: #0a0908;
    color: #f3ebe0;
    margin: 0;
}

/* Contenu page sans gouttières noires */
main.gas-page,
.gas-page,
.gas-page__content,
#main {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Ancres + blocs enfants pleine largeur */
.gas-block-anchor {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.gas-block-section {
    margin-block: 0 !important;
}
.gas-block-section .gas-block-anchor {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.gas-block-section .gas-block-text,
.gas-block-section .gas-block-text__inner,
.gas-block-section .gas-block-cta,
.gas-block-section .gas-block-cta__inner,
.gas-block-section .gas-block-image,
.gas-block-section .gas-block-title-block {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* ═══════════════ HERO multi-calques ═══════════════ */
/* Clip strict : les calques / quote ne doivent pas déborder sur la section vidéo */
#st_hero.gas-block-anchor {
    position: relative;
    z-index: 1;
    isolation: isolate;
    overflow: hidden;
    background: #0a0908;
}
#st_hero > .gas-block-section {
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    padding-block: 0 !important;
    position: relative;
    overflow: hidden;
    background-color: #0a0908;
}

#st_hero .gas-block-section__inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    min-height: 100svh;
    width: 100%;
    max-width: none !important;
    padding-block: clamp(28px, 5vh, 48px) clamp(32px, 6vh, 72px);
    gap: 0;
    position: relative;
    z-index: 1;
}

/* Calques PNG (couche1 rocher / couche2 / couche3 sol) — empilés, vitesses via depth */
#st_layer1,
#st_layer2,
#st_layer3 {
    position: absolute !important;
    left: 0;
    right: 0;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    will-change: transform;
}
#st_layer1 .gas-block-image,
#st_layer2 .gas-block-image,
#st_layer3 .gas-block-image,
#st_layer1 .gas-block-image__figure,
#st_layer2 .gas-block-image__figure,
#st_layer3 .gas-block-image__figure,
#st_layer1 .gas-block-image__frame,
#st_layer2 .gas-block-image__frame,
#st_layer3 .gas-block-image__frame {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: block;
}
#st_layer1 img,
#st_layer2 img,
#st_layer3 img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

/*
 * Empilement type Divi stone-film (et_pb_image_0…3) :
 * - calques en absolute, overlaps en % de viewport (marges négatives source)
 * - vitesses différentielles via data-gas-scroll-depth (back/mid/front)
 * - scale de base ~1.05–1.1 pour absorber le parallax sans bords
 */
/* Rocher / scène — milieu haut, plus lent (back) */
#st_layer1 {
    top: -6vw;
    height: 95%;
    z-index: 1;
}
#st_layer1 img {
    object-position: center 28%;
    transform: scale(1.06);
    transform-origin: center 40%;
}

/* Plan moyen — overlap type margin-top:-20vw Divi */
#st_layer2 {
    bottom: -2vw;
    height: 68%;
    z-index: 2;
    margin-top: -20vw; /* parité source (ne déplace pas le flux : absolute) */
}
#st_layer2 img {
    object-position: center bottom;
    transform: scale(1.05);
    transform-origin: center bottom;
}

/* Sol premier plan — plus rapide, bas (front) — margin-top:-30vw source */
#st_layer3 {
    bottom: -16vw;
    height: 82%;
    z-index: 3;
}
#st_layer3 img {
    object-position: center bottom;
    transform: scale(1.08);
    transform-origin: center bottom;
}

/* Fond section hero (mobile/sky) : léger scale comme image_0 Divi 110→100 */
#st_hero > .gas-block-section.gas-scroll--parallax::before,
#st_hero > .gas-block-section .gas-block-section__bg {
    transform: scale(1.08);
    transform-origin: center top;
}

#st_hero_logo,
#st_hero_logo .gas-block-image,
#st_hero_logo img {
    max-width: min(220px, 34vw) !important;
    width: min(220px, 34vw);
    margin: 3vh auto 0 !important;
    display: block;
    filter: drop-shadow(0 4px 24px rgba(0, 0, 0, 0.45));
}
#st_hero_logo {
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 6;
}

#st_hero_quote {
    margin-top: auto;
    width: 100%;
    padding-bottom: 2vh;
    position: relative;
    z-index: 6;
    /* Le fade scroll_motion JS ne doit pas blanchir la citation au chargement */
    opacity: 1 !important;
}
#st_hero_quote.gas-scroll--js,
#st_hero_quote.gas-scroll--fade {
    opacity: 1 !important;
}
#st_hero_quote .gas-block-text__content,
#st_hero_quote .gas-block-text__content p {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-style: italic;
    font-size: clamp(1.1rem, 2.2vw, 1.65rem);
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.45;
    max-width: 28em;
    margin: 0 auto;
    text-align: center;
    text-shadow: 0 2px 28px rgba(0, 0, 0, 0.65);
    color: #f5ebe0;
    width: auto !important;
}

/* Scroll cue souris — centre bas (au-dessus du sol) */
#st_hero > .gas-block-section::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 36%;
    width: 22px;
    height: 34px;
    margin-left: -11px;
    border: 2px solid rgba(255, 255, 255, 0.85);
    border-radius: 12px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.35);
    pointer-events: none;
    animation: stone-scroll-cue 2s ease-in-out infinite;
    z-index: 7;
}
#st_hero > .gas-block-section > .gas-block-section__inner::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 36%;
    width: 3px;
    height: 8px;
    margin-left: -1.5px;
    margin-bottom: 8px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 2px;
    pointer-events: none;
    animation: stone-scroll-dot 2s ease-in-out infinite;
    z-index: 7;
}
@keyframes stone-scroll-cue {
    0%, 100% { opacity: 0.55; }
    50% { opacity: 1; }
}
@keyframes stone-scroll-dot {
    0% { transform: translateY(0); opacity: 1; }
    70% { transform: translateY(10px); opacity: 0.2; }
    100% { transform: translateY(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    #st_hero > .gas-block-section::after,
    #st_hero > .gas-block-section > .gas-block-section__inner::before {
        animation: none;
    }
}

/*
 * Mobile — parité stone-film.com :
 * fond Stone_mobile (ciel) + calques PNG gardés (pas de display:none),
 * logo + citation lisibles (le fade scroll_motion ne doit pas les blanchir).
 */
@media (max-width: 767px) {
    #st_hero > .gas-block-section {
        min-height: 100svh;
        background-size: cover !important;
        background-position: center top !important;
        overflow: hidden !important; /* calques scalés >100% width */
    }
    /* ::before = fond ciel — full bleed, un peu plus bas pour coller Divi */
    #st_hero > .gas-block-section.gas-block-section--bg-image::before,
    #st_hero.gas-scroll--target-bg .gas-block-section--bg-image::before {
        background-position: center top !important;
        background-size: cover !important;
        /* Annule le bleed desktop trop haut qui lave le bas */
        inset: 0 !important;
        top: 0 !important;
        height: 100% !important;
        transform: none !important;
    }
    #st_hero .gas-block-section__inner {
        min-height: 100svh;
        padding-block: 12px 16px;
        /* logo haut + quote bas, calques en absolute derrière */
        justify-content: space-between;
        position: relative;
        z-index: 5;
    }

    /*
     * Calques PNG en plaques découpées (alpha) — comme Divi :
     * largeur 100%, hauteur auto (ratio naturel), position absolute.
     * PAS de object-fit:cover plein écran (ça créait des bandes/coutures).
     */
    #st_layer1,
    #st_layer2,
    #st_layer3 {
        display: block !important;
        position: absolute !important;
        left: 0;
        right: 0;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        pointer-events: none;
        transform: none !important;
        will-change: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    #st_layer1 .gas-block-image,
    #st_layer2 .gas-block-image,
    #st_layer3 .gas-block-image,
    #st_layer1 .gas-block-image__figure,
    #st_layer2 .gas-block-image__figure,
    #st_layer3 .gas-block-image__figure,
    #st_layer1 .gas-block-image__frame,
    #st_layer2 .gas-block-image__frame,
    #st_layer3 .gas-block-image__frame {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 0 !important;
    }
    #st_layer1 img,
    #st_layer2 img,
    #st_layer3 img {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        object-fit: contain !important;
        display: block !important;
    }

    /*
     * Scale fort : les PNG sont en 16:9 → à 390px ils ne font que ~220px de haut.
     * On élargit (width 160–200%) pour remplir la scène comme Divi mobile.
     */
    #st_layer1 {
        top: 0;
        z-index: 1;
        width: 190% !important;
        left: 50%;
        right: auto;
        transform: translateX(-50%) !important;
    }
    #st_layer2 {
        top: auto;
        bottom: 28%;
        z-index: 2;
        width: 180% !important;
        left: 50%;
        right: auto;
        transform: translateX(-50%) !important;
    }
    #st_layer3 {
        top: auto;
        bottom: -1%;
        z-index: 3;
        width: 200% !important;
        left: 50%;
        right: auto;
        transform: translateX(-50%) !important;
    }

    /* Logo en haut de scène, citation bas foncé */
    #st_hero_logo {
        margin-top: 3vh !important;
    }
    #st_hero_quote {
        margin-bottom: 0;
        padding-bottom: max(4vh, 20px) !important;
    }

    #st_hero_logo,
    #st_hero_logo .gas-block-image,
    #st_hero_logo img {
        max-width: min(200px, 52vw) !important;
        width: min(200px, 52vw) !important;
        margin: 6vh auto 0 !important;
        filter: drop-shadow(0 2px 18px rgba(0, 0, 0, 0.55)) !important;
    }
    #st_hero_logo {
        position: relative;
        z-index: 8;
    }

    /* Citation : annule le fade scroll_motion (opacity JS ~0.3 au chargement) */
    #st_hero_quote,
    #st_hero_quote.gas-scroll,
    #st_hero_quote.gas-scroll--js {
        opacity: 1 !important;
        transform: none !important;
        padding-bottom: max(6vh, 28px);
        padding-inline: 1.1rem;
        position: relative;
        z-index: 8;
    }
    #st_hero_quote .gas-block-text__content,
    #st_hero_quote .gas-block-text__content p {
        font-size: clamp(1.05rem, 4.6vw, 1.25rem);
        max-width: 20em;
        line-height: 1.4;
        color: #f8f0e6 !important;
        text-shadow:
            0 1px 2px rgba(0, 0, 0, 0.55),
            0 4px 28px rgba(0, 0, 0, 0.65) !important;
    }

    /* Scroll cue plus bas, au-dessus du sol */
    #st_hero > .gas-block-section::after,
    #st_hero > .gas-block-section > .gas-block-section__inner::before {
        bottom: 18%;
        z-index: 9;
    }

    /* Vidéo full : hauteur raisonnable */
    #st_full_video > .gas-block-section {
        min-height: 70svh !important;
        height: auto !important;
    }
    #st_full_video .gas-block-video-embed {
        min-height: 55svh;
    }

    /* Intro */
    #st_intro > .gas-block-section {
        padding-block: 2rem !important;
        padding-inline: 1rem !important;
    }
    #st_intro .gas-block-section__inner {
        gap: 1rem !important;
        max-width: 100% !important;
    }
    #st_intro .gas-block-video-embed {
        max-width: 100% !important;
        margin-inline: 0 !important;
    }

    /* CTAs : stack vertical centré */
    #st_affiche_cta .gas-block-cta__actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        max-width: 280px;
        margin-inline: auto;
    }
    #st_affiche_cta .gas-button {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    /* Parchemin */
    #st_parch_a > .gas-block-section,
    #st_parch_b > .gas-block-section {
        padding-block: 1.75rem !important;
        padding-inline: 0 !important;
    }
    #st_parch_a .gas-block-section__inner,
    #st_parch_b .gas-block-section__inner {
        gap: 1.1rem !important;
        padding-inline: 14px !important;
    }

    /* Thèmes */
    #st_themes_a .gas-block-text__content h3,
    #st_themes_b .gas-block-text__content h3 {
        font-size: 1.08rem !important;
    }
    #st_themes_a .gas-block-text__content p,
    #st_themes_b .gas-block-text__content p {
        font-size: 0.95rem !important;
        line-height: 1.55 !important;
    }
    #st_iran > .gas-block-section {
        min-height: 70svh !important;
        padding-inline: 1rem !important;
    }
    #st_contact > .gas-block-section {
        padding-block: 2rem !important;
        padding-inline: 1rem !important;
    }
}

/* ═══════════════ VIDÉO PLEINE PAGE (clip ambiant 100svh) ═══════════════ */
/* Au-dessus du hero : opaque, pas de « fuite » d’image/texte précédent */
#st_full_video.gas-block-anchor {
    position: relative;
    z-index: 2;
    isolation: isolate;
    background: #0a0908;
    overflow: hidden;
}
#st_full_video > .gas-block-section {
    min-height: 100svh !important;
    height: 100svh;
    padding: 0 !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    /* Fond opaque (évite de voir le hero à travers pendant le scroll) */
    background-color: #0a0908 !important;
}
#st_full_video .gas-block-section__inner {
    position: relative;
    z-index: 2;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: none !important;
    width: 100%;
    padding: 2rem;
}
/* Vidéo = couche plein viewport (edge-to-edge) */
#st_full_bg_video {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    background: #0a0908;
}
#st_full_bg_video .gas-block-video-embed,
#st_full_bg_video .gas-block-video-embed--ambient {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
#st_full_bg_video .gas-block-video-embed__frame {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
#st_full_bg_video video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}
#st_full_bg_video .gas-block-video-embed__caption,
#st_full_bg_video .gas-block-video-embed__title {
    display: none !important;
}
/* Voile pour lisibilité citation */
#st_full_video > .gas-block-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        180deg,
        rgba(10, 9, 8, 0.25) 0%,
        rgba(10, 9, 8, 0.45) 45%,
        rgba(10, 9, 8, 0.7) 100%
    );
    pointer-events: none;
}
#st_full_quote {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 36em;
}
#st_full_quote .gas-block-text__content,
#st_full_quote .gas-block-text__content p {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-style: italic;
    font-size: clamp(1.25rem, 2.6vw, 1.85rem);
    text-align: center;
    color: #f5ebe0;
    text-shadow: 0 2px 28px rgba(0, 0, 0, 0.75);
    line-height: 1.4;
    width: auto !important;
}

/* ═══════════════ INTRO (trailer + pitch) ═══════════════ */
#st_intro > .gas-block-section {
    padding-block: clamp(48px, 8vh, 96px) !important;
    position: relative;
    overflow: hidden;
}
#st_intro .gas-block-section__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(18px, 2.5vh, 28px);
    max-width: 920px;
    margin-inline: auto;
    width: 100%;
    position: relative;
    z-index: 2;
}

#st_intro_video {
    width: 100%;
    max-width: min(860px, 92vw);
    margin-inline: auto;
    position: relative;
    z-index: 2;
}
#st_intro_video .gas-block-video-embed {
    width: 100%;
}
#st_intro_video .gas-block-video-embed__frame {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
    background: #0a0908;
}
#st_intro_video video,
#st_intro_video iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 14px;
}
#st_intro_video .gas-block-video-embed__caption {
    display: none;
}

#st_intro_logo {
    width: 100%;
    text-align: center;
    margin-top: 4px;
}
#st_intro_logo img {
    max-width: min(220px, 40vw) !important;
    margin-inline: auto !important;
    display: block;
    filter: drop-shadow(0 4px 18px rgba(0, 0, 0, 0.5));
}

#st_tagline .gas-block-text__content,
#st_tagline .gas-block-text__content p {
    font-family: var(--gas-font-heading, "Oswald Variable", sans-serif);
    font-size: clamp(0.8rem, 1.3vw, 1rem);
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    opacity: 0.95;
    white-space: normal;
    width: auto !important;
    max-width: none;
}

#st_pitch_tx .gas-block-text__content,
#st_pitch_tx .gas-block-text__content p {
    max-width: 42em;
    margin-inline: auto;
    text-align: center;
    font-size: clamp(0.95rem, 1.15vw, 1.05rem);
    line-height: 1.65;
    color: #ddd2c4;
    width: auto !important;
}

/* CTAs pills */
#st_affiche_cta {
    margin-top: 4px;
    width: 100%;
}
#st_affiche_cta .gas-block-cta__inner,
#st_affiche_cta .gas-block-cta__actions {
    width: 100%;
    max-width: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
#st_affiche_cta .gas-button {
    border-radius: 999px;
    letter-spacing: 0.02em;
    font-size: 0.95rem;
    padding: 0.7em 1.5em;
    border: none;
    font-weight: 500;
}
#st_affiche_cta .gas-button--secondary,
#st_affiche_cta .gas-button:first-child {
    background: #d9cfc0;
    color: #2a241c;
}
#st_affiche_cta .gas-button--primary,
#st_affiche_cta .gas-button:last-child {
    background: #c9922a;
    color: #1a140c;
}
#st_affiche_cta .gas-button:hover {
    filter: brightness(1.06);
}

/* ═══════════════ PARCHEMIN + THÈMES (densité type source) ═══════════════ */
#st_parch_a > .gas-block-section,
#st_parch_b > .gas-block-section,
#st_contact > .gas-block-section {
    /* Fond Fond_site_HD via background_image_id ; filet beige si absent */
    background-color: #f0e6d4 !important;
    color: #1f120d;
    width: 100%;
    max-width: none;
    /* Source : padding section ~54px */
    padding-block: clamp(40px, 5vh, 56px) !important;
    background-size: cover !important;
    background-position: center top !important;
}

#st_parch_a .gas-block-section__inner,
#st_parch_b .gas-block-section__inner {
    /* Source row max-width 1080px */
    max-width: 1080px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    width: 100%;
    padding-inline: clamp(16px, 4vw, 32px);
}

/* Galerie 4 portraits — bande en tête du parchemin (pas sticky trop haut) */

/* Parent ne doit pas clipper le translateY des items 2&4 */
#st_parch_a,
#st_parch_a > .gas-block-section,
#st_parch_a .gas-block-section__inner,
#st_gallery.gas-block-anchor {
    overflow: visible !important;
}
/* marker: stone-gal-lift-parent */
#st_gallery {
    width: 100%;
    max-width: 100%;
    margin: 0 0 1.75rem;
    position: relative;
    z-index: 2;
    padding: 0;
    background: transparent;
}
#st_gallery .gas-block-gallery {
    width: 100% !important;
    max-width: none !important;
}
#st_gallery .gas-block-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: unset !important;
    height: auto !important;
    justify-content: stretch !important;
}
#st_gallery .gas-block-gallery__item {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    flex-grow: 0 !important;
    flex-basis: auto !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 4.5 !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 0;
    border: none !important;
    box-shadow: none !important;
    --gas-gallery-item-basis: auto !important;
    position: relative;
}
#st_gallery .gas-block-gallery__link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    inset: 0 !important;
}
#st_gallery .gas-block-gallery__item img,
#st_gallery .gas-block-gallery__item picture,
#st_gallery .gas-block-gallery__item picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    max-width: none !important;
}

/*
 * stone-film.com — et_pb_row_5 : colonnes 2 et 4 (data-index 1 et 3)
 * 1) SCROLL : se lèvent en entrant dans le viewport (animation-timeline view)
 * 2) SOURIS : remontent encore au hover
 * Pas de transform !important au repos — sinon l’anim scroll est bloquée.
 */
#st_gallery .gas-block-gallery__grid {
    overflow: visible !important;
    padding-top: 3.5rem; /* place pour lift scroll + hover */
    margin-top: -1.25rem;
    align-items: end;
}
/* Annule le micro-lift gas-blocks (-3px) sur les colonnes 1 et 3 */
#st_gallery .gas-block-gallery__item[data-index="0"],
#st_gallery .gas-block-gallery__item[data-index="2"],
#st_gallery .gas-block-gallery__item:nth-child(1),
#st_gallery .gas-block-gallery__item:nth-child(3) {
    transform: none !important;
    animation: none !important;
}
#st_gallery .gas-block-gallery__item[data-index="0"]:hover,
#st_gallery .gas-block-gallery__item[data-index="2"]:hover,
#st_gallery .gas-block-gallery__item:nth-child(1):hover,
#st_gallery .gas-block-gallery__item:nth-child(3):hover {
    transform: none !important;
}

/* Colonnes 2 & 4 — base (stagger) */
#st_gallery .gas-block-gallery__item[data-index="1"],
#st_gallery .gas-block-gallery__item[data-index="3"],
#st_gallery .gas-block-gallery__item:nth-child(2),
#st_gallery .gas-block-gallery__item:nth-child(4) {
    z-index: 3;
    overflow: visible !important;
    /* Stagger permanent (sans !important → libre pour scroll-driven) */
    transform: translate3d(0, -18px, 0);
    transition:
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.4s ease;
    will-change: transform;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(20, 12, 6, 0.18);
}
#st_gallery .gas-block-gallery__item[data-index="1"] .gas-block-gallery__link,
#st_gallery .gas-block-gallery__item[data-index="3"] .gas-block-gallery__link,
#st_gallery .gas-block-gallery__item:nth-child(2) .gas-block-gallery__link,
#st_gallery .gas-block-gallery__item:nth-child(4) .gas-block-gallery__link {
    overflow: hidden !important;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
#st_gallery .gas-block-gallery__item[data-index="1"] img,
#st_gallery .gas-block-gallery__item[data-index="3"] img,
#st_gallery .gas-block-gallery__item:nth-child(2) img,
#st_gallery .gas-block-gallery__item:nth-child(4) img {
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── SCROLL : colonnes 2 & 4 se lèvent en progressant dans le viewport ── */
@keyframes stone-gal-col-scroll {
    /* bas / rentrantes */
    from {
        transform: translate3d(0, 40px, 0);
    }
    /* haut / levées (stagger Divi) */
    to {
        transform: translate3d(0, -28px, 0);
    }
}
@supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
        #st_gallery .gas-block-gallery__item[data-index="1"],
        #st_gallery .gas-block-gallery__item[data-index="3"],
        #st_gallery .gas-block-gallery__item:nth-child(2),
        #st_gallery .gas-block-gallery__item:nth-child(4) {
            /* transition désactivée pendant le scrub scroll (sinon lag) */
            transition:
                box-shadow 0.4s ease;
            animation-name: stone-gal-col-scroll;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: view();
            /* scrub tant que la galerie traverse l’écran */
            animation-range: entry 0% cover 55%;
        }
    }
}

/* Hover / focus souris — lift net au-dessus de la position scroll */
@media (hover: hover) {
    #st_gallery .gas-block-gallery__item[data-index="1"]:hover,
    #st_gallery .gas-block-gallery__item[data-index="3"]:hover,
    #st_gallery .gas-block-gallery__item:nth-child(2):hover,
    #st_gallery .gas-block-gallery__item:nth-child(4):hover,
    #st_gallery .gas-block-gallery__item[data-index="1"]:focus-within,
    #st_gallery .gas-block-gallery__item[data-index="3"]:focus-within,
    #st_gallery .gas-block-gallery__item:nth-child(2):focus-within,
    #st_gallery .gas-block-gallery__item:nth-child(4):focus-within {
        /* !important pour gagner sur animation-timeline pendant le hover */
        transform: translate3d(0, -56px, 0) !important;
        animation: none !important;
        z-index: 8;
        box-shadow: 0 22px 40px rgba(20, 12, 6, 0.32);
        transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease;
    }
    #st_gallery .gas-block-gallery__item[data-index="1"]:hover img,
    #st_gallery .gas-block-gallery__item[data-index="3"]:hover img,
    #st_gallery .gas-block-gallery__item:nth-child(2):hover img,
    #st_gallery .gas-block-gallery__item:nth-child(4):hover img,
    #st_gallery .gas-block-gallery__item[data-index="1"]:focus-within img,
    #st_gallery .gas-block-gallery__item[data-index="3"]:focus-within img {
        transform: scale(1.06);
    }
}
/* Fallback hover hors @media (hover: hover) */
#st_gallery .gas-block-gallery__item[data-index="1"]:hover,
#st_gallery .gas-block-gallery__item[data-index="3"]:hover,
#st_gallery .gas-block-gallery__item:nth-child(2):hover,
#st_gallery .gas-block-gallery__item:nth-child(4):hover {
    transform: translate3d(0, -56px, 0) !important;
    animation: none !important;
    z-index: 8;
}

@media (prefers-reduced-motion: reduce) {
    #st_gallery .gas-block-gallery__item[data-index="1"],
    #st_gallery .gas-block-gallery__item[data-index="3"],
    #st_gallery .gas-block-gallery__item:nth-child(2),
    #st_gallery .gas-block-gallery__item:nth-child(4) {
        transition: none;
        animation: none !important;
        transform: translate3d(0, -12px, 0);
    }
    #st_gallery .gas-block-gallery__item[data-index="1"]:hover,
    #st_gallery .gas-block-gallery__item[data-index="3"]:hover,
    #st_gallery .gas-block-gallery__item:nth-child(2):hover,
    #st_gallery .gas-block-gallery__item:nth-child(4):hover {
        transform: translate3d(0, -20px, 0) !important;
    }
}

@media (max-width: 720px) {
    #st_gallery .gas-block-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        padding-top: 0.75rem;
        margin-top: 0;
        align-items: stretch;
    }
    #st_gallery .gas-block-gallery__item {
        aspect-ratio: 3 / 4 !important;
        border-radius: 2px;
    }
    /* Mobile : pas de stagger permanent (grille 2×2 propre) */
    #st_gallery .gas-block-gallery__item[data-index="1"],
    #st_gallery .gas-block-gallery__item[data-index="3"],
    #st_gallery .gas-block-gallery__item:nth-child(2),
    #st_gallery .gas-block-gallery__item:nth-child(4) {
        transform: none !important;
        box-shadow: 0 6px 16px rgba(20, 12, 6, 0.12);
    }
    #st_gallery .gas-block-gallery__item img {
        opacity: 1 !important;
        filter: none !important;
    }
}

/*
 * Thèmes densifiés — un seul bloc texte avec h3 + p (parité Divi).
 * Source : h3 22px / pb 10px ; corps 17px / lh 27.2px ; color #1f120d.
 */
#st_themes_a,
#st_themes_b {
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
}
#st_themes_a .gas-block-text__content,
#st_themes_b .gas-block-text__content {
    max-width: 1080px;
    margin-inline: auto;
    text-align: center;
    color: #1f120d;
    width: auto !important;
    font-size: 17px;
    line-height: 1.6;
}
#st_themes_a .gas-block-text__content h3,
#st_themes_b .gas-block-text__content h3 {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-weight: 700;
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
    color: #1f120d;
    margin: 0 0 10px;
    padding: 0;
    text-align: center;
}
/* Premier h3 sans marge haute ; suivants avec respiration source (~1.4rem) */
#st_themes_a .gas-block-text__content h3:not(:first-child),
#st_themes_b .gas-block-text__content h3:not(:first-child) {
    margin-top: 1.65rem;
}
#st_themes_a .gas-block-text__content p,
#st_themes_b .gas-block-text__content p {
    margin: 0 0 0.15rem;
    font-size: 17px;
    line-height: 1.6;
    color: #1f120d;
    text-align: center;
}
#st_themes_a .gas-block-text__title,
#st_themes_b .gas-block-text__title {
    display: none; /* pas de titre de bloc au-dessus du HTML */
}

#st_contact .gas-block-title-block__title {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #1f120d;
    text-align: center;
}
#st_contact .gas-block-text__content {
    max-width: 36em;
    margin-inline: auto;
    text-align: center;
    font-size: 17px;
    line-height: 1.6;
    color: #1f120d;
}

/* Citation Iran — pas de bande noire (overflow du parallax) */
#st_quote2 {
    overflow: hidden;
    background: #0a0908;
}
#st_quote2 > .gas-block-section {
    min-height: 48vh;
    padding-block: clamp(56px, 10vh, 120px) !important;
    overflow: hidden;
}
#st_quote2 .gas-block-section__inner {
    max-width: 920px;
    margin-inline: auto;
    width: 100%;
    position: relative;
    z-index: 1;
}
#st_quote2 .gas-block-text__content,
#st_quote2 .gas-block-text__content p {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-style: italic;
    font-size: clamp(1.2rem, 2.5vw, 1.85rem);
    max-width: 26em;
    margin: 0 auto;
    text-align: center;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.55);
    color: #f5ebe0;
    width: auto !important;
    line-height: 1.4;
}

/* Contact */
#st_contact .gas-block-section__inner {
    max-width: 520px;
    margin-inline: auto;
    text-align: center;
}
#st_contact .gas-block-title-block__title {
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 1.1rem;
}
#st_contact a {
    color: #5a3d12;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Footer sombre */
.gas-site-footer,
footer.gas-site-footer {
    background: #0a0908 !important;
    background-color: #0a0908 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    color: #c4b8a8 !important;
    font-size: 0.85rem;
    padding-block: 1.5rem !important;
}
.gas-site-footer a,
.gas-site-footer p,
.gas-site-footer span,
.gas-site-footer li {
    color: #c4b8a8 !important;
}

/* ═══════════════ HOME WOW — storytelling cinéma ═══════════════ */

/* ── Hero : in-your-face (titre géant, vignette pro, ken burns libre) ── */
#wow_hv {
    position: relative;
    min-height: 100svh !important;
}
#wow_hv .gas-block-hero-video__media,
#wow_hv .gas-block-hero-video__bg,
#wow_hv .gas-block-hero-video__video-wrap {
    overflow: hidden;
}
#wow_hv video,
#wow_hv .gas-block-hero-video__video {
    pointer-events: none;
    object-fit: cover;
    object-position: center 38%;
    /* ne pas figer transform ici — laisse le ken burns SDA/JS s’exprimer ;
       scale de base via le keyframe ken-marked (1.12 → 1) */
    transform-origin: center center;
}
#wow_hv::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(ellipse 70% 55% at 50% 42%, transparent 0%, rgba(0, 0, 0, 0.35) 70%, rgba(0, 0, 0, 0.62) 100%),
        linear-gradient(to top, rgba(10, 9, 8, 0.7) 0%, transparent 42%);
}
#wow_hv::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 14%;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(to top, rgba(10, 9, 8, 0.85) 0%, transparent 100%);
}
#wow_hv .gas-block-hero-video__overlay {
    opacity: 0.55 !important;
    background: #0a0908 !important;
}
#wow_hv .gas-block-hero-video__content {
    position: relative;
    z-index: 4;
    gap: 1.1rem !important;
    max-width: min(1100px, 94vw) !important;
    padding-block: clamp(48px, 10vh, 100px) !important;
}
#wow_hv video::-webkit-media-controls,
#wow_hv video::-webkit-media-controls-enclosure,
#wow_hv video::-webkit-media-controls-panel {
    display: none !important;
    opacity: 0 !important;
}
#wow_hv .gas-block-hero-video__eyebrow,
#wow_hv [class*="eyebrow"] {
    letter-spacing: 0.32em !important;
    text-transform: uppercase !important;
    font-size: clamp(0.7rem, 1.1vw, 0.85rem) !important;
    opacity: 0.9 !important;
    font-weight: 500 !important;
}
#wow_hv .gas-block-hero-video__title,
#wow_hv h1 {
    font-family: var(--gas-font-heading, "Oswald Variable", sans-serif) !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    /* In-your-face : ~1/4 de largeur d’écran */
    font-size: clamp(4.5rem, 14vw, 9.5rem) !important;
    line-height: 0.92 !important;
    text-shadow:
        0 2px 0 rgba(0, 0, 0, 0.25),
        0 12px 60px rgba(0, 0, 0, 0.65),
        0 0 80px rgba(0, 0, 0, 0.35) !important;
    margin: 0 !important;
}
#wow_hv .gas-block-hero-video__subtitle {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif) !important;
    font-style: italic !important;
    letter-spacing: 0.02em !important;
    opacity: 0.95 !important;
    font-size: clamp(1.2rem, 2.4vw, 1.75rem) !important;
    line-height: 1.35 !important;
    max-width: 22em;
}
#wow_hv .gas-block-hero-video__note {
    font-size: 0.78rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    opacity: 0.72 !important;
    margin-top: 0.5rem !important;
}
#wow_hv .gas-block-hero-video__actions {
    margin-top: 0.75rem;
    gap: 0.85rem !important;
}
#wow_hv .gas-button {
    border-radius: 2px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    padding: 0.95rem 1.65rem !important;
    min-height: 3rem;
}
#wow_hv .gas-button--primary {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

/* Acte 2 — multi-calques montagne */
#wow_layers > .gas-block-section {
    min-height: 100svh;
    overflow: hidden;
    position: relative;
    padding: 0 !important;
}
#wow_layers .gas-block-section__inner {
    position: relative;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    max-width: none !important;
    z-index: 1;
    padding-block: clamp(32px, 6vh, 64px) clamp(40px, 8vh, 88px);
}
#wow_l1, #wow_l2, #wow_l3 {
    position: absolute !important;
    left: 0; right: 0;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    pointer-events: none;
}
#wow_l1 { top: -8%; height: 92%; z-index: 1; }
#wow_l2 { bottom: 0; height: 62%; z-index: 2; }
#wow_l3 { bottom: -8%; height: 82%; z-index: 3; }
#wow_l1 img, #wow_l2 img, #wow_l3 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}
#wow_l1 img { object-position: center 30%; }
#wow_l2 img, #wow_l3 img { object-position: center bottom; }
#wow_logo, #wow_hook_tx {
    position: relative;
    z-index: 6;
    width: 100%;
    text-align: center;
}
#wow_logo img {
    max-width: min(340px, 52vw) !important;
    margin: 0 auto !important;
    display: block;
    filter: drop-shadow(0 8px 40px rgba(0,0,0,.55));
}
#wow_hook_tx {
    margin-top: auto;
}
#wow_hook_tx .gas-block-text__content,
#wow_hook_tx .gas-block-text__content p {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-style: italic;
    font-size: clamp(1.45rem, 3.2vw, 2.25rem);
    text-align: center;
    color: #fff8ee !important;
    text-shadow: 0 2px 28px rgba(0,0,0,.9), 0 0 48px rgba(0,0,0,.5);
    max-width: 18em;
    margin-inline: auto;
    line-height: 1.35;
}
/* Calques plus « in your face » : bleed + offset marqué */
#wow_l1 { top: -12% !important; height: 100% !important; }
#wow_l2 { bottom: -4% !important; height: 70% !important; }
#wow_l3 { bottom: -14% !important; height: 88% !important; }

/* Acte 3 — la question + bande-annonce */
#wow_pitch > .gas-block-section {
    padding-block: clamp(56px, 10vh, 110px) !important;
}
#wow_pitch .gas-block-section__inner {
    max-width: 880px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 4vh, 40px);
    align-items: stretch;
}
#wow_pitch_tx .wow-kicker,
#wow_pitch_tx p.wow-kicker {
    font-family: var(--gas-font-heading, "Oswald Variable", sans-serif);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-size: 0.72rem;
    color: #c9922a;
    margin: 0 0 0.75rem;
}
#wow_pitch_tx h2 {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    font-weight: 700;
    color: #f5ebe0;
    line-height: 1.25;
    margin: 0 0 1rem;
    text-align: center;
}
#wow_pitch_tx .gas-block-text__content,
#wow_pitch_tx .gas-block-text__content p {
    text-align: center;
    color: #ddd2c4;
    font-size: clamp(1rem, 1.25vw, 1.1rem);
    line-height: 1.7;
    max-width: 40em;
    margin-inline: auto;
}
#wow_trailer {
    width: 100%;
    max-width: min(860px, 92vw);
    margin-inline: auto;
}
#wow_trailer .gas-block-video-embed__frame {
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0,0,0,.55);
    background: #0a0908;
}
#wow_trailer video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Acte pont / mémoire — intertitres */
#wow_bridge > .gas-block-section {
    padding-block: clamp(36px, 6vh, 64px) !important;
}
#wow_bridge .gas-block-section__inner {
    max-width: 36em;
    margin-inline: auto;
}
#wow_bridge_tx .gas-block-text__content {
    text-align: center;
    color: #d8cfc2;
}
#wow_bridge_tx .wow-kicker,
#wow_bridge_tx p.wow-kicker,
#wow_memory_tx .wow-kicker,
#wow_memory_tx p.wow-kicker {
    font-family: var(--gas-font-heading, "Oswald Variable", sans-serif);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-size: 0.72rem;
    color: #c9922a;
    margin: 0 0 0.55rem;
}
#wow_bridge_tx h2 {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 700;
    color: #f5ebe0;
    margin: 0 0 0.65rem;
}
#wow_bridge_tx p:not(.wow-kicker) {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.6;
    color: #b8aea0;
}

/* ── Acte 4 — récit overlay : dense, cadrage pro, pas de vide ── */
#wow_story {
    background: #0a0908;
}
#wow_story .gas-block-sticky-story {
    background: #0a0908;
}
#wow_story .gas-block-sticky-story__intro:empty,
#wow_story .gas-block-sticky-story__footer {
    display: none !important;
}

/* Titre « De l’Arabie… » collé au récit (plus de bande noire séparée) */
#wow_story .gas-block-sticky-story__header {
    display: block !important;
    position: relative;
    z-index: 3;
    max-width: min(40rem, 90vw);
    margin: 0 auto;
    padding: clamp(28px, 5vh, 48px) 1rem 0.5rem;
    text-align: center;
    pointer-events: none;
}
#wow_story .gas-block-sticky-story__eyebrow {
    font-family: var(--gas-font-heading, "Oswald Variable", sans-serif) !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    font-size: 0.72rem !important;
    color: #c9922a !important;
    margin: 0 0 0.45rem !important;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.7);
}
#wow_story .gas-block-sticky-story__title {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif) !important;
    font-size: clamp(1.55rem, 2.8vw, 2.25rem) !important;
    font-weight: 700 !important;
    color: #fff8ee !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    text-shadow: 0 4px 32px rgba(0, 0, 0, 0.75);
}

/* Média plein écran + vignette cinéma */
#wow_story .gas-block-sticky-story__media {
    background: #0a0908;
    overflow: hidden !important;
}
#wow_story .gas-block-sticky-story__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(to right, rgba(10, 9, 8, 0.2) 0%, transparent 38%, rgba(10, 9, 8, 0.58) 100%),
        linear-gradient(to top, rgba(10, 9, 8, 0.5) 0%, transparent 38%, rgba(10, 9, 8, 0.25) 100%);
}
#wow_story .gas-block-sticky-story__layers {
    overflow: hidden;
    height: 100svh !important;
}
#wow_story .gas-block-sticky-story__layer {
    overflow: hidden;
}
/* Images portrait (672×1024) sur viewport paysage : cover + focus sujet + ken burns */
#wow_story .gas-block-sticky-story__media img,
#wow_story .gas-block-sticky-story__image {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    transform: scale(1.08);
    transform-origin: center center;
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
#wow_story .gas-block-sticky-story__layer.is-current .gas-block-sticky-story__image {
    animation: wow-story-ken 16s ease-out forwards;
}
@keyframes wow-story-ken {
    from { transform: scale(1.08); }
    to   { transform: scale(1.18); }
}
@media (prefers-reduced-motion: reduce) {
    #wow_story .gas-block-sticky-story__layer.is-current .gas-block-sticky-story__image {
        animation: none;
        transform: scale(1.08);
    }
}
/* Cadrages par beat (portraits → centre-haut ; paysages → horizons) */
#wow_story .gas-block-sticky-story__layer:nth-child(1) .gas-block-sticky-story__image { object-position: 50% 42%; } /* désert */
#wow_story .gas-block-sticky-story__layer:nth-child(2) .gas-block-sticky-story__image { object-position: 50% 42%; }
#wow_story .gas-block-sticky-story__layer:nth-child(3) .gas-block-sticky-story__image { object-position: 48% 28%; } /* grillage */
#wow_story .gas-block-sticky-story__layer:nth-child(4) .gas-block-sticky-story__image { object-position: 50% 22%; } /* portrait */
#wow_story .gas-block-sticky-story__layer:nth-child(5) .gas-block-sticky-story__image { object-position: 50% 48%; } /* pétroglyphe */
#wow_story .gas-block-sticky-story__layer:nth-child(6) .gas-block-sticky-story__image { object-position: 50% 55%; } /* ciel */
#wow_story .gas-block-sticky-story__layer:nth-child(7) .gas-block-sticky-story__image { object-position: 50% 40%; } /* Ararat */

/* Légendes : rythme serré (moins de vide) */
#wow_story .gas-block-sticky-story--layout-overlay .gas-block-sticky-story__steps,
#wow_story .gas-block-sticky-story__steps {
    max-width: min(26rem, 90vw) !important;
    margin-inline: auto 6vw !important;
    /* moins de padding haut/bas = moins de « trou » avant/après */
    padding-block: 12svh 18svh !important;
    gap: 0 !important;
    margin-block-start: -100svh !important;
}
#wow_story .gas-block-sticky-story__step {
    min-height: 52svh !important;
    display: flex;
    align-items: center;
    max-width: none !important;
    transition: opacity 0.5s ease, transform 0.5s ease;
}
#wow_story .gas-block-sticky-story__step:not(.is-active) {
    opacity: 0.14;
    transform: translateY(14px);
}
#wow_story .gas-block-sticky-story__step:not(.is-active) .gas-block-sticky-story__step-body {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding-block: 0.35rem !important;
}
#wow_story .gas-block-sticky-story__step:not(.is-active) .gas-block-sticky-story__step-text,
#wow_story .gas-block-sticky-story__step:not(.is-active) .gas-block-sticky-story__step-text p {
    opacity: 0;
    height: 0;
    overflow: hidden;
    margin: 0 !important;
}
#wow_story .gas-block-sticky-story__step.is-active {
    opacity: 1;
    transform: translateY(0);
}
#wow_story .gas-block-sticky-story__step-body {
    background: transparent;
    color: #f0e6d8 !important;
    border: 1px solid transparent;
    border-radius: 2px !important;
    padding: clamp(1.35rem, 2.5vw, 1.85rem) clamp(1.35rem, 2.5vw, 1.95rem) !important;
    transition: border-color 0.4s ease, background 0.4s ease, box-shadow 0.4s ease;
}
#wow_story .gas-block-sticky-story__step.is-active .gas-block-sticky-story__step-body {
    background: rgba(8, 7, 6, 0.72) !important;
    backdrop-filter: blur(16px) saturate(1.15);
    -webkit-backdrop-filter: blur(16px) saturate(1.15);
    border-color: rgba(201, 146, 42, 0.35) !important;
    box-shadow:
        0 28px 72px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(201, 146, 42, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}
#wow_story .gas-block-sticky-story__step-kicker {
    color: #c9922a !important;
    letter-spacing: 0.28em !important;
    font-size: 0.68rem !important;
    text-transform: uppercase !important;
    font-family: var(--gas-font-heading, "Oswald Variable", sans-serif) !important;
    font-weight: 500 !important;
    margin: 0 0 0.75rem !important;
}
#wow_story .gas-block-sticky-story__step-title {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif) !important;
    font-weight: 600 !important;
    color: #fff8ee !important;
    font-size: clamp(1.35rem, 2.2vw, 1.9rem) !important;
    line-height: 1.2 !important;
    margin: 0 0 0.8rem !important;
    letter-spacing: -0.01em;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4);
}
#wow_story .gas-block-sticky-story__step-body p:not(.gas-block-sticky-story__step-kicker),
#wow_story .gas-block-sticky-story__step-text,
#wow_story .gas-block-sticky-story__step-text p {
    color: #e0d4c4 !important;
    font-size: clamp(0.98rem, 1.15vw, 1.08rem) !important;
    line-height: 1.62 !important;
    margin: 0 !important;
}

/* Dots progression */
#wow_story .gas-block-sticky-story__progress {
    z-index: 4 !important;
    bottom: 1.5rem !important;
    gap: 0.5rem;
}
#wow_story .gas-block-sticky-story__dot {
    background: rgba(255, 255, 255, 0.3) !important;
    width: 7px !important;
    height: 7px !important;
}
#wow_story .gas-block-sticky-story__dot.is-active {
    background: #c9922a !important;
    transform: scale(1.3);
}

@media (max-width: 768px) {
    #wow_story .gas-block-sticky-story__header {
        padding-top: 1.25rem;
    }
    #wow_story .gas-block-sticky-story__steps {
        margin-inline: auto !important;
        padding-block: 8svh 14svh !important;
        max-width: 92vw !important;
    }
    #wow_story .gas-block-sticky-story__step {
        min-height: 42svh !important;
    }
}

/* Acte 5 — Iran */
#wow_iran > .gas-block-section {
    min-height: 100svh;
}
#wow_iran .gas-block-text__content,
#wow_iran .gas-block-text__content p {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-style: italic;
    font-size: clamp(1.35rem, 2.8vw, 2.05rem);
    text-align: center;
    color: #f5ebe0;
    text-shadow: 0 2px 28px rgba(0,0,0,.6);
    max-width: 24em;
    margin-inline: auto;
    line-height: 1.35;
}

/* Acte 6b — mémoire / parchemin */
#wow_memory > .gas-block-section {
    background-color: #f0e6d4 !important;
    background-size: cover !important;
    background-position: center top !important;
    padding-block: clamp(48px, 8vh, 88px) !important;
}
#wow_memory_tx h2 {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
    color: #1f120d;
    margin: 0 0 0.5rem;
}
#wow_memory_tx p:not(.wow-kicker) {
    color: #4a3a2a;
    max-width: 34em;
    margin-inline: auto;
    line-height: 1.55;
}
#wow_memory #wow_gal {
    margin-top: clamp(20px, 3vh, 36px);
}
/* Acte 7 — coda contact */
#wow_end > .gas-block-section {
    padding-block: clamp(56px, 10vh, 100px) !important;
}
#wow_end .gas-block-title-block__title,
#wow_end h2 {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif) !important;
    font-size: clamp(1.55rem, 2.6vw, 2.1rem) !important;
    font-weight: 700 !important;
    color: #f5ebe0 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
}
#wow_end_x .wow-end-lead {
    color: #b8aea0;
    margin-bottom: 0.75rem;
}
#wow_end_x a {
    color: #e8d4b0;
    text-decoration: underline;
    text-underline-offset: 3px;
}
#wow_end .gas-button {
    border-radius: 2px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.8rem;
}
#wow_memory .gas-block-section__inner {
    max-width: 1100px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}
#wow_memory_tx .gas-block-text__content {
    text-align: center;
    color: #1f120d;
    max-width: 36em;
    margin-inline: auto;
}
#wow_memory_tx .gas-block-text__content h2 {
    font-family: var(--gas-font-family, "Source Serif 4 Variable", Georgia, serif);
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: #1f120d;
}
#wow_memory_tx .gas-block-text__content p {
    font-size: 17px;
    line-height: 1.6;
    margin: 0;
    color: #1f120d;
}
#wow_gal .gas-block-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
#wow_gal .gas-block-gallery__item {
    aspect-ratio: 3 / 4.2 !important;
    overflow: hidden;
}
#wow_gal .gas-block-gallery__item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
@media (max-width: 720px) {
    #wow_gal .gas-block-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Acte 7 — contact sombre */
#wow_end > .gas-block-section {
    padding-block: clamp(48px, 8vh, 88px) !important;
}
#wow_end .gas-block-section__inner {
    max-width: 480px;
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
#wow_end .gas-block-title-block__title {
    font-family: var(--gas-font-heading, "Oswald Variable", sans-serif);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-size: 1rem;
}
#wow_end .gas-block-text__content {
    color: #c4b8a8;
    font-size: 1rem;
    line-height: 1.65;
}
#wow_end .gas-block-text__content a {
    color: #e8d4b0;
}
#wow_end .gas-block-cta__actions {
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}
#wow_end .gas-button {
    border-radius: 2px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.8rem;
}

/* ═══════════════ HOME SCROLLY — hero film (parité stone-film) ═══════════════ */
#st_scrolly_hero.gas-block-scrolly-scene,
.stone-scrolly-hero.gas-block-scrolly-scene {
    background: #0a0908;
    color: #f3ebe0;
}
#st_scrolly_hero .gas-block-scrolly-scene__chapters,
#st_scrolly_hero .gas-block-scrolly-scene__progress,
.stone-scrolly-hero .gas-block-scrolly-scene__chapters,
.stone-scrolly-hero .gas-block-scrolly-scene__progress {
    display: none !important;
}
#st_scrolly_hero .gas-block-scrolly-scene__stage,
.stone-scrolly-hero .gas-block-scrolly-scene__stage {
    background: #0a0908;
}
#st_scrolly_hero .gas-block-scrolly-scene__object--role-film-layer,
.stone-scrolly-hero .gas-block-scrolly-scene__object--role-film-layer {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform:
        translate3d(var(--gas-s-x, 0px), var(--gas-s-y, 0px), 0)
        scale(calc(var(--gas-s-scale, 1) * 1.08)) !important;
}
#st_scrolly_hero .gas-block-scrolly-scene__object--role-film-layer img,
.stone-scrolly-hero .gas-block-scrolly-scene__object--role-film-layer img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block;
}
#st_scrolly_hero .gas-block-scrolly-scene__object--role-film-logo,
.stone-scrolly-hero .gas-block-scrolly-scene__object--role-film-logo {
    top: 12% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: min(42vw, 320px) !important;
    max-width: 320px !important;
    height: auto !important;
    transform:
        translate3d(calc(-50% + var(--gas-s-x, 0px)), var(--gas-s-y, 0px), 0)
        scale(var(--gas-s-scale, 1)) !important;
}
#st_scrolly_hero .gas-block-scrolly-scene__object--role-film-logo img,
.stone-scrolly-hero .gas-block-scrolly-scene__object--role-film-logo img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.45));
}
#st_scrolly_hero .gas-block-scrolly-scene__object--role-film-quote,
.stone-scrolly-hero .gas-block-scrolly-scene__object--role-film-quote {
    left: 50% !important;
    bottom: 10% !important;
    top: auto !important;
    right: auto !important;
    width: min(88vw, 42rem) !important;
    max-width: 42rem !important;
    transform:
        translate3d(calc(-50% + var(--gas-s-x, 0px)), var(--gas-s-y, 0px), 0)
        scale(var(--gas-s-scale, 1)) !important;
    text-align: center;
    padding: 0 1rem;
}
#st_scrolly_hero .stone-scrolly-quote,
#st_scrolly_hero .gas-block-scrolly-scene__text,
.stone-scrolly-hero .stone-scrolly-quote {
    font-family: var(--gas-font-body, "Source Serif 4", Georgia, serif);
    font-style: italic;
    font-size: clamp(1.05rem, 2.4vw, 1.45rem);
    line-height: 1.55;
    color: #f3ebe0;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.65);
    margin: 0;
}
#st_scrolly_hero .gas-block-scrolly-scene__text-unit {
    transform: none !important;
    color: inherit;
}
