/*
 * Namidō V6 - système typographique et interactif validé.
 *
 * Cette feuille est chargée après Tailwind et style.css. Elle ne change ni
 * les couleurs, ni les médias, ni les compositions : elle centralise les
 * tailles, graisses, hauteurs de ligne, formes des boutons et états interactifs.
 * Depuis la V6.0.2, l'écartement des contenus reste celui de la V5.0.34.
 * Seules demeurent les deux valeurs validées séparément pour le menu et les
 * petits textes lors de la mise au point typographique de la V6.
 */

@font-face {
    font-family: "Lora";
    src: url("./fonts/Lora-Italic-Variable.ttf") format("truetype");
    font-style: italic;
    font-weight: 400 700;
    font-display: swap;
}

:root,
html[data-namido-reading="comfort"] {
    --namido-reading-offset: 0px;
    --namido-type-caption: 12px;
    --namido-type-caps: 14px;
    --namido-type-menu: 14px;
    --namido-type-small: 12px;
    --namido-type-body: 14px;
    --namido-type-intro: 16px;
    --namido-type-stop: 15px;
    --namido-type-quote: 14px;
    --namido-type-signature: 12px;
    --namido-type-card-title: 20px;
    --namido-type-intertitle: 24px;
    --namido-type-section-title: 32px;
    --namido-type-page-title: 42px;
    --namido-type-hero-title: 52px;
    --namido-type-button-main: 16px;
    --namido-type-button-google: 16px;
    --namido-type-button-compact: 15px;
    --namido-type-image-cta: 16px;
}

html[data-namido-reading="large"] {
    --namido-reading-offset: 1.5px;
    --namido-type-caption: 13.5px;
    --namido-type-caps: 15.5px;
    --namido-type-menu: 15.5px;
    --namido-type-small: 13.5px;
    --namido-type-body: 15.5px;
    --namido-type-intro: 17.5px;
    --namido-type-stop: 16.5px;
    --namido-type-quote: 15.5px;
    --namido-type-signature: 13.5px;
    --namido-type-card-title: 21.5px;
    --namido-type-intertitle: 25.5px;
    --namido-type-section-title: 33.5px;
    --namido-type-page-title: 43.5px;
    --namido-type-hero-title: 53.5px;
    --namido-type-button-main: 17.5px;
    --namido-type-button-google: 17.5px;
    --namido-type-button-compact: 16.5px;
    --namido-type-image-cta: 17.5px;
}

html[data-namido-reading="xlarge"] {
    --namido-reading-offset: 3px;
    --namido-type-caption: 15px;
    --namido-type-caps: 17px;
    --namido-type-menu: 17px;
    --namido-type-small: 15px;
    --namido-type-body: 17px;
    --namido-type-intro: 19px;
    --namido-type-stop: 18px;
    --namido-type-quote: 17px;
    --namido-type-signature: 15px;
    --namido-type-card-title: 23px;
    --namido-type-intertitle: 27px;
    --namido-type-section-title: 35px;
    --namido-type-page-title: 45px;
    --namido-type-hero-title: 55px;
    --namido-type-button-main: 19px;
    --namido-type-button-google: 19px;
    --namido-type-button-compact: 18px;
    --namido-type-image-cta: 19px;
}

