/* =====================================================
   Anaëlle – page d'accueil v2 (template-anaelle-accueil-v2.php)
   Complète anaelle-accueil.css. Page de travail : le design est repris
   par le user (maquette du 2026-10-26).
   ===================================================== */

/* Mêmes réglages de page que l'accueil actuel (modèle différent = autre classe). */
body.page-template-template-anaelle-accueil-v2 {
    overflow-x: hidden;
}

body.page-template-template-anaelle-accueil-v2 #main {
    padding-top: 0;
    padding-bottom: 0;
}

body.page-template-template-anaelle-accueil-v2 #main .wf-container-main {
    display: block;
}

body.page-template-template-anaelle-accueil-v2 #main #content {
    width: 100%;
    max-width: none;
}

body.page-template-template-anaelle-accueil-v2 #main #sidebar {
    display: none;
}

/* ----- Hero v2 ----- */

#main .am-home .am-hero2 {
    --h2-text: #89796e;
    --h2-bg: #e2dad3;

    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: min(56vw, 900px);
    background: var(--h2-bg);
    color: var(--h2-text);
}

#main .am-home .am-hero2__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 26px;
    min-width: 0;
    padding: 60px clamp(24px, 5.3vw, 90px);
}

/* [2026-10-27] Textes et boutons du hero en #56524f (choix du user). */
#main .am-home .am-hero2__title {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
    color: #56524f;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-style: italic;
    font-weight: 700;
    text-wrap: balance;
}

#main .am-home .am-hero2__name {
    font-size: clamp(40px, 4.2vw, 66px);
    line-height: 1.05;
}

#main .am-home .am-hero2__tagline {
    font-size: clamp(24px, 2.5vw, 38px);
    line-height: 1.2;
}

#main .am-home .am-hero2__lead {
    max-width: 34ch;
    margin: -8px 0 0;
    color: #56524f;
    font-size: clamp(18px, 1.75vw, 27px);
    font-weight: 400;
    line-height: 1.35;
}

#main .am-home .am-hero2__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 32px;
}

#main .am-home .am-hero2__btn {
    display: inline-flex;
    align-items: center;
    padding: 16px 18px;
    border: 2px solid #56524f;
    border-radius: 4px;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(16px, 1.3vw, 20px);
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

#main .am-home .am-hero2__btn--plein {
    background: #56524f;
    color: #f4efea;
}

#main .am-home .am-hero2__btn--plein:hover {
    background: #6f6158;
    border-color: #6f6158;
}

#main .am-home .am-hero2__btn--contour {
    background: transparent;
    color: #56524f;
}

#main .am-home .am-hero2__btn--contour:hover {
    background: #56524f;
    color: #f4efea;
}

#main .am-home .am-hero2__photo {
    position: relative;
    min-width: 0;
    margin: 0;
}

#main .am-home .am-hero2__photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 25%;
}

/* Mobile : photo en haut, texte dessous. */
@media (max-width: 860px) {
    #main .am-home .am-hero2 {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    #main .am-home .am-hero2__photo {
        order: -1;
        aspect-ratio: 4 / 4.2;
    }

    #main .am-home .am-hero2__text {
        padding: 36px 20px 44px;
        gap: 20px;
    }

    #main .am-home .am-hero2__actions {
        margin-top: 12px;
    }
}

/* ----- Section thématique v2 (maquette du user, 2026-10-26) ----- */

#main .am-home .am-theme2 {
    --t2-dark: #57524f;
    --t2-mid: #89796e;
    --t2-soft: #8f8580;
    --t2-light: #e2dad3;
    --t2-cream: #f1dcc0;
    --t2-ink: #4b4542;
}

#main .am-home .am-theme2__band {
    margin: 0;
    padding: 26px 20px;
    background: var(--t2-dark);
    text-align: center;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(22px, 3.4vw, 54px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.32em;
    text-transform: uppercase;
}

#main .am-home .am-theme2__band a {
    color: var(--t2-light);
    text-decoration: none;
}

#main .am-home .am-theme2__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--t2-light);
}

/* 4 carrés : intro + 3 tuiles */
#main .am-home .am-theme2__squares {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

#main .am-home .am-theme2__intro,
#main .am-home .am-tile {
    position: relative;
    aspect-ratio: 1 / 1;
    min-width: 0;
    overflow: hidden;
}

#main .am-home .am-theme2__intro {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: clamp(18px, 2.6vw, 42px);
    background: var(--t2-mid);
    color: var(--t2-cream);
}

#main .am-home .am-theme2__tag,
#main .am-home .am-tile__btn {
    align-self: flex-start;
    padding: 2px 6px;
    border: 1.5px solid currentColor;
    border-radius: 4px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(14px, 1.2vw, 19px);
    font-style: italic;
    line-height: 1.3;
}

#main .am-home .am-theme2__intro p {
    margin: 0;
    color: var(--t2-cream);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(15px, 1.5vw, 26px);
    font-style: italic;
    font-weight: 700;
    line-height: 1.2;
}

/* Tuile : une face "titre" et une image ; le survol inverse */
#main .am-home .am-tile {
    display: block;
    text-decoration: none;
}

#main .am-home .am-tile--moyen { background: var(--t2-soft); }
#main .am-home .am-tile--fonce { background: var(--t2-dark); }

#main .am-home .am-tile__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.35s ease, transform 0.6s ease;
}

#main .am-home .am-tile__face {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(18px, 2.6vw, 42px);
    transition: opacity 0.35s ease;
}

#main .am-home .am-tile__title {
    margin-top: auto;
    margin-bottom: auto;
    overflow-wrap: anywhere;
    hyphens: auto;
}

#main .am-home .am-tile__title--courier {
    color: var(--t2-cream);
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(20px, 2.3vw, 36px);
    line-height: 1.3;
}

#main .am-home .am-tile__title--playfair {
    color: var(--t2-mid);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(18px, 2.1vw, 34px);
    font-style: italic;
    font-weight: 700;
    line-height: 1.2;
}

#main .am-home .am-tile--moyen .am-tile__btn { color: var(--t2-cream); }
#main .am-home .am-tile--fonce .am-tile__btn { color: var(--t2-mid); }

/* [2026-10-27] Bouton fixe en bas à gauche, au-dessus des 2 faces. */
#main .am-home .am-tile__btn {
    position: absolute;
    left: clamp(18px, 2.6vw, 42px);
    bottom: clamp(18px, 2.6vw, 42px);
    z-index: 2;
    transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}

#main .am-home .am-tile__face {
    padding-bottom: calc(clamp(18px, 2.6vw, 42px) + 44px);
}

/* Quand l'image est visible, le bouton prend un fond pour rester lisible. */
#main .am-home .am-tile--montre-image .am-tile__btn,
#main .am-home .am-tile--montre-titre:hover .am-tile__btn,
#main .am-home .am-tile--montre-titre:focus-visible .am-tile__btn {
    border-color: var(--t2-cream);
    background: var(--t2-dark);
    color: var(--t2-cream);
}

#main .am-home .am-tile--montre-image:hover .am-tile__btn,
#main .am-home .am-tile--montre-image:focus-visible .am-tile__btn {
    border-color: currentColor;
    background: transparent;
    color: var(--t2-mid);
}

/* Par défaut : image visible, titre au survol */
#main .am-home .am-tile--montre-image .am-tile__face { opacity: 0; }
#main .am-home .am-tile--montre-image:hover .am-tile__face,
#main .am-home .am-tile--montre-image:focus-visible .am-tile__face { opacity: 1; }
#main .am-home .am-tile--montre-image:hover .am-tile__img,
#main .am-home .am-tile--montre-image:focus-visible .am-tile__img { opacity: 0; }

/* Par défaut : titre visible, image au survol */
#main .am-home .am-tile--montre-titre .am-tile__img { opacity: 0; }
#main .am-home .am-tile--montre-titre:hover .am-tile__img,
#main .am-home .am-tile--montre-titre:focus-visible .am-tile__img { opacity: 1; transform: scale(1.03); }
#main .am-home .am-tile--montre-titre:hover .am-tile__face,
#main .am-home .am-tile--montre-titre:focus-visible .am-tile__face { opacity: 0; }

#main .am-home .am-tile:focus-visible {
    outline: 3px solid var(--t2-cream);
    outline-offset: -6px;
}

/* Diagnostic à droite, sans carte */
#main .am-home .am-theme2__form {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: clamp(24px, 5vw, 90px);
}

#main .am-home .am-theme2 .am-diag {
    width: 100%;
    max-width: 640px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

#main .am-home .am-theme2 .am-diag .am-eyebrow {
    color: var(--t2-ink);
    font-size: clamp(13px, 1.1vw, 17px);
    letter-spacing: 0.02em;
}

#main .am-home .am-theme2 .am-diag .anaelle-form-entry__question-label {
    color: var(--t2-ink);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(20px, 1.9vw, 30px);
    font-style: italic;
    text-wrap: balance;
}

#main .am-home .am-theme2 .am-diag .anaelle-form-entry__choice {
    border: 1.5px solid var(--t2-ink);
    border-radius: 4px;
    background: transparent;
    color: #5a524d;
    font-size: clamp(17px, 1.6vw, 26px);
    font-weight: 500;
}

#main .am-home .am-theme2 .am-diag .anaelle-form-entry__choice::before {
    border-color: var(--t2-ink);
    background: transparent;
}

#main .am-home .am-theme2 .am-diag .anaelle-form-entry__choice:hover,
#main .am-home .am-theme2 .am-diag .anaelle-form-entry__choice.is-selected {
    border-color: var(--t2-ink);
    background: var(--t2-mid);
    color: var(--t2-light);
}

#main .am-home .am-theme2 .am-diag__hint {
    display: none;
}

@media (max-width: 860px) {
    #main .am-home .am-theme2__band {
        letter-spacing: 0.14em;
    }

    #main .am-home .am-theme2__grid {
        grid-template-columns: 1fr;
    }

    /* Intro en pleine largeur (hauteur libre), 2 tuiles côte à côte, la 3e en bandeau. */
    #main .am-home .am-theme2__intro {
        grid-column: 1 / -1;
        aspect-ratio: auto;
        padding: 24px 20px 28px;
    }

    #main .am-home .am-theme2__intro p {
        font-size: 21px;
    }

    #main .am-home .am-theme2__squares > .am-tile:last-child {
        grid-column: 1 / -1;
        aspect-ratio: 2 / 1;
    }

    #main .am-home .am-tile__face {
        padding: 18px 18px 58px;
    }

    #main .am-home .am-tile__btn {
        left: 18px;
        bottom: 18px;
    }
}


/* [2026-10-27] Ordinateur : hero et section thématique = hauteur de l'écran sous le menu.
   (--am-header-h est mesuré par un petit script dans le modèle ; min-height pour ne
   jamais couper le texte sur un écran très bas.) */
