
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: 4 / 3; border-radius: 16px; background: #033167; border: 1px solid #033167; display: grid; place-items: center; color: rgba(255,255,255,.5); font-size: .85rem; overflow: hidden; }
.site .visuel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.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 .entete-page { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(1.5rem, 3vw, 2.5rem); }
.site .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; } }
