
body.site { background: #fff; }
.site header.haut { position: sticky; top: 0; z-index: 10; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--ligne); }
.site .contenu { max-width: 1120px; margin: 0 auto; padding: 0 1.4rem; }
.site header.haut .contenu { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 76px; }
.site header.haut .marque img { height: 44px; }
.site .bouton.app { background: linear-gradient(90deg, #F5A11B 0%, #F26A1A 55%, #E8401C 100%); color: #fff; border: none; box-shadow: 0 6px 18px rgba(240,106,26,.28); padding: .7rem 1.25rem; font-weight: 600; }
.site .bouton.app:hover { filter: brightness(1.05); }
.site .compare { width: 100%; border-collapse: collapse; margin-top: 1.6rem; font-size: .95rem; }
.site .compare th, .site .compare td { text-align: left; padding: .8rem .6rem; border-bottom: 1px solid var(--ligne); vertical-align: top; }
.site .compare th { font-family: var(--display); font-weight: 600; color: var(--texte); }
.site .compare td:first-child { color: var(--gris); }
.site .compare .oui { color: var(--juste); font-weight: 600; }
.site .compare .non { color: var(--gris-2); }
.site nav.principale { display: flex; gap: 1.4rem; align-items: center; }
.site nav.principale a { text-decoration: none; color: var(--gris); font-weight: 500; font-size: .95rem; }
.site nav.principale a:hover { color: var(--texte); }
@media (max-width: 860px) { .site nav.principale a.lien { display: none; } }
.site section { padding: clamp(3rem, 7vw, 6rem) 0; }
.site section + section { border-top: 1px solid var(--ligne); }
.site .surtitre { display: inline-block; font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gris); margin-bottom: .9rem; }
.site h1 { font-size: clamp(2.1rem, 5vw, 3.6rem); max-width: 20ch; letter-spacing: -.02em; }
.site h1 em { font-style: normal; color: var(--tete); }
.site h2 { font-size: clamp(1.6rem, 3.2vw, 2.3rem); max-width: 26ch; letter-spacing: -.015em; }
.site h3 { font-size: 1.15rem; }
.site p.grand { font-size: 1.15rem; color: var(--gris); max-width: 58ch; line-height: 1.6; margin-top: 1rem; }
.site p { color: var(--texte); line-height: 1.6; }
.site .actions { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1.6rem; }
.site .heros { display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; align-items: center; }
@media (max-width: 860px) { .site .heros { grid-template-columns: 1fr; } }
.site .visuel { width: 100%; aspect-ratio: 3 / 2; border-radius: 16px; background: var(--papier-2); border: 1px solid var(--ligne); display: grid; place-items: center; color: var(--gris-2); font-size: .85rem; overflow: hidden; }
.site .visuel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.site .visuel.transparent { background: transparent; border: none; }
.site .visuel.large { aspect-ratio: 16 / 9; }
.site .grille { display: grid; gap: 1.2rem; grid-template-columns: repeat(3, 1fr); margin-top: 2rem; }
.site .grille.deux { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 860px) { .site .grille, .site .grille.deux { grid-template-columns: 1fr; } }
.site .carte { border: 1px solid var(--ligne); border-radius: 16px; padding: 1.4rem; display: grid; gap: .7rem; align-content: start; background: #fff; }
.site .carte .num { font-family: var(--display); font-weight: 700; font-size: 2rem; color: var(--ligne-2); line-height: 1; }
.site .carte p { color: var(--gris); font-size: .95rem; }
.site .liste-coches { list-style: none; padding: 0; margin: 1.2rem 0 0; display: grid; gap: .6rem; }
.site .liste-coches li { padding-left: 1.6rem; position: relative; line-height: 1.5; }
.site .liste-coches li::before { content: "✓"; position: absolute; left: 0; color: var(--juste); font-weight: 700; }
.site .types { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-top: 1.6rem; }
.site .types div { padding: .9rem 1rem; border-radius: 10px; background: var(--papier-2); font-weight: 500; font-size: .95rem; }
.site .types div small { display: block; color: var(--gris); font-weight: 400; margin-top: .15rem; }
.site .chiffres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2rem; }
@media (max-width: 700px) { .site .chiffres { grid-template-columns: 1fr; } }
.site .chiffres div b { display: block; font-family: var(--display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; line-height: 1; }
.site .chiffres div span { color: var(--gris); }
.site .sombre { background: var(--encre-2); color: #fff; }
.site .sombre h2, .site .sombre p { color: #fff; }
.site .sombre p.grand { color: #B7BCC7; }
.site .sombre .carte { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.site .sombre .carte p { color: #B7BCC7; }
.site .sombre .bouton.second { color: #fff; border-color: rgba(255,255,255,.4); background: transparent; }
.site .faq details { border-top: 1px solid var(--ligne); padding: 1rem 0; }
.site .faq details:last-child { border-bottom: 1px solid var(--ligne); }
.site .faq summary { cursor: pointer; font-weight: 600; font-family: var(--display); font-size: 1.05rem; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.site .faq summary::after { content: "+"; color: var(--gris); }
.site .faq details[open] summary::after { content: "–"; }
.site .faq details p { margin-top: .6rem; color: var(--gris); max-width: 70ch; }
.site footer.bas { border-top: 1px solid var(--ligne); padding: 2.5rem 0; font-size: .9rem; color: var(--gris); }
.site footer.bas .contenu { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; }
@media (max-width: 760px) { .site footer.bas .contenu { grid-template-columns: 1fr; } }
.site footer.bas h4 { margin: 0 0 .6rem; font-family: var(--display); font-weight: 600; color: var(--texte); font-size: .95rem; }
.site footer.bas a { color: inherit; }
.site footer.bas ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.site .mentions { max-width: 1120px; margin: 0 auto; padding: 1rem 1.4rem 2rem; font-size: .8rem; color: var(--gris-2); display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; }

/* pages intérieures */
.site section.entete-page { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(1.5rem, 3vw, 2.5rem); }
.site section.entete-page p.grand { max-width: 64ch; }
.site .fil { font-size: .82rem; color: var(--gris); margin-bottom: 1rem; }
.site .fil a { color: var(--gris); text-decoration: none; }
.site .bloc-texte { max-width: 72ch; }
.site .bloc-texte p + p { margin-top: .9rem; }
.site .definition { border-left: 3px solid var(--tete); padding: .2rem 0 .2rem 1rem; margin: 1.2rem 0; color: var(--texte); font-size: 1.05rem; max-width: 70ch; }
.site ul.simple { padding-left: 1.2rem; line-height: 1.6; }
.site ul.simple li + li { margin-top: .35rem; }
.site .cta-bloc { background: var(--papier-2); border-radius: 16px; padding: 1.6rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.site .cta-bloc h3 { margin: 0; }
.site nav.principale .menu-metiers { position: relative; }
.site .metiers-liste { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); margin-top: 1.4rem; }
.site .metiers-liste a { display: block; padding: 1rem 1.1rem; border: 1px solid var(--ligne); border-radius: 12px; text-decoration: none; color: var(--texte); font-weight: 500; }
.site .metiers-liste a small { display: block; color: var(--gris); font-weight: 400; margin-top: .2rem; }
.site .metiers-liste a:hover { border-color: var(--encre); }
.site .encart { border: 1px solid var(--ligne); border-radius: 12px; padding: 1.2rem 1.4rem; margin-top: 1.5rem; background: #fff; }
.site .encart h3 { margin-bottom: .6rem; }
.site .encart ul.simple { margin: 0; }
.site .avertissement { background: #FFF6E5; border: 1px solid #F3DDB4; border-radius: 12px; padding: 1rem 1.2rem; font-size: .95rem; color: #6B4E13; margin-top: 1.2rem; }
/* démonstration */
.demo-scene { background: var(--encre-2); color: #fff; border-radius: 16px; padding: 1.6rem 1.8rem; min-height: 320px; display: grid; align-content: center; gap: 1rem; }
.demo-scene h3 { font-size: 1.5rem; }
.demo-scene .resultats { font-size: 1.05rem; }
.demo-scene .pastille { border-color: rgba(255,255,255,.35); color: #fff; }
.demo-scene .ligne-resultat .barre { background: rgba(255,255,255,.12); }
.demo-scene .ligne-resultat .barre i { background: #DCE1EA; }
.demo-scene .ligne-resultat.tete .barre i { background: var(--tete); }
.demo-scene .ligne-resultat.tete .pct { color: var(--tete); }
.demo-scene .ligne-resultat.juste .barre i, .demo-scene .ligne-resultat.juste .pastille { background: var(--juste); }
.demo-scene .ligne-resultat.juste .pct { color: var(--juste); }
.demo-scene .nuage span { color: #fff; }
.demo-scene .attente { opacity: .7; font-style: italic; }
.demo-scene .compteur { font-size: .85rem; opacity: .8; }
.demo-phone { width: 300px; margin: 0 auto; background: #fff; border-radius: 26px; border: 6px solid #1D2130; padding: 1rem .9rem; min-height: 520px; display: grid; align-content: start; gap: .8rem; }
.demo-phone .question { font-size: 1.05rem; font-weight: 600; font-family: var(--display); }
.demo-phone .choix button { font-size: .95rem; padding: .7rem .8rem; }
.demo-console { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; margin-top: 1rem; }
.demo-layout { display: grid; grid-template-columns: 1fr 340px; gap: 2rem; align-items: start; margin-top: 2rem; }
@media (max-width: 860px) { .demo-layout { grid-template-columns: 1fr; } }

/* ===== v5 · direction Broadcast (accueil, diffusion) ===== */
:root { --nuit: #0F2340; --nuit-2: #163356; --orange: #F26A1A; --ambre: #F5A11B; }
.site.v5 { background: #fff; }
.site.v5 section { padding: clamp(2.2rem, 4.5vw, 3.6rem) 0; }
.site.v5 section + section { border-top: none; }
.site.v5 header.haut { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--ligne); transition: box-shadow .2s; }
.site.v5 header.haut.defile { box-shadow: 0 6px 24px rgba(15,35,64,.12); }
.site.v5 nav.principale a { color: var(--gris); }
.site.v5 nav.principale a:hover { color: var(--texte); }
.site.v5 .marque img { height: 42px; }
.site.v5 .heros-nuit { background: var(--nuit); color: #fff; padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem, 4vw, 3.5rem); overflow: hidden; }
.site.v5 .heros-nuit .heros { grid-template-columns: 1.05fr 1fr; gap: 2.5rem; }
.site.v5 .heros-nuit h1 { color: #fff; font-weight: 700; font-size: clamp(2.2rem, 4.6vw, 3.9rem); letter-spacing: -.025em; line-height: 1.05; max-width: 16ch; }
.site.v5 .heros-nuit h1 em { color: var(--orange); }
.site.v5 .heros-nuit .surtitre { color: var(--ambre); }
.site.v5 .heros-nuit p.grand { color: rgba(255,255,255,.8); font-size: 1.08rem; margin-top: 1rem; max-width: 52ch; }
.site.v5 .heros-nuit .bouton.second { color: #fff; border-color: rgba(255,255,255,.4); background: transparent; }
.site.v5 .heros-nuit .bouton { background: #fff; color: var(--nuit); }
.site.v5 .ecran { position: relative; }
.site.v5 .ecran::before { content: ""; position: absolute; inset: 8% -6% -10% 12%; background: var(--orange); border-radius: 18px; transform: rotate(-3deg); opacity: .95; }
.site.v5 .ecran img { position: relative; width: 100%; border-radius: 14px; box-shadow: 0 30px 60px rgba(0,0,0,.45); display: block; }
.site.v5 .preuve { background: #fff; border-bottom: 1px solid var(--ligne); }
.site.v5 .preuve .contenu { display: flex; gap: 1.2rem 2rem; flex-wrap: wrap; justify-content: center; padding-top: .8rem; padding-bottom: .8rem; font-size: .8rem; color: var(--gris); font-weight: 500; }
.site.v5 .preuve span::before { content: "•"; color: var(--orange); margin-right: .5rem; }
.site.v5 .gris { background: var(--papier-2); }
.site.v5 .nuit { background: var(--nuit); color: #fff; }
.site.v5 .nuit h2, .site.v5 .nuit p { color: #fff; }
.site.v5 .nuit p.grand { color: rgba(255,255,255,.78); }
.site.v5 .nuit .surtitre { color: var(--ambre); }
.site.v5 .nuit .liste-coches li::before { color: var(--ambre); }
.site.v5 h2 { font-weight: 700; font-size: clamp(1.7rem, 3.4vw, 2.5rem); letter-spacing: -.02em; line-height: 1.1; max-width: 24ch; }
.site.v5 p.grand { font-size: 1.05rem; max-width: 66ch; margin-top: .8rem; }
.site.v5 .grille { gap: 1rem; margin-top: 1.6rem; }
.site.v5 .carte { border: none; background: var(--papier-2); border-radius: 14px; padding: 1.2rem; transition: transform .15s, box-shadow .15s; }
.site.v5 .carte:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(15,35,64,.10); }
.site.v5 .nuit .carte { background: rgba(255,255,255,.07); }
.site.v5 .nuit .carte p { color: rgba(255,255,255,.75); }
.site.v5 .carte .visuel { aspect-ratio: 3 / 2; border: none; margin: -1.2rem -1.2rem 1rem; border-radius: 14px 14px 0 0; background: #fff; }
.site.v5 .carte-image { position: relative; padding: 0; overflow: hidden; min-height: 300px; }
.site.v5 .carte-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.site.v5 .carte-image .legende { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.1rem 1.2rem; background: linear-gradient(180deg, rgba(15,35,64,0), rgba(15,35,64,.92) 55%); color: #fff; }
.site.v5 .carte-image .legende h3 { color: #fff; font-size: 1.15rem; }
.site.v5 .carte-image .legende p { color: rgba(255,255,255,.8); font-size: .9rem; margin-top: .25rem; }
.site.v5 .tuiles { display: grid; gap: .8rem; grid-template-columns: repeat(4, 1fr); margin-top: 1.6rem; }
@media (max-width: 900px) { .site.v5 .tuiles { grid-template-columns: repeat(2, 1fr); } }
.site.v5 .tuile { background: #fff; border-radius: 12px; padding: 1rem 1rem .9rem; display: grid; gap: .4rem; border: 1px solid var(--ligne); }
.site.v5 .tuile svg { width: 26px; height: 26px; stroke: var(--nuit); stroke-width: 1.7; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.site.v5 .tuile b { font-family: var(--display); font-weight: 600; font-size: 1rem; }
.site.v5 .tuile small { color: var(--gris); font-size: .85rem; line-height: 1.35; }
.site.v5 .chiffres { margin-top: 2rem; gap: 1.5rem; }
.site.v5 .chiffres div b { font-size: clamp(2.6rem, 5vw, 4rem); font-weight: 700; color: var(--nuit); }
.site.v5 .chiffres div b em { font-style: normal; color: var(--orange); }
.site.v5 .versus { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.6rem; }
@media (max-width: 760px) { .site.v5 .versus { grid-template-columns: 1fr; } }
.site.v5 .versus > div { border-radius: 14px; padding: 1.3rem 1.4rem; }
.site.v5 .versus .eux { background: var(--papier-2); }
.site.v5 .versus .nous { background: var(--nuit); color: #fff; }
.site.v5 .versus h3 { font-size: 1.05rem; margin-bottom: .8rem; }
.site.v5 .versus ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; font-size: .95rem; }
.site.v5 .versus .eux li::before { content: "✕"; color: var(--gris-2); font-weight: 700; margin-right: .6rem; }
.site.v5 .versus .nous li::before { content: "✓"; color: var(--ambre); font-weight: 700; margin-right: .6rem; }
.site.v5 .etapes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1.6rem; }
@media (max-width: 860px) { .site.v5 .etapes { grid-template-columns: 1fr; } }
.site.v5 .etape { position: relative; padding: 2.4rem 1.2rem 1.2rem; background: var(--papier-2); border-radius: 14px; overflow: hidden; }
.site.v5 .etape .num { position: absolute; top: -.6rem; right: .6rem; font-family: var(--display); font-weight: 700; font-size: 5.2rem; color: rgba(15,35,64,.08); line-height: 1; }
.site.v5 .etape h3 { position: relative; }
.site.v5 .etape p { position: relative; color: var(--gris); font-size: .95rem; margin-top: .4rem; }
.site.v5 .metiers-liste a { background: #fff; }
.site.v5 .bande-cta { background: var(--orange); color: #fff; }
.site.v5 .bande-cta .contenu { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.site.v5 .bande-cta h2 { color: #fff; max-width: 30ch; }
.site.v5 .bande-cta p { color: rgba(255,255,255,.9); }
.site.v5 .bande-cta .bouton { background: #fff; color: var(--nuit); }
.site.v5 .bande-cta .bouton.second { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.site.v5 .faq details { border-top: 1px solid var(--ligne); }
.site.v5 footer.bas { background: var(--nuit); color: rgba(255,255,255,.7); border-top: none; }
.site.v5 footer.bas h4 { color: #fff; }
.site.v5 footer.bas p { color: rgba(255,255,255,.7); }
.site.v5 .mentions { color: rgba(255,255,255,.45); background: var(--nuit); max-width: none; }
.site.v5 .mentions > * { }
.site.v5 .mentions a { color: inherit; }
.site.v5 .metiers-liste { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1000px) { .site.v5 .metiers-liste { grid-template-columns: repeat(2, 1fr); } }
.site.v5 nav.principale a.bouton.app, .site nav.principale a.bouton.app { color: #fff; }

/* v5 · pages intérieures (éditorial resserré) */
.site.v5 section.entete-page { padding: clamp(1.8rem, 4vw, 3rem) 0 clamp(1.4rem, 3vw, 2.2rem); background: var(--papier-2); }
.site.v5 section.entete-page h1 { font-weight: 700; font-size: clamp(1.9rem, 4vw, 3rem); letter-spacing: -.025em; line-height: 1.08; max-width: 18ch; }
.site.v5 section.entete-page p.grand { max-width: 56ch; }
.site.v5 section.entete-page .visuel { border: none; background: transparent; box-shadow: 0 20px 50px rgba(15,35,64,.14); }
.site.v5 .heros-nuit .fil, .site.v5 .heros-nuit .fil a { color: rgba(255,255,255,.6); }
.site.v5 .definition { border-left-color: var(--orange); background: var(--papier-2); padding: .9rem 1.2rem; border-radius: 0 12px 12px 0; margin: 0 0 1.6rem; }
.site.v5 .compare th, .site.v5 .compare td { padding: .65rem .6rem; }
.site.v5 .compare thead th { background: var(--nuit); color: #fff; }
.site.v5 .compare thead th:first-child { border-radius: 10px 0 0 0; } .site.v5 .compare thead th:last-child { border-radius: 0 10px 0 0; }
.site.v5 .encart { background: var(--papier-2); border: none; }
.site.v5 .encart h3::before { content: ""; display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: var(--orange); margin-right: .5rem; vertical-align: middle; }
.site.v5 .metiers-liste a { border: none; box-shadow: 0 1px 0 var(--ligne); }
.site.v5 .metiers-liste a:hover { box-shadow: 0 10px 24px rgba(15,35,64,.12); }
.site.v5 .types div { background: #fff; border: 1px solid var(--ligne); }
.site.v5 .demo-scene { background: var(--nuit); }
.site.v5 .faq h2 { max-width: none; }
.site.v5 .bande-cta + .faq { border-top: none; }

/* ===== v5.1 · système de rythme (échelle 8 px, échelle typographique 1.25, mesure 60 à 70 caractères) ===== */
:root {
  --e1: .5rem; --e2: 1rem; --e3: 1.5rem; --e4: 2rem; --e5: 2.5rem; --e6: 3rem; --e8: 4rem; --e10: 5rem; --e12: 6rem;
  --t-corps: 1.0625rem; --t-grand: 1.1875rem; --t-h3: 1.3125rem; --t-h2: clamp(1.875rem, 2.8vw, 2.375rem); --t-h1: clamp(2.5rem, 4.6vw, 3.5rem);
}
.site.v5 { font-size: var(--t-corps); line-height: 1.6; }
.site.v5 .contenu { max-width: 1160px; padding: 0 var(--e3); }
.site.v5 section { padding: var(--e10) 0; }
@media (max-width: 860px) { .site.v5 section { padding: var(--e8) 0; } }
.site.v5 .surtitre { margin-bottom: var(--e2); font-size: .8125rem; }
.site.v5 h1 { font-size: var(--t-h1); line-height: 1.08; letter-spacing: -.025em; max-width: 18ch; }
.site.v5 h2 { font-size: var(--t-h2); line-height: 1.15; letter-spacing: -.02em; max-width: 26ch; }
.site.v5 h3 { font-size: var(--t-h3); line-height: 1.25; }
.site.v5 p.grand { font-size: var(--t-grand); line-height: 1.6; margin-top: var(--e3); max-width: 60ch; }
.site.v5 .actions { margin-top: var(--e5); gap: var(--e2); }
.site.v5 .bouton { padding: .85rem 1.4rem; font-size: 1rem; }
.site.v5 .heros { gap: var(--e8); align-items: center; }
/* héros et en-têtes de page */
.site.v5 .heros-nuit { padding: var(--e12) 0; }
.site.v5 .heros-nuit h1 { max-width: 15ch; }
.site.v5 .heros-nuit p.grand { margin-top: var(--e3); }
.site.v5 section.entete-page { padding: var(--e10) 0 var(--e8); }
.site.v5 section.entete-page h1 { max-width: 18ch; }
.site.v5 .fil { margin-bottom: var(--e3); }
.site.v5 .preuve .contenu { padding-top: var(--e2); padding-bottom: var(--e2); gap: var(--e2) var(--e5); font-size: .875rem; }
/* blocs de titre puis grilles : un seul rythme */
.site.v5 .grille, .site.v5 .tuiles, .site.v5 .etapes, .site.v5 .metiers-liste, .site.v5 .versus, .site.v5 .compare, .site.v5 .types { margin-top: var(--e6); }
.site.v5 .grille { gap: var(--e3); }
.site.v5 .carte { padding: var(--e4); gap: var(--e2); }
.site.v5 .carte .visuel { margin: calc(var(--e4) * -1) calc(var(--e4) * -1) var(--e3); }
.site.v5 .carte p { font-size: 1rem; line-height: 1.55; }
.site.v5 .carte-image { min-height: 340px; }
.site.v5 .carte-image .legende { padding: var(--e3) var(--e4); }
.site.v5 .tuiles { gap: var(--e2); }
.site.v5 .tuile { padding: var(--e3); gap: var(--e1); }
.site.v5 .chiffres { margin-top: var(--e8); gap: var(--e4); }
.site.v5 .etape { padding: var(--e6) var(--e4) var(--e4); }
.site.v5 .versus > div { padding: var(--e4); }
.site.v5 .versus ul { gap: var(--e2); }
.site.v5 .metiers-liste { gap: var(--e2); }
.site.v5 .metiers-liste a { padding: var(--e3); }
.site.v5 .definition { margin: 0 0 var(--e6); padding: var(--e3) var(--e4); font-size: var(--t-grand); line-height: 1.55; }
.site.v5 .encart { margin-top: var(--e6); padding: var(--e4); }
.site.v5 .compare th, .site.v5 .compare td { padding: .9rem .8rem; }
.site.v5 .liste-coches { margin-top: var(--e4); gap: var(--e2); }
.site.v5 .bande-cta { padding: var(--e8) 0; }
.site.v5 .bande-cta h2 { max-width: 24ch; }
.site.v5 .bande-cta p { margin-top: var(--e1); }
.site.v5 .faq { padding-bottom: var(--e12); }
.site.v5 .faq details { padding: var(--e3) 0; }
.site.v5 .faq summary { font-size: var(--t-h3); }
.site.v5 .faq details p { margin-top: var(--e2); }
.site.v5 footer.bas { padding: var(--e8) 0; }
.site.v5 footer.bas .contenu { gap: var(--e6); }
.site.v5 .demo-layout { margin-top: var(--e6); gap: var(--e6); }
.site.v5 .bloc-texte p + p { margin-top: var(--e2); }
.site.v5 .carte-image { padding: 0; gap: 0; }
.site.v5 .versus ul { font-size: .95rem; }
.site.v5 header.haut .bouton.app, .site header.haut .bouton.app { padding: .56rem 1.2rem; font-size: .95rem; }

/* v5.3 */
.site .menu-metiers { position: relative; }
.site .menu-metiers .sous-menu { position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(6px); background: #fff; border: 1px solid var(--ligne); border-radius: 14px; box-shadow: 0 18px 40px rgba(15,35,64,.16); padding: .6rem; min-width: 340px; display: grid; gap: .15rem; opacity: 0; pointer-events: none; transition: opacity .15s, transform .15s; z-index: 20; }
.site .menu-metiers:hover .sous-menu, .site .menu-metiers:focus-within .sous-menu, .site .menu-metiers.ouvert .sous-menu { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.site .menu-metiers .sous-menu a { display: block; padding: .6rem .8rem; border-radius: 9px; text-decoration: none; color: var(--texte); }
.site .menu-metiers .sous-menu a:hover { background: var(--papier-2); }
.site .menu-metiers .sous-menu a b { display: block; font-family: var(--display); font-weight: 600; font-size: .95rem; }
.site .menu-metiers .sous-menu a small { display: block; color: var(--gris); font-size: .8rem; line-height: 1.3; }
@media (max-width: 860px) { .site .menu-metiers { display: none; } }
.site.v5 .heros-nuit .heros { grid-template-columns: .95fr 1.15fr; }
.site.v5 .ecran::before { inset: 6% -5% -9% 10%; }
.site.v5 .metiers-cartes { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .site.v5 .metiers-cartes { grid-template-columns: 1fr; } }
.site.v5 .metiers-cartes .carte { text-decoration: none; color: var(--texte); background: #fff; }
.site.v5 .metiers-cartes .carte .visuel { aspect-ratio: 16 / 9; }
.site.v5 .metiers-cartes .carte p { color: var(--gris); font-size: 1rem; }
.site.v5 .lien-suite { color: var(--orange); font-weight: 600; font-size: .95rem; margin-top: auto; }
.site.v5 .carte-plus { background: var(--nuit); color: #fff; }
.site.v5 .carte-plus h3, .site.v5 .carte-plus p { color: #fff; }
.site.v5 .carte-plus p { color: rgba(255,255,255,.8); }
.site.v5 .carte-plus .lien-suite { color: var(--ambre); }
.site.v5 .tuile b { font-size: 1.1rem; }
.site.v5 .tuile small { font-size: .95rem; color: var(--texte); line-height: 1.45; }
.site.v5 .tuile svg { width: 30px; height: 30px; }
.site.v5 .contact-cartes .carte { text-align: left; }
.site.v5 .contact-cartes .ico { font-size: 1.6rem; color: var(--orange); }
.site.v5 .contact-cartes .carte .bouton { justify-self: start; margin-top: auto; }

.site.v5 .metiers-cartes .carte.carte-plus { background: var(--nuit); color: #fff; }
.site.v5 .metiers-cartes .carte.carte-plus p { color: rgba(255,255,255,.82); }

/* v5.4 */
.site.v5 .carte .visuel { width: calc(100% + 2 * var(--e4)); }
.site.v5 section.suite { padding-top: 0; }
.site nav.principale a.lien[aria-current="page"] { color: var(--texte); font-weight: 600; position: relative; }
.site nav.principale a.lien[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--orange); border-radius: 2px; }
.site .menu-metiers .sous-menu a[aria-current="page"] { background: var(--papier-2); }
.site .menu-metiers .sous-menu a[aria-current="page"] b { color: var(--orange); }
/* responsive : menu mobile */
.site .burger { display: none; width: 42px; height: 42px; border: 1px solid var(--ligne); border-radius: 10px; background: #fff; padding: 10px 9px; flex-direction: column; justify-content: space-between; cursor: pointer; }
.site .burger span { display: block; height: 2px; background: var(--texte); border-radius: 2px; transition: transform .2s, opacity .2s; }
.site .burger.ouvert span:nth-child(1) { transform: translateY(9px) rotate(45deg); } .site .burger.ouvert span:nth-child(2) { opacity: 0; } .site .burger.ouvert span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }
.site .menu-mobile { display: none; }
@media (max-width: 860px) {
  .site .burger { display: flex; }
  .site nav.principale .bouton.app { display: none; }
  .site .menu-mobile.ouvert { display: grid; border-top: 1px solid var(--ligne); background: #fff; padding: .5rem 1rem 1rem; gap: .1rem; }
  .site .menu-mobile a { padding: .8rem .6rem; border-bottom: 1px solid var(--ligne); text-decoration: none; color: var(--texte); font-weight: 500; }
  .site .menu-mobile a:last-child { border: none; margin-top: .6rem; background: var(--orange); color: #fff; border-radius: 10px; text-align: center; font-weight: 600; }
  .site .menu-mobile a[aria-current="page"] { color: var(--orange); }
  .site.v5 .heros, .site.v5 .heros-nuit .heros { grid-template-columns: 1fr; gap: var(--e5); }
  .site.v5 .heros > .visuel, .site.v5 .heros > .ecran { order: -1; }
  .site.v5 h1 { font-size: 2.1rem; max-width: none; }
  .site.v5 h2 { font-size: 1.6rem; max-width: none; }
  .site.v5 .heros-nuit { padding: var(--e6) 0; }
  .site.v5 section.entete-page { padding: var(--e6) 0 var(--e5); }
  .site.v5 section { padding: var(--e6) 0; }
  .site.v5 .actions .bouton { width: 100%; }
  .site.v5 .compare { display: block; overflow-x: auto; }
  .site.v5 .compare thead th, .site.v5 .compare td { min-width: 160px; }
  .site.v5 .chiffres { grid-template-columns: 1fr; }
  .site.v5 .grille, .site.v5 .metiers-cartes, .site.v5 .versus, .site.v5 .etapes, .site.v5 .contact-cartes { grid-template-columns: 1fr; }
  .site.v5 .tuiles { grid-template-columns: 1fr 1fr; }
  .site.v5 .carte-image { min-height: 240px; }
  .site.v5 .bande-cta .contenu { flex-direction: column; align-items: flex-start; }
  .site.v5 .preuve .contenu { justify-content: flex-start; gap: .5rem 1.2rem; }
  .site .demo-phone { width: 100%; }
  .site footer.bas .contenu { grid-template-columns: 1fr; }
  .site .mentions { flex-direction: column; }
}

/* v5.5 · démonstration et divers */
.site.v5 section.premiere { padding-top: var(--e6); }
.site.v5 footer.bas .ip { color: #fff; font-family: var(--display); font-weight: 700; font-size: 1.05rem; }
.demo-grille { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--e4); align-items: start; }
@media (max-width: 900px) { .demo-grille { grid-template-columns: 1fr; } }
.demo-col .surtitre { margin-bottom: var(--e2); }
.demo-live { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #0d0f14; box-shadow: 0 20px 50px rgba(15,35,64,.18); }
.demo-live img { width: 100%; height: 100%; object-fit: cover; display: block; }
.demo-live .badge-live { position: absolute; top: 12px; left: 12px; background: rgba(15,17,20,.75); color: #fff; font-family: var(--display); font-weight: 700; font-size: .78rem; letter-spacing: .08em; padding: .3rem .6rem .3rem .5rem; border-radius: 6px; display: inline-flex; align-items: center; gap: .4rem; }
.demo-live .badge-live .point { width: 8px; height: 8px; border-radius: 50%; background: #E8401C; animation: clignoteLive 1s ease-in-out infinite; }
@keyframes clignoteLive { 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(232,64,28,.6); } 50% { opacity: .35; box-shadow: 0 0 0 6px rgba(232,64,28,0); } }
.demo-live .votez-surcouche { width: min(300px, 60%); font-size: .9rem; }
.demo-live .votez-surcouche .question { font-size: .95rem; }
.demo-live .votez-surcouche .choix button { padding: .45rem .6rem; font-size: .85rem; }
.demo-live .votez-surcouche .bouton.large { padding: .45rem; font-size: .9rem; }
.demo-scene { aspect-ratio: 16 / 9; min-height: 0; padding: 1.4rem 1.6rem; border-radius: 14px; background: var(--nuit) url("fond-scene.webp") center/cover; box-shadow: 0 20px 50px rgba(15,35,64,.18); overflow: hidden; }
.demo-scene h3 { font-size: 1.15rem; }
.demo-scene .resultats { font-size: .92rem; gap: .4rem; }
.demo-scene .ligne-resultat .barre { height: 8px; }
.demo-scene .nuage { font-size: .95rem; }
.demo-scene .notation .moyenne { font-size: 2.2em; }
.demo-scene .compteur { font-size: .8rem; }
.demo-regie { margin-top: var(--e5); background: #fff; border: 1px solid var(--ligne); border-radius: 14px; padding: var(--e3) var(--e4); }
.demo-regie-titre { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--e2); }
.demo-regie-titre .surtitre { margin: 0; }
.demo-compteur { font-family: var(--display); font-weight: 600; color: var(--gris); }
.demo-boutons { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: var(--e2); }
@media (max-width: 760px) { .demo-boutons { grid-template-columns: 1fr; } }
.demo-boutons .bouton { padding: .95rem 1rem; font-size: 1rem; border-radius: 12px; }
.demo-boutons .bouton.accent { background: var(--accent); }
.demo-boutons .bouton.accent:disabled { opacity: 1; }
.demo-boutons .bouton.clignote { animation: clignoteBouton 1.1s ease-in-out infinite; }
@keyframes clignoteBouton { 0%, 100% { box-shadow: 0 0 0 0 rgba(27,125,174,.45); } 50% { box-shadow: 0 0 0 8px rgba(27,125,174,0); opacity: .85; } }
.demo-boutons .bouton.reveler { background: #fff; color: #EF6666; border: 1.5px solid #EF6666; }
.demo-boutons .bouton.reveler.actif { background: #EF6666; color: #fff; }
.demo-boutons .bouton.reveler:disabled.actif { opacity: 1; }
.demo-boutons .bouton.fermer { background: #FEB362; color: #1F2229; }
.demo-boutons .bouton.fermer:disabled { opacity: .4; }
.demo-note { font-size: .85rem; color: var(--gris); margin-top: var(--e2); }
.demo-phone-zone { margin-top: var(--e5); display: grid; justify-items: center; gap: var(--e2); }
.demo-phone { width: 320px; min-height: 420px; border-radius: 30px; border: 8px solid #1D2130; padding: 1rem; }
.demo-phone-entete { display: flex; justify-content: space-between; font-size: .8rem; color: var(--gris); }
.demo-live .votez-surcouche.resultats-vote { width: min(320px, 62%); max-height: 88%; overflow: hidden; padding: .7rem .8rem; }
.demo-live .votez-surcouche.resultats-vote .question { font-size: .85rem; margin: .2rem 0 .4rem; }
.demo-live .votez-surcouche.resultats-vote .entete-page { font-size: .7rem; margin-bottom: .2rem; }
.demo-live .votez-surcouche.resultats-vote .resultats { font-size: .78rem; gap: .25rem; }
.demo-live .votez-surcouche.resultats-vote .ligne-resultat .barre { height: 5px; }
.demo-live .votez-surcouche.resultats-vote .pastille { width: 1.25rem; height: 1.25rem; font-size: .7rem; }
/* v5.6 · démonstration en deux rangs */
.demo-rang { display: grid; grid-template-columns: 340px 1fr; gap: var(--e4); align-items: start; }
.demo-rang + .demo-rang { margin-top: var(--e6); }
.demo-rang-bas { grid-template-columns: 1fr 1fr; }
@media (max-width: 900px) { .demo-rang, .demo-rang-bas { grid-template-columns: 1fr; } }
.demo-col-phone .demo-phone { width: 100%; max-width: 340px; }
.demo-phone-zone { display: none; }
.demo-regie { margin-top: 0; }
.demo-regie-titre { align-items: center; }
.demo-etat { font-family: var(--display); font-weight: 600; display: inline-flex; align-items: center; gap: .5rem; }
.pastille-etat { width: 10px; height: 10px; border-radius: 50%; background: var(--gris-2); display: inline-block; }
.pastille-etat.ouvert { background: var(--juste); box-shadow: 0 0 0 4px rgba(31,157,106,.2); }
.pastille-etat.ferme { background: #EF6666; }
.demo-boutons { grid-template-columns: 1fr 1fr 1fr; }
.demo-nav { display: flex; gap: var(--e2); margin-top: var(--e2); }
.demo-pages { display: grid; gap: .4rem; margin-top: var(--e2); }
.demo-page { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: center; padding: .55rem .8rem; border: 1.5px solid var(--ligne); border-radius: 10px; cursor: pointer; }
.demo-page .num { font-family: var(--display); font-weight: 600; color: var(--gris-2); width: 1.4rem; text-align: right; }
.demo-page .meta { font-size: .75rem; color: var(--gris); }
.demo-page .meta .ok { color: var(--juste); font-weight: 600; }
.demo-page .nom { font-weight: 500; font-size: .92rem; }
.demo-page.courante { border-color: var(--encre); background: var(--papier-2); }
.demo-page.en-vote { background: var(--accent); border-color: var(--accent); color: #fff; }
.demo-page.en-vote .meta, .demo-page.en-vote .num { color: rgba(255,255,255,.8); }
.demo-scene { min-height: 300px; }
.demo-live .votez-surcouche { width: min(320px, 55%); }
.demo-live video { width: 100%; height: 100%; object-fit: cover; display: block; }
.demo-live .votez-surcouche.reduite { width: auto; }

/* v5.7 · démonstration */
.site header.haut { z-index: 60; }
.demo-rang { align-items: stretch; }
.demo-col { display: flex; flex-direction: column; }
.demo-col .surtitre { margin-bottom: var(--e2); }
.demo-col-phone .demo-phone { flex: 1; height: auto; min-height: 0; max-width: none; width: 100%; padding: .9rem .8rem; border-width: 7px; border-radius: 26px; overflow: auto; align-content: start; gap: .6rem; }
.demo-phone .question { font-size: .98rem; }
.demo-phone .choix { gap: .45rem; }
.demo-phone .choix button { padding: .55rem .7rem; font-size: .9rem; }
.demo-phone .bouton.large { padding: .55rem 1rem; font-size: .95rem; }
.demo-phone .confirmation { padding: .55rem .7rem; font-size: .9rem; }
.demo-phone .resultats { font-size: .85rem; gap: .35rem; }
.demo-phone .ligne-resultat .barre { height: 7px; }
.demo-live { flex: 1; }
/* panneau sur le direct : proportions réelles */
.demo-live .votez-surcouche, .demo-live .votez-surcouche.resultats-vote { width: min(300px, 46%); padding: .8rem .85rem; right: 14px; bottom: 14px; border-radius: 12px; max-height: none; overflow: visible; }
.demo-live .votez-surcouche .entete-page { font-size: .68rem; margin-bottom: .3rem; }
.demo-live .votez-surcouche .question { font-size: 1rem; margin: .3rem 0 .6rem; line-height: 1.25; }
.demo-live .votez-surcouche .choix { gap: .35rem; }
.demo-live .votez-surcouche .choix button { padding: .45rem .6rem; font-size: .85rem; border-radius: 8px; }
.demo-live .votez-surcouche .pastille { width: 1.3rem; height: 1.3rem; font-size: .72rem; }
.demo-live .votez-surcouche .bouton.large { padding: .5rem; font-size: .9rem; margin-top: .5rem; }
.demo-live .votez-surcouche.resultats-vote .resultats { font-size: .8rem; gap: .3rem; }
.demo-live .votez-surcouche.resultats-vote .ligne-resultat .barre { height: 6px; }
/* écran de scène : cadre intégré sur le fond */
.demo-scene { display: flex; align-items: center; padding: 1.4rem; }
.demo-scene .cadre { background: rgba(10,18,36,.55); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 1rem 1.2rem; width: 100%; max-width: 88%; margin: 0 auto; backdrop-filter: blur(2px); }
.demo-scene h3 { font-size: 1rem; margin-bottom: .6rem; }
.demo-scene .resultats { font-size: .85rem; gap: .35rem; }
.demo-scene .ligne-resultat .barre { height: 7px; }
.demo-scene .pastille { width: 1.4rem; height: 1.4rem; font-size: .75rem; }
.demo-scene .compteur { font-size: .75rem; margin-top: .5rem; }
.demo-scene .nuage { font-size: .9rem; }
.demo-scene .notation .moyenne { font-size: 2em; }
.demo-rang .surtitre { min-height: 2.6em; line-height: 1.3; display: block; }
/* v5.8 · démonstration */
.type-pill { display: inline-block; font-family: var(--display); font-weight: 700; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--nuit); background: rgba(15,35,64,.08); padding: .2rem .55rem; border-radius: 999px; }
.demo-scene .type-pill { color: #fff; background: rgba(255,255,255,.14); margin-bottom: .5rem; }
.demo-live .votez-surcouche .type-pill, .demo-phone .type-pill { color: var(--nuit); background: rgba(15,35,64,.08); }
.etat-ouvert { font-size: .75rem; color: var(--juste); font-weight: 600; }
.mot-resultats { color: #D6330D; font-weight: 700; font-size: .8rem; }
.demo-phone-entete { align-items: center; }
.demo-scene { padding: 2.4rem 1.6rem; background-size: cover; background-position: center; }
.demo-scene .cadre { max-width: 84%; }
/* v5.9 · démonstration */
.site.v5 .demo-scene { background: linear-gradient(135deg, rgba(20,70,160,.35) 0%, rgba(5,12,30,.15) 45%, rgba(0,0,0,.45) 100%), url("fond-scene.webp") center/cover no-repeat, var(--nuit); aspect-ratio: auto; min-height: 340px; padding: 2rem; min-width: 0; }
.site.v5 .demo-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 2px, rgba(0,0,0,0) 2px 4px); }
.site.v5 .demo-scene { position: relative; }
.site.v5 .demo-scene .cadre { max-width: none; width: 100%; margin: 0; position: relative; z-index: 1; background: rgba(8,16,34,.62); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 12px 40px rgba(0,0,0,.35); }
.demo-rang-bas > .demo-col { min-width: 0; }
.demo-page .meta .type-nom { font-family: var(--display); font-weight: 700; font-size: .95rem; color: var(--nuit); text-transform: uppercase; letter-spacing: .04em; }
.demo-page.en-vote .meta .type-nom { color: #fff; }
.demo-page .nom { font-size: .88rem; color: var(--gris); font-weight: 400; }
.demo-page.en-vote .nom { color: rgba(255,255,255,.9); }
.demo-page.courante .meta .type-nom { color: var(--orange); }
/* v5.9 · démonstration */
.site.v5 .demo-scene { background: url("fond-scene.webp") center/cover no-repeat, linear-gradient(135deg, #1846A8 0%, #0F2340 55%, #0B1424 100%); }
.demo-rang-bas { align-items: start; }
.demo-scene { width: 100%; height: auto; flex: none; aspect-ratio: 16 / 9; min-height: 0; padding: 1.6rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.demo-scene .cadre { max-width: none; width: 100%; margin: 0; padding: 1rem 1.2rem; }
.demo-page { grid-template-columns: auto 1fr; padding: .6rem .8rem; }
.demo-page .type { font-family: var(--display); font-weight: 700; font-size: .95rem; letter-spacing: .01em; color: var(--nuit); }
.demo-page .type .ok { color: var(--juste); font-size: .75rem; font-weight: 600; margin-left: .4rem; }
.demo-page .nom { font-weight: 400; font-size: .85rem; color: var(--gris); }
.demo-page.en-vote .type, .demo-page.en-vote .nom { color: #fff; }
.demo-page.en-vote .nom { opacity: .85; }
.demo-page .num { font-size: 1.1rem; }
.demo-col { min-width: 0; }
.demo-regie { min-width: 0; }
.demo-boutons { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); }
.demo-boutons .bouton { white-space: normal; line-height: 1.2; padding: .8rem .6rem; font-size: .95rem; }
.demo-live .votez-surcouche .notes { grid-template-columns: repeat(5, 1fr); gap: .35rem; }
.demo-live .votez-surcouche .notes button { padding: .45rem 0; font-size: .95rem; }
.demo-live .votez-surcouche .saisie input { padding: .5rem .7rem; font-size: .9rem; }
.demo-live .votez-surcouche .confirmation { padding: .45rem .6rem; font-size: .8rem; margin-bottom: .5rem; }
.demo-live .votez-surcouche .confirmation .coche { width: 22px; height: 22px; font-size: .8rem; }
.demo-live .votez-surcouche .notation .moyenne { font-size: 1.8rem; }
.demo-live .votez-surcouche .nuage { font-size: .85rem; }
/* v6.1 · démonstration */
.demo-rang .surtitre { color: var(--texte); min-height: 0; margin-bottom: var(--e1); font-size: .82rem; }
.demo-col .surtitre { margin-bottom: var(--e1); }
.demo-scene .cadre h3 { margin: .4rem 0 1.1rem; }
.demo-scene .cadre .resultats { margin-top: .2rem; }
.demo-scene .cadre .attente { margin-top: .6rem; }
.demo-scene .compteur { opacity: 1; color: rgba(255,255,255,.75); margin-top: .9rem; }
.site.v5 footer.bas .ip { color: #fff; }
.demo-col-phone .demo-phone { flex: none; }
.demo-live { flex: none; }
.demo-boutons .bouton { white-space: normal; line-height: 1.2; font-size: .92rem; padding: .7rem .5rem; }
/* v6.2 */
.demo-rang .surtitre { color: var(--gris); }
.demo-rang .surtitre b { color: var(--texte); font-weight: 700; }
.demo-col-phone .demo-phone { gap: .5rem; padding: .8rem .8rem; }
.demo-phone .question { font-size: .95rem; line-height: 1.25; }
.demo-phone .choix { gap: .4rem; }
.demo-phone .choix button { padding: .5rem .65rem; font-size: .88rem; line-height: 1.2; }
.demo-phone .bouton.large { padding: .5rem 1rem; }
/* v6.3 · téléphone rempli */
.demo-col-phone .demo-phone { display: flex; flex-direction: column; gap: .6rem; }
.demo-phone .demo-phone-entete { flex: none; }
.demo-phone .question { flex: none; font-size: 1.02rem; }
.demo-phone .choix { flex: 1; display: flex; flex-direction: column; justify-content: space-evenly; gap: .5rem; }
.demo-phone .choix button { flex: 1; max-height: 64px; font-size: .95rem; padding: .6rem .75rem; }
.demo-phone .notes { flex: none; margin: auto 0; }
.demo-phone .notes button { padding: .9rem 0; font-size: 1.15rem; }
.demo-phone .saisie { margin: auto 0; }
.demo-phone .bouton.large { flex: none; margin-top: auto; padding: .7rem 1rem; font-size: 1rem; }
.demo-phone .confirmation { flex: none; }
.demo-phone .resultats { flex: 1; display: flex; flex-direction: column; justify-content: space-evenly; font-size: .92rem; }
.demo-phone .notation, .demo-phone .nuage { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.demo-phone .nuage { flex-direction: row; flex-wrap: wrap; align-content: center; }
.demo-phone .ligne-resultat .barre { height: 9px; }
.demo-scene .notation .distribution div { background: #DCE1EA; }
.demo-scene .notation .distribution { height: 3em; }
/* v6.5 · guide de démonstration, responsive */
.demo-guide { background: var(--nuit); color: #fff; border-radius: 14px; padding: var(--e3) var(--e4); margin-bottom: var(--e5); display: grid; grid-template-columns: auto 1fr; gap: var(--e2) var(--e5); align-items: center; }
@media (max-width: 900px) { .demo-guide { grid-template-columns: 1fr; } }
.demo-guide-titre { display: grid; gap: .5rem; }
.demo-guide-titre b { font-family: var(--display); font-size: 1.2rem; font-weight: 700; line-height: 1.2; }
.badge-demo { display: inline-block; background: var(--orange); color: #fff; font-family: var(--display); font-weight: 700; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; padding: .25rem .6rem; border-radius: 999px; justify-self: start; }
.demo-guide ol { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; color: rgba(255,255,255,.85); font-size: .95rem; }
.demo-guide ol b { color: #fff; }
.num-etape { display: inline-grid; place-items: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--orange); color: #fff; font-style: normal; font-weight: 700; font-size: .75rem; margin-right: .5rem; vertical-align: middle; }
@media (max-width: 860px) {
  .site header.haut .contenu { height: 60px; }
  .site .marque img, .site.v5 .marque img { height: 32px; }
  .site .burger { width: 38px; height: 38px; padding: 9px 8px; }
  .demo-rang { gap: var(--e3); }
  .demo-col-phone .demo-phone { height: 460px !important; }
  .demo-live { aspect-ratio: auto; height: 460px; }
  .demo-live video { height: 100%; }
  .demo-live .votez-surcouche, .demo-live .votez-surcouche.resultats-vote { width: calc(100% - 24px); right: 12px; bottom: 12px; max-height: calc(100% - 60px); overflow: auto; }
  .demo-live .votez-surcouche.reduite { width: auto; }
}
@media (max-width: 520px) { .demo-boutons { grid-template-columns: 1fr; } .demo-nav { display: grid; grid-template-columns: 1fr 1fr; } }
/* v6.6 */
#demo { scroll-margin-top: 90px; }
.site.v5 .heros-nuit { padding: var(--e8) 0 var(--e10); }
.badge-demo { font-size: .85rem; padding: .45rem .9rem .45rem .7rem; display: inline-flex; align-items: center; gap: .5rem; box-shadow: 0 6px 18px rgba(242,106,26,.35); }
.badge-demo .point { width: 9px; height: 9px; border-radius: 50%; background: #fff; animation: clignoteLive 1.1s ease-in-out infinite; }
.demo-guide-titre { gap: .8rem; align-content: center; }
.demo-guide-titre b { font-size: 1.35rem; }
.demo-live { position: relative; }
.demo-live .video-cadre { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #0d0f14; }
.demo-live .video-cadre video { width: 100%; height: 100%; object-fit: cover; display: block; }
.demo-live .badge-live { z-index: 2; }
.demo-live { box-shadow: none; overflow: visible; aspect-ratio: auto; background: transparent; border-radius: 0; }
.demo-live .votez-surcouche { z-index: 3; }
@media (max-width: 860px) {
  .demo-col-phone .demo-phone { height: auto !important; min-height: 440px; }
  .demo-live { height: auto; }
  .demo-live .video-cadre { aspect-ratio: 16 / 9; }
  .demo-live .votez-surcouche, .demo-live .votez-surcouche.resultats-vote { position: static; width: 100%; max-height: none; overflow: visible; margin-top: 10px; box-shadow: 0 8px 24px rgba(15,35,64,.14); border: 1px solid var(--ligne); }
  .demo-live .votez-surcouche.reduite { width: 100%; }
  .demo-live .votez-surcouche:not(.visible) { display: none; }
}
/* v7.1 · comparatif */
.site.v5 .comparatif-ia td.oui { color: var(--texte); }
.site.v5 .comparatif-ia td.oui::before { content: "✓ "; color: var(--juste); font-weight: 700; }
.site.v5 .comparatif-ia td.non::before { content: "✕ "; color: var(--gris-2); font-weight: 700; }
.site.v5 .comparatif-ia td:first-child { font-weight: 600; color: var(--texte); }
/* v7.3 · titres pleine largeur, héros */
.site.v5 .contenu > h2, .site.v5 .contenu > .entete-section > h2 { max-width: none; }
.site.v5 .heros-nuit h1 { font-size: clamp(2.2rem, 4.2vw, 3.4rem); max-width: 17ch; }
.site.v5 .heros-actions { flex-wrap: nowrap; gap: var(--e2); }
.site.v5 .heros-actions .bouton { padding: .95rem 1.4rem; font-size: 1.02rem; border-radius: 12px; display: inline-flex; align-items: center; gap: .6rem; transition: transform .15s, box-shadow .15s, background .15s; white-space: nowrap; }
.site.v5 .heros-actions .bouton.principal { background: linear-gradient(90deg, #F5A11B 0%, #F26A1A 55%, #E8401C 100%); color: #fff; box-shadow: 0 10px 26px rgba(242,106,26,.35); }
.site.v5 .heros-actions .bouton.principal .fleche { transition: transform .15s; }
.site.v5 .heros-actions .bouton.principal:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(242,106,26,.45); }
.site.v5 .heros-actions .bouton.principal:hover .fleche { transform: translateX(3px); }
.site.v5 .heros-actions .bouton.essai { color: #fff; border: 1.5px solid rgba(255,255,255,.45); background: rgba(255,255,255,.06); }
.site.v5 .heros-actions .bouton.essai:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); }
.site.v5 .heros-actions .bouton.essai .play { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #fff; color: var(--nuit); font-size: .65rem; padding-left: 2px; }
@media (max-width: 860px) { .site.v5 .heros-actions { flex-wrap: wrap; } .site.v5 .heros-actions .bouton { width: 100%; justify-content: center; } }
/* v7.4 · héros F : texte compact, image dominante (accueil seulement) */
.site.v5.accueil .heros-nuit .heros { grid-template-columns: .95fr 1.5fr; gap: var(--e4); align-items: center; }
.site.v5.accueil .heros-nuit h1 { font-size: clamp(2.6rem, 4.3vw, 4rem); max-width: 15ch; line-height: 1.05; }
.site.v5.accueil .heros-nuit h1 .insecable { white-space: nowrap; }
.site.v5.accueil .heros-nuit p.grand { font-size: 1rem; max-width: 46ch; }
.site.v5.accueil .heros-actions .bouton { padding: .85rem 1.2rem; font-size: .98rem; }
.site.v5.accueil .ecran::before { inset: 6% -3% -7% 8%; }
@media (max-width: 860px) { .site.v5.accueil .heros-nuit .heros { grid-template-columns: 1fr; } .site.v5.accueil .heros-nuit h1 { max-width: none; font-size: 2.1rem; } }