@media (min-width: 861px) {
    #main .am-home .am-hero2 {
        min-height: calc(100vh - var(--am-header-h, 120px));
        min-height: calc(100svh - var(--am-header-h, 120px));
    }

    /* Le menu The7 reste fixé en haut au défilement : la section remplit l'écran sous le menu. */
    #main .am-home .am-theme2 {
        display: flex;
        flex-direction: column;
        min-height: calc(100vh - var(--am-header-h, 120px));
        min-height: calc(100svh - var(--am-header-h, 120px));
        scroll-margin-top: var(--am-header-h, 120px);
    }

    #main .am-home .am-theme2__grid {
        flex: 1;
        min-height: 0;
    }

    #main .am-home .am-theme2__squares {
        grid-template-rows: 1fr 1fr;
    }

    #main .am-home .am-theme2__intro,
    #main .am-home .am-tile {
        aspect-ratio: auto;
    }
}

/* ----- Section thématique v2, variante 3 colonnes (dépendance affective, 2026-10-27) ----- */

#main .am-home .am-theme3 {
    --t2-dark: #57524f;
    --t2-mid: #89796e;
    --t2-soft: #8f8580;
    --t2-light: #e2dad3;
    --t2-cream: #f1dcc0;
    --t2-sand: #dfc9a8;
    --t2-ink: #4b4542;

    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    background: var(--t2-light);
}

#main .am-home .am-theme3__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(16px, 2vw, 34px);
    min-width: 0;
    padding: clamp(28px, 4.4vw, 90px) clamp(22px, 2.6vw, 52px);
    background: var(--t2-mid);
    color: var(--t2-cream);
}

#main .am-home .am-theme3__title {
    margin: 0;
    color: var(--t2-cream);
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(24px, 2.9vw, 54px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}

#main .am-home .am-theme3__accroche,
#main .am-home .am-theme3__text {
    margin: 0;
    color: var(--t2-cream);
    font-family: "Playfair Display", Georgia, serif;
    font-style: italic;
}

#main .am-home .am-theme3__accroche {
    font-size: clamp(26px, 3vw, 56px);
    line-height: 1.15;
}

#main .am-home .am-theme3__text {
    font-size: clamp(16px, 1.55vw, 29px);
    font-weight: 700;
    line-height: 1.3;
}

#main .am-home .am-theme3__btn {
    padding: 2px 6px;
    border: 1.5px solid currentColor;
    border-radius: 4px;
    color: var(--t2-cream);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(14px, 1.2vw, 19px);
    font-style: italic;
    text-decoration: none;
}

#main .am-home .am-theme3__btn:hover {
    background: var(--t2-cream);
    color: var(--t2-mid);
}

/* 3 tuiles empilées, chacune un tiers de la hauteur */
#main .am-home .am-theme3__tiles {
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    min-width: 0;
}

#main .am-home .am-theme3 .am-tile {
    aspect-ratio: auto;
    min-height: 220px;
}

#main .am-home .am-theme3 .am-tile--fonce .am-tile__btn { color: var(--t2-cream); }

#main .am-home .am-tile--sable { background: var(--t2-sand); }
#main .am-home .am-tile--sable .am-tile__title--courier { color: var(--t2-dark); }
#main .am-home .am-tile--sable .am-tile__btn { color: var(--t2-dark); }

#main .am-home .am-theme3__form {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    padding: clamp(28px, 4.4vw, 90px) clamp(22px, 2.6vw, 52px);
}

#main .am-home .am-theme3 .am-diag {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

#main .am-home .am-theme3 .am-diag .am-eyebrow {
    color: var(--t2-ink);
    font-size: clamp(13px, 1.1vw, 17px);
    letter-spacing: 0.02em;
}

#main .am-home .am-theme3 .am-diag .anaelle-form-entry__question-label {
    color: var(--t2-ink);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(20px, 1.9vw, 30px);
    font-style: italic;
    text-wrap: balance;
}

#main .am-home .am-theme3 .am-diag .anaelle-form-entry__choice {
    border: 1.5px solid var(--t2-ink);
    border-radius: 4px;
    background: transparent;
    color: #5a524d;
    font-size: clamp(16px, 1.45vw, 26px);
    font-weight: 500;
}

#main .am-home .am-theme3 .am-diag .anaelle-form-entry__choice::before {
    border-color: var(--t2-ink);
    background: transparent;
}

#main .am-home .am-theme3 .am-diag .anaelle-form-entry__choice:hover,
#main .am-home .am-theme3 .am-diag .anaelle-form-entry__choice.is-selected {
    border-color: var(--t2-ink);
    background: var(--t2-mid);
    color: var(--t2-light);
}

#main .am-home .am-theme3 .am-diag__hint {
    display: none;
}

@media (min-width: 861px) {
    #main .am-home .am-theme3 {
        min-height: calc(100vh - var(--am-header-h, 120px));
        min-height: calc(100svh - var(--am-header-h, 120px));
        scroll-margin-top: var(--am-header-h, 120px);
    }
}

@media (max-width: 860px) {
    #main .am-home .am-theme3 {
        grid-template-columns: 1fr;
    }

    #main .am-home .am-theme3__title {
        letter-spacing: 0.16em;
    }

    #main .am-home .am-theme3 .am-tile {
        min-height: 0;
        aspect-ratio: 2 / 1;
    }
}

/* ----- [2026-10-27] Section 5 cartes « Mémoires cellulaires » (maquette du user) ----- */
#main .am-home .am-cards5 {
    display: flex;
    flex-direction: column;
    background: #e2dad3;
    color: #57524f;
}

#main .am-home .am-cards5__title {
    margin: 0;
    padding: clamp(28px, 3.5vw, 64px) 16px clamp(24px, 3.5vw, 70px);
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(26px, 4.6vw, 84px);
    font-weight: 700;
    letter-spacing: 0.32em;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
}

#main .am-home .am-cards5__title a {
    color: #57524f;
    text-decoration: none;
}

#main .am-home .am-cards5__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

#main .am-home .am-card5 {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: clamp(360px, 46vh, 520px);
    padding: 20px 16px 30px 18px;
    color: #57524f;
    text-decoration: none;
    isolation: isolate;
}

/* Photo cachée ; au survol : fondu, puis flou qui s'accentue doucement. */
#main .am-home .am-card5__img {
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    filter: blur(0) brightness(0.72);
    transform: scale(1.06);
    transition: opacity 0.35s ease, filter 0.35s ease;
}

#main .am-home .am-card5:hover .am-card5__img,
#main .am-home .am-card5:focus-visible .am-card5__img {
    opacity: 1;
    filter: blur(9px) brightness(0.62);
    transition: opacity 0.6s ease, filter 5s cubic-bezier(0.3, 0, 0.6, 1) 0.6s;
}

#main .am-home .am-card5__num {
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(16px, 1.4vw, 22px);
    letter-spacing: 0.12em;
}

#main .am-home .am-card5__title {
    margin: clamp(80px, 4.5vh, 60px) 0 clamp(20px, 3vh, 36px);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(19px, 1vw, 18px);
    font-style: italic;
    font-weight: 700;
    line-height: 1.15;
}

#main .am-home .am-card5__text {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(15px, 1.15vw, 15px);
    font-style: italic;
    font-weight: 300;
    line-height: 1.3;
}

#main .am-home .am-card5__btn {
    align-self: flex-start;
    margin-top: auto;
    padding: 1px 5px;
    border: 1.5px solid currentColor;
    border-radius: 4px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(15px, 1.2vw, 19px);
    font-style: italic;
    font-weight: 700;
}

#main .am-home .am-card5 > span {
    transition: color 0.45s ease;
}

#main .am-home .am-card5:hover > span,
#main .am-home .am-card5:focus-visible > span {
    color: #fff;
}

@media (min-width: 861px) {
    #main .am-home .am-cards5 {
        min-height: calc(100vh - var(--am-header-h, 120px));
        min-height: calc(100svh - var(--am-header-h, 120px));
        scroll-margin-top: var(--am-header-h, 120px);
    }
}

/* Mobile : cartes empilées, séparées d'un filet. */
@media (max-width: 860px) {
    #main .am-home .am-cards5__title {
        letter-spacing: 0.18em;
    }

    #main .am-home .am-cards5__grid {
        grid-template-columns: 1fr;
    }

    #main .am-home .am-card5 {
        min-height: 0;
        padding: 26px 20px 30px;
        border-top: 1px solid rgba(87, 82, 79, 0.25);
    }

    #main .am-home .am-card5__title {
        margin: 14px 0 12px;
    }

    #main .am-home .am-card5__btn {
        margin-top: 22px;
    }
}

/* [2026-10-27] Titre « 5 cartes » sur une ligne (taille calculée en JS sur ordinateur). */
@media (min-width: 861px) {
    #main .am-home .am-cards5__title {
        padding-left: clamp(16px, 2.5vw, 48px);
        padding-right: clamp(16px, 2.5vw, 48px);
        white-space: nowrap;
    }
}

/* L'espacement des lettres ajoute un blanc après la dernière : on le compense pour centrer. */
#main .am-home .am-cards5__title a {
    display: inline-block;
    margin-right: -0.32em;
}

/* [2026-10-27] Diagnostic sous les cartes, maquette du user : un seul cadre découpé en cases,
   question à gauche, une case par réponse, tout en Special Elite. */
#main .am-home .am-cards5__diag {
    padding: clamp(20px, 2.2vw, 44px) clamp(20px, 2.5vw, 48px) clamp(28px, 3vw, 56px);
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 1.5px solid #57524f;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag .am-eyebrow {
    position: absolute;
    top: clamp(10px, 0.9vw, 16px);
    left: clamp(16px, 1.9vw, 34px);
    margin: 0;
    color: #4b4542;
    font-size: clamp(10px, 0.8vw, 13px);
    letter-spacing: 0.02em;
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__question {
    display: grid;
    grid-template-columns: 27% 1fr;
    align-items: stretch;
    gap: 0;
    margin: 0;
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__question-label {
    margin: 0;
    padding: clamp(30px, 2.6vw, 46px) clamp(16px, 1.9vw, 34px) clamp(14px, 1.3vw, 22px);
    color: #57524f;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(15px, 1.25vw, 22px);
    font-style: normal;
    font-weight: 400;
    line-height: 1.35;
    text-wrap: balance;
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__choices {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 0;
    margin: 0;
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__choice {
    height: 100%;
    min-height: 0;
    margin: 0;
    border: 0;
    border-left: 1.5px solid #57524f;
    border-radius: 0;
    background: transparent;
    color: #57524f;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(14px, 1.1vw, 19px);
    font-weight: 400;
    letter-spacing: 0.04em;
    text-align: left;
    padding: 16px 14px 16px 52px;
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__choice::before {
    left: 16px;
    width: 24px;
    height: 24px;
    border: 1.5px solid #57524f;
    background: transparent;
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__choice:hover,
#main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__choice.is-selected {
    background: #89796e;
    color: #e2dad3;
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__choice:hover::before,
#main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__choice.is-selected::before {
    border-color: #e2dad3;
}

#main .am-home :is(.am-cards5, .am-slider) .am-diag__hint {
    display: none;
}

@media (max-width: 860px) {
    #main .am-home .am-cards5__diag {
        padding: 24px 16px 32px;
    }

    #main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__question {
        grid-template-columns: 1fr;
    }

    #main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__choices {
        grid-auto-flow: row;
    }

    #main .am-home :is(.am-cards5, .am-slider) .am-diag .anaelle-form-entry__choice {
        border-left: 0;
        border-top: 1.5px solid #57524f;
    }
}