body,
button,
input,
select,
textarea {
    font-family: "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

body {
    font-size: var(--namido-type-body);
    font-weight: 400;
    line-height: 1.55;
}

/*
 * Tailles choisies dans l'éditeur WordPress du mot de bienvenue. La valeur
 * Confort reste celle enregistrée ; Grand et Très grand ajoutent exactement
 * 1,5 px et 3 px, comme le reste du site.
 */
.namido-home-welcome__content :where([style*="font-size: 12px" i], [style*="font-size:12px" i]) {
    font-size: calc(12px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 14px" i], [style*="font-size:14px" i]) {
    font-size: calc(14px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 16px" i], [style*="font-size:16px" i]) {
    font-size: calc(16px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 17px" i], [style*="font-size:17px" i]) {
    font-size: calc(17px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 18px" i], [style*="font-size:18px" i]) {
    font-size: calc(18px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 20px" i], [style*="font-size:20px" i]) {
    font-size: calc(20px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 24px" i], [style*="font-size:24px" i]) {
    font-size: calc(24px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 32px" i], [style*="font-size:32px" i]) {
    font-size: calc(32px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 43px" i], [style*="font-size:43px" i]) {
    font-size: calc(43px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 56px" i], [style*="font-size:56px" i]) {
    font-size: calc(56px + var(--namido-reading-offset)) !important;
}

.namido-home-welcome__content :where([style*="font-size: 67px" i], [style*="font-size:67px" i]) {
    font-size: calc(67px + var(--namido-reading-offset)) !important;
}

/*
 * Texte courant. Les nombres, kanjis et repères purement graphiques reçoivent
 * plus bas une catégorie explicite afin de préserver leur rôle visuel.
 */
main p,
main li,
main dd,
.namido-entry-gate p,
.namido-entry-gate li {
    font-size: var(--namido-type-body) !important;
    font-weight: 400;
    line-height: 1.55 !important;
}

/*
 * Petit intitulé en capitales.
 */
main [class*="eyebrow"],
.namido-site-search__eyebrow,
.namido-site-footer__eyebrow,
.namido-blog-eyebrow,
.five-movements-eyebrow,
.chinese-energy-eyebrow,
.personal-practice-eyebrow,
.enterprise-evidence-links__eyebrow,
.shiatsu-history-meaning__label,
.personal-practice-texture__label,
.session-supports__tag,
.five-movement-card__season,
.five-movement-cycle__label,
.shiatsu-history-timeline__date,
.sokuatsu-lineage__year,
main p[class*="text-sm"][class*="tracking-"] {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-caps) !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: 1.55 !important;
}

/*
 * Titres : la page d'accueil et les trois ouvertures éditoriales emploient le
 * grand titre ; les autres H1 restent des titres de page.
 */
main h1,
.namido-single-header h1,
.namido-blog-hero h1 {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-page-title) !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.namido-home-page > section:first-of-type h1,
.five-movements-hero h1,
.chinese-energy-hero h1,
.personal-practice-hero h1 {
    font-size: var(--namido-type-hero-title) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

main h2,
.namido-site-search__heading h2,
.namido-entry-gate__welcome > h2 {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-section-title) !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

main h3,
.stress-stop-copy h2 {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-intertitle) !important;
    font-style: normal;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/*
 * Titres de cartes. Cette liste reprend les composants effectivement rendus
 * par les modèles WordPress de la V5.0.34.
 */
main h4,
.namido-blog-card__title,
.benefit-card h3,
.enterprise-benefit-card h3,
.enterprise-setup > h3,
.enterprise-cost-components h3,
.disengagement-costs__heading h3,
.human-impact-reading h3,
.technique-common__grid h3,
.technique-comparison-card__body h3,
.technique-orientation__grid h3,
.technique-root-card h3,
.technique-card h3,
.session-preparation__grid h3,
.session-frequency__grid h3,
.session-timeline__steps h3,
.session-supports__grid h3,
.session-method__grid h3,
.session-choice-card h3,
.private-audience-card h3,
.sokuatsu-vocabulary h3,
.sokuatsu-pressure__grid h3,
.sokuatsu-uses__grid h3,
.sokuatsu-lineage__timeline h3,
.shiatsu-history-timeline__item h3,
.shiatsu-history-school-card h3,
.five-movement-card h3,
.five-movement-cycle h3,
.enterprise-journey__steps h3,
.enterprise-practical-card h3,
.enterprise-booking-flow h3,
.enterprise-booking-rules h3,
.enterprise-operation-note h3,
.enterprise-company-benefits__grid h3,
.enterprise-rate-card h3,
.enterprise-rates-financing__grid h3,
.enterprise-rates-conditions__grid h3,
.links-card h2,
.rationcalc-student-card h2 {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-card-title) !important;
    font-style: normal;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/*
 * Introductions et chapeaux.
 */
main p.text-lg,
main p.text-xl,
main p[class*="md:text-xl"],
main p[class*="md:text-2xl"],
main [class*="__lead"],
.five-movements-lead,
.chinese-energy-key-sentence,
.five-movement-cycle__conclusion,
.sokuatsu-lineage__conclusion,
.sokuatsu-guide-hero__promise,
.rationcalc-student-card__promise,
.namido-blog-hero > p:last-child,
.namido-blog-archive-description,
.namido-blog-archive-description p,
.home-practice-feature__pitch p {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-intro) !important;
    font-style: normal;
    font-weight: 500 !important;
    line-height: 1.55 !important;
}

/*
 * STOP : texte dédié et initiales.
 */
.stress-stop-copy__list,
.stress-stop-copy__list li {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-stop) !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
}

.stress-stop-copy__list li > span:last-child > strong {
    font-weight: 800 !important;
}

/*
 * Témoignages et signatures.
 */
.testimonial-card p,
.stress-stop-copy__testimonial p,
.namido-home-reviews-heading + .mobile-swipe-row blockquote p {
    font-family: "Lora", Georgia, serif !important;
    font-size: var(--namido-type-quote) !important;
    font-style: italic !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
}

.testimonial-card footer,
.stress-stop-copy__testimonial footer,
.namido-home-reviews-heading + .mobile-swipe-row blockquote footer {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-signature) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

/*
 * Légendes et annotations.
 */
main figcaption:not(.screen-reader-text),
.logo-story-nami__credit,
.disengagement-costs__source,
.namido-site-footer__health,
.namido-site-footer__legal,
.namido-site-footer__copyright,
.namido-site-footer__domain {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-caption) !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

/*
 * Petits textes : aides de lecture, indications et pagination.
 */
small {
    font-size: max(var(--namido-type-caption), 80%);
}

sub,
sup {
    font-size: max(var(--namido-type-caption), 75%);
}

main small,
main p.text-sm:not([class*="tracking-"]),
main p.text-xs,
.mobile-swipe-hint,
.photo-swipe-hint,
.testimonial-swipe-hint,
.namido-gallery-zoom-hint,
.namido-banner-help,
.namido-site-search__help,
.namido-site-search__results-title,
.namido-blog-card__meta,
.namido-post-navigation a span,
.namido-next-page__inner > span,
.namido-next-page__copy > span,
.namido-page-jump button,
.rationcalc-student-card__steps,
.enterprise-evidence-links small {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-small) !important;
    font-style: normal;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    letter-spacing: .015em !important;
}

.home-practice-feature__pitch footer span,
.home-practice-feature__pitch footer small {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-caption) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-transform: none !important;
}

/*
 * Navigation principale et sous-menus.
 */
#desktop-nav > a,
#desktop-nav .namido-desktop-menu-item > a,
.namido-desktop-submenu a,
#mobile-menu nav > a,
.namido-mobile-submenu a,
.namido-bottom-menu__label,
.namido-bottom-panel__links a,
.namido-blog-categories a,
.namido-site-footer__links a,
.namido-visit-switch {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-menu) !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: -.02em !important;
}

/*
 * Repères chiffrés et données mises en avant : ils utilisent les niveaux de
 * la même échelle sans être assimilés à du texte courant.
 */
.disengagement-cost-card__number,
.enterprise-rate-card__price,
.sokuatsu-vocabulary__kanji {
    font-size: var(--namido-type-section-title) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.enterprise-practical-measure {
    font-size: var(--namido-type-intertitle) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.session-choice-card__duration {
    font-size: var(--namido-type-page-title) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

/*
 * Boutons principaux : rendez-vous, interventions, articles et actions de
 * contenu. Les couleurs et ombres normales restent celles des composants.
 */
:is(
    main a.hover-card,
    main button.hover-card,
    main input[type="submit"],
    main a.button,
    main button.button,
    .enterprise-action,
    .namido-contact-action,
    .five-movements-cta a,
    .chinese-energy-button,
    .personal-practice-button,
    .technique-path-button,
    .session-choice__actions a,
    .sokuatsu-guide-actions a,
    .enterprise-journey__rates a,
    .rationcalc-student-card__action a,
    .technique-comparison-card__body > a,
    .technique-choice-final__actions a,
    .private-technique-choice > a,
    .content-owner-link > a,
    .session-practical-note__links a
) {
    padding: 12px 30px !important;
    border-radius: 15px !important;
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-button-main) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/*
 * Boutons Google.
 */
.google-reviews-actions a {
    padding: 12px 30px !important;
    border-radius: 15px !important;
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-button-google) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/*
 * Boutons compacts d'encart.
 */
.namido-home-guestbook__callout,
.namido-essential-hub__booking {
    padding: 12px 30px !important;
    border-radius: 30px !important;
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-button-compact) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/*
 * CTA associés à une image.
 */
.namido-comic-home__open > span,
.namido-home-guestbook__label,
.namido-site-footer__map span,
.namido-contact-map span,
.namido-diagram-link__hint {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-image-cta) !important;
    font-style: normal;
    font-weight: 850 !important;
    line-height: 1.3 !important;
}

/*
 * États interactifs communs : aucun déplacement, agrandissement ou changement
 * d'ombre. Le retour reste volontairement discret.
 */
:is(
    a[href],
    button:not(:disabled),
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"]
):focus-visible {
    outline: 3px solid rgba(90, 36, 125, .5) !important;
    outline-offset: 3px !important;
    transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
    :is(
        a[href],
        button:not(:disabled),
        input[type="button"],
        input[type="submit"],
        input[type="reset"],
        [role="button"]
    ):hover {
        filter: brightness(.985);
    }
}

.namido-entrance__quick:focus-visible {
    transform: translateX(-50%) !important;
}

.namido-entry-gate.is-opening .namido-entrance__quick:focus-visible {
    transform: translateX(-50%) translateY(24px) !important;
}

.namido-entry-gate.is-opening .namido-entry-door--complete:focus-visible {
    transform: translateX(-115%) rotateY(-18deg) !important;
}

.namido-entry-gate.is-opening .namido-entry-door--essential:focus-visible {
    transform: translateX(115%) rotateY(18deg) !important;
}

@media (min-width: 1024px) {
    .namido-comic-home__open:focus-visible {
        transform: rotate(2.8deg) !important;
    }
}

@media (max-width: 767px) {
    .namido-entry-gate.is-opening .namido-entry-door--complete:focus-visible {
        transform: translateY(-100%) rotateX(12deg) !important;
    }

    .namido-entry-gate.is-opening .namido-entry-door--essential:focus-visible {
        transform: translateY(100%) rotateX(-12deg) !important;
    }
}

:is(
    a[href],
    button:not(:disabled),
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"]
):active {
    opacity: .96;
    filter: brightness(.94);
}

@media (hover: hover) and (pointer: fine) {
    :is(
        a[href],
        button:not(:disabled),
        input[type="button"],
        input[type="submit"],
        input[type="reset"],
        [role="button"]
    ):is(:hover, :focus-visible, :active) {
        transform: none !important;
    }

    #desktop-nav > a:is(:hover, :focus-visible),
    #desktop-nav .namido-desktop-menu-item > a:is(:hover, :focus-visible) {
        color: #5a247d !important;
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: .28em;
    }

    .namido-desktop-submenu a:is(:hover, :focus-visible) {
        background: #f8f5fb;
        color: #5a247d;
    }

    .namido-entry-door:is(:hover, :focus-visible) {
        box-shadow: 0 18px 40px rgba(42, 28, 51, .09) !important;
    }

    .namido-visit-switch:is(:hover, :focus-visible) {
        border-color: rgba(245, 59, 82, .42);
        background: #fff5f6;
        color: var(--namido-visit-coral-dark);
        box-shadow: none !important;
    }

    .namido-entrance__quick:is(:hover, :focus-visible) {
        background: #5a247d;
    }

    .namido-essential-hub__steps a:is(:hover, :focus-visible) {
        border-color: rgba(245, 59, 82, .24);
        box-shadow: none !important;
    }

    .namido-home-guestbook__callout:is(:hover, :focus-visible) {
        background: #f53b52;
        box-shadow: 0 10px 25px rgba(245, 59, 82, .2) !important;
    }

    .namido-home-guestbook__board:is(:hover, :focus-visible) {
        box-shadow: 0 18px 50px rgba(52, 33, 62, .18) !important;
    }

    .enterprise-journey__steps a:is(:hover, :focus-visible) {
        box-shadow: 0 12px 28px rgba(17, 24, 39, .045) !important;
    }

    .enterprise-evidence-links > a:is(:hover, :focus-visible) {
        box-shadow: 0 15px 36px rgba(17, 24, 39, .055) !important;
    }

    .enterprise-action:is(:hover, :focus-visible),
    .technique-comparison-card__body > a:is(:hover, :focus-visible),
    .technique-choice-final__actions a:is(:hover, :focus-visible),
    .private-technique-choice > a:is(:hover, :focus-visible),
    .content-owner-link > a:is(:hover, :focus-visible),
    .session-practical-note__links a:is(:hover, :focus-visible),
    .technique-path-button:is(:hover, :focus-visible),
    .chinese-energy-button:is(:hover, :focus-visible),
    .personal-practice-button:is(:hover, :focus-visible),
    .session-choice__actions a:is(:hover, :focus-visible),
    .sokuatsu-guide-actions a:is(:hover, :focus-visible) {
        box-shadow: none !important;
    }

    .session-choice__actions a:not(.session-choice__primary):is(:hover, :focus-visible),
    .sokuatsu-guide-actions a:not(.sokuatsu-guide-actions__primary):is(:hover, :focus-visible) {
        border-color: rgba(90, 36, 125, .23) !important;
        background: rgba(255, 255, 255, .9) !important;
        color: #5a247d !important;
    }

    .session-choice__actions .session-choice__primary:is(:hover, :focus-visible),
    .sokuatsu-guide-actions .sokuatsu-guide-actions__primary:is(:hover, :focus-visible) {
        border-color: #5a247d !important;
        background: #5a247d !important;
        color: #fff !important;
    }

    .namido-contextual-back:is(:hover, :focus-visible) {
        box-shadow: 0 12px 34px rgba(56, 30, 81, .17) !important;
    }

    .hover-card:not(.apple-shadow):is(:hover, :focus-visible) {
        box-shadow: none !important;
    }

    .hover-card.apple-shadow:is(:hover, :focus-visible) {
        box-shadow: 0 12px 40px rgba(90, 36, 125, .06), 0 2px 8px rgba(0, 0, 0, .025) !important;
    }

    .rationcalc-student-card__action a:is(:hover, :focus-visible) {
        background: #fff;
        color: #5a247d;
        box-shadow: 0 9px 20px rgba(24, 8, 35, .2) !important;
    }

    .namido-blog-card:hover,
    .namido-blog-card:focus-within {
        box-shadow: 0 14px 40px rgba(17, 24, 39, .07) !important;
        transform: none !important;
    }

    .namido-blog-card:hover .namido-blog-card__media > img,
    .namido-blog-card:focus-within .namido-blog-card__media > img,
    .technique-photo-link:hover img,
    .technique-photo-link:focus-visible img,
    .testimonial-image:hover img,
    .testimonial-image:focus-visible img,
    .photo-slide:hover .photo-slide__image,
    .photo-slide:focus-visible .photo-slide__image,
    .namido-diagram-link:hover img,
    .namido-diagram-link:focus-visible img {
        transform: none !important;
    }

    .namido-blog-card__link:hover span {
        transform: none !important;
    }

    .namido-blog-categories a:not(.is-current):is(:hover, :focus-visible) {
        border-color: rgba(90, 36, 125, .24);
        background: #fff;
        color: #3b1558;
    }

    .enterprise-practical-nav a:is(:hover, :focus-visible) {
        background: rgba(255, 255, 255, .86);
    }

    .enterprise-journey__rates a:is(:hover, :focus-visible) {
        background: #5a247d;
        color: #fff;
    }

    .namido-announcement-inner a:hover {
        background: #3b1558;
    }

    .namido-site-footer__map:is(:hover, :focus-visible) img,
    .namido-contact-map:is(:hover, :focus-visible) img {
        filter: brightness(.99);
    }

    .namido-next-page a.namido-next-page__previous:is(:hover, :focus-visible),
    .namido-next-page a.namido-next-page__destination:is(:hover, :focus-visible),
    .namido-next-page a.namido-next-page__shortcut:is(:hover, :focus-visible) {
        border-color: transparent;
        background: transparent;
        color: #5a247d;
    }

    .namido-page-jump button:not(:disabled):is(:hover, :focus-visible) {
        color: #5a247d;
    }

    .namido-contact-action--secondary:is(:hover, :focus-visible) {
        background: rgba(255, 255, 255, .1);
    }
}

/*
 * Deux éléments possèdent un transform normal nécessaire à leur composition.
 * Leur état interactif reprend exactement cette position normale.
 */
@media (hover: hover) and (pointer: fine) {
    .namido-entrance__quick:is(:hover, :focus-visible, :active) {
        transform: translateX(-50%) !important;
    }

    .namido-entry-gate.is-opening .namido-entrance__quick:is(:hover, :focus-visible, :active) {
        transform: translateX(-50%) translateY(24px) !important;
    }

    .namido-entry-gate.is-opening .namido-entry-door--complete:is(:hover, :focus-visible, :active) {
        transform: translateX(-115%) rotateY(-18deg) !important;
    }

    .namido-entry-gate.is-opening .namido-entry-door--essential:is(:hover, :focus-visible, :active) {
        transform: translateX(115%) rotateY(18deg) !important;
    }
}

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    .namido-comic-home__open:is(:hover, :focus-visible, :active) {
        transform: rotate(2.8deg) !important;
    }
}

@media (max-width: 767px) and (hover: hover) and (pointer: fine) {
    .namido-entry-gate.is-opening .namido-entry-door--complete:is(:hover, :focus-visible, :active) {
        transform: translateY(-100%) rotateX(12deg) !important;
    }

    .namido-entry-gate.is-opening .namido-entry-door--essential:is(:hover, :focus-visible, :active) {
        transform: translateY(100%) rotateX(-12deg) !important;
    }
}

/*
 * Le menu inférieur peut s'agrandir avec le niveau de lecture sans masquer le
 * bas des pages.
 */
@media (max-width: 1279px) {
    body {
        padding-bottom: calc(max(66px, 5.2em) + env(safe-area-inset-bottom));
    }

    .namido-bottom-menu__strip,
    .namido-bottom-menu__item {
        min-height: max(62px, 5em);
    }

    .namido-bottom-panels {
        bottom: calc(max(62px, 5em) + env(safe-area-inset-bottom));
    }

    .namido-page-jump {
        bottom: calc(max(72px, 5.8em) + env(safe-area-inset-bottom)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(a[href], button, input, [role="button"]) {
        transition-duration: .01ms !important;
    }
}

/*
 * Accueil - bloc STOP : proportions typographiques restaurées depuis la
 * V5.0.9. Le périmètre est volontairement local afin que les trois échelles
 * générales de la V6 continuent de piloter toutes les autres pages.
 */
.stress-panel--v509 .stress-panel--v509__copy > h2 {
    font-size: calc(1.875rem + var(--namido-reading-offset)) !important;
    font-weight: 700 !important;
    line-height: 2.25rem !important;
}

.stress-panel--v509 .stop-list--v509,
.stress-panel--v509 .stop-list--v509 li {
    font-size: calc(1.125rem + var(--namido-reading-offset)) !important;
    font-weight: 400 !important;
    line-height: 1.75rem !important;
}

.stress-panel--v509 .stop-list--v509 li > span:first-child {
    font-size: calc(1.25rem + var(--namido-reading-offset)) !important;
    font-weight: 700 !important;
    line-height: 1.75rem !important;
}

.stress-panel--v509 .stop-list--v509 li > span:last-child > strong {
    font-size: 1em !important;
    font-weight: 700 !important;
}

.stress-panel--v509 .stress-testimonial--v509 p {
    font-family: "Lora", Georgia, serif !important;
    font-size: var(--namido-type-quote) !important;
    font-style: italic !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
}

.stress-panel--v509 .stress-testimonial--v509 footer {
    font-family: "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
    font-size: var(--namido-type-signature) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

@media (min-width: 768px) {
    .stress-panel--v509 .stress-panel--v509__copy > h2 {
        font-size: calc(2.25rem + var(--namido-reading-offset)) !important;
        line-height: 2.5rem !important;
    }
}
