/* =====================================================================
   GROUPE ALTIORA — accueil minimaliste
   Couleurs : uniquement identite/theme.css. Police : Satoshi.
   ===================================================================== */
:root { --police: "Satoshi", "Segoe UI", sans-serif; --large: 1240px; }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--police); font-weight: 400; color: var(--ink); background: var(--surface); font-size: 17px; line-height: 1.6;
       -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-weight: 500; letter-spacing: -.03em; line-height: 1.05; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.cadre { max-width: var(--large); margin: 0 auto; padding-inline: 28px; }
.dore { background: var(--or-metal); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Boutons */
.btn { display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px; border-radius: 999px; font: 500 15px var(--police); position: relative; overflow: hidden;
       background: var(--or-metal); background-size: 200% 100%; color: var(--gold-ink); box-shadow: 0 8px 26px rgb(217 164 65 / .35), inset 0 1px 0 rgb(255 255 255 / .45); transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgb(224 166 67 / .35); }
.btn svg { width: 17px; height: 17px; transition: transform .3s; }
.btn:hover svg { transform: translateX(4px); }
.lien { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; border-bottom: 1px solid currentColor; padding-bottom: 2px; }

/* ---------- En-tête ---------- */
.entete { position: fixed; inset: 0 0 auto; z-index: 40; transition: background-color .4s, box-shadow .4s; }
.entete.colle { background: var(--marque-bleu-nuit); box-shadow: 0 1px 0 rgb(255 255 255 / .08); }
.entete .cadre { display: flex; align-items: center; justify-content: space-between; height: 92px; }
.entete .logo img { height: 74px; filter: drop-shadow(0 0 10px rgb(217 164 65 / .35)); }
.entete nav { display: flex; align-items: center; gap: 34px; color: #fff; font-size: 15px; }
.entete nav > a, .menu-exp > button { opacity: .85; transition: opacity .2s; background: none; border: 0; color: inherit; font: inherit; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.entete nav > a:hover, .menu-exp > button:hover { opacity: 1; }
.menu-exp { position: relative; }
.menu-exp > button svg { width: 14px; height: 14px; transition: transform .3s; }
.menu-exp.ouvert > button svg { transform: rotate(180deg); }
.deroulant { position: absolute; top: calc(100% + 18px); left: 50%; translate: -50% 0; width: 520px; padding: 14px; border-radius: 18px;
             background: var(--surface); color: var(--ink); box-shadow: 0 30px 70px rgb(4 24 58 / .25); display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
             opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s, transform .25s, visibility .25s; }
.menu-exp.ouvert .deroulant, .menu-exp:hover .deroulant { opacity: 1; visibility: visible; transform: none; }
.deroulant a, .deroulant span { padding: 12px 14px; border-radius: 12px; display: block; }
.deroulant a:hover { background: var(--bg); }
.deroulant b { display: block; font-weight: 500; }
.deroulant small { color: var(--muted); font-size: 13px; }
.deroulant span { opacity: .5; }
.droite { display: flex; align-items: center; gap: 14px; }
.langue select { background: transparent; color: #fff; border: 1px solid rgb(255 255 255 / .3); border-radius: 999px; padding: 8px 12px; font: 400 14px var(--police); cursor: pointer; }
.langue select option { color: var(--ink); }
.burger { display: none; background: none; border: 0; color: #fff; cursor: pointer; }

/* ---------- Héros ---------- */
.heros { position: relative; min-height: min(100vh, 920px); display: flex; align-items: center; color: #fff; overflow: hidden;
         background: var(--marque-bleu-nuit) url("img/fond.jpg") center / cover no-repeat; background-blend-mode: screen; }
.heros::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 50% at 30% 55%, rgb(4 24 58 / .75), transparent 70%); }
.heros .cadre { position: relative; z-index: 1; width: 100%; padding-top: 60px; }
.heros .petit { font-size: 15px; opacity: .8; letter-spacing: .02em; }
.heros h1 { font-size: clamp(48px, 7.4vw, 112px); max-width: 1000px; margin: 22px 0 30px; }
.heros h1 .mot { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; }
.heros h1 .mot > span { display: inline-block; transform: translateY(105%); transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.heros.pret h1 .mot > span { transform: none; }
.heros .sous { font-size: clamp(17px, 1.4vw, 20px); max-width: 560px; opacity: 0; transform: translateY(16px); transition: opacity 1s .7s, transform 1s .7s; color: rgb(255 255 255 / .85); }
.heros .actions { display: flex; gap: 28px; align-items: center; margin-top: 40px; opacity: 0; transition: opacity 1s .95s; }
.heros.pret .sous { opacity: 1; transform: none; }
.heros.pret .actions { opacity: 1; }
.heros .actions .lien { color: #fff; }
.defiler { position: absolute; z-index: 1; left: 28px; bottom: 34px; display: flex; align-items: center; gap: 12px; font-size: 13px; color: rgb(255 255 255 / .7); }
.defiler i { width: 1px; height: 46px; background: rgb(255 255 255 / .25); position: relative; overflow: hidden; }
.defiler i::after { content: ""; position: absolute; left: 0; top: -46px; width: 1px; height: 46px; background: var(--or-metal); animation: descend 2s infinite; }
@keyframes descend { to { top: 46px; } }

/* ---------- Clients ---------- */
.clients { padding: 46px 0; border-bottom: 1px solid var(--line); overflow: hidden; }
.clients .rangee { display: flex; gap: 90px; width: max-content; animation: defile 40s linear infinite; font-size: 22px; font-weight: 500; color: var(--marque-bleu-nuit); opacity: .45; }
@keyframes defile { to { transform: translateX(-50%); } }

/* ---------- Manifeste (les mots s'allument au défilement) ---------- */
.manifeste { padding: 160px 0; }
.manifeste .etiquette { font-size: 14px; color: var(--marque-bleu); margin-bottom: 28px; }
.manifeste p.grand { font-size: clamp(30px, 3.6vw, 54px); line-height: 1.2; letter-spacing: -.025em; font-weight: 500; max-width: 1100px; }
.manifeste p.grand span { color: var(--muted); transition: color .4s; }
.manifeste p.grand span.on { color: var(--marque-bleu-nuit); }

/* ---------- Chiffres ---------- */
.chiffres { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.chiffres div { padding: 40px 28px 46px 0; border-right: 1px solid var(--line); }
.chiffres div + div { padding-left: 28px; }
.chiffres div:last-child { border-right: 0; }
.chiffres b { display: block; font-size: clamp(44px, 5vw, 72px); font-weight: 500; letter-spacing: -.04em; color: var(--marque-bleu-nuit); line-height: 1; }
.chiffres span { display: block; margin-top: 14px; color: var(--muted); font-size: 15px; }

/* ---------- Principes (lignes, sans cadres) ---------- */
.principes { padding: 150px 0; }
.principes h2 { font-size: clamp(34px, 4vw, 60px); max-width: 760px; margin-bottom: 70px; color: var(--marque-bleu-nuit); }
.principe { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 38px 0; border-top: 1px solid var(--line); align-items: baseline; }
.principe:last-child { border-bottom: 1px solid var(--line); }
.principe h3 { font-size: clamp(24px, 2.4vw, 36px); color: var(--marque-bleu-nuit); transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.principe:hover h3 { transform: translateX(14px); }
.principe p { color: var(--muted); max-width: 520px; }

/* ---------- Citation ---------- */
.citation { background: var(--bg); padding: 150px 0; }
.citation blockquote { font-size: clamp(26px, 3vw, 44px); line-height: 1.25; letter-spacing: -.02em; font-weight: 500; color: var(--marque-bleu-nuit); max-width: 1000px; min-height: 3.8em;
                       transition: opacity .5s; }
.citation .auteur { margin-top: 30px; color: var(--muted); transition: opacity .5s; }
.citation .auteur b { color: var(--ink); font-weight: 500; }
.citation .points { display: flex; gap: 8px; margin-top: 40px; }
.citation .points button { width: 34px; height: 3px; border: 0; background: var(--line); cursor: pointer; transition: background-color .3s; }
.citation .points button.on { background: var(--or-metal); }

/* ---------- Appel final ---------- */
.appel { color: #fff; padding: 170px 0; text-align: center; background: var(--marque-bleu-nuit) url("img/fond.jpg") center / cover no-repeat; background-blend-mode: screen; position: relative; }
.appel::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 50% at 50% 50%, rgb(4 24 58 / .7), transparent 75%); }
.appel .cadre { position: relative; }
.appel h2 { font-size: clamp(40px, 5.4vw, 84px); max-width: 900px; margin: 0 auto 26px; }
.appel p { color: rgb(255 255 255 / .82); max-width: 520px; margin: 0 auto 40px; }

/* ---------- Pied ---------- */
.pied { background: var(--marque-bleu-nuit); color: rgb(255 255 255 / .7); padding: 80px 0 34px; font-size: 15px; }
.pied .grille { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 50px; }
.pied img { height: 76px; margin-bottom: 16px; }
.pied h4 { color: #fff; font-size: 15px; font-weight: 500; letter-spacing: 0; margin-bottom: 16px; }
.pied ul { list-style: none; display: grid; gap: 10px; }
.pied a:hover { color: #fff; }
.pied .bas { margin-top: 64px; padding-top: 24px; border-top: 1px solid rgb(255 255 255 / .1); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: 13px; }

/* ---------- Apparitions ---------- */

html[dir="rtl"] .btn svg { transform: scaleX(-1); }

/* ---------- Mobile ---------- */
@media (max-width: 960px) {
  .entete nav, .droite .btn { display: none; }
  .burger { display: block; }
  .entete.ouvert nav { display: flex; position: absolute; top: 92px; left: 0; right: 0; flex-direction: column; align-items: flex-start; gap: 20px;
                       padding: 26px 28px; background: var(--marque-bleu-nuit); }
  .deroulant { position: static; translate: none; width: 100%; grid-template-columns: 1fr; margin-top: 10px; }
  .entete .logo img { height: 50px; }
  .chiffres { grid-template-columns: 1fr 1fr; }
  .chiffres div:nth-child(2) { border-right: 0; }
  .chiffres div:nth-child(3) { padding-left: 0; }
  .principe { grid-template-columns: 1fr; gap: 12px; }
  .pied .grille { grid-template-columns: 1fr; }
  .manifeste, .principes, .citation { padding: 100px 0; }
}

/* Titres des partenaires */
.titre-partenaires { text-align: center; font-size: 14px; color: var(--marque-bleu); margin-bottom: 24px; }
.etiquette-citation { font-size: 14px; color: var(--marque-bleu); margin-bottom: 28px; }

/* ---------- Histoire : texte qui suit ---------- */
.manifeste .suite { margin-top: 40px; max-width: 760px; color: var(--muted); font-size: 19px; }

/* ---------- Chiffres sur 3 colonnes ---------- */
.chiffres.trois { grid-template-columns: repeat(3, 1fr); }
.chiffres.trois div:nth-child(3) { border-right: 0; }

/* ---------- Promesse ---------- */
.principes .etiquette { font-size: 14px; color: var(--marque-bleu); margin-bottom: 22px; }
.principes h2 { margin-bottom: 20px; }
.intro-promesse { color: var(--muted); font-size: 19px; max-width: 620px; margin-bottom: 60px; }

/* ---------- Fondatrice ---------- */
.fondatrice { padding: 140px 0; background: var(--bg); }
.fondatrice .cadre { display: grid; grid-template-columns: 420px 1fr; gap: 80px; align-items: center; }
.fondatrice .photo { border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 30px 70px rgb(4 24 58 / .2); }
.fondatrice .photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.fondatrice .photo:hover img { transform: scale(1.04); }
.fondatrice .etiquette { font-size: 14px; color: var(--marque-bleu); margin-bottom: 18px; }
.fondatrice h2 { font-size: clamp(36px, 4vw, 60px); color: var(--marque-bleu-nuit); margin-bottom: 24px; }
.fondatrice .bio { color: var(--muted); font-size: 18px; max-width: 600px; }
.parcours { list-style: none; margin-top: 40px; border-top: 1px solid var(--line); }
.parcours li { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.parcours b { font-weight: 500; color: var(--marque-bleu-nuit); }
.parcours span { color: var(--muted); text-align: right; font-size: 15px; }

@media (max-width: 960px) {
  .chiffres.trois { grid-template-columns: 1fr; }
  .chiffres.trois div { border-right: 0; padding-left: 0; border-bottom: 1px solid var(--line); }
  .fondatrice .cadre { grid-template-columns: 1fr; gap: 40px; }
  .parcours li { flex-direction: column; gap: 4px; } .parcours span { text-align: left; }
}

/* ---------- Partenaires : deux bandes de logos qui défilent en sens inverse ---------- */
.partenaires { background: var(--marque-bleu-nuit); padding: 50px 0 56px; border-bottom: 3px solid #D9A441; overflow: hidden; }
.partenaires p { text-align: center; color: rgb(255 255 255 / .65); font-size: 14px; letter-spacing: .04em; margin-bottom: 30px; }
.defile-logos { display: grid; gap: 26px; -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.rangee-logos { display: flex; align-items: center; gap: 28px; width: max-content; animation: defile 34s linear infinite; }
.rangee-logos.droite { animation-direction: reverse; animation-duration: 40s; }
.defile-logos:hover .rangee-logos { animation-play-state: paused; }
.logo-p { display: grid; place-items: center; width: 200px; height: 88px; border-radius: 18px; border: 1px solid rgb(255 255 255 / .1);
          background: rgb(255 255 255 / .03); transition: transform .4s cubic-bezier(.2,.8,.2,1), background-color .4s, border-color .4s, box-shadow .4s; }
.logo-p img { max-height: 42px; max-width: 140px; width: auto; opacity: .75; transition: opacity .4s, transform .4s; }
.logo-p:hover { transform: translateY(-6px) scale(1.04); background: rgb(255 255 255 / .08); border-color: rgb(224 166 67 / .6); box-shadow: 0 16px 40px rgb(4 24 58 / .25); }
.logo-p:hover img { opacity: 1; transform: scale(1.06); }

/* ---------- Témoignages ---------- */
.temoignages { padding: 150px 0; background: var(--bg); }
.etiquette-t { font-size: 14px; color: var(--marque-bleu); margin-bottom: 18px; }
.temoignages h2 { font-size: clamp(32px, 3.8vw, 54px); color: var(--marque-bleu-nuit); max-width: 860px; margin-bottom: 60px; }
.carte-t { position: relative; border-radius: 28px; padding: 56px 60px 40px; color: #fff; overflow: hidden;
           background: var(--marque-bleu-nuit) url("img/fond.jpg") center / cover no-repeat; background-blend-mode: screen; box-shadow: 0 40px 90px rgb(4 24 58 / .25); }
.carte-t::before { content: ""; position: absolute; inset: 0; background: rgb(4 24 58 / .72); }
.carte-t > * { position: relative; }
.logo-t { height: 44px; width: auto; margin-bottom: 30px; transition: opacity .4s; }
.carte-t blockquote { font-size: clamp(24px, 2.6vw, 38px); line-height: 1.3; letter-spacing: -.02em; font-weight: 500; max-width: 980px; min-height: 4em; transition: opacity .4s, transform .4s; }
.carte-t .auteur { margin-top: 26px; color: rgb(255 255 255 / .75); transition: opacity .4s; }
.carte-t .auteur b { color: #fff; font-weight: 500; }
.nav-t { display: flex; align-items: center; gap: 18px; margin-top: 40px; }
.nav-t button#prec, .nav-t button#suiv { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgb(255 255 255 / .3); background: none; color: #fff;
                                         display: grid; place-items: center; cursor: pointer; transition: background-color .3s, border-color .3s; }
.nav-t button#prec:hover, .nav-t button#suiv:hover { background: var(--or-metal); border-color: #D9A441; color: var(--gold-ink); }
.nav-t .points { display: flex; gap: 8px; margin: 0; }
.nav-t .points button { position: relative; width: 38px; height: 3px; border: 0; background: rgb(255 255 255 / .25); cursor: pointer; overflow: hidden; padding: 0; }
.nav-t .points button.on::after { content: ""; position: absolute; inset: 0; background: var(--or-metal); transform-origin: left; animation: progression 7s linear forwards; }
@keyframes progression { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.carte-t.change blockquote, .carte-t.change .auteur, .carte-t.change .logo-t { opacity: 0; }
.carte-t.change blockquote { transform: translateY(10px); }
@media (max-width: 960px) { .carte-t { padding: 40px 26px 30px; } .logo-p { width: 160px; height: 74px; } }
html[dir="rtl"] body, html[dir="rtl"] .btn, html[dir="rtl"] select { font-family: "Noto Sans Arabic", var(--police); }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] .grand { letter-spacing: 0; }

.anim .monte { animation: monter .9s cubic-bezier(.2,.8,.2,1) both; }
@keyframes monter { from { opacity: .001; transform: translateY(24px); } }

/* Menu sur écrans moyens + ancres qui ne passent pas sous le menu */
.entete nav > a, .menu-exp > button, .droite .btn { white-space: nowrap; }
@media (max-width: 1240px) { .entete nav { gap: 20px; font-size: 14px; } .droite .btn { padding: 12px 18px; font-size: 14px; } }
section[id] { scroll-margin-top: 100px; }

/* ---------- Doré métallique lumineux (charte : #A8742A → #D9A441 → #F3D99A) ---------- */
.btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / .55) 50%, transparent 65%);
              transform: translateX(-120%); animation: reflet-btn 3.5s ease-in-out infinite; pointer-events: none; }
@keyframes reflet-btn { 0%, 55% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }
.btn:hover { box-shadow: 0 14px 36px rgb(217 164 65 / .5), inset 0 1px 0 rgb(255 255 255 / .5); }
.lien { border-bottom-color: #D9A441; }
.dore { background: var(--or-metal); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
        animation: reflet-texte 5s linear infinite; filter: drop-shadow(0 0 18px rgb(243 217 154 / .35)); }
@keyframes reflet-texte { to { background-position: -200% 0; } }

/* ---------- Nos partenaires : vrais logos en couleur, cartes blanches lumineuses ---------- */
.partenaires { background: var(--marque-bleu-nuit); padding: 80px 0 90px; position: relative; }
.partenaires::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 80% at 50% 0%, rgb(47 111 224 / .35), transparent 70%); pointer-events: none; }
.titre-part { position: relative; text-align: center; margin-bottom: 46px; }
.titre-part h2 { font-size: clamp(34px, 4vw, 56px); display: inline-block; }
.titre-part p { color: rgb(255 255 255 / .7); margin-top: 12px; font-size: 17px; }
.defile-logos { position: relative; }
.logo-p { width: 220px; height: 110px; border-radius: 20px; background: #fff; border: 0; box-shadow: 0 10px 30px rgb(4 24 58 / .25);
          transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s; }
.logo-p img { max-height: 54px; max-width: 160px; opacity: 1; filter: none; }
.logo-p:hover { transform: translateY(-8px) scale(1.06); background: #fff; box-shadow: 0 0 0 2px #D9A441, 0 20px 50px rgb(217 164 65 / .45); }
.logo-p:hover img { transform: scale(1.08); }
.rangee-logos { gap: 26px; padding: 14px 0; }
.logo-t { background: #fff; padding: 12px 18px; border-radius: 14px; height: 68px; box-shadow: 0 10px 30px rgb(4 24 58 / .25); }
.heros h1 .dore { filter: none; }
.titre-part h2.dore { filter: drop-shadow(0 0 22px rgb(243 217 154 / .35)); }
.logo-p img[src*="accor"] { max-height: 96px; }
.logo-t[src*="accor"] { padding: 2px 18px; }
.logo-p img[src*="bpce"] { max-height: 64px; }

/* Orpea et Clinéa : un seul partenaire, une seule carte avec les deux logos */
.logo-p.double { width: 300px; gap: 16px; grid-auto-flow: column; }
.logo-p.double img { max-width: 120px; max-height: 46px; }
.logo-p.double i { width: 1px; height: 46px; background: #DCE2EC; }
@media (max-width: 960px) { .logo-p.double { width: 230px; } .logo-p.double img { max-width: 90px; } }

/* Réseaux sociaux (pied de page) */
.reseaux { margin-top: 26px; }
.reseaux p { color: #fff; font-weight: 500; margin-bottom: 12px; }
.reseaux > div { display: flex; flex-wrap: wrap; gap: 10px; }
.reseaux a { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgb(243 217 154 / .35); color: #F3D99A; transition: background-color .3s, color .3s, transform .3s, box-shadow .3s; }
.reseaux a:hover { background: var(--or-metal); color: var(--marque-bleu-nuit); transform: translateY(-3px); box-shadow: 0 10px 24px rgb(217 164 65 / .35); }
.reseaux svg { width: 18px; height: 18px; fill: currentColor; }

/* Corrections téléphone */
@media (max-width: 600px) {
  .heros .actions { flex-direction: column; align-items: stretch; gap: 18px; }
  .heros .actions .btn { justify-content: center; }
  .heros .actions .lien { align-self: center; }
  .nav-t { gap: 12px; }
  .nav-t .points { flex: 1; min-width: 0; }
  .nav-t .points button { flex: 1; width: auto; min-width: 6px; }
  .nav-t button#prec, .nav-t button#suiv { flex: none; width: 42px; height: 42px; }
}

/* Bande « Ils font confiance au Groupe Altiora » (pages d'expertise) */
.confiance { padding: 46px 0 50px; background: var(--surface); border-bottom: 1px solid var(--line); overflow: hidden; }
.confiance > p { font-size: 14px; color: var(--muted); text-align: center; margin-bottom: 24px; letter-spacing: .04em; }
.defile-logos { -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.defile-logos .piste { display: flex; gap: 22px; width: max-content; animation: defile 50s linear infinite; }
.defile-logos:hover .piste { animation-play-state: paused; }
.defile-logos span { flex: none; display: flex; align-items: center; justify-content: center; gap: 14px; height: 72px; min-width: 150px; padding: 0 22px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); transition: box-shadow .3s, transform .3s; }
.defile-logos span:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px #D9A441, 0 12px 26px rgb(217 164 65 / .25); }
.defile-logos img { max-height: 36px; max-width: 120px; width: auto; }
.defile-logos img[src*="accor"] { max-height: 52px; }
.defile-logos .double img { max-width: 90px; }

/* Nos secteurs (accueil) : bâtis sur les vrais clients du groupe */
.secteurs { padding: 140px 0; background: var(--bg); }
.secteurs .etiquette { font-size: 14px; color: var(--marque-bleu); margin-bottom: 22px; }
.secteurs h2 { font-size: clamp(34px, 4vw, 58px); color: var(--marque-bleu-nuit); max-width: 820px; }
.grille-secteurs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 22px; margin-top: 60px; }
.secteur { grid-column: span 2; display: flex; flex-direction: column; gap: 10px; padding: 32px; border-radius: 22px; position: relative; overflow: hidden;
  background: linear-gradient(165deg, #0B2A5C, #04183A 65%); color: #fff; transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s; }
.secteur:nth-child(4), .secteur:nth-child(5) { grid-column: span 3; }
.secteur::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, rgb(243 217 154 / .6), transparent 45%, rgb(217 164 65 / .35));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.secteur::after { content: ""; position: absolute; width: 60%; aspect-ratio: 1; right: -20%; top: -40%; border-radius: 50%; background: radial-gradient(circle, rgb(47 111 224 / .35), transparent 65%); transition: transform .8s; pointer-events: none; }
.secteur:hover { transform: translateY(-6px); box-shadow: 0 30px 70px rgb(4 24 58 / .3); }
.secteur:hover::after { transform: translate(-20%, 20%) scale(1.2); }
.secteur h3 { font-size: 24px; background: var(--or-metal); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: reflet-texte 6s linear infinite; }
.secteur p { color: rgb(255 255 255 / .78); font-size: 16px; }
.logos-s { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 18px; position: relative; z-index: 1; }
.logos-s span { display: flex; align-items: center; gap: 10px; height: 56px; padding: 0 16px; border-radius: 12px; background: #fff; }
.logos-s img { max-height: 30px; max-width: 110px; width: auto; }
.logos-s img[src*="accor"] { max-height: 44px; }
@media (max-width: 960px) {
  .secteurs { padding: 100px 0; }
  .grille-secteurs { grid-template-columns: 1fr; } .secteur, .secteur:nth-child(4), .secteur:nth-child(5) { grid-column: auto; }
}

/* ---------- Passe « taste » sur l'accueil ---------- */
/* Rythme : secteurs (gris) → fondatrice (blanc) → témoignages (gris) */
.fondatrice { background: var(--surface); }
/* Bande partenaires plus resserrée */
.partenaires { padding: 70px 0 72px; }
/* Chiffres : libellés plus lisibles */
.chiffres span { font-size: 16px; line-height: 1.5; max-width: 300px; }
/* Piliers numérotés, trait doré au survol */
.principes { counter-reset: pilier; }
.principe { position: relative; }
.principe h3::before { counter-increment: pilier; content: counter(pilier, decimal-leading-zero); display: block; margin-bottom: 12px; font-size: 14px; font-weight: 700; letter-spacing: .08em;
  background: var(--or-metal); -webkit-background-clip: text; background-clip: text; color: transparent; }
.principe::after { content: ""; position: absolute; left: 0; top: -1px; height: 1px; width: 100%; background: var(--or-metal); transform: scaleX(0); transform-origin: left; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.principe:hover::after { transform: scaleX(1); }

/* Un seul bleu partout : celui de la bannière (bleu nuit Altiora + vagues), plus de bleu pâle */
.citation, .fondatrice, .temoignages, .secteurs { background: #fff; }
.appel::before { background: radial-gradient(70% 60% at 50% 50%, rgb(4 24 58 / .7), transparent 75%); }
.pied { position: relative; background: var(--marque-bleu-nuit) url("img/fond.jpg") center / cover no-repeat; background-blend-mode: screen; }
.pied::before { content: ""; position: absolute; inset: 0; background: radial-gradient(70% 60% at 50% 50%, rgb(4 24 58 / .7), transparent 75%); }
.pied .cadre { position: relative; }
/* Done For You (Studio) / Done With You (Maîtrise) */
.formule-tag { display: inline-block; margin-left: 6px; padding: 1px 9px; border-radius: 999px; font-style: normal; font-size: 11px; font-weight: 500; letter-spacing: .02em; vertical-align: middle; background: var(--or-metal); color: var(--marque-bleu-nuit); }

/* Fond Altiora unique, identique au héros, sur tous les blocs bleus */
html .entete.colle, html .entete.ouvert, html .secteur, html .carte-t, html .contact-carte.principale, html .document.d3, html .panneaux, html .formule::after, html .pb-carte, html .partenaires {
  background: var(--marque-bleu-nuit) url("img/fond.jpg") center / cover no-repeat; background-blend-mode: screen;
}
.secteur::after { display: none; }
.carte-t::before { display: none; }
/* Revue design : même bleu partout (pas de voile sur le bloc final, le pied et les partenaires) et texte lisible sur les vagues dorées */
.appel::before, .pied::before, .partenaires::before { display: none; }
.secteur p, .carte-t blockquote, .carte-t .auteur { text-shadow: 0 1px 14px rgb(4 24 58 / .95), 0 0 2px rgb(4 24 58 / .8); }
.appel { padding-bottom: 110px; } .pied { border-top: 1px solid rgb(243 217 154 / .3); }

/* Contact : les trois cartes ont le même fond Altiora, textes clairs */
html .contact-carte { background: var(--marque-bleu-nuit) url("img/fond.jpg") center / cover no-repeat; background-blend-mode: screen; color: #fff; border-color: transparent; }
html .contact-carte h2 { color: #fff; }
html .contact-carte p { color: rgb(255 255 255 / .82); }
html .contact-carte h2, html .contact-carte p { text-shadow: 0 1px 14px rgb(4 24 58 / .95), 0 0 2px rgb(4 24 58 / .8); }
html .contact-carte .contact-icone { background: var(--or-metal); color: var(--marque-bleu-nuit); }
html .contact-carte .contact-lien { color: #F3D99A; }
.ct-form-cadre { max-width: 820px; }
.ct-form-cadre h2 { font-size: clamp(30px, 3vw, 44px); color: var(--marque-bleu-nuit); margin-bottom: 26px; }
.ct-form .btn { margin-top: 26px; border: 0; cursor: pointer; }
.ct-erreur { margin-top: 16px; color: var(--ko); }
.ct-ok { margin-top: 18px; padding: 14px 18px; border-radius: 12px; background: var(--ok-soft); color: var(--ok); }
.ct-mail { margin-top: 22px; color: var(--muted); font-size: 15px; }
.ct-mail a { color: var(--marque-bleu); }

/* Mentions légales */
.legal { max-width: 820px; }
.legal h2 { font-size: 22px; font-weight: 500; color: var(--marque-bleu-nuit); margin: 38px 0 12px; }
.legal h2:first-child { margin-top: 0; }
.legal p { color: var(--ink); line-height: 1.75; margin-bottom: 12px; }
.legal a { color: var(--marque-bleu); }