/* ----- [2026-10-27] Citation texte seul, fond clair (maquette du user) ----- */
#main .am-home .am-quote2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: clamp(24px, 2.6vw, 44px);
    padding: clamp(60px, 8vw, 140px) 20px;
    background: #e2dad3;
    color: #57524f;
    text-align: center;
}

#main .am-home .am-quote2__text {
    max-width: 62rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

#main .am-home .am-quote2__text p {
    margin: 0;
    color: #57524f;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(26px, 2.6vw, 48px);
    font-style: italic;
    font-weight: 700;
    line-height: 1.22;
    text-wrap: balance;
}

#main .am-home .am-quote2__mention {
    margin: 0;
    color: #57524f;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(16px, 1.5vw, 26px);
    font-weight: 700;
    letter-spacing: 0.04em;
}

#main .am-home .am-quote2__btn {
    padding: 2px 6px;
    border: 1.5px solid currentColor;
    border-radius: 4px;
    color: #57524f;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(14px, 1.2vw, 19px);
    font-style: italic;
    font-weight: 700;
    text-decoration: none;
}

#main .am-home .am-quote2__btn:hover {
    background: #57524f;
    color: #e2dad3;
}

@media (min-width: 861px) {
    #main .am-home .am-quote2 {
        min-height: calc(100vh - var(--am-header-h, 120px));
        min-height: calc(100svh - var(--am-header-h, 120px));
        scroll-margin-top: var(--am-header-h, 120px);
    }
}

/* ----- [2026-10-27] Section carrousel « Dépendance affective » (maquette du user) ----- */
#main .am-home .am-slider {
    --am-slider-pad: clamp(20px, 2.6vw, 52px);
    display: flex;
    flex-direction: column;
    background: #e2dad3;
    color: #57524f;
}

#main .am-home .am-slider__title {
    width: min-content;
    margin: 0;
    padding: clamp(24px, 2.6vw, 52px) var(--am-slider-pad) clamp(16px, 1.8vw, 36px);
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(28px, 3vw, 58px);
    font-weight: 700;
    letter-spacing: 0.32em;
    line-height: 1.2;
    text-transform: uppercase;
}

#main .am-home .am-slider__title a {
    color: #57524f;
    text-decoration: none;
}

#main .am-home .am-slider__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 2 * var(--am-slider-pad) - 2 * clamp(24px, 3.4vw, 70px)) / 3.18);
    gap: clamp(24px, 3.4vw, 70px);
    overflow-x: auto;
    padding: 0 var(--am-slider-pad);
    scroll-padding: 0 var(--am-slider-pad);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

#main .am-home .am-slider__track::-webkit-scrollbar {
    display: none;
}

#main .am-home .am-slide {
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: #57524f;
    text-decoration: none;
    scroll-snap-align: start;
}

#main .am-home .am-slide__img {
    width: 100%;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    transition: opacity 0.3s ease;
}

#main .am-home .am-slide:hover .am-slide__img {
    opacity: 0.88;
}

#main .am-home .am-slide__title {
    margin: clamp(12px, 1.2vw, 22px) 0 6px;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(18px, 1.65vw, 30px);
    letter-spacing: 0.06em;
    line-height: 1.3;
}

#main .am-home .am-slide__text {
    font-family: "quicksand", "Quicksand", sans-serif;
    font-size: clamp(14px, 1.05vw, 18px);
    line-height: 1.45;
}

#main .am-home .am-slide__btn {
    align-self: flex-start;
    margin-top: clamp(12px, 1.2vw, 22px);
    padding: 1px 5px;
    border: 1.5px solid currentColor;
    border-radius: 4px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(15px, 1.2vw, 19px);
    font-style: italic;
    font-weight: 700;
}

#main .am-home .am-slide:hover .am-slide__btn {
    background: #57524f;
    color: #e2dad3;
}

#main .am-home .am-slider__nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    padding: clamp(14px, 1.4vw, 30px) 0 0;
}

#main .am-home .am-slider__nav[hidden] {
    display: none;
}

#main .am-home .am-slider__arrow {
    display: inline-flex;
    padding: 4px 8px;
    border: 0;
    background: none;
    color: #57524f;
    cursor: pointer;
}

#main .am-home .am-slider__arrow svg {
    width: 14px;
    height: 26px;
}

#main .am-home .am-slider__dots {
    display: flex;
    gap: 12px;
}

#main .am-home .am-slider__dot {
    width: 16px;
    height: 16px;
    padding: 0;
    border: 1.5px solid #57524f;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

#main .am-home .am-slider__dot.is-active {
    background: #57524f;
}

#main .am-home .am-slider .am-cards5__diag {
    padding-top: clamp(10px, 1vw, 18px);
    padding-bottom: clamp(20px, 1.8vw, 34px);
}

@media (min-width: 861px) {
    #main .am-home .am-slider {
        min-height: calc(100vh - var(--am-header-h, 120px));
        min-height: calc(100svh - var(--am-header-h, 120px));
        justify-content: space-between;
        scroll-margin-top: var(--am-header-h, 120px);
    }
}

@media (max-width: 860px) {
    #main .am-home .am-slider__title {
        letter-spacing: 0.2em;
    }

    #main .am-home .am-slider__track {
        grid-auto-columns: 80%;
        gap: 18px;
    }
}

/* [2026-10-27] Fond de la section Nettoyage transgénérationnel (choix du user). */
#main .am-home .am-cards5#transgenerationnel {
    background: #b7b7ac;
}

/* [2026-10-27] Fond de la section Dépendance affective (choix du user). */
#main .am-home .am-slider#dependance-affective {
    background: #b7b7ac;
}

/* ----- [2026-10-27] Carrousel variante « overlay » : 2 grandes cartes, texte sur la photo (Mémoires cellulaires) ----- */
#main .am-home .am-slider--overlay .am-slider__title {
    width: auto;
}

#main .am-home .am-slider--overlay .am-slider__track {
    grid-auto-columns: calc((100% - 16px) / 2);
    gap: 16px;
}

#main .am-home .am-slider--overlay .am-slide {
    position: relative;
    justify-content: flex-end;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    padding: 0 clamp(18px, 2.2vw, 40px) clamp(18px, 2.2vw, 40px);
    border-radius: 6px;
    color: #fff;
    isolation: isolate;
}

#main .am-home .am-slider--overlay .am-slide__img {
    position: absolute;
    inset: 0;
    z-index: -1;
    height: 100%;
    aspect-ratio: auto;
    transition: transform 0.6s ease;
}

/* Voile en bas de la photo pour que le texte blanc reste lisible. */
#main .am-home .am-slider--overlay .am-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(to top, rgba(30, 28, 27, 0.68) 0%, rgba(30, 28, 27, 0.3) 45%, rgba(30, 28, 27, 0) 70%);
}

#main .am-home .am-slider--overlay .am-slide:hover .am-slide__img {
    opacity: 1;
    transform: scale(1.03);
}

#main .am-home .am-slider--overlay .am-slide__title,
#main .am-home .am-slider--overlay .am-slide__text {
    max-width: 60%;
    color: #fff;
}

#main .am-home .am-slider--overlay .am-slide__title {
    margin-top: 0;
}

#main .am-home .am-slider--overlay .am-slide__btn {
    color: #fff;
}

#main .am-home .am-slider--overlay .am-slide:hover .am-slide__btn {
    background: #fff;
    color: #57524f;
}

@media (max-width: 860px) {
    #main .am-home .am-slider--overlay .am-slider__track {
        grid-auto-columns: 86%;
        gap: 12px;
    }

    #main .am-home .am-slider--overlay .am-slide {
        aspect-ratio: 4 / 5;
    }

    #main .am-home .am-slider--overlay .am-slide__title,
    #main .am-home .am-slider--overlay .am-slide__text {
        max-width: none;
    }
}

/* [2026-10-27] Coins arrondis des photos du carrousel (demande du user). */
#main .am-home img.am-slide__img {
    border-radius: 5px;
}

/* [2026-10-27] Mémoires cellulaires : cadrer les photos par le haut pour ne pas couper les visages. */
#main .am-home .am-slider--overlay .am-slide__img {
    object-position: center top;
}

/* [2026-10-27] Section Hypnose humaniste + livre : fond #a99688, textes #56524f (choix du user). */
#main .am-home .am-about {
    background: #a99688;
    color: #56524f;
}

#main .am-home .am-about h2,
#main .am-home .am-about h3,
#main .am-home .am-about p,
#main .am-home .am-about .am-eyebrow,
#main .am-home .am-about .am-sub,
#main .am-home .am-about .am-textlink,
#main .am-home .am-about .am-articles a,
#main .am-home .am-about .am-articles__go,
#main .am-home .am-about .am-theme__main > p,
#main .am-home .am-about .am-book p:not(.am-eyebrow) {
    color: #56524f;
}

#main .am-home .am-about .am-articles,
#main .am-home .am-about .am-articles li {
    border-color: rgba(86, 82, 79, 0.3);
}

#main .am-home .am-about .am-book {
    border-color: rgba(86, 82, 79, 0.3);
}

/* [2026-10-27] Bouton principal (choix du user). */
#main .am-home .am-btn--main {
    background: #56524f;
    color: #e2dad3;
}

/* [2026-10-27] Témoignages : fond #e2dad3, tous les textes en #56524f (choix du user). */
#main .am-home section.am-reviews {
    background: #e2dad3;
    color: #56524f;
}

#main .am-home .am-review-grid blockquote {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    padding: 18px 0 0;
    border: 0;
    background: none;
    font-style: normal;
}

#main .am-home .am-review-grid blockquote p {
    font-size: 16px;
    color: #56524f;
    line-height: 1.4em;
}

#main .am-home .am-reviews h2,
#main .am-home .am-reviews .am-eyebrow,
#main .am-home .am-reviews .am-textlink,
#main .am-home .am-reviews footer,
#main .am-home .am-reviews footer span {
    color: #56524f;
}

