/*!
 * THÈME 8 « SIÈGE » (12/10/2026) — code propriétaire. S'ajoute au socle du Thème 1.
 * Inspiré de « Headquarters landing page — 3D animation » (Dribbble).
 */
body.ns-theme8 { --t1-encre: #0b0b0c; --t1-creme: #f4f4f2; background: #fafaf8; font-family: 'Instrument Sans', 'main-font-family', system-ui, sans-serif; }
body.ns-theme8 h1, body.ns-theme8 h2, body.ns-theme8 .t1-titre-section { font-weight: 600; letter-spacing: -.045em; }
body.ns-theme8 .t1-serif { background: none; color: #8a8a86 !important; }
body.ns-theme8 .t1-formation, body.ns-theme8 .t2-fin, body.ns-theme8 .t2-avi, body.ns-theme8 .t2-membre, body.ns-theme8 .t2-une, body.ns-theme8 .t2-faq details, body.ns-theme8 .t2-access, body.ns-theme8 .t1-session, body.ns-theme8 .t7-carte, body.ns-theme8 .t7-formation, body.ns-theme8 .t8-kpi, body.ns-theme8 .t2-tuile, body.ns-theme8 .t1-carte-form { border: 1px solid #e6e6e2 !important; box-shadow: none !important; border-radius: 6px; background: #fff; }
body.ns-theme8 .t1-btn.plein, body.ns-theme8 .t4-btn, body.ns-theme8 .t7-btn { border: 0 !important; box-shadow: none !important; border-radius: 4px; background: #0b0b0c !important; color: #fff !important; }
body.ns-theme8 .t1-sur-titre { transform: none; box-shadow: none; border: 0; background: none; padding: 0; color: #8a8a86; letter-spacing: .14em; } body.ns-theme8 .t1-sur-titre::before { display: none; }
body.ns-theme8 .t2-defile { background: #0b0b0c; color: #fafaf8; border: 0; transform: none; } body.ns-theme8 .t2-sombre, body.ns-theme8 .t6-finance, body.ns-theme8 .t6-portail { border-radius: 8px; }
.tx-actions { display: flex; gap: 12px; flex-wrap: wrap; } .tx-btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 4px; padding: 13px 22px; font-weight: 600; background: #0b0b0c; color: #fff !important; }
.tx-btn svg { width: 16px; height: 16px; } .tx-btn.sec { background: transparent; color: #0b0b0c !important; border: 1px solid #0b0b0c; }
.s8-heros { background: #fafaf8; padding: 150px 0 50px; color: #0b0b0c; }
.s8-grille { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: center; }
.s8-petit { font-size: 12.5px; text-transform: uppercase; letter-spacing: .14em; color: #8a8a86; }
.s8-titre { font-size: clamp(46px, 6.4vw, 104px); line-height: .95; margin: 18px 0 24px; color: #0b0b0c !important; } .s8-titre span { color: #8a8a86; }
.s8-lead { max-width: 520px; color: #55554f; font-size: 17px; margin: 0 0 28px; }
.s8-scene { position: relative; height: 420px; display: grid; place-items: center; perspective: 900px; }
.s8-piece { position: relative; width: 240px; height: 240px; transform-style: preserve-3d; animation: s8-tourne 9s ease-in-out infinite; }
.s8-piece .face, .s8-piece .dos { position: absolute; inset: 0; border-radius: 50%; backface-visibility: hidden; display: grid; place-items: center; text-align: center;
    background: radial-gradient(circle at 30% 25%, #fff6d2, var(--t4-jaune) 35%, color-mix(in srgb, var(--t4-jaune) 55%, #5a4310) 75%); box-shadow: inset 0 0 0 10px color-mix(in srgb, var(--t4-jaune) 70%, #3a2a05), inset 0 0 30px rgba(0,0,0,.25), 0 30px 50px -20px rgba(0,0,0,.35); }
.s8-piece .face img { max-width: 60%; max-height: 40%; object-fit: contain; filter: sepia(1) saturate(2) brightness(.55); }
.s8-piece .face b, .s8-piece .dos b { font-size: 64px; font-weight: 700; color: color-mix(in srgb, var(--t4-jaune) 45%, #3a2a05); text-shadow: 0 1px 0 rgba(255,255,255,.5); }
.s8-piece .dos { transform: rotateY(180deg); } .s8-piece .dos small { display: block; font-weight: 700; color: #5a4310; margin-top: -30px; }
@keyframes s8-tourne { 0%, 20% { transform: rotateY(-20deg) rotateX(8deg); } 50%, 70% { transform: rotateY(160deg) rotateX(8deg); } 100% { transform: rotateY(340deg) rotateX(8deg); } }
.s8-ombre { position: absolute; bottom: 40px; width: 200px; height: 24px; border-radius: 50%; background: radial-gradient(closest-side, rgba(0,0,0,.22), transparent); animation: s8-ombre 9s ease-in-out infinite; }
@keyframes s8-ombre { 50% { transform: scaleX(.6); } }
.s8-bureau { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 50px; border-top: 1px solid #0b0b0c; }
.s8-bureau > div { padding: 18px 18px 0 0; } .s8-bureau small { display: block; color: #8a8a86; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 6px; }
.s8-bureau b, .s8-bureau a { color: #0b0b0c !important; font-weight: 600; overflow-wrap: anywhere; }
.s8-rapport { padding: 100px 0; background: #0b0b0c; color: #fafaf8; } .s8-rapport .s8-petit { color: #8a8a86; }
.s8-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0; margin-top: 24px; }
.s8-chiffres > div { border-top: 1px solid #3a3a38; padding: 20px 20px 0 0; } .s8-chiffres b { display: block; font-size: clamp(60px, 8vw, 120px); font-weight: 600; letter-spacing: -.06em; line-height: 1; color: #fafaf8; }
.s8-chiffres span { color: #8a8a86; text-transform: uppercase; letter-spacing: .12em; font-size: 12.5px; }
.ps-tete { padding: 150px 0 60px; background: #fafaf8; border-bottom: 1px solid #0b0b0c; } .ps-centre { position: relative; }
.ps-tete .t1-fil, .ps-tete .t1-fil a { color: #8a8a86; } .ps-titre { font-size: clamp(42px, 6vw, 96px); line-height: .95; margin: 16px 0; color: #0b0b0c !important; } .ps-mot { color: #8a8a86; }
.ps-sous { color: #55554f; max-width: 620px; margin: 0; } .ps-puces { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; } .ps-puces span { display: inline-flex; gap: 8px; align-items: center; border: 1px solid #0b0b0c; border-radius: 4px; padding: 6px 12px; font-size: 13.5px; } .ps-puces svg { width: 15px; height: 15px; }
@media (max-width: 900px) { .s8-grille { grid-template-columns: 1fr; } .s8-scene { height: 300px; } .s8-piece { width: 180px; height: 180px; } .s8-bureau { grid-template-columns: 1fr 1fr; } }
@media (prefers-reduced-motion: reduce) { .s8-piece, .s8-ombre { animation: none; } }
body.ns-theme8.sur-heros .t1-entete .t1-actions .t1-btn.plein, body.ns-theme8 .t1-entete .t1-actions .t1-btn.plein { background: #0b0b0c !important; color: #fff !important; border-color: #0b0b0c !important; }
/* Lisibilité (12/10/2026) : les tuiles de couleur gardent un fond foncé sous leur texte blanc. */
body.ns-theme8 .t2-tuile.marque { background: var(--t1-marque) !important; } body.ns-theme8 .t2-tuile.sombre { background: var(--t5-nuit, #0b1020) !important; }
body.ns-theme8 .t2-tuile.marque h3, body.ns-theme8 .t2-tuile.marque p, body.ns-theme8 .t2-tuile.sombre h3 { color: #fff !important; } body.ns-theme8 .t2-tuile.sombre p { color: rgba(255,255,255,.75) !important; }
body.ns-theme8 .t2-appel { box-shadow: none !important; border: 0 !important; } body.ns-theme8 .t2-appel .t1-serif, body.ns-theme8 .t2-appel h2 .t1-serif { color: #fff !important; opacity: .85; -webkit-text-fill-color: #fff; background: none !important; }
