/*!
 * THÈME 1 — site public (11/10/2026). Code propriétaire, sans bibliothèque extérieure.
 * Couleurs : celles du site du client (--t1-marque, --t1-second), posées par le gabarit.
 * Le texte blanc se pose sur la couleur assombrie (--t1-marque-fonce) pour rester lisible.
 */
:root {
    --t1-marque: #465fff; --t1-second: #7a5af8;
    --t1-marque-fonce: color-mix(in srgb, var(--t1-marque) 78%, #000);
    --t1-marque-texte: color-mix(in srgb, var(--t1-marque) 82%, #000);
    --t1-marque-50: color-mix(in srgb, var(--t1-marque) 7%, #fff);
    --t1-marque-100: color-mix(in srgb, var(--t1-marque) 14%, #fff);
    --t1-encre: #0f172a; --t1-texte: #334155; --t1-doux: #64748b; --t1-ligne: #e2e8f0; --t1-fond: #f8fafc;
    --t1-rayon: 20px; --t1-ombre: 0 10px 30px -12px rgba(15, 23, 42, .18); --t1-ombre-forte: 0 30px 60px -20px rgba(15, 23, 42, .28);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.t1 { margin: 0; font-family: 'main-font-family', 'Plus Jakarta Sans', Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--t1-texte); background: #fff; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
.t1 a { color: inherit; text-decoration: none; }
.t1 img { max-width: 100%; display: block; }
.t1 h1, .t1 h2, .t1 h3, .t1 h4 { color: var(--t1-encre); line-height: 1.15; margin: 0; letter-spacing: -.02em; }
.t1-conteneur { width: min(1200px, 100% - 40px); margin: 0 auto; }
.t1-section { padding: 90px 0; position: relative; }
.t1-section.gris { background: var(--t1-fond); }
.t1-sur-titre { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--t1-marque-texte); background: var(--t1-marque-50); border: 1px solid var(--t1-marque-100); padding: 6px 14px; border-radius: 999px; }
.t1-titre-section { font-size: clamp(28px, 4vw, 42px); font-weight: 800; margin-top: 14px; }
.t1-intro { color: var(--t1-doux); font-size: 17px; max-width: 640px; margin: 12px 0 0; }
.t1-entete-section { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 40px; flex-wrap: wrap; }

/* Boutons */
.t1-btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 14px; padding: 14px 24px; font-weight: 700; font-size: 15px; border: 2px solid transparent; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; line-height: 1.2; }
.t1-btn:hover { transform: translateY(-2px); }
.t1-btn.plein { background: var(--t1-marque-fonce); color: #fff !important; box-shadow: 0 14px 30px -12px color-mix(in srgb, var(--t1-marque) 70%, transparent); }
.t1-btn.plein:hover { background: color-mix(in srgb, var(--t1-marque) 65%, #000); }
.t1-btn.contour { border-color: var(--t1-ligne); color: var(--t1-encre) !important; background: #fff; }
.t1-btn.contour:hover { border-color: var(--t1-marque); color: var(--t1-marque-texte) !important; }
.t1-btn.blanc { background: #fff; color: var(--t1-marque-fonce) !important; }
.t1-btn svg { width: 18px; height: 18px; }

/* En-tête */
.t1-entete { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.82); backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s; }
.t1-entete.defile { border-color: var(--t1-ligne); box-shadow: 0 8px 24px -16px rgba(15,23,42,.25); }
.t1-entete .t1-conteneur { display: flex; align-items: center; gap: 24px; height: 78px; }
.t1-logo { display: flex; align-items: center; gap: 10px; font-weight: 800; color: var(--t1-encre); font-size: 18px; }
.t1-logo img { max-height: 46px; max-width: 180px; object-fit: contain; }
.t1-nav { display: flex; gap: 4px; margin-left: auto; align-items: center; }
.t1-nav > a, .t1-nav .t1-deroulant > button { padding: 10px 14px; border-radius: 10px; font-weight: 600; font-size: 15px; color: var(--t1-texte); background: none; border: none; cursor: pointer; font-family: inherit; }
.t1-nav > a:hover, .t1-nav > a.actif, .t1-nav .t1-deroulant > button:hover { color: var(--t1-marque-texte); background: var(--t1-marque-50); }
.t1-deroulant { position: relative; }
.t1-deroulant .menu { position: absolute; top: calc(100% + 8px); left: 0; min-width: 270px; background: #fff; border: 1px solid var(--t1-ligne); border-radius: 16px; box-shadow: var(--t1-ombre-forte); padding: 8px; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s; }
.t1-deroulant:hover .menu, .t1-deroulant:focus-within .menu { opacity: 1; visibility: visible; transform: none; }
.t1-deroulant .menu a { display: block; padding: 10px 12px; border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--t1-texte); }
.t1-deroulant .menu a:hover { background: var(--t1-marque-50); color: var(--t1-marque-texte); }
.t1-actions { display: flex; gap: 10px; align-items: center; }
.t1-actions .t1-btn { padding: 11px 18px; font-size: 14px; }
.t1-burger { display: none; margin-left: auto; width: 46px; height: 46px; border-radius: 12px; border: 1px solid var(--t1-ligne); background: #fff; cursor: pointer; }
.t1-burger span { display: block; width: 20px; height: 2px; background: var(--t1-encre); margin: 4px auto; border-radius: 2px; transition: .3s; }
@media (max-width: 1024px) {
    .t1-burger { display: block; }
    .t1-nav, .t1-actions { display: none; }
    .t1-entete.ouvert .t1-nav { display: flex; position: absolute; top: 78px; left: 0; right: 0; flex-direction: column; align-items: stretch; background: #fff; padding: 14px 20px 6px; border-bottom: 1px solid var(--t1-ligne); }
    .t1-entete.ouvert .t1-actions { display: flex; position: absolute; top: calc(78px + var(--t1-nav-h, 330px)); left: 0; right: 0; background: #fff; padding: 6px 20px 18px; border-bottom: 1px solid var(--t1-ligne); }
    .t1-entete.ouvert .t1-actions .t1-btn { flex: 1; justify-content: center; }
    .t1-deroulant .menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; padding: 0 0 0 12px; display: none; }
    .t1-deroulant.ouvert .menu { display: block; }
    .t1-entete.ouvert .t1-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .t1-entete.ouvert .t1-burger span:nth-child(2) { opacity: 0; }
    .t1-entete.ouvert .t1-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
}

/* Fonds animés : formes qui flottent, dégradés en mouvement */
.t1-fond-anime { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.t1-forme { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .55; animation: t1-flotte 18s ease-in-out infinite; }
.t1-forme.a { width: 480px; height: 480px; background: var(--t1-marque); top: -140px; right: -80px; }
.t1-forme.b { width: 380px; height: 380px; background: var(--t1-second); bottom: -120px; left: -100px; animation-delay: -6s; animation-duration: 22s; }
.t1-forme.c { width: 260px; height: 260px; background: #22d3ee; top: 40%; left: 45%; opacity: .25; animation-delay: -11s; }
@keyframes t1-flotte { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(40px, -30px) scale(1.08); } 66% { transform: translate(-30px, 25px) scale(.95); } }
.t1-grille-fond { position: absolute; inset: 0; background-image: linear-gradient(rgba(15,23,42,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,.05) 1px, transparent 1px); background-size: 46px 46px; mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 75%); -webkit-mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 75%); }
.t1-vague { position: absolute; left: 0; right: 0; bottom: -1px; height: 90px; z-index: 1; }
.t1-vague path { animation: t1-vague 9s ease-in-out infinite alternate; }
@keyframes t1-vague { from { transform: translateX(0); } to { transform: translateX(-60px); } }
.t1-degrade-anime { background: linear-gradient(120deg, var(--t1-marque-fonce), color-mix(in srgb, var(--t1-second) 80%, #000), var(--t1-marque-fonce)); background-size: 220% 220%; animation: t1-degrade 12s ease infinite; }
@keyframes t1-degrade { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@media (prefers-reduced-motion: reduce) { .t1-forme, .t1-vague path, .t1-degrade-anime, .t1-flotte-doux { animation: none !important; } .t1-apparait { opacity: 1 !important; transform: none !important; } }

/* Héros */
.t1-heros { position: relative; padding: 70px 0 130px; overflow: hidden; }
.t1-heros .t1-conteneur { position: relative; z-index: 2; display: grid; grid-template-columns: 1.05fr .95fr; gap: 50px; align-items: center; }
.t1-heros h1 { font-size: clamp(36px, 5.4vw, 62px); font-weight: 800; margin: 18px 0; }
.t1-heros h1 em { font-style: normal; background: linear-gradient(90deg, var(--t1-marque-texte), color-mix(in srgb, var(--t1-second) 85%, #000)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.t1-heros p.lead { font-size: 18px; color: var(--t1-doux); max-width: 560px; margin: 0 0 30px; }
.t1-heros .boutons { display: flex; gap: 12px; flex-wrap: wrap; }
.t1-preuves { display: flex; align-items: center; gap: 14px; margin-top: 34px; flex-wrap: wrap; }
.t1-pile { display: flex; } .t1-pile > * { margin-left: -12px; border: 3px solid #fff; } .t1-pile > *:first-child { margin-left: 0; }
.t1-preuves small { color: var(--t1-doux); font-size: 14px; } .t1-preuves b { color: var(--t1-encre); }
.t1-visuel { position: relative; }
.t1-visuel .illu { width: 100%; filter: drop-shadow(0 30px 40px rgba(15,23,42,.18)); }
.t1-visuel .photo { width: 100%; aspect-ratio: 4/3.4; object-fit: cover; border-radius: 32px; box-shadow: var(--t1-ombre-forte); }
.t1-carte-flottante { position: absolute; background: #fff; border-radius: 16px; padding: 12px 16px; box-shadow: var(--t1-ombre-forte); display: flex; gap: 12px; align-items: center; font-size: 14px; font-weight: 700; color: var(--t1-encre); }
.t1-carte-flottante small { display: block; font-weight: 500; color: var(--t1-doux); font-size: 12px; }
.t1-carte-flottante .ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--t1-marque-50); color: var(--t1-marque-texte); }
.t1-carte-flottante.h { top: 8%; left: -6%; } .t1-carte-flottante.b { bottom: 6%; right: -4%; }
.t1-flotte-doux { animation: t1-flotte-doux 6s ease-in-out infinite; } .t1-flotte-doux.lent { animation-duration: 8s; animation-delay: -3s; }
@keyframes t1-flotte-doux { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* Avatars */
.t1-av { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; display: inline-grid; place-items: center; color: #fff; font-weight: 800; font-size: 15px; flex: none; }
.t1-av.g { width: 96px; height: 96px; font-size: 30px; }

/* Chiffres */
.t1-chiffres { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: -70px; position: relative; z-index: 3; }
.t1-chiffre { background: #fff; border: 1px solid var(--t1-ligne); border-radius: var(--t1-rayon); padding: 24px; box-shadow: var(--t1-ombre); text-align: center; }
.t1-chiffre b { display: block; font-size: 38px; font-weight: 800; color: var(--t1-encre); line-height: 1.1; }
.t1-chiffre span { color: var(--t1-doux); font-size: 14px; font-weight: 600; }

/* Bannière Qualiopi */
.t1-qualiopi { display: flex; align-items: center; gap: 18px; background: #fff; border: 1px solid var(--t1-ligne); border-radius: var(--t1-rayon); padding: 18px 24px; box-shadow: var(--t1-ombre); flex-wrap: wrap; }
.t1-qualiopi img { height: 54px; width: auto; }
.t1-qualiopi div { flex: 1; min-width: 220px; } .t1-qualiopi b { color: var(--t1-encre); display: block; } .t1-qualiopi small { color: var(--t1-doux); }

/* Atouts */
.t1-atouts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.t1-atout { background: #fff; border: 1px solid var(--t1-ligne); border-radius: var(--t1-rayon); padding: 28px; transition: transform .3s, box-shadow .3s, border-color .3s; }
.t1-atout:hover { transform: translateY(-6px); box-shadow: var(--t1-ombre-forte); border-color: var(--t1-marque-100); }
.t1-atout .ic { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; color: #fff; margin-bottom: 18px; background: linear-gradient(135deg, var(--t1-marque-fonce), color-mix(in srgb, var(--t1-second) 80%, #000)); box-shadow: 0 12px 24px -10px var(--t1-marque); }
.t1-atout .ic svg { width: 26px; height: 26px; }
.t1-atout h3 { font-size: 19px; margin-bottom: 8px; } .t1-atout p { margin: 0; color: var(--t1-doux); font-size: 15px; }

/* Cartes formation */
.t1-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.t1-formation { background: #fff; border: 1px solid var(--t1-ligne); border-radius: var(--t1-rayon); overflow: hidden; display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.t1-formation:hover { transform: translateY(-6px); box-shadow: var(--t1-ombre-forte); }
.t1-formation .image { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--t1-marque-50); }
.t1-formation .image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.t1-formation:hover .image img { transform: scale(1.06); }
.t1-formation .etiquettes { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; flex-wrap: wrap; }
.t1-etiquette { background: rgba(255,255,255,.92); color: var(--t1-encre); font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 999px; backdrop-filter: blur(6px); }
.t1-formation .corps { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.t1-formation h3 { font-size: 19px; }
.t1-formation p { margin: 0; color: var(--t1-doux); font-size: 14.5px; flex: 1; }
.t1-formation .infos { display: flex; gap: 14px; flex-wrap: wrap; font-size: 13.5px; color: var(--t1-texte); font-weight: 600; }
.t1-formation .infos span { display: inline-flex; align-items: center; gap: 6px; } .t1-formation .infos svg { width: 16px; height: 16px; color: var(--t1-marque-texte); }
.t1-formation .pied { display: flex; justify-content: space-between; align-items: center; padding-top: 14px; border-top: 1px solid var(--t1-ligne); }
.t1-prix { font-size: 20px; font-weight: 800; color: var(--t1-encre); } .t1-prix small { font-size: 12px; color: var(--t1-doux); font-weight: 600; }
.t1-lien-fleche { font-weight: 700; color: var(--t1-marque-texte); display: inline-flex; align-items: center; gap: 6px; }

/* Sessions */
.t1-sessions { display: grid; gap: 14px; }
.t1-session { display: grid; grid-template-columns: 84px 1fr auto; gap: 18px; align-items: center; background: #fff; border: 1px solid var(--t1-ligne); border-radius: 18px; padding: 16px 20px; transition: box-shadow .3s, border-color .3s; }
.t1-session:hover { box-shadow: var(--t1-ombre); border-color: var(--t1-marque-100); }
.t1-date { text-align: center; border-radius: 14px; padding: 10px 6px; background: var(--t1-marque-50); color: var(--t1-marque-texte); }
.t1-date b { display: block; font-size: 22px; line-height: 1; color: var(--t1-encre); } .t1-date small { font-size: 12px; font-weight: 700; text-transform: uppercase; }
.t1-session h4 { font-size: 16.5px; } .t1-session .meta { color: var(--t1-doux); font-size: 14px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 4px; }

/* Formateurs */
.t1-formateurs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.t1-formateur { background: #fff; border: 1px solid var(--t1-ligne); border-radius: var(--t1-rayon); padding: 30px 22px; text-align: center; transition: transform .3s, box-shadow .3s; position: relative; overflow: hidden; }
.t1-formateur::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 74px; background: linear-gradient(135deg, var(--t1-marque-50), color-mix(in srgb, var(--t1-second) 12%, #fff)); }
.t1-formateur > * { position: relative; }
.t1-formateur:hover { transform: translateY(-6px); box-shadow: var(--t1-ombre-forte); }
.t1-formateur .t1-av { margin: 0 auto 14px; border: 4px solid #fff; box-shadow: var(--t1-ombre); }
.t1-formateur h3 { font-size: 18px; } .t1-formateur small { color: var(--t1-marque-texte); font-weight: 700; font-size: 13px; }
.t1-formateur p { color: var(--t1-doux); font-size: 14px; margin: 10px 0 0; }

/* À propos */
.t1-deux { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.t1-deux .image { border-radius: 28px; overflow: hidden; box-shadow: var(--t1-ombre-forte); }
.t1-liste-coches { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; }
.t1-liste-coches li { display: flex; gap: 12px; align-items: flex-start; font-weight: 600; color: var(--t1-encre); }
.t1-liste-coches svg { width: 22px; height: 22px; flex: none; color: #16a34a; margin-top: 1px; }

/* Blog */
.t1-article { background: #fff; border: 1px solid var(--t1-ligne); border-radius: var(--t1-rayon); overflow: hidden; transition: transform .3s, box-shadow .3s; display: flex; flex-direction: column; }
.t1-article:hover { transform: translateY(-6px); box-shadow: var(--t1-ombre-forte); }
.t1-article .image { aspect-ratio: 16/9; overflow: hidden; }
.t1-article .image img, .t1-couverture { width: 100%; height: 100%; object-fit: cover; }
.t1-couverture-defaut { width: 100%; height: 100%; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 40px; }
.t1-article .corps { padding: 22px; } .t1-article small { color: var(--t1-doux); font-weight: 600; } .t1-article h3 { font-size: 19px; margin: 8px 0; } .t1-article p { color: var(--t1-doux); margin: 0; font-size: 14.5px; }
.t1-contenu-article { font-size: 17px; line-height: 1.8; color: var(--t1-texte); max-width: 760px; margin: 0 auto; }
.t1-contenu-article img { border-radius: 16px; margin: 20px 0; } .t1-contenu-article h2, .t1-contenu-article h3 { margin: 30px 0 12px; }

/* Bandeau d'appel */
.t1-appel { position: relative; overflow: hidden; border-radius: 32px; padding: 64px; color: #fff; text-align: center; }
.t1-appel h2 { color: #fff; font-size: clamp(28px, 4vw, 40px); font-weight: 800; }
.t1-appel p { color: rgba(255,255,255,.88); font-size: 18px; margin: 14px auto 28px; max-width: 560px; }
.t1-appel > * { position: relative; z-index: 1; }

/* En-tête de page intérieure */
.t1-page-tete { position: relative; overflow: hidden; padding: 70px 0 90px; text-align: center; }
.t1-page-tete .t1-conteneur { position: relative; z-index: 2; }
.t1-page-tete h1 { font-size: clamp(32px, 5vw, 52px); font-weight: 800; margin-top: 14px; }
.t1-page-tete p { color: var(--t1-doux); font-size: 18px; margin: 12px auto 0; max-width: 640px; }
.t1-fil { font-size: 14px; color: var(--t1-doux); } .t1-fil a:hover { color: var(--t1-marque-texte); }

/* Filtres */
.t1-filtres { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 30px; }
.t1-recherche { flex: 1 1 280px; display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--t1-ligne); border-radius: 14px; padding: 0 14px; }
.t1-recherche input { border: none; outline: none; padding: 14px 0; font-size: 15px; flex: 1; font-family: inherit; min-width: 0; background: none; }
.t1-puce { padding: 10px 16px; border-radius: 999px; border: 1px solid var(--t1-ligne); background: #fff; font-weight: 600; font-size: 14px; color: var(--t1-texte); }
.t1-puce.actif, .t1-puce:hover { background: var(--t1-marque-fonce); border-color: var(--t1-marque-fonce); color: #fff !important; }

/* Formulaires */
.t1-carte-form { background: #fff; border: 1px solid var(--t1-ligne); border-radius: 28px; padding: 38px; box-shadow: var(--t1-ombre-forte); }
.t1-champ { margin-bottom: 16px; } .t1-champ label { display: block; font-weight: 700; font-size: 14px; color: var(--t1-encre); margin-bottom: 6px; }
.t1-champ input, .t1-champ textarea, .t1-champ select { width: 100%; border: 1px solid #cbd5e1; border-radius: 12px; padding: 13px 15px; font-size: 15px; font-family: inherit; color: var(--t1-encre); transition: border-color .2s, box-shadow .2s; background: #fff; }
.t1-champ input:focus, .t1-champ textarea:focus { outline: none; border-color: var(--t1-marque); box-shadow: 0 0 0 4px color-mix(in srgb, var(--t1-marque) 18%, transparent); }
.t1-erreur { color: #b91c1c; font-size: 13px; margin-top: 5px; display: block; }
.t1-ok { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; border-radius: 14px; padding: 14px 16px; font-weight: 600; margin-bottom: 18px; }
.t1-deux-champs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.t1-coord { display: grid; gap: 16px; }
.t1-coord a, .t1-coord div { display: flex; gap: 14px; align-items: flex-start; }
.t1-coord .ic { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--t1-marque-50); color: var(--t1-marque-texte); flex: none; }
.t1-coord .ic svg { width: 22px; height: 22px; } .t1-coord b { display: block; color: var(--t1-encre); } .t1-coord span { color: var(--t1-doux); }

/* Authentification */
.t1-auth { min-height: calc(100vh - 78px); display: grid; grid-template-columns: 1fr 1fr; }
.t1-auth .gauche { position: relative; overflow: hidden; padding: 60px; display: flex; flex-direction: column; justify-content: center; color: #fff; }
.t1-auth .gauche h2 { color: #fff; font-size: 36px; font-weight: 800; } .t1-auth .gauche p { color: rgba(255,255,255,.88); font-size: 17px; }
.t1-auth .gauche > * { position: relative; z-index: 1; }
.t1-auth .gauche img { width: min(420px, 100%); margin-top: 30px; filter: drop-shadow(0 20px 30px rgba(0,0,0,.25)); }
.t1-auth .droite { display: grid; place-items: center; padding: 40px 20px; background: var(--t1-fond); }
.t1-auth .t1-carte-form { width: min(460px, 100%); }
.t1-auth h1 { font-size: 30px; font-weight: 800; } .t1-auth .sous { color: var(--t1-doux); margin: 8px 0 26px; }
.t1-mdp { position: relative; } .t1-mdp button { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: none; background: none; cursor: pointer; padding: 6px; color: var(--t1-doux); }

/* Pied de page */
.t1-pied { background: #0b1120; color: #cbd5e1; padding: 70px 0 0; position: relative; overflow: hidden; }
.t1-pied .grille { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; position: relative; z-index: 1; }
.t1-pied h4 { color: #fff; font-size: 16px; margin-bottom: 16px; }
.t1-pied a { color: #cbd5e1; } .t1-pied a:hover { color: #fff; }
.t1-pied ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; font-size: 15px; }
.t1-pied .logo img { max-height: 84px; max-width: 280px; object-fit: contain; background: #fff; padding: 6px 10px; border-radius: 12px; }
.t1-pied .reseaux { display: flex; gap: 10px; margin-top: 18px; }
.t1-pied .reseaux a { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,255,255,.08); }
.t1-pied .reseaux a:hover { background: var(--t1-marque-fonce); }
.t1-pied .reseaux svg { width: 19px; height: 19px; }
.t1-pied .bas { border-top: 1px solid rgba(255,255,255,.1); margin-top: 50px; padding: 22px 0; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; font-size: 14px; color: #94a3b8; position: relative; z-index: 1; }
.t1-pied .qualiopi { display: flex; gap: 12px; align-items: center; background: rgba(255,255,255,.06); border-radius: 14px; padding: 12px 14px; margin-top: 18px; }
.t1-pied .qualiopi img { height: 40px; background: #fff; border-radius: 8px; padding: 4px; }
.t1-pied .t1-forme { opacity: .18; }

/* Apparition au défilement */
.t1-apparait { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.t1-apparait.vu { opacity: 1; transform: none; }
.t1-apparait[data-delai="1"] { transition-delay: .08s; } .t1-apparait[data-delai="2"] { transition-delay: .16s; } .t1-apparait[data-delai="3"] { transition-delay: .24s; }
.t1-vide { text-align: center; padding: 50px 20px; color: var(--t1-doux); border: 2px dashed var(--t1-ligne); border-radius: var(--t1-rayon); }

/* Téléphone et tablette */
@media (max-width: 1024px) {
    .t1-heros .t1-conteneur, .t1-deux { grid-template-columns: 1fr; }
    .t1-grille, .t1-atouts, .t1-formateurs { grid-template-columns: repeat(2, 1fr); }
    .t1-chiffres { grid-template-columns: repeat(2, 1fr); }
    .t1-pied .grille { grid-template-columns: 1fr 1fr; }
    .t1-auth { grid-template-columns: 1fr; } .t1-auth .gauche { padding: 40px 24px; } .t1-auth .gauche img { display: none; }
    .t1-carte-flottante.h { left: 0; } .t1-carte-flottante.b { right: 0; }
}
@media (max-width: 640px) {
    .t1-section { padding: 64px 0; }
    .t1-heros { padding: 40px 0 110px; }
    .t1-grille, .t1-atouts, .t1-formateurs, .t1-pied .grille, .t1-deux-champs { grid-template-columns: 1fr; }
    .t1-chiffre b { font-size: 30px; }
    .t1-session { grid-template-columns: 70px 1fr; } .t1-session .t1-btn { grid-column: 1 / -1; justify-content: center; }
    .t1-appel { padding: 40px 22px; border-radius: 24px; }
    .t1-carte-form { padding: 26px 20px; }
    .t1-carte-flottante { display: none; }
}

/* ═════════════════════════════════════════════════════════════════════════════
 * VERSION MODERNE (v2, 11/10/2026) — inspirée des sites de formation récents :
 * grandes photos, collage, cartes « verre », bento, bandeau défilant, section sombre.
 * Photos : /photos (Unsplash, licence libre) ; jamais présentées comme de vraies personnes du client.
 * ═════════════════════════════════════════════════════════════════════════════ */
:root { --t1-encre: #0b1020; --t1-creme: #f7f6f2; --t1-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif; }
body.t1 { background: var(--t1-creme); }
.t1 h1, .t1 h2 { letter-spacing: -.035em; }
.t1-serif { font-family: var(--t1-serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; }
.t1-section.gris { background: #fff; }
.t1-titre-section { font-size: clamp(32px, 4.6vw, 54px); line-height: 1.05; }
.t1-titre-section .t1-serif { color: var(--t1-marque-texte); }
.t1-sur-titre { background: #fff; border-color: var(--t1-ligne); color: var(--t1-encre); letter-spacing: .06em; font-size: 12px; box-shadow: 0 1px 2px rgba(11,16,32,.06); }
.t1-sur-titre::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--t1-marque); box-shadow: 0 0 0 4px var(--t1-marque-100); }

/* Boutons en pilule */
.t1-btn { border-radius: 999px; padding: 14px 26px; }
.t1-btn.plein { background: var(--t1-encre); box-shadow: 0 14px 30px -14px rgba(11,16,32,.6); }
.t1-btn.plein:hover { background: var(--t1-marque-fonce); }
.t1-btn.marque { background: var(--t1-marque-fonce); color: #fff !important; }
.t1-btn.contour { background: rgba(255,255,255,.7); backdrop-filter: blur(8px); }
.t1-btn .rond { width: 30px; height: 30px; border-radius: 50%; background: #fff; color: var(--t1-encre); display: grid; place-items: center; margin-right: -14px; transition: transform .3s; }
.t1-btn:hover .rond { transform: rotate(-45deg); }
.t1-btn .rond svg { width: 16px; height: 16px; }

/* En-tête flottant en pilule */
.t1-entete { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border: none; padding-top: 14px; }
.t1-entete .t1-conteneur { height: 82px; background: rgba(255,255,255,.78); backdrop-filter: saturate(170%) blur(16px); -webkit-backdrop-filter: saturate(170%) blur(16px); border: 1px solid rgba(255,255,255,.9); border-radius: 999px; padding: 0 10px 0 22px; box-shadow: 0 10px 30px -18px rgba(11,16,32,.35); transition: box-shadow .3s; }
.t1-entete.defile { box-shadow: none; } .t1-entete.defile .t1-conteneur { box-shadow: 0 16px 40px -18px rgba(11,16,32,.45); }
.t1-logo img { max-height: 58px; }
.t1-nav { margin: 0 auto; }
.t1-nav > a, .t1-nav .t1-deroulant > button { border-radius: 999px; font-size: 14.5px; }
.t1-nav > a.actif { background: var(--t1-encre); color: #fff !important; }
.t1-actions .t1-btn { padding: 10px 18px; }
@media (max-width: 1024px) {
    .t1-entete .t1-conteneur { border-radius: 22px; padding: 0 8px 0 16px; }
    .t1-burger { border-radius: 50%; }
    .t1-entete.ouvert .t1-nav { top: 76px; left: 20px; right: 20px; border-radius: 22px 22px 0 0; border: 1px solid var(--t1-ligne); border-bottom: none; }
    .t1-entete.ouvert .t1-actions { top: calc(76px + var(--t1-nav-h, 330px)); left: 20px; right: 20px; border-radius: 0 0 22px 22px; border: 1px solid var(--t1-ligne); border-top: none; box-shadow: 0 30px 40px -20px rgba(11,16,32,.3); }
}

/* Fond « maille » animé + grain */
.t1-maille { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.t1-maille i { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; animation: t1-flotte 20s ease-in-out infinite; }
.t1-maille i:nth-child(1) { width: 560px; height: 560px; background: color-mix(in srgb, var(--t1-marque) 55%, #fff); top: -220px; right: -120px; }
.t1-maille i:nth-child(2) { width: 420px; height: 420px; background: #fde68a; bottom: -160px; left: -140px; opacity: .45; animation-delay: -7s; animation-duration: 24s; }
.t1-maille i:nth-child(3) { width: 320px; height: 320px; background: color-mix(in srgb, var(--t1-second) 50%, #fff); top: 35%; left: 38%; opacity: .35; animation-delay: -12s; }
.t1-maille::after { content: ''; position: absolute; inset: 0; opacity: .35; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ── Héros v2 ── */
.t2-heros { position: relative; margin-top: -82px; padding: 150px 0 90px; overflow: hidden; }
.t2-heros .t1-conteneur { position: relative; z-index: 2; display: grid; grid-template-columns: 1.08fr .92fr; gap: 56px; align-items: center; }
.t2-pastille { display: inline-flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--t1-ligne); border-radius: 999px; padding: 6px 14px 6px 6px; font-size: 13.5px; font-weight: 600; color: var(--t1-encre); box-shadow: 0 6px 18px -10px rgba(11,16,32,.3); }
.t2-pastille b { background: var(--t1-encre); color: #fff; border-radius: 999px; padding: 4px 10px; font-size: 12px; display: inline-flex; align-items: center; gap: 6px; }
.t2-direct { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; position: relative; display: inline-block; }
.t2-direct::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid #22c55e; animation: t2-pouls 1.8s ease-out infinite; }
@keyframes t2-pouls { from { transform: scale(.6); opacity: 1; } to { transform: scale(1.8); opacity: 0; } }
.t2-heros h1 { font-size: clamp(42px, 6.4vw, 84px); font-weight: 800; line-height: .98; margin: 22px 0 22px; }
.t2-heros h1 .t1-serif { color: var(--t1-marque-texte); position: relative; white-space: nowrap; font-size: 1.08em; }
.t2-heros h1 .t1-serif svg { position: absolute; left: 0; right: 0; bottom: -.12em; width: 100%; height: .3em; overflow: visible; }
.t2-heros h1 .t1-serif path { stroke: color-mix(in srgb, var(--t1-marque) 60%, #fde047); stroke-width: 6; fill: none; stroke-linecap: round; stroke-dasharray: 400; stroke-dashoffset: 400; animation: t2-trace 1.4s .6s cubic-bezier(.6,.1,.2,1) forwards; }
@keyframes t2-trace { to { stroke-dashoffset: 0; } }
.t2-heros p.lead { font-size: 18.5px; color: #475569; max-width: 540px; margin: 0 0 32px; }
.t2-heros .boutons { display: flex; gap: 12px; flex-wrap: wrap; }
.t2-confiance { display: flex; align-items: center; gap: 22px; margin-top: 40px; flex-wrap: wrap; }
.t2-confiance .bloc { display: flex; align-items: center; gap: 12px; }
.t2-confiance .sep { width: 1px; height: 38px; background: var(--t1-ligne); }
.t2-confiance small { display: block; color: var(--t1-doux); font-size: 13px; line-height: 1.3; } .t2-confiance b { color: var(--t1-encre); font-size: 15px; }
.t2-etoiles { color: #f59e0b; letter-spacing: 2px; font-size: 14px; }
.t2-confiance img.q { height: 40px; width: auto; background: #fff; border-radius: 10px; padding: 4px 8px; border: 1px solid var(--t1-ligne); }

/* Collage de photos */
.t2-collage { position: relative; height: 600px; }
.t2-collage .ph { position: absolute; overflow: hidden; box-shadow: 0 40px 70px -30px rgba(11,16,32,.45); background: #e2e8f0; }
.t2-collage .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.t2-collage .ph:hover img { transform: scale(1.06); }
.t2-collage .p1 { right: 0; top: 0; width: 76%; height: 84%; border-radius: 260px 260px 36px 36px; }
.t2-collage .p2 { left: 0; bottom: 0; width: 42%; aspect-ratio: 1; border-radius: 50%; border: 8px solid var(--t1-creme); }
.t2-collage .p3 { left: 4%; top: 6%; width: 30%; height: 30%; border-radius: 28px; border: 6px solid var(--t1-creme); }
.t2-verre { position: absolute; z-index: 3; background: rgba(255,255,255,.78); backdrop-filter: blur(14px) saturate(160%); -webkit-backdrop-filter: blur(14px) saturate(160%); border: 1px solid rgba(255,255,255,.9); border-radius: 20px; padding: 14px 16px; box-shadow: 0 24px 50px -24px rgba(11,16,32,.45); font-size: 13.5px; color: var(--t1-encre); }
.t2-verre small { display: block; color: var(--t1-doux); font-size: 12px; font-weight: 500; }
.t2-verre b { font-size: 14px; display: block; }
.t2-verre.session { right: -14px; bottom: 26%; width: 250px; }
.t2-verre.session .haut { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.t2-verre.session .t1-pile .t1-av { width: 32px; height: 32px; font-size: 12px; border-width: 2px; }
.t2-verre.attestation { left: 30%; top: -10px; display: flex; gap: 12px; align-items: center; }
.t2-verre .ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--t1-encre); color: #fff; flex: none; }
.t2-verre .ic svg { width: 20px; height: 20px; }
.t2-barre { height: 6px; border-radius: 99px; background: #e2e8f0; overflow: hidden; margin-top: 8px; width: 140px; }
.t2-barre i { display: block; height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg, var(--t1-marque), #22c55e); animation: t2-remplit 2.4s 1s cubic-bezier(.6,.1,.2,1) forwards; }
@keyframes t2-remplit { to { width: 100%; } }
.t2-tampon { position: absolute; z-index: 3; left: 34%; bottom: 4%; width: 118px; height: 118px; border-radius: 50%; background: var(--t1-encre); color: #fff; display: grid; place-items: center; box-shadow: 0 20px 40px -18px rgba(11,16,32,.6); }
.t2-tampon svg.cercle { position: absolute; inset: 0; width: 100%; height: 100%; animation: t2-tourne 18s linear infinite; }
.t2-tampon svg.cercle text { fill: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: 2.6px; text-transform: uppercase; }
.t2-tampon .centre { width: 44px; height: 44px; border-radius: 50%; background: var(--t1-marque-fonce); display: grid; place-items: center; }
.t2-tampon .centre svg { width: 22px; height: 22px; }
@keyframes t2-tourne { to { transform: rotate(360deg); } }

/* Bandeau défilant */
.t2-defile { background: var(--t1-encre); color: #fff; padding: 22px 0; overflow: hidden; transform: rotate(-1.4deg); margin: 10px -20px 0; position: relative; z-index: 3; }
.t2-defile .piste { display: flex; width: max-content; animation: t2-defile 38s linear infinite; }
.t2-defile span { display: inline-flex; align-items: center; gap: 22px; padding-right: 22px; font-size: clamp(20px, 2.6vw, 30px); font-weight: 700; white-space: nowrap; letter-spacing: -.02em; }
.t2-defile span .t1-serif { font-weight: 400; color: color-mix(in srgb, var(--t1-marque) 45%, #fff); }
.t2-defile em { font-style: normal; color: #fde047; font-size: .8em; }
@keyframes t2-defile { to { transform: translateX(-50%); } }

/* Chiffres en ligne */
.t2-chiffres { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--t1-ligne); border-bottom: 1px solid var(--t1-ligne); }
.t2-chiffres > div { padding: 34px 26px; border-left: 1px solid var(--t1-ligne); }
.t2-chiffres > div:first-child { border-left: none; padding-left: 0; }
.t2-chiffres b { display: block; font-size: clamp(40px, 5vw, 64px); font-weight: 800; color: var(--t1-encre); line-height: 1; letter-spacing: -.04em; }
.t2-chiffres span { color: var(--t1-doux); font-size: 15px; font-weight: 600; }

/* Qualiopi v2 */
.t2-qualiopi { display: flex; align-items: center; gap: 22px; background: #fff; border: 1px solid var(--t1-ligne); border-radius: 26px; padding: 20px 26px; margin-top: 30px; flex-wrap: wrap; }
.t2-qualiopi img { height: 58px; width: auto; }
.t2-qualiopi div { flex: 1; min-width: 220px; } .t2-qualiopi b { display: block; color: var(--t1-encre); font-size: 17px; } .t2-qualiopi small { color: var(--t1-doux); }

/* Bento */
.t2-bento { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 250px; gap: 18px; }
.t2-tuile { border-radius: 30px; padding: 28px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; background: #fff; border: 1px solid var(--t1-ligne); transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.t2-tuile:hover { transform: translateY(-6px); }
.t2-tuile h3 { font-size: 22px; margin-bottom: 8px; } .t2-tuile p { margin: 0; color: var(--t1-doux); font-size: 15px; }
.t2-tuile .ic { position: absolute; top: 26px; left: 28px; width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; background: var(--t1-creme); color: var(--t1-encre); }
.t2-tuile .ic svg { width: 26px; height: 26px; }
.t2-tuile .num { position: absolute; top: 22px; right: 26px; font-family: var(--t1-serif); font-style: italic; font-size: 46px; color: var(--t1-ligne); line-height: 1; }
.t2-tuile.grande { grid-column: span 2; grid-row: span 2; border: none; padding: 34px; }
.t2-tuile.photo { border: none; color: #fff; }
.t2-tuile.photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.t2-tuile.photo:hover > img { transform: scale(1.05); }
.t2-tuile.photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,16,32,0) 35%, rgba(11,16,32,.82)); }
.t2-tuile.photo > *:not(img) { position: relative; z-index: 1; }
.t2-tuile.photo h3 { color: #fff; font-size: clamp(24px, 2.6vw, 34px); } .t2-tuile.photo p { color: rgba(255,255,255,.85); }
.t2-tuile.marque { background: var(--t1-marque-fonce); border: none; } .t2-tuile.marque h3 { color: #fff; } .t2-tuile.marque p { color: rgba(255,255,255,.85); }
.t2-tuile.marque .ic { background: rgba(255,255,255,.16); color: #fff; } .t2-tuile.marque .num { color: rgba(255,255,255,.25); }
.t2-tuile.sombre { background: var(--t1-encre); border: none; } .t2-tuile.sombre h3 { color: #fff; } .t2-tuile.sombre p { color: #94a3b8; }
.t2-tuile.sombre .ic { background: rgba(255,255,255,.08); color: #fde047; } .t2-tuile.sombre .num { color: rgba(255,255,255,.12); }
.t2-tuile.jaune { background: #fef9c3; border-color: #fde68a; }
.t2-etiquette-verre { position: absolute; top: 22px; left: 22px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.2); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.35); color: #fff; border-radius: 999px; padding: 7px 14px; font-size: 13px; font-weight: 700; }

/* Cartes formation v2 */
.t1-formation { border-radius: 28px; padding: 10px; border-color: transparent; box-shadow: 0 1px 2px rgba(11,16,32,.05); }
.t1-formation .image { border-radius: 20px; aspect-ratio: 4/3; }
.t1-formation .image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(11,16,32,.45)); }
.t1-formation .corps { padding: 16px 12px 10px; }
.t1-formation h3 { font-size: 20px; letter-spacing: -.02em; }
.t1-formation .pied { border-top: none; padding-top: 6px; }
.t1-formation .prix-image { position: absolute; z-index: 1; right: 12px; bottom: 12px; background: #fff; color: var(--t1-encre); border-radius: 999px; padding: 6px 14px; font-weight: 800; font-size: 15px; }
.t1-formation .prix-image small { font-size: 11px; color: var(--t1-doux); font-weight: 600; }
.t1-formation .fleche-ronde { width: 44px; height: 44px; border-radius: 50%; background: var(--t1-encre); color: #fff; display: grid; place-items: center; transition: transform .3s, background .3s; flex: none; }
.t1-formation:hover .fleche-ronde { transform: rotate(-45deg); background: var(--t1-marque-fonce); }
.t1-formation .fleche-ronde svg { width: 18px; height: 18px; }
.t1-formation .t1-pile .t1-av { width: 34px; height: 34px; font-size: 12px; border-width: 2px; }

/* Comment ça marche (section sombre) */
.t2-sombre { background: var(--t1-encre); color: #cbd5e1; border-radius: 44px; margin: 0 14px; padding: 100px 0; position: relative; overflow: hidden; }
.t2-sombre > img.fond { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .12; filter: grayscale(1); }
.t2-sombre .t1-conteneur { position: relative; z-index: 1; }
.t2-sombre .t1-titre-section { color: #fff; } .t2-sombre .t1-titre-section .t1-serif { color: #fde047; }
.t2-sombre .t1-sur-titre { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.15); color: #fff; }
.t2-sombre .t1-intro { color: #94a3b8; }
.t2-etapes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 50px; counter-reset: etape; position: relative; }
.t2-etape { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 26px; padding: 26px; transition: background .3s, transform .4s; }
.t2-etape:hover { background: rgba(255,255,255,.09); transform: translateY(-6px); }
.t2-etape .n { font-family: var(--t1-serif); font-style: italic; font-size: 60px; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.5); }
.t2-etape h3 { color: #fff; font-size: 19px; margin: 18px 0 8px; } .t2-etape p { margin: 0; font-size: 14.5px; color: #94a3b8; }
.t2-etape .ic { float: right; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--t1-marque-fonce); color: #fff; }
.t2-etape .ic svg { width: 22px; height: 22px; }

/* Sessions v2 */
.t1-session { border-radius: 24px; border-color: transparent; padding: 14px 14px 14px 14px; }
.t1-date { background: var(--t1-encre); color: #fff; border-radius: 18px; } .t1-date b { color: #fff; } .t1-date small { color: #fde047; }

/* Formateurs v2 */
.t1-formateur { border-radius: 28px; border-color: transparent; }
.t1-formateur::before { height: 100%; opacity: .0; }
.t1-formateur .t1-av { box-shadow: 0 0 0 4px #fff, 0 0 0 7px var(--t1-marque-100); }

/* À propos v2 : deux photos */
.t2-duo { position: relative; height: 560px; }
.t2-duo .ph { position: absolute; overflow: hidden; border-radius: 32px; box-shadow: 0 40px 70px -30px rgba(11,16,32,.4); }
.t2-duo .ph img { width: 100%; height: 100%; object-fit: cover; }
.t2-duo .a { left: 0; top: 0; width: 72%; height: 78%; }
.t2-duo .b { right: 0; bottom: 0; width: 52%; height: 52%; border: 8px solid var(--t1-creme); }
.t2-duo .t2-verre { left: 6%; bottom: 8%; display: flex; gap: 12px; align-items: center; }
.t2-duo .t2-verre .grand { font-size: 34px; font-weight: 800; color: var(--t1-encre); letter-spacing: -.04em; line-height: 1; }

/* Appel final sur photo */
.t2-appel { position: relative; overflow: hidden; border-radius: 40px; padding: 90px 60px; color: #fff; text-align: center; isolation: isolate; }
.t2-appel > img.fond { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transform: scale(1.05); animation: t2-zoom 22s ease-in-out infinite alternate; }
.t2-appel::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(120deg, color-mix(in srgb, var(--t1-marque) 80%, #000) 0%, rgba(11,16,32,.75) 70%); opacity: .92; }
.t2-appel h2 { color: #fff; font-size: clamp(34px, 5vw, 64px); font-weight: 800; line-height: 1.02; max-width: 820px; margin: 0 auto; }
.t2-appel h2 .t1-serif { color: #fde047; }
.t2-appel p { color: rgba(255,255,255,.88); font-size: 18px; margin: 18px auto 32px; max-width: 560px; }
.t2-appel .t1-btn.blanc { color: var(--t1-encre) !important; }
@keyframes t2-zoom { to { transform: scale(1.15); } }

/* Pied : grand nom en filigrane */
.t1-pied { border-radius: 44px 44px 0 0; margin-top: 40px; }
.t2-filigrane { font-size: clamp(60px, 13vw, 190px); font-weight: 800; letter-spacing: -.05em; line-height: .85; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.12); white-space: nowrap; overflow: hidden; text-overflow: clip; margin-top: 40px; position: relative; z-index: 1; user-select: none; }

/* En-tête de page intérieure v2 */
.t1-page-tete { margin-top: -82px; padding: 150px 0 70px; }
.t1-page-tete h1 { font-size: clamp(38px, 6vw, 76px); line-height: 1; }
.t1-page-tete h1 .t1-serif { color: var(--t1-marque-texte); }
.t1-page-tete .vignettes { display: flex; justify-content: center; margin-top: 26px; }
.t1-page-tete .vignettes img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 4px solid var(--t1-creme); margin-left: -14px; box-shadow: 0 10px 20px -10px rgba(11,16,32,.4); }
.t1-page-tete .vignettes img:first-child { margin-left: 0; }

/* Connexion / inscription : photo */
.t1-auth { margin-top: -82px; min-height: 100vh; }
.t1-auth .gauche { padding-top: 130px; isolation: isolate; }
.t1-auth .gauche > img.fond { display: block !important; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; z-index: -2; filter: none; }
.t1-auth .gauche::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(160deg, rgba(11,16,32,.35), color-mix(in srgb, var(--t1-marque) 75%, #000) 85%); }
.t1-auth .gauche h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1.02; }
.t1-auth .gauche h2 .t1-serif { color: #fde047; }
.t1-auth .droite { padding-top: 110px; background: var(--t1-creme); }
.t1-auth .t1-carte-form { border-radius: 32px; border-color: transparent; }

@media (prefers-reduced-motion: reduce) { .t2-defile .piste, .t2-tampon svg.cercle, .t2-appel > img.fond, .t1-maille i, .t2-direct::after { animation: none !important; } .t2-heros h1 .t1-serif path { stroke-dashoffset: 0; animation: none; } .t2-barre i { width: 100%; animation: none; } }
@media (max-width: 1024px) {
    .t2-heros .t1-conteneur { grid-template-columns: 1fr; }
    .t2-collage { height: 520px; max-width: 620px; width: 100%; margin: 0 auto; }
    .t2-bento { grid-template-columns: repeat(2, 1fr); }
    .t2-etapes { grid-template-columns: repeat(2, 1fr); }
    .t2-chiffres { grid-template-columns: repeat(2, 1fr); } .t2-chiffres > div:nth-child(3) { border-left: none; padding-left: 0; } .t2-chiffres > div:nth-child(n+3) { border-top: 1px solid var(--t1-ligne); }
    .t2-duo { height: 480px; }
    .t1-auth .gauche { min-height: 360px; }
}
@media (max-width: 640px) {
    .t1-entete { padding-top: 10px; }
    .t2-heros { padding: 120px 0 60px; }
    .t2-heros h1 .t1-serif { white-space: normal; }
    .t2-collage { height: 400px; }
    .t2-collage .p3 { display: none; }
    .t2-verre.session { right: 0; width: 220px; bottom: 30%; }
    .t2-verre.attestation { left: 0; top: 0; }
    .t2-tampon { width: 96px; height: 96px; left: auto; right: 4%; bottom: 0; }
    .t2-confiance .sep { display: none; }
    .t2-bento { grid-template-columns: 1fr; grid-auto-rows: minmax(220px, auto); }
    .t2-tuile.grande { grid-column: auto; grid-row: span 1; min-height: 380px; }
    .t2-etapes { grid-template-columns: 1fr; }
    .t2-sombre { margin: 0 8px; border-radius: 30px; padding: 70px 0; }
    .t2-duo { height: 400px; }
    .t2-appel { padding: 60px 22px; border-radius: 30px; }
    .t1-page-tete { padding: 120px 0 50px; }
    .t1-pied { border-radius: 30px 30px 0 0; }
}
/* Correctifs v2 */
.t2-etiquette-verre svg { width: 16px; height: 16px; flex: none; }
.t2-tuile.grande .t2-etiquette-verre { top: 26px; left: 26px; }
.t2-defile-cadre { overflow: hidden; padding: 14px 0; }
.t2-defile { margin: 0 -20px; }
html { overflow-x: clip; }
.t2-tuile.photo > .t2-etiquette-verre { position: absolute; align-self: flex-start; }
.t2-heros h1 { font-size: clamp(40px, 5.6vw, 74px); }
.t2-tampon svg.cercle text { font-size: 9.5px; letter-spacing: 1.8px; }
.t2-chiffres { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
/* Filet : toute icône sans taille explicite reste à la taille du texte (priorité nulle via :where). */
:where(.t1) svg { width: 1.25em; height: 1.25em; flex: none; }
.t1-recherche svg { width: 20px; height: 20px; color: var(--t1-doux); }

/* ═══ v3 (11/10/2026) : nouvelles sections et pages intérieures ═══ */
/* En-tête de page avec photo */
.t1-page-tete.photo { text-align: left; padding-bottom: 60px; }
.t1-page-tete.photo .t1-conteneur { display: grid; grid-template-columns: 1.1fr .9fr; gap: 50px; align-items: center; }
.t1-page-tete.photo p { margin-left: 0; }
.t1-page-tete .visuel { position: relative; height: 380px; border-radius: 200px 200px 32px 32px; overflow: hidden; box-shadow: 0 40px 70px -30px rgba(11,16,32,.45); }
.t1-page-tete .visuel img { width: 100%; height: 100%; object-fit: cover; }
.t1-page-tete .visuel .t2-direct { position: absolute; top: 22px; right: 26px; }
.t1-page-tete .puces { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.t1-page-tete:not(.photo) .puces { justify-content: center; }
.t1-page-tete .puces span { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--t1-ligne); border-radius: 999px; padding: 8px 14px; font-size: 14px; font-weight: 600; color: var(--t1-encre); }
.t1-page-tete .puces svg { width: 17px; height: 17px; color: var(--t1-marque-texte); }
.t1-page-tete .vignettes-av { display: flex; align-items: center; gap: 10px; margin-top: 24px; }
.t1-page-tete .vignettes-av .t1-av { width: 52px; height: 52px; font-size: 17px; }
.t1-page-tete .vignettes-av small { font-weight: 700; color: var(--t1-doux); }

/* Financements */
.t2-financements { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.t2-fin { background: #fff; border-radius: 26px; padding: 24px 20px; position: relative; overflow: hidden; border: 1px solid transparent; transition: transform .4s, border-color .3s; }
.t2-fin:hover { transform: translateY(-6px); border-color: var(--t1-marque-100); }
.t2-fin .ic { width: 46px; height: 46px; border-radius: 15px; display: grid; place-items: center; background: var(--t1-creme); color: var(--t1-encre); }
.t2-fin .ic svg { width: 22px; height: 22px; }
.t2-fin .sigle { display: block; font-size: 28px; font-weight: 800; letter-spacing: -.04em; color: var(--t1-encre); margin: 18px 0 2px; }
.t2-fin h3 { font-size: 14px; color: var(--t1-marque-texte); margin-bottom: 8px; } .t2-fin p { margin: 0; font-size: 14px; color: var(--t1-doux); }
.t2-fin:nth-child(1) { background: var(--t1-encre); } .t2-fin:nth-child(1) .sigle { color: #fff; } .t2-fin:nth-child(1) h3 { color: #fde047; } .t2-fin:nth-child(1) p { color: #94a3b8; } .t2-fin:nth-child(1) .ic { background: rgba(255,255,255,.08); color: #fde047; }

/* Galerie */
.t2-galerie { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; gap: 14px; }
.t2-galerie figure { margin: 0; border-radius: 24px; overflow: hidden; position: relative; }
.t2-galerie figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1), filter .6s; filter: saturate(.9); }
.t2-galerie figure:hover img { transform: scale(1.08); filter: saturate(1.1); }
.t2-galerie .g1 { grid-column: span 2; grid-row: span 2; } .t2-galerie .g4 { grid-row: span 2; } .t2-galerie .g6 { grid-column: span 2; }

/* Avis */
.t2-avis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.t2-avi { margin: 0; background: #fff; border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.t2-avi blockquote { margin: 0; font-size: 16.5px; line-height: 1.6; color: var(--t1-encre); flex: 1; }
.t2-avi .t2-etoiles i { font-style: normal; color: #e2e8f0; }
.t2-avi figcaption { display: flex; gap: 12px; align-items: center; } .t2-avi figcaption b { display: block; color: var(--t1-encre); } .t2-avi figcaption small { color: var(--t1-doux); font-size: 13px; }
.t2-avi.mis-en-avant { background: var(--t1-marque-fonce); } .t2-avi.mis-en-avant blockquote, .t2-avi.mis-en-avant figcaption b { color: #fff; } .t2-avi.mis-en-avant figcaption small { color: rgba(255,255,255,.75); }
.t2-avi.mis-en-avant blockquote { font-family: var(--t1-serif); font-style: italic; font-size: 22px; line-height: 1.35; }
.t2-note-globale { text-align: right; } .t2-note-globale b { font-size: 46px; font-weight: 800; color: var(--t1-encre); letter-spacing: -.04em; display: block; line-height: 1; } .t2-note-globale small { display: block; color: var(--t1-doux); }

/* FAQ */
.t2-faq-grille { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: start; }
.t2-faq details { background: #fff; border-radius: 22px; margin-bottom: 12px; border: 1px solid transparent; transition: border-color .3s; }
.t2-faq details[open] { border-color: var(--t1-marque-100); box-shadow: 0 20px 40px -26px rgba(11,16,32,.3); }
.t2-faq summary { list-style: none; cursor: pointer; padding: 20px 22px; font-weight: 700; color: var(--t1-encre); display: flex; justify-content: space-between; gap: 16px; align-items: center; font-size: 16.5px; }
.t2-faq summary::-webkit-details-marker { display: none; }
.t2-faq .plus { width: 32px; height: 32px; border-radius: 50%; background: var(--t1-creme); flex: none; position: relative; transition: transform .3s, background .3s; }
.t2-faq .plus::before, .t2-faq .plus::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: var(--t1-encre); transform: translate(-50%, -50%); }
.t2-faq .plus::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s; }
.t2-faq details[open] .plus { background: var(--t1-encre); } .t2-faq details[open] .plus::before { background: #fff; } .t2-faq details[open] .plus::after { transform: translate(-50%, -50%) rotate(0); background: #fff; }
.t2-faq details p { margin: 0; padding: 0 22px 22px; color: var(--t1-doux); }

/* Accessibilité */
.t2-access { display: flex; gap: 22px; align-items: center; background: #fff; border-radius: 30px; padding: 26px 30px; flex-wrap: wrap; border: 1px dashed var(--t1-marque-100); }
.t2-access .ic { width: 64px; height: 64px; border-radius: 20px; background: var(--t1-marque-50); display: grid; place-items: center; font-size: 30px; flex: none; }
.t2-access > div:nth-child(2) { flex: 1; min-width: 240px; } .t2-access h3 { font-size: 20px; margin-bottom: 6px; } .t2-access p { margin: 0; color: var(--t1-doux); }
.t2-access .act { display: flex; gap: 10px; flex-wrap: wrap; }

/* Blog : article à la une, lecture, partage */
.t2-une { display: grid; grid-template-columns: 1.1fr 1fr; background: #fff; border-radius: 32px; overflow: hidden; transition: transform .4s; }
.t2-une:hover { transform: translateY(-4px); }
.t2-une .image { min-height: 360px; overflow: hidden; } .t2-une .image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s; } .t2-une:hover .image img { transform: scale(1.05); }
.t2-une .corps { padding: 40px; display: flex; flex-direction: column; gap: 14px; justify-content: center; }
.t2-une .corps .t1-sur-titre { align-self: flex-start; } .t2-une small { color: var(--t1-doux); font-weight: 600; }
.t2-une h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.08; } .t2-une p { margin: 0; color: var(--t1-doux); }
.t2-lecture { position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 200; } .t2-lecture i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--t1-marque), #fde047); }
.t2-article-image { max-width: 980px; margin: 0 auto 40px; border-radius: 32px; overflow: hidden; aspect-ratio: 21/9; box-shadow: 0 40px 70px -30px rgba(11,16,32,.4); }
.t2-article-image img { width: 100%; height: 100%; object-fit: cover; }
.t2-partage { max-width: 760px; margin: 40px auto 0; display: flex; gap: 10px; align-items: center; padding-top: 24px; border-top: 1px solid var(--t1-ligne); }
.t2-partage span { font-weight: 700; color: var(--t1-encre); margin-right: 6px; }
.t2-partage a { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 1px solid var(--t1-ligne); color: var(--t1-encre); transition: background .3s, color .3s; }
.t2-partage a:hover { background: var(--t1-encre); color: #fff; } .t2-partage svg { width: 18px; height: 18px; }

/* Contact */
.t2-contact-carte { margin-top: 30px; background: var(--t1-encre); color: #cbd5e1; border-radius: 26px; padding: 24px; display: flex; gap: 16px; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.t2-contact-carte b { color: #fff; display: block; font-size: 17px; } .t2-contact-carte small { color: #94a3b8; }
.t2-contact-carte .reseaux { display: flex; gap: 8px; } .t2-contact-carte .reseaux a { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,255,255,.08); color: #fff; }
.t2-contact-carte .reseaux svg { width: 18px; height: 18px; }
.t1-coord a, .t1-coord > div { background: #fff; border-radius: 20px; padding: 14px; }

/* Équipe */
.t2-equipe { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 20px; }
.t2-membre { background: #fff; border-radius: 30px; padding: 26px; position: relative; overflow: hidden; transition: transform .4s; }
.t2-membre:hover { transform: translateY(-6px); }
.t2-membre::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 96px; background: linear-gradient(120deg, var(--t1-marque-100), #fef9c3); }
.t2-membre > * { position: relative; }
.t2-membre .haut { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 16px; }
.t2-membre .t1-av.g { width: 104px; height: 104px; font-size: 32px; border: 5px solid #fff; box-shadow: 0 16px 30px -16px rgba(11,16,32,.5); }
.t2-pastille-mini { display: inline-flex; align-items: center; gap: 8px; background: #fff; border-radius: 999px; padding: 6px 12px; font-size: 12.5px; font-weight: 700; color: var(--t1-encre); margin-top: 6px; }
.t2-membre h3 { font-size: 21px; } .t2-membre .role { color: var(--t1-marque-texte); font-weight: 700; font-size: 13.5px; }
.t2-membre p { color: var(--t1-doux); font-size: 14.5px; margin: 12px 0 0; }
.t2-membre .etiq { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 14px; } .t2-membre .etiq span { background: var(--t1-creme); border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700; color: var(--t1-encre); }
.t2-membre .anime { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--t1-ligne); display: grid; gap: 4px; }
.t2-membre .anime small { color: var(--t1-doux); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; } .t2-membre .anime b { font-size: 14px; color: var(--t1-encre); }
.t2-bento.trois { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 240px; }

/* Fiche formation : mini-parcours */
.t2-mini-parcours { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.t2-mini-parcours > div { background: #fff; border-radius: 20px; padding: 16px; position: relative; }
.t2-mini-parcours > div:not(:last-child)::after { content: '→'; position: absolute; right: -9px; top: 50%; transform: translateY(-50%); color: var(--t1-doux); font-weight: 700; z-index: 1; }
.t2-mini-parcours .ic { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--t1-encre); color: #fff; margin-bottom: 10px; } .t2-mini-parcours .ic svg { width: 19px; height: 19px; }
.t2-mini-parcours b { display: block; color: var(--t1-encre); } .t2-mini-parcours small { color: var(--t1-doux); font-size: 12.5px; }

/* Pied : horaires et 5 colonnes */
.t1-pied .horaires { display: flex; gap: 8px; align-items: center; margin: 12px 0 0; font-size: 14px; color: #e2e8f0; } .t1-pied .horaires svg { width: 17px; height: 17px; }
.t1-pied .grille.cinq { grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr; }

@media (max-width: 1024px) {
    .t1-page-tete.photo .t1-conteneur { grid-template-columns: 1fr; } .t1-page-tete .visuel { height: 300px; border-radius: 32px; }
    .t2-financements { grid-template-columns: repeat(2, 1fr); } .t2-fin:nth-child(1) { grid-column: span 2; }
    .t2-galerie { grid-template-columns: repeat(2, 1fr); } .t2-galerie .g4 { grid-row: span 1; } .t2-galerie .g6 { grid-column: span 2; }
    .t2-avis { grid-template-columns: 1fr 1fr; } .t2-faq-grille { grid-template-columns: 1fr; gap: 30px; }
    .t2-une { grid-template-columns: 1fr; } .t2-une .image { min-height: 260px; }
    .t2-bento.trois { grid-template-columns: 1fr; grid-auto-rows: minmax(200px, auto); }
    .t2-mini-parcours { grid-template-columns: 1fr 1fr; } .t2-mini-parcours > div::after { display: none; }
    .t1-pied .grille.cinq { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .t2-financements, .t2-avis { grid-template-columns: 1fr; } .t2-fin:nth-child(1) { grid-column: auto; }
    .t2-galerie { grid-auto-rows: 150px; } .t2-galerie .g1 { grid-column: span 2; }
    .t2-note-globale { text-align: left; } .t2-une .corps { padding: 26px; }
    .t1-page-tete .visuel { height: 240px; }
    .t1-pied .grille.cinq { grid-template-columns: 1fr; }
}
.t1-pied .ic { display: flex; gap: 10px; align-items: flex-start; overflow-wrap: anywhere; } .t1-pied .ic svg { width: 17px; height: 17px; margin-top: 3px; color: #fde047; flex: none; }

/* ═════════════════════════════════════════════════════════════════════════════
 * v4 « COULEUR VIVE » (11/10/2026) — choisi par l'utilisateur sur Dribbble :
 * grand bloc de couleur (couleur du client), personne détourée sur un rond jaune,
 * petits dessins animés, cartes flottantes, boutons à ombre franche, surlignage marqueur.
 * ═════════════════════════════════════════════════════════════════════════════ */
:root { --t4-jaune: #ffd23f; --t4-corail: #ff6b4a; --t4-menthe: #2ec4b6; --t4-lilas: #c9bdff; --t4-ombre: 4px 4px 0 var(--t1-encre); }
body.t1 { background: #fffdf8; }

/* Titres : mot surligné au marqueur (remplace l'italique) */
.t1 .t1-serif { font-family: inherit; font-style: normal; font-weight: 800; letter-spacing: -.035em; color: inherit !important;
    background: linear-gradient(transparent 56%, var(--t4-jaune) 56%, var(--t4-jaune) 92%, transparent 92%); padding: 0 .08em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.t2-sombre .t1-serif, .t2-appel .t1-serif, .t1-auth .gauche .t1-serif, .t1-page-tete .t1-serif, .t2-defile .t1-serif { background: none; color: var(--t4-jaune) !important; }

/* Autocollant au lieu du sur-titre */
.t1-sur-titre { background: var(--t4-jaune); color: var(--t1-encre); border: 2px solid var(--t1-encre); box-shadow: 2px 2px 0 var(--t1-encre); transform: rotate(-2deg); letter-spacing: .04em; }
.t1-sur-titre::before { background: var(--t1-encre); box-shadow: none; }

/* Boutons à ombre franche */
.t1-btn.plein, .t4-btn { border: 2px solid var(--t1-encre); box-shadow: var(--t4-ombre); transition: transform .15s, box-shadow .15s, background .2s; }
.t1-btn.plein:hover, .t4-btn:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--t1-encre); }
.t1-btn.plein:active, .t4-btn:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--t1-encre); }
.t1-btn.contour { border: 2px solid var(--t1-encre); }
.t4-btn { display: inline-flex; align-items: center; gap: 10px; border-radius: 999px; padding: 15px 26px; font-weight: 800; font-size: 16px; }
.t4-btn svg { width: 18px; height: 18px; }
.t4-btn.jaune { background: var(--t4-jaune); color: var(--t1-encre) !important; }
.t4-btn.blanc { background: #fff; color: var(--t1-encre) !important; }

/* ── Héros ── */
.t4-heros { padding: 22px 0 10px; }
.t4-bloc { position: relative; background: var(--t1-marque-fonce); border-radius: 44px; padding: 70px 60px 0; display: grid; grid-template-columns: 1.05fr .95fr; gap: 30px; overflow: hidden; color: #fff; isolation: isolate; min-height: 600px; }
.t4-bloc::before { content: ''; position: absolute; inset: 0; z-index: -1; background:
    radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--t1-second) 70%, transparent), transparent 45%),
    radial-gradient(circle at 10% 90%, color-mix(in srgb, var(--t4-corail) 45%, transparent), transparent 40%); }
.t4-texte { padding-bottom: 60px; position: relative; z-index: 2; }
.t4-pastille { display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); border-radius: 999px; padding: 8px 16px; font-size: 14px; font-weight: 700; }
.t4-heros h1 { color: #fff; font-size: clamp(40px, 5.4vw, 72px); font-weight: 800; line-height: 1.02; letter-spacing: -.04em; margin: 22px 0; }
.t4-marque { position: relative; color: var(--t4-jaune); white-space: nowrap; }
.t4-marque svg { position: absolute; left: 0; bottom: -.16em; width: 100%; height: .32em; overflow: visible; }
.t4-marque path { stroke: var(--t4-jaune); stroke-width: 7; fill: none; stroke-linecap: round; stroke-dasharray: 420; stroke-dashoffset: 420; animation: t2-trace 1.3s .5s cubic-bezier(.6,.1,.2,1) forwards; }
.t4-heros .lead { color: rgba(255,255,255,.88); font-size: 18.5px; max-width: 520px; margin: 0 0 32px; }
.t4-heros .boutons { display: flex; gap: 14px; flex-wrap: wrap; }
.t4-confiance { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 38px; }
.t4-confiance .bloc { display: flex; align-items: center; gap: 12px; }
.t4-confiance .t1-pile > * { border-color: var(--t1-marque-fonce); }
.t4-confiance b { color: #fff; display: block; } .t4-confiance small { color: rgba(255,255,255,.75); font-size: 13px; }
.t4-note { font-size: 34px; font-weight: 800; letter-spacing: -.04em; }
.t4-confiance .t2-etoiles { color: var(--t4-jaune); }

.t4-visuel { position: relative; align-self: end; height: 560px; }
.t4-rond { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: min(470px, 92%); aspect-ratio: 1; }
.t4-rond::before { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--t4-jaune); top: 12%; }
.t4-rond.detoure img { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); height: 112%; width: auto; max-width: none; z-index: 1; filter: drop-shadow(0 20px 30px rgba(0,0,0,.25)); }
.t4-rond.photo::before { display: none; }
.t4-rond.photo img { position: absolute; inset: 6% 0 0; width: 100%; height: 94%; object-fit: cover; border-radius: 50%; border: 10px solid var(--t4-jaune); }
.t4-carte { position: absolute; z-index: 3; background: #fff; color: var(--t1-encre); border: 2px solid var(--t1-encre); box-shadow: var(--t4-ombre); border-radius: 18px; padding: 10px 14px 10px 10px; display: flex; gap: 10px; align-items: center; }
.t4-carte b { display: block; font-size: 17px; line-height: 1.1; } .t4-carte small { color: var(--t1-doux); font-size: 12px; font-weight: 600; }
.t4-carte img { height: 36px; width: auto; }
.t4-carte .ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; border: 2px solid var(--t1-encre); }
.t4-carte .ic svg { width: 20px; height: 20px; }
.ic.jaune { background: var(--t4-jaune); } .ic.corail { background: var(--t4-corail); color: #fff; } .ic.menthe { background: var(--t4-menthe); color: #fff; }
.t4-carte.c1 { left: 0; top: 28%; transform: rotate(-4deg); } .t4-carte.c2 { right: 0; top: 48%; transform: rotate(3deg); } .t4-carte.c3 { left: 6%; bottom: 8%; }
.t4-carte.t1-flotte-doux { animation-name: t4-flotte; }
@keyframes t4-flotte { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
.t4-tampon { left: auto; right: 4%; top: 6%; bottom: auto; background: var(--t4-corail); border: 2px solid var(--t1-encre); }
.t4-tampon .centre { background: var(--t1-encre); }

/* Dessins */
.dd { position: absolute; z-index: 1; pointer-events: none; }
.dd-etoile { fill: var(--t4-jaune); width: 34px; height: 34px; animation: t4-tourne 9s linear infinite; }
.dd-etoile.a { top: 40px; left: 48%; } .dd-etoile.b { bottom: 120px; left: 44%; width: 22px; height: 22px; fill: #fff; animation-duration: 6s; }
.dd-gribouillis { width: 110px; height: 36px; stroke: var(--t4-corail); top: 34px; right: 30%; }
.dd-fleche { width: 90px; height: 72px; stroke: #fff; opacity: .8; left: 38%; bottom: 150px; }
.dd-points { width: 80px; height: 80px; fill: rgba(255,255,255,.35); right: 26px; bottom: 30px; }
.dd-anneau { width: 120px; height: 120px; border-radius: 50%; border: 3px dashed rgba(255,255,255,.4); left: -40px; top: -40px; animation: t4-tourne 30s linear infinite; }
@keyframes t4-tourne { to { transform: rotate(360deg); } }

/* Bande des financeurs */
.t4-financeurs { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 26px; padding: 26px 10px 6px; }
.t4-financeurs span { font-size: 13px; font-weight: 700; color: var(--t1-doux); text-transform: uppercase; letter-spacing: .08em; }
.t4-financeurs b { font-size: 20px; font-weight: 800; color: var(--t1-encre); letter-spacing: -.02em; opacity: .75; }
.t4-financeurs b.q { color: #0f7a55; opacity: 1; }

/* Bandeau défilant jaune */
.t2-defile { background: var(--t4-jaune); color: var(--t1-encre); border-top: 2px solid var(--t1-encre); border-bottom: 2px solid var(--t1-encre); }
.t2-defile em { color: var(--t4-corail); }
.t2-defile span .t1-serif { color: var(--t1-encre) !important; text-decoration: underline wavy var(--t4-corail); }

/* Cartes et tuiles : contour franc */
.t1-formation, .t2-fin, .t2-avi, .t2-membre, .t2-une, .t2-faq details, .t2-access, .t1-session, .t2-mini-parcours > div, .t2-qualiopi { border: 2px solid var(--t1-encre) !important; }
.t1-formation:hover, .t2-fin:hover, .t2-membre:hover, .t2-une:hover { box-shadow: 6px 6px 0 var(--t1-encre); transform: translate(-3px, -3px); }
.t1-formation .fleche-ronde { background: var(--t4-jaune); color: var(--t1-encre); border: 2px solid var(--t1-encre); }
.t1-formation:hover .fleche-ronde { background: var(--t4-corail); color: #fff; }
.t1-etiquette { border: 1.5px solid var(--t1-encre); }
.t2-tuile { border: 2px solid var(--t1-encre); }
.t2-tuile.jaune { background: var(--t4-jaune); border-color: var(--t1-encre); }
.t2-tuile.marque { background: var(--t4-corail); } .t2-tuile.marque .ic { background: rgba(255,255,255,.22); }
.t2-tuile.sombre .ic { color: var(--t4-jaune); }
.t2-fin:nth-child(2) { background: var(--t4-lilas); } .t2-fin:nth-child(3) { background: #d6f5f1; } .t2-fin:nth-child(4) { background: #ffe1d9; } .t2-fin:nth-child(5) { background: #fff3c4; }
.t2-fin:nth-child(1) { background: var(--t1-marque-fonce); } .t2-fin:nth-child(1) h3 { color: var(--t4-jaune); } .t2-fin:nth-child(1) p { color: rgba(255,255,255,.8); }
.t2-avi.mis-en-avant { background: var(--t4-jaune); } .t2-avi.mis-en-avant blockquote, .t2-avi.mis-en-avant figcaption b { color: var(--t1-encre); } .t2-avi.mis-en-avant figcaption small { color: #5b4a00; }
.t2-avi.mis-en-avant blockquote { font-family: inherit; font-style: normal; font-weight: 700; font-size: 19px; }
.t2-faq details[open] .plus { background: var(--t4-corail); }
.t2-chiffres { border-color: var(--t1-encre); } .t2-chiffres > div { border-color: var(--t1-encre); }

/* Section « Comment ça marche » : couleur du client */
.t2-sombre { background: var(--t1-marque-fonce); }
.t2-sombre > img.fond { opacity: .08; }
.t2-etape { background: rgba(255,255,255,.1); border: 2px solid rgba(255,255,255,.25); }
.t2-etape .n { -webkit-text-stroke: 0; color: var(--t4-jaune); font-family: inherit; font-style: normal; font-weight: 800; font-size: 54px; }
.t2-etape .ic { background: var(--t4-jaune); color: var(--t1-encre); }

/* Appel final */
.t2-appel::before { background: linear-gradient(120deg, color-mix(in srgb, var(--t1-marque) 88%, #000) 0%, color-mix(in srgb, var(--t4-corail) 85%, #000) 100%); opacity: .93; }
.t2-appel { border: 2px solid var(--t1-encre); box-shadow: 8px 8px 0 var(--t1-encre); }
.t2-appel .t1-btn.blanc { border: 2px solid var(--t1-encre); box-shadow: var(--t4-ombre); }

/* En-tête des pages intérieures : bloc de couleur */
.t1-page-tete { margin: 22px 20px 0; padding: 60px 0 60px; border-radius: 44px; background: var(--t1-marque-fonce); color: #fff; overflow: hidden; isolation: isolate; }
.t1-page-tete::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--t1-second) 65%, transparent), transparent 45%), radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--t4-corail) 40%, transparent), transparent 40%); }
.t1-page-tete .t1-maille { display: none; }
.t1-page-tete h1 { color: #fff; } .t1-page-tete p { color: rgba(255,255,255,.85); } .t1-page-tete .t1-fil, .t1-page-tete .t1-fil a { color: rgba(255,255,255,.75); }
.t1-page-tete .puces span { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); color: #fff; } .t1-page-tete .puces svg { color: var(--t4-jaune); }
.t1-page-tete .visuel { border: 4px solid var(--t4-jaune); }
.t1-page-tete .vignettes img { border-color: var(--t1-marque-fonce); }
.t1-page-tete .vignettes-av .t1-av { border-color: var(--t1-marque-fonce); } .t1-page-tete .vignettes-av small { color: #fff; }

/* Connexion / inscription */
.t1-auth { margin-top: 0; min-height: calc(100vh - 82px); }
.t1-auth .gauche { padding-top: 60px; } .t1-auth .droite { padding-top: 40px; }
.t1-auth .t1-carte-form { border: 2px solid var(--t1-encre); box-shadow: 8px 8px 0 var(--t1-encre); }

/* Pied */
.t1-pied { background: var(--t1-encre); }

@media (prefers-reduced-motion: reduce) { .dd, .t4-marque path, .t4-carte { animation: none !important; } .t4-marque path { stroke-dashoffset: 0; } }
@media (max-width: 1024px) {
    .t4-bloc { grid-template-columns: 1fr; padding: 50px 30px 0; border-radius: 34px; }
    .t4-visuel { height: 480px; }
    .t1-page-tete { margin: 14px 12px 0; border-radius: 32px; }
}
@media (max-width: 640px) {
    .t4-heros { padding-top: 14px; }
    .t4-bloc { padding: 40px 20px 0; border-radius: 28px; min-height: 0; }
    .t4-marque { white-space: normal; }
    .t4-visuel { height: 380px; }
    .t4-carte.c1 { top: 18%; } .t4-carte.c3 { display: none; }
    .t4-tampon { width: 84px; height: 84px; }
    .dd-gribouillis, .dd-fleche { display: none; }
    .t4-financeurs b { font-size: 16px; }
    .t1-page-tete { padding: 40px 0; }
}
/* v4 — réglages du héros */
.t4-heros h1 { font-size: clamp(38px, 4.8vw, 64px); }
.t4-visuel { align-self: stretch; height: auto; min-height: 540px; }
.t4-rond { width: min(560px, 104%); }
.t4-rond.detoure img { height: 116%; }
.t4-tampon { right: auto; left: 2%; top: 10%; }
.t4-carte.c1 { left: auto; right: 2%; top: 30%; transform: rotate(4deg); }
.t4-carte.c2 { right: auto; left: -2%; top: 52%; transform: rotate(-3deg); }
.t4-carte.c3 { left: auto; right: 4%; bottom: 10%; }
.dd-gribouillis { top: 30px; right: 8%; }
@media (max-width: 1024px) { .t4-visuel { min-height: 460px; } .t4-rond { width: min(460px, 100%); } }
@media (max-width: 640px) { .t4-visuel { min-height: 360px; } .t4-carte.c1 { top: 12%; } .t4-carte.c2 { left: 0; top: 46%; } .t4-tampon { top: 2%; } }
.t4-carte.c1 { top: 56%; right: -1%; } @media (max-width: 640px) { .t4-carte.c1 { top: 60%; right: 0; } }
.t1-page-tete { width: min(1200px, 100% - 40px); margin: 22px auto 0; }
.t1-page-tete .t1-conteneur { width: calc(100% - 120px); }
@media (max-width: 1024px) { .t1-page-tete { width: calc(100% - 24px); margin: 14px auto 0; } .t1-page-tete .t1-conteneur { width: calc(100% - 48px); } }
@media (max-width: 640px) { .dd-etoile.a { display: none; } .t1-page-tete .t1-conteneur { width: calc(100% - 36px); } }
.t1-code { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 8px; } .t1-code input { height: 64px; text-align: center; font-size: 26px; font-weight: 800; border: 2px solid var(--t1-encre); border-radius: 16px; font-family: inherit; color: var(--t1-encre); min-width: 0; } .t1-code input:focus { outline: none; box-shadow: 4px 4px 0 var(--t4-jaune, #ffd23f); }

/* ═════════════════════════════════════════════════════════════════════════════
 * v5 « IMMERSIF » (11/10/2026) : première section plein écran avec le menu dedans,
 * formes 3D maison (theme1-3d.js) qui suivent la souris, grain, titres qui montent mot à mot,
 * robot 3D sur toutes les pages.
 * ═════════════════════════════════════════════════════════════════════════════ */
:root { --t5-nuit: color-mix(in srgb, var(--t1-marque) 22%, #05070f); }

/* Menu posé dans la première section : transparent en haut, pilule blanche au défilement */
body.sur-heros .t1-entete { position: fixed; left: 0; right: 0; top: 0; }
body.sur-heros .t1-entete:not(.defile) .t1-conteneur { background: transparent; border-color: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.sur-heros .t1-entete:not(.defile) .t1-nav > a, body.sur-heros .t1-entete:not(.defile) .t1-deroulant > button { color: rgba(255,255,255,.88); }
body.sur-heros .t1-entete:not(.defile) .t1-nav > a:hover { background: rgba(255,255,255,.12); color: #fff; }
body.sur-heros .t1-entete:not(.defile) .t1-nav > a.actif { background: #fff; color: var(--t1-encre) !important; }
body.sur-heros .t1-entete:not(.defile) .t1-actions .t1-btn.contour { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.55); }
body.sur-heros .t1-entete:not(.defile) .t1-actions .t1-btn.plein { background: var(--t4-jaune); color: var(--t1-encre) !important; border-color: var(--t4-jaune); box-shadow: none; }
body.sur-heros .t1-entete:not(.defile) .t1-logo img { background: #fff; border-radius: 10px; padding: 3px 6px; }
body.sur-heros .t1-entete:not(.defile) .t1-burger { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); } body.sur-heros .t1-entete:not(.defile) .t1-burger span { background: #fff; }
body.sur-heros .t1-entete.ouvert .t1-conteneur { background: #fff !important; }
body.sur-heros .t1-entete.ouvert .t1-nav > a { color: var(--t1-texte) !important; }
.t1-entete { transition: padding .3s; } .t1-entete .t1-conteneur { transition: background .35s, box-shadow .35s, border-color .35s; }

/* Fond commun aux sections immersives */
.t5-heros, .t5-page { position: relative; overflow: hidden; isolation: isolate; background: var(--t5-nuit); color: #fff; }
.t5-fond { position: absolute; inset: 0; z-index: -2; }
.t5-fond i { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .55; animation: t1-flotte 22s ease-in-out infinite; }
.t5-fond i:first-child { width: 60vw; height: 60vw; left: 30%; top: -20%; background: color-mix(in srgb, var(--t1-marque) 75%, transparent); }
.t5-fond i:last-child { width: 40vw; height: 40vw; left: -10%; bottom: -25%; background: color-mix(in srgb, var(--t4-corail) 55%, transparent); animation-delay: -9s; }
.t5-grain { position: absolute; inset: 0; z-index: 3; pointer-events: none; opacity: .16; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.t5-3d { position: absolute; z-index: -1; pointer-events: none; opacity: 0; transition: opacity 1.4s ease; }
.t5-3d.actif { opacity: 1; }

/* Héros de l'accueil */
.t5-heros { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: space-between; padding: 130px 0 34px; margin-bottom: 0; }
.t5-heros .t5-3d { right: -6%; top: 0; width: 68%; height: 100%; }
.t5-grille { position: relative; z-index: 2; display: grid; grid-template-columns: 1.1fr .9fr; gap: 30px; align-items: center; flex: 1; }
.t5-titre { color: #fff; font-size: clamp(42px, 6.2vw, 92px); font-weight: 800; line-height: .98; letter-spacing: -.045em; margin: 24px 0; }
.t5-titre .m { display: inline-block; opacity: 0; transform: translateY(40px) rotate(3deg); animation: t5-monte .9s cubic-bezier(.2,.8,.2,1) forwards; animation-delay: var(--d, 0s); }
.t5-titre .t4-marque { color: var(--t4-jaune); }
@keyframes t5-monte { to { opacity: 1; transform: none; } }
.t5-apparait { opacity: 0; transform: translateY(20px); animation: t5-monte .9s cubic-bezier(.2,.8,.2,1) forwards; animation-delay: var(--d, 0s); }
.t5-heros .lead { color: rgba(255,255,255,.82); font-size: 19px; max-width: 540px; margin: 0 0 34px; }
.t5-heros .boutons { display: flex; gap: 14px; flex-wrap: wrap; }
.t5-btn-verre { display: inline-flex; align-items: center; border-radius: 999px; padding: 15px 26px; font-weight: 800; font-size: 16px; color: #fff !important; border: 1.5px solid rgba(255,255,255,.45); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background .3s; }
.t5-btn-verre:hover { background: rgba(255,255,255,.18); }
.t5-cartes { position: relative; height: 100%; min-height: 460px; }
.t5-verre { position: absolute; margin: 0; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); backdrop-filter: blur(16px) saturate(150%); -webkit-backdrop-filter: blur(16px) saturate(150%); border-radius: 24px; padding: 8px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); animation: t4-flotte 7s ease-in-out infinite; }
.t5-verre img { width: 100%; height: 100%; object-fit: cover; border-radius: 18px; display: block; }
.t5-verre figcaption { position: absolute; left: 18px; bottom: 16px; display: flex; gap: 8px; align-items: center; font-size: 13px; font-weight: 700; background: rgba(5,7,15,.55); padding: 6px 12px; border-radius: 999px; }
.t5-verre.v1 { width: 210px; height: 250px; right: 6%; top: 2%; animation-delay: -2s; }
.t5-verre.v2 { width: 230px; height: 170px; left: 0; bottom: 6%; animation-delay: -4s; }
.t5-verre.info { padding: 16px 18px; right: 0; bottom: 20%; width: 240px; display: grid; gap: 2px; }
.t5-verre.info small { color: rgba(255,255,255,.7); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.t5-verre.info b { font-size: 17px; line-height: 1.2; } .t5-verre.info span { color: var(--t4-jaune); font-weight: 800; }
.t5-verre.info img.q { width: 100px; height: auto; background: #fff; border-radius: 10px; padding: 4px; margin-bottom: 6px; }
.t5-bas { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-top: 30px; }
.t5-chiffres { display: flex; gap: 0; flex-wrap: wrap; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: rgba(255,255,255,.06); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.t5-chiffres > div { padding: 14px 24px; border-left: 1px solid rgba(255,255,255,.14); display: flex; flex-direction: column; justify-content: center; }
.t5-chiffres > div:first-child { border-left: none; }
.t5-chiffres b { font-size: 30px; font-weight: 800; letter-spacing: -.04em; line-height: 1; } .t5-chiffres span { font-size: 12.5px; color: rgba(255,255,255,.7); }
.t5-chiffres .av .t1-pile > * { border-color: var(--t5-nuit); }
.t5-defiler { display: flex; flex-direction: column; align-items: center; gap: 8px; color: rgba(255,255,255,.75) !important; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.t5-defiler span { width: 26px; height: 42px; border: 2px solid rgba(255,255,255,.6); border-radius: 14px; position: relative; }
.t5-defiler span::after { content: ''; position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: #fff; animation: t5-molette 1.8s ease-in-out infinite; }
@keyframes t5-molette { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
.t4-financeurs { padding: 30px 10px 10px; }

/* En-tête des pages intérieures (remplace le bloc arrondi) */
.t1-page-tete.t5-page { width: auto; margin: 0; border-radius: 0 0 48px 48px; padding: 150px 0 80px; text-align: left; }
.t5-page::before { display: none; }
.t5-page .t5-3d { right: -4%; top: 0; width: 55%; height: 100%; }
.t5-page .t5-grille { grid-template-columns: 1.2fr .8fr; }
.t5-page .t1-conteneur { width: min(1200px, 100% - 40px) !important; }
.t5-page .t5-titre { font-size: clamp(40px, 6vw, 84px); margin: 14px 0; }
.t5-page p { color: rgba(255,255,255,.82); font-size: 18px; max-width: 600px; margin: 0; }
.t5-page .photo-page { position: relative; width: 100%; max-width: 380px; aspect-ratio: 4/5; justify-self: end; }
.t5-page .puces { margin-top: 22px; }

/* Robot 3D (toutes les pages) */
#t1-robot { position: fixed; right: 18px; bottom: 14px; z-index: 150; display: none; }
#t1-robot.actif { display: block; }
#t1-robot > button { width: 132px; height: 132px; border: none; background: none; padding: 0; cursor: pointer; display: block; filter: drop-shadow(0 18px 24px rgba(5,7,15,.35)); transition: transform .3s; }
#t1-robot > button:hover { transform: scale(1.06) rotate(-3deg); }
#t1-robot canvas { width: 100%; height: 100%; display: block; }
#t1-robot .bulle { position: absolute; right: 18px; bottom: 132px; width: 250px; background: #fff; color: var(--t1-encre); border: 2px solid var(--t1-encre); box-shadow: var(--t4-ombre); border-radius: 20px 20px 4px 20px; padding: 14px; display: grid; gap: 8px; font-size: 14px; opacity: 0; transform: translateY(10px) scale(.96); pointer-events: none; transition: .25s; transform-origin: bottom right; }
#t1-robot.ouvert .bulle { opacity: 1; transform: none; pointer-events: auto; }
#t1-robot .bulle a { display: block; text-align: center; border-radius: 999px; padding: 9px; font-weight: 800; background: var(--t4-jaune); border: 2px solid var(--t1-encre); color: var(--t1-encre) !important; }
#t1-robot .bulle a.sec { background: #fff; }

@media (prefers-reduced-motion: reduce) { .t5-titre .m, .t5-apparait { animation: none; opacity: 1; transform: none; } .t5-fond i, .t5-verre, .t5-defiler span::after { animation: none; } }
@media (max-width: 1024px) {
    .t5-grille, .t5-page .t5-grille { grid-template-columns: 1fr; }
    .t5-heros .t5-3d { width: 100%; right: 0; opacity: .55; } .t5-heros .t5-3d.actif { opacity: .55; }
    .t5-cartes { min-height: 300px; } .t5-verre.v1 { width: 170px; height: 200px; right: 2%; } .t5-verre.v2 { width: 190px; height: 140px; }
    .t5-page .t5-3d { width: 100%; right: -30%; opacity: .5; } .t5-page .photo-page { display: none; }
}
@media (max-width: 640px) {
    .t5-heros { padding: 110px 0 26px; }
    .t5-cartes { display: none; }
    .t5-bas { flex-direction: column; align-items: stretch; } .t5-defiler { display: none; }
    .t5-chiffres > div { padding: 10px 14px; } .t5-chiffres b { font-size: 24px; }
    .t1-page-tete.t5-page { padding: 120px 0 54px; border-radius: 0 0 30px 30px; }
    #t1-robot > button { width: 92px; height: 92px; } #t1-robot .bulle { bottom: 94px; }
}
.t1 .t5-titre { color: #fff; }
.t5-heros .t5-3d, .t5-page .t5-3d { left: 0; right: 0; width: 100%; }
@media (max-width: 1024px) { .t5-page .t5-3d { right: 0; } }
.t5-titre { font-size: clamp(40px, 5.4vw, 80px); }
.t5-heros .lead { margin-top: 10px; }
.t5-bas { justify-content: flex-start; } .t5-defiler { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); }
@media (max-width: 1024px) { .t5-defiler { display: none; } }
.t5-page .puces { justify-content: flex-start !important; }
.t5-page .photo-page { max-width: 260px; aspect-ratio: 3/4; transform: rotate(4deg) translateX(-30%); justify-self: center; z-index: 1; }
@media (max-width: 640px) {
    .t5-heros .t5-3d.actif { opacity: .38; }
    .t5-heros .lead { color: rgba(255,255,255,.9); text-shadow: 0 2px 12px rgba(5,7,15,.6); }
    #t1-robot > button { width: 76px; height: 76px; } #t1-robot .bulle { bottom: 80px; }
}
body.apercu-capture .t5-titre .m, body.apercu-capture .t5-apparait, body.apercu-capture .t1-apparait { animation: none !important; opacity: 1 !important; transform: none !important; } body.apercu-capture #t1-robot { display: none !important; } img.t5-3d { opacity: 1; object-fit: cover; }
body.sur-heros .t1-entete:not(.defile) .t1-logo { color: #fff; }

/* ═════════════════════════════════════════════════════════════════════════════
 * v6 (11/10/2026) — sections inspirées de Dribbble choisies par l'utilisateur :
 * « Portals » (portail néon 3D), « Zabalance » (cartes de financement empilées, zèbre),
 * « Etail » (en-tête clair pâte à modeler + recherche en pilule).
 * ═════════════════════════════════════════════════════════════════════════════ */
.t6-etiquette { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: var(--t4-jaune); }
.t6-etiquette::before { content: ''; width: 22px; height: 2px; background: currentColor; }

/* Portail */
.t6-portail { position: relative; overflow: hidden; isolation: isolate; background: #06050a; color: #fff; padding: 110px 0; margin: 30px 14px; border-radius: 44px; min-height: 640px; display: flex; align-items: center; }
.t6-portail::before { content: ''; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 72% 50%, color-mix(in srgb, var(--t1-second) 35%, transparent), transparent 45%); }
.t6-portail .t5-3d { left: 0; top: 0; width: 100%; height: 100%; }
.t6-portail .t1-conteneur { position: relative; z-index: 2; }
.t6-portail-texte { max-width: 520px; }
.t6-portail h2 { color: #fff; font-size: clamp(36px, 4.6vw, 64px); line-height: 1; letter-spacing: -.04em; margin: 16px 0; }
.t6-portail h2 span { color: transparent; background: linear-gradient(90deg, var(--t4-jaune), color-mix(in srgb, var(--t1-second) 60%, #fff)); -webkit-background-clip: text; background-clip: text; }
.t6-portail p { color: rgba(255,255,255,.72); font-size: 17px; margin: 0 0 26px; }
.t6-etapes { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.t6-etapes li { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: background .3s, transform .3s; }
.t6-etapes li:hover { background: rgba(255,255,255,.1); transform: translateX(6px); }
.t6-etapes .n { font-weight: 800; color: var(--t4-jaune); font-size: 15px; min-width: 26px; } .t6-etapes b { display: block; color: #fff; } .t6-etapes small { color: rgba(255,255,255,.65); font-size: 13.5px; }

/* Financements « cartes » */
.t6-finance { position: relative; overflow: hidden; isolation: isolate; background: var(--t5-nuit); color: #fff; padding: 110px 0; margin: 30px 14px; border-radius: 44px; }
.t6-zebre { position: absolute; left: -10%; top: 0; width: 60%; height: 100%; z-index: -1; opacity: .16; }
.t6-zebre path { stroke: var(--t4-jaune); }
.t6-finance-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.t6-finance h2 { color: var(--t4-jaune); font-size: clamp(34px, 4.4vw, 60px); line-height: 1; letter-spacing: -.04em; margin: 16px 0; }
.t6-finance p { color: rgba(255,255,255,.75); font-size: 17px; max-width: 480px; }
.t6-finance-liste { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; margin-top: 26px; }
.t6-finance-liste > div { border-top: 1px solid rgba(255,255,255,.18); padding-top: 12px; }
.t6-finance-liste .n { font-size: 12px; color: var(--t4-jaune); font-weight: 800; } .t6-finance-liste b { display: block; font-size: 18px; color: #fff; } .t6-finance-liste small { color: rgba(255,255,255,.62); font-size: 13px; }
.t6-pile { position: relative; height: 460px; perspective: 1200px; }
.t6-carte { position: absolute; left: 50%; top: 50%; width: 330px; height: 206px; margin: -103px 0 0 -165px; border-radius: 22px; padding: 22px; overflow: hidden; color: var(--t1-encre);
    background: var(--t4-jaune); box-shadow: 0 30px 60px -24px rgba(0,0,0,.6); transition: transform .7s cubic-bezier(.2,.8,.2,1); display: flex; flex-direction: column; }
.t6-carte .motif { position: absolute; inset: 0; width: 100%; height: 100%; } .t6-carte .motif path { stroke: rgba(0,0,0,.85); }
.t6-carte > :not(.motif) { position: relative; }
.t6-carte .puce { width: 42px; height: 32px; border-radius: 7px; background: linear-gradient(135deg, #f5e7b2, #c9a64a); border: 1px solid rgba(0,0,0,.25); }
.t6-carte .ic { position: absolute; right: 20px; top: 20px; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.9); display: grid; place-items: center; } .t6-carte .ic svg { width: 19px; height: 19px; }
.t6-carte .sigle { font-size: 30px; font-weight: 800; letter-spacing: -.03em; margin-top: 14px; line-height: 1; }
.t6-carte .titre { font-size: 12.5px; font-weight: 700; opacity: .8; }
.t6-carte .num { margin-top: auto; font-family: ui-monospace, Menlo, monospace; font-size: 14px; letter-spacing: .12em; font-weight: 700; }
.t6-carte .nom { font-size: 10.5px; letter-spacing: .14em; font-weight: 800; opacity: .75; }
.t6-carte.c0 { transform: translate(-60px, -120px) rotate(-14deg); z-index: 5; }
.t6-carte.c1 { background: var(--t1-second); color: #fff; transform: translate(-20px, -40px) rotate(-6deg); z-index: 4; } .t6-carte.c1 .motif path { stroke: rgba(255,255,255,.3); }
.t6-carte.c2 { background: #0d0b14; color: #fff; transform: translate(20px, 40px) rotate(4deg); z-index: 3; } .t6-carte.c2 .motif path { stroke: var(--t4-jaune); opacity: .5; }
.t6-carte.c3 { background: var(--t1-marque); color: #fff; transform: translate(50px, 110px) rotate(12deg); z-index: 2; } .t6-carte.c3 .motif path { stroke: rgba(255,255,255,.25); }
.t6-carte.c4 { background: #fff; transform: translate(80px, 170px) rotate(18deg); z-index: 1; } .t6-carte.c4 .motif path { stroke: rgba(0,0,0,.12); }
.t6-pile:hover .t6-carte.c0 { transform: translate(-150px, -150px) rotate(-22deg); }
.t6-pile:hover .t6-carte.c1 { transform: translate(-70px, -50px) rotate(-10deg); }
.t6-pile:hover .t6-carte.c2 { transform: translate(20px, 40px) rotate(2deg); }
.t6-pile:hover .t6-carte.c3 { transform: translate(110px, 120px) rotate(14deg); }
.t6-pile:hover .t6-carte.c4 { transform: translate(190px, 190px) rotate(24deg); }
.t6-pile .t6-carte { animation: t6-respire 8s ease-in-out infinite; } .t6-pile .t6-carte.c1 { animation-delay: -2s; } .t6-pile .t6-carte.c2 { animation-delay: -4s; }
@keyframes t6-respire { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }

/* En-tête clair « pâte à modeler » + recherche en pilule */
.t5-page.t6-clair { background: linear-gradient(160deg, #f6f3fb 0%, color-mix(in srgb, var(--t1-second) 12%, #f4f1f8) 60%, #ece8f3 100%); color: var(--t1-encre); }
.t5-page.t6-clair .t5-fond, .t5-page.t6-clair .t5-grain { display: none; }
.t5-page.t6-clair .t5-titre, .t1 .t5-page.t6-clair .t5-titre { color: color-mix(in srgb, var(--t1-marque) 35%, #0b1030); }
.t5-page.t6-clair .t5-titre .t4-marque { color: var(--t1-marque); }
.t5-page.t6-clair p { color: #4b4f6a; } .t5-page.t6-clair .t1-fil, .t5-page.t6-clair .t1-fil a { color: #6b6f86; }
.t5-page.t6-clair .puces span { background: #fff; border-color: #e5e1ee; color: var(--t1-encre); }
.t5-page.t6-clair .t5-3d { opacity: 0; } .t5-page.t6-clair .t5-3d.actif { opacity: 1; }
.t6-recherche { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 999px; padding: 8px 8px 8px 18px; margin-top: 26px; max-width: 520px; box-shadow: 0 20px 40px -20px rgba(40,20,80,.35); border: 1px solid #ece7f5; }
.t6-recherche .lib { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: var(--t1-marque); white-space: nowrap; padding-right: 12px; border-right: 1px solid #e5e1ee; font-size: 14px; }
.t6-recherche .lib svg { width: 18px; height: 18px; }
.t6-recherche input { flex: 1; min-width: 0; border: none; outline: none; font-size: 15px; font-family: inherit; background: none; color: var(--t1-encre); }
.t6-recherche button { width: 46px; height: 46px; border-radius: 50%; border: none; background: var(--t4-corail); color: #fff; display: grid; place-items: center; cursor: pointer; flex: none; transition: transform .2s; }
.t6-recherche button:hover { transform: scale(1.08); } .t6-recherche button svg { width: 20px; height: 20px; }
/* Menu au-dessus d'un en-tête clair : liens sombres */
body.sur-heros-clair .t1-entete:not(.defile) .t1-nav > a, body.sur-heros-clair .t1-entete:not(.defile) .t1-deroulant > button, body.sur-heros-clair .t1-entete:not(.defile) .t1-logo { color: var(--t1-encre); }
body.sur-heros-clair .t1-entete:not(.defile) .t1-nav > a.actif { background: var(--t1-encre); color: #fff !important; }
body.sur-heros-clair .t1-entete:not(.defile) .t1-actions .t1-btn.contour { color: var(--t1-encre) !important; border-color: var(--t1-encre); }
body.sur-heros-clair .t1-entete:not(.defile) .t1-burger span { background: var(--t1-encre); }

@media (max-width: 1024px) {
    .t6-portail .t5-3d { opacity: .45; } .t6-portail .t5-3d.actif { opacity: .45; }
    .t6-finance-grille { grid-template-columns: 1fr; } .t6-pile { height: 400px; }
}
@media (max-width: 640px) {
    .t6-portail, .t6-finance { margin: 20px 8px; border-radius: 30px; padding: 70px 0; }
    .t6-finance-liste { grid-template-columns: 1fr; }
    .t6-pile { height: 340px; } .t6-carte { width: 260px; height: 164px; margin: -82px 0 0 -130px; padding: 16px; } .t6-carte .sigle { font-size: 24px; }
    .t6-recherche .lib { display: none; }
}
@media (prefers-reduced-motion: reduce) { .t6-pile .t6-carte { animation: none; } }

/* Logos (11/10/2026) : jamais de fond blanc ; plus grands ; version sombre / blanchie sur fond sombre. */
.t1 .t1-logo img, body.sur-heros .t1-entete:not(.defile) .t1-logo img { background: none !important; padding: 0 !important; border-radius: 0; max-height: 72px; max-width: 290px; width: auto; height: auto; object-fit: contain; }
.t1-logo img.l-sombre { display: none; }
body.sur-heros:not(.sur-heros-clair) .t1-entete:not(.defile) .t1-logo img.l-clair { display: none; }
body.sur-heros:not(.sur-heros-clair) .t1-entete:not(.defile) .t1-logo img.l-sombre { display: block; }
.t1 img.blanchi { filter: brightness(0) invert(1); }
.t1-pied .logo img { background: none !important; padding: 0 !important; border-radius: 0 !important; max-height: 70px; max-width: 240px; }
@media (max-width: 640px) { .t1 .t1-logo img { max-height: 42px; max-width: 170px; } }
.t1 img.ombre { filter: drop-shadow(0 2px 10px rgba(255,255,255,.35)) drop-shadow(0 1px 1px rgba(0,0,0,.4)); }

/* ═══ Menu téléphone / tablette (11/10/2026) : UN panneau qui grandit et défile, au lieu de deux blocs
   posés en absolu (ils se chevauchaient quand on dépliait « Qualiopi » ou qu'on faisait défiler). ═══ */
@media (max-width: 1024px) {
    .t1-entete .t1-conteneur { flex-wrap: wrap; height: auto; min-height: 64px; row-gap: 0; padding-top: 8px; padding-bottom: 8px; }
    .t1-entete .t1-logo { min-height: 48px; }
    .t1-entete.ouvert .t1-conteneur { background: #fff !important; border-color: var(--t1-ligne) !important; box-shadow: 0 30px 60px -20px rgba(11,16,32,.45) !important; border-radius: 24px;
        max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; padding-bottom: 16px; }
    .t1-entete.ouvert .t1-nav, .t1-entete.ouvert .t1-actions { display: flex; position: static; inset: auto; width: 100%; background: none; border: none; box-shadow: none; border-radius: 0; padding: 0; }
    .t1-entete.ouvert .t1-nav { order: 3; flex-direction: column; align-items: stretch; gap: 2px; margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--t1-ligne); }
    .t1-entete.ouvert .t1-nav > a, .t1-entete.ouvert .t1-deroulant > button { color: var(--t1-encre) !important; background: none; padding: 13px 14px; font-size: 16px; text-align: left; width: 100%; border-radius: 14px; }
    .t1-entete.ouvert .t1-nav > a.actif { background: var(--t1-encre) !important; color: #fff !important; }
    .t1-entete.ouvert .t1-deroulant .menu { display: none; position: static; padding: 0 0 6px 14px; }
    .t1-entete.ouvert .t1-deroulant.ouvert .menu { display: block; }
    .t1-entete.ouvert .t1-deroulant .menu a { color: var(--t1-texte) !important; }
    .t1-entete.ouvert .t1-actions { order: 4; flex-direction: column; gap: 10px; margin-top: 12px; }
    .t1-entete.ouvert .t1-actions .t1-btn { width: 100%; justify-content: center; padding: 14px; font-size: 15px; }
    .t1-entete.ouvert .t1-actions .t1-btn.contour { color: var(--t1-encre) !important; border-color: var(--t1-encre) !important; background: #fff !important; }
    .t1-entete.ouvert .t1-actions .t1-btn.plein { background: var(--t1-encre) !important; color: #fff !important; }
    .t1-entete.ouvert .t1-logo img.l-clair { display: block !important; } .t1-entete.ouvert .t1-logo img.l-sombre { display: none !important; }
    .t1-entete.ouvert .t1-logo { color: var(--t1-encre) !important; }
    .t1-entete.ouvert .t1-burger { background: var(--t1-creme) !important; border-color: var(--t1-ligne) !important; } .t1-entete.ouvert .t1-burger span { background: var(--t1-encre) !important; }
    .t1-entete .t1-burger { flex: none; }
    body.t1-menu-ouvert { overflow: hidden; }
}

/* ═══ v7 (11/10/2026) : inscription à une formation, « Mes formations », boutons selon le rôle ═══ */
.t7-carte { background: #fff; border: 2px solid var(--t1-encre); border-radius: 28px; padding: 26px; margin-bottom: 18px; }
.t7-info { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; } .t7-info > div { flex: 1; min-width: 240px; }
.t7-info .ic { width: 58px; height: 58px; border-radius: 18px; background: var(--t4-jaune); display: grid; place-items: center; font-size: 26px; border: 2px solid var(--t1-encre); flex: none; } .t7-info .ic svg { width: 26px; height: 26px; }
.t7-info h2 { font-size: 22px; margin-bottom: 4px; } .t7-info p { margin: 0; color: var(--t1-doux); }
.t7-inscription { display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; }
.t7-titre { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; }
.t7-titre .n { width: 38px; height: 38px; border-radius: 50%; background: var(--t1-encre); color: #fff; display: grid; place-items: center; font-weight: 800; flex: none; }
.t7-titre h2 { font-size: 21px; } .t7-titre p { margin: 2px 0 0; color: var(--t1-doux); font-size: 14.5px; }
.t7-choix { display: grid; gap: 10px; } .t7-choix.grille { grid-template-columns: repeat(3, 1fr); }
.t7-option { position: relative; display: flex; align-items: center; gap: 12px; border: 2px solid var(--t1-ligne); border-radius: 18px; padding: 14px 46px 14px 16px; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; background: #fff; }
.t7-option:hover { border-color: var(--t1-encre); }
.t7-option input { position: absolute; opacity: 0; pointer-events: none; }
.t7-option .contenu { display: grid; gap: 3px; min-width: 0; } .t7-option b { color: var(--t1-encre); font-size: 15.5px; } .t7-option small { color: var(--t1-doux); font-size: 13px; }
.t7-option .t1-pile { margin-top: 6px; } .t7-option .t1-pile .t1-av { width: 30px; height: 30px; font-size: 11px; border-width: 2px; }
.t7-option .coche { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--t1-ligne); transition: .2s; }
.t7-option:has(input:checked) { border-color: var(--t1-encre); box-shadow: 4px 4px 0 var(--t1-encre); background: color-mix(in srgb, var(--t4-jaune) 14%, #fff); }
.t7-option:has(input:checked) .coche { border-color: var(--t1-encre); background: var(--t1-encre); box-shadow: inset 0 0 0 4px #fff; }
.t7-option:has(input:focus-visible) { outline: 3px solid var(--t1-marque); outline-offset: 2px; }
.t7-option.souple { border-style: dashed; } .t7-option.fin { padding-right: 40px; }
.t7-accord { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; color: var(--t1-encre); cursor: pointer; } .t7-accord input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.t7-ensuite { position: sticky; top: 100px; background: var(--t5-nuit); color: #fff; border-radius: 28px; padding: 26px; }
.t7-ensuite h3 { color: #fff; font-size: 19px; margin-bottom: 16px; }
.t7-ensuite ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: e; }
.t7-ensuite li { position: relative; padding-left: 44px; counter-increment: e; }
.t7-ensuite li::before { content: counter(e); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); display: grid; place-items: center; font-weight: 800; font-size: 13px; }
.t7-ensuite li.fait::before { background: var(--t4-jaune); color: var(--t1-encre); border-color: var(--t4-jaune); }
.t7-ensuite li:not(:last-child)::after { content: ''; position: absolute; left: 14px; top: 34px; bottom: -12px; width: 2px; background: rgba(255,255,255,.15); }
.t7-ensuite b { display: block; color: #fff; } .t7-ensuite small { color: rgba(255,255,255,.7); font-size: 13.5px; }
.t7-ensuite .prix { margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.15); } .t7-ensuite .prix small { display: block; color: rgba(255,255,255,.6); } .t7-ensuite .prix b { font-size: 26px; }

/* Mes formations */
.t7-direct { position: relative; overflow: hidden; isolation: isolate; border-radius: 32px; padding: 34px; margin-bottom: 26px; color: #fff;
    background: radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--t4-corail) 55%, transparent), transparent 50%), var(--t5-nuit); border: 2px solid var(--t1-encre); box-shadow: 8px 8px 0 var(--t1-encre); }
.t7-direct .badge { display: inline-flex; align-items: center; gap: 8px; background: #ef4444; color: #fff; font-weight: 800; font-size: 12.5px; letter-spacing: .1em; border-radius: 999px; padding: 6px 14px; }
.pulse { width: 9px; height: 9px; border-radius: 50%; background: currentColor; display: inline-block; animation: t7-pulse 1.2s ease-in-out infinite; }
@keyframes t7-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.7); } }
.t7-direct h2 { color: #fff; font-size: clamp(26px, 3.4vw, 42px); margin: 14px 0 6px; letter-spacing: -.03em; } .t7-direct p { color: rgba(255,255,255,.8); margin: 0 0 20px; font-size: 17px; }
.t7-direct .act { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; } .t7-direct .act small { color: rgba(255,255,255,.7); }
.t7-direct .equipe { display: flex; gap: 10px; align-items: center; margin-top: 18px; color: rgba(255,255,255,.75); font-size: 14px; } .t7-direct .equipe .t1-pile > * { border-color: var(--t5-nuit); }
.t7-prochaine { display: grid; grid-template-columns: 1fr auto auto; gap: 24px; align-items: center; background: #fff; border: 2px solid var(--t1-encre); border-radius: 28px; padding: 24px 28px; margin-bottom: 26px; box-shadow: 6px 6px 0 var(--t4-jaune); }
.t7-prochaine small { text-transform: uppercase; letter-spacing: .1em; font-weight: 800; font-size: 12px; color: var(--t1-marque-texte); }
.t7-prochaine h2 { font-size: 22px; margin: 4px 0; } .t7-prochaine p { margin: 0; color: var(--t1-doux); }
.t7-prochaine .compte { display: flex; gap: 8px; } .t7-prochaine .compte span { background: var(--t1-encre); color: rgba(255,255,255,.7); border-radius: 16px; padding: 10px 14px; text-align: center; font-size: 11.5px; min-width: 70px; }
.t7-prochaine .compte b { display: block; color: #fff; font-size: 26px; line-height: 1.1; }
.t7-sous-titre { font-size: 20px; margin: 30px 0 14px; }
.t7-demandes { display: grid; gap: 10px; }
.t7-demande { display: flex; gap: 14px; align-items: center; background: #fff; border: 2px dashed #f59e0b; border-radius: 20px; padding: 14px 18px; }
.t7-demande .ic { font-size: 24px; } .t7-demande > div { flex: 1; min-width: 0; } .t7-demande b { display: block; color: var(--t1-encre); } .t7-demande small { color: var(--t1-doux); }
.t7-demande .etat { background: #fffbeb; color: #92400e; border: 1px solid #fde68a; border-radius: 999px; padding: 4px 12px; font-weight: 700; font-size: 12.5px; white-space: nowrap; }
.t7-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 22px; }
.t7-formation { background: #fff; border: 2px solid var(--t1-encre); border-radius: 28px; overflow: hidden; display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.t7-formation:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--t1-encre); }
.t7-formation .image { position: relative; aspect-ratio: 16/9; overflow: hidden; background: var(--t1-creme); } .t7-formation .image img { width: 100%; height: 100%; object-fit: cover; }
.t7-formation .etat { position: absolute; left: 12px; top: 12px; display: inline-flex; gap: 6px; align-items: center; border-radius: 999px; padding: 5px 12px; font-size: 12.5px; font-weight: 800; border: 1.5px solid var(--t1-encre); background: #fff; color: var(--t1-encre); }
.t7-formation .etat.direct { background: #ef4444; color: #fff; border-color: #ef4444; } .t7-formation .etat.cours { background: #22c55e; color: #fff; border-color: #15803d; }
.t7-formation .etat.venir { background: var(--t4-jaune); } .t7-formation .etat.fini { background: #e5e7eb; color: #4b5563; border-color: #9ca3af; }
.t7-formation .type { position: absolute; right: 12px; top: 12px; background: rgba(11,16,32,.75); color: #fff; border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 700; }
.t7-formation .corps { padding: 18px 20px 20px; display: grid; gap: 8px; flex: 1; align-content: start; }
.t7-formation h3 { font-size: 19px; line-height: 1.2; } .t7-formation .dates, .t7-formation .suite { color: var(--t1-doux); font-size: 13.5px; } .t7-formation .reste { color: #b45309; font-size: 12.5px; font-weight: 600; }
.t7-formation .progres { display: flex; align-items: center; gap: 10px; } .t7-formation .barre { flex: 1; height: 8px; border-radius: 99px; background: #eef0f4; overflow: hidden; }
.t7-formation .barre i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--t1-marque), #22c55e); } .t7-formation .progres small { color: var(--t1-doux); font-size: 12.5px; white-space: nowrap; }
.t7-formation .pied { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.t7-formation .pied .t1-av { width: 32px; height: 32px; font-size: 11px; border-width: 2px; }
.t7-btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 11px 18px; font-weight: 800; font-size: 14px; border: 2px solid var(--t1-encre); box-shadow: 3px 3px 0 var(--t1-encre); transition: transform .15s, box-shadow .15s; }
.t7-btn:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--t1-encre); } .t7-btn svg { width: 16px; height: 16px; }
.t7-btn.acces { background: var(--t4-jaune); color: var(--t1-encre) !important; } .t7-btn.document { background: #fb923c; color: #fff !important; }
.t7-vide { text-align: center; background: #fff; border: 2px dashed var(--t1-ligne); border-radius: 28px; padding: 50px 20px; } .t7-vide h2 { font-size: 24px; margin: 10px 0 6px; } .t7-vide p { color: var(--t1-doux); margin: 0 0 20px; }
/* Boutons d'action selon le rôle dans les listes de sessions */
.t1-btn.t7-act-gerer { background: #fff !important; color: var(--t1-encre) !important; border: 2px solid var(--t1-encre); }
.t1-btn.t7-act-attente { background: #fffbeb !important; color: #92400e !important; border-color: #f59e0b !important; box-shadow: none; }
.t1-btn.t7-act-document { background: #fb923c !important; color: #fff !important; }
.t1-btn.t7-act-acces { background: var(--t4-jaune) !important; color: var(--t1-encre) !important; }

@media (max-width: 1024px) { .t7-inscription { grid-template-columns: 1fr; } .t7-ensuite { position: static; } .t7-choix.grille { grid-template-columns: 1fr 1fr; } .t7-prochaine { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
    .t7-carte, .t7-direct { padding: 20px; border-radius: 22px; } .t7-choix.grille { grid-template-columns: 1fr; }
    .t7-grille { grid-template-columns: 1fr; } .t7-prochaine .compte span { min-width: 0; flex: 1; }
    .t7-demande { flex-wrap: wrap; }
}
/* Menu ouvert : priorité sur les règles « menu transparent sur le haut de page » */
@media (max-width: 1024px) {
    body.t1.t1-menu-ouvert .t1-entete.ouvert .t1-nav > a, body.t1.t1-menu-ouvert .t1-entete.ouvert .t1-deroulant > button { color: var(--t1-encre) !important; background: none !important; }
    body.t1.t1-menu-ouvert .t1-entete.ouvert .t1-nav > a.actif { background: var(--t1-encre) !important; color: #fff !important; }
    body.t1.t1-menu-ouvert .t1-entete.ouvert .t1-actions .t1-btn.contour { color: var(--t1-encre) !important; border-color: var(--t1-encre) !important; background: #fff !important; }
    body.t1.t1-menu-ouvert .t1-entete.ouvert .t1-actions .t1-btn.plein { background: var(--t1-encre) !important; color: #fff !important; border-color: var(--t1-encre) !important; }
}

/* Fiche formation et textes longs (11/10/2026) : 2 colonnes sur ordinateur, 1 sur téléphone ; aucun mot ne déborde. */
.t7-fiche { align-items: start; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.t7-fiche-cote { position: sticky; top: 100px; }
.t7-fiche > *, .t5-grille > *, .t1-deux > *, .t1-grille > *, .t7-grille > * { min-width: 0; }
.t1 h1, .t1 h2, .t1 h3, .t1 p, .t1 small, .t1-contenu-article, .t1-formation .corps, .t7-formation .corps { overflow-wrap: break-word; }
.t1 .t1-contenu-article, .t1 .t1-formation .corps p, .t1 .t7-formation .corps small { overflow-wrap: anywhere; }
@media (max-width: 1024px) { .t7-fiche { grid-template-columns: minmax(0, 1fr); } .t7-fiche-cote { position: static; } }

/* ═══ v8 (11/10/2026) : indicateurs de résultats, accessibilité, conformité Qualiopi des fiches ═══ */
.t8-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.t8-kpi { background: #fff; border: 2px solid var(--t1-encre); border-radius: 26px; padding: 22px; display: grid; gap: 4px; }
.t8-kpi .ic { width: 46px; height: 46px; border-radius: 14px; background: var(--t4-jaune); border: 2px solid var(--t1-encre); display: grid; place-items: center; margin-bottom: 8px; } .t8-kpi .ic svg { width: 22px; height: 22px; }
.t8-kpi b { font-size: 40px; font-weight: 800; letter-spacing: -.04em; color: var(--t1-encre); line-height: 1; } .t8-kpi .lib { font-weight: 800; color: var(--t1-encre); } .t8-kpi small { color: var(--t1-doux); font-size: 13px; }
.t8-kpi .barre { height: 8px; border-radius: 99px; background: #eef0f4; overflow: hidden; margin-top: 10px; } .t8-kpi .barre i { display: block; height: 100%; background: linear-gradient(90deg, var(--t1-marque), #22c55e); border-radius: 99px; }
.t8-modalites { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.t8-modalite { background: #fff; border-radius: 24px; padding: 22px; border: 1px solid var(--t1-ligne); } .t8-modalite h3 { font-size: 19px; } .t8-modalite small { color: var(--t1-doux); }
.t8-modalite ul { list-style: none; margin: 14px 0 0; padding: 0; } .t8-modalite li { display: flex; justify-content: space-between; padding: 9px 0; border-top: 1px solid var(--t1-ligne); } .t8-modalite li b { color: var(--t1-encre); }
.t8-note { margin-top: 40px; background: var(--t1-creme); border-radius: 22px; padding: 22px; } .t8-note h3 { font-size: 17px; margin-bottom: 6px; } .t8-note p { margin: 0; color: var(--t1-doux); font-size: 14.5px; }
.t8-acces { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.t8-referent { display: flex; gap: 14px; align-items: center; } .t8-referent .t1-av { width: 56px; height: 56px; font-size: 24px; } .t8-referent b { display: block; font-size: 18px; color: var(--t1-encre); } .t8-referent small { color: var(--t1-doux); }
.t8-texte { color: var(--t1-texte); line-height: 1.7; } .t8-liste { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
.t8-adaptations { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .t8-adaptations span { display: flex; gap: 10px; align-items: flex-start; background: var(--t1-creme); border-radius: 14px; padding: 12px; font-weight: 600; color: var(--t1-encre); font-size: 14.5px; }
.t8-adaptations svg { width: 20px; height: 20px; color: #16a34a; flex: none; margin-top: 1px; }
/* Fiche formation : informations obligatoires */
.t8-obligatoires { display: grid; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--t1-ligne); font-size: 13.5px; color: var(--t1-doux); }
.t8-obligatoires div { display: flex; gap: 8px; align-items: flex-start; } .t8-obligatoires svg { width: 17px; height: 17px; flex: none; color: var(--t1-marque-texte); margin-top: 2px; } .t8-obligatoires b { color: var(--t1-encre); }
.t8-telecharger { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; width: 100%; border-radius: 999px; padding: 12px; font-weight: 800; border: 2px dashed var(--t1-encre); color: var(--t1-encre) !important; background: #fff; }
.t8-telecharger:hover { background: var(--t4-jaune); border-style: solid; } .t8-telecharger svg { width: 18px; height: 18px; }
@media (max-width: 1024px) { .t8-kpis { grid-template-columns: 1fr 1fr; } .t8-modalites { grid-template-columns: 1fr; } .t8-acces { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .t8-kpis, .t8-adaptations { grid-template-columns: 1fr; } }
.t8-kpi:nth-child(4) .barre i { background: linear-gradient(90deg, #f97316, #ef4444); }
.t9-suite { list-style: none; margin: 4px 0 22px; padding: 0; display: grid; gap: 10px; counter-reset: s; }
.t9-suite li { position: relative; padding-left: 40px; counter-increment: s; } .t9-suite li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--t4-jaune); border: 2px solid var(--t1-encre); display: grid; place-items: center; font-weight: 800; font-size: 13px; }
.t9-suite b { display: block; color: var(--t1-encre); } .t9-suite small { color: var(--t1-doux); }
/* Mentions légales (12/10/2026) */
.t10-legal { display: grid; gap: 0; } .t10-legal .t7-carte { scroll-margin-top: 100px; } .t10-legal h2 { font-size: 22px; margin-bottom: 10px; } .t10-legal p { color: var(--t1-texte); }
.t10-sommaire { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; } .t10-sommaire a { border: 1.5px solid var(--t1-ligne); border-radius: 999px; padding: 7px 14px; font-weight: 700; font-size: 13.5px; background: #fff; }
.t10-sommaire a:hover { border-color: var(--t1-encre); }
.t10-dl { margin: 14px 0; display: grid; gap: 8px; } .t10-dl div { display: grid; grid-template-columns: 220px 1fr; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--t1-ligne); }
.t10-dl dt { font-weight: 700; color: var(--t1-encre); } .t10-dl dd { margin: 0; color: var(--t1-texte); } .t10-note { font-size: 13.5px; color: var(--t1-doux); }
.t10-cgv { max-width: none; font-size: 15px; } .t10-cgv h1, .t10-cgv h2 { font-size: 19px; }
@media (max-width: 640px) { .t10-dl div { grid-template-columns: 1fr; gap: 2px; } }

/* ═══ 5 BLOCS DE PRÉSENTATION (12/10/2026) — tous les thèmes ═══ */
.pz-image { position: relative; margin: 0; overflow: hidden; border-radius: 28px; background: var(--t1-creme); }
.pz-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.4s cubic-bezier(.2,.7,.2,1); }
.pz-num { position: absolute; left: 18px; bottom: 14px; font-size: 54px; font-weight: 800; line-height: 1; color: #fff; text-shadow: 0 6px 24px rgba(0,0,0,.4); letter-spacing: -.04em; }
.pz-index { font-size: 12.5px; font-weight: 800; letter-spacing: .14em; color: var(--t1-marque-texte, var(--t1-marque)); }
.pz-texte h3 { font-size: clamp(22px, 2.4vw, 32px); margin: 10px 0 12px; line-height: 1.15; }
.pz-texte p { color: var(--t1-doux); font-size: 16px; margin: 0 0 18px; }
.pz-lien { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: var(--t1-encre); border-bottom: 2px solid var(--t4-jaune, var(--t1-marque)); padding-bottom: 3px; }
.pz-lien svg { width: 17px; height: 17px; transition: transform .3s; } .pz-lien:hover svg { transform: translateX(5px); }
/* Animation d'apparition (classe ajoutée au défilement par theme1.js) */
.pz-bloc .pz-image { clip-path: inset(18% 18% 18% 18% round 28px); transition: clip-path 1.2s cubic-bezier(.2,.8,.2,1); }
.pz-bloc .pz-image img { transform: scale(1.25); }
.pz-bloc .pz-texte > * { opacity: 0; transform: translateY(26px); transition: opacity .8s, transform .8s cubic-bezier(.2,.8,.2,1); }
.pz-bloc.vu .pz-image { clip-path: inset(0 0 0 0 round 28px); } .pz-bloc.vu .pz-image img { transform: scale(1); }
.pz-bloc.vu .pz-texte > * { opacity: 1; transform: none; }
.pz-bloc.vu .pz-texte > :nth-child(2) { transition-delay: .1s; } .pz-bloc.vu .pz-texte > :nth-child(3) { transition-delay: .2s; } .pz-bloc.vu .pz-texte > :nth-child(4) { transition-delay: .3s; }
.pz-bloc:hover .pz-image img { transform: scale(1.06); }
/* Zigzag */
.pz-zigzag .pz-liste { display: grid; gap: 70px; }
.pz-zigzag .pz-bloc { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.pz-zigzag .pz-bloc:nth-child(even) .pz-image { order: 2; }
.pz-zigzag .pz-image { aspect-ratio: 4/3; }
/* Cartes qui se retournent */
.pz-cartes .pz-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.pz-cartes .pz-bloc { position: relative; aspect-ratio: 3/4.4; border-radius: 28px; overflow: hidden; }
.pz-cartes .pz-image { position: absolute; inset: 0; border-radius: 28px; }
.pz-cartes .pz-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(8,10,20,.85)); transition: background .5s; }
.pz-cartes .pz-texte { position: absolute; inset: auto 0 0 0; padding: 20px; z-index: 2; color: #fff; transform: translateY(calc(100% - 96px)); transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.pz-cartes .pz-texte h3 { color: #fff; font-size: 19px; } .pz-cartes .pz-texte p { color: rgba(255,255,255,.85); font-size: 14px; } .pz-cartes .pz-index { color: #fff; opacity: .8; }
.pz-cartes .pz-lien { color: #fff; } .pz-cartes .pz-num { top: 16px; bottom: auto; font-size: 34px; }
.pz-cartes .pz-bloc:hover .pz-texte, .pz-cartes .pz-bloc:focus-within .pz-texte { transform: none; }
.pz-cartes .pz-bloc:hover .pz-image::after { background: linear-gradient(180deg, rgba(8,10,20,.2), rgba(8,10,20,.92)); }
/* Pile : cartes collantes qui s'empilent */
.pz-pile .pz-liste { display: grid; gap: 26px; }
.pz-pile .pz-bloc { position: sticky; top: calc(100px + var(--i) * 18px); display: grid; grid-template-columns: 1fr 1fr; gap: 0; min-height: 420px; border-radius: 34px; overflow: hidden;
    background: var(--t1-creme); box-shadow: 0 -20px 50px -30px rgba(10,10,30,.35); }
.pz-pile .pz-bloc:nth-child(odd) { background: #fff; }
.pz-pile .pz-image { border-radius: 0; } .pz-pile .pz-texte { padding: 46px; align-self: center; }
@media (prefers-reduced-motion: reduce) { .pz-bloc .pz-image { clip-path: none; } .pz-bloc .pz-image img { transform: none; } .pz-bloc .pz-texte > * { opacity: 1; transform: none; } }
@media (max-width: 1024px) { .pz-cartes .pz-liste { grid-template-columns: repeat(2, 1fr); } .pz-cartes .pz-bloc:last-child { grid-column: span 2; aspect-ratio: 16/9; } }
@media (max-width: 760px) {
    .pz-zigzag .pz-bloc, .pz-pile .pz-bloc { grid-template-columns: 1fr; gap: 20px; } .pz-zigzag .pz-bloc:nth-child(even) .pz-image { order: 0; } .pz-zigzag .pz-liste { gap: 46px; }
    .pz-pile .pz-bloc { position: relative; top: auto; } .pz-pile .pz-image { aspect-ratio: 16/10; } .pz-pile .pz-texte { padding: 24px; }
    .pz-cartes .pz-liste { grid-template-columns: 1fr; } .pz-cartes .pz-bloc, .pz-cartes .pz-bloc:last-child { grid-column: auto; aspect-ratio: 4/3; } .pz-cartes .pz-texte { transform: none; }
}
body.t1:not(.ns-sombre):not(.ns-theme3) .t1-entete.defile .t1-conteneur { background: rgba(255,255,255,.95) !important; }

/* ═══ NOTRE DÉMARCHE — brochure 3D qui se déplie (12/10/2026) ═══ */
.bx-scene { perspective: 2200px; padding: 30px 0 40px; }
.bx-brochure { display: grid; grid-template-columns: repeat(4, 1fr); height: 440px; transform-style: preserve-3d; transform: rotateX(8deg); }
.bx-page { position: relative; background: #f7f5f0; color: #1a1a1a; padding: 26px 22px; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(0,0,0,.5); transform-style: preserve-3d;
    transition: transform 1.4s cubic-bezier(.2,.8,.2,1); }
.bx-page::after { content: ''; position: absolute; inset: 0; pointer-events: none; transition: opacity 1.4s; }
.bx-page.p1 { padding: 0; transform-origin: right center; transform: rotateY(80deg); } .bx-page.p1 img { width: 100%; height: 100%; object-fit: cover; }
.bx-page.p2 { transform-origin: left center; transform: rotateY(-80deg); } .bx-page.p2::after { background: linear-gradient(90deg, rgba(0,0,0,.18), transparent 30%); }
.bx-page.p3 { transform-origin: right center; transform: rotateY(80deg); display: grid; place-items: center; } .bx-page.p3::after { background: linear-gradient(-90deg, rgba(0,0,0,.14), transparent 30%); }
.bx-page.p4 { transform-origin: left center; transform: rotateY(-80deg); }
.bx-section.ouverte .bx-page.p1 { transform: rotateY(-14deg); } .bx-section.ouverte .bx-page.p2 { transform: rotateY(14deg); }
.bx-section.ouverte .bx-page.p3 { transform: rotateY(-14deg); } .bx-section.ouverte .bx-page.p4 { transform: rotateY(14deg); }
.bx-section.ouverte .bx-page.p2, .bx-section.ouverte .bx-page.p3 { transition-delay: .15s; } .bx-section.ouverte .bx-page.p4 { transition-delay: .3s; }
.bx-marque { display: block; font-size: 9.5px; letter-spacing: .24em; color: #8a857a; margin-bottom: 14px; text-align: center; }
.bx-page h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 26px; color: #1a1a1a; margin-bottom: 14px; }
.bx-etapes { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 1px solid #c9c4b8; display: grid; gap: 12px; }
.bx-etapes li { position: relative; } .bx-etapes li::before { content: ''; position: absolute; left: -18px; top: 6px; width: 7px; height: 7px; border-radius: 50%; background: var(--t1-marque); }
.bx-etapes b { display: block; font-family: Georgia, serif; font-weight: 400; font-size: 17px; color: #1a1a1a; } .bx-etapes span { font-size: 12.5px; color: #5c584f; line-height: 1.45; }
.bx-page blockquote { margin: 0; font-family: Georgia, serif; font-size: clamp(19px, 1.9vw, 26px); line-height: 1.35; color: #1a1a1a; text-align: left; }
.bx-page.p4 p { font-size: 13.5px; color: #4a463f; line-height: 1.6; margin: 0 0 16px; } .bx-page .pz-lien { color: #1a1a1a !important; }
@media (prefers-reduced-motion: reduce) { .bx-page { transition: none; } .bx-page.p1, .bx-page.p2, .bx-page.p3, .bx-page.p4 { transform: none; } }
@media (max-width: 900px) { .bx-brochure { grid-template-columns: 1fr 1fr; height: auto; transform: none; } .bx-page { min-height: 300px; } .bx-page.p1, .bx-page.p2, .bx-page.p3, .bx-page.p4, .bx-section.ouverte .bx-page { transform: none !important; } }
@media (max-width: 560px) { .bx-brochure { grid-template-columns: 1fr; } }

/* ═══ GRANDE OUVERTURE — serrure révélée au défilement (12/10/2026) ═══ */
.ov-section { position: relative; height: 220vh; margin: 40px 0; }
.ov-collant { position: sticky; top: 0; height: 100vh; overflow: hidden; display: grid; place-items: center; background: var(--t5-nuit, #0b1020); --p: 0; }
.ov-photo { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(calc(1.25 - var(--p) * .25));
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 160'%3E%3Cpath d='M50 0a34 34 0 0 1 18 63l12 97H20l12-97A34 34 0 0 1 50 0z'/%3E%3C/svg%3E") center / calc(14% + var(--p) * 420%) no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 160'%3E%3Cpath d='M50 0a34 34 0 0 1 18 63l12 97H20l12-97A34 34 0 0 1 50 0z'/%3E%3C/svg%3E") center / calc(14% + var(--p) * 420%) no-repeat; }
.ov-voile { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55)); opacity: calc(var(--p) * 1.2); }
.ov-texte { position: relative; z-index: 2; text-align: center; color: #fff; max-width: 760px; padding: 0 20px; opacity: calc((var(--p) - .55) * 3); transform: translateY(calc((1 - var(--p)) * 40px)); }
.ov-texte h2 { color: #fff !important; font-size: clamp(32px, 4.6vw, 64px); line-height: 1.05; margin: 0 0 14px; } .ov-texte p { color: rgba(255,255,255,.88); font-size: 18px; margin: 0 0 24px; }
.ov-btn { display: inline-flex; align-items: center; gap: 10px; border-radius: 999px; padding: 14px 26px; font-weight: 700; background: #fff; color: #0b0b0c !important; } .ov-btn svg { width: 17px; height: 17px; }
@media (prefers-reduced-motion: reduce) { .ov-section { height: auto; } .ov-collant { position: relative; --p: 1 !important; } }
/* Les sections « collantes » (pile, grande ouverture) exigent qu'aucun parent ne crée de zone de défilement. */
body.t1 { overflow-x: clip !important; } html { overflow-x: clip; }
@media (min-width: 901px) { .bx-brochure { height: 500px; } }
.ov-photo { -webkit-mask-size: calc(7% + var(--p) * 430%); mask-size: calc(7% + var(--p) * 430%); }
/* Grande ouverture sur téléphone (12/10/2026) : trou de serrure dimensionné sur la HAUTEUR (écran en portrait),
   assez grand dès le départ ; hauteur d'écran réelle (svh) pour la barre d'adresse mobile. */
@media (max-width: 760px) {
  .ov-section { height: 190vh; }
  .ov-collant { height: 100svh; }
  .ov-photo { -webkit-mask-size: auto calc(22% + var(--p) * 620%); mask-size: auto calc(22% + var(--p) * 620%); }
  .ov-texte p { font-size: 16px; }
}