/* ----- [2026-10-27] Section tarifs (maquette du user) : intro à gauche, formules en carrousel à droite ----- */
#main .am-home .am-tarifs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    color: #56524f;
}

#main .am-home .am-tarifs__intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(36px, 5vw, 96px) clamp(20px, 3.5vw, 70px);
    background: #e2dad3;
}

#main .am-home .am-tarifs__title {
    margin: 0 0 clamp(16px, 1.6vw, 28px);
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(26px, 2.7vw, 50px);
    font-weight: 700;
    letter-spacing: 0.28em;
    line-height: 1.3;
    text-transform: uppercase;
}

#main .am-home .am-tarifs__title a {
    color: #56524f;
    text-decoration: none;
}

#main .am-home .am-tarifs p {
    margin: 0;
    color: #56524f;
}

#main .am-home .am-tarifs__text {
    font-family: "quicksand", "Quicksand", sans-serif;
    font-size: clamp(16px, 1.3vw, 22px);
    line-height: 1.45;
}

#main .am-home .am-tarifs__text strong {
    font-weight: 400;
}

#main .am-home .am-tarifs__prix {
    margin-top: clamp(18px, 1.8vw, 32px) !important;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(18px, 1.5vw, 26px);
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

#main .am-home .am-tarifs__note {
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(10px, 0.75vw, 13px);
    letter-spacing: 0.2em;
    line-height: 1.5;
    text-transform: uppercase;
}

#main .am-home .am-tarifs__rythme {
    margin-top: clamp(20px, 2vw, 36px) !important;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(18px, 1.5vw, 26px);
    font-style: italic;
    font-weight: 700;
}

#main .am-home .am-tarifs__btn {
    margin-top: clamp(28px, 3vw, 56px);
    padding: 14px 12px;
    border-radius: 4px;
    background: #56524f;
    color: #e2dad3;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(15px, 1.3vw, 22px);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 0.2s ease;
}

#main .am-home .am-tarifs__btn:hover {
    background: #6f6158;
}

#main .am-home .am-tarifs__offres {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    padding: clamp(24px, 2.4vw, 56px) 0 clamp(16px, 1.4vw, 30px);
    background: #b7b7ac;
}

#main .am-home .am-tarifs__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

#main .am-home .am-tarifs__track::-webkit-scrollbar {
    display: none;
}

#main .am-home .am-offre {
    min-width: 0;
    padding: 0 clamp(20px, 7vw, 140px) 0 clamp(12px, 1vw, 20px);
    scroll-snap-align: start;
}

#main .am-home .am-offre__titre {
    margin: 0 0 clamp(16px, 1.6vw, 36px);
    color: #56524f;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(19px, 1.65vw, 30px);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

#main .am-home .am-offre__box {
    border: 2px solid #56524f;
}

#main .am-home .am-tarifs .am-offre__niveau {
    padding: 4px 14px;
    background: #56524f;
    color: #e2dad3;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(16px, 1.4vw, 24px);
    font-style: italic;
    font-weight: 700;
}

#main .am-home .am-offre__liste-t {
    padding: 12px 14px 2px;
    font-family: "quicksand", "Quicksand", sans-serif;
    font-size: clamp(14px, 1.1vw, 19px);
    font-weight: 700;
    text-transform: uppercase;
}

#main .am-home .am-offre__liste {
    margin: 0;
    padding: 0 14px 14px;
    list-style: none;
}

#main .am-home .am-offre__liste li {
    margin: 0;
    padding: 0;
    color: #56524f;
    font-family: "quicksand", "Quicksand", sans-serif;
    font-size: clamp(14px, 1.1vw, 19px);
    line-height: 1.4;
}

#main .am-home .am-tarifs .am-offre__prix {
    display: inline-block;
    margin: clamp(14px, 1.4vw, 28px) 0 clamp(8px, 0.8vw, 14px);
    padding: 2px 14px;
    background: #56524f;
    color: #e2dad3;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(17px, 1.5vw, 26px);
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

#main .am-home .am-offre__info {
    padding-left: 14px;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(14px, 1.15vw, 21px);
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

@media (min-width: 861px) {
    #main .am-home .am-tarifs {
        min-height: calc(100vh - var(--am-header-h, 120px));
        min-height: calc(100svh - var(--am-header-h, 120px));
        scroll-margin-top: var(--am-header-h, 120px);
    }
}

@media (max-width: 860px) {
    #main .am-home .am-tarifs {
        grid-template-columns: 1fr;
    }

    #main .am-home .am-tarifs__title {
        letter-spacing: 0.16em;
    }

    #main .am-home .am-offre {
        padding: 0 20px;
    }

    #main .am-home .am-offre__titre {
        margin-bottom: 20px;
    }
}

#main .am-home .am-offre__suite {
    display: flex;
    flex-direction: column;
    gap: 0.7em;
    padding: 0 14px 14px;
    font-family: "quicksand", "Quicksand", sans-serif;
    font-size: clamp(14px, 1.1vw, 19px);
    line-height: 1.4;
}

#main .am-home .am-offre__liste + .am-offre__suite {
    margin-top: -4px;
}

/* [2026-10-27] Citation : nom de l'auteur sous le texte. */
#main .am-home .am-quote2__auteur {
    margin-top: clamp(14px, 1.4vw, 24px);
    color: #56524f;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: clamp(14px, 1.1vw, 19px);
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

#main .am-home .am-quote2__auteur cite {
    color: #56524f;
    font-family: inherit;
    font-size: inherit;
    font-style: normal;
    font-weight: inherit;
}

#main .am-home .am-quote2__auteur::before {
    content: "— ";
}

/* [2026-10-28] Tarifs, colonne de gauche : couleurs inversées (fond #56524f, textes #e2dad3). */
#main .am-home .am-tarifs__intro {
    background: #56524f;
    color: #e2dad3;
}

#main .am-home .am-tarifs__intro p,
#main .am-home .am-tarifs__intro .am-tarifs__title a {
    color: #e2dad3;
}

#main .am-home .am-tarifs__btn {
    background: #e2dad3;
    color: #56524f;
}

#main .am-home .am-tarifs__btn:hover {
    background: #f4efea;
}

/* [2026-10-28] Slide coaching : liste des thèmes dans la suite du cadre. */
#main .am-home .am-offre__suite .am-offre__liste-t {
    padding: 0 0 2px;
}

#main .am-home .am-offre__liste--themes {
    padding: 0;
}

#main .am-home .am-offre__liste--themes li::before {
    content: "– ";
}

/* [2026-10-28] Tarifs sur mobile : tout en carrousel, l'intro (déplacée en JS) est la 1re slide. */
@media (max-width: 860px) {
    #main .am-home .am-tarifs__offres {
        padding-top: 0;
    }

    #main .am-home .am-tarifs__track {
        align-items: stretch;
    }

    #main .am-home .am-tarifs__track > .am-tarifs__intro {
        justify-content: flex-start;
        min-width: 0;
        padding: 32px 20px 36px;
        scroll-snap-align: start;
    }

    #main .am-home .am-offre {
        padding-top: 32px;
        padding-bottom: 12px;
    }
}

/* [2026-10-28] Mobile : titre « Nettoyage transgénérationnel » aligné à gauche, comme les cartes. */
@media (max-width: 860px) {
    #main .am-home .am-cards5__title {
        padding-left: 20px;
        padding-right: 20px;
        font-size: min(26px, 6.2vw);
        letter-spacing: 0.14em;
        text-align: left;
    }
}

/* [2026-10-28] Tarifs : le mot « Tarifs » et le prix « 90 euros* » en évidence (fond clair, texte foncé). */
#main .am-home .am-tarifs__title .am-tarifs__mark {
    display: inline-block;
    padding: 0 0.08em 0 0.3em;
    background: #e2dad3;
    color: #56524f;
}

#main .am-home .am-tarifs__intro p.am-tarifs__prix {
    align-self: flex-start;
    padding: 2px 6px 2px 14px;
    background: #e2dad3;
    color: #56524f;
}

/* [2026-10-28] Tarifs : lien vers le détail complet (page /tarifs/), sous chaque formule. */
#main .am-home .am-offre__lien {
    display: inline-block;
    margin: clamp(10px, 1vw, 18px) 0 0 14px;
    padding: 1px 6px;
    border: 1.5px solid #56524f;
    border-radius: 4px;
    color: #56524f;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(15px, 1.15vw, 19px);
    font-style: italic;
    font-weight: 700;
    text-decoration: none;
}

#main .am-home .am-offre__lien:hover {
    background: #56524f;
    color: #e2dad3;
}

/* [2026-10-29] Mobile, section 5 cartes (Nettoyage transgénérationnel) : texte replié,
   numéro + titre + chevron ; un toucher ouvre la carte, le bouton mène à l'article. */
@media (max-width: 860px) {
    #main .am-home .am-card5 {
        padding: 22px 20px 24px;
        border-top: 0;
        border-bottom: 1.5px solid #56524f;
        cursor: pointer;
    }

    #main .am-home .am-card5__title {
        margin: 10px 0 0;
        font-size: 24px;
        line-height: 1.2;
    }

    #main .am-home .am-card5__title::after {
        content: "";
        display: inline-block;
        width: 0.42em;
        height: 0.42em;
        margin: 0 0 0.2em 0.45em;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg) scaleX(1.25);
        transition: transform 0.25s ease, margin 0.25s ease;
        vertical-align: middle;
    }

    #main .am-home .am-card5.is-open .am-card5__title::after {
        margin-bottom: -0.1em;
        transform: rotate(-135deg) scaleX(1.25);
    }

    #main .am-home .am-card5__text,
    #main .am-home .am-card5__btn {
        display: none;
    }

    #main .am-home .am-card5.is-open .am-card5__text {
        display: block;
        margin-top: 12px;
    }

    #main .am-home .am-card5.is-open .am-card5__btn {
        display: inline-block;
        margin-top: 18px;
    }
}

/* [2026-10-29] Mobile, Nettoyage transgénérationnel : pas de photo ni d'effet de survol,
   seulement le texte qui se déplie (un toucher déclenchait le « survol » et la photo). */
@media (max-width: 860px) {
    #main .am-home .am-card5__img {
        display: none;
    }

    #main .am-home .am-card5:hover > span,
    #main .am-home .am-card5:focus-visible > span {
        color: #57524f;
    }
}

/* [2026-10-29] Mobile, Nettoyage transgénérationnel : toute la section (titre, 5 cartes repliées,
   formulaire) tient dans l'écran. Numéro et titre sur la même ligne, réponses du formulaire en 2 × 2. */
@media (max-width: 860px) {
    #main .am-home #transgenerationnel .am-cards5__title {
        padding-top: 18px;
        padding-bottom: 10px;
        font-size: min(22px, 5.4vw);
    }

    #main .am-home #transgenerationnel .am-card5 {
        display: grid;
        grid-template-columns: 2.6em 1fr;
        align-items: baseline;
        padding: 11px 20px;
        border-top: 0;
        border-bottom: 0.5px solid #56524f;
        cursor: pointer;
    }

    #main .am-home #transgenerationnel .am-card5__num {
        font-size: 14px;
    }

    #main .am-home #transgenerationnel .am-card5__title {
        margin: 0;
        font-size: 16px;
        line-height: 1.2;
    }

    #main .am-home #transgenerationnel .am-card5__text,
    #main .am-home #transgenerationnel .am-card5__btn {
        grid-column: 2;
        justify-self: start;
    }

    #main .am-home #transgenerationnel .am-card5.is-open .am-card5__text {
        margin-top: 8px;
        font-size: 14px;
    }

    #main .am-home #transgenerationnel .am-card5.is-open .am-card5__btn {
        margin-top: 10px;
        font-size: 14px;
    }

    #main .am-home #transgenerationnel .am-cards5__diag {
        padding: 14px 16px 18px;
    }

    #main .am-home #transgenerationnel .am-diag .anaelle-form-entry__question-label {
        padding: 26px 14px 10px;
        font-size: 15px;
    }

    #main .am-home #transgenerationnel .am-diag .anaelle-form-entry__choices {
        grid-auto-flow: row;
        grid-template-columns: 1fr 1fr;
    }

    #main .am-home #transgenerationnel .am-diag .anaelle-form-entry__choice {
        padding: 10px 8px 10px 38px;
        border-left: 0;
        border-top: 1.5px solid #57524f;
        font-size: 13px;
        line-height: 1.25;
    }

    #main .am-home #transgenerationnel .am-diag .anaelle-form-entry__choice:nth-child(even) {
        border-left: 1.5px solid #57524f;
    }

    #main .am-home #transgenerationnel .am-diag .anaelle-form-entry__choice::before {
        left: 10px;
        width: 20px;
        height: 20px;
    }
}

/* [2026-10-29] Citation : animations de lecture (karaoké mot à mot ou machine à écrire).
   La place du texte est réservée dès le départ : rien ne bouge pendant l'animation. */
#main .am-home .am-quote2.am-anim .am-quote2__auteur,
#main .am-home .am-quote2.am-anim .am-quote2__mention,
#main .am-home .am-quote2.am-anim .am-quote2__btn {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

#main .am-home .am-quote2.am-anim.is-done .am-quote2__auteur,
#main .am-home .am-quote2.am-anim.is-done .am-quote2__mention,
#main .am-home .am-quote2.am-anim.is-done .am-quote2__btn {
    opacity: 1;
    transform: none;
}

#main .am-home .am-quote2.am-anim.is-done .am-quote2__mention {
    transition-delay: 0.25s;
}

#main .am-home .am-quote2.am-anim.is-done .am-quote2__btn {
    transition-delay: 0.5s;
}

/* Karaoké : texte pâle lisible dès le départ, chaque mot s'allume à son tour. */
#main .am-home .am-anim--karaoke .am-u {
    opacity: 0.22;
    transition: opacity 0.45s ease;
}

#main .am-home .am-anim--karaoke .am-u.is-on {
    opacity: 1;
}

/* Machine à écrire : lettres invisibles (place gardée), curseur qui suit. */
#main .am-home .am-anim--typewriter .am-u {
    position: relative;
    visibility: hidden;
}

#main .am-home .am-anim--typewriter .am-u.is-on {
    visibility: visible;
}

#main .am-home .am-anim--typewriter .am-u.is-cur::after {
    content: "";
    position: absolute;
    top: 0.12em;
    right: -0.08em;
    bottom: 0.08em;
    width: 2px;
    background: #56524f;
    animation: am-caret 0.8s steps(1) infinite;
}

@keyframes am-caret {
    50% { opacity: 0; }
}

/* Les mots/lettres découpés gardent la couleur de la citation (sinon couleur du thème). */
#main .am-home .am-quote2__text p .am-u {
    color: inherit;
    font: inherit;
}

/* [2026-10-29] Mobile : tout le hero tient dans l'écran sous le menu (60 px).
   Texte compacté, boutons côte à côte, la photo prend la hauteur qui reste. */
@media (max-width: 860px) {
    #main .am-home .am-hero2 {
        display: flex;
        flex-direction: column;
        height: calc(100vh - 60px);
        height: calc(100svh - 60px);
        min-height: 480px;
    }

    #main .am-home .am-hero2__photo {
        flex: 1 1 auto;
        min-height: 150px;
        aspect-ratio: auto;
    }

    #main .am-home .am-hero2__photo img {
        object-position: 50% 22%;
    }

    #main .am-home .am-hero2__text {
        flex: 0 0 auto;
        gap: 10px;
        padding: 16px 20px 18px;
    }

    #main .am-home .am-hero2__title {
        gap: 4px;
    }

    #main .am-home .am-hero2__name {
        font-size: 32px;
    }

    #main .am-home .am-hero2__tagline {
        font-size: 18px;
        line-height: 1.2;
    }

    #main .am-home .am-hero2__lead {
        max-width: none;
        margin: 0;
        font-size: 15px;
        line-height: 1.35;
    }

    #main .am-home .am-hero2__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: 4px;
    }

    #main .am-home .am-hero2__btn {
        justify-content: center;
        padding: 11px 6px;
        font-size: 13px;
        text-align: center;
    }
}

/* [2026-10-29] Mobile, Mémoires cellulaires : flou progressif de la photo quand la carte est
   à l'écran (nette au départ, de plus en plus floue) ; elle redevient nette en sortant. */
@media (max-width: 860px) {
    #main .am-home .am-slider--overlay .am-slide__img {
        filter: blur(0);
        transform: scale(1.06);
        transition: filter 0.4s ease;
    }

    #main .am-home .am-slider--overlay .am-slide.is-vis .am-slide__img {
        filter: blur(8px);
        transition: filter 5s cubic-bezier(0.3, 0, 0.6, 1) 0.6s;
    }

    @media (prefers-reduced-motion: reduce) {
        #main .am-home .am-slider--overlay .am-slide.is-vis .am-slide__img {
            filter: none;
        }
    }
}

/* [2026-10-29] Mobile, Mémoires cellulaires : en même temps que le flou, le titre monte
   et les lignes du texte apparaissent l'une après l'autre, puis le bouton. */
@media (max-width: 860px) {
    #main .am-home .am-slider--overlay .am-slide__title {
        opacity: 0;
        transform: translateY(26px);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }

    #main .am-home .am-slider--overlay .am-slide.is-vis .am-slide__title {
        opacity: 1;
        transform: none;
        transition: opacity 0.8s ease 0.3s, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.3s;
    }

    #main .am-home .am-slider--overlay .am-line {
        display: block;
        opacity: 0;
        transform: translateY(10px);
        transition: opacity 0.2s ease, transform 0.2s ease;
    }

    #main .am-home .am-slider--overlay .am-slide.is-vis .am-line {
        opacity: 1;
        transform: none;
        transition: opacity 0.6s ease, transform 0.6s ease;
        transition-delay: calc(0.9s + var(--i) * 0.35s);
    }

    #main .am-home .am-slider--overlay .am-slide__btn {
        opacity: 0;
        transition: opacity 0.2s ease;
    }

    #main .am-home .am-slider--overlay .am-slide.is-vis .am-slide__btn {
        opacity: 1;
        transition: opacity 0.6s ease;
        transition-delay: calc(1.1s + var(--n, 4) * 0.35s);
    }

    @media (prefers-reduced-motion: reduce) {
        #main .am-home .am-slider--overlay .am-slide__title,
        #main .am-home .am-slider--overlay .am-line,
        #main .am-home .am-slider--overlay .am-slide__btn {
            opacity: 1;
            transform: none;
            transition: none;
        }
    }
}

/* [2026-10-29] Réglage (demande du user) : le bouton « lire l'article » est visible dès le départ.
   Le titre monte, puis, un peu plus lentement, les lignes du texte montent depuis le bas du bloc
   de texte (juste au-dessus du bouton), masquées tant qu'elles n'y sont pas entrées. */
@media (max-width: 860px) {
    #main .am-home .am-slider--overlay .am-slide__btn,
    #main .am-home .am-slider--overlay .am-slide.is-vis .am-slide__btn {
        opacity: 1;
        transition: background 0.2s ease, color 0.2s ease;
    }

    #main .am-home .am-slider--overlay .am-slide__title {
        transform: translateY(30px);
    }

    #main .am-home .am-slider--overlay .am-slide.is-vis .am-slide__title {
        transition: opacity 0.6s ease 0.2s, transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 0.2s;
    }

    #main .am-home .am-slider--overlay .am-slide__text {
        overflow: hidden;
    }

    /* Chaque ligne part juste sous le bas du bloc (masquée) et remonte à sa place. */
    #main .am-home .am-slider--overlay .am-line {
        opacity: 1;
        transform: translateY(calc((var(--n, 4) - var(--i)) * 1.45em));
        transition: transform 0.25s ease;
    }

    #main .am-home .am-slider--overlay .am-slide.is-vis .am-line {
        transform: none;
        transition: transform 1.2s cubic-bezier(0.25, 0.6, 0.2, 1);
        transition-delay: calc(0.7s + var(--i) * 0.28s);
    }

    @media (prefers-reduced-motion: reduce) {
        #main .am-home .am-slider--overlay .am-line {
            transform: none;
            transition: none;
        }
    }
}

/* [2026-10-29] Cartes « 5 cartes » : enveloppe du dépliage. Sur ordinateur elle est transparente
   pour la mise en page (texte et bouton restent des éléments de la carte). */
#main .am-home .am-card5__more,
#main .am-home .am-card5__more-in {
    display: contents;
}

#main .am-home .am-card5 > .am-card5__more > .am-card5__more-in > span {
    transition: color 0.45s ease;
}

#main .am-home .am-card5:hover .am-card5__more-in > span,
#main .am-home .am-card5:focus-visible .am-card5__more-in > span {
    color: #fff;
}

/* Mobile : dépliage fluide (hauteur animée) et plus de changement de couleur au toucher. */
@media (max-width: 860px) {
    #main .am-home .am-card5 {
        -webkit-tap-highlight-color: transparent;
    }

    #main .am-home .am-card5:focus {
        outline: none;
    }

    #main .am-home .am-card5:hover > span,
    #main .am-home .am-card5:active > span,
    #main .am-home .am-card5:hover .am-card5__more-in > span,
    #main .am-home .am-card5:active .am-card5__more-in > span,
    #main .am-home .am-card5:focus .am-card5__more-in > span {
        color: #57524f;
    }

    #main .am-home #transgenerationnel .am-card5__more {
        display: grid;
        grid-column: 2;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.45s cubic-bezier(0.3, 0.7, 0.3, 1);
    }

    #main .am-home #transgenerationnel .am-card5.is-open .am-card5__more {
        grid-template-rows: 1fr;
    }

    #main .am-home #transgenerationnel .am-card5__more-in {
        display: block;
        min-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    #main .am-home #transgenerationnel .am-card5.is-open .am-card5__more-in {
        opacity: 1;
        transition: opacity 0.4s ease 0.1s;
    }

    /* Le texte et le bouton restent affichés : c'est l'enveloppe qui s'ouvre et se ferme. */
    #main .am-home #transgenerationnel .am-card5__text,
    #main .am-home #transgenerationnel .am-card5.is-open .am-card5__text {
        display: block;
        margin-top: 8px;
        font-size: 14px;
    }

    #main .am-home #transgenerationnel .am-card5__btn,
    #main .am-home #transgenerationnel .am-card5.is-open .am-card5__btn {
        display: inline-block;
        margin: 10px 0 2px;
        font-size: 14px;
    }
}

/* [2026-10-29] Mobile : mise en avant des diagnostics (voir le script du modèle).
   --am-sweep = avancée du balayage foncé dans la case de la question, de 0 à la largeur de la case. */
@property --am-sweep {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@media (max-width: 860px) {
    /* 1. Titres en machine à écrire. */
    #main .am-home .am-tw-ready .am-tw {
        position: relative;
        visibility: hidden;
        color: inherit;
    }

    #main .am-home .am-tw-ready .am-tw.is-on {
        visibility: visible;
    }

    #main .am-home .am-tw-ready .am-tw.is-cur::after {
        content: "";
        position: absolute;
        top: 0.08em;
        right: -0.06em;
        bottom: 0.04em;
        width: 2px;
        background: #56524f;
        animation: am-caret 0.8s steps(1) infinite;
    }

    /* 2. Case de la question : fond foncé qui avance de gauche à droite, texte clair au passage
       (le texte est peint avec un dégradé qui suit le même front). */
    #main .am-home .am-diag.am-cta {
        --am-sweep: 0px;
        --am-dark: #56524f;
        --am-light: #e2dad3;
    }

    #main .am-home .am-diag.am-cta-run {
        --am-sweep: calc(var(--am-cw, 400px) + 2px);
        transition: --am-sweep 1.1s cubic-bezier(0.6, 0, 0.3, 1);
    }

    #main .am-home .am-diag.am-cta-instant {
        transition: none;
    }

    #main .am-home .am-diag.am-cta .anaelle-form-entry__question-label {
        background-image:
            linear-gradient(to right, var(--am-light) var(--am-sweep), var(--am-dark) var(--am-sweep)),
            linear-gradient(to right, var(--am-dark) var(--am-sweep), transparent var(--am-sweep));
        background-clip: text, border-box;
        -webkit-background-clip: text, border-box;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    /* Le petit titre est posé dans la case, décalé de 16 px : son dégradé est décalé d'autant. */
    #main .am-home .am-diag.am-cta .am-eyebrow {
        z-index: 1;
        background-image: linear-gradient(to right, var(--am-light) calc(var(--am-sweep) - 16px), var(--am-dark) calc(var(--am-sweep) - 16px));
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    /* 3. Réponses : fond qui apparaît en fondu, une à une, ordre aléatoire. */
    #main .am-home .am-diag.am-cta .anaelle-form-entry__choice {
        transition: background-color 0.7s ease, color 0.2s ease;
    }

    #main .am-home .am-diag.am-cta .anaelle-form-entry__choice.am-cta-lit {
        background-color: rgba(255, 255, 255, 0.55);
    }
}

@media (max-width: 860px) and (prefers-reduced-motion: reduce) {
    #main .am-home .am-diag.am-cta .anaelle-form-entry__choice {
        transition: none;
    }
}

/* ----- [2026-10-29] Bouton fixe « Échange téléphonique de 10 min offert » (maquette du user) ----- */
#main .am-home .am-sticky {
    position: fixed;
    left: 50%;
    bottom: 16px;
    z-index: 9990;
    display: flex;
    align-items: stretch;
    width: min(620px, calc(100% - 32px));
    background: #b7b7ac;
    color: #56524f;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(40, 36, 34, 0.22);
    transform: translate(-50%, calc(100% + 40px));
    transition: transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1), background-color 0.2s ease;
    pointer-events: none;
}

#main .am-home .am-sticky.is-on {
    transform: translate(-50%, 0);
    pointer-events: auto;
}

#main .am-home .am-sticky:hover {
    background: #c6c6bc;
}

#main .am-home .am-sticky__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 64px;
    border-right: 2px solid #56524f;
}

#main .am-home .am-sticky__icon svg {
    width: 20px;
    height: 50px;
    transition: transform 0.3s ease;
}

#main .am-home .am-sticky:hover .am-sticky__icon svg {
    transform: translateY(-4px);
}

#main .am-home .am-sticky__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 22px 12px;
}

#main .am-home .am-sticky__title {
    color: #56524f;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 34px;
    font-style: italic;
    font-weight: 700;
    line-height: 1.25;
}

#main .am-home .am-sticky__sub {
    margin-top: 2px;
    color: #56524f;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.15;
    text-transform: uppercase;
}

/* Le bouton « haut de page » du thème remonte au-dessus du bouton fixe. */
body.am-sticky-on .scroll-top {
    bottom: 128px;
}

/* Place libre en bas de page pour que le bouton ne cache pas la fin du contenu. */
body.page-template-template-anaelle-accueil-v2 #main .am-home {
    padding-bottom: 120px;
}

@media (max-width: 860px) {
    #main .am-home .am-sticky {
        bottom: 10px;
        width: calc(100% - 20px);
    }

    #main .am-home .am-sticky__icon {
        width: 46px;
    }

    #main .am-home .am-sticky__icon svg {
        width: 16px;
        height: 36px;
    }

    #main .am-home .am-sticky__text {
        padding: 7px 14px 8px;
    }

    #main .am-home .am-sticky__title {
        font-size: 22px;
    }

    #main .am-home .am-sticky__sub {
        font-size: 15px;
    }

    body.am-sticky-on .scroll-top {
        bottom: 96px;
    }

    body.page-template-template-anaelle-accueil-v2 #main .am-home {
        padding-bottom: 90px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #main .am-home .am-sticky {
        transition: none;
    }
}

/* [2026-10-29] Le cadre est sur une boîte intérieure : sur mobile, le fond peut ainsi s'étendre
   à gauche, à droite et en bas (jusqu'aux coins arrondis de l'iPhone) autour du cadre. */
#main .am-home .am-sticky__box {
    display: flex;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
    border: 2px solid #56524f;
}

@media (max-width: 860px) {
    #main .am-home .am-sticky {
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
        padding: 10px 10px calc(16px + env(safe-area-inset-bottom, 0px));
        box-shadow: 0 -6px 20px rgba(40, 36, 34, 0.18);
        transform: translateY(calc(100% + 20px));
    }

    #main .am-home .am-sticky.is-on {
        transform: translateY(0);
    }

    body.am-sticky-on .scroll-top {
        bottom: calc(108px + env(safe-area-inset-bottom, 0px));
    }

    body.page-template-template-anaelle-accueil-v2 #main .am-home {
        padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
    }
}

/* ----- [2026-10-29] Bouton fixe → menu qui monte (maquette du user) -----
   .am-sticky = conteneur fixe (fond, ombre) ; le bouton puis le menu en dessous :
   quand le menu s'ouvre, le conteneur grandit vers le haut. */
#main .am-home .am-sticky {
    flex-direction: column;
}

#main .am-home .am-sticky:hover {
    background: #b7b7ac;
}

#main .am-home .am-sticky__toggle {
    display: flex;
    color: #56524f;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

#main .am-home .am-sticky__toggle:hover .am-sticky__box {
    background: rgba(255, 255, 255, 0.2);
}

#main .am-home .am-sticky:hover .am-sticky__icon svg {
    transform: none;
}

#main .am-home .am-sticky__icon svg {
    transition: transform 0.35s ease;
}

#main .am-home .am-sticky.is-open .am-sticky__icon svg {
    transform: rotate(180deg);
}

#main .am-home .am-sticky__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.45s cubic-bezier(0.3, 0.7, 0.3, 1);
}

#main .am-home .am-sticky.is-open .am-sticky__panel {
    grid-template-rows: 1fr;
}

#main .am-home .am-sticky__panel-in {
    min-height: 0;
    overflow: hidden;
    visibility: hidden;
    transition: visibility 0s linear 0.45s;
}

#main .am-home .am-sticky.is-open .am-sticky__panel-in {
    max-height: calc(100vh - 170px);
    max-height: calc(100svh - 170px);
    overflow-y: auto;
    visibility: visible;
    transition: visibility 0s;
}

#main .am-home .am-menu-group {
    margin-top: 16px;
}

#main .am-home .am-menu-group__t {
    margin: 0;
    padding: 9px 14px;
    background: #56524f;
    color: #e2dad3;
    font-family: "quicksand", "Quicksand", sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

#main .am-home .am-menu-item {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 10px 14px 10px 60px;
    border: 1.5px solid #56524f;
    border-top: 0;
    color: #56524f;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: 18px;
    letter-spacing: 0.04em;
    line-height: 1.15;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

#main .am-home .am-menu-item::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 18px;
    width: 24px;
    height: 24px;
    border: 1.5px solid #56524f;
    border-radius: 50%;
    transform: translateY(-50%);
}

#main .am-home .am-menu-item:hover,
#main .am-home .am-menu-item:active {
    background: rgba(255, 255, 255, 0.4);
}

#main .am-home .am-menu-urgence {
    display: flex;
    flex-direction: column;
    padding: 10px 14px 12px 60px;
    background: #734440;
    color: #e2dad3;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    text-decoration: none;
    text-transform: uppercase;
    -webkit-tap-highlight-color: transparent;
}

#main .am-home .am-menu-urgence__t {
    font-size: 15px;
    letter-spacing: 0.06em;
}

#main .am-home .am-menu-urgence__n {
    font-size: 26px;
    letter-spacing: 0.1em;
    line-height: 1.2;
}

#main .am-home .am-menu-urgence:hover {
    background: #5f3734;
}

#main .am-home .am-sticky-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9989;
    background: rgba(40, 36, 34, 0.45);
    opacity: 0;
    transition: opacity 0.35s ease;
}

#main .am-home .am-sticky-backdrop.is-on {
    opacity: 1;
}

#main .am-home .am-sticky-backdrop[hidden] {
    display: none;
}

/* Sur ordinateur le conteneur n'a pas de marge intérieure : on en donne une au menu. */
@media (min-width: 861px) {
    #main .am-home .am-sticky.is-open .am-sticky__panel-in {
        padding: 0 14px 14px;
    }

    #main .am-home .am-sticky__panel-in {
        padding: 0 14px;
    }
}

@media (max-width: 860px) {
    #main .am-home .am-menu-group:first-child {
        margin-top: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #main .am-home .am-sticky__panel,
    #main .am-home .am-sticky-backdrop {
        transition: none;
    }
}

/* [2026-10-29] Mobile : le menu du bouton fixe s'ouvre en plein écran (il monte jusqu'en haut). */
@media (max-width: 860px) {
    #main .am-home .am-sticky {
        min-height: 0;
        max-height: 100vh;
        max-height: 100dvh;
        transition: transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1), min-height 0.45s cubic-bezier(0.3, 0.7, 0.3, 1);
    }

    #main .am-home .am-sticky.is-open {
        min-height: 100vh;
        min-height: 100dvh;
        padding-top: calc(14px + env(safe-area-inset-top, 0px));
        overflow-y: auto;
        overscroll-behavior: contain;
        box-shadow: none;
    }

    #main .am-home .am-sticky.is-open .am-sticky__panel-in {
        max-height: none;
        overflow: visible;
    }

    html.am-sticky-lock,
    html.am-sticky-lock body {
        overflow: hidden;
    }
}

/* [2026-10-29] Flèche du bouton fixe : à l'ouverture, elle descend et sort par le bas, puis revient
   par le haut pointée vers le bas ; à la fermeture, l'inverse. */
#main .am-home .am-sticky__icon {
    overflow: hidden;
}

#main .am-home .am-sticky.is-open .am-sticky__icon svg,
#main .am-home .am-sticky.is-closing .am-sticky__icon svg {
    transition: none;
}

#main .am-home .am-sticky.is-open .am-sticky__icon svg {
    animation: am-arrow-down 0.6s cubic-bezier(0.5, 0, 0.3, 1) forwards;
}

#main .am-home .am-sticky.is-closing .am-sticky__icon svg {
    animation: am-arrow-up 0.6s cubic-bezier(0.5, 0, 0.3, 1) forwards;
}

@keyframes am-arrow-down {
    0% { transform: translateY(0) rotate(0deg); }
    45% { transform: translateY(130%) rotate(0deg); }
    46% { transform: translateY(-130%) rotate(180deg); }
    100% { transform: translateY(0) rotate(180deg); }
}

@keyframes am-arrow-up {
    0% { transform: translateY(0) rotate(180deg); }
    45% { transform: translateY(-130%) rotate(180deg); }
    46% { transform: translateY(130%) rotate(0deg); }
    100% { transform: translateY(0) rotate(0deg); }
}

@media (prefers-reduced-motion: reduce) {
    #main .am-home .am-sticky.is-open .am-sticky__icon svg {
        animation: none;
        transform: rotate(180deg);
    }

    #main .am-home .am-sticky.is-closing .am-sticky__icon svg {
        animation: none;
    }
}

/* =====================================================
   [2026-10-29] Diagnostics en fenêtre, identité « apothicaire » — ACCUEIL V2 UNIQUEMENT.
   Le formulaire est déplacé à la fin de <body> en popup : on cible la classe du modèle sur <body>.
   Les autres pages (articles, /livre/) gardent anaelle-diagnostic.css tel quel.
   ===================================================== */
body.page-template-template-anaelle-accueil-v2 .am-diag-form {
    --ad-ink: #56524f;
    --ad-ink-soft: #56524f;
    --ad-main: #56524f;
    --ad-pale: rgba(255, 255, 255, 0.4);
    --ad-line: #56524f;
    --ad-star: #56524f;
    border: 2px solid #56524f;
    border-radius: 0;
    background: #b7b7ac;
    box-shadow: none;
    color: #56524f;
    font-family: "quicksand", "Quicksand", sans-serif;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-backdrop:not([hidden]) {
    background: rgba(40, 36, 34, 0.55);
}

/* Progression : barre « règle », bouton fermer carré. */
body.page-template-template-anaelle-accueil-v2 .am-diag-form__progress {
    height: 10px;
    border: 1.5px solid #56524f;
    border-radius: 0;
    background: transparent;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__progress span {
    background: #56524f;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__close {
    width: 42px;
    height: 42px;
    border: 1.5px solid #56524f;
    border-radius: 0;
    background: transparent;
    color: #56524f;
    font-family: "Special Elite", "courier-new", monospace;
    font-size: 26px;
}

/* Question. */
body.page-template-template-anaelle-accueil-v2 .am-diag-form__q,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__title {
    color: #56524f;
    font-family: "Playfair Display", Georgia, serif;
    font-style: italic;
    font-weight: 700;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__req {
    color: #734440;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__hint,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__intro p,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__rgpd,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__offer p:not(.am-diag-form__q) {
    color: #56524f;
}

/* Réponses : cases empilées à bord commun, rond à gauche (carré pour les choix multiples). */
body.page-template-template-anaelle-accueil-v2 .am-diag-form__options {
    gap: 0;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__opt span {
    position: relative;
    min-height: 56px;
    padding: 15px 14px 14px 58px;
    border: 1.5px solid #56524f;
    border-radius: 0;
    background: transparent;
    color: #56524f;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1.3;
    text-transform: uppercase;
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__opt + .am-diag-form__opt span {
    border-top: 0;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__opt span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 17px;
    width: 24px;
    height: 24px;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    transform: translateY(-50%);
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__opt input[type="checkbox"] + span::before {
    border-radius: 0;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__opt:hover span {
    border-color: #56524f;
    background: rgba(255, 255, 255, 0.4);
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__opt input:checked + span {
    border-color: #56524f;
    background: #56524f;
    color: #e2dad3;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__opt input:checked + span::before {
    background: #e2dad3;
    box-shadow: inset 0 0 0 5px #56524f;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__opt input[type="checkbox"]:checked + span::after {
    color: #e2dad3;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__opt input:focus-visible + span {
    outline: 2px dashed #56524f;
    outline-offset: 2px;
}

/* Champs texte. */
body.page-template-template-anaelle-accueil-v2 .am-diag-form__autre,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__fields input,
body.page-template-template-anaelle-accueil-v2 .am-diag-form textarea {
    border: 1.5px solid #56524f;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.35);
    color: #56524f;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__autre:focus,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__fields input:focus,
body.page-template-template-anaelle-accueil-v2 .am-diag-form textarea:focus {
    border-color: #56524f;
    background: rgba(255, 255, 255, 0.6);
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__fields label {
    font-family: "Special Elite", "courier-new", monospace;
    font-weight: 400;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__error {
    color: #734440;
}

/* Navigation : bande du bas, boutons carrés. */
body.page-template-template-anaelle-accueil-v2 .am-diag-form.is-immersive .am-diag-form__nav {
    border-top: 1.5px solid #56524f;
    background: #b7b7ac;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__prev {
    color: #56524f;
    font-family: "Special Elite", "courier-new", monospace;
    font-weight: 400;
    letter-spacing: 0.04em;
    text-decoration: underline;
    text-transform: uppercase;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__next,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__submit {
    padding: 13px 22px;
    border: 1.5px solid #56524f;
    border-radius: 0;
    background: #56524f;
    color: #e2dad3;
    font-family: "Special Elite", "courier-new", monospace;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__next:hover,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__submit:hover {
    background: #3f3b39;
}

/* Ordinateur : fenêtre au cadre droit. */
@media (min-width: 768px) {
    body.page-template-template-anaelle-accueil-v2 .am-diag-form.is-immersive {
        border-radius: 0;
        box-shadow: 0 30px 80px rgba(40, 36, 34, 0.35);
    }

    body.page-template-template-anaelle-accueil-v2 .am-diag-form.is-immersive .am-diag-form__nav {
        border-radius: 0;
    }
}

@media (max-width: 767px) {
    body.page-template-template-anaelle-accueil-v2 .am-diag-form.is-immersive {
        border: 0;
    }
}

/* [2026-10-29] Étoiles (accueil v2) : en contour tant qu'elles ne sont pas choisies, pleines ensuite.
   (Avec la charte, la couleur « vide » et la couleur « pleine » étaient identiques.) */
body.page-template-template-anaelle-accueil-v2 .am-diag-form__stars label {
    color: transparent;
    -webkit-text-stroke: 1.5px #56524f;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__stars input:checked ~ label,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__stars label:hover,
body.page-template-template-anaelle-accueil-v2 .am-diag-form__stars label:hover ~ label {
    color: #56524f;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__stars input:focus-visible + label {
    outline: 2px dashed #56524f;
}

/* [2026-10-29] Croix de fermeture du menu, en bas à droite (visible seulement menu ouvert). */
#main .am-home .am-sticky__close {
    display: none;
    align-self: flex-end;
    width: 52px;
    height: 52px;
    margin: 14px 0 0 auto;
    padding: 0;
    border: 1.5px solid #56524f;
    border-radius: 0;
    background: transparent;
    color: #56524f;
    font-family: "Special Elite", "courier-new", monospace;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

#main .am-home .am-sticky.is-open .am-sticky__close {
    display: block;
    animation: am-close-in 0.4s ease 0.25s both;
}

#main .am-home .am-sticky__close:hover,
#main .am-home .am-sticky__close:active {
    background: #56524f;
    color: #e2dad3;
}

@keyframes am-close-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}

@media (min-width: 861px) {
    #main .am-home .am-sticky.is-open .am-sticky__close {
        margin: 0 14px 14px auto;
    }
}

/* Mobile plein écran : la croix est poussée tout en bas de l'écran. */
@media (max-width: 860px) {
    #main .am-home .am-sticky.is-open .am-sticky__close {
        margin-top: auto;
    }

    #main .am-home .am-sticky.is-open .am-sticky__panel {
        margin-bottom: 14px;
    }
}

/* [2026-10-29] Mobile : la citation prend tout l'écran sous le menu (plus d'air en haut et en bas). */
@media (max-width: 860px) {
    #main .am-home .am-quote2 {
        min-height: calc(100vh - 60px);
        min-height: calc(100svh - 60px);
        padding-top: 48px;
        padding-bottom: 48px;
    }
}

/* [2026-10-29] Mobile, Tarifs : balayage du fond clair de gauche à droite sur « Tarifs » puis
   « 90 euros* » ; le texte passe du clair au foncé exactement au passage du front. */
@property --am-s {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 0%;
}

@media (max-width: 860px) {
    #main .am-home .am-tarifs__intro.am-sweep .am-tarifs__mark,
    #main .am-home .am-tarifs__intro.am-sweep p.am-tarifs__prix {
        --am-s: 0%;
        background-color: transparent;
        background-image:
            linear-gradient(to right, #56524f var(--am-s), #e2dad3 var(--am-s)),
            linear-gradient(to right, #e2dad3 var(--am-s), transparent var(--am-s));
        background-clip: text, border-box;
        -webkit-background-clip: text, border-box;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    #main .am-home .am-tarifs__intro.am-sweep-run .am-tarifs__mark {
        --am-s: 100%;
        transition: --am-s 0.9s cubic-bezier(0.6, 0, 0.3, 1);
    }

    #main .am-home .am-tarifs__intro.am-sweep-run p.am-tarifs__prix {
        --am-s: 100%;
        transition: --am-s 0.9s cubic-bezier(0.6, 0, 0.3, 1) 1s;
    }

    @media (prefers-reduced-motion: reduce) {
        #main .am-home .am-tarifs__intro.am-sweep .am-tarifs__mark,
        #main .am-home .am-tarifs__intro.am-sweep p.am-tarifs__prix {
            --am-s: 100%;
            transition: none;
        }
    }
}

/* [2026-10-29] Mobile : bouton fixe un peu plus haut. Sur iPhone, quand la barre de Safari est
   réduite, un toucher tout en bas de l'écran sert d'abord à la faire réapparaître ; et pas d'effet
   de survol (un 1er toucher peut sinon ne servir qu'à « survoler »). */
@media (max-width: 860px) {
    #main .am-home .am-sticky {
        padding-bottom: calc(26px + env(safe-area-inset-bottom, 0px));
    }

    #main .am-home .am-sticky__toggle {
        touch-action: manipulation;
    }

    #main .am-home .am-sticky__toggle:hover .am-sticky__box {
        background: transparent;
    }

    body.am-sticky-on .scroll-top {
        bottom: calc(118px + env(safe-area-inset-bottom, 0px));
    }
}

/* [2026-10-29] Croix du menu : trait fin, plus grande, centrée ; tracée à l'ouverture
   (une diagonale, puis l'autre qui la croise). */
#main .am-home .am-sticky__close {
    display: none;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    font-size: 0;
}

#main .am-home .am-sticky.is-open .am-sticky__close {
    display: flex;
}

#main .am-home .am-sticky__close svg {
    display: block;
    width: 30px;
    height: 30px;
    overflow: visible;
}

#main .am-home .am-sticky__close path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: square;
    stroke-dasharray: 34;
    stroke-dashoffset: 34;
}

#main .am-home .am-sticky.is-open .am-sticky__close .am-x1 {
    animation: am-x-draw 0.35s ease-out 0.45s forwards;
}

#main .am-home .am-sticky.is-open .am-sticky__close .am-x2 {
    animation: am-x-draw 0.35s ease-out 0.8s forwards;
}

@keyframes am-x-draw {
    to { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
    #main .am-home .am-sticky__close path {
        stroke-dashoffset: 0;
        animation: none !important;
    }
}

/* [2026-10-29] Menu « Échange téléphonique » : à l'ouverture, chaque ligne des 2 tableaux arrive
   de la gauche, l'une après l'autre (pour inviter à lire toutes les propositions). */
#main .am-home .am-sticky.is-open .am-menu-group__t,
#main .am-home .am-sticky.is-open .am-menu-item,
#main .am-home .am-sticky.is-open .am-menu-urgence {
    animation: am-row-in 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) both;
    animation-delay: calc(0.3s + var(--r, 0) * 0.13s);
}

@keyframes am-row-in {
    from { opacity: 0; transform: translateX(-40px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    #main .am-home .am-sticky.is-open .am-menu-group__t,
    #main .am-home .am-sticky.is-open .am-menu-item,
    #main .am-home .am-sticky.is-open .am-menu-urgence {
        animation: none;
    }
}

/* [2026-10-29] Bureau : menu ouvert encadré dans la continuité du bouton du dessus.
   Le cadre passe sur tout le bloc (bouton + menu + croix) ; le bouton garde un trait de séparation. */
@media (min-width: 861px) {
    #main .am-home .am-sticky {
        box-sizing: border-box;
        border: 2px solid transparent;
        transition: transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.2s ease;
    }

    #main .am-home .am-sticky.is-open {
        border-color: #56524f;
    }

    #main .am-home .am-sticky .am-sticky__box {
        margin: -2px -2px 0;
    }

    #main .am-home .am-sticky.is-open .am-sticky__box {
        margin: 0;
        border-width: 0 0 2px;
    }
}

/* [2026-10-29] Bureau : bouton fixe deux fois plus petit ; au clic, il reprend sa grande taille
   en même temps que le menu s'ouvre (et redevient petit à la fermeture). */
@media (min-width: 861px) {
    #main .am-home .am-sticky {
        width: 310px;
        transition: transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1), width 0.4s cubic-bezier(0.3, 0.7, 0.3, 1), border-color 0.2s ease;
    }

    #main .am-home .am-sticky.is-open {
        width: min(620px, calc(100% - 32px));
    }

    #main .am-home .am-sticky__icon {
        width: 32px;
        transition: width 0.4s cubic-bezier(0.3, 0.7, 0.3, 1);
    }

    #main .am-home .am-sticky.is-open .am-sticky__icon {
        width: 64px;
    }

    #main .am-home .am-sticky__icon svg {
        width: 10px;
        height: 25px;
        transition: width 0.4s ease, height 0.4s ease;
    }

    #main .am-home .am-sticky.is-open .am-sticky__icon svg {
        width: 20px;
        height: 50px;
    }

    #main .am-home .am-sticky__text {
        padding: 5px 11px 6px;
        transition: padding 0.4s ease;
    }

    #main .am-home .am-sticky.is-open .am-sticky__text {
        padding: 10px 22px 12px;
    }

    #main .am-home .am-sticky__title {
        font-size: 17px;
        transition: font-size 0.4s cubic-bezier(0.3, 0.7, 0.3, 1);
    }

    #main .am-home .am-sticky.is-open .am-sticky__title {
        font-size: 34px;
    }

    #main .am-home .am-sticky__sub {
        font-size: 12px;
        transition: font-size 0.4s cubic-bezier(0.3, 0.7, 0.3, 1);
    }

    #main .am-home .am-sticky.is-open .am-sticky__sub {
        font-size: 24px;
    }

    body.am-sticky-on .scroll-top {
        bottom: 80px;
    }
}

/* [2026-10-29] Nom du diagnostic en tête de la fenêtre, au-dessus de la progression
   (même bandeau que les titres du menu « Échange téléphonique »). */
body.page-template-template-anaelle-accueil-v2 .am-diag-form__name {
    flex: none;
    margin: 0 0 14px;
    padding: 9px 14px;
    background: #56524f;
    color: #b7b7ad;
    font-family: "Special Elite", "courier-new", "Courier New", Courier, monospace;
    font-size: 23px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.3;
    text-transform: uppercase;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form:not(.is-immersive) .am-diag-form__name {
    display: none;
}

/* [2026-10-29] Pré-formulaires des sections : la réponse choisie se distingue nettement
   (fond foncé, texte clair, rond plein), y compris après l'animation d'appel mobile qui
   éclaircit les réponses — sinon elle se confondait avec le fond. */
#main .am-home .am-diag .anaelle-form-entry__choice.is-selected,
#main .am-home .am-diag.am-cta .anaelle-form-entry__choice.is-selected,
#main .am-home .am-diag.am-cta .anaelle-form-entry__choice.am-cta-lit.is-selected {
    background: #56524f;
    color: #e2dad3;
}

#main .am-home .am-diag .anaelle-form-entry__choice.is-selected::before {
    border-color: #e2dad3;
    background: #e2dad3;
    box-shadow: inset 0 0 0 5px #56524f;
}

/* [2026-10-29] Fenêtres de diagnostic : nom (+ croix), question, progression, réponses. */
body.page-template-template-anaelle-accueil-v2 .am-diag-form__head {
    display: flex;
    flex: none;
    align-items: stretch;
    margin: 0 0 16px;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__head .am-diag-form__name {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__head .am-diag-form__close {
    flex: none;
    height: auto;
    min-height: 42px;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form:not(.is-immersive) .am-diag-form__head,
body.page-template-template-anaelle-accueil-v2 .am-diag-form:not(.is-immersive) .am-diag-form__qhead {
    display: none;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__qhead {
    flex: none;
    margin: 0 10px 14px;
    color: #56524f;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 23px;
    font-style: italic;
    font-weight: 700;
    line-height: 1.3;
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form__qhead.is-new {
    animation: am-qhead-in 0.4s ease;
}

@keyframes am-qhead-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

body.page-template-template-anaelle-accueil-v2 .am-diag-form.is-immersive .am-diag-form__top {
    margin: 0 0 20px;
}

/* La question d'origine reste lisible par les lecteurs d'écran, mais n'est plus affichée. */
body.page-template-template-anaelle-accueil-v2 .am-diag-form.am-has-head.is-immersive .am-diag-form__step .am-diag-form__q,
body.page-template-template-anaelle-accueil-v2 .am-diag-form.am-has-head.is-immersive .am-diag-form__step .am-diag-form__title,
body.page-template-template-anaelle-accueil-v2 .am-diag-form.am-has-head.is-immersive .am-diag-form__offer .am-diag-form__q {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}


/* [2026-10-29] L'aide sous la question (« Plusieurs réponses possibles », « 1 = … ») avait une marge
   négative pour se coller à la question ; la question étant remontée, elle passait sous la progression. */
body.page-template-template-anaelle-accueil-v2 .am-diag-form.am-has-head.is-immersive .am-diag-form__hint {
    margin: 2px 10px 14px;
    font-size: 14px;
}

/* [2026-10-30] Liens vers les pages piliers (maillage interne). */
#main .am-home .am-hero2__themes {
    margin: 14px 0 0;
    color: #56524f;
    font-family: "Special Elite", "courier-new", monospace;
    font-size: 13px;
    letter-spacing: 0.04em;
    line-height: 1.6;
}

#main .am-home .am-hero2__themes a {
    color: #56524f;
    text-decoration: underline;
    text-decoration-thickness: 0.5px;
    text-underline-offset: 3px;
}

#main .am-home .am-pilier-cta {
    margin: 0;
    padding: clamp(18px, 2vw, 32px) clamp(20px, 2.5vw, 48px) 0;
}

#main .am-home .am-pilier-cta__btn {
    display: inline-block;
    padding: 12px 20px;
    border: 0.5px solid #56524f;
    background: #56524f;
    color: #e2dad3;
    font-family: "Special Elite", "courier-new", monospace;
    font-size: 15px;
    letter-spacing: 0.03em;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

@media (hover: hover) {
    #main .am-home .am-pilier-cta__btn:hover {
        background: transparent;
        color: #56524f;
    }
}

@media (max-width: 860px) {
    #main .am-home .am-hero2__themes {
        margin-top: 10px;
        font-size: 12px;
    }

    #main .am-home .am-pilier-cta {
        padding: 18px 16px 0;
    }

    #main .am-home .am-pilier-cta__btn {
        display: block;
        text-align: center;
    }
}
